· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
IPv4

IPv4

  • 작성자
  • 고친과정
    2008년 6월 24일 : 처음씀
    2008년 9월 1일 : IP header
    2010년 8월 18일 : 사설IP관련 내용 추가


역사

IPv4 protocol 은 1981년에 RFC791에 의해서 정의되었다.

용어정의

  • RTT : Round-Trip Time
  • ICMP : Internet Control Message Protocol

Class 구분

  • A class (0.0.0.0 ~ 127.255.255.255)
    128개의 네트웍으로 구성되며 각 네트웍은 16,777,216개의 주소를 갖는다.
    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
    0 NetID HostID

  • B class (128.0.0.0 ~ 191.255.255.255)
    16,384개의 네트웍으로 구성되며 각 네트웍은 65,536개의 주소를 갖는다.
    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
    1 0 NetID HostID

  • C class (192.0.0.0 ~ 223.255.255.255)
    2,097,152개의 네트웍으로 구성되며 각 네트웍은 256개의 주소를 갖는다.
    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
    1 1 0 NetID HostID

  • D class (224.0.0.0 ~ 239.255.255.255)
    Multicast를 위한 주소로 사용된다.
    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
    1 1 1 0 Multicast group ID

  • E class (240.0.0.0 ~ 247.255.255.255)
    미래를 위하여 사용을 보류한 영역이다.
    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
    1 1 1 1 0 Reserved for future use

사설 IP (Private IP) 대역

IANA(Internet Assigned Numbers Authority, 국제 주소관리 기구)는 다음과 같은 사설 IP주소(Private IP)를 예약해 두었으며, 이의 사용을 강력히 권고하고 있습니다.
  • Class A 규모 : 10/8(10.0.0.0∼10.255.255.255)
  • Class B 규모 : 172.16/12(172.16.0.0∼172.31.255.255)
  • Class C 규모 : 192.168/16(192.168.0.0∼192.168.255.255)

이 주소들은 전세계 어디에도 할당되지 않는 특수목적의 IP주소이므로, 비록 기업내부에 이미 할당받은 공인 IP 주소가 있다 하더라도 주소 충돌의 위험성은 없습니다. 단, 이 기업이 인터넷으로 다른 기업과 통신하려 할 때는 이 사설 IP주소를 공인(Public) IP주소로 변환하여 통신하여야 하며, 특히, Private IP주소가 외부로 라우팅되지 않도록 조심해야 합니다.

Private-to-public IP주소 변환을 위해서는 NATs(Network Address Translators)와 같은 Gateway System(주로 방화벽제품에서 사용)을 사용하여야 합니다. 즉, 내부적으로 private address를 사용하도록 설정되어 있는 전산기가 외부 인터넷상의 전산기와 통신하려 할때는, 이 gateway 시스템에서 private IP주소를 public IP주소로 변환해 줍니다. 이때 gateway 시스템은 적정 수량의 필요한 public IP주소 pool을 유지하고 있어야 하므로, 이에 필요한 public IP주소는 인터넷주소할당조직(Internet Registry)으로부터 할당받아야 합니다.

이 private 주소 사용에 있어서의 장점은 KRNIC, ISP등 누구에게도 주소공간 할당 신청을 하지 않음으로서, 까다로운 심사절차 를 거치지 않아도 됩니다. 즉, 기업내부의 모든 host수를 조사하고, CIDR/VLSM을 적용한 세밀한 networking plan을 세우고, 상대적으로 다루기 어려운 OSPF같은 프로토콜을 사용하여야 하는 등의 불편이 따르지 않게 됩니다.

조직내부 IP주소공간 관리 편의를 위해, 필요이상으로 충분히 넉넉한 주소공간을 자유롭게 사용할 수 있습니다. 즉, 5개의 host가 필요한 subnet에 대해서도 미래를 대비하여 /24를 할당할 수 있습니다. 수시로 변하는 조직변동, 전산기들의 이동, 재배치 등등에 대해서도 별로 걱정할 필요로 없습니다. Private IP주소를 사용하게 되고, 주로 NATs 시스템이 방화벽기능을 포함하고 있으므로, 상대적으로 보안성이 강화됩니다.

그러나, 전세계 인터넷도메인이름 시스템과 연결되는 external용과 기업 내부용의 internal Domain Name server를 운영해야 할 것이며, 외부 공개용으로 반드시 public IP주소가 필요한 시스템과 그렇지 않은 시스템으로 구분하여, 외부 공개용 시스템에는 public IP 주소를 static하게 지정하여야 할 것입니다. 최근 private IP주소를 활용하는 라우터, 시스템 등이 많이 출시되고 있는 추세이므로, 이의 사용을 적극 권장한다. 보다 자세한 내용은 RFC1597을 참조할수 있습니다.

IP (Internet Protocol) header

  • IP datagram은 다음과 같은 형식을 가진다.
    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Description
    4bit Version 4bit Header length / 4 8bit Type of service (TOS) 16bit Total length (in bytes) 20 bytes 20~60 bytes
    16-bit Identification 3-bit Flags 13bit Fragment offset
    8bit Time to live (TTL) 8bit Protocol 16bit Header checksum
    32bit 출발지 IP 주소
    32bit 목적지 IP 주소
    Options (if any) 0~40 bytes
    Data Total length - Header length
    • 4-bit Header length는 4의 배수로 해석한다. 즉, 1이 4바이트를 뜻한다. 최대 4-bit로 15까지 값을 지정할수 있으므로 15x4=60 bytes가 최대값이고 이것은 "Options (if any)" 가 60-20=40 bytes를 넘지 못한다는 의미이기도 하다.
    • 8-bit Protocol 항목에는 다음의 값들을 사용할수 있다. (참고: [http]http://www.iana.org/assignments/protocol-numbers[])
      Decimal Keyword Protocol References
      0 HOPOPT IPv6 Hop-by-Hop Option (RFC1883)
      1 ICMP Internet Control Message (RFC792)
      2 IGMP Internet Group Management (RFC1112)
      3 GGP Gateway-to-Gateway (RFC823)
      4 IP IP in IP (encapsulation) (RFC2003)
      5 ST Stream (RFC1190)(RFC1819)
      6 TCP Transmission Control (RFC793)
      7 CBT CBT (Ballardie)
      8 EGP Exterior Gateway Protocol (RFC888)(DLM1)
      9 IGP any private interior gateway (used by Cisco for their IGRP) (IANA)
      10 BBN-RCC-MON BBN RCC Monitoring (SGC)
      11 NVP-II Network Voice Protocol (RFC741)(SC3)
      12 PUP PUP (PUP)(XEROX)
      13 ARGUS ARGUS (RWS4)
      14 EMCON EMCON (BN7)
      15 XNET Cross Net Debugger (IEN158)(JFH2)
      16 CHAOS Chaos (NC3)
      17 UDP User Datagram (RFC768)(JBP)
      18 MUX Multiplexing (IEN90)(JBP)
      19 DCN-MEAS DCN Measurement Subsystems (DLM1)
      20 HMP Host Monitoring (RFC869)(RH6)
      21 PRM Packet Radio Measurement (ZSU)
      22 XNS-IDP XEROX NS IDP (ETHERNET)(XEROX)
      23 TRUNK-1 Trunk-1 (BWB6)
      24 TRUNK-2 Trunk-2 (BWB6)
      25 LEAF-1 Leaf-1 (BWB6)
      26 LEAF-2 Leaf-2 (BWB6)
      27 RDP Reliable Data Protocol (RFC908)(RH6)
      28 IRTP Internet Reliable Transaction (RFC938)(TXM)
      29 ISO-TP4 ISO Transport Protocol Class 4 (RFC905)(RC77)
      30 NETBLT Bulk Data Transfer Protocol (RFC969)(DDC1)
      31 MFE-NSP MFE Network Services Protocol (MFENET)(BCH2)
      32 MERIT-INP MERIT Internodal Protocol (HWB)
      33 DCCP Datagram Congestion Control Protocol (RFC4340)
      34 3PC Third Party Connect Protocol (SAF3)
      35 IDPR Inter-Domain Policy Routing Protocol (MXS1)
      36 XTP XTP (GXC)
      37 DDP Datagram Delivery Protocol (WXC)
      38 IDPR-CMTP IDPR Control Message Transport Proto (MXS1)
      39 TP++ TP++ Transport Protocol (DXF)
      40 IL IL Transport Protocol (Presotto)
      41 IPv6 Ipv6 (Deering)
      42 SDRP Source Demand Routing Protocol (DXE1)
      43 IPv6-Route Routing Header for IPv6 (Deering)
      44 IPv6-Frag Fragment Header for IPv6 (Deering)
      45 IDRP Inter-Domain Routing Protocol (Hares)
      46 RSVP Reservation Protocol (Braden)
      47 GRE General Routing Encapsulation (Li)
      48 DSR Dynamic Source Routing Protocol (RFC4728)
      49 BNA BNA (Salamon)
      50 ESP Encap Security Payload (RFC2406)
      51 AH Authentication Header (RFC2402)
      52 I-NLSP Integrated Net Layer Security TUBA (GLENN)
      53 SWIPE IP with Encryption (JI6)
      54 NARP NBMA Address Resolution Protocol (RFC1735)
      55 MOBILE IP Mobility (Perkins)
      56 TLSP Transport Layer Security Protocol using Kryptonet key management (Oberg)
      57 SKIP SKIP (Markson)
      58 IPv6-ICMP ICMP for IPv6 (RFC1883)
      59 IPv6-NoNxt No Next Header for IPv6 (RFC1883)
      60 IPv6-Opts Destination Options for IPv6 (RFC1883)
      61 any host internal protocol (IANA)
      62 CFTP CFTP (CFTP)(HCF2)
      63 any local network (IANA)
      64 SAT-EXPAK SATNET and Backroom EXPAK (SHB)
      65 KRYPTOLAN Kryptolan (PXL1)
      66 RVD MIT Remote Virtual Disk Protocol (MBG)
      67 IPPC Internet Pluribus Packet Core (SHB)
      68 any distributed file system (IANA)
      69 SAT-MON SATNET Monitoring (SHB)
      70 VISA VISA Protocol (GXT1)
      71 IPCV Internet Packet Core Utility (SHB)
      72 CPNX Computer Protocol Network Executive (DXM2)
      73 CPHB Computer Protocol Heart Beat (DXM2)
      74 WSN Wang Span Network (VXD)
      75 PVP Packet Video Protocol (SC3)
      76 BR-SAT-MON Backroom SATNET Monitoring (SHB)
      77 SUN-ND SUN ND PROTOCOL-Temporary (WM3)
      78 WB-MON WIDEBAND Monitoring (SHB)
      79 WB-EXPAK WIDEBAND EXPAK (SHB)
      80 ISO-IP ISO Internet Protocol (MTR)
      81 VMTP VMTP (DRC3)
      82 SECURE-VMTP SECURE-VMTP (DRC3)
      83 VINES VINES (BXH)
      84 TTP TTP (JXS)
      85 NSFNET-IGP NSFNET-IGP (HWB)
      86 DGP Dissimilar Gateway Protocol (DGP)(ML109)
      87 TCF TCF (GAL5)
      88 EIGRP EIGRP (CISCO)(GXS)
      89 OSPFIGP OSPFIGP (RFC1583)(JTM4)
      90 Sprite-RPC Sprite RPC Protocol (SPRITE)(BXW)
      91 LARP Locus Address Resolution Protocol (BXH)
      92 MTP Multicast Transport Protocol (SXA)
      93 AX.25 AX.25 Frames (BK29)
      94 IPIP IP-within-IP Encapsulation Protocol (JI6)
      95 MICP Mobile Internetworking Control Pro. (JI6)
      96 SCC-SP Semaphore Communications Sec. Pro. (HXH)
      97 ETHERIP Ethernet-within-IP Encapsulation (RFC3378)
      98 ENCAP Encapsulation Header (RFC1241,RXB3)
      99 any private encryption scheme (IANA)
      100 GMTP GMTP (RXB5)
      101 IFMP Ipsilon Flow Management Protocol (Hinden)
      102 PNNI PNNI over IP (Callon)
      103 PIM Protocol Independent Multicast (Farinacci)
      104 ARIS ARIS (Feldman)
      105 SCPS SCPS (Durst)
      106 QNX QNX (Hunter)
      107 A/N Active Networks (Braden)
      108 IPComp IP Payload Compression Protocol (RFC2393)
      109 SNP Sitara Networks Protocol (Sridhar)
      110 Compaq-Peer Compaq Peer Protocol (Volpe)
      111 IPX-in-IP IPX in IP (Lee)
      112 VRRP Virtual Router Redundancy Protocol (RFC3768)
      113 PGM PGM Reliable Transport Protocol (Speakman)
      114 any 0-hop protocol (IANA)
      115 L2TP Layer Two Tunneling Protocol (Aboba)
      116 DDX D-II Data Exchange (DDX) (Worley)
      117 IATP Interactive Agent Transfer Protocol (Murphy)
      118 STP Schedule Transfer Protocol (JMP)
      119 SRP SpectraLink Radio Protocol (Hamilton)
      120 UTI UTI (Lothberg)
      121 SMP Simple Message Protocol (Ekblad)
      122 SM SM (Crowcroft)
      123 PTP Performance Transparency Protocol (Welzl)
      124 ISIS over IPv4 (Przygienda)
      125 FIRE (Partridge)
      126 CRTP Combat Radio Transport Protocol (Sautter)
      127 CRUDP Combat Radio User Datagram (Sautter)
      128 SSCOPMCE (Waber)
      129 IPLT (Hollbach)
      130 SPS Secure Packet Shield (McIntosh)
      131 PIPE Private IP Encapsulation within IP (Petri)
      132 SCTP Stream Control Transmission Protocol (Stewart)
      133 FC Fibre Channel (Rajagopal)
      134 RSVP-E2E-IGNORE (RFC3175)
      135 Mobility Header (RFC3775)
      136 UDPLite (RFC3828)
      137 MPLS-in-IP (RFC4023)
      138 manet MANET Protocols (RFC-ietf-manet-iana-07.txt)
      139 HIP Host Identity Protocol (RFC5201)
      140~252 Unassigned (IANA)
      253 Use for experimentation and testing (RFC3692)
      254 Use for experimentation and testing (RFC3692)
      255 Reserved (IANA)
    • Options 항목은 32bit로 정렬되어야 한다.

  • Type of service (TOS) : 각 응용의 종류에 따라 권장되는 값은 아래와 같다.
    Application Minimize delay Maximize throughput Maximize reliability Minimize monetary cost Hex value
    Telnet/Rlogin 1 0 0 0 10H
    FTP control 1 0 0 0 10H
    FTP data 0 1 0 0 08H
    any bulk data 0 1 0 0 08H
    TFTP 1 0 0 0 10H
    SMTP command phase 1 0 0 0 10H
    SMTP data phase 0 1 0 0 08H
    DNS UDP query 1 0 0 0 10H
    DNS TCP query 0 0 0 0 00H
    DNS zone transfer 0 1 0 0 08H
    ICMP error 0 0 0 0 00H
    ICMP query 0 0 0 0 00H
    any IGP 0 0 1 0 04H
    SNMP 0 0 1 0 04H
    BOOTP 0 0 0 0 00H
    NNTP 0 0 0 1 02H

2008년 9월 1일 현재 IANA protocol-numbers

IANA protocol-numbers 를 보시려면 여기를 클릭해주세요.




sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2015-02-06 16:11:01
Processing time 0.0406 sec