본문 바로가기

컴퓨터 (Computer)/네트워크 잘 아는 능력자 되기

NAT 와 PAT 의 동작 방식과 차이점

728x90
반응형
SMALL

NAT와 PAT의 동작 방식과 차이점에 대해서 알아보겠습니다.

저도 네트워크 공부를 하면서 처음에 조금 헷갈렸던 부분이었는데요.

회사 혹은 가정에서 인터넷을 사용할 때 내 PC에서 보낸 데이터가 다른 PC나 디바이스로 응답이 가지 않고 어떻게 다시 내 PC로 오는지 신기했거든요.

 

지금부터 같이 공부해 봅시다!

 

 

 

 

 

1. NAT 동작 방식

 

출발지인 PC(10.10.10.10)에서 목적지인 서버(20.20.20.20)로 통신하는 과정을 통해 NAT 동작 방식을 알아보도록 하겠습니다. 그림의 번호 순서대로 봐주세요!

(1) PC가 서버와 통신하기 위해 출발지 IP를 10.10.10.10으로, 목적지 IP와 서비스 포트는 20.20.20.20과 80으로 패킷을 전송합니다. 출발지 서비스 포트는 랜덤으로 할당되는데 저는 2222번 포트로 정하고 설명드리도록 하겠습니다.

 

(2) NAT 장비에서 PC가 보낸 패킷을 수신한 후 NAT 정책에 따라 10.10.10.10인 PC IP를 외부 네트워크와 통신이 가능한 공인 IP인 11.11.11.11로 IP 주소를 변경합니다. NAT 장비에 변경된 IP 주소는 NAT 테이블에 저장됩니다.

 

(3) NAT 장비에서 PC 주소를 11.11.11.11로 변경해 목적지인 서버로 전송합니다.

 

(4) 패킷을 수신한 서버는 PC에게 응답을 보냅니다. 응답을 할 때는 수신한 내용과 반대로 출발지는 서버 20.20.20.20이 되고 목적지는 NAT 장비에 의해 변환된 공인 IP 11.11.11.11인 PC로 전송합니다.

 

(5) 서버로부터 응답 패킷을 수신한 NAT 장비는 자신의 NAT 테이블을 검색하여 공인 IP 11.11.11.11에 해당하는 출발지 IP 주소가 10.10.10.10인 것을 확인합니다.

 

(6) NAT 테이블에서 확인된 PC IP 10.10.10.10로 응답을 전달할 주소를 변경해 PC로 전송합니다.

 

 

 

 

2. PAT 동작 방식

 

NAT와 동일하게, 출발지인 PC(10.10.10.10)에서 목적지인 서버(20.20.20.20)로 통신하는 과정을 통해 PAT 동작 방식을 알아보도록 하겠습니다. 그림의 번호 순서대로 봐주세요!

(1) PC가 서버와 통신하기 위해 패킷에 출발지 10.10.10.10, 목적지 20.20.20.20, 서비스 포트는 80을 채워 전송합니다.

 

(2) NAT 장비는 PC가 보낸 패킷을 받아 외부 네트워크와 통신이 가능한 공인 IP 11.11.11.11로 변경합니다. 하지만 출발지에 있는 여러 대의 PC가 동일한 공인 IP로 변환되어야 하기 때문에 주소를 변경할 때, IP뿐만 아니라 서비스 포트도 변경해야 합니다. 출발지 IP와 서비스 포트는 NAT 장비에 의해 모두 변경되고 NAT 장비가 이 내용을 NAT 테이블에 저장합니다.

 

(3) NAT 장비에서 변경된 PC의 IP 주소인 11.11.11.11과 서비스 포트 3333 패킷을 서버로 전송합니다.

 

(4) PC가 보낸 패킷을 수신한 서버는 다시 PC로 패킷을 응답하는데, 출발지 IP는 서버의 IP 주소인 20.20.20.20이고 목적지 IP는 NAT 장비에 의해 변환된 공인 IP 11.11.11.11과 서비스 포트 3333으로 전송합니다.

 

(5) 서버로부터 응답을 받은 NAT 장비는 NAT 테이블을 확인하여 서버로부터 받은 패킷의 목적지 IP 주소인 11.11.11.11이 원래 10.10.10.10이며 서비스 포트 3333이 원래 2222인 것을 확인합니다.

 

(6) NAT 장비는 NAT 테이블에서 검색한 목적지 IP 주소와 서비스 포트로 패킷을 PC로 전달합니다. PC는 NAT 장비에서 변환된 패킷을 받아 서버와의 통신이 가능해집니다.

 

 

 

 

 

3. 차이점

 

PAT의 동작 방식은 NAT의 동작 방식과 거의 비슷하지만, PAT는 IP 주소와 서비스 포트까지 모두 함께 NAT 테이블에 저장하여 하나의 공인 IP와 서비스 포트 번호를 이용해 사용자를 구분할 수 있습니다. 하지만 서비스 포트의 개수는 제한적이기 때문에 모두 사용 중일 때는 PAT를 사용할 수 없습니다.

 

PAT는 여러 개의 IP가 있는 출발지에서 목적지로 갈 때 NAT 테이블이 생성되고 응답에 대해 NAT 테이블을 검색하여 돌아갈 수 있지만 PAT IP가 목적지일 때는 응답하는 패킷이 어디로 돌아가야 하는지 확인할 수 있는 NAT 테이블이 없기 때문에 사용이 불가합니다.

 

 

 

 

지금까지 NAT와 PAT에 대한 예제를 통해 패킷이 어떻게 변경되고 통신하는지 알아보았습니다.

앞으로도 알찬 공부 거리 포스팅으로 또 찾아오도록 하겠습니다!

 

 

728x90
반응형
LIST