사설 IP는 IPv4 주소의 고갈 문제에 대한 솔루션 중 하나입니다.
10.0.0.0~10.255.255.255, 172.16.0.0~172.31.255.255.255, 192.168.0.0~198.168.255.255 구간은 사설 IP주소에 속합니다.
사설IP 주소 영역에 속하는 주소는 전 세계 모든 조직의 내부에서 공통적으로 사용하기 때문에 인터넷과 같은 공인 IP 주소 영역에서 절대 사용해서는 안 됩니다.
NAT(Network Address Translation)
- NAT는 외부에 노출된 IP와 실제 내부에서 사용되는 IP를 매핑시켜주는 기술을 말합니다.
- NAT는 Private IP(사설 IP)를 Public IP(공인 IP)로 변경하는데 필요한 주소 변환 서비스를 말합니다.
- NAT는 라우터(router) 등의 장비를 사용하여 다수의 사설 IP를 공인 IP 주소로 변환하는 기술을 말합니다.
패킷이 사설 IP 영역에서 공인 IP 영역으로 나갈 때 NAT 테이블이 만들어집니다. NAT 테이블은 일종의 열쇠입니다.
예를 들어 웹 서비스의 경우 Public IP 영역의 웹 서버를 향해 Private IP 영역에서 HTTP Request가 나가면서 NAT 테이블이 만들어지고 HTTP Reply 데이터가 NAT 테이블을 참고하여 들어올 수 있습니다. 그러나 Public IP 영역에서는 Private IP 영역의 웹 서버로 HTTP Request가 들어올 수 없습니다.
NAT 테이블, 즉 열쇠가 Public IP 영역에서 Private IP 영역으로 패킷이 들어올 때는 만들어지지 않고, 그렇다면 이미 만들어진 NAT 테이블을 추측해야 하는데 거의 불가능합니다. 따라서 일종의 보안 기능 생깁니다. 이와 같이 NAT는 주소 절약 외에 보안 기능을 가집니다.
PAT(Port Address Translation)
NAT 테이블에 4계층 헤더의 출발지 포트 번호를 포함해서 1개의 Public Address만으로 다수의 Private Address를 구분하기 때문에 필요한 Public Address의 수를 대폭 줄일 수 있으므로 사실 PAT를 많이 사용합니다. 이것은 NAT 테이블에서 4계층 헤더의 출발지 포트 번호를 포함하기 때문에 가능합니다.
서버로 향할때 PC가 랜덤하게 생성시킨 출발지 포트 번호는 거꾸로 서버에서 데이터를 가져올 때는 목적지 포트가 됩니다. 이 목적지 포트 번호가 무엇인지에 따라 다른 Private IP로 매핑되기 때문에 1개의 Public Address만 있어도 됩니다.
참고문헌
Big Network Design (모듈별 이해와 통합에 기초한)
'네트워크' 카테고리의 다른 글
로드 밸런서(Load Balancer)란 무엇인가? (0) | 2024.03.26 |
---|---|
L4 스위치 개념 정리 (0) | 2024.03.26 |
CDN 이란? (0) | 2024.03.25 |