- 상위 계층 메시지는 TCP나 UDP 메시지로 패키징되고 그것은 다시 IP 데이터그램의 페이로드가 된다.
- IP 데이터그램은 2계층으로 전달되어 LAN, WAN, WLAN 프레임으로 캡슐화된다.
- 그리고 물리 계층에서 비트로 변환되어 전송된다.
IP 데이터그램 일반 포맷
- 인터넷 프로토콜 버전 4 (IPv4) 데이터그램 포맷
필드 이름 | 크기(바이트) | 설명 |
버전 | 1/2(4비트) | 데이터그램을 만드는 데 쓰인 IP 버전을 나타낸다. |
IHL | 1/2(4비트) | IP 헤더 길이를 32비트 워드 단위로 지정한다. |
TOS | 1 | 서비스 품질 기능(예: IP 데이터그램에 우선 순위를 줘서 전송)을 제공하기 위한 정보를 전달하는 필드. |
TL | 2 | IP 데이터그램의 전체 길이를 바이트 단위로 지정한다. |
식별자 | 2 | 이 필드는 특정 메시지에 속한 각 단편과 연관된 16비트 값을 포함한다. |
플래그 | 3/8(3비트) | 3개의 제어 플래그, 2개는 단편화 관리용, 1개는 예약 |
단편화 오프셋 | 1 5/8(13비트) | 메시지 단편화가 일어날 때 이 필드는 전체 메시지 안에서 이 데이터의 위치, 또는 오프셋을 8바이트(64비트) 단위로 나타낸다. |
TTL | 1 | 이 필드는 데이터그램이 네트워크에서 얼마나 오래 살아남을 수 있는지를 라우터 홉 수로 나타낸다. |
프로토콜 | 1 | 데이터그램에서 운반하는 상위 계층 프로토콜을 식별한다. |
헤더 체크섬 | 2 | 전송 중 오류를 방지하기 위해 헤더에 대한 체크섬을 계산한다. |
출발지 주소 | 4 | 데이터그램을 처음 송신한 장비의 32비트 IP 주소다. |
목적지 주소 | 4 | 데이터그램의 목적지 장비의 32비트 IP 주소다. |
옵션 | 가변적 | 일부 IP 데이터그램에서 표준 헤더 뒤에 올 수 있는 하나 이상의 옵션 유형 |
패딩 | 가변적 | 하나 이상의 옵션이 IP 헤더에 포함됐는데 그 옵션 비트 수가 32의 배수가 아닐 경우에는 헤더 길이를 32비트(4바이트)의 배수로 맞추기 위해 0비트 패딩이 추가됨 |
데이터 | 가변적 | 데이터그램에서 전송할 데이터로 전체 상위 계층 메시지이거나 아니면 단편화된 메시지의 일부 |
- IPv4 플래그 하위 필드
하위 필드 이름 | 크기(바이트) | 설명 |
예약 | 1/8(1비트) | 쓰이지 않음 |
DF | 1/8(1비트) | 1로 설정 : 데이터그램을 단편화하지 말라는 것을 나타냄 링크의 최대 전송 단위(MTU)를 검사하는 데 쓰임 |
MF | 1/8(1비트) | 0으로 설정: 메시지의 마지막 단편이라는 것을 나타냄 1로 설정: 단편화된 메시지의 일부분이 아직 남아 있다는 것을 나타냄 |
- IPv4 프로토콜 하위 필드
값(16진수) | 값(10진수) | 프로토콜 |
00 | 0 | 예약 |
01 | 1 | ICMP |
02 | 2 | IGMP |
03 | 3 | GGP |
04 | 4 | IP-in-IP 캡슐화 |
06 | 6 | TCP |
08 | 8 | EGP |
11 | 17 | UDP |
32 | 50 | 보안 페이로드 캡슐화(ESP) 확장 헤더 |
33 | 51 | 인증 헤더(AH) 확장 헤더 |
- IPv4 데이터그램 포맷
- IP 데이터그램 TTL(Time to Live) 필드
- 데이터그램이 무한히 인터넷을 방황하지 않도록 하기 위함
- 데이터그램의 최대 홉 수를 나타냄
- 라우터는 데이터그램을 처리할 때마다 TTL 필드를 1만큼 감소
- TTL 값이 0이되면 데이터그램은 버려지며 최초 송신자에게 ICMP(Internet Control Message Protocol) 시간 초과(Time Exceeded) 메시지가 전송됨
- IP 데이터그램 서비스 유형(TOS, Type of Service) 필드
- 원래 IP 데이터그램 전달을 위한 특정 서비스 품질(QoS, quality-of-service) 기능을 제공하기 위해 고안된 1바이트
- 거의 사용되지 않음
- RFC 2474는 TOS 필드의 처음 6비트를 차등화 서비스(DS, Differentiated Services)라는 기술을 지원하도록 재정의
- DS에서 TOS 피드의 값은 코드포인트(codepoint)라고 불림
IP 데이터그램 옵션과 옵션 포맷
- 모든 IP 데이터그램은 표준 20바이트 헤더를 포함함
- IP 헤더에서 옵션 필드의 전체 길이는 가변적
- IPv4 옵션 포맷
하위 필드 이름 | 크기(바이트) | 설명 |
옵션 유형 | 1 | 옵션 유형 하위 필드는 3개의 하위 필드로 다시 세분화 됨 |
옵션 길이 | 0 또는 1 | 가별 길이 옵션의 경우, 전체 옵션의 길이를 바이트로 나타냄 |
옵션 데이터 | 0 또는 가변적 | 가변 길이 옵션의 경우, 옵션의 일부로 전달할 데이터를 포함함 |
- IPv4 옵션: 옵션 유형 하위 필드
하위 필드 이름 | 크기(바이트) | 설명 |
복사 플래그 | 1/8(1비트) | 데이터그램이 단편화될 때 옵션을 모든 단편에 복사해야 할 경우 1로 설정 |
옵션 클래스 | 2/8(2비트) | 옵션이 속한 일반 범주를 명시하는 4개 값 중 하나를 지정. 실제로 쓰이는 값은 0(제어옵션)과 2(디버깅과 측정)의 두가지다. |
옵션 번호 | 5/8(5비트) | 옵션의 종류를 지정한다. 두 옵션 클래스 각각에 대하여 32개의 서로 다른 값을 지정할 수 있다. |
- 널리 쓰이는 IPv4 옵션
옵션 클래스 | 옵션 번호 | 길이(바이트) | 옵션 이름 | 설명 |
0 | 0 | 1 | 옵션 목록 끝 | 옵션 목록의 끝을 표시하는 데 쓰이는, 단지 하나의 0바이트를 포함하는 옵션 |
0 | 1 | 1 | 동작 없음 | 필요할 경우 특정 옵션을 32비트 경계에 정렬하기 위해 내부적으로 패딩하는 데 쓰이는 "더미 옵션" |
0 | 2 | 11 | 보안 | 군대에서 IP 데이터그램의 보안 등급을 지정하는 데 쓰이는 옵션 |
0 | 3 | 가변적 | Loose 소스 라우팅 | IP 데이터그램 소스 라우팅에 쓰이는 두 옵션 중 하나 |
0 | 7 | 가변적 | 경로 기록 | 데이터그램의 경로를 헤더 자체에 기록하는 데 쓰인다. |
0 | 9 | 가변적 | Strict 소스 라우팅 | IP 데이터그램 소스 라우팅에 쓰이는 두 옵션 중 하나 |
2 | 4 | 가변적 | 시간 | 경로 기록 옵션과 유사하게 동작하지만 각 장비가 IP 주소 대신 시간 정보를 기록한다. |
2 | 18 | 12 | Traceroute | RFC 1393에서 설명하는 traceroute 유틸리티의 개선된 버전에서 쓰인다. |
- 소스 라우팅 (RFC 791 참고)
- 일반적으로 라우팅은 라우터의 몫
- 데이터그램 최초 송신 장비가 경로를 지정하는 경우 소스라우팅
- 2개의 IP 옵션이 소스 라우팅 지원
- 옵션은 IP 주소 목록을 포함
- strict 소스 라우팅
- 옵션에 지정된 경로가 순서대로 정확히 사용되어야 함
- 다른 라우터는 데이터그램을 절대로 처리하면 안됨
- loose 소스 라우팅
- 중간에 거쳐가야 할 IP 주소 목록을 지정
- 목록에 있는 장비 사이에 다른 홉이 들어올 수 있도록 함
무슨 말인지 잘 모르겠어요. 상세하게 좀 알려주세요.
답글삭제