NAT type

NAT TYPE

NAT type은 크게 Cone 과 Symmetric 두 개의 타입으로 나누어진다. 그리고 Cone type은 NAT 특성에 따라서 Full Cone, Restricted Cone, Port Restricted Cone 세 가지타입으로 구분할 수 있다.


Cone
  • Full Cone
  • Restricted Cone
  • Port Restricted Cone
Symmetric


Cone

  • Destination에 상관없이 없이 NAT의 external IP/Port 가 항상 동일하다.
  • NAT external address(ip:port)와 destination address 맵핑관계가 1:N 관계이다.
  • 1:N 형태이기 맵핑되기 때문에 "Cone" 이라는 Word를 사용한 것으로 보임.


Symmetric

  • Destination마다 NAT의 external IP/Port가 다르게 맵핑된다(external port가 달라짐)
  • NAT external address와 destination address 맵핑관계가 N:N 관계로 맵핑된다.
  • N:N 형태로 맵핑되기 때문에 "Symmetric"이라는 Word를 사용한 것으로 보임.






Full Cone



Restricted Cone


Port Restricted Cone



STUN 을 사용하여 NAT type 구분하는 방법




  • Test I
    • Binding Request 보낼때 change IP=0 change Port=0 으로 보낸다.
  • Test II
    • Binding Request 보낼때 change IP=1 change Port=1 으로 보낸다.
    • 동일한 External IP, Port에 다른 IP, Port의 외부 패킷이 들어올 수 있다면 Full Cone이다.
    • Test III
      • Binding Request 보낼때 change IP=0 change Port=1 으로 보낸다.
      • Dest의 IP는 동일한데 다른 Port로 패킷이 들어올 수 없다면 Port Restricted Type이다.
    • Test I'
      • Binding Request 보낼때 Test I의 Binding Response에 있는 Changed Address(STUN Server의 다른 주소)를 사용한다.
      • Test I의 Mapped Address(IP:Port)와 Test I'의 Mapped Address 비교하여 다르면 Symmetric type으로 판단한다.
      • Src IP, Port동일한 상태에서 Dest IP, Port만 변경하여 Binding Request보냈는데 Mapped-Address에 다른 External Port이면 Symmetric이다.





    댓글