- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道在谈论 UDP 时“连接”这个词并不合适,但是......
服务器(具有已知 IP 的服务器)如何通过 Internet 将其 UDP 数据包发送到位于 NAT 后面的客户端?
例如:假设客户端使用一些通过 TCP 的消息传递连接到服务器并进行身份验证。此时,服务器已准备好开始通过 UDP 将数据流式传输到客户端,但是服务器如何知道在哪里寻址 UDP 数据包,以便它们可以通过任何 NAT 路由器找到客户端?
如果客户端通过 UDP 发送“我已准备好进行流式传输”消息,NAT 路由器是否会保持端口打开,以便服务器可以使用其 UDP 数据流进行响应?
或者我在这里偏离了轨道?
最佳答案
通常,位于 TCP 级别的客户端前面的 NAT 将能够确定已创建 UDP 的连接。话虽如此,客户端的 NAT 必须配置为接受来自 SRC 服务器端口的 UDP 数据包,然后将它们转发到内部目标 IP(客户端)。重要的是要记住,如果 NAT 是谁是主叫方,谁是被叫方。 NAT 在实现和能力方面有所不同,因此根据您的需要,您可能想要实现一个通用的易于实现的解决方案。
我认为,您的假设是正确的,在您的情况下,客户端将无法接收信息中的 UDP 流。在您的情况下,您的客户端必须将其 WAN IP 发送到您的服务器以启动 UDP 连接。查找您的客户端 WAN IP 可能很棘手,但有些网站可以通过在文本页面中返回来帮助您确定您的 WAN IP。
如果 UDP 连接是在 TCP 连接之后由服务器打开一个到客户端的套接字到一个已知的 UDP 端口而创建的,那么 UPnP 可能值得研究它允许您在 NAT 上自动设置您的端口转发,那只是如果您的 NAT 像 DSL 路由器一样支持 UPnP。
一个解决办法是让客户端同时打开 TCP 和 UDP 套接字到服务器。由于 NAT 背后的客户端发起了连接,因此 TCP 和 UDP 连接的状态都将添加到 NAT 的连接表中。
关于.net - UDP、NAT 和设置 "connections",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/716620/
我考虑创建一个基于 NATS 的新解决方案,目前只剩下两个悬而未决的问题。在我的场景中,我需要客户端向服务器进行身份验证,以及可能的机制 user+pass、token 和 JWT 我想使用 toke
我需要在我的程序中以编程方式确定路由器 NAT 类型。我确实查看了一些与 STUN 相关的答案和关于 SO 的 UPnP 相关信息。但没有得到任何确定的答案。 我查看了 STUN RFC (rfc 5
以下两个命题很容易证明。 Theorem nat_eq_nat : nat = nat. Proof. trivial. Qed. Theorem True_neq_False : ~(True
如果我要求 gethostbyaddr() 查找 NAT 生成的 IP 地址,例如 192.168.0.4,我应该期望它起作用吗? 背景:我正在家里对一些用于网络环境的控制代码进行测试。有时,此代码会
我正在尝试使多层 NAT 后面的(apache)服务器可以从 Internet 访问。 限制: 避免中继。有一个公共(public)服务器(我们称他为 OldMan)用于登录/眩晕,但它的带宽太差,无
在 OCaml 中使用类型级算法,很容易定义一个函数,该函数的 nat 值高于特定值: let f : 'a succ nat -> string = function _ -> "hej" f Ze
我正在寻找一种方法来显示操作期间 NATS 流服务器上当前存在的所有主题。已经彻底查看了文档,但到目前为止还没有找到提及。 有没有办法找到可以在服务器上订阅的所有可用主题的列表? 最佳答案 我刚刚合并
我发现:“唯一需要 TURN 的情况是当其中一个对等点位于对称 NAT 后面,而另一个对等点位于对称 NAT 或端口限制 NAT 后面时。”那么,对称 NAT 后面的对等点如何连接后面的另一个点(例如
我的数据框是 time NTCS001G002 NTCS001W005 0 2013-05-30 23:00:00 NaN NaN 1 2013-06-30
我的问题是我需要增加 NATS 收到的 max_payload 值,但我不知道我可以在哪里做。 该项目正在使用 Moleculer,NATS 被创建为带有 docker 的容器。 当我尝试发出大于 1
我正在尝试调试一个问题,我了解 VirtualBox 中的 NAT 网络适配器与 VMWare Fusion 中的 NAT 网络适配器之间的区别。到目前为止,我可以配置 VMWare 并实现我想要的结
是否可以向 nat 后面的主机发送回显请求 后。所有的 echo-request 都不包含目标主机的端口,因此如果有多个主机使用相同的外部 ip 地址,nat 将如何将 echo-reques
是否有任何工具可用于监控通过 NATS 队列发布的实际消息?对于演示文稿,我需要显示通过微服务架构显示的消息,最好通过现有解决方案来实现,而不是自己编写一个。 我现在有 Natsboard ( htt
根据维基百科文章 Micro Transport Protocol支持使用UDP打洞的NAT穿越。但是看着libutp's project page我在头文件中找不到任何这样的引用。我错过了一些明显的
我在网上查了一下,我发现的所有内容都显示了如何创建一个单独的服务器来连接到位于 nat 或防火墙后面的主服务器。 但在我的例子中,客户端位于 NAT 后面,服务器位于本地网络上。 所以它的设置有点像下
我已经在我的 Windows 机器上启动并运行了带 docker 的 NATS 服务器。 我也想在我的 Windows 机器上安装 nats CLI 工具。 文档中只提到了 Mac 和 Linux。
我已经安装了 Asterisk 11 并出现了这个错误。我更改了 sip.conf 并且仍然在 Asterisk Debug模式下看到错误日志。 Asterisk 日志 [Apr 16 20:43:0
我有以下 Cloud Formation 配置,其中包括子网、路由表/路由、nat 网关和弹性 IP: lambdaPointToIgwStaging: Type: 'AWS::EC2::
我在私有(private)子网中的 aws 上使用 Kops 创建了一个 kubernetes 集群。 当使用 NAT 网关作为集群中的导出点时,一切正常。但是,当我尝试将 NAT 实例部署为集群中的
配置LVS-NAT模式 由于我们要进行LVS-NAT模式集群搭建。首先在VMware中添加两个虚拟网段 VMnet2:做内网的网段 VMnet4:做外网的网段 然后
我是一名优秀的程序员,十分优秀!