5.1 NAT 소개
또 다른 매우 흥미로운 주제는 NAT입니다. NAT는 Network Address Translation 의 약자 이며 일반적으로 모든 라우터에 서비스로 존재합니다. 그래서 그것은 무엇이며 왜 필요합니까?
NAT는 로컬 네트워크를 예를 들어 인터넷과 같은 글로벌 네트워크에 연결할 수 있는 지점입니다.
이미 알고 있듯이 로컬 네트워크에서 모든 컴퓨터(및 네트워크에 연결된 기타 장치)에는 고유한 로컬 IP 주소가 있습니다. 그리고 인터넷에서 서버와 데이터를 교환하기 위해서는 우리 컴퓨터가 서버에 요청을 보내고 서버가 우리에게 응답을 보낼 수 있어야 합니다. 로컬 네트워크 외부에서 IP 주소를 알 수 없는 경우 응답을 어디로 보내야 합니까?
도널드 트럼프에게 종이 편지를 쓰고 있다고 상상해보십시오. 트럼프는 공인이고 유일한 사람입니다. 이것은 우리의 공개 서버입니다. 그리고 편지의 반송 주소로 Masha를 지정하십시오. 많이 으깨세요. 어떤 Masha에게 답변을 보내야 합니까?
그래서 당신은 트럼프에게 보내라는 엄격한 지시가 담긴 편지를 역시 공인인 워싱턴에 있는 지인에게 보냅니다. 친구가 편지를 받아 Trump에게 보내고 반송 주소로 워싱턴에 있는 자신의 주소를 제공합니다.
그런 다음 트럼프로부터 응답을 받은 후 지인이 귀하에게 전달합니다. IP 패킷도 마찬가지...
개인 IPv4 주소를 가진 장치가 로컬 네트워크 외부의 장치 및 리소스에 액세스할 수 있도록 하려면 먼저 개인 주소를 공용 공용 주소로 변경해야 합니다.
NAT는 개인 주소를 공용 주소로 변환합니다. 이렇게 하면 로컬 IP 주소가 있는 장치가 사설 네트워크 외부의 리소스에 액세스할 수 있습니다. 로컬 IP 주소와 결합된 NAT는 공용 IPv4 주소를 유지 관리하는 유용한 방법임이 입증되었습니다.
전 세계에는 80억 명의 사람들이 있고 전화, 노트북, 스마트 시계, 서버, 모든 스마트 장치 등 더 많은 네트워크 장치가 이미 있습니다. 그리고 IP 주소는 40억 개에 불과합니다. 예전에는 많은 것처럼 보였지만 인터넷의 급속한 성장과 함께 이것이 충분하지 않다는 것이 모든 사람에게 분명해졌습니다.
여기에서 NAT가 구출됩니다. 하나의 공용 IPv4 주소는 각각 로컬 IPv4 주소가 있는 수백, 심지어 수천 개의 장치에서 사용할 수 있습니다. NAT는 외부 네트워크에서 내부 IPv4 주소를 숨기기 때문에 네트워크에 어느 정도의 개인 정보 보호 및 보안을 추가하는 추가 이점이 있습니다.
5.2 NAT의 서브넷
LAN은 일반적으로 사설 IP 주소로 설계됩니다. 이들은 사설 서브넷 및 의 10.0.0.0/8
주소 입니다 172.16.0.0/12
. 192.168.0.0/16
이러한 IP 주소는 장치가 로컬로 통신할 수 있도록 조직이나 사이트에서 내부적으로 사용되며 인터넷에서 라우팅할 수 없습니다.
NAT 사용 라우터는 하나 이상의 유효한 공용 IPv4 주소로 구성할 수 있습니다. 이러한 공용 주소를 NAT 풀이라고 합니다.
내부 네트워크의 장치가 네트워크에서 외부로 트래픽을 보낼 때 NAT 지원 라우터는 장치의 내부 IP 주소를 NAT 풀의 공용 IP 주소로 변환합니다. 외부 장치에는 네트워크 안팎의 모든 트래픽이 공용 IP 주소를 갖는 것으로 나타납니다.
NAT 라우터는 일반적으로 Stub 네트워크의 가장자리에서 작동합니다. 스텁 네트워크는 네트워크 이론에서 나온 용어입니다. 스텁 네트워크는 이웃 네트워크에 대한 하나의 연결, 네트워크에서 하나의 입구 및 출구를 가지고 있습니다.
Stub 네트워크 내부의 장치가 네트워크 외부의 장치와 통신하려고 하면 패킷이 라우터로 전달되고 라우터는 NAT 프로세스를 수행하여 장치의 내부 개인 주소를 라우팅 가능한 공용 외부 주소로 변환합니다.
5.3 NAT 용어
네트워크 이론을 자세히 살펴보면 NAT는 변환할 서브넷 집합인 내부 네트워크입니다. 외부 네트워크는 다른 모든 네트워크를 의미합니다.
NAT를 사용할 때 IP 주소는 개인 네트워크에 있는지 또는 인터넷의 공용 네트워크에 있는지, 트래픽이 들어오는지 나가는지에 따라 다르게 지정됩니다.
NAT에는 네 가지 유형의 주소가 포함됩니다.
- 내부 로컬 주소 (Inside local address);
- 내부 글로벌 주소 (Inside global address);
- 외부 지역 주소 ;
- 외부 글로벌 주소 (Outside global address);
사용 중인 주소 유형을 결정할 때 NAT 용어는 항상 변환된 주소가 있는 장치의 관점에서 적용된다는 점을 기억하는 것이 중요합니다.
- 내부 주소 (Inside address) - NAT에 의해 변환되는 장치의 주소;
- 외부 주소 – 목적지 장치 주소;
- 로컬 주소는 네트워크에서 내부적으로 나타나는 모든 주소입니다.
- 글로벌 주소는 네트워크 외부에 나타나는 모든 주소입니다.
다이어그램 예제를 통해 이를 살펴보겠습니다.
왼쪽 그림의 컴퓨터는 내부 로컬( Inside local ) 주소를 가지고 192.168.1.5
있고, 웹 서버는 외부( outside ) 주소를 가지고 있다 208.141.17.4
. 컴퓨터에서 웹 서버의 전역 주소로 데이터 패킷을 보낼 때 PC의 내부 로컬( Inside local208.141.16.5
) 주소는 ( inside global )로 변환됩니다. 외부 장치 주소는 공용 IPv4 주소이므로 일반적으로 변환되지 않습니다.
컴퓨터에는 로컬 주소와 전역 주소의 두 가지 주소가 있고 웹 서버에는 동일한 공용 IP 주소가 있다는 점은 주목할 가치가 있습니다. 그의 관점에서 볼 때 컴퓨터에서 발생하는 트래픽은 내부 전역 주소에서 발생합니다 208.141.16.5
. NAT 라우터는 내부 네트워크와 외부 네트워크, 로컬 주소와 전역 주소 사이의 분리 지점입니다.
내부 및 외부 라는 용어는 로컬 및 글로벌 이라는 용어와 결합되어 특정 주소를 나타냅니다. 그림에서 라우터는 NAT를 제공하도록 구성되었으며 내부 호스트에 할당할 공용 주소 풀이 있습니다.
5.4 패킷 경로
이미 피곤하면 다음 강의로 이동하십시오. 여전히 관심이 있다면 웜홀 아래로 내려가는 것을 환영합니다.
아래 그림은 NAT 지원 라우터를 통해 내부 컴퓨터에서 외부 웹 서버로 트래픽이 전송되고 전송되고 다시 릴레이되는 방식을 보여줍니다.
라우터 NAT 테이블 | |||
---|---|---|---|
PC | 웹 서버 | ||
인디글로벌 | 인사이드 로컬 | 지역 외부 | 외부 글로벌 |
208.141.17.4 | 192.168.1.5 | 208.141.16.5 | 208.141.16.5 |
내부 로컬 주소 - 내부 네트워크에서 본 소스 주소입니다. 그림에서 주소는 192.168.1.5
컴퓨터에 할당됩니다. 이것은 내부 로컬 주소입니다.
내부 전역 주소 - 외부 네트워크에서 본 소스 주소입니다. 그림에서 컴퓨터의 트래픽이 의 웹 서버로 전송되면 208.141.17.4
라우터는 내부 로컬 주소(로컬 주소)를 내부 글로벌 주소(Inside global address)로 변환합니다. 이 경우 라우터는 IPv4 소스 주소를 에서 로 192.168.1.5
변경 합니다 208.141.16.5
.
외부 전역 주소 - 외부 네트워크에서 본 목적지의 주소. 이것은 인터넷의 호스트에 할당된 전역적으로 라우팅 가능한 IP 주소입니다. 다이어그램에서 웹 서버는 에서 사용할 수 있습니다 208.141.17.4
. 대부분의 경우 외부 로컬 주소와 외부 전역 주소는 동일합니다.
외부 로컬 주소 - 내부 네트워크에서 본 수신자의 주소입니다. 이 예에서 컴퓨터는 다음 위치에 있는 웹 서버로 트래픽을 보냅니다.208.141.17.4
이제 전체 패키지 경로를 살펴보겠습니다. 주소가 있는 컴퓨터가 192.168.1.5
웹 서버와 통신을 시도하고 있습니다 208.141.17.4
. 패킷이 NAT 사용 라우터에 도착하면 패킷의 대상 IP 주소를 읽어 패킷이 변환을 위해 지정된 기준과 일치하는지 확인합니다. 이 예에서 소스 주소는 기준과 일치하며 192.168.1.5
(로컬 주소 내부) 에서 208.141.16.5
(글로벌 주소 내부)로 변환됩니다.
라우터는 이 로컬-글로벌 주소 매핑을 NAT 테이블에 추가하고 변환된 소스 주소가 있는 패킷을 대상으로 보냅니다. 웹 서버는 PC의 내부 전역 주소( 208.141.16.5
)로 주소가 지정된 패킷으로 응답합니다.
라우터는 대상 주소가 있는 패킷을 수신 208.141.16.5
하고 NAT 테이블에서 해당 매핑 항목을 확인합니다. 208.141.16.5
이 정보를 사용하여 내부 전역 주소( )를 내부 로컬 주소( )로 다시 변환하면 192.168.1.5
패킷이 PC로 리디렉션됩니다.
5.5 NAT의 장단점
NAT 서비스는 어디에서나 사용되는 매우 강력한 솔루션입니다. NAT는 다음과 같은 많은 이점을 제공합니다 .
- NAT는 등록된 주소 체계를 유지하여 유연한 LAN 작동을 제공합니다. NAT를 사용하면 내부 호스트가 모든 외부 통신에 대해 하나의 공용 IP 주소를 공유할 수 있습니다. 이러한 유형의 구성에는 많은 내부 호스트를 지원하기 위해 매우 적은 수의 외부 주소가 필요합니다.
- NAT는 인터넷 연결의 유연성을 높입니다. 여러 풀, 백업 풀 및 부하 분산 풀을 구현하여 안정적인 공용 네트워크 연결을 제공할 수 있습니다.
- NAT는 네트워크의 내부 주소 체계에 일관성을 제공합니다. 사설 IP 주소와 NAT를 사용하지 않는 네트워크에서 일반 IP 주소 체계를 변경하려면 기존 네트워크의 모든 호스트를 리디렉션해야 합니다. 호스트 포워딩 비용은 상당할 수 있습니다. NAT를 사용하면 기존 IPv4 개인 주소 체계를 유지하면서 새로운 공용 주소 체계를 쉽게 변경할 수 있습니다. 이것은 조직이 공급자를 변경할 수 있으며 내부 고객을 변경할 필요가 없음을 의미합니다.
- NAT는 네트워크 보안을 제공합니다 . 사설 네트워크는 주소나 내부 토폴로지를 광고하지 않기 때문에 제어된 외부 액세스를 얻기 위해 NAT와 함께 사용할 때 합리적으로 안정적으로 유지됩니다. 그러나 NAT가 방화벽을 대체하지 않는다는 점을 이해해야 합니다.
그러나 NAT에는 몇 가지 단점이 있습니다 . 인터넷의 호스트가 개인 네트워크 내부의 실제 호스트가 아니라 NAT 지원 장치와 직접 통신하는 것처럼 보인다는 사실은 여러 가지 문제를 일으킵니다.
- NAT 사용의 단점 중 하나는 특히 VoIP와 같은 실시간 프로토콜의 경우 네트워크 성능과 관련이 있습니다. NAT는 패킷 헤더에 있는 각 IP 주소의 변환에 시간이 걸리기 때문에 스위칭 지연을 증가시킵니다.
- NAT 사용의 또 다른 단점은 종단 간 주소 지정이 손실된다는 것입니다. 많은 인터넷 프로토콜 및 응용 프로그램은 소스에서 대상까지 종단 간 주소 지정에 의존합니다. 일부 응용 프로그램은 NAT와 작동하지 않습니다. 정규화된 도메인 이름이 아닌 물리적 주소를 사용하는 응용 프로그램은 NAT 라우터를 통해 변환되는 대상에 도달하지 못합니다. 이는 고정 NAT 매핑을 구현하여 때때로 피할 수 있습니다.
- 종단 간 IPv4 추적도 손실됩니다. 여러 NAT 홉을 통해 여러 패킷 주소가 변경되는 패킷을 추적하기가 더 어려우므로 문제 해결이 어렵습니다.
- 또한 NAT를 사용하면 NAT가 IPsec 및 기타 터널링 프로토콜에서 수행하는 무결성 검사를 방해하는 헤더의 값을 변경하기 때문에 IPsec과 같은 터널링 프로토콜을 어렵게 만듭니다.
- 외부 네트워크에서 TCP 연결을 시작해야 하는 서비스 또는 UDP를 사용하는 것과 같은 상태 비저장 프로토콜이 중단될 수 있습니다. NAT 라우터가 이러한 프로토콜을 지원하도록 구성되지 않은 경우 들어오는 패킷이 대상에 도달할 수 없습니다.
GO TO FULL VERSION