Data Plane - NAT, DHCP

2024. 5. 30. 12:47Computer Science/Networking

NAT?

- 때는 바야흐로 절망의 21세기, 42억 모시깽이 밖에 안되는 IP주소의 개수로는 70억 인구의 수요를 감당하기 힘들어졌다. 이에 여러개의 디바이스가 하나의 IPv4주소를 공유하는 장치가 탄생했으니, 그것을 우리는 공유기(NAT)이라고 하기로 했다.

- NAT 라우터는 반드시 아래의 사항을 준수해야 한다.

 

 

- 1. 라우터에서 나가는 Datagram에 대해서는 반드시 (Source IP, Port) -> (NAT IP, new Port)와 같은 과정을 거쳐야 한다.

- 2. NAT Translation Table을 통해서 반드시 ((Source IP, port), (NAT IP, new port))의 쌍을 기억해야 한다.

- 3. 라우터로 들어오는 Datagram애 대해서는 반드시 (NAT IP, new Port) -> (Source IP, Port)와 같은 과정을 거쳐야 한다.

- 그런데, 여기서 Device는 어떻게 Source IP의 주소를 얻어낼 수 있을까?

 

Dyanmic Host Configuration Protocol(DHCP)

- 디바이스가 네트워크로 접속할때, 유동적으로 네트워크 서버로 부터 IP 주소를 받아 내는것. (쉽게 말하면 유동 IP이다.)

- DHCP는 다음과 같은 과정으로 작동한다.

 

- 1. 연결하는 디바이스는 IP주소, DNS 서버 주소, 처음으로 연결되는 라우터의 주소(address of first-hop router)를 얻기 위해서 DHCP를 사용할 것이다. 따라서 DHCP Request가 사용되고, 이는 UDP, IP, Ethernet으로 차례되로 Multiplexing된 다음 Ethernet Frame은 Broadcast(Network상의 모든 host에게 패킷을 뿌리는것, MAC : FFFFFFFFFF) 될 것이다.

- 2. 이를 받은 DHCP 서버는 ACK를 IP주소와 함께 보내고, 이제 클라이언트는 자신이 배정받은 IP주소와 DNS 서버의 주소, 그리고 first-hop router의 주소를 알게 된다.

 


Ref : Computer Networking - A top down approach

'Computer Science > Networking' 카테고리의 다른 글

Control Plane - OSPF, BGP  (0) 2024.05.30
Control Plane - Routing Protocols  (0) 2024.05.30
Data Plane - IP Datagram, Subnets  (0) 2024.05.29
Data Plane - Router Architecture  (0) 2024.05.28
Reliable Data Transfer Protocol(rdt)  (0) 2024.04.19