NAT 转换给出负端口号

NAT 转换给出负端口号

我写信给你讲一件大约 15 年前发生的事情。虽然我和一个人交谈过,他证实了这种可能性,但我仍然希望得到更好的解释。
大约 15 年前,我买了一个 4 端口 netgear 路由器,并在一台备用计算机上设置了一个专用的 Quake 3 服务器。(当时 Pentium 3 很慢,每个人都有不止一台。呵呵。)在经历了一些最初的困难之后,我能够让一切运行起来,但不是以正常的方式。我最初得到的是默认端口,但我相信 NAT 转换将端口更改为其他端口。我有时会得到一个负端口号。

例如 xx.xxx.xx.xx:-1396

除了通过 LAN 之外,要找到如何连接到我自己的服务器并不容易,但随着时间的推移,我慢慢学到了更多,并自信地写下了发生的事情。我学会了如何直接连接到服务器,向快捷方式图标添加参数,但前提是端口号小于 5 位。前面的负号 (-) 占据了 5 位总数字中的一个空格,如果端口是 5 位数字,负号会使它变成 6,最后一个数字可见但不可用。当时它不会出现在游戏服务器列表中,我想我记得教过伙计们如何直接连接。

我从未见过任何提及负面端口的内容。

有人能详细解释一下吗?如果这个问题太宽泛,那么更具体地说,假设我说的是真的(确实如此),我想当时玩的 20 个人并不是唯一知道这件事的人。接下来我要问的是,这是一个已经修复的错误吗?还是一项未使用的技术?

答案1

端口号是 16 位无符号的 - 我怀疑软件错误地将它们显示为有符号值......

-13960xFA8C,也就是64140

Quake 3 默认使用以下端口[参考]

TCP:27950,27952,27960,27965

UDP:27950,27952,27960,27965

所以这有点奇怪,除非你引用一个随机负数,或者将 Quake 3 设置为监听非标准端口。

27950-37586如果显示为有符号值的话。

相关内容