Yozzang의 해킹일기 💻
article thumbnail
Published 2022. 4. 11. 00:45
NAT (Network Address Translation) Networking
728x90

이번 포스트에서는 NAT에 대해 다루도록 하겠습니다.

 

NAT 란?

: NAT는 사설 IP를 공인 IP로 변경거나 공인IP를 사설IP로 변경하기 위해 필요한 주소 변환 서비스입니다. IPv4주소 체계는 대략 총 40몇 억개의 IP주소를 표현할 수 있습니다. 보기에 많지만 실제로는 턱없이 부족하기 때문에 이와 같은 IP주소 고갈문제를 해결하기 위해 나타난 것이 바로 NAT라고 할 수도 있습니다.

 

NAT 예시 및 동작 과정 :

 

  1. Sour addr이 10.0.0.1이라는 사설 IP를 가진 노드 A가 Dest addr 128.119.40.186과 통신하고자 한다.
  2. 라우터에서는 Sour addr을 자신의 IP 주소인 138.76.29.7로 바꾼 다음에 통신을 요청한다.
  3. NAT translation 테이블을 채운다.
  4. 128.119.40.186에서는 통신 요청을 받고 Dest addr을 138.76.29.7(라우터)로 설정하여 회신한다.
  5. 라우터는 회신을 받고 다시 NAT translation 테이블을 참조하여 Dest addr 주소 10.0.0.1(노드 A)로 회신을 전달한다.
  6. 여기서 포트번호는 어플리케이션(노드)을 구분하기 위해 쓰인다.

NAT는 데이터그램의 Address와 포트를 바꾸어서 재전송하는 방식입니다. 데이터그램의 Address는 네트워크 계층의 헤더에 있지만 포트 번호는 네트워크가 아닌 전송 계층의 헤더에 있습니다. 그러나 라우터는 네트워크 계층의 장비이므로 NAT를 수행하기 위해서는 불가피하게 전송 계층에 접근하는 크로스레이어링을 하게 됩니다.

'Networking' 카테고리의 다른 글

ICMP & Traceroute  (0) 2022.04.13
DHCP (동적 호스트 구성 프로토콜)  (0) 2022.04.12
IP Address (IPv4)  (0) 2022.04.10
Network Layer (네트워크 계층)  (0) 2022.04.09
Network Core  (0) 2022.04.08
profile

Yozzang의 해킹일기 💻

@요짱

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!