관리 메뉴

FU11M00N

[Network] NAT와 PAT 본문

Network

[Network] NAT와 PAT

호IT 2020. 11. 10. 12:34

- NAT(Network Address Translation)

네트워크 주소 변환

 

• 내부의 주소가 라우터를 통과할 때 출발지(목적지)의 주소를 변경하여 라우팅
• 외부의 주소가 라우터를 통과할 때 목적지의 주소를 변경하여 라우팅
• 사용자의 주소를 외부 네트워크에 공개하지 않음으로써 구현
• 내부 네트워크의 주소를 인터넷 망이나 공개된 네트워크로 광고하지 않음으로써
네트워크의 존재를 외부로부터 분리

 

- 기본 동작원리

 내부 네트워크를 광고하지 않는 대신 라우터의 외부 IP는 공개(광고)됨

• 내부 호스트의 출발지 주소는 라우터에 의해서 라우터의 주소로 변경되어 외부로 전달

• 전달 받은 외부 사용자는 라우터의 IP를 출발지 사용자로 인식

• 외부 사용자는 출발지의 IP(200.1.2.100)를 목적지 IP로 응답을 보냄

 

• 내부 호스트나 외부 호스트가 NAT가 수행된다는 사실을 인지하지 못함

• 일반적으로 내부 호스트의 주소는 사설 IP를 사용하고, 라우터의 외부 인터페이스 주소로는 인터넷 공인 IP를 사용

 

 

- 라우터 IP 변환 

NAT 테이블

• NAT를 수행하는 장비는 내부 호스트 또는 외부 호스트의 주소를 변경했다면, 그 정보를 기록해야 함

• 양방향 통신을 위해서는 돌아오는 패킷을 위해서 NAT 정보를 유지해야 함

 

ex) 내부 사용자가 인터넷에 위치하는 웹 서버와의 통신 예제 

사용자 A(10.1.1.10) -> 웹서버 A(199.1.1.100)

사용자 B(10.1.1.20) -> 웹서버 B(199.2.2.200)

 

각 사용자의 IP는 라우터의 IP들로 변환 시 NAT테이블에 정보를 기록

• 내부의 사용자 IP는 각각 다른 라우터의 IP로 변환 

 

사용자 A (10.1.1.10) -> 라우터 (200.1.1.10) 으로

사용자 B (10.1.1.20) --> 라우터 (200.1.1.20) 으로

 

• 웹서버 A, B는 목적지 IP에 응답을 하고, 라우터는 목적지 IP를 라우팅 테이블에서 확인하여 내부의 IP로 변환한 후 전달

 

• 각 사용자 호스트 별로 1개씩의 외부 라우터 IP 사용

 

- 내부 사용자 패킷에서 NAT를 위한 외부 라우팅 IP가 부족할 경우

 

 사용 가능한 외부 IP보다 내부 사용자가 많은 경우

 

ex) 내부 호스트가 100명이고 NAT에서 사용할 수 있는 IP가 50개 하나의 외부 IP를 같이 사용하면 내부목적지를 정확하게 구분할 수 없기 때문에 통신할 수 없음, 50개의 사용자 PC만 외부로의 네트워크 사용 가능

 

 

 

- 그럼 항상 내부 사용자에 맞게 NAT IP가 필요할까?

  내부주소를 숨기기 위해서 너무 많은 cost 가 소모되지 않을까?

 

그래서 PAT(Port Address Translation)를 사용.

 

- PAT (Port Address Translation)

단 하나의 NAT IP로 수백~수천명 사용자의 요구를 충족시킴

 

• 4계층 포트 주소를 이용해서 NAT를 수행

• IP뿐만 아니라 4계층의 포트 주소까지 변경함

• NAT의 경우 IP만 변경하고 동일한 포트 번호를 사용 ex) 실제 인터넷 통신은 IP만이 아닌 Port(서비스)와 연관되어 있음(세션)

 

 

실제 IP 통신은 IP를 가진 시스템의 특정 포트 간 통신

 

• 실제는 200.1.1.1 <- -> 199.1.1.100 보다는

 

• 200.1.1.1:10000 <- -> 199.1.1.100:80 로 정의하는 것이 더 정확함

 

• 출발지의 포트번호를 변경하고 출발지 IP는 동일하게 유지

• 10.1.1.10:10000 -> 200.1.1.10:11000

• 10.1.1.20:10000 -> 200.1.1.10:12000 로 변경 전송

 

 

웹서버는 같은 주소(라우터)의 출발지로 응답을 함

 

• 라우터는 라우팅 테이블의 포트 번호를 확인하여 내부 IP와 포트로 변환

• 내부 호스트로 수신 가능함

 

'Network' 카테고리의 다른 글

[network] 시스코 액세스 리스트  (0) 2020.10.19
[Network] 네트워크 보안의 종류  (0) 2020.10.19
[NetWork]네트워크 공격 유형  (0) 2020.10.19
[Network]네트워크 발전과정  (1) 2020.04.19
Comments