
⚡ 한 줄 요약: 클라이언트의 요청이 계층별 캡슐화를 거쳐 스위치와 라우터라는 관문을 통과해 서버에 도달하는 전체 메커니즘을 파헤칩니다.
네트워크 면접에서 가장 고전적이면서도 지원자의 밑천이 가장 잘 드러나는 질문입니다.
단순히 "서버에 접속합니다"라고 대답하는 것과, 데이터가 각 계층에서 어떻게 포장되고 어떤 장비를 거치는지 논리적으로 설명하는 것은 천지 차이입니다.
🧐 Why:
🎯 Goal:

데이터가 클라이언트에서 생성되어 물리 계층으로 내려가는 과정은 마치 택배를 포장하는 과정과 같습니다.
각 계층을 지날 때마다 데이터 앞에 새로운 정보가 담긴 헤더(Header)가 붙으며
데이터의 이름(PDU, Protocol Data Unit)도 달라집니다.
전송 계층:
네트워크 계층:
데이터 링크 계층:
💻 참고
브라우저 개발자 도구의 Network 탭에서 보는 데이터는 응용 계층의 '메시지' 형태이지만,
실제로 전송될 때는 이렇게 복잡한 포장 과정을 거칩니다.특히 TCP 연결 오버헤드나 패킷 유실 문제를 분석할 때 이러한 하위 계층의 데이터 단위(PDU) 개념을 알고 있으면 네트워크 병목 현상을 더 깊이 이해할 수 있습니다.
클라이언트에서 물리 계층을 통해 변환된 전기 신호는 서버로 곧장 연결된 고속도로를 타는 것이 아닙니다.
물리적 전송:
여러 경로를 거치는 과정:
💡 비유로 이해하기
우리가 친구에게 편지를 보낼 때, 내 손을 떠난 편지가 친구의 우체통으로 순간 이동하는 것이 아닙니다.
우체국, 물류 센터, 배달 트럭이라는 '라우터'들을 거쳐야 비로소 친구에게 전달되는 것과 같은 원리입니다.
데이터가 포장(캡슐화)될 때, 클라이언트는 패킷이 길을 잃지 않도록 가장 중요한 4가지 정보를 헤더에 기입합니다.
이 정보들은 우리가 흔히 말하는 L3(네트워크 계층)와 L2(데이터 링크 계층)에서 각각 작성됩니다.
네트워크 계층(L3) - "거시적 주소"
데이터 링크 계층(L2) - "미시적 주소"
클라이언트를 떠난 전기 신호가 가장 먼저 도착하는 곳은 스위치 A입니다.
스위치는 데이터 링크 계층(L2)에서 동작하는 장비로, 네트워크 내의 원활한 흐름을 돕는 '교통 정리원' 역할을 수행합니다.
물리 계층(L1): "신호를 데이터로"
데이터 링크 계층(L2): "읽고, 판단하고, 전달하라"
💻 참고
스위치는 단순히 데이터를 전달하는 장치이므로, 데이터의 어떤 값에도 전혀 손대지 않는다는 점이 핵심입니다.
이더넷 프레임의 구조를 해체하거나 다시 만드는 '재포장' 과정 없이 그대로 토스합니다.
이 점이 '패킷을 수정할 수 있는 라우터'와 명확히 구분되는 기술적 포인트입니다.
스위치를 통과한 전기 신호는 이제 네트워크 계층(L3) 장비인 라우터 A에 도착합니다.
라우터는 단순히 데이터를 전달하는 것을 넘어, 패킷의 정보를 읽고 목적지에 맞게 데이터를 수정(NAT)하는 능동적인 역할을 수행합니다.
계층별 처리 과정: 역캡슐화와 판단
물리 계층(L1):
데이터 링크 계층(L2):
네트워크 계층(L3):
핵심 기술: NAT(Network Access Translation)
라우터 A에서 일어나는 가장 핵심적인 일은 출발지 IP 주소를 변경하는 것입니다.
새로운 포장: 데이터 링크 계층의 재포장
패킷을 라우터 B로 보내기 위해, 라우터 A는 새로운 L2 헤더를 입힙니다.
출발지 MAC: 라우터 A의 MAC 주소로 설정합니다.
목적지 MAC: 다음 목적지인 라우터 B의 MAC 주소를 기입합니다. (ARP로 확인)
물리 계층 전송: 다시 전기 신호로 변환하여 라우터 B로 쏴줍니다.
외부 네트워크에서 날아온 패킷을 받은 라우터 B는 자신이 관리하는 내부 네트워크(사설망)에 해당 서버가 있는지 확인하고 길을 안내합니다.
라우터 B에서의 계층별 처리 과정:
물리 계층(L1):
데이터 링크 계층(L2):
네트워크 계층(L3):
데이터 링크 계층(L2) 재캡슐화:
물리 계층(L1):
라우터 B를 통과한 데이터는 서버가 연결된 최종 장비인 스위치 B에 도달합니다.
스위치는 데이터 링크 계층 장비로서, 목적지 서버의 정확한 포트를 찾아 데이터를 밀어주는 역할을 수행합니다.
스위치 B의 계층별 처리 과정:
물리 계층(L1):
데이터 링크 계층(L2):
물리 계층(L1):
서버는 스위치 B로부터 전달받은 전기 신호를 물리 계층부터 시작해 역순으로 끌어올리며(역캡슐화) 응용 계층의 데이터를 확인합니다. 이후 클라이언트의 요청에 맞는 응답 데이터를 생성하고, 이를 다시 보낼 준비를 합니다.
응답 데이터의 헤더 설정 (캡슐화 시작)
서버는 다시 캡슐화 과정을 거치며 응답 패킷의 송장을 작성합니다. 이때 설정되는 정보는 다음과 같습니다.
목적지 MAC 주소:
출발지 MAC 주소:
출발지 IP 주소:
목적지 IP 주소:
전기 신호는 서버에 직접 꽂힌다?
목적지 MAC 주소는 서버의 MAC 주소를 적으면 된다?
라우터는 데이터를 절대 건드리지 않는다?
이번 포스팅에서 다룬 데이터의 여정을 6단계로 압축하면 다음과 같습니다.
클라이언트 (캡슐화):
스위치 A (전달):
라우터 A (경로 선택 & NAT):
라우터 B (수신):
스위치 B (최종 배달):
서버 (수신 및 응답):