IP Layer

IP (Internet Protocol) Layer는 TCP/IP 4계층 모델에서 네트워크 계층(Network Layer)에 해당하며, OSI 7계층으로 치면 3계층입니다. 가장 핵심적인 역할은 “패킷을 한 네트워크에서 다른 네트워크로 최적의 경로를 따라 전달”하는 것—즉 논리적 주소(=IP 주소) 기반의 라우팅입니다.

IP Layer란?

IP (Internet Protocol) Layer는 TCP/IP 4계층 모델에서 네트워크 계층(Network Layer)에 해당하며, OSI 7계층으로 치면 3계층임 가장 핵심적인 역할은 “패킷을 한 네트워크에서 다른 네트워크로 최적의 경로를 따라 전달”하는 것—즉 논리적 주소(=IP 주소) 기반의 라우팅

왜 필요한가?

문제IP Layer가 제공하는 해결책
물리적으로 떨어져 있는 수많은 LAN·WAN을 하나의 ‘인터넷’으로 묶어야 함전 세계적으로 유일한 주소 체계(IPv4/IPv6)와 계층적 라우팅
이기종 네트워크(이더넷, Wi-Fi, 5G, 광망 …)간 데이터 전달서로 다른 링크 계층을 통일된 패킷 형식(IP Datagram)으로 캡슐화
큰 데이터그램이 링크 MTU보다 클 때Fragmentation & Reassembly(IPv4만 IPv6은 PMTU 디스커버리 사용)
전송 중 오류·혼잡·노드 고장 감지ICMP로 오류·제어 메시지 전달

핵심 기능 상세

  1. 논리적 주소 지정 (Addressing)

    • IPv4 : 32-bit, dotted-decimal(192.0.2.4)

    • IPv6 : 128-bit, hexadecimal 콜론 표기(2001:db8::1)

    • 네트워크/호스트 부분을 사용해 계층적(aggregation) 라우팅을 가능케 함

  2. 패킷화 (Encapsulation)

    • 상위 계층(TCP, UDP, ICMP 등) 세그먼트를 IP Header + Payload 형태로 감싼 뒤 하위 링크 계층(이더넷 프레임 등)에 다시 캡슐화
  3. 라우팅 (Routing & Forwarding)

    • Forwarding : 라우터가 목적지 주소를 보고 다음 홉(next-hop) 인터페이스로 패킷을 넘김

    • Routing : 라우터들이 RIP, OSPF, BGP 같은 라우팅 프로토콜로 테이블을 동적으로 구축

  4. 분할 및 재조합 (Fragmentation/Reassembly)

    • IPv4 헤더의 Identification, Flags, Fragment Offset 필드로 조각화 추적

    • IPv6은 기본적으로 조각화를 금지, 발신 호스트가 Path MTU Discovery로 크기를 조정

  5. 품질과 오류 제어

    • IPv4 Header Checksum으로 1-hop 오류 검출(IPv6에는 없음 : 링크 계층/전송 계층에 맡김)

    • ICMP를 통해 “Destination Unreachable”, “Time Exceeded” 등 메시지 반환

IPv4 헤더 구조 한눈에 보기

0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Ver| IHL|DSCP|ECN|         Total Length                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|        Identification         |Flags|      Fragment Offset    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  TTL  | Protocol |    Header Checksum                         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Source Address                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    Destination Address                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    Options      (0 ~ 40 bytes)                |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • Ver/IHL : 버전(4)과 헤더 길이(32비트 word 수)

  • Total Length : 헤더 + 데이터 전체 길이

  • TTL : 홉 수 제한(루프 방지)

  • Protocol : 상위 프로토콜 번호(TCP = 6, UDP = 17…)

  • Options : Timestamp, Record Route 등 거의 사용 안함

IPv6는 고정 40바이트 헤더에 별도 확장 헤더 체인을 사용해 단순화/고속화함

흐름 예시 (간단 시나리오)

  1. 192.168.1.10:5000 → 142.250.78.14:443(TCP)

  2. TCP 세그먼트가 IP Datagram으로 캡슐화

  3. 로컬 라우터가 목적지 네트워크(AS15169)를 향한 default route 선택

  4. 중간 BGP 라우터들이 TTL을 1씩 감소시키며 패킷 포워딩

  5. Google 프런트엔드 서버에서 TCP ACK, HTTP/2 응답 → 역방향 경로로 전송

개발자 관점 : 유용한 CLI

작업IPv4IPv6
라우팅 테이블 확인ip route showip -6 route show
패킷 흐름 추적traceroute 8.8.8.8traceroute -6 2001:4860:4860::8888
ICMP Echoping -c 4 hostping6 -c 4 host

자주 헷갈리는 점 정리

오해실제
“IP = 인터넷 전체 프로토콜 스택”IP는 한 계층일 뿐, 아래(링크)/위(전송)/위의 위(애플리케이션) 계층이 따로 있다
“IP가 연결 지향”IP는 비연결형, 비신뢰성∙Best-Effort. 신뢰성은 TCP가 따로 보장
“IPv6는 단순히 주소 길이만 4배”헤더 단순화, Neighbour Discovery, 확장 헤더, IPsec 의무 지원 등 근본적 개선 포함

마무리

IP Layer는 인터넷을 ‘한 덩어리’로 보이게 해 주는 추상화입니다. 여기서 다룬 주소 지정, 라우팅, 조각화, ICMP 등의 기초가 잡혀 있으면 TCP, UDP, TLS 같은 상위 계층을 배울 때 훨씬 수월해짐


© 2022 JeongHwan Yun.