공인 IP는 말그대로 외부에 공개가 되어있는 IP입니다. 때문에 각 호스트당 한개밖에 사용을 할수 없다고 하죠
이 말인즉슨 외부에는 공인IP를 찾아가기 위한 라우팅 경로가 항상 존재합니다. 때문에 제가 공인IP를 사용하고 있다고 하면 다른곳에서도 라우팅 경로를 통해 내 PC에 접속을 할수가 있죠. 그리고 제가 공인IP를 PC에 설정하고 사용한다고 하면 네이버에 접속한다고 할때 네이버까지 패킷이 도달했다가 다시 되돌아 와야 하는데 공인IP를 사용하기 때문에 라우팅 경로를 보고 제 PC를 다시 되찾아 올수가 있는 겁니다.
하지만 사설IP는 외부에 공개가 되지 않은 IP입니다. 이말은 외부에 라우팅 경로가 존재하지 않는다고 생각하시면 되십니다. 때문에 제가 사설IP를 사용하면서 외부로 인터넷을 할수 없는건 외부로 데이터가 나가지만 이 패킷이 되돌아올때는 라우팅 경로를 보고 찾아오는데 사설IP는 라우팅 경로가 존재하지 않으므로 출발지 IP까지 찾아오질 못합니다.(각각 라우터 사이에 시리얼 구간을 사설IP로 셋팅을 하는 경우도 있긴 있습니다.)
IPv4에서는 사설IP를 정해서 사용하고 있습니다. Class A는 10.0.0.0 ~ 10.255.255.255까지 이며 Class B는 172.16.0.0 ~ 172.31.255.255이며 Class C는 192.168.0.0 ~ 192.168.255.255입니다.
그럼 내부에서 사설IP를 사용중인데 인터넷이 되는건 무슨 이유일까요?
NAT라는 설정을 통해 가능합니다. 예를 들어 업체에서 VDSL을 사용하고 있다고 합니다. 각 인터넷 회선당 공인IP는 보통 한개가 부여가 되죠. 업체 내부에서는 사설IP를 사용하고 있다고 합니다. 만약 공유기나 기타 다른 GW장비를 사용하신다고 하면 내부에서 사용하는 사설IP는 외부로 나갈때는 NAT를 통해 인터넷 회선이 사용중인 IP로 매핑이 되서 나갑니다. (매핑이라는 표현보다는 NAT라는 표현이 더 낫겠지요.) NAT라는건 IP를 변환시켜주는 것을 의미합니다. NAT에서도 여러가지 방법이 있지만 지금같은 경우는 SNAT 또는 PNAT라고 하겠지요
즉, 업체에서 192.168.1.0/24 대역을 사용하고 있다고 합시다. 이건 사설IP이죠. VDSL에서 받아온 IP는 203.84.255.5라고 합니다. 그럼 내부에서 사용하는 사설IP들이 외부로 인터넷을 할때는 사내에 설치된 GW장비를 거치면서 VDSL에서 받아온 공인IP로 NAT되어 나간다는 겁니다. 외부로 데이터가 갔다가 VDSL까지는 공인IP이기 때문에 다시 되돌아 올수있겠죠, 그럼 GW장비에서는 그데이터를 받을거고 내부에서 사용중인 사설IP에 대한 라우팅 정보를 가지고 있으므로 패킷을 내부로 되돌려 줄수가 있겠죠 이렇게 해서 통신이 되는겁니다.
NAT가 IP를 변환하는건데 어떻게 많은 사설IP들이 IP하나로 나가도 문제가 없는건가요?
통신을 할때 포트를 사용하지 않습니까? TCP나 UDP포트를 사용하죠. 이 포트에도 여러가지 규칙을 정해놓았습니다. 예를들어 일반적으로 사용하는 FTP는 21번포트, HTTP는 tcp 80번포트등등 모두 정해놓았죠. 하지만 출발지에서 나가는 포트는 어떠한 포트를 나가더라도 상관이 없습니다. 목적지에 도달하는 포트만 정확하면 상관없죠. 예를들어 내부에서 http를 통해 네이버에 접속한다고 칩시다. 그럼 네이버에 접속할 포트는 tcp 80이 되겠지만 출발할때 포트는 1번이 될지 99번이 될지 4324가 될지 모른다는거죠. 하지만 상관이 없다는 겁니다. 목적지 포트만 확실하면 되는거니까요. GW장비에서 패킷을 확인해보면 내부 사설IP에서 출발하는 포트는 여러군데입니다. 하지만 목적지로 가는 포트들은 모두 80으로 확인이 되실거에요
'Programming > Network' 카테고리의 다른 글
Dead Reckoning (0) | 2015.02.07 |
---|---|
NAT (Network Address Translation) (0) | 2015.02.07 |
"온라인 게임서버 프로그래밍 벤치마크" 초간단 정리 (0) | 2015.02.07 |
최적의 스레드 수를 찾기 위한 시작점 (0) | 2015.02.07 |
OSI 7 Layer & TCP/IP 4 Layer (0) | 2015.02.07 |