NAT와 NAPT의 차이

private IP Address와 global IP Address를 변환하여 private IP Address가 할당된 컴퓨터가 인터넷에 접속할 수 있도록 하는 기술로 NAT와 NAPT(IP masquerade)가 있습니다. 😎 

NAT(Network Address Translation)


private IP Address가 할당된 클라이언트가 인터넷상의 어떤 서버에 액세스할 때에 NAT 라우터는 클라이언트의 private IP Address를 NAT가 가지고 있는 global IP Address로 변환하여 request를 전송합니다.
반대의 경우에는 서버에서 NAT의 response를 global IP Address로 전송하고 이를 받은 NAT 라우터는 클라이언트의 private IP Address로 변환하여 전송합니다.
이를 통해 private 네트워크상의 컴퓨터와 인터넷상의 서버가 통신할 수 있게됩니다. 단, NAT 는 global IP Address와 private를 1:1로 변환하기 때문에 동시에 여러 클라이언트가 액세스할 수 없습니다.

 

NAPT(Network Address Port Translation)


NAPT는 private IP Address와 포트번호까지 변환하는 기술을 말합니다.
private IP Address를 global IP Address로 변환할 때, private IP Address별로 다른 포트 번호를 변환합니다.
예를 들어 클라이언트 A에서는 포트번호 1500을, 클라이언트 B에서는 1600을 request한다고하면, 인터넷상의 서버에서는 NAPT의 global IP Address의 서로 다른 포트번호로 response를 보냅니다.
NAPT는 이 포트번호를 토대로 private IP Address로 변환할 수 있습니다.
이처럼 하나의 global IP Address에 여러 private IP Address를 변환할 수 있습니다.

 

리눅스에서 NAPT를 IP masquerade라 합니다.
masquerade는 가면무도회라는 의미로, 여러 가면을 쓴 패킷이 포트번호라는 가면을 쓰고 변환하는 모습을 가리킵니다.

 

About the author

bogn

View all posts

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다