종종 네트워크 포렌식에서 네트워크 정보를 카빙할 때, 패킷의 크기를 알아야 하는 경우가 있다. 프로토콜에서 데이터 단위를 PDU (Protocol data unit) 라고 하고 각 계층마다 단위는 다르게 불린다.
여기서 이야기하고자 하는 패킷의 크기는 TCP segment의 크기를 의미한다. (※ 일반적으로 DATA를 TCP에 담아 보내기 때문에 세그먼트 크기가 전체 패킷에 미치는 영향이 크기 때문이다.)
MTU는 Maximum Transmission Unit 의 약자로서 하나의 프레임이나 패킷이 한번에 전송가능한 데이터의 크기이다. 프로토콜에 따라 최대 크기는 달라진다. Path MTU Discovery RFC
TCP 프로토콜을 기준으로 위와같이 살펴보았다. 참고로 UDP 프로토콜은 헤더는 8바이트 밖에 되지 않고, 타임 스탬프나 MSS 옵션이 없다.
The Layer 1 (Physical Layer) PDU is the bit or, more generally, symbol
The Layer 2 (Data Link Layer) PDU is the frame
The Layer 3 (Network Layer) PDU is the packet or datagram
The Layer 4 (Transport Layer) PDU is the segment (e.g. TCP segment)
여기서 이야기하고자 하는 패킷의 크기는 TCP segment의 크기를 의미한다. (※ 일반적으로 DATA를 TCP에 담아 보내기 때문에 세그먼트 크기가 전체 패킷에 미치는 영향이 크기 때문이다.)
MTU는 Maximum Transmission Unit 의 약자로서 하나의 프레임이나 패킷이 한번에 전송가능한 데이터의 크기이다. 프로토콜에 따라 최대 크기는 달라진다. Path MTU Discovery RFC
65535 Official maximum MTU
17914 16Mb IBM Token Ring
1500 Ethernet Networks
68 Official minimum MTU
Ethernet Header | IP Header | TCP Header | TCP Segment | Ethernet Trailer |
14byte | 20 byte | 20 byte | 1460 byte | |
1500 byte |
일반적으로 이더넷을 사용하기 때문에 최대 MTU 사이즈는 1500 바이트 이다. 이것은 TCP, IP 나 어플리케이션에서 가능한 데이터를 의미하며 이더넷의 헤더와 트레일러는 제외한 것이다. 이 1500바이트에서 보통 20바이트씩 각 IP,TCP 헤더를 제외하면 1460바이트이다.
RFC1323에 정의된 Timestamp 옵션이 사용된다면 TCP 헤더는 12바이트가 더 늘어나며, 남는것은 1448 바이트이다. 점보 프레임 (8kb) 나 토큰링(4kb)를 사용하는 기가비트 이더넷을 이용하는 미디어 데이터가 아니라면 말이다. 그리고 터널링과 같이 특정 기술을 이용하는 경우 페이로드가 1380 바이트로 감소할 수 있다. 그리고 X.25 PDN과 같이 게이트로 다른 네트워크 인프라를 이용하는 경우, 페이로드 사이즈가 줄어들 수 있다.
RFC1323에 정의된 Timestamp 옵션이 사용된다면 TCP 헤더는 12바이트가 더 늘어나며, 남는것은 1448 바이트이다. 점보 프레임 (8kb) 나 토큰링(4kb)를 사용하는 기가비트 이더넷을 이용하는 미디어 데이터가 아니라면 말이다. 그리고 터널링과 같이 특정 기술을 이용하는 경우 페이로드가 1380 바이트로 감소할 수 있다. 그리고 X.25 PDN과 같이 게이트로 다른 네트워크 인프라를 이용하는 경우, 페이로드 사이즈가 줄어들 수 있다.
TCP 프로토콜은 SYN 패킷 옵션에 MSS(최대 세그멘트 크기)값을 설정하여 한 패킷당 받을 수 있는 최대 크기를 정한다. (0x0204 0x05b4(1460))
TCP 프로토콜을 기준으로 위와같이 살펴보았다. 참고로 UDP 프로토콜은 헤더는 8바이트 밖에 되지 않고, 타임 스탬프나 MSS 옵션이 없다.
참고) http://networking.ittoolbox.com/documents/maximum-size-for-tcp-data-12321
'Network' 카테고리의 다른 글
패킷분해 #2 Ethernet Trailer (0) | 2012.04.04 |
---|---|
네트워크와 빅데이터의 만남, Packetpig (0) | 2012.03.29 |
네트워크 보안 사전 탐지 기술 30가지 (0) | 2012.03.12 |
iptables 를 이용한 나만의 IPS 환경 구축 (0) | 2012.02.29 |
[Tool][DoS] HTTP POST DoS, RUDY (R-U-Dead-Yet version 2.2 ) (2) | 2012.02.25 |