반응형
IPv4
Header-(20+4n)bytes | Payload(SDU) |
IPv4 헤더 구조
VER | HLEN | SERVICE | TLENGTH | |
ID | FLAGS | OFFSET | ||
TTL | TYPE, PROTOCOL | CHECKSUM | ||
SOURCE IP ADDRESS | ||||
DESTINATION IP ADDRESS | ||||
OPTIONS(Size: 4n) |
VER(4비트)
- Version
- IP의 버전 정보를 담는다.
- IPv4 : 4, IPv6 : 6
HLEN(4비트)
- Header Length
- 헤더의 크기 정보를 담는다.
- 32비트(4byte) 단위이다.
- 최솟값 : 5(기본값) = 기본크기 : 20byte(5*4)
SERVICE(8비트)
- 동일어 : TOS(Type Of Service)
- 서비스 클래스의 우선순위, 지연, 처리율, 신뢰성 등을 지정한다.
- 보통 : 0
TLENGTH(16비트)
- Total Length
- 데이터그램 전체의 길이 정보를 담는다.(헤더 포함)
- 단위 : 바이트 단위
ID(16비트)
- Identifier
- 데이터그램의 식별을 위한 일련번호이다.(나누어진 패킷을 식별하기 위해서)
FLAGS(3비트)
- 패킷을 분해하거나 재조립한다.
- 3개의 비트로 구성되어 있다.
- Reserved : 예약된 비트로 지금은 사용하지 않는 비트이다.
- DF(Don't Fragment) : 단편화 금지 비트로 패킷이 중간에 분할되지 않고 목적지까지 전달되어야 한다.
만약 패킷을 분할해야 하는 상황이 오면 패킷을 삭제한다. - MF(More Fragment) : 연속 패킷 비트로 패킷 분할이 가능하다.
OFFSET(13비트)
- Fragment Offset
- 패킷의 재조립을 위해 분할된 패킷의 위치 정보를 담고 있다
TTL(8비트)
- Time to Live
- 노드를 통과할 때 1씩 감소한다.
- 라우터의 수에 대한 상한을 설정하여 데이터그램의 생존 시간을 제한한다.
- 남은 수명을 알려준다.
TYPE,PROTOCOL(8비트)
- Protocol Type
- 데이터를 전송하는 상위 프로토콜 계층의 유형 정보를 담고 있다.
- TCP : 6, UDP : 17, ICMP : 1
CHECKSUM(16비트)
- Header Checksum
- 데이터 전체가 아닌 헤더에 대한 16비트 오류를 검사한다.
SOURCE IP ADDRESS(32비트)
- 송신자의 IP 주소
DESTINATION IP ADDRESS(32비트)
- 수신자의 IP 주소
OPTIONS(가변 크기)
- 네트워크 점검 또는 디버깅의 목적을 위한 옵션이다.
- 항상 4byte 단위로 할당된다.
- 이 부분에 의해 HLEN의 값이 달라진다.
IPv4 지원 전송 방식
- 유니 캐스트
- 멀티 캐스트
- 브로드 캐스트(IPv6에서는 사라짐.)
MTU
- Maximum Transfer Unit
- 각 노드당 최대로 보낼 수 있는 단위
- 전송하는 데이터그램(패킷)이 MTU보다 크면 분해해서 전송한다.
반응형