본문 바로가기

개발/네트워크

공유기 및 스위치에 대하여

 

📡 공유기의 작동 원리 완벽 정리 (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 스위치 (로드밸런서 포함) 포트 번호 기반 로드 밸런싱 가능
L5L7 (세션응용 계층) 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