-
[Network] Network Address Translation (NAT)CS/Network 2021. 12. 12. 18:05
Middle box는 source 호스트와 destination 호스트 사이 데이터 경로에서 라우터의 기능과 별도의 기능을 수행하는 중간 장치를 말한다.
Middle box의 종류로는 NAT, 방화벽, IDS, 로드 밸런서, CDN 등 다양한 장치가 있다.
History
90년대 초 급격한 인터넷의 발달로 인해 43억 정도의 IP 주소가 다 할당되었고, IPv4에서 IPv6로 진화하고 있었다. 하지만 인터넷의 모든 장비를 IPv6를 지원하도록 만드는 것은 너무 오래 걸리는 일이였고, IP 주소 고갈 문제를 해결하기 위해 장비 자체를 업그레이드하지 않고 디바이스 간에 IP 주소를 공유할 수 있는 NAT가 발달하게 되었다.
Network Address Translation (NAT)
NAT는 다수의 private IP를 하나의 public IP로 변환하는 기술을 말한다. 주로 기업이나 기관에서 local network을 사용하는 PC에 private IP를 제공하고 외부 인터넷에 연결 시엔 public IP 하나를 같이 사용하는 형태로 운영한다. local network에서 나가거나 들어오는 모든 데이터그램은 하나의 NAT IP address와 다른 포트 번호를 가진다. NAT는 이 포트 번호를 통해 local network 내의 어떤 호스트인지 구분한다.
예시
1. 10.0.0.1 private IP를 가지는 호스트가 128.119.40.186, 80으로 데이터그램을 보낸다.
2. NAT 라우터는 데이터그램의 source 주소를 10.0.0.1, 3345에서 138.76.29.7, 5001로 변환하고 NAT tranlation table을 수정한다.
3. 보낸 메시지에 대한 응답이 138.76.29.7, 5001로 들어온다.
4. NAT 라우터는 데이터그램의 destination 주소를 138.76.29.7, 5001에서 10.0.0.1, 3345로 변환한다.
'CS > Network' 카테고리의 다른 글
[Network] Routing algorithms - Distance Vector (0) 2021.12.13 [Network] Routing algorithms - Link State (0) 2021.12.13 [Network] 라우터 내부에선 무슨 일이 일어날까? (0) 2021.12.12 [Network] IPv6과 Tunneling (0) 2021.12.11 [Network] Dynamic Host Configuration Protocol(DHCP) (0) 2021.12.11