네트워크의 근육인 데이터 평면(Hardware)과 두뇌인 제어 평면(Routing Logic)을 분리하여 설명합니다. IP, 서브넷팅, 그리고 라우터 내부의 포워딩 동작까지 상세히 알아봅니다.
네트워크 계층(Network Layer)은 단순히 데이터를 전달하는 것 이상의 복잡한 메커니즘을 내포하고 있습니다. 크게 **제어 평면(Control Plane)**과 **데이터 평면(Data Plane)**으로 나누어 이해할 수 있습니다.
이 글에서는 먼저 IP 주소 체계와 서브넷팅을 간단히 짚고, 라우터 내부의 하드웨어적인 동작(데이터 평면)에 대해 깊이 있게 다뤄보겠습니다.
데이터 평면을 이해하기 전에, 라우터가 무엇을 보고 판단하는지 알아야 합니다. 바로 IP 주소입니다.
과거에는 클래스(A, B, C) 단위로 주소를 나눴지만, 현재는 CIDR (Classless Inter-Domain Routing) 방식을 사용합니다.
예: 192.168.1.0/24
192.168.1)는 네트워크 ID.0 ~ .255)는 호스트 ID하나의 네트워크를 더 작은 단위로 쪼개는 기술입니다.
192.168.10.0/24 네트워크를 할당받았다고 가정합시다. 총 256개의 주소(0~255)를 사용할 수 있습니다.
이를 4개의 부서(인사, 개발, 영업, 기획)로 나누고 싶다면, 호스트 비트에서 2비트를 빌려옵니다. (2² = 4)
새로운 서브넷 마스크는 /26 (255.255.255.192)이 됩니다.
각 부서는 64개의 IP 대역을 갖게 됩니다.
192.168.10.0/26192.168.10.64/26192.168.10.128/26192.168.10.192/26네트워크 계층의 데이터 평면은 복잡한 길 찾기(라우팅)은 제어 평면이 고민하게 두고, 실제로 패킷 하나하나를 집어서 올바른 통로로 던져주는 실무를 담당합니다.
“데이터 평면을 이해하기 위한 핵심 키워드는 **매치-플러스-액션(Match-Plus-Action)**입니다.
데이터 평면이 하는 일은 단순하지만 매우 빨라야 합니다. 라우터에 패킷이 도착하면 딱 두 단계만 거칩니다.
이 규칙들이 적힌 장부를 포워딩 테이블이라고 합니다.
패킷이 라우터 내부에서 이동하는 경로는 정교한 하드웨어 설계의 결과물입니다.
오직 목적지 IP 주소만 보고 포워딩 테이블에서 매칭합니다. 단순하지만 유연성이 낮습니다.
초창기 라우터는 CPU가 패킷을 하나하나 읽어서 처리했습니다. 하지만 인터넷 트래픽이 폭발하면서 소프트웨어 방식으로는 속도를 감당할 수 없게 되었습니다.
엔지니어들은 포워딩 로직을 아예 ASIC 칩으로 구워버렸습니다. 이것이 데이터 평면을 하드웨어 영역이라고 부르는 이유입니다.
네트워크 계층의 90%는 일반 개발자가 관여하지 않는 영역입니다. 하지만 나머지 10%에서 역량이 갈립니다.
“네트워크 계층의 철학은 중간은 최대한 단순하게(Dumb), 양 끝단은 똑똑하게(Smart) 입니다. 이를 종단 간 원칙(End-to-End Principle)이라고 합니다.