1. 개요
IP가 사용하는 패킷을 데이터그램(datagram)이라 한다.
데이터그램은 가변 길이 패킷(내용에따라 길이 바뀜)이며, 헤더와 페이로드(내용물, 데이터)로 구성된다.
헤더는 20~60바이트 길이이며, 라우팅 전송에 필수적인 정보를 가지고 있다.
2. 설명
2-1. IPv4 데이터그램의 구성요소
헤더의 경우, 기본 20바이트이고 최대 60바이트이다.
기본 20바이트의 구성은 5층이 있고, 각 층은 4바이트를 차지한다.
- 1층 : VER (4bits), HLEN (4bits), Service Type (8bits), Total Length (16bits), 합쳐서 4바이트
- 2층 : Identification (16bits), Flags (3bits), Fragmentation Offset (13bits)
- 3층 : Timte-To-Live (8bits), Protocol (8bits), Header Checksum(16bits)
- 4층 : Source IP Address (32bits)
- 5층 : Destination IP Address (32bits)
그리고 필요에 따라 옵션을 추가해서, IPv4의 헤더는 20~60바이트로 구성된다.
2-2. 1층 설명
- 버전 숫자 (VER) : 4비트의 버전 숫자 필드는 IP 프로토콜의 버전을 정의한다. IPv4는
4의 값을 가지고 있다. 2진수로 0100 - 헤더 길이 (HLEN) : 4비트 길이의 헤더 길이 필드는 데이터그램 헤더의 전체 길이를 4비트로 표현한다.
4비트로 표현할 수 있는 범위는 0~15까지 이고 헤더의 크기는 최대 60이니, HLEN의 1은 4바이트를
나타낸다. HLEN이 5(0101)이면 헤더는 20바이트, 15(1111)이면 헤더는 60바이트이다. - 서비스 유형 (Service Type) : 데이터그램을 어떻게 처리할지를 정의하는 서비스의 유형(TOS)을
나타낸다. 예를 들자면 우체국에서 편지를 보낸다고 해도, 일반우편, 등기우편 등 여러 종류의 서비스가 있다.
그걸 정의하는 필드가 여기다. - 전체 길이 (Total Length) : IP 데이터그램의 전체 바이트 수를 정의하는 16비트 길이의 필드다.
16비트의 숫자는 65,535 까지의 길이를 나타낼 수 있다.
2-3. 2층 설명
우선 2층의 경우, 단편화(Fragmentation)가 필요할 때 쓰는 필드이다.
단편화란 데이터그램을 보낼 때, 라우터에서 받아들일 수 있는 최대 용량 (MTU, Maximum Transmission Unit)
보다 데이터그램이 클 경우, 데이터를 분할(단편화)시켜서 보내야 한다. 그 때, 어디부터 어디까지가 같은
데이터그램인지를 나타내는 것이 2층의 역할이다.
- 식별자 (Identification), 플래그 (Flags), 분할 오프셋 (Fragmentation Offset) : 데이터그램을
분할(Fragmentation), 재조립(Reassembly)할 때, 사용되는 필드다.
2-4. 3층 설명
- TTL (Time-TO-Live) : 데이터그램이 얼마동안 살아있을 수 있는지 나타내는 것이다.
데이터그램이 방문할 수 있는 최대 라우터 수를 정의, 보통 이 값은 일반 호스트 사이의 라우터 수의
약 2배로 정의한다. (왔다 갔다 할 수 있는 시간) - 프로토콜 (Protocol) : 어떤 프로토콜로 처리할 건지 정의
- 헤더 체크섬 (Header Checksum) : 간단한 오류검사용 체크섬
2-5. 4, 5층 설명
IPv4의 네트워크 길이는 32비트이다. 그래서 송신지 주소 (Source IP Address), 수신지 주소 (Destination IP Address)
의 길이가 각각 32비트 씩이다.
'네트워크' 카테고리의 다른 글
네트워크 정리 13. IPv4 주소의 개념과 클래스 주소 (0) | 2022.04.13 |
---|---|
네트워크 정리 12. 단편화 (Fragmentation), IPSec (IP Security) (0) | 2022.04.13 |
네트워크 정리 10. 라우터 구조 (0) | 2022.04.13 |
네트워크 정리 9. 네트워크 계층의 혼잡(Congestion), 혼잡 제어(Congestion Control) 정리 (0) | 2022.04.12 |
네트워크 정리 8. 네트워크 계층 성능 (지연, 처리량, 패킷 손실) (0) | 2022.04.12 |
댓글