Post

[Network] 네트워크 계층

3줄 요약
네트워크 계층은 IP 주소와 라우팅을 기반으로 네트워크 간 통신을 가능하게 함
IPv4와 IPv6는 주소 지정과 단편화 기능을 제공하며, ARP는 IP를 MAC으로 변환
IP 단편화는 성능 저하를 유발할 수 있어, Path MTU를 고려해 회피하는 것이 중요

💻 컴퓨터 네트워크 시리즈

이 시리즈는 『혼자 공부하는 네트워크』 (강민철 저)
+ 인프런 강의를 기반으로 개인적으로 복습 및 정리한 기록입니다.


📌 네트워크 계층이란?

  • LAN을 넘어 다른 네트워크와 통신을 위한 계층
  • IP 주소로 송수신지를 식별
  • 라우팅(Routing)을 통해 목적지까지의 최적 경로 설정

🔍 데이터 링크 계층의 한계

  • MAC 주소만으로는 다른 네트워크에 위치한 호스트를 특정하기 어려움
  • IP 주소와 MAC 주소를 함께 사용하여 수신지 식별
IP vs MAC 출처: 『혼자 공부하는 네트워크』 - 강민철 저

🌐 IP(Internet Protocol)

  • 데이터 링크 계층의 한계를 극복한 논리 주소 기반 프로토콜
  • 주로 IPv4 사용 중, IPv6로 점차 전환 중

📦 주소 지정

  • IPv4: 4바이트(32비트) → 10진수 점 표기 (ex: 192.168.0.1)
  • IPv6: 16바이트(128비트) → 8개의 16진수 그룹

🧩 IP 단편화 (IP Fragmentation)

  • 패킷 크기가 MTU(Maximum Transmission Unit)보다 크면 나누어서 전송
  • 각 조각은 식별자 / 오프셋 / 플래그를 통해 관리됨

주요 필드

필드명설명
식별자(identifier)동일한 메시지에서 나온 단편화된 패킷 식별
플래그(flag)DF(Don’t Fragment), MF(More Fragment)
단편화 오프셋(fragment offset)조각의 순서 정보
TTL(Time To Live)패킷의 생존 시간 (홉마다 감소)
프로토콜상위 계층 프로토콜 식별 (TCP: 6, UDP: 17 등)
송/수신지 IP 주소송수신지의 논리 주소
📝 추가 설명
  • 식별자(identifier)
    → 동일한 메시지를 여러 패킷으로 나눴을 때, 각각의 조각이 같은 메시지의 일부임을 식별하기 위해 부여됨

  • 플래그(flag)
    • 총 3비트로 구성
      • DF (Don’t Fragment): 1이면 단편화 금지
      • MF (More Fragments): 1이면 뒤에 단편화된 조각이 더 있음
  • 단편화 오프셋(fragment offset) → 원래 메시지에서 해당 조각이 몇 번째 위치인지 나타냄 (8바이트 단위) → 조각들이 순서대로 도착하지 않더라도 수신 측에서 재조립할 수 있도록 도와줌

  • TTL (Time To Live) → 패킷이 네트워크를 돌아다니는 최대 허용 홉 수
    → 하나의 라우터를 통과할 때마다 1씩 감소하며, 0이 되면 폐기되어 루프 방지

  • 프로토콜
    → IP 패킷의 상위 계층 프로토콜 식별자
    → TCP(6), UDP(17), ICMP(1) 등 번호로 구분됨

  • 송/수신지 IP 주소
    → 패킷의 논리적 출발지와 목적지 식별
    → 이후 ARP 등을 통해 MAC 주소로 해석되어 최종 전송됨

🧱 IPv6 개요

  • 주소 공간 확장 (128비트)
  • 헤더 구조 간소화 및 보안 강화
  • 주요 필드:
    • 다음 헤더 (Next Header)
    • 홉 제한 (Hop Limit)
    • 송/수신지 IP 주소

🔄 ARP (Address Resolution Protocol)

IP 주소 → MAC 주소 매핑을 위한 프로토콜
동일 네트워크 내 통신 시 필요

ARP 동작 방식

  1. ARP 요청 (브로드캐스트)
    • 송신자는 목적 호스트의 MAC을 모르므로, IP 기반으로 ARP Request 전송
  2. ARP 응답 (유니캐스트)
    • 대상 호스트는 자신의 MAC 주소를 송신자에게 회신
  3. ARP 테이블 갱신
    • IP–MAC 매핑을 테이블에 저장

📋 ARP 테이블 확인

1
arp -a

예시 출력:

1
2
? (172.30.1.27) at 96:e:1f:6f:6c:d5 on en0 ifscope [ethernet]
? (172.30.1.34) at ce:be:c1:13:b5:5 on en0 ifscope [ethernet]

📦 ARP 패킷 구조

필드설명
Opcode1: 요청, 2: 응답
송수신 MAC 주소하드웨어 주소
송수신 IP 주소프로토콜 주소

🚫 IP 단편화 회피 전략

  • 단편화는 오버헤드와 재조립 부하 유발 → 가능하면 회피

📌 경로 MTU(Path MTU)

  • 전체 경로상 최소 MTU
  • 송신자는 Path MTU만큼만 데이터 전송하여 단편화 회피

📌 Path MTU Discovery

  • ICMP를 이용해 경로 MTU 탐색
  • DF(Don’t Fragment) 비트를 1로 설정한 채 전송
  • 너무 큰 패킷이 거부되면 MTU를 조정해 재전송

✅ 마무리 정리

네트워크 계층은 IP 주소 기반의 통신 경로 설정을 담당
IPv4 단편화, TTL, ARP 등 핵심 프로토콜 구성 요소 존재
단편화는 성능에 부정적 영향 → Path MTU를 활용한 회피가 바람직


📚 참고 자료


읽어주셔서 감사합니다 🙌
내용이 도움이 되었거나, 틀린 부분이 있다면 댓글이나 GitHub Issue로 알려주세요 😊

This post is licensed under CC BY 4.0 by the author.