gpt4 book ai didi

nat - 以编程方式确定路由器 NAT 类型

转载 作者:行者123 更新时间:2023-12-05 01:34:28 31 4
gpt4 key购买 nike

我需要在我的程序中以编程方式确定路由器 NAT 类型。我确实查看了一些与 STUN 相关的答案和关于 SO 的 UPnP 相关信息。但没有得到任何确定的答案。

我查看了 STUN RFC (rfc 5389),它没有指定如何确定 NAT 类型。它确实提到它的先前版本(RFC 3489)确实提供了确定 NAT 类型的机制。但也提到

此外。经典的 STUN 用于分类 NAT 类型的算法被发现是错误的,因为许多 NAT 并没有完全适合那里定义的类型。

鉴于上述情况,您能否就我应该如何在我的软件中确定路由器 NAT 类型提出建议。此外,既然 RFC 3489 已经过时,还有其他方法吗?

提前致谢。

最佳答案

RFC 3489 被分成三个不同的 RFC:

RFC 5389 - 基本 STUN 协议(protocol)。 STUN 绑定(bind)请求和绑定(bind)响应的基本协议(protocol)与 RFC 3489 基本相同。协议(protocol) header 会使用一个魔术 cookie 更新,该 cookie 占据了一些事务 id 字段。一些 STUN 属性被重新定义。添加了一些新的(特别是 - XOR_MAPPED_ADDRESS)。对 STUN 身份验证的完成方式进行了一些更改。 NAT 行为和分类讨论移至 RFC 5780。

RFC 5780 - “使用 STUN 的 Nat 行为发现”。对 NAT 类型发现的基本更改是将 NAT 端口映射行为与 NAT 过滤行为区分开来。而 RFC 3489 将尝试将 NAT 分类为几个桶之一(“锥形”、“端口受限”、“对称”)——这对于描述 NAT 来说太笼统了。

RFC 5769 - 只是概述了几种不同 STUN 消息类型的十六进制转储的样子。

出于好奇,我想知道您的应用程序是否在 NAT 后面运行很有用。但是知道 NAT 的行为会如何影响您的代码路径呢?

无耻塞-使用my STUN Server code托管在 GitHub 上。

关于nat - 以编程方式确定路由器 NAT 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8602747/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com