当前位置: 首页 > 知识库问答 >
问题:

为什么这样的TCP打孔不起作用?

刘玉石
2023-03-14

我对NAT表的理解是

  1. NAT表仅映射(专用IP:端口)->(公用IP:端口)
  2. 它不关心协议或套接字连接
Host A(192.0.0.1:100)            ->            NAT            ->            Server
                             (192.0.0.1:100 -> 121.0.0.1:200) MAPPED

主机A关闭套接字并在同一本地端口(100)上打开新监听套接字

Host A(listening 192.0.0.1:100)   ->            NAT            ->            Server
                             (192.0.0.1:100 -> 121.0.0.1:200) MAPPED

但这没用!我发现了其他复杂的实现,但我很好奇这种方式有什么问题。

共有1个答案

尤俊誉
2023-03-14

好的,如果有人到达这里,请阅读https://en.wikipedia.org/wiki/network_address_translation中的“翻译方法”部分

 类似资料:
  • 我正在研究TCP打孔技术,从这篇文章中得到了一些知识:TCP_HOLE_PUNCHING。但我不明白下面的部分: 这里有几个问题,谁能帮忙解释一下吗?如有任何帮助或建议,我们将不胜感激!! 假设我们有一个客户端应用程序运行在NAT1后面,一个服务器应用程序运行在NAT2后面。他们将有消息传递和文件传输通信。模式将是服务器监听并接受来自客户端的连接。他们需要使用TCP打孔来保持TCP连接工作吗? Q

  • 我已经尝试TCP打孔一段时间了,论坛似乎对基于TCP的方法和C编程语言没有多大帮助。主要参考文献如下, 我的设置是 客户端A--NAT-A--Internet--NAT-B--Client B。 假设客户机A知道B的公共endpoint和私有endpoint,而B知道A的endpoint(我已经编写了一个服务器'S',用于在对等点之间交换endpoint信息),并且两个NAT都不对称,如果两个客户

  • 问题内容: 我尝试在另一个div内的div上添加边距值。除最高值外,其他所有方法均正常运行,似乎被忽略了。但为什么? 我的期望: 我对保证金的期望是:50px 50px 50px 50px; 我得到的是: 我得到的保证金是:50px 50px 50px 50px; 码: 问题答案: 您实际上看到的是元素的顶部边缘塌陷到元素的顶部边缘,仅保留了边缘空白(尽管未在图像中显示)。两个框的顶部边缘彼此齐平

  • 我尝试在另一个div中添加一个div的边距值。所有的工作都很好,除了顶部的值,它似乎被忽略了。但为什么? 代码: null null W3学校没有解释为什么margin会这样做。

  • 问题内容: 我正在尝试通过以下方式将日期范围划分为各个日期: 而且我不知道为什么不起作用,因为日期仍然相同,所以循环变得无限。 问题答案: plusDays不会改变原始的,您必须分配结果:

  • 问题在下面。这是我当前的测试代码,它没有成功。 如何做TCP打孔?我正在使用远程服务器进行测试。我正在运行。我已经为端口80设置了路由器,所以它不需要打孔。我的代码有关联。现在我尝试其他端口,但我不知道如何打孔。 我所做的是(C#代码) 如何做TCP打孔?