IP 단편화: Difference between revisions

From CS Wiki
No edit summary
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[분류:네트워크]][[분류:정보보안기사]]
;IP Fragmentation
;IP Fragmentation
* 패킷을 전송하고자 하는데 패킷의 크기가 MTU(Maximum Transmission Unit)을 초과하면 한번에 전송할 수 없다.
* 패킷을 MTU 이하의 조각으로 분할하는 것을 단편화(Fragmentation), 분할된 조각을 단편(Fragment)이라고 한다.
== 단편화 예시 ==
* 4000바이트의 패킷을 전송하려고 하는데 MTU가 1500이다.
* 패킷은 아래와 같이 분할된다.
{| class="wikitable"
! 순서
! 페이로드
! 헤더
! More Flag
! offset
|-
| 1
| 1480
| 20
| 1
| 0
|-
| 2
| 1480
| 20
| 1
| 185
|-
| 3
| 1020
| 20
| 0
| 370
|}
* 해설
** 패킷이 4000바이트라면 페이로드 3980바이트, 헤더 20바이트이다.
** 각 단편 모두 헤더를 가져야 하므로 최대 1480바이트로 분할될 수 있다.
** 즉 1480, 1480, 1020 으로 분할된다.
** 첫번째, 두번째 단편은 뒤에 이어질 단편이 있으므로 more flag가 1이다.
** offset은 8바이트 단위로 표시된다. 1480 / 8 = 185, 2960 / 8 = 370


==tcpdump 상의 데이터그램==
==tcpdump 상의 데이터그램==
Line 5: Line 45:
<pre>
<pre>
id:size@offset[+]
id:size@offset[+]
ex) 41421:48@2960+
ex) 41421:4000@8000+
</pre>
</pre>
* '''id''' : 원본 IP 데이터그램
* '''id''' : 원본 IP 데이터그램
Line 11: Line 51:
* '''offset''' : 현재 위치
* '''offset''' : 현재 위치
* ['''+'''] : 추가 단편의 유무
* ['''+'''] : 추가 단편의 유무
== 같이 보기 ==
* [[TCP]]

Latest revision as of 06:40, 17 January 2020

IP Fragmentation
  • 패킷을 전송하고자 하는데 패킷의 크기가 MTU(Maximum Transmission Unit)을 초과하면 한번에 전송할 수 없다.
  • 패킷을 MTU 이하의 조각으로 분할하는 것을 단편화(Fragmentation), 분할된 조각을 단편(Fragment)이라고 한다.

단편화 예시[edit | edit source]

  • 4000바이트의 패킷을 전송하려고 하는데 MTU가 1500이다.
  • 패킷은 아래와 같이 분할된다.
순서 페이로드 헤더 More Flag offset
1 1480 20 1 0
2 1480 20 1 185
3 1020 20 0 370
  • 해설
    • 패킷이 4000바이트라면 페이로드 3980바이트, 헤더 20바이트이다.
    • 각 단편 모두 헤더를 가져야 하므로 최대 1480바이트로 분할될 수 있다.
    • 즉 1480, 1480, 1020 으로 분할된다.
    • 첫번째, 두번째 단편은 뒤에 이어질 단편이 있으므로 more flag가 1이다.
    • offset은 8바이트 단위로 표시된다. 1480 / 8 = 185, 2960 / 8 = 370


tcpdump 상의 데이터그램[edit | edit source]

  • 단편화된 데이터그램을 dump할 경우 아래와 같은 형태로 보인다.
id:size@offset[+]
ex) 41421:4000@8000+
  • id : 원본 IP 데이터그램
  • size : 단편화 크기
  • offset : 현재 위치
  • [+] : 추가 단편의 유무

같이 보기[edit | edit source]