김 컴퓨터


NAT 테이블 (NAT Table) 기초

NAT 테이블NAT(Network Address Translation) 장치(주로 라우터)가 사설(Private) IP 주소와 공인(Public) IP 주소를 서로 변환할 때 사용하는 주소 변환 기록부입니다. 이는 IPv4 주소 고갈 문제의 해결책인 NAT 기술의 핵심 요소입니다.


1. NAT의 역할과 테이블의 필요성

① NAT의 역할

NAT는 사설 네트워크(예: 가정이나 회사 내부망)의 장치들이 공인 IP 주소를 공유하여 외부 인터넷과 통신할 수 있게 해줍니다.

② 테이블의 필요성

외부에서 들어오는 응답 패킷을 NAT 라우터가 받았을 때, 이 패킷이 내부 네트워크의 어떤 장치(어떤 사설 IP)로 가야 하는지 정확히 알기 위해 NAT 테이블이 필요합니다.


2. NAT 테이블의 구조와 작동 원리

NAT의 종류에 따라 테이블에 저장되는 정보가 달라집니다. 가장 흔히 사용되는 NAPT (Network Address and Port Translation, 또는 PAT) 방식을 기준으로 설명합니다.

NAPT는 하나의 공인 IP 주소에 포트 번호를 추가하여 다수의 사설 IP 주소를 맵핑합니다.

필드 NAT 테이블에 저장되는 정보 설명
사설 주소 (Private IP) 내부 장치의 사설 IP 주소 192.168.1.10
사설 포트 (Private Port) 내부 장치가 사용한 포트 번호 50000
공인 주소 (Public IP) NAT 라우터의 공인 IP 주소 203.0.113.5
공인 포트 (Public Port) 외부 통신을 위해 변환된 포트 번호 12345

작동 과정 (NAPT 예시)

  1. 발신: 내부 장치 A (192.168.1.10:50000)가 외부에 데이터를 요청하면, 라우터는 이 요청을 변환하여 203.0.113.5:12345로 내보냅니다.
  2. 테이블 기록: 라우터는 (192.168.1.10, 50000) $\leftrightarrow$ (203.0.113.5, 12345)를 테이블에 기록합니다.
  3. 수신: 외부 서버가 203.0.113.5:12345로 응답을 보냅니다.
  4. 역변환: 라우터는 테이블을 조회하여 포트 번호 12345가 내부의 192.168.1.10:50000에 대응됨을 확인하고, 응답 패킷의 목적지 주소를 변환하여 장치 A에게 정확하게 전달합니다.

3. 테이블의 관리