NAT , NAT-PT

최수환·2022년 11월 9일
0

Network

목록 보기
1/3

지금까지 계속 AWS서비스와 관련된 포스팅을 하였다. 앞으로도 AWS관련 포스팅은 이어지지만 컴퓨터 네트워크에 대한 새로운 시리즈도 포스팅 할 것이다. 이번 포스팅은 컴퓨터 네트워크 시리즈의 첫번째 포스팅인 NAT, NAT-PT에 관련한 내용이다.

NAT (Network Address Translation)

  • NAT은 Private IP를 Public IP로 변경해주는 주소 변한 서비스이다. 즉, 라우터 등의 장비를 사용하여 다수의 Private IP를 하나의 Public IP주소로 변환하는 기술이다.
  • 다수의 변환하고자 정보에 대한 IP주소와 Port번호로 구성된 NAT Forwarding Table을 가지고 있고 이 Table을 보고 알맞게 주소 변환 서비스를 제공한다.

    위 그림에서 NAT Table은 세가지 특징이 있다.
    💡 첫째, 내부 네트워크에 위치한 호스트들의 Private IP와 포트 번호에 대한 정보를 가지고 있다.
    💡 둘째, 외부로 나갈 때의 동일한 Public IP와 각기 다른 포트 번호를 가지고 있다.
    💡 셋째, 목적지 주소와 Public IP와 서비스에 사용된 동일한 서비스 포트 번호를 가지고 있다. 즉, Public IP는 같으나 포트 번호를 다르게 할당하여 각각의 호스트를 구분 짓는 구조이다.

📌 예를 들어, 회사 대표 전화번호를 사용하면서 내선 번호를 지정한 것과 유사하다. 이를 통해 외부로 통신을 내보내고, 이에 대해 받은 네트워크 응답을 다시 호스트에 보내주는 것이다. Private IP를 사용하는 호스트들이 외부에서 봤을 때엔 같은 클라이언트 같지만 각각의 웹 서핑이 가능한 구조가 될 수 있다.

동작과정

위 그림을 예시로 , NAT의 동작의 순서를 설명해보자면
1)Private IP-192.168.1.1을 사용하는 호스트가 68.1.31.1에 접속을 원할 때
2)라우터는 NAT기술을 사용하여 이 요청에 Public IP-101.89.101.12와 포트 번호 8801을 할당한다.
3) 요청은 인터넷을 통해 텔넷 서버 – 68.1.31.1에 도달한다.
4) 텔넷 서버는 요청의 클라이언트 IP를 Public IP –101.89.101.12, 포트 8801로 인식하고 응답한다.
5) 텔넷 서버의 응답이 라우터에 도착하고, 라우터는 포트번호 8801을 응답 패킷에서 인식한다.
6) 라우터는 Private IP 192.168.1.1: 9688 호스트에 할당된 포트임을 NAT테이블에서 찾아 응답을 돌려준다.

사용이유

IPV4의 Public IP주소 절약

  • 여러 Private IP를 가진 여러 호스트가 Private Network에 접속해있을 때 인터넷에 접속하기 위해 Public IP를 호스트마다 배정해준다면 IP주소가 유한한 IPV4의 Public IP개수는 고갈 될 것이다.
  • 따라서 기업체 등에서 Private Network에 접속한 여러 개의 호스트가 하나의 Public IP를 사용하여 동시에 인터넷에 접속하게 한다면 훨씬 효율적으로 IP주소를 활용 할 수 있다.
  • 다만 여러명의 사용자가 동시에 접속하기 때문에 호스트가 많을수록 접속 속도도 느려질 수 있다. 하지만 성능이 좋을수록 대역폭만 줄어들고 체감되는 속도 저하는 꽤 적은 편이다.
  • IPV6(128비트)같은 경우는 IPV4(32비트)에 비해 사실상 IP개수가 무한에 가깝고 End-to-END연결을 이용하기 때문에 NAT기능이 필요없다. 물론 이것은 일반적인 경우고 IPV6도 로컬 유니캐스트 IP (Private IP랑 같은 개념)로 외부랑의 통신이 필요할때는 사용하기도 한다. 또한 아직까지는 IPV4가 대중적이기 때문에 여전히 NAT은 필수적이다.

보안 향상

  • 만약 기업체가 Public IP만을 사용하여 외부와 통신한다면, 외부에서 쉽게 접근할 수 있기 때문에 보안에 취약해진다.
  • 따라서 대부분의 인프라를 Private network에 배치한다. 내부 호스트들은 Private IP를 통해 내부적으로 통신 하지만 만약 데이터 업로드/업데이트/패치같은 작업을 해야 할 때 인터넷에 연결을 해야한다. NAT은 여러 Private IP를 하나의 Public IP뒤로 은닉시키는
    IP masquerading기법을 사용하여 외부 공격으로부터 내부 인터넷망을 지키면서도 원할 때는 외부 인터넷에 접속해 원하는 작업을 수행 할 수 있게 한다.

NAT-PT

NAT-PT는 PAT라고도 불리는데, NAT의 종류 중 Dynamic NAT의 유형이며 Public IP주소 1개에 Private IP주소 여러개를 매핑하는 것이다.

  • 변환된 IP주소로는 Private Network 호스트들을 구분할 수 없기 때문에 포트번호를 부여하여 구분한다. 대부분의 홈 network는 PAT를 사용하고 있다. ISP(Internet Service Provider)는 홈 Network 라우터에 하나의 Public IP주소를 할당한다.

📌 예시로 컴퓨터 A가 인터넷에 로그인하면 라우터는 Private IP주소에 포트 번호를 붙여서 유일한 주소를 할당한다. 이후 컴퓨터 B가 인터넷에 로그인하면 컴퓨터 A에게 할당한 똑같은 Private IP주소에 다른 포트 번호를 붙여서 유일한 주소를 또 만들어서 할당한다.

마치며

다음 포스팅에서는 IPV4와 IPV6를 연동시키는 기술들에 대해서 다루어 볼 예정이다.

profile
성실하게 열심히!

0개의 댓글