NAT란?
-외부 네트워크에 알려진 것과 다른 IP 주소를 사용하는 내부 네트워크에서 IP 주소를 변환하는 것.
쉽게 말해 사설 IP대역을 쓰는 내부 네트워크의 사용자가 외부와 통신을 하려 할 때, 사용자의 사설 IP를 공인 IP로 변경해준다는 의미이다.
그렇다면 왜 NAT를 해야 할까?
NAT를 하는 이유에는 크게 두 가지의 이유가 있다
1) 공인 IP 개수의 부족
2) 외부로부터 내부망 보호 가능 (사설 IP대역은 인터넷 구간에서 라우팅이 불가능)
이처럼 NAT는 내부망에서 외부로 나갈 때 내부의 사설IP를 공인IP로 변경시켜 내보내준다.
하지만 이렇게만 하면 문제가 발생하게 되는데, 바로 외부에서 내부로 돌아올 때 내부망 사용자 중 누구에게 돌아와야 하는지 모르게 된다.
이를 해결하기 위해 PAT(Port Address Translation)이 있다.
PAT는 내부의 다수 IP 포트들을 공인IP의 포트로 변환한다.
ex) A가 통신을 하려 할 때 PAT는 잠깐만 A야! 포트 번호를 부여해줄게! 하며 포트번호를 부여한다.
이 부여된 포트번호는 그대로 기억되며 IP만 공인, 사설을 지나며 변경된다.
돌아올 때는 A에게 부여되었던 포트번호를 통해 내부망의 사용자 중 A에게 찾아오게 된다.
Static NAT ( 1:1 )
- 하나의 사설IP와 하나의 공인IP주소를 1:1로 맵핑한다.
- 외부에서 내부망으로 접속할 경우 공인IP를 통해서 접속이 가능하다.
- 외부는 내부 사설IP를 모르기 때문에 아이피 보안성을 보장받는다.
Dynamic NAT ( m:n )
- 여러개의 사설IP와 여러개의 공인IP주소를 m:n으로 맵핑한다.
- 대부분 공인IP가 사설IP의 개수보다 적을 경우에 사용한다.
- 사설IP주소는 여러개의 공인IP주소 중 사용되지 않고 있는 주소와 맵핑되어 사용된다.
PAT ( n:1 )
- 포트 번호를 사용하여 공인IP 하나와 맵핑한다.
- 여러 개의 사설IP들은 포트를 이용하여 하나의 공인IP를 통해 외부와 통신한다.
- 라우터에 사설IP와 포트 번호를 저장한 후 요청한 페이지로 전송한다.
LSNAT ( Load Sharing NAT ), ( 1:n )
- 하나의 외부 망 IP주소를 복수 개의 내부 망 IP주소에 대응시켜 외부 망에서 해당 IP주소를 목적지로 하는 모든 세션들을 할당된 각 내부망의 IP주소로 분산 변환한다.
'네트워크' 카테고리의 다른 글
네트워크 라우팅(Routing) (0) | 2020.07.29 |
---|---|
TCP와 UDP 정리 (0) | 2020.07.29 |
TCP 세션 연결 및 종료 (3-way handshake, 4-way handshake) (0) | 2020.07.29 |
ARP - 주소 결정 프로토콜 (0) | 2020.07.29 |
OSI 7 Layer, 네트워크 7계층 (0) | 2020.07.29 |