사설망 (Private Network)
사설망은 사설 ip 주소를 사용하는 네트워크이다. 사설 ip 주소는 오직 사설망(내부망)에서만 사용이 가능하며 공인망(외부망)에서는 사용이 불가능하다. IPv4의 공인 ip 주소가 부족하니 오직 사설망에서만 사용가능한 주소인 사설 ip 주소를 사용하는 것이다. 공인 ip 주소가 전세계에서 유일해야한다면 사설 ip 주소는 사설망 안에서만 유일하면 된다.
사설 ip 주소 대역은 아래 표와 같이 정해져있다.
NAT (Network Address Translation)
IP 패킷의 ip 주소, 포트 번호를 변환시키면서 라우터를 통해 패킷을 주고받는 기술을 NAT이라 한다. 사설 ip 주소는 공인망에서 사용할수 없다. 그래서 NAT을 사용해 패킷이 공인망으로 나갈때 사설 ip 주소를 공인 ip 주소로 패킷이 사설망으로 들어올때 공인 ip 주소를 사설 ip 주소로 변환한다.
NAT은 다음과 같은 이유로 사용된다.
- IPv4의 주소 고갈 문제 해결 : NAT과 사설 ip도입을 통해 외부에 공개되는 서버는 공인 ip를 할당하고 외부에 공개되지 않는 호스트는 사설 ip를 할당함으로써 주소 고갈 문제를 일시적으로 해결한다.
- 보안 강화 : 내부망의 ip 주소를 변환해 통신하기 때문에 외부에서 내부망의 ip 주소 체계를 알아낼 수 없으며 내부망으로 요청 패킷에 대한 응답 패킷만 들어올 수 있기에 외부에서 내부로 요청 패킷을 보낼 수 없다. (주소의 변환과 역변환이 이뤄지기 때문)
- IP 주소 체계가 같은 두 개의 네트워크를 연결할 때 사설 ip 주소의 충돌을 막는다. 대외계 네트워크에서 주로 필요하다.
이렇듯 NAT은 많은 장점이 있지만 네트워크 구성을 어렵게 만드는 기술이기도 하다.
PAT 동작 과정
NAT의 종류는 다양하다. 그 중 PAT을 살펴보자. PAT은 여러개의 사설 ip를 한 개의 공인 ip로 변환하는 기술이다. ip 주소와 port 번호를 변환한다.
위 그림에서 A 호스트가 웹서버로 보낸 요청 패킷의 ip 주소는 2번과 같이 라우터의 NAT 정책에 따라 10.10.10.10 이라는 라우터의 공인 ip로 변환되어 외부망으로 나간다. 그런데 B 호스트도 웹서버로 요청 패킷을 보냈다고 가정해보자. 라우터는 목적지 ip가 10.10.10.10인 응답 패킷을 받을 텐데 A의 것인지 B의 것인지 알아내야 한다. 이때 NAT 테이블의 포트 번호를 보고 알아낸다. 포트 번호를 보고 응답 패킷이 누구의 것인지 구분할 수 있다.
NAT은 어떤 IP 주소를 변환하는지를 기준으로 두가지로 구분할 수 있다. 출발지 주소를 변경하는 NAT을 SNAT이라하며 목적지 주소를 변환하는 NAT을 DNAT이라한다. PAT은 SNAT에 속한다.
포트포워딩 (Port forwarding)
우리가 많이 사용하는 공유기에도 PAT이 사용된다. 공유기는 라우터 + NAT + DHCP 기능이 합쳐진 장비이다. SNAT으로 내부망을 구축한 경우 요청 패킷에 대한 응답 패킷만 받을 수 있다. 즉 외부에서 내부망으로 요청 패킷을 보낼 수 없다. 외부에서 내부망에 접속할 수 없기 때문이다. 만약 내부망에서 외부에 공개해야할 서버가 있다면 어떻게 해야할까? 이때 포트포워딩을 사용한다. 포트포워딩은 특정 Port를 가진 패킷을 규칙에 따라 특정 ip 주소(ip와 port)로 변환하는 NAT의 일종이다. 통상적으로 요청 패킷을 대상으로 포트포워딩을 한다. 즉 요청 패킷이 들어오면 포트 번호를 보고 요청 패킷을 내부망의 특정 기기에 전달(forwarding)한다. 아래 그림에서 공유기(라우터)는 포트포워딩 규칙을 통해 80 포트로 들어온 요청 패킷을 192.168.1.2:80으로 변환해 전달하는 걸 볼 수 있다. 대부분의 NAT 장비는 포트포워딩 기능을 지원한다.
'Computer Science > Network' 카테고리의 다른 글
[데이터통신 - 10] 전송 계층 (0) | 2022.09.07 |
---|---|
DMZ (0) | 2022.09.02 |
[데이터통신 - 9] 네트워크 계층 (2) (0) | 2022.08.17 |
[데이터통신 - 8] 네트워크 계층 (1) (0) | 2022.08.09 |
[데이터통신 - 7] 이더넷 (0) | 2022.08.08 |