NAT와 PAT란 무엇인가?
인터넷에 연결된 컴퓨터나 스마트폰은 데이터를 주고받기 위해 IP 주소를 사용합니다.
하지만 하나의 네트워크에 연결된 모든 장치가 각각 공인 IP 주소를 사용하는 것은 아닙니다.
가정이나 회사의 내부 네트워크에서는 일반적으로 사설 IP 주소를 사용하고, 인터넷과 통신할 때는 하나의 공인 IP 주소를 공유하는 방식이 많이 사용됩니다.
이때 사설 IP 주소와 공인 IP 주소 사이의 변환을 담당하는 대표적인 기술이 NAT(Network Address Translation)입니다.
그리고 NAT의 한 종류로 여러 개의 내부 장치가 하나의 공인 IP 주소를 공유하면서 인터넷에 연결할 수 있도록 하는 기술이 PAT(Port Address Translation)입니다.
간단하게 정리하면 다음과 같습니다.
NAT
→ IP 주소를 변환하는 기술
PAT
→ IP 주소와 포트 번호를 함께 변환하여 여러 장치가 하나의 공인 IP를 공유하는 기술
NAT는 왜 필요할까?
인터넷에서 사용하는 IPv4 주소는 개수가 제한되어 있습니다.
인터넷에 연결되는 장치가 계속 증가하면서 모든 장치에 공인 IPv4 주소를 하나씩 할당하는 것은 현실적으로 부담이 커졌습니다.
이를 해결하기 위해 내부 네트워크에서는 사설 IP 주소를 사용하고 인터넷으로 나갈 때 공인 IP 주소로 변환하는 방법이 사용됩니다.
예를 들어 가정에서 다음과 같은 네트워크를 사용할 수 있습니다.
PC 192.168.0.10
스마트폰 192.168.0.20
노트북 192.168.0.30
↓
공유기
↓
공인 IP 203.0.113.10
↓
인터넷
내부 장치들은 서로 다른 사설 IP를 사용하지만 인터넷으로 나갈 때는 공유기의 공인 IP를 통해 통신할 수 있습니다.
이 과정에서 NAT가 사용됩니다.
사설 IP와 공인 IP
NAT와 PAT를 이해하려면 사설 IP와 공인 IP의 차이를 먼저 알아야 합니다.
사설 IP(Private IP)는 내부 네트워크에서 사용하는 IP 주소입니다.
대표적으로 다음과 같은 주소 대역이 있습니다.
10.0.0.0 ~ 10.255.255.255
172.16.0.0 ~ 172.31.255.255
192.168.0.0 ~ 192.168.255.255
이러한 주소는 인터넷에서 직접 라우팅되는 공인 주소로 사용되지 않습니다.
반면 공인 IP(Public IP)는 인터넷에서 장치를 식별하기 위해 사용되는 주소입니다.
NAT는 내부 네트워크의 사설 IP와 외부 네트워크에서 사용하는 공인 IP 사이의 변환을 수행할 수 있습니다.
NAT의 기본 동작
NAT의 기본적인 동작을 간단하게 살펴보겠습니다.
내부 PC가 인터넷에 접속한다고 가정해 보겠습니다.
PC
192.168.0.10
↓
공유기
↓
203.0.113.10
↓
인터넷
PC가 웹 서버에 데이터를 보내면 공유기는 내부 PC의 사설 IP 주소를 확인합니다.
그리고 인터넷으로 데이터를 전달할 때 공인 IP 주소를 사용하도록 변환합니다.
변환 전
192.168.0.10
↓
웹 서버
변환 후
203.0.113.10
↓
웹 서버
웹 서버에서는 공인 IP 주소를 가진 장치에서 요청이 들어온 것으로 볼 수 있습니다.
PAT란 무엇인가?
PAT는 Port Address Translation의 약자입니다.
PAT는 NAT와 비슷하게 IP 주소를 변환하지만 포트 번호까지 함께 사용하여 여러 내부 장치를 하나의 공인 IP 주소로 구분할 수 있다는 특징이 있습니다.
예를 들어 내부에 PC와 스마트폰이 있다고 가정해 보겠습니다.
PC
192.168.0.10:5000
스마트폰
192.168.0.20:5001
두 장치가 모두 같은 공인 IP를 사용하더라도 포트 번호를 다르게 변환하면 각각의 통신을 구분할 수 있습니다.
PC
192.168.0.10:5000
↓
203.0.113.10:6000
스마트폰
192.168.0.20:5001
↓
203.0.113.10:6001
외부에서는 동일한 공인 IP 주소를 사용하지만 서로 다른 포트 번호를 통해 각각의 연결을 구분할 수 있습니다.
PAT가 필요한 이유
만약 여러 장치가 모두 하나의 공인 IP를 사용한다면 인터넷에서 돌아오는 데이터를 어떤 내부 장치에 전달해야 하는지 구분할 방법이 필요합니다.
이때 포트 번호를 사용할 수 있습니다.
예를 들어 다음과 같은 상황을 생각해 볼 수 있습니다.
PC
192.168.0.10:5000
↓
203.0.113.10:6000
스마트폰
192.168.0.20:5001
↓
203.0.113.10:6001
인터넷에서 203.0.113.10:6000으로 응답이 돌아오면 공유기는 해당 연결이 PC에서 발생한 것임을 확인하고 192.168.0.10:5000으로 전달할 수 있습니다.
반대로 203.0.113.10:6001로 응답이 돌아오면 스마트폰으로 전달할 수 있습니다.
이처럼 PAT는 포트 번호를 이용해 여러 연결을 구분합니다.
NAT와 PAT의 차이점
NAT와 PAT의 가장 큰 차이는 포트 번호를 함께 사용하느냐에 있습니다.
NAT는 기본적으로 IP 주소를 다른 IP 주소로 변환하는 기술입니다.
PAT는 IP 주소 변환에 포트 번호를 함께 활용합니다.
NAT
사설 IP
↓
공인 IP
PAT
사설 IP + 포트
↓
공인 IP + 포트
따라서 PAT를 사용하면 하나의 공인 IP 주소를 여러 내부 장치가 공유할 수 있습니다.
NAT의 종류
NAT는 여러 방식으로 구성할 수 있습니다.
대표적으로 다음과 같은 방식이 있습니다.
- 정적 NAT
- 동적 NAT
- PAT
각 방식은 IP 주소를 변환하는 방법에 차이가 있습니다.
정적 NAT란 무엇인가?
정적 NAT(Static NAT)는 내부 IP 주소와 외부 IP 주소를 일대일로 고정해서 연결하는 방식입니다.
예를 들어 다음과 같이 설정할 수 있습니다.
192.168.0.10
↕
203.0.113.10
내부의 특정 사설 IP가 항상 특정 공인 IP로 변환됩니다.
외부에서 내부의 특정 서버에 접근해야 하는 환경 등에서 활용할 수 있습니다.
다만 하나의 내부 장치에 하나의 공인 IP를 연결해야 하기 때문에 공인 IP 주소가 많이 필요할 수 있습니다.
동적 NAT란 무엇인가?
동적 NAT(Dynamic NAT)는 미리 준비된 공인 IP 주소 풀에서 필요한 주소를 동적으로 할당하여 변환하는 방식입니다.
예를 들어 공인 IP 주소가 여러 개 준비되어 있다고 가정해 보겠습니다.
공인 IP 풀
203.0.113.10
203.0.113.11
203.0.113.12
내부 장치가 외부 네트워크와 통신할 때 사용 가능한 공인 IP를 할당하여 변환할 수 있습니다.
다만 동시에 많은 장치가 외부 통신을 시도하면 사용할 수 있는 공인 IP가 부족할 수 있습니다.
PAT는 NAT의 한 종류일까?
일반적으로 PAT는 NAT의 한 형태로 이해할 수 있습니다.
NAT라는 넓은 개념 안에서 포트 번호를 이용해 여러 연결을 하나의 공인 IP로 변환하는 방식이 PAT입니다.
그래서 실제 네트워크 장비에서는 PAT를 NAT Overload라고 표현하기도 합니다.
NAT
├── 정적 NAT
├── 동적 NAT
└── PAT
즉, PAT는 NAT와 완전히 별개의 기술이라기보다 NAT를 확장한 방식 중 하나라고 이해하면 쉽습니다.
PAT의 동작 과정
PAT가 동작하는 과정을 조금 더 자세히 살펴보겠습니다.
내부 PC가 웹 서버에 접속한다고 가정하겠습니다.
내부 PC
192.168.0.10:5000
↓
공유기
↓
203.0.113.10:6000
↓
웹 서버
공유기는 다음과 같은 변환 정보를 관리할 수 있습니다.
내부 주소 외부 주소
192.168.0.10:5000 → 203.0.113.10:6000
192.168.0.20:5001 → 203.0.113.10:6001
192.168.0.30:5002 → 203.0.113.10:6002
웹 서버에서 응답이 돌아오면 공유기는 포트 번호를 확인하여 원래 내부 장치로 데이터를 전달합니다.
NAT 테이블이란?
NAT 또는 PAT를 사용하는 장비는 주소 변환 정보를 관리해야 합니다.
이러한 정보를 NAT 테이블 또는 변환 테이블이라고 합니다.
예를 들어 다음과 같은 형태로 구성될 수 있습니다.
내부 주소 변환 주소
192.168.0.10:5000 → 203.0.113.10:6000
192.168.0.20:5001 → 203.0.113.10:6001
192.168.0.30:5002 → 203.0.113.10:6002
이 정보를 이용하면 외부에서 돌아온 응답을 올바른 내부 장치로 전달할 수 있습니다.
NAT와 인터넷 연결
가정에서 사용하는 인터넷 공유기를 생각하면 NAT와 PAT의 개념을 쉽게 이해할 수 있습니다.
하나의 공유기에 PC, 스마트폰, 태블릿, TV 등이 동시에 연결될 수 있습니다.
PC ────────┐
스마트폰 ──┤
노트북 ────┤
TV ────────┤
↓
공유기
↓
공인 IP 하나
↓
인터넷
각 장치는 서로 다른 사설 IP 주소를 사용하지만 인터넷으로 나갈 때는 공유기의 공인 IP를 사용할 수 있습니다.
이 과정에서 PAT가 여러 연결을 포트 번호로 구분합니다.
NAT와 PAT의 장점
NAT와 PAT를 사용하면 여러 가지 장점이 있습니다.
첫째, IPv4 공인 IP 주소를 효율적으로 사용할 수 있습니다.
둘째, 여러 내부 장치가 하나의 공인 IP를 공유할 수 있습니다.
셋째, 내부 네트워크의 사설 IP 주소 구조를 외부에 직접 노출하지 않는 형태로 네트워크를 구성할 수 있습니다.
넷째, 내부 네트워크를 비교적 유연하게 구성할 수 있습니다.
특히 PAT는 하나의 공인 IPv4 주소를 여러 장치가 공유할 수 있기 때문에 가정이나 기업 네트워크에서 널리 활용됩니다.
NAT와 PAT의 한계
NAT와 PAT가 항상 장점만 가지고 있는 것은 아닙니다.
주소를 변환하는 과정에서 네트워크 장비가 연결 상태와 변환 정보를 관리해야 하기 때문에 네트워크 구조가 복잡해질 수 있습니다.
또한 외부에서 내부 장치로 직접 연결해야 하는 서비스에서는 추가적인 설정이 필요할 수 있습니다.
예를 들어 내부에 웹 서버를 운영하면서 외부 인터넷에서 해당 서버에 접근해야 한다면 포트 포워딩과 같은 설정을 사용할 수 있습니다.
포트 포워딩이란?
포트 포워딩(Port Forwarding)은 외부에서 특정 포트로 들어오는 연결을 내부의 특정 장치로 전달하는 기능입니다.
예를 들어 공유기의 공인 IP와 특정 포트로 들어온 요청을 내부 서버로 전달하도록 설정할 수 있습니다.
인터넷
↓
203.0.113.10:8080
↓
공유기
↓
192.168.0.100:80
이렇게 하면 외부 사용자가 공유기의 공인 IP와 특정 포트로 접속했을 때 내부 서버로 연결을 전달할 수 있습니다.
다만 외부에 포트를 공개하면 보안 위험이 증가할 수 있으므로 필요한 경우에만 적절한 보안 설정과 함께 사용하는 것이 중요합니다.
NAT와 PAT를 쉽게 이해하는 방법
NAT와 PAT는 회사 대표 전화번호와 내선 번호에 비유하면 이해하기 쉽습니다.
회사에는 하나의 대표 전화번호가 있지만 여러 직원이 각각 다른 내선 번호를 사용할 수 있습니다.
대표번호
02-1234-5678
↓
┌─────┼─────┐
101번 102번 103번
인터넷에서도 비슷한 구조를 만들 수 있습니다.
공인 IP
203.0.113.10
↓
┌─────┼─────┐
:6000 :6001 :6002
↓
내부 장치
공인 IP는 같더라도 포트 번호를 이용하면 각각의 통신을 구분할 수 있습니다.
이것이 PAT의 핵심 원리입니다.
NAT와 PAT 비교
NAT와 PAT의 차이를 간단하게 정리하면 다음과 같습니다.
NAT
IP 주소를 변환
사설 IP ↔ 공인 IP
PAT
IP 주소 + 포트 번호를 변환
여러 사설 IP → 하나의 공인 IP
특히 가정용 공유기에서 여러 장치가 동시에 인터넷을 사용하는 경우 PAT 방식이 대표적으로 활용됩니다.
결론
NAT(Network Address Translation)는 네트워크에서 IP 주소를 다른 IP 주소로 변환하는 기술입니다.
주로 내부 네트워크에서 사용하는 사설 IP 주소를 인터넷에서 사용할 수 있는 공인 IP 주소와 연결하는 데 활용됩니다.
PAT(Port Address Translation)는 NAT의 한 형태로, IP 주소뿐만 아니라 포트 번호까지 이용하여 여러 내부 장치가 하나의 공인 IP 주소를 공유할 수 있도록 하는 기술입니다.
예를 들어 가정의 PC와 스마트폰, 태블릿이 각각 다른 사설 IP를 사용하더라도 공유기의 하나의 공인 IP를 통해 동시에 인터넷에 연결할 수 있습니다.
이때 PAT는 포트 번호를 이용하여 각 장치의 통신을 구분합니다.
따라서 NAT와 PAT의 관계를 간단하게 정리하면 다음과 같습니다.
NAT
→ IP 주소를 변환하는 넓은 개념
PAT
→ IP 주소와 포트를 함께 변환하여 여러 장치가 하나의 공인 IP를 공유하는 방식
결국 NAT와 PAT는 IPv4 환경에서 제한된 공인 IP 주소를 효율적으로 사용하고 내부 네트워크의 여러 장치가 인터넷과 통신할 수 있도록 해주는 핵심적인 네트워크 기술이라고 할 수 있습니다.