搜索

首页  >  问答  >  正文

linux - UDP打洞,服务器收到的端口号有可能是本机绑定的端口号吗?

最近在做关于P2P控制软件,在UDP打洞的过程中遇到问题。

  1. 服务器收到的来自A、B的IP是外网的IP,但是端口号居然和A、B绑定的端口号一样!有这种可能吗?我觉得这点(就是服务器收到来自客户端的包,比如A bind的是5678,发送到服务器,它要经过NAT转换,然后到达服务器,服务器收到该包的端口不应该是5678)肯定有问题,但不知道是什么问题,所以A、B相互发送数据包是不通的。

  2. 本机连接是一个路由器,TPLink

伊谢尔伦伊谢尔伦2768 天前399

全部回复(3)我来回复

  • 天蓬老师

    天蓬老师2017-04-17 15:24:55

    一样就一样,有什么问题?谁规定了不能一样的?

    你可以用这里的程序先确定一下 NAT 类型(Google Code 上的软件下载)。不是所有 NAT 都能打洞成功的(实验报告)。

    回复
    0
  • 怪我咯

    怪我咯2017-04-17 15:24:55

    就是服务器收到来自客户端的包,比如A bind的是5678,发送到服务器,它要经过NAT转换,然后到达服务器,服务器收到该包的端口不应该是5678

    为什么不应该是5678?

    回复
    0
  • 黄舟

    黄舟2017-04-17 15:24:55

    NAT分为两大类:基本的NAT和NAPT。
    服务器收到该包的端口是5678应该是因为你用的是基本的NAT

    回复
    0
  • 取消回复