Я загрузил оглушающего клиента с http://www.stunprotocol.org/ и попытался выяснить тип NAT по команде stunclient --mode full stun.stunprotocol.org --verbosity 9, и я получил ответ ниже.Относительно анализа типа nat
config.fBehaviorTest = true
config.fFilteringTest = true
config.timeoutSeconds = 0
config.uMaxAttempts = 0
config.addrServer = 52.86.10.164:3478
socketconfig.addrLocal = 0.0.0.0:0
Sending message to 52.86.10.164:3478
Got response (68 bytes) from 52.86.10.164:3478 on inter
Other address is 52.201.75.212:3479
Sending message to 52.201.75.212:3478
Got response (68 bytes) from 52.201.75.212:3478 on inte
Sending message to 52.201.75.212:3479
Continuing to wait for response...
Continuing to wait for response...
Continuing to wait for response...
Continuing to wait for response...
Continuing to wait for response...
Sending message to 52.201.75.212:3479
Continuing to wait for response...
Continuing to wait for response...
Continuing to wait for response...
Continuing to wait for response...
Continuing to wait for response...
Sending message to 52.86.10.164:3478
Continuing to wait for response...
Continuing to wait for response...
Continuing to wait for response...
Continuing to wait for response...
Continuing to wait for response...
Sending message to 52.86.10.164:3478
Continuing to wait for response...
Continuing to wait for response...
Continuing to wait for response...
Continuing to wait for response...
Continuing to wait for response...
Sending message to 52.86.10.164:3478
Continuing to wait for response...
Continuing to wait for response...
Continuing to wait for response...
Continuing to wait for response...
Continuing to wait for response...
Sending message to 52.86.10.164:3478
Continuing to wait for response...
Continuing to wait for response...
Continuing to wait for response...
Continuing to wait for response...
Continuing to wait for response...
Binding test: success
Local address: 10.64.60.58:58841
Mapped address: 125.19.34.60:24604
Behavior test: fail
Filtering test: success
Nat filtering: Address and Port Dependent Filtering
Я работаю в корпорации и, следовательно, по соображениям безопасности, типа NAT «адрес и порт Зависимая Filtering» кажется жизнеспособным.
Но как общее явление, мне кажется, что для одноранговых соединений в большинстве случаев тип NAT будет «Фильтр адресов и портов», поэтому для любой медиасвязи необходим сервер.
Однако поиск в google для webrtc показывает, что 90% одноранговой связи устанавливается через сам оглушающий сервер (путем пробивания отверстий и т. Д.). Это означает, что тип NAT в этом случае полностью поддерживается для установления соединения.
Есть ли у экспертов какие-либо мнения о анализе типа NAT, которые следует учитывать для обмена сообщениями со сверстниками?
Спасибо Selbie. Но как «52.201.75.212» stunserver может ответить от своего порта «3479» до его прослушивания? Если один из сетевых типов NAT является симметричным сетевым и другим сетевым типом NAT, является независимым от конечной точки сопоставлением, тогда все же возможно соединение P2P. Это то, что вы подразумеваете под своей линией: «это не значит, что вы не можете общаться с одноранговым узлом в другой сети. Если у него более корректный NAT с Endpoint Independent Mapping, тогда еще есть вероятность, что соединение P2P будет успешным», .. –
Сервер STUN всегда прослушивает оба порта (3478 и 3479) и на обоих IP-адресах. Поскольку симметричный NAT (такой как ваша корпоративная сеть) не имеет предсказуемого сопоставления портов, то неясно, будет ли адрес/порт, полученный из STUN, работать с IP-адресом партнера, пытающегося подключиться. NAT Peer должен быть не только Endpoint Ind, но и фильтрация, возможно, должна быть «Address Dependent» или лучше. – selbie