Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

wa_ter_ve

인터넷 프로토콜(IP) - ② 단편화 본문

공부/컴퓨터네트워크

인터넷 프로토콜(IP) - ② 단편화

수win 2024. 6. 3. 15:20

참조 교재: Wireshark로 배우는 컴퓨터 네트워크


 

단편화(fragment)

  • 네트워크가 사용하는 프로토콜에 따라 프레임 형식과 크기가 다름
  • 각 네트워크에서 전달되는 최대 전송 길이를 MTU라고 함
  • 단편화 ➡️ MTU 길이에 따라 나누어 보내는 것
  • 단편화&재조립 관련 필드 (식별자 / 플래그 / 단편화 옵셋)

 

#️⃣ 최대 전달 단위 = (MTU; Maximum Transfer Unit)

: 프레임의 형식에 정의된 데이터 필드의 최대 크기

- 데이터그램이 프레임 속에 캡슐화 될 떄, 데이터그램의 크기는 MTU 보다 작아야 함

 

- 서로 다른 네트워크의 MTU

 

 


#️⃣ 단편화와 관련된 필드

  • 식별자: 단편들은 같은 식별자 값을 가짐 [16비트로 구성]
  • 플래그: [3비트 필드]
  • 단편화 옵셋: [13비트 필드], 전체 데이터그램에서 단편의 상대적인 위치 (8바이트 단위)

 

식별자(Identification)

- 16비트로 구성
- 발신지 호스트로부터 나온 데이터그램을 유일하게 식별
- 식별자와 발신지 IP 주소의 조합은 데이터그램이 발신지 호스트를 떠날 때 유일하게 정의 
      이러한 유일성을 보장하기 위해 IP 프로토콜은 <카운터>를 사용하여 데이터그램에 레이블을 붙임
-  식별자는 목적지에서 데이터그램을 재조립하는데 도움이 됨

 

플래그(Flag)

- 3비트로 구성
- 첫번째 비트 ➡️ 사용되지 않음!
- 두번째 비트 ➡️ do not fragment
        이 값이 1이면 데이터그램 단편화X
        단편화를 해야하는데 이게 걸림돌이 된다면, 데이터그램 폐기 후 ICMP 오류 메시지를 발신지 호스트에 전송
- 세번째 비트 ➡️ more fragment
      ✓ 이 값이 1이면 데이터그램은 마지막 단편이 아님

 

단편화 옵셋(Fragmentatin Offset)

- 13비트로 구성
- 전체 데이터그램 내에서 단편의 상대적인 위치를 나타냄
- 원래의 데이터그램 내에서 데이터의 옵셋을 8바이트 단위로 나타냄

 

 


  • 단편화 예

• 4,000바이트의 데이터그램이 3개의 단편으로 나누어질 경우
• 1번째 단편: 0 ~ 1,399, 단편화 옵셋: 0/8= 0
• 2번째 단편: 1,400 ~ 2,799, 단편화 옵셋: 1,400/8 = 175
• 3번째 단편: 2,800 ~ 3,799, 단편화 옵셋: 2,800/8 = 350