cd ../
Network·2026-02-17·6 min read·# entry/024

네트워크 계층(Network Layer)의 세계: 데이터 평면과 제어 평면, 그리고 IP의 원리

네트워크의 근육인 데이터 평면(Hardware)과 두뇌인 제어 평면(Routing Logic)을 분리하여 설명합니다. IP, 서브넷팅, 그리고 라우터 내부의 포워딩 동작까지 상세히 알아봅니다.

네트워크 계층(Network Layer)은 단순히 데이터를 전달하는 것 이상의 복잡한 메커니즘을 내포하고 있습니다. 크게 **제어 평면(Control Plane)**과 **데이터 평면(Data Plane)**으로 나누어 이해할 수 있습니다.

  • 제어 평면 (Control Plane): "어떤 경로로 가야 할까?"를 고민하는 두뇌 영역. (라우팅 알고리즘)
  • 데이터 평면 (Data Plane): "이 패킷을 3번 포트로 보내!"라고 실제로 행동하는 근육 영역. (패킷 포워딩)

이 글에서는 먼저 IP 주소 체계와 서브넷팅을 간단히 짚고, 라우터 내부의 하드웨어적인 동작(데이터 평면)에 대해 깊이 있게 다뤄보겠습니다.


1. 네트워크 계층의 기본: IP와 서브넷팅

데이터 평면을 이해하기 전에, 라우터가 무엇을 보고 판단하는지 알아야 합니다. 바로 IP 주소입니다.

IP 주소와 CIDR

과거에는 클래스(A, B, C) 단위로 주소를 나눴지만, 현재는 CIDR (Classless Inter-Domain Routing) 방식을 사용합니다.

예: 192.168.1.0/24

  • 앞 24비트 (192.168.1)는 네트워크 ID
  • 뒤 8비트 (.0 ~ .255)는 호스트 ID

서브넷팅 (Subnetting)의 마법

하나의 네트워크를 더 작은 단위로 쪼개는 기술입니다.

1

네트워크 확보

192.168.10.0/24 네트워크를 할당받았다고 가정합시다. 총 256개의 주소(0~255)를 사용할 수 있습니다.

2

서브넷 분할

이를 4개의 부서(인사, 개발, 영업, 기획)로 나누고 싶다면, 호스트 비트에서 2비트를 빌려옵니다. (2² = 4)

새로운 서브넷 마스크는 /26 (255.255.255.192)이 됩니다.

3

결과

각 부서는 64개의 IP 대역을 갖게 됩니다.

  • 인사: 192.168.10.0/26
  • 개발: 192.168.10.64/26
  • 영업: 192.168.10.128/26
  • 기획: 192.168.10.192/26

2. 데이터 평면(Data Plane): 네트워크의 근육

네트워크 계층의 데이터 평면은 복잡한 길 찾기(라우팅)은 제어 평면이 고민하게 두고, 실제로 패킷 하나하나를 집어서 올바른 통로로 던져주는 실무를 담당합니다.

데이터 평면을 이해하기 위한 핵심 키워드는 **매치-플러스-액션(Match-Plus-Action)**입니다.

포워딩의 두 단계

데이터 평면이 하는 일은 단순하지만 매우 빨라야 합니다. 라우터에 패킷이 도착하면 딱 두 단계만 거칩니다.

  1. 매치(Match): 패킷 헤더의 정보를 보고 "너는 누구니? 어디로 가니?"를 확인합니다.
  2. 액션(Action): "3번 포트로 나가면 돼~", 혹은 "너는 차단된 패킷이니 버릴게" 같은 행동을 수행합니다.

이 규칙들이 적힌 장부를 포워딩 테이블이라고 합니다.

라우터 하드웨어 속의 데이터 평면

패킷이 라우터 내부에서 이동하는 경로는 정교한 하드웨어 설계의 결과물입니다.

Router Structure
Input Port — 검문소 (TCAM 고속 조회)
Switching Fabric — 고속도로 (크로스바 방식)
Output Port — 대기실 (큐잉 & Packet Loss)
  • 입력 포트: 패킷이 도착하면 즉시 포워딩 테이블을 검색합니다. 수 나노초 안에 결정을 내려야 하므로 일반 메모리가 아닌 TCAM 특수 고속 메모리를 사용합니다.
  • 스위칭 패브릭: 입력 포트에서 출력 포트로 패킷을 물리적으로 이동합니다. 현대 고성능 라우터는 여러 패킷이 동시에 이동 가능한 크로스바 방식을 사용합니다.
  • 출력 포트: 나가는 대역보다 들어오는 패킷이 많으면 **큐잉(Queuing)**이 발생하고, 버퍼가 가득 차면 패킷을 버립니다(Packet Loss).

일반화된 포워딩과 SDN

오직 목적지 IP 주소만 보고 포워딩 테이블에서 매칭합니다. 단순하지만 유연성이 낮습니다.

하드웨어의 발전

초창기 라우터는 CPU가 패킷을 하나하나 읽어서 처리했습니다. 하지만 인터넷 트래픽이 폭발하면서 소프트웨어 방식으로는 속도를 감당할 수 없게 되었습니다.

엔지니어들은 포워딩 로직을 아예 ASIC 칩으로 구워버렸습니다. 이것이 데이터 평면을 하드웨어 영역이라고 부르는 이유입니다.


3. 소프트웨어 개발자가 관여하는 영역

네트워크 계층의 90%는 일반 개발자가 관여하지 않는 영역입니다. 하지만 나머지 10%에서 역량이 갈립니다.

네트워크 계층의 철학은 중간은 최대한 단순하게(Dumb), 양 끝단은 똑똑하게(Smart) 입니다. 이를 종단 간 원칙(End-to-End Principle)이라고 합니다.

개발자가 이해해야 할 영역
  • 클라우드 인프라: VPC, Subnet, 라우팅 테이블을 직접 설정해야 하므로 네트워크 계층 이해가 필수입니다.
  • MTU 고려: 데이터가 너무 크면 패킷이 쪼개져 라우터 부담과 지연이 증가합니다. 고성능 통신 프로그램은 버퍼 크기 설계에 이를 반영합니다.
  • 방화벽(ACL): 특정 IP 대역 허용·차단 설정이 통신 장애의 원인이 되는 경우가 많습니다.
개발자가 관여할 수 없는 영역
  • 하드웨어 포워딩: 데이터 평면의 ASIC 처리는 소프트웨어가 개입하기에 인터넷 트래픽이 너무 빠릅니다.
  • 라우팅 알고리즘: OSPF, BGP 등의 제어 평면 프로토콜은 네트워크 장비 벤더와 ISP의 영역입니다.

핵심 요약

정리
  • 네트워크 계층은 제어 평면(두뇌, 라우팅 계산)데이터 평면(근육, 패킷 포워딩) 으로 나뉩니다.
  • 데이터 평면의 핵심은 매치-플러스-액션: 패킷 헤더를 보고 포워딩 테이블의 규칙에 따라 즉시 행동합니다.
  • 현대 라우터는 포워딩 로직을 ASIC에 구워 하드웨어 속도로 처리하며, SDN은 이를 소프트웨어로 제어할 수 있게 확장합니다.
  • 개발자가 직접 관여하는 영역은 클라우드 VPC·서브넷 설계, MTU 고려 버퍼 설계, 방화벽 ACL 설정 입니다.