2024. 6. 7. 13:28ㆍLinux*security/Network
NAT(Network Address Translation)는 하나의 공인 IP 주소를 통해 여러 사설 IP 주소를 인터넷에 연결하여 공인 IP 주소의 부족 문제를 해결하고 하나의 공인 IP 주소로 여러 장치가 인터넷에 연결될 수 있다. 내부 네트워크의 사설 IP 주소를 외부 네트워크(인터넷)의 공인 IP 주소로 변환하여 사설 네트워크의 장치들이 공인 IP 주소를 통해 인터넷에 접근할 수 있게 한다. 외부에서 내부 네트워크의 구조와 IP 주소를 숨겨 보안성을 높이고 외부 장치는 NAT를 통해 내부 네트워크의 실제 IP 주소를 알 수 없다.
□ NAT의 유형
1. 정적 NAT (Static NAT):
- 하나의 사설 IP 주소를 하나의 공인 IP 주소와 1:1로 매핑한다. 주로 특정 서버나 장치가 항상 동일한 공인 IP 주소로 접근될 필요가 있을 때 사용된다.
2. 동적 NAT (Dynamic NAT):
- 내부 네트워크의 사설 IP 주소를 외부 네트워크의 공인 IP 주소 풀(pool) 중에서 하나로 동적으로 매핑한다. 내부 장치가 인터넷에 접근할 때마다 사용 가능한 공인 IP 주소를 할당받다.
3. PAT (Port Address Translation) / 오버로딩:
- 다수의 사설 IP 주소를 하나의 공인 IP 주소로 매핑하고, 포트 번호를 사용하여 트래픽을 구분한다. 가장 널리 사용되는 NAT 유형으로, 다수의 장치가 하나의 공인 IP 주소를 통해 인터넷에 접근할 수 있게 한다.
□ 동작 원리
- 내부 네트워크의 장치가 인터넷으로 패킷을 보낼 때, NAT 장치는 이 패킷의 출발 IP 주소를 사설 IP 주소에서 공인 IP 주소로 변환하고 포트 번호를 추가로 사용하여 트래픽을 구분한다. 예를 들어, 192.168.1.10:12345에서 나가는 패킷이 203.0.113.5:54321로 변환된다.
- 외부 네트워크에서 들어오는 응답 패킷은 NAT 장치에 도달하면, 이 패킷의 목적지 IP 주소를 공인 IP 주소에서 사설 IP 주소로 변환하고 포트 번호를 사용하여 어느 내부 장치로 패킷을 전달할지 결정한다. 예를 들어, 203.0.113.5:54321으로 들어온 패킷이 192.168.1.10:12345로 변환된다.
■ eg.
내부 장치가 웹사이트에 접근할 때:
- 내부 장치(예: 192.168.1.2)가 웹사이트(예: 198.51.100.5)에 접근하려고 할 때, NAT는 192.168.1.2의 사설 IP 주소를 공인 IP 주소(예: 203.0.113.5)로 변환한다.
- 웹사이트에서 응답이 돌아올 때, NAT는 이 응답 패킷의 목적지 IP 주소를 203.0.113.5에서 192.168.1.2로 변환하여 내부 장치로 전달한다.
여러 장치가 동시에 인터넷에 접근할 때:
- 여러 내부 장치가 동시에 인터넷에 접근할 경우, NAT는 각 장치의 패킷에 대해 고유한 포트 번호를 사용하여 트래픽을 구분한다.
- 예를 들어, 192.168.1.2와 192.168.1.3이 동시에 인터넷에 접근하면, NAT는 각각의 출발 패킷에 대해 서로 다른 포트 번호를 할당한다(예: 192.168.1.2:12345는 203.0.113.5:54321로, 192.168.1.3:12346은 203.0.113.5:54322로 변환).
'Linux*security > Network' 카테고리의 다른 글
비밀키(대칭키), 공유키(비대칭, 공개키) (0) | 2024.06.26 |
---|---|
IPv6 (0) | 2024.06.07 |
IPv4 (0) | 2024.06.07 |
네트워트 장비 종류, 특징 (0) | 2024.06.07 |
대칭키 & 비대칭키의 이해 (0) | 2024.04.10 |