Search
Duplicate
📦

IPv4

Category
S/W 엔지니어
Tags
Study Note
Network
Created time
2008/05/08

정의

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
시작주소
네트워크 개수
호스트 개수
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
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