gwimong's blog Software Engineer

IP 프로토콜 분석

2010-04-12

[헤더 구조]

img

  • Version : IP 프로토콜 버전
  • Header Lenght : 4bit 필드로 헤더의 길이를 나타냅니다.
  • TOS : 서비스 유형
    img IP 패킷을 수신하는 곳에서 임의대로 이 값을 정할 수 있기때문에 요즘에는 거의 의미 없는 필드입니다. 왜냐하면 너도나도 전부 이 값을 높게 셋팅해서 보내면 전부 최우선 순위를 갖게 되기 때문에 우선순위라는 것 자체가 의미가 없어지게됩니다.

  • Total Length : 데이터를 포함한 전체 길이. 프레임 규격을 맞추기 위해 패딩(padding) 옵션을 사용하고자 할때 필요합니다. 패딩은 현재 프레임보다 작은 최소 프래임 규격을 갖는 네트워크에 전송하기 위해 가짜 데이터를 넣는 것입니다.

  • Identification : 패킷의 분할과 재조립을 하기 위한 식별값입니다. (서로 같은 패킷인지를 명시) flag : 패킷을 더 분할 할 수 있는지를 나타내는 플래그값입니다. (1이면 분할 가능, 0이면 불가능) Fragmentation Offset : 분할 된 패킷의 주소를 나타냅니다.

[패킷 분할 예]

img

  • TTL : 네트워크 상에서 체류할 수 있는 시간을 나타내는 필드입니다. 라우터를 지날 때마다 1씩 감소하여 0이되면 해당 패킷을 폐기합니다.
  • Protocol : IP 상위 계층의 프로토콜 식별자입니다.
    img
  • Checksum : 에러 확인을 위한 16bit 필드
  • Source Address : 패킷을 보내는 IP 주소
  • Destionation Address : 패킷을 받는 IP 주소
  • Option : IP옵션을 나타내기 위한 필드입니다.
    옵션 필드는 길이가 일정하지 않으며, 32bit 워드의 배수값으로 표현합니다.
    만약 32배수가 안될때에는 padding을 사용하여 32배수로 만들어주어야 합니다.

[옵션 필드 구조]

img

[옵션 종류]

img


Previous: OS 만들기 #2

Comments

Content