개요
- 우리집 공유기 IP주소를 외부에서 받고 포트포워딩을 시키려고하다가, 계속 안되다가 우리 네트워크 환경이 위와같다고 하여 공부해보자
- Carrier-grade NAT
IPv4 Shared Address Space란?
- 우선 NAT444나 CGNAT을 이해하기 위해서는 IPv4 Shared Address Space에 대해 알아야한다
Ipv4 Shared Address Space는 통신사 CGNAT의 적절한 작동을 보장하고, 이를 통해 마지막 남은 IPv4주소에 대한 수요를 완화하기 위해 Prefix/10 크기의 Ipv4주소 블록을 IANA(Internet Assgined Numbers Authority)에 의해 할당되어 공유 주소 공간으로 사용했다.
이 주소블록은 특히 CGNAT를 구현하는 ISP가 CPE를 핵심 라우터에 연결하기 위해 사용하도록 의도 되었다.
ISP는 사용 가능한 전역 고유 Ipv4 주소의 빠르게 삭제되는 풀에서 고유 주소를 사용하는 대신 이를 위해
100.64.0.0/10의 주소를 사용한다.
CPE와 ISP의 라우터사이의 네트워크는 각 ISP의 전용이기 때문에, 모든 ISP는 이 주소를 블록으로 공유 할 수 있다
NAT444란?
- 아래의 아키텍처를 보면 쉽게 이해할수있다
단일 Public IPv4 주소를 공유하는 ISP 전용 외부 IPv4 주소와 동일한 내부 Ipv4 주소 공간을
모두 사용하는 3개의 고객 네트워크가 있는 NAT444 (사설, 사설, 퍼블릭) 배포를 보여준다

CGNAT란?
- 보통 CGNAT은 ISP업체에서 많이 사용하는 NAT기술이다
- 이를 통해 ISP는 자체공용 IPv4 주소를 보존하고 서비스 제공 업체의 사설 Ipv4 네트워크를 통해 가입자의 트래픽을 처리하며 자체 사설 Ipv4 네트워크와 여러위치 또는 장치가 있는 가입자 또는 기업을 지원할 수 있다
일단 적으로 CGNAT는 NAT444 시나리오에서 사용된다
- 고객: 사설 IPv4에서 ISP 사설 Ipv4 네트워크 주소
- ISP: 개인 IPv4 네트워크 주소 - ISP 공용 IPv4 네트워크 주소, 인터넷 연결용
결국 나는 왜안되는가?
[인터넷]
↓
(공인 IPv4: 58.235.83.85)
↓
[S K T C G N A T]
│
↓
(사설 IPv4: 192.168.75.122)
↓
[너의 공유기] ← 여기서 포트포워딩을 하고 있음
(IP: 192.168.45.1)
↓
[너 PC: 192.168.45.14]
- CGNAT
- 공유 공인 IP를 여러 사용자에게 나눠주는 구조
- 그 결과 외부에서 들어오는 포트를 누구에게 보내야 하는지 알 수 없어서 포트 전달 x
- ex)
- 58.235.34.1 이라는 공인IP가 하나 존재하고
- 192.168.12.1 (다른 집 A컴퓨터)
- 192.168.12.2 (다른 집 B컴퓨터)
- 192.168.12.3 (다른 집 C컴퓨터)
- 내부에서 외부로 데이터를 요청
- 192.168.12.1 -> 58.235.12.1 문제없음
- 외부에서 내부로 데이터를 요청
- 58.235.12.1 -> ?
- 하나의 공인 IP에 여러개의 Private IP가 존재하기때문에, 어느 IP로 보내줘야할지 모름
- 따라서 포트를 붙여줘도 결국 IP를 특정할수없기때문에 불가
참조문헌