假设我们有两个客户端 A 和 B 希望彼此连接,分别位于对称 NAT 的 NA 和 NB 后面。还有一个会合服务器 S,用于协助客户端 A 和 B 进行打孔过程。文献指出,由于 NA 和 NB 会在其各自的客户端发起新连接时随机分配外部端口(即使目标地址相同),因此集合点服务器 S 在其连接客户端之间交换的外部端口信息实际上是无用的。我想知道的是,为什么客户端 A 和 B 不可能先尝试 S 提供的外部端口信息,然后,如果失败,则尝试反复猜测/强制使用外部端口。
我的猜测是,尝试所有 2^16 个端口会花费太长时间或者某些事情完全超出我的头脑,而蛮力搜索将需要 (2^16)^2 次猜测,这是完全不可行的。