1. Static NAT (SNAT)
ㆍ명령어를 통해 사설 IP 주소와 공인 IP 주소가 수동으로 1:1 매핑된다.
ㆍ외부 호스트가 내부로의 연결을 시작할 수 있다.
ㆍPC1의 10.1.1.1은 항상 59.1.1.1로 대체된다.
ㆍPC 세 대가 추가되는 경우 공인 IP도 세 개가 필요하다.
ㆍ공인 IP의 서브넷이 /28이므로 최대 16개의 주소만 사용할 수 있다.
ㆍStatic NAT는 특정 내부 사설 IP가 특정 공용 IP에 항상 매핑되기 때문에 웹 서버, 메일 서버와 같이 외부에서 지속적으로 접속해야 하는 서비스에 유용하다.
2. Dynamic NAT
ㆍ동적 NAT는 미리 정의된 글로벌 IP Pool에서 로컬 주소와 글로벌 IP 주소간 동적으로 매핑한다.
ㆍNAT Pool의 크기는 인터넷에 액세스할 수 있는 내부 호스트의 최대 수를 정의한다.
ㆍ외부에서 내부로 직접 접근 불가
ㆍ트래픽이 전송될 때만 공인 IP가 사설 IP에 할당되고 세션이 종료되면 해제된다.
Dynamic 동작 순서
ㆍ1단계: 내부 호스트 PC2에서 외부(8.8.8.8)로 향하는 트래픽을 보낸다.
ㆍ2단계: 라우터는 Inside 인터페이스에서 패킷을 수신.
ㆍ3단계: 라우터는 NAT 구성에 따라 호스트의 IP를 NAT Pool에서 사용 가능한 첫 번째 공인 IP 주소에 매핑, PC2의 IP(10.1.1.2)와 NAT Pool에서 사용 가능한 첫 번째 공인 IP(59.1.1.1) 간에 1:1 매핑되어 NAT Table에 저장된다. 이후 테에블에서 항목이 삭제되면 공인 IP는 NAT Pool에 반환된다.
3. PAT(=NAPT)
ㆍNAT overload라고도 하며, 여러 사설 주소를 하나의 공인 IP 주소로 변환하여 여러 클라이언트의 TCP 세션을 한 클라이언트의 여러 TCP 세션처럼 보이게 한다. (클라이언트-서버 통신의 클라이언트에만 적용된다.)
각 연결에 다른 port 번호를 사용하여 외부 네트워크에 액세스할 수 있도록 한다.
ㆍ 1:N(포트 기반)
ㆍ대규모 사용자 환경에서 인터넷 접속을 위해 사용.
ㆍ외부에서 내부로 접근이 제한적 또는 불가.
호스트 10.1.1.1이 동일한 서버에 여러 TCP 연결을 하려면 다른 TCP 포트를 사용해야 한다.
ㆍ모든 TCP 세션은 한 쌍의 소켓 간에 이루어진다. 로컬 소켓과 우너격 소켓의 조합은 호스트가 각 연결에 대해 서로 다른 TCP 포트를 사용하기 때문에 고유하다.
세 개의 서로 다른 호스트가 동일한 서버에 단일 연결을 하는 경우
ㆍ각 호스트가 동일한 TCP 포트를 사용하고, IP 주소가 다르기 때문에 서버 관점에서는 세 개의 TCP 세션이 서로 다르다.