📡 공유기의 작동 원리 완벽 정리 (with NAT)
✅ 개요
공유기(Router)는 집에서 흔히 사용하는 장비로, 여러 대의 디바이스가 하나의 인터넷 회선을 함께 사용하도록 해주는 장치입니다. 정확히 말하자면 공유기는 "인터넷"이 아니라 "IP 주소"를 공유하게 해주는 기술이며, 이 과정에서 NAT(Network Address Translation) 라는 기법이 핵심 역할을 합니다.
📌 1. 공유기의 기본 구조
공유기는 내부적으로 다음 두 가지를 포함합니다:
- 라우터 기능 (L3 계층): 패킷을 목적지 네트워크로 전달.
- 스위치 기능 (L2 계층): LAN 내부 장치들끼리 통신하도록 중계.
📌 2. NAT 작동 방식 (가장 중요한 개념!)
📥 아웃바운드(내부 → 외부)
- 내부 PC가 네이버 접속 (예: 192.168.0.10:3000 → 5.5.5.5:80)
- 공유기에서 NAT 테이블 생성:
- [내부IP:포트] → [공유기IP:새포트] 192.168.0.10:3000 → 3.3.3.3:20000
- 공유기는 패킷의 출발지 IP와 포트를 공유기의 IP와 새로운 포트 번호로 변환해 외부로 전송
📤 인바운드(외부 → 내부)
- 외부 서버(네이버)에서 응답 수신
- 5.5.5.5:80 → 3.3.3.3:20000
- 공유기는 NAT 테이블을 조회해 원래 대상인 내부 IP로 변환
- 3.3.3.3:20000 → 192.168.0.10:3000
- 최종적으로 패킷은 해당 내부 PC에 도달
🔐 NAT의 부가 기능: 방화벽 효과
- 외부에서 임의로 들어오는 패킷은 NAT 테이블에 매핑 정보가 없으면 버려짐
- 이로 인해 외부 침입 차단 → 자연스러운 방화벽 효과
❗ 내용 검증 및 보완
- 대부분의 내용은 정확하고, NAT의 작동 원리에 대한 설명도 잘 되어 있음
- 다만 다음은 보완하거나 주의해서 이해하면 좋습니다:
- NAT는 연결 지향이 아님: TCP 연결은 end-to-end인 것처럼 보이지만 실제로는 NAT가 중간에 있음. 이것이 NAT traversal 문제가 발생하는 이유입니다.
- 포트 번호 변경은 **SNAT (Source NAT)**의 대표적인 동작. PAT(Port Address Translation)이라고도 부르며 다수의 장치가 하나의 IP를 공유할 수 있도록 해줍니다.
🧠 OSI 7계층별 스위치 설명
계층 스위치 종류 역할
L1 (물리 계층) | 리피터 허브 | 단순 신호 증폭, 데이터 구분 불가 |
L2 (데이터 링크 계층) | 스위치 | MAC 주소 기반으로 프레임 전달 |
L3 (네트워크 계층) | 라우터 or L3 스위치 | IP 주소 기반으로 다른 네트워크에 전달 |
L4 (전송 계층) | L4 스위치 (로드밸런서 포함) | 포트 번호 기반 로드 밸런싱 가능 |
L5 |
L7 스위치 (Application Switch) | HTTP path, 쿠키 등 애플리케이션 레벨 분석으로 지능적인 트래픽 제어 가능 |
⚠️ 보통 L4~L7 스위치는 하드웨어 장비보다 **소프트웨어적인 로드 밸런서(AWS ALB, NGINX 등)**를 통해 구현됩니다.
✍️ 정리
- 공유기의 핵심은 NAT + L3/L2 통합 기능
- NAT는 IP 주소 + 포트 변경을 통해 하나의 공인 IP로 여러 장치를 인터넷에 연결 가능
- 동시에 외부로부터 불필요한 접근을 차단하는 방화벽 기능도 수행
- 스위치는 OSI 계층마다 다르게 동작하며, 상위 계층일수록 더 복잡하고 똑똑한 제어가 가능
'개발 > 네트워크' 카테고리의 다른 글
VPN의 작동 원리 (0) | 2025.05.27 |
---|---|
네트워크 데이터 단위 (0) | 2025.05.27 |
TCP 송/수신 원리 (0) | 2025.05.27 |
HTTPS와 SSL/TSL (0) | 2025.05.22 |
TCP 데이터 전송과 OSI 7계층 이해 (0) | 2025.05.22 |