티스토리 뷰
반응형
Fragments ?
IP 프로토콜은 IP 패킷을 몇 개의 작은 패킷으로 나누어 전송한 후, 목적지에서 재조립 할 수 있다.
라우터가 판단해서 보내려는 패킷의 크기가 출력측 LAN, 통신회선이 처리할 수 있는 크기보다 크다면 IP 패킷을 나누어서 전송하게 된다.
MTU ?
IP 패킷이 네트워크를 통해 전송될 때 전송될 수 있는 IP 패킷의 최대 크기.
(기본적으로 1500Byte - Header포함)
IP 패킷의 크기가 MTU보다 클 때 IP Fragments가 발생하게 된다.
(대신 애플리케이션 등이 패킷을 분할 불가로 저장한 경우 또는 이미 분할된 경우에는 분할할 수 없다.)
위 사진과 같이 라우터 통과시 분할되어 전송된다.
그리고 목적지에 도착해서 분할되어 전송됬던 패킷이 재조립과정을 거치게 되는데 이 과정을 Reassembling 이라고 한다. Reassembling을 할 때는 아래 정보를 참고해 재조립과정을 거치게 된다.
단, 분할될 때 MAC Header와 IP Header는 분할된 패킷마다 들어가지만 TCP Header는
IP 입장에서는 TCP로부터 의뢰받은 것이기 때문에 데이터로 분류해 하나의 패킷에만 들어간다.
진행순서
- 출력측 MTU를 조사해 패킷을 그대로 전송할 수 있는지 파악한다.
- IP Header의 Flag를 조사해 분할이 가능한지 여부를 확인한다.
(불가능할 경우 패킷을 폐기한다.) - MTU에 맞춰 데이터부분을 분할해 패킷을 만든다.
IP 패킷의 내부
- Identification : 같은 패킷에서 분할되었다는 것을 알기위한 식별자로 패킷에 붙는 이름이다.
- Don't Fragment : 분할된 패킷에는 0, 분할되지 않은 패킷에는 1이 부여된다.
- More Fragment : 분할된 패킷일 경우에 분할된 패킷들 중에 마지막이 아닌 패킷들은 1이 부여되고,
마지막 패킷(조립할게 더 없을 때) 이거나 분할되지 않은 패킷일 경우에 0이 부여된다. - Fragemnt offset : 분할된 패킷이 분할되기 전에 패킷에서 상대위치를 나타낸다.
(조립 과정에서 이 정보를보고 조립의 순서를 결정한다.)
와이어샤크상으로 확인했을 때 위 사진과 같이 패킷이 전송되는 것을 확인할 수 있다.
반응형
'Network > 패킷분석' 카테고리의 다른 글
[XCZ.KR] PROB13(Network) (0) | 2019.06.27 |
---|---|
[패킷분석] TCP 통신 - 윈도우 제어 방식 (0) | 2019.06.14 |
[패킷분석] TCP 통신에서 ACK ? (0) | 2019.06.14 |