NAT TYPE
NAT type은 크게 Cone 과 Symmetric 두 개의 타입으로 나누어진다. 그리고 Cone type은 NAT 특성에 따라서 Full Cone, Restricted Cone, Port Restricted Cone 세 가지타입으로 구분할 수 있다.Cone
- Full Cone
- Restricted Cone
- Port Restricted Cone
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이다.
댓글
댓글 쓰기