NAT

CH_Hwang·2022년 2월 23일
0

CS

목록 보기
10/10

NAT(Network Address Translation)

IP패킷에 있는 출발지 및 목적지의 IP주소와 TCP/UDP 포트 숫자 등을 바꿔 재기록하며 네트워크 트래픽을 주고받는 기술

Why?

  • IP 주소 절약

    • 하나의 public IP로 여러대의 호스트가 접속 가능.
  • 보안

    • 라우터 밖으로 나갈때는 Private IP 주소가 아닌 Public IP 주소가 나가기 때문에 공격자가 라우터 안에 있는 사설 IP 주소를 알기 어려움.

How?

  • 라우터를 통해 인터넷을 연결하여 웹서버에 요청을 보낼 때 다음과 같은 과정을 겪음
  1. 패킷 헤더에 출발지와 목적지의 주소를 기록

    • PC에서 출발
      출발지: 192.0.0.10
      목적지: 213.14.132.3
  2. 게이트웨이에서 외부로 나가는 패킷을 인지하면 출발지를 public ip로 변경

    출발지: 124.123.34.5
    목적지: 213.14.132.3

  • 이때 NAT table에 따로 기록하게됨
프로토콜사설IP주소출발지목적지
TCP192.0.0.10124.123.34.5213.14.132.3
  1. 웹서버에서 요청을 처리 후 response 패킷에 출발지와 목적지의 주소를 기록

    • 웹서버에서 출발
      출발지: 213.14.132.3
      목적지: 124.123.34.5
  2. 게이트웨이에서 받을 때 NAT table을 참조하여 최종목적지를 사설 ip 주소로 변경

    출발지: 213.14.132.3
    목적지: 192.0.0.10

이때 host가 여러개일 경우 게이트웨이(라우터)에서는 이를 구분하기위해 PAT(또는 NAPT) 방법을 이용한다.

PAT(Port Address Translation), NAPT(Network Address Port Translation)

기존 IP에서 Port가 추가되어 포트로 구분하는 것.

0개의 댓글