* IP *
- TCP/IP 프로토콜에서 데이터 전송을 담당하는 메커니즘
- 비신뢰성 : 오류 검출 및 수정 없음
- 비연결형 : 연결 설정 과정 없이 데이터그램 전송
* Datagram *
- IP 계층에서의 패킷을 데이터그램이라고 함
- 헤더와 데이터로 구성되며 전체 길이는 가변적
- VER : IP 프로토콜의 버전을 나타냄(IPv4, IPv6)
- HLEN : 헤더의 길이를 4바이트 단위로 나타냄
- Service type : 데이터그램이 라우터에서 어떻게 처리되어야 하는지 정의(우선순위, 서비스 유형 등으로 구성)
- Total length : 헤더 + 데이터
- Identification : 데이터그램의 식별자
- Flags, Fragmentation offset * : fragmentation에 사용됨
- Time to live : 데이터그램이 네트워크를 통과할 수 있는 최대 홉 수 정의(0이 되면 데이터그램 폐기)
- Protocol : IP 계층의 서비스를 사용하는 상위 프로토콜 정의 ex) TCP, UDP, ICMP, IGMP
- Checksum* : 헤더의 무결성 검증
- Options* : 데이터그램의 가변부분
* Fragmentation *
- MTU : 네트워크에서 전송할 수 있는 최대 데이터 단위의 크기
- 다른 네트워크에서 데이터그램을 전송할 때 MTU 제한으로 인해 데이터그램이 분할될 수 있음
- 소스 호스트나 라우터에 의해 분할되고 재조립은 최종 목적지에서 이루어짐
- 데이터그램이 분할될 때, 모든 조각에는일부 헤더정보가 복사되어야 함
- Identification : 동일한 식별 번호를 가진 모든 조각은 동일한 데이터그램, 이 번호를 사용해 재조립
- Flags : 데이터그램의 분할 관련 정보
- Fragmentation offset : 각 조각의 상대적 위치를 전체 데이터그램에 대해 나타냄(8바이트 단위)
- total length도 변화됨
* Checksum *
- 1의 보수 합을 사용해 헤더 부분의 오류 검출
- 헤더 정보는 라우터를 통과할 때마다 변경됨
* Options *
- No Operation : 옵션 필드 내에서 다른 옵션 사이의 간격을 유지하기 위해 사용
- End of Option : 옵션 필드의 끝을 표시하기 위해 사용
- Record Route : 데이터그램을 처리하는 인터넷 라우터의 IP 주소를 기록하기 위해 사용
- Strict Source Route : 송신자가 데이터그램의 경로를 미리 지정
- Loose Source Route : 통과해야하는 경로를 제공, 그러나 이 라우터 외에도 방문 가능
- Time Stamp : 데이터그램이 각 라우터에서 처리되는 시간 기록
시간을 기록할 수 없는 라우터의 수는 overflow field에 기록
* IP Design *
- IP 패킷은 데이터링크 계층 또는 상위 계층 프로토콜로부터 수신됨
- Header-adding Module : 수신한 데이터를 IP 데이터그램으로 캡슐화하고 체크섬을 계산하여 입력 큐로 전송
- Processing Module : 수신된 데이터그램을 검사하고, 특정 조건에 따라 재조립모듈로 보내거나 라우팅모듈로 전송
- Routing Table : 패킷이 어떤 경로를 따라 전송되어야 하는지 결정
- Routing Module : 라우팅 정보를 기반으로 분할 모듈로 전송
- MTU Table : 특정 인터페이스의 최대 전송 단위를 찾기 위한 데이터 구조
- Fragmentation Module : MTU 크기에 맞춰 데이터그램을 분할
- Reassembly Table : 분할된 IP 데이터그램의 조각 관리
- Reassembly Module : 분할된 IP 데이터그램의 조각들을 모아 원래의 데이터그램을 재구성