IP 패킷에는 주고받는 데이터, 즉 페이로드의 크기와 송신자 주소, 수신자 주소, 체크섬(checksum) 등이 들어 있습니다.
▲ 그림 2-12 IP 패킷의 구조
수신자 주소란 수신 측 단말기까지 전달할 때 라우터에서 필요한 정보입니다. 송신자 주소는 수신 측 단말기까지 도착한 후 수신자 측에서 송신자를 식별하는 용도로 씁니다. 우편에 비유해 볼까요? 보내는 곳 주소와 받는 곳 주소가 봉투에 잘 적혀 있어야 제대로 우편물이 전달될 수 있고, 우편물을 받는 쪽에서도 어디에서 온 우편인지 알 수 있죠. 패킷도 마찬가지입니다.
IP 패킷 하나의 크기는 제한되어 있습니다. 크기 제한은 라우터마다 다르지만 보통 1300바이트 정도로, 작게는 600바이트부터 크게는 9000바이트까지 이릅니다. 이처럼 IP 패킷의 크기는 제한적이지만, 스트림이나 메시지에서는 이러한 제한이 없습니다.3 운영체제에 내장된 네트워크 모듈인 네트워크 스택에서 여러분 프로그램이 보내고 받는 스트림과 메시지를 관리해 주기 때문입니다.
3 UDP에서 메시지 하나, 즉 데이터그램은 64KB 정도의 제한이 있습니다.