한동안 STUN 프로토콜을 노이즈라고 크게 무시해왔는데, 여기저기서 계속 접하게 되고, 일반적인 사용성이 궁금합니다.
내가 올바르게 이해했다면 STUN은 가장 외부 NAT가 addr:port
매핑을 설정할 때 소스가 사용한 것보다 쌍에서 전송된 패킷을 허용하는 경우에만 유용합니다.
addr:port
나는 정상적인 NAT가 연결이 설정된 동일한 쌍의 백 패킷만 허용한다는 것을 명백히 망상적으로 이해했습니다 (종단점 종속 필터링). 이를 시행하지 않는 것은 그 자체로 심각한 보안 문제인 것 같습니다. 그 위에 전체 프로토콜과 RFC를 구축하는 것은 미친 것 같습니다.
질문:
- 엔드포인트 독립적 필터링만 수행하는 NAT가 정말 많습니까?
- 게으르고 뒤에 있는 시스템을 위험에 빠뜨리며 "p2p 친화적인" 기능에 대해 추가 $$를 청구하는 것 외에 NAT에서 엔드포인트 독립 필터링을 수행하는 데에는 어떤 타당한 이유가 있습니까?
답변1
NAT는 보안 기능으로 의도된 것이 아닙니다. IPv6이 완전히 배포될 때까지 임시방편으로 IPv4 주소 부족을 방지하기 위한 해킹입니다. 따라서 보안보다는 효용을 극대화하는 방식으로 구현하는 것이 합리적입니다.
따라서 NAT는 보안 장치로 사용되지 않기 때문에 질문 2번의 전제가 잘못되었습니다. 원격 엔드포인트를 항상 동일하게 적용하면 하나의 애플리케이션도 중단되는 경우 기술의 목표를 고려할 때 동일한 원격 엔드포인트를 적용하지 않는 것이 더 합리적이라고 생각합니다.
P2P IP 전화 통신(예: Skype)은 NAT에 구멍을 뚫는 기능이 없으면 제대로 작동하지 않는 합법적인 응용 프로그램의 주목할만한 예입니다. STUN 또는 NAT의 동작을 이용하는 유사한 기술을 사용하는 경우에도 마찬가지입니다. NAT:s 또는 UPnP와 같은 기술을 통해.