숨숨 베이스

지식이 숨어있는 공간

IPv4

Last updated on December 10, 2025

0. 주소 형태

IPv4 프로토콜에서 송수신지 특정을 위해 쓰이는 호스트의 네트워크 계층 주소
4 byte (32 bit) 이고, 8bit 씩 쪼개서, 0 ~ 255 범위에 있는 10진수 4개로 표현.
10진수마다 .으로 구분되고, 하나의 구분된 10진수 (8 bit)를 옥텟이라고 부른다.
image.png

1. 기능

  1. IP 주소 지정 : IP 주소 바탕으로 메시지 주고 받을 송수신 호스트 특정
  1. IP 단편화 : 전송하고자 하는 패킷의 크기가 MTU라는 호스트의 최대 전송 단위보다 클 경우, 메시지를 분할해서 복수의 패킷으로 전송하는 기능. (패킷 분할 전송 시, 수신지에서 재조합하여 원본을 만들어 읽음)

2. PDU의 형태

IPv4 의 PDU인 IPv4 패킷은 다음과 같이 이루어져 있다.
IPv4packet2.png
페이로드를 제외한 나머지는 모두 헤더의 구성요소이다. 이 중에서 위에 설명한 인터넷 프로토콜의 기능을 수행하는 헤더만 뽑아서 살펴보고자 한다.

(1) IP 주소 지정

송수신 호스트의 IP 주소 특정을 위해서는 당연히 헤더에 적힌 송신지 IP 주소와 수신지 IP 주소를 활용한다.

(2) IP 단편화

  1. 식별자
  1. 플래그
  1. 단편화 오프셋

A. 식별자

원본 메시지에 붙는 번호이며, 같은 메시지에서 분할된 패킷들은 모두 동일한 식별자를 지니고 있다. 이를 통해 수신지에서는 재조합할 패킷들을 구분하여 인식한다.

B. 플래그

image.png
3bit로 이루어진 구성요소로 각 bit 당 다음과 같은 뜻을 가진다.
  • 첫 번째 1bit는 무조건 0이 기입되며 아무 의미가 없다.
  • DF: 해당 메시지를 단편화할지 말지를 설정하는 비트이다.
    ( 0이면 단편화해야 하면 수행하라, 1이면 단편화 수행하지 마라, 너무 커서 못 보내겠으면 오류 내라)
  • MF: 분할된 패킷이 뒤에 더 있는지를 나타내는 비트이다. ( 0 = 내가 마지막임, 1 = 분할된 패킷이 더 있음)
DF와 MF 모두 0 = true, 1 = false

C. 단편화 오프셋

image.png
현재 이 분할된 패킷이 첫 번째 분할 데이터로 부터 몇 번쨰로 떨어진 패킷인지를 나타낸다.
수신지에서 패킷을 재조합할 떄도 순서를 지키며 조합해야 원본 메시지를 완성할 수 있다. 이를 위해서 단편화 오프셋은 각 분할 패킷의 순서를 나타낸다.

(3) 그 외의 기능

  1. TTL
  1. 프로토콜

A. TTL

패킷의 수명을 의미한다. 네트워크 장비를 하나 거칠 때마다 1씩 떨어지고, 0이 되면 폐기된다.
이 필드는 네트워크 공간에 무의미하게 떠도는 패킷을 제거하기 위해서 생겨났다.

B. 프로토콜

상위 계층 (전송 계층)의 프로토콜이 무엇인지 표기한다. (6 = TCP, 17 = UDP)

부록

A. 모르는 것 정리

  • MTU
    : 'maximum transmission unit' 의 약자로 현 네트워크 장비에서 한 번에 전송 가능한 IP 패킷의 최대 크기
  • 홉 (hop)
    : 패킷이 호스트나 네트워크 장비로 한 번 전달 되는 단위를 홉이라고 한다.
    따라서 1홉당 TTL이 하나 감소한다고 말해도 된다.

➡️ 다음 글