본문 바로가기

MISC..

NAT의 종류

Asterisk 연재가 계속 되지 않은 점 양해 부탁드립니다.
IELTS 시험 핑계로 미루다보니 귀차니즘에 빠져서리...
빠른 시일내에 업뎃하기로 하고... 오늘은 NAT에 대해 간단한 글을 적을려고 합니다.
NAT에는 4가지 종류가 있고 각각이 어떻게 다른지 아시는 분은 패쑤하시면 될 듯...

이제 본론으로 들어가겠습니다.

NAT는 크게 Cone NAT와 Symmetric NAT로 나뉩니다.
다시 Cone NAT는 Full Cone, Restricted Cone, Port Restricted Cone으로 나뉩니다.

Cone NAT의 경우 내부망의 IP:Port에 대해 Destination에 관계없이 공유기의 외부 IP:Port가 변하지 않는다는 것이고 Symmetric NAT의 경우 Destination에 따라 다른 공유기의 외부 IP:Port를 가진다는 것입니다. 이해가 되시나요?

다시 풀어서 설명드리면,

Cone의 경우 내부망의 192.168.1.100:5060가 공인망의 sip.com:5060으로 트래픽을 보낼 때, 공유기의 1.1.1.1:12345로 매핑이 된다면 192.168.1.100:5060another.sip.com:5080으로 트래픽을 보내도 공유기에서는 1.1.1.1:12345로 매핑이 된다는 것입니다.
사용자 삽입 이미지

Symmetric의 경우 내부망의 192.168.1.100:5060가 공인망의 sip.com:5060으로 트래픽을 보낼 때, 공유기의 1.1.1.1:12345로 매핑이 되고 만약 다른 목적지인 another.sip.com:5080으로 트래픽을 보내면 공유기의 1.1.1.1:67890과 같은 다른 IP:Port로 매핑된다는 것입니다.
사용자 삽입 이미지
Cone NAT의 3가지의 경우 access-list를 생각하면 쉽게 이해가 됩니다.
(외부에서 공유기의 NAT Hole을 통해 들어오는 트래픽에 대해서,)
Full Cone의 경우 permit tcp/udp any host 192.168.1.100 eq 5060
Restricted Cone의 경우 permit tcp/udp host sip.com eq any host 192.168.1.100 eq 5060
Port Restricted Cone의 경우 permit tcp/udp host sip.com eq 5060 host 192.168.1.100 eq 5060
등의 체크를 해서 트래픽을 보내준다는 것입니다.
 
마지막으로 다시 정리하면....

Cone NAT의 경우 내부의 IP:Port에 대해 Destination에 관계없이 동일한 외부의 IP:Port로 매핑되고, Symmetric NAT의 경우 Destination에 따라 다른 외부의 IP:Port를 사용합니다.
Full Cone의 경우 들어오는 트래픽의 Source IP와 Port에 대해 검사없이 NAT Table의 Mapping대로 릴레이하고 Restricted는 IP만 체크하면 Port Restricted는 IP와 Port모두 체크 합니다.

그럼 왜 VoIP이나 P2P에서 NAT Traversal에 대해 골머리를 앓고 있는지, STUN은 왜 Symmetric NAT에 대해 지원이 안되는지, 왜 Skype는 UDP Relay Server를 써서 음성을 전달하는지 한번 곰곰히 생각해 보시기 바랍니다.

그럼 즐거운 하루 되세요.