NAT란?

박제구·2021년 3월 23일
0

Network

목록 보기
2/6
post-thumbnail

🧩 NAT 란?

Network Address Translation 의 약자로 라우터 등의 장비를 통해 다수의 private IP를 하나의 public IP로 변환하는 기술

-> 패킷이 외부로 나갈때 source IP address를 게이트웨이의 IP로 변환해서 보내고 들어올때 다시 destination IP address를 변환한다.

내부적으로 유니크한 IP 주소를 갖도록 할 수 있다.
-> IP 주소 고갈 문제를 해결할 수 있다, private IP 를 외부에서 알수 없기 때문에 보안성이 높다.


🧩 NAT의 동작

  1. source address 에 private IP주소를 설정하여(port# 포함 설정) 패킷을 보낸다.
  2. NAT router는 패킷의 source address를 라우터의 public IP로 변환하여 패킷을 보낸다.
    -> 이때, NAT translation table 에 매칭시킨 address를 저장해 둔다.
  3. public IP로 패킷이 도착한다.
  4. NAT router는 NAT translation table을 확인하고 destination address 에 해당하는 private IP address로 (port# 포함) 바꿔준다.

🧩 NAT의 문제점

  1. OSI 계층의 구조 침범

    네트워크 계층의 라우터는 IP header 까지 처리 되어야 하지만, NAT에서는 Port# 를 라우터가 처리한다.

  2. end-to-end 원칙 위반

    NAT에서는 네트워크 노드가 패킷을 수정 해버린다.

  3. 서버로의 전달

    private IP를 사용하는 클라이언트 입장에서는 패킷을 보낼 때, source IP address를 설정하여 보낼 수 있다. 하지만 서버의 입장에서는 외부의 클라이언트가 패킷을 보낼 방법이 없다.

해결책 
1. 정적 주소를 통해 구성 
2. Universal Plug and Play internet Gateway Device Protocol 으로 동적 매핑
3. Relaying - 중계 (Skype)

References


Computer Networking: A Top-Down Approach (6th Edition)

profile
안녕하세요!

0개의 댓글