network address translation tutorial with examples
NAT (Network Address Translation) 란 무엇입니까?
이것에 명시 적 네트워킹 교육 자습서 시리즈 , 우리는 모뎀과 라우터의 차이점 이전 튜토리얼에서 자세히 설명합니다.
이 튜토리얼에서는 도입 필요성, 이점, 유형 및 구현 방법을 분석하여 NAT (Network Address Translation)의 개념을 탐색합니다.
컴퓨터 네트워킹 시스템에서 NAT는 IPv4 주소 공간이 고갈 될 때 복구 방법론으로 도입되었습니다.
학습 내용 :
NAT 란 무엇입니까?
NAT는 네트워크를 통해 대상 노드로 이동하는 동안 데이터 패킷의 IP 헤더에있는 네트워크 주소 데이터를 변경하여 단일 IP 주소 공간을 다른 IP 주소 공간으로 재 할당하는 프로세스입니다.
일반적으로 NAT는 라우터 또는 게이트웨이에서 작동하며 데이터가 다른 네트워크로 전송되기 전에 개인 주소를 등록 된 주소로 변환하여 두 네트워크를 서로 상호 연결합니다.
Shockwave Flash 개체가 설치되지 않았습니다. swf 파일 플레이어
NAT는 전체 내부 네트워크를 대신하여 하나의 IP 주소 만 공용 네트워크에 브로드 캐스트 할 수 있습니다. 이는 해당 솔로 주소 뒤에 사설 네트워크의 전체 IP 주소를 효율적으로 숨겨 보안 기능을 제공합니다.
따라서 NAT는 네트워킹 시스템에 대한 주소 변환 및 보안의 이중 기능을 제공합니다.
왜 NAT인가?
인터넷을 통해 PC와 웹 서버 간의 통신을위한 모든 네트워킹 시스템에서는 네트워크에서 연결하려는 PC 또는 네트워크 장치를 찾는 데 사용되는 32 비트 숫자 인 고유 한 IP 주소가 매번 필요합니다.
지난 수십 년 동안 우리가 IPV4 주소 지정 체계를 사용하는 동안 2 ^ 32는 통신 목적으로 장치에 43 억 개의 고유 주소를 할당 할 수 있다는 의미입니다. 그러나 실제로 사용 가능한 주소는 방송, 테스트 및 일부 예비 군사 목적으로 사용 되었기 때문에 일부가 면제 되었기 때문에 이보다 적습니다.
따라서 남은 주소는 약 32 억 개였습니다. 엄청난 숫자로 보이지만 홈 네트워크, 비즈니스 목적, 온라인 비디오 시청과 같은 모든 영역에서 인터넷 사용이 증가하고 있습니다. 공유 데이터 등. 주소는 거의 고갈되었습니다.
IPV4 주소 지정 체계의 이러한 제한에 대한 해결책은 주소 할당을위한 더 많은 옵션이있을 수 있도록 주소 지정 시스템을 다시 만드는 것입니다. 이것은 IPV6 주소 지정 체계를 도입하여 수행 할 수 있습니다.
그러나이를 구현하는 과정은 네트워킹 시스템의 전체 인프라를 변경해야하므로 몇 년이 걸렸습니다.
그 동안 NAT가 도입되어 모든 곳에 널리 배포되어 라우터와 같은 네트워크 장치가 인터넷과 개인 네트워크 사이에서 에이전트로 작동 할 수 있습니다. 고유 한 IP 주소를 사용하여 PC와 같은 전체 네트워크 장치 등급을 상징 할 수 있음을 의미합니다.
NAT 유형
# 1) 정적 NAT : 일대일 NAT라고도합니다. 이러한 종류의 NAT에서는 전체 네트워크 주소에서 IP 주소와 헤더 체크섬 만 변경됩니다. 이들은 주소 지정이 호환되지 않는 두 개의 고유 한 IP 네트워크의 상호 연결을 위해 구현됩니다.
( 영상 출처 )
# 2) 동적 NAT :이 유형의 NAT에서 등록되지 않은 사설망의 IP 매핑은 등록 된 IP 주소 클래스에서 등록 된 네트워크의 단일 IP 주소로 수행됩니다.
# 3) NAT 과부하 : 일대 다 NAT라고도하는 동적 NAT 유형이기도합니다.
이 유형의 NAT에서 네트워크를 통해 사설 네트워크에서 공용 네트워크로 이동하는 패킷은 인터넷이 데이터 패킷의 소스 주소를 변경하고 패킷이 공용 네트워크에서 사설 네트워크로 되돌아 갈 때를 의미합니다. 대상 IP 주소가 변경됩니다.
소스 또는 대상 외에도 패킷의 IP 주소는 변환의 모호함을 피하기 위해 각 데이터 패킷과 함께 수정되거나 다른 포트 번호를 갖습니다. 따라서이 포트 번호와 수정 된 IP 주소의 조합은 등록 된 사설 네트워크 IP와 매핑됩니다.
# 4) 겹치는 NAT : 때때로 네트워킹 시스템에서 내부 네트워크에서 사용하는 등록 된 IP 주소는 다른 네트워크에서도 사용 중이며 해당 네트워크의 등록 된 IP입니다.
따라서이 경우 라우터는 이러한 경우를 캡처하고 등록 된 고유 IP 주소로 교환 할 수 있도록 자체적으로 조회 테이블을 유지합니다.
NAT 라우터는 사설 네트워크에 대한 내부 및 외부 등록 IP 주소의 IP 주소를 변환합니다.
NAT는 어떻게 작동합니까?
작업을 진행하기 전에 NAT에서 사용되는 몇 가지 용어를 이해하겠습니다.
- 내부 현지 주소 : 사설망의 사설 IP 주소입니다.
- 내부 전역 주소 : 외부 망과 통신을 시작할 때 사설망의 호스트에 할당 된 등록 된 공인 IP 주소입니다.
- 외부 글로벌 주소 : 인터넷에서 호스트에 할당 된 등록 된 IP 주소입니다.
- 외부 현지 주소 : 공용 도메인에서 호스트에 할당 된 로컬 IP 주소입니다.
- 내부 네트워크 장치가 내부적으로 서로 통신하는 데 사용하는 주소를 내부 로컬 주소라고합니다.
- 내부 네트워크의 장치가 외부 네트워크 장치와 통신하는 데 사용하는 주소를 외부 로컬 주소라고합니다.
- 외부 네트워크 장치가 사설 네트워크의 장치와 통신하는 데 사용하는 주소는 내부 전역 주소입니다.
- 외부 장치가 서로 통신하는 데 사용하는 주소는 외부 전역 주소입니다.
- 어떤 조직이 네트워킹 시스템을 구축 할 때마다 인터넷 서비스 제공 업체는 IP 주소 풀을 할당합니다. 할당 된 주소 범위에는 내부 전역 주소라고하는 등록 된 고유 IP 주소가 포함됩니다.
- 등록되지 않은 개인 IP 주소 클래스는 NAT 라우터에 의해 배포되는 외부 로컬 주소와 스텁 도메인이라고도하는 LAN에서 사용되는 내부 로컬 주소로 구성됩니다.
- 외부 로컬 주소는 공용 네트워크에 대한 네트워크 장치의 고유 한 IP 주소를 변환하는 데 사용됩니다.
- LAN 네트워크에있는 대부분의 네트워크 장치는 통신을 위해 내부 로컬 주소를 사용하며 일반적으로 변환이 필요하지 않습니다. 이제 스텁 도메인의 장치가 다른 네트워크와 통신해야 할 때 패킷은 NAT 라우터를 통해 이동합니다.
- 이제 NAT 라우터는 라우팅 테이블에서 대상 주소에 대한 항목이 있는지 확인합니다. 그렇다면 패킷을 변환하고 주소 변환 테이블에 항목을 만듭니다. 주소를 찾을 수 없으면 패킷이 거부됩니다.
- 내부 전역 주소를 사용하여 라우터는 데이터 패킷을 대상으로 라우팅합니다.
- 이제 공용 네트워크의 PC와 같은 최종 호스트가 데이터 패킷을 사설 네트워크로 전달합니다. 이번에는 발신 주소가 전역 주소 외부에 있고 수신 주소는 내부 전역 주소 유형입니다.
- 다시 NAT 라우터는 변환 테이블을 조회하고 대상 주소가 테이블에 있는지 확인한 다음 IP를 해당 스텁 도메인에 플로팅합니다.
- 패킷의 내부 전역 주소를 내부 로컬 주소로 변환하고 대상 호스트 끝으로 전달합니다.
- 앞서 언급했듯이 NAT는 변환 목적으로 수정 된 IP 헤더 필드와 함께 TCP 또는 UDP 포트가있는 IP 패킷을 사용하는 TCP / IP 프로토콜 기능을 사용합니다.
따라서 IP 패킷의 헤더에는 다음 필드가 포함됩니다.
소스 주소 – 192.178.120.10과 같은 시작 호스트 PC의 IP 주소
소스 포트 – 포트 1020과 같이 초기 PC에서 할당 한 TCP 또는 UDP 포트 번호
목적지 주소 – 172.145.57.20과 같은 수신자 PC의 IP 주소
목적지 포트 – 4281과 같이 시작 호스트가 수신자 호스트에 요청한 TCP 또는 UDP 포트.
포트 번호 할당은 두 PC 간의 상관 관계에 고유 한 식별자가 있는지 확인하기 때문에 필요합니다.
NAT 예
아래 예에서 내부 호스트 (172.168.20.10)는 외부 세계와 통신을 원하며 대상 웹 서버 주소는 192.100.20.2입니다. 그런 다음 추가 통신을 위해 데이터 패킷을 네트워크의 NAT 사용 게이트웨이 라우터로 보냅니다.
게이트웨이 라우터는 패킷의 소스 IP 주소를 학습하고 패킷이 변환 조건을 충족하는지 표에서 조회합니다. 게이트웨이 라우터는 내부 네트워크 변환 목적으로 인증 호스트를 찾는 액세스 제어 목록 (ACL)을 유지합니다.
따라서 내부 로컬 IP 주소를 192.100.10.25 인 내부 글로벌 IP 주소로 변환합니다. 그런 다음이 변환을 NAT 테이블에 저장하고 게이트웨이 라우터가 패킷을 대상으로 라우팅합니다.
인터넷의 웹 서버가 요청으로 되돌아 가면 패킷은 라우터의 글로벌 IP 주소 192.100.10.25로 되돌아갑니다.
이제 게이트웨이 라우터는 NAT 테이블에서 다시 조회하여 전역 주소에 해당하는 변환 된 IP 주소를 찾습니다. 그런 다음 내부 로컬 주소로 변환 한 다음 데이터 패킷이 IP 주소 172.168.20.10의 호스트로 전달됩니다. 테이블에 일치하는 항목이 없으면 패킷이 삭제됩니다.
NAT 작동 방식 이미지 :
NAT 과부하 또는 포트 주소 변환
이것은 기본적으로 가정용 광대역 라우터에서 사설 네트워크의 등록되지 않은 IP 주소를 공용 도메인의 단독 등록 된 IP 주소에 매핑하는 데 사용됩니다.
포트 주소 변환은 고유 한 포트를 사용하여 등록되지 않은 여러 개인 IP 주소를 등록 된 공용 솔로 IP 주소로 플롯합니다. 홈 네트워크에서 수행되는 다양한 변환을 구별하기 위해 PAT는 내부 글로벌 IP 주소에 전용 포트 번호를 배포합니다.
홈 네트워크의 경우 호스트 PC가 인터넷에 액세스하려고 할 때 NAT 라우터가 포트 번호를 소스 IP 주소에 할당한다고 가정합니다.
인터넷을 사용하는 홈 네트워크의 한 인스턴스에 둘 이상의 PC가있을 수 있으므로 PAT는 클라이언트 PC가 인터넷에서 서버와 새 세션을 시작할 때마다 고유 한 포트 번호를 사용하도록 보장합니다.
이제 이에 대한 응답으로 라우터는 이제 대상 포트 번호로 바뀐 소스 포트 번호를 기반으로 데이터 패킷을 라우팅합니다. 이 전체 현상은 또한 클라이언트가 제기 한 요청에 대한 응답으로 패킷이 되돌려 짐에 따라 통신 세션의 보안을 보장합니다.
NAT 과부하 표
내부 로컬 IP 주소 | 내부 글로벌 IP 주소 | 외부 글로벌 IP 주소 | 외부 로컬 IP 주소 |
---|---|---|---|
10.20.10.2:1666 | 192.134.30.4:1666 | 192.134.20.2:80 | 192.134.20.2:80 |
10.20.10.3:2444 | 192.134.30.4:2444 | 192.134.40.3:80 | 192.134.40.3:80 |
위 그림에서 NAT 오버로드는 내부 글로벌 IP 주소의 배타적 소스 포트 번호를 사용하여 변환을 구별하는 것을 보여줍니다. 포트 번호 1666과 2444가 각각 데이터 패킷을 탐지하는 데 사용됩니다.
여기서 소스 주소는 표에 언급 된 내부 로컬 IP 주소이고 대상 주소는 HTTP를 통해 인터넷에 액세스 할 때 포트 번호가 80 인 외부 로컬 IP 주소입니다.
NAT 라우터 쪽에서 NAT 오버로드는 소스 주소를 위의 표에 표시된 내부 글로벌 IP 주소로 변경하며 대상 주소는 이제 외부 글로벌 IP 주소로 알려져 있습니다.
이중 NAT
이중 NAT는 사설 네트워크의 라우터와 같은 둘 이상의 네트워크 장치가 네트워크 주소 변환을 수행하는 상황입니다.
가장 간단한 예는 DSL 모뎀과 Wi-Fi 라우터가 각각 NAT가 활성화 된 네트워크에 연결된 경우입니다. Wi-Fi 라우터를 통해 공용 네트워크에 연결된 호스트 장치.
이 시나리오에서는 라우터가 DSL 모뎀의 네트워크 범위에서 제한된 개인 IP 주소를 가지고있는 동안 라우터에 자체 공용 IP 주소가 없기 때문에 PC가 인터넷에 액세스 할 수 없습니다.
이중 NAT 문제를 해결하는 방법
이중 NAT 문제를 해결하는 방법에는 여러 가지가 있지만 정확히 어떤 솔루션이 작동하는지는 네트워크 설정의 종류에 따라 다릅니다.
# 1) 브리지 모드에서 무선 라우터 설정 : 공유기의 웹 인터페이스로 이동하여 무선 공유기의 NAT 및 DHCP 기능을 수동으로 비활성화하는 것을 의미합니다.
모드가 브리지 모드로 알려져있을 때 두 기능이 모두 비활성화되면 포트 전달 구성 이중 NAT 문제를 해결하려면 모뎀의 기능을 사용하십시오.
아래 스크린 샷은 이중 NAT 문제를 극복하기 위해 라우터에서 브리지 모드를 활성화하는 것을 보여줍니다.
( 영상 출처 )
# 2) 라우터와 모뎀 사이에 PPPoE 연결 생성 : 이는 모든 ISP에서 지원하는 것은 아니지만 이중 NAT 문제를 처리하는 가장 좋은 방법 중 하나입니다. 라우터의 웹 인터페이스에서 WAN 설정으로 이동 한 다음 PPPoE를 선택하여 WAN 연결을 구성합니다. 이것은 모뎀의 NAT를 우회합니다.
# 3) 모뎀에서 DMZ 활성화 : 이렇게하면 DMZ 기능이있는 라우터를 인터넷에 직접 연결하고 NAT 라우터 IP, 방화벽 및 DHCP 연결 설정을 우회하여 장치가 라우터에서 값을 자동으로 가져옵니다.
단계는 다음과 같습니다.
- 먼저 라우터의 웹 인터페이스에 로그인하여 라우터의 WAN IP 주소를 찾으십시오.
- 이제 두 번째로 모뎀 관리 설정에 로그인하고 모뎀의 DMZ 설정에서 라우터의 WAN 주소를 IP 주소로 설정합니다. 이렇게하면 포트 전달이 활성화되고 트래픽이 설정된 클라이언트 호스트로 라우팅됩니다.
NAT 라우터
NAT 라우터는 로컬 네트워크에 대한 IP 주소 네트워크를 생성하고 해당 LAN 네트워크를 인터넷 인 공용 네트워크와 상호 연결합니다. 라우터가 실행하는 NAT는 라우터 후면 끝에있는 LAN 네트워크의 여러 PC 또는 호스트 장치가 WAN 네트워크, 즉 인터넷과 통신 할 수 있도록합니다.
NAT 라우터는 라우터가 솔로 IP 주소를 사용하는 솔로 호스트로 인터넷에 등장하기 때문에 가정용 및 소규모 산업에 사용됩니다. 이는 라우터의 로컬 네트워크에있는 PC에 동일한 시간 간격으로 단일 IP 주소가 할당된다는 사실을 효율적으로 전달합니다.
NAT 라우터 ( 영상 출처 )
NAT 라우터 고유 보안
NAT 라우터에는 네트워크에서 하드웨어 방화벽 장치로 작동하는이 기능이 있으며 네트워크에 해를 끼칠 수있는 원치 않는 비정상적인 트래픽으로부터 LAN 네트워크를 보호합니다.
따라서 인터넷과 사설 LAN 네트워크 사이의 필터 역할을하며 네트워크에 들어갈 권한이있는 트래픽 만 통과하도록 허용합니다.
어떻게 작동합니까? 라우터는 LAN 네트워크를 인터넷에 상호 연결하므로 LAN 네트워크에서 인터넷으로 전송되는 모든 데이터 패킷을 감시합니다. 라우터는 내부 연결 테이블을 자체적으로 유지하고 각 송신 패킷 대상 IP 및 할당 된 포트 번호를 저장합니다. 그 후 귀향 트래픽을 확인하기 위해 자체 IP 주소와 포트 번호를 패킷에 할당합니다.
마지막으로 현재 연결 테이블에 IP 주소 및 포트 번호와 함께 최종 데이터 패킷 정보를 저장합니다. 데이터 패킷이 인터넷에서 라우터에 도착하면 라우터는 테이블을 확인하여 LAN 네트워크에 필요한 패킷이 도착한 현재 연결 테이블에서이를 검사합니다.
동등한 IP 주소와 포트 번호를 찾으면 LAN 네트워크의 대상 PC로 보냅니다. 일치하는 항목이 없으면 라우터는 데이터 패킷을 버리고 원하지 않는 트래픽으로 태그를 지정합니다.
이러한 방식으로 NAT 라우터는 외부 네트워크와의 연결을 보호하며 LAN 네트워크에 하나의 장치 만 연결된 경우에도 보호합니다. 따라서 네트워크에 구성된 NAT 라우터를 사용하면 웜과 악성 바이러스가 네트워크에 해를 끼칠 수 없습니다.
NAT 라우터 보안 기능
NAT 장점 :
- IP 주소를 관리하고 재사용함으로써 NAT는 IPV4 주소 지정 체계의 고갈을 방지 할 수 있습니다.
- 외부 네트워크의 소스 및 대상 IP 주소의 보안을 유지하여 외부 세계의 사설 네트워크에 보안을 제공합니다.
- 유연한 네트워킹 시스템을 제공합니다.
- NAT를 사용하는 사설 네트워크 조직은 공용 인터페이스의 서비스 제공자에 관계없이 내부 네트워크를 구축하기 위해 선택한 IP 범위를 사용할 수 있습니다.
NAT의 한계 :
- NAT는 모든 들어오고 나가는 데이터 패킷을 검사하여 연결 테이블과 프로세서 메모리의 다른 데이터 레코드를 유지하므로 전체 프로세스에 막대한 용량의 스토리지와 시간이 필요합니다.
- 모든 네트워크 장치와 네트워킹 시스템은 NAT 기술과 호환되지 않으므로 모든 시나리오에서 모든 곳에서 작동하지 않습니다.
- NAT 프로세스 중에 장치의 IP 주소가 여러 번 변경되어 네트워크 구성 요소의 종단 간 IP 도달 가능성을 추적하기가 매우 어려워지는 경우가 있습니다.
- NAT는 통신 시스템에서 예기치 않은 지연을 유발합니다.
NAT에 권장되는 보안 프로토콜 : NAT에 특별히 사용 된 프로토콜 세트는 없습니다. 그러나 번역은 인터넷 프로토콜 (IP) 제품군에 따라 이루어집니다. 또한 TCP 프로토콜은 라우터에서 NAT를 수행하는 동안 변환에 사용됩니다.
이러한 프로토콜 외에도 네트워크 시나리오에 따라 이전 자습서에서 이미 설명한 ICMP, UDP 및 IPSec과 같은 다른 프로토콜 집합이 사용됩니다.
결론
이 튜토리얼에서 우리는 컴퓨터 네트워킹 시스템에 네트워크 주소 변환 프로세스를 도입 한 이유와 그 중요성을 이해했습니다.
또한 다양한 예와 그림, NAT의 유형 및 작동 방식을 통해 배웠습니다.