정의
•
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에서의 각 클래스의 범위 및 특징
•
호스트 개수에서의 -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