정의

  • 32bit 주소체계를 가지고 인터넷 내에서 전송의 기본단위인 데이터그램(패킷)을 정의하는 OSI7 Layer의 Network 계층의 프로토콜

IPv4의 특징

  • 각 IP주소는 32비트. 곧 2^32개의 사용 가능한 주소가 존재한다는 이야기.
  • 8비트 씩으로 나누어 각 구분은 점(dot)으로 표기
  • Nework 주소(prefix) + host 주소로 구성

IPv4 데이터그램 포맷

  • version : 4bits로 데이터그램의 IP 프로토콜 버전을 명시

  • header length : 헤더 길이

  • 서비스 타입(TOS) : 다양한 타입의 데이터그램을 허용

  • total length : data를 포함한 패킷 전체 크기

  • Identification, Flags, Fragment Offset :

    링크 계층의 MTU(Maximum Transfer Unit)가 있기에 존재. 링크 계층에서 패킷은 MTU의 크기를 넘어서 전달될 수 없기에 MTU보다 큰 패킷은 여러 fragment(조각)으로 나뉘어 전송되어야 한다. Fragment offset은 8 byte 단위. 단편화와 재결합은 라우터와 종단 노드 모두에서 일어남.

  • TTL(Time To Live) : 라우터가 데이터그램을 처리할 때마다 1식 감소. 0이 되면 데이터그램 폐기

  • Protocol : 상위 계층의 프로토콜(예: TCP, UDP)

  • header checksum : 비트 오류 검출에 사용

  • Option : 은 일반적으로 사용되지 않음. 그러므로 헤더의 크기는 보통 20 byte (160 bits).

classful network에서의 각 클래스의 범위 및 특징

클래스 Leading bits 시작주소 CIDR 네트워크 개수 호스트 개수
A 0 0.0.0.0 /8 2^7 = 128 2^24 – 2
B 10 128.0.0.0 /16 2^14 = 16,384 2^16 – 2
C 110 192.0.0.0 /24 2^21 =
2,097,152
2^8 – 2
D (multicast) 1110 224.0.0.0 /32
E (예약됨) 1111 240.0.0.0 /32
  • 호스트 개수에서의 -2는 x.x.x.0과 x.x.x.255를 뜻함. x.x.x.0은 해당 네트워크 주소, x.x.x.255는 broadcast 주소.

CIDR(classless interdomain routing)

  • 클래스 A부터 E까지 이루어진 classful network 주소지정방식의 단점을 개선한 주소지정방식.
  • a.b.c.d/x의 형태로 표기하며 여기서 x는 최상위 비트(most significant bit)의 개수를 뜻함.
  • 지정된 개수의 최상위 비트는 서브넷의 주소를, 나머지 하위 비트는 해당 서브넷에 포함된 호스트 주소를 나타냄.

IPv4의 한계 및 발전

  • classful network를 통한 클래스 분류 체계는 주소의 낭비를 가져왔으나 CIDR을 통해 개선됨.
  • 하지만 2^32개의 최대 주소 개수의 한계를 보충하기 위해 DHCP와 네트워크 주소변환(NAT: Network Address Translation)을 통한 사설망 또는 사설 주소와의 전역 주소 매핑 기법이 사용됨(supernetting, subnetting).
  • 그래도 여전히 BcN 등의 차세대 네트워크를 구성하기에는 부적합한 주소 시스템 -> IPv6의 등장. IPv6는 QoS, 보안, 이동성 등의 기존 IPv4가 이루지 못한 기타 기능까지 함께 지원.

References

  • Computer Networking 3판. James F. Kurose, Keith W.Ross
  • Classful network. Wikipedia
  • IPv4. Wikipedia

Comments