프로그래밍/서버

TCP Max Packet

엘레멘탈키스 2015. 9. 11. 19:11

서론

프로토콜에서 데이터 단위를 PDU(Protocol Data Unit)라 하는데

계층마다 단위는 다르게 부른다.


물리계층 - 비트

데이터계층 - 프레임

네트워크계층 - 패킷, 데이터그램

전송계층 - 세그먼트


패킷의 크기란?

TCP segment의 크기를 의미한다.


MTU?

MTU는 Maximum Transmission Unit의 약자다. 하나의 프레임이나 패킷이

한번에 전송 가능한 데이터의 크기를 말한다.


일반적으로 이더넷을 사용할 때 MTU는 1500바이트이다.

TCP, IP나 어플리케이션에서 가능한 데이터를 의미한다.

이더넷의 해더와 트레일러는 제외한다. 1500바이트는 보통 20바이트씩 각 IP, TCP 헤더를 제외하면 1460바이트다.


RFC1323에 정의된 Timestamp 옵션이 사용하면

TCP 헤더는 12바이트가 더 늘어나고 최종적으론 1448바이트이다.


점보 프레임(8kb)나 토큰링(4kb)를 사용하는 기가비트 이더넷을 이용할 수 있지만

터널링 처럼 특정 기술을 이용하는 경우 페이로드가 1380 바이트로 감소할 수 있다.


TCP 프로토콜은 SYN 패킷 옵션에 MSS(최대 세드먼트 크기)를 설정할 수 있으며 한 패킷당 받을 수 있는

최대 크기를 정한다.


참조사이트

http://stackoverflow.com/questions/2613734/maximum-packet-size-for-a-tcp-connection


728x90
반응형