네트워크의 어떠한 계층에서 계층으로 데이터가 전달될 때 한 덩어리의 단위를 PDU(Protocol Data Unit)라고 한다.
PDU는 헤더, 페이로드로 구성되어 있다.
헤더: 제어 관련 정보 포함
페이로드: 데이터
계층마다 부르는 명칭이 다르다.
애플리케이션: 메시지
전송: 세그먼트(TCP), 데이터그램(UDP)
인터넷: 패킷
링크: 프레임(데이터링크 계층), 비트(물리 계층)
세그먼트: 적절한 크기로 쪼갠 조각(세그먼트와 데이터그램의 의미는 같다.)
패킷: 세그먼트에 SP와 DP가 보함된 IP 헤더가 붙은 형태의 조각
프레임: MAC주소 헤더와 CRC/체크섬 트레일러가 붙은 조각
PDU중 아래 계층인 비트로 송수신 하는 것이 모든 PDU 중 가장 빠르고 효율성이 높다.
하지만 애플리케이션 계층에서는 문자열을 기반으로 송수신을 하는데 헤더에 authorization 값 등 다른 값들을 넣는 확장이 쉽게 때문이다.


CRC/체크섬 트레일러

앞서 패킷이 쪼개져서 데이터를 통신한다고 했음
패킷으로 쪼개질 때 MTU(Maximum Transmission Unit)를 기반으로 쪼개짐
MTU는 네트워크 통신할 때 할 수 있는 가장 큰 PDU의 크기를 말한다.
예) 터널의 높이 제한을 생각
이 떄 통신하는 양쪽 끝은 두 장치의 MTU만이 아니라 중간의 모든 라우터, 스위치, 서버를 고려해야 한다. 네트워크 경로상에 있는 아무 장치나 MTU보다 패킷이 크면 그 패킷은 분할될 수도 있다.

MTU는 IP헤더와 TCP헤더의 크기까지 합치지만 MSS(Maximum Segment Size)는 TCP에서 사용할 수 있는 데이터의 크기이자 TCP 헤더, IP 헤더를 뺀 크기를 말한다.
일반적으로 MTU는 1500바이트이며 MSS는 1460바이트이다.
그렇기 때문에 MTU가 1500이라도 데이터는 보통 1460바이트 이하의 크기로 보내야 전달이 된다.

여기서 이더넷 헤더 14바이트 FCS 4바이트가 포함된 것을 통틀어 이더넷 프레임이라고 하고 FCS(Frame Check Sequence)은 데이터의 에러검출을 돕기 위해 삽입되는 필드이다. 따라서 이더넷 프레임의 크기는 일반적으로 1518바이트이다.
패킷이 분할되지 않는 경우: 패킷을 분할할 수 없어 네트워크 경로 상에 있는 어떠한 라우터나 장치의 MTU를 초과할 때 분할해서 전달하는 것이 아니라 전달을 아예 하지 않을 수도 있음
IPv6는 분할을 허용하지 않음.
IPv4는 헤더에 flags라는 필드가 있는데 여기서 bit가 1이 되면 "Don't Fragment" 플래그가 활성화된다라는 의미이다. 이때는 분할이 불가능하다.
PMTUD(Path MTU Discovery)는 수신자와 송신자의 경로 상에서 장치가 패킷을 누락한 경우 테스트 패킷의 크기를 낮추면서 MTU에 맞게끔 반복해서 보내는 과정을 말함