IP와 ARP프로토콜, IP단편

김재현·2025년 10월 26일

네트워크 및 보안

목록 보기
10/12

네트워크 계층은 “데이터가 목적지까지 가는 경로를 찾는 계층”
이 계층의 대표 프로토콜은 IP(Internet Protocol) 과 ARP(Address Resolution Protocol) 이다.

두 프로토콜의 구조와 역할, 그리고 실무에서 자주 언급되는 IP 단편화(Fragmentation) 문제에 대해

🧩 1️⃣ 네트워크 계층의 역할

기능설명
주소 지정 (Addressing)IP 주소를 통해 송신자·수신자를 식별
경로 설정 (Routing)목적지까지의 최적 경로 선택
패킷 전달 (Packet Forwarding)상위 계층 데이터(세그먼트)를 패킷 단위로 캡슐화 후 전달
단편화 (Fragmentation)데이터가 MTU(Maximum Transmission Unit)보다 클 경우 쪼개서 전송

💡 네트워크 계층은 "IP 주소 기반의 논리적 통신" 을 담당한다.
물리적 연결 여부와 관계없이, 다른 네트워크 간 통신을 가능하게 한다.

🌐 2️⃣ IP 프로토콜 (Internet Protocol)

IP는 네트워크 상에서 데이터 패킷을 전달하기 위한 기본 프로토콜이다.

✅ 특징
비연결성(Connectionless) : 연결 설정 없이 독립적으로 전송

비신뢰성(Unreliable) : 오류 제어, 재전송 기능이 없음 (→ 상위 계층인 TCP가 보완)

최선형 전달(Best Effort Delivery) : 가능한 한 빨리 보냄, 성공 보장 X

라우팅 기능 포함 : 목적지까지의 경로 선택

🧠 IP 패킷 구조 (IPv4 기준)

필드명설명
VersionIP 버전 (IPv4/IPv6 구분)
Header Length헤더 길이 (기본 20byte)
Total Length전체 패킷 크기
Identification / Flags / Fragment Offset단편화 관련 정보
TTL (Time To Live)패킷의 생존 시간 (라우터 통과 시 1씩 감소)
Protocol상위 계층 식별 (TCP: 6, UDP: 17, ICMP: 1 등)
Header Checksum헤더 오류 검출
Source / Destination IP출발지 / 목적지 주소

🌍 IP 주소 체계

구분설명예시
IPv432비트, 4옥텟 (0~255)192.168.0.1
IPv6128비트, 16진수 8그룹2001:0db8::1

💡 IPv4는 주소 고갈 문제로 인해 IPv6로 전환이 진행 중이지만,
실무에서는 여전히 IPv4가 주로 사용된다.

🔍 3️⃣ ARP (Address Resolution Protocol)

ARP는 IP 주소를 이용해 MAC 주소를 알아내는 프로토콜이다.
(즉, 3계층 주소(IP) → 2계층 주소(MAC)로 매핑

⚙️ 동작 원리

1.A 컴퓨터가 같은 네트워크의 B에게 데이터를 전송하려 함
2.A는 B의 IP 주소는 알고, MAC 주소는 모름
3.A는 ARP Request 브로드캐스트(“이 IP 가진 사람 누구야?”)
4.B가 ARP Reply 유니캐스트(“그 IP는 나야! 내 MAC은 xx:xx:xx”)
5.A는 MAC 주소를 ARP Cache(테이블) 에 저장
6.이후 통신은 ARP 없이 바로 MAC 주소 사용

💾 ARP 캐시 확인
Windows:

arp -a

Linux/macOS:

ip neigh show

💡 캐시에 저장된 MAC 주소는 일정 시간이 지나면 삭제된다.
(보통 1~2분 정도의 유효 시간)

📦 ARP 패킷 구조

필드설명
Hardware Type네트워크 종류 (Ethernet은 1)
Protocol Type상위 프로토콜 (IPv4는 0x0800)
Operation요청(1), 응답(2)
Sender MAC/IP요청자 정보
Target MAC/IP대상 정보

🔐 RARP / Proxy ARP

종류설명
RARP (Reverse ARP)MAC → IP 주소를 알아내는 프로토콜 (현재는 BOOTP/DHCP로 대체됨)
Proxy ARP라우터가 다른 네트워크의 MAC을 대신 응답하여 통신 중개

🧱 4️⃣ IP 단편화 (Fragmentation)

MTU(Maximum Transmission Unit) 를 초과하는 IP 패킷은 분할되어 전송된다.
이 과정을 IP Fragmentation (단편화) 라고 한다.

🧩 동작 과정

1.송신 측이 패킷을 전송할 때, 네트워크의 MTU(기본 1500 bytes) 보다 크면 분할

2.각 조각(Fragment)에는 식별자(Identification) 와 Offset(위치정보) 가 붙는다

3.수신 측은 이 정보를 기반으로 조각을 다시 재조립(Reassembly)

⚠️ 단편화의 문제점

문제설명
성능 저하여러 조각을 재조립해야 하므로 지연 발생
손실 위험 증가하나의 Fragment라도 손실되면 전체 데이터 무효
보안 리스크단편화된 패킷을 악용한 공격 가능 (e.g., Fragment Overlap Attack)

🚫 5️⃣ IP 단편화를 피하는 방법

✅ (1) Path MTU Discovery (PMTUD)

송신 측이 목적지까지의 경로에서 가장 작은 MTU 크기를 탐색하여 조정

ICMP 메시지(Fragmentation Needed)를 통해 MTU 크기 정보를 수신

결과적으로 단편화 없이 전송 가능

# 예시: Linux에서 MTU 확인
ip link show eth0

✅ (2) DF(Do Not Fragment) 플래그 설정

IP 헤더에 DF 플래그(= 단편화 금지) 를 설정하여
MTU 초과 시 분할하지 않고 오류(ICMP Type 3, Code 4) 반환

이 정보를 바탕으로 송신 측이 MTU를 조정

✅ (3) 애플리케이션 레벨에서 패킷 크기 조정

TCP는 MSS(Maximum Segment Size)를 협상하여 자동 조정

UDP 기반 응용(예: DNS, VoIP)은 수동으로 패킷 크기를 제한해야 함

✅ (4) 네트워크 장비에서 MTU 통일

라우터, 스위치, 방화벽 등 모든 구간의 MTU를 동일하게 설정

특히 VPN 터널 환경에서는 암호화 오버헤드 고려 필요

📑 6️⃣ 정리 요약

구분IP 프로토콜ARP 프로토콜
역할IP 주소 기반의 패킷 전달IP → MAC 주소 변환
주소체계논리 주소(IP)물리 주소(MAC)
전송 단위PacketFrame 내 포함
주요 장비라우터, 방화벽스위치, NIC
관련 문제단편화(Fragmentation)캐시 만료, 중복 응답
해결 방법PMTU 탐색, DF 플래그 설정ARP Cache 관리
profile
문제를 해결하고, 더 나은 경험을 만드는 것을 즐깁니다

0개의 댓글