【问题标题】:firewall: 2-way UDP communication possible?防火墙:2路UDP通信可能吗?
【发布时间】:2013-09-16 02:37:52
【问题描述】:

如果防火墙内的客户端通过 TCP 连接到公共服务器,一旦连接形成,防火墙就允许双向通信。这是我们在日常使用中通常看到的。我的问题是:UDP 也是如此吗?

由于UDP没有connect,我稍微修改一下问题...

假设防火墙内的客户端向公共服务器发送UDP数据包,服务器可以使用传入数据包的源地址和端口通过防火墙进行响应吗?

【问题讨论】:

  • 搜索“UDP 防火墙一拳”并查看UDP hole punching。许多防火墙/NAT 允许这样做(以便 UDP 从内部->外部保持可行)..

标签: networking udp firewall


【解决方案1】:

是的,这称为 NAT 遍历(或 UDP 穿透),其工作方式与 TCP 类似 - 有状态 NAT 设备知道您最近从内部某个端点向外部某个端点发送了一个 UDP 数据包,并用于一个周期将接受来自同一个外部端点的 UDP 数据包并将它们转发到同一个内部端点。

我总是更喜欢 IETF 文档,而不是大量相互矛盾的信息(包括在本网站上):

https://www.rfc-editor.org/rfc/rfc5128

更新:“UDP 打孔”还有其他技术,例如 UPnP 的 Internet 网关协议和 PCP。各有优缺点,恐怕没有一种解决方案适用于所有 NAT!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-28
    • 2019-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-03
    相关资源
    最近更新 更多