두 가지 이유가 있습니다.
(1) 첫째, 더 간단한 엔드 투 엔드 연결 입니다. 원본과 대상에 모두 공용 IPv4 (또는 물론 IPv6) 주소가 있으면 언제 어디서나 서로 연결할 수 있습니다.
192.168.0.52
그러나 사설 IP 를 사용 하는 IoT는 NAT ONLY 만 사용하여 원하는 경우 인터넷의 모든 공용 IP에 연결할 수 있지만 나머지 인터넷은 연결할 수 없습니다. DNAT 및 uPNP 와 같은 kludges 는 일부 들어오는 연결이 활성화되도록 지정하는 데 사용되었지만 IPv4 부족으로 인해 CGNAT 구현으로 인해 점점 더 많이 끊어지고 있습니다 .
이 문제에 대한 일반적인 (소위) "해결책"은 모든 (NATed) 장치가 공용 IP (일반적으로 장치 제조업체에서 호스팅)를 사용하여 중앙 위치에 연결하는 것입니다. 이것은 기술적으로 작동하지만 개인 정보 보호 문제 (귀하의 IoT에서 모든 데이터를 제공함), 보안 문제 (당신이 광범위하게 개방되어 있기 때문에 위반 또는 불만이있는 직원은 IoT 장치가 수행하고 액세스 할 수있는 모든 것을 할 수 있습니다) ) 및 안정성 문제 (제조업체가 사업을 중단하거나 구형 장치 지원을 중단하거나 중단이 발생하기로 결정한 경우) 완벽하게 작동하는 모든 장치의 작동이 중지됩니다.
(2) 두 번째 문제는 앞으로 1 년에서 2 년이 아니라 여전히 언젠가는 나가는 연결조차도 작동을 멈추게된다는 것입니다 .
NAT는 개인 주소 192.168.0.52
가 인터넷에 크게 도달하는 것을 허용하기 때문 입니다. 소스 주소 192.168.0.52
를 라우터의 공용 IP 로 변경 하면 풀에서 사용 가능한 소스 포트로 바뀝니다.
예를 들어, 수 있습니다 첫 번째 연결 192.168.0.52:1000
수 있습니다 (CG)의 -NATed (공용 IP)에 198.51.100.1:1000
, 그리고 이웃 192.168.0.77:1000
에 신도를 얻을 수 있습니다 198.51.100.1:1001
. 192.168.0.52:1001
그런 다음 두 번째 연결은 NAT로 연결 됩니다 198.51.100.1:1002
.
문제는 웹 페이지를 여는 것과 같은 간단한 것조차도 수십 개의 연결을 열고 수십 개의 포트를 사용한다는 것입니다 (DNS 쿼리, 다른 요소에 대한 HTTP (S) 연결, 다른 사이트의 JS 분석 등).
토렌트 클라이언트와 같은보다 비싼 프로그램은 수천 개의 포트를 쉽게 사용할 수 있습니다 . 또한 모든 IP에 65535 개의 포트만 사용할 수 있습니다.
즉, 동일한 CGNAT IP를 공유하는 여러 이웃이 더 큰 연결 공유를 사용하고 (더 많은 IoT가 더 많은 연결을 의미 함) 갑자기 해당 공용 IP 198.51.100.1의 모든 65535 포트가 사용됩니다. 이는 귀하와 귀하의 이웃을 위해 새로운 연결을 구축 할 수 없음을 의미합니다. 더 큰 규모의 사람들은 많은 사람들이 IoT에서 삭감되고 문명이 무너지는 문명을 의미합니다 :-)
가능한 한이 문명 붕괴를 지연시키고 자하므로 대신 IPv6으로 전환하고 있습니다. 가능한 경우 IPv6 을 사용 하여이 문명의 존재를 계속 지원 하십시오 . 감사!