더북(TheBook)

분열 식별자 필드 값은 모두 12로, 세 조각이 모두 같은 패킷에서 비롯되었음을 나타낸다. 12라는 숫자 자체는 임의로 정한 것이지만, 아마도 이 호스트가 쪼갠 패킷 중 12번째라는 뜻일 가능성이 크다. 첫 번째 조각에 MF 플래그가 설정되어 있고 분열 오프셋은 0으로, 원래 패킷 첫 부분의 데이터임을 나타낸다. 이때 패킷의 길이 필드 값이 1500이라는데 주목하자. 대개 IP 모듈은 조각 수를 줄이기 위해 조각을 나눌 때 가능한 한 크게 나눈다. IP 헤더가 20바이트이므로 조각 데이터에 총 1,480바이트를 담을 수 있다. 이는 곧 다음 조각 데이터의 오프셋이 1480에서 시작해야 한다는 뜻도 내포한다. 그런데 분열 오프셋 필드는 8바이트 블록 단위로 기재해야 하므로, 1480 나누기 8은 185, 즉 실제 기록되는 값은 185가 된다.13 두 번째 조각에도 MF 플래그가 설정되어 있다. 마지막 세 번째 조각은 오프셋 370에 MF 플래그가 꺼져 있어, 이것이 마지막 조각임을 나타낸다. 세 번째 조각의 길이 필드 값 60은 어떻게 나온 값인지 계산해 보자. 원래 패킷에서 헤더를 제외한 데이터 길이가 3,000바이트인데 이를 쪼개면 첫 번째 조각이 1,480바이트, 두 번째가 또 1,480바이트, 세 번째 조각에 남은 데이터가 40바이트이고, 이 40바이트에 헤더 20바이트를 붙이면 60바이트가 된다.

이들 패킷 조각을 보내고 나서도, 그중 일부 또는 전부가 더 쪼개질 수 있겠거니 짐작될 것이다. 목적지 호스트로 가는 경로에 MTU가 더 작은 링크를 거쳐야 한다면 그럴 수 있다.

 


 

13  역주 1500-20=1480은 우연히도(?) 8의 배수인지라, 정확히 나누어 떨어진다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.