진짜 개발자
본문 바로가기

CS(Computer Science)/Network

Network - NAT란 ,PAT란

728x90

NAT(Network Address Translation)

- 내부에서 사용하는 사설IP를 외부로 나갈때 공인 IP로 변경

- 공인IP의 자원의 부족 문제의 해결방안

- ex) 공유기

(그림출처 - http://rednooby.tistory.com/25)



특징

- 내부에서 외부로의 통신은 가능하다

- 외부에서 내부로의 통신은 불가능하다


사설 IP 대역

1. A class (0.0.0.0 ~ 127.255.255.255)

사설 IP 대역 : 10.0.0.0 ~ 10.255.255.255


2. B class (128.0.0.0 ~ 191.255.255.255)

사설 IP 대역172.16.0.0 ~ 172.31.255.255


3. C class (192.0.0.0 ~ 223.255.255.255)

사설 IP 대역 192.168.0.0 ~ 192.168.255.255

 

장점

- 하나의 공인 IP로 여러개의 사설IP를 사용가능

- 직접적으로 공격을 할 방법이 없다 (보안 향상)


종류

1. Static NAT : 사설 IP 와 공인IP를 1:1 매핑

원리 

1. 내부->외부 : 출발지 IP(사설IP : 10.0.0.100)를 공인IP(155.4.12.5)로 변경

2. 외부->내부 : 목적지 IP(공인IP : 155.4.12.5)를 사설IP(10.0.0.100)로 변경


특징

- 3계층이외의  상위 계층(Transport, Application)등 의 데이터바뀌지 않는다.

- Stateless 특성 


문제점

- 외부 IP와 내부 IP의 개수가 같기 때문에 원초적인 문제를 해결하지 못한다(IP개수 부족)


사용처

- 서버에 역할이 많은 경우 일일이 포트포워딩을 해주어야하므로 이를 외부에서 직접 접근이 가능한 IP로 매핑 시킬 때


실습

1. Router1 Nat 


사설 IP 10.0.0.1 을 공인 IP 100.100.100.3 으로 맵핑하는 

nat 테이블을 생성한다.


interface fast 0/1 를 지정하여 해당 포트로 연결된 대역이 사설 네트워크 영역임을 알린다


interface fast 0/0 를 지정하여 해당 포트로 연결된 대역이 global 대역임을 알린다


2. Client Test



PC2 에서 사설 네트워크로(10.0.0.1) 접속 시도를 한다


NAT로 매핑된 100.100.100.3 으로는 접속이 가능함을 볼수 있다.



2. Dynamic NAT : 다수의 공인 IP와 다수의 사설 IP를 매핑



3. PAT or NAPT(Port Address Translation) : 1개의 공인 IP와 다수의 사설 IP 매핑


원리 

김인턴이 외부와 통신을 하기 위해서는 공인 IP가 필요하다 하지만 여러명의 사원들이 사설IP를 사용하고 있는 상황이다.


1. 내부 -> 외부

1) 김인턴은 192.168.0.2:60000 IP를 이용하여 외부에 서비스를 요청한다

2) 외부로 해당 패킷이 나가기전에 라우터에서 해당 IP를 120.160.10.123:60000 IP로 변환하여 내보낸다


2. 외부 -> 내부

1) 외부에서 내부의 김사원의 PC에 서비스를 요청하고 싶지만 해당 LAN구간에 할당된 공인IP는 1개이다 이때 PORT를 사용하여 사설 PC를 구분한다.

2) 외부에서 120.160.10.123 IP로 서비스를 요청하되 PORT를 60000으로 설정하여 보낸다

3) 라우터에서 120.160.10.123:60000 과 매핑된 사설 IP 192.169.0.2:60000 으로 패킷을 보낸다 (Port Forwarding)


실습