NAT трансляция дает отрицательные номера портов

0

Я пишу вам о том, что произошло около 15 лет назад. И хотя я говорил с одним человеком, который подтвердил эту возможность, я все еще надеюсь получить лучшее объяснение.
Около 15 лет назад я купил 4-портовый сетевой маршрутизатор Netgear и установил выделенный сервер Quake 3 на запасном компьютере. (Pentium 3 был медленным, и тогда у всех было больше одного. Хе-хе.) После некоторого начального затруднения я смог начать работать, но не в обычном режиме. Сначала я получал порт по умолчанию, но я считаю, что трансляция NAT изменила порт на что-то другое. Иногда я получаю отрицательный номер порта.

пример xx.xxx.xx.xx: -1396

Было нелегко узнать, как подключиться к моему собственному серверу, кроме как через локальную сеть, и по прошествии нескольких недель я постепенно узнал больше и с уверенностью пишу события, которые произошли. Я узнал, как подключиться напрямую к серверу, добавив параметры к значку ярлыка, но только если номер порта был меньше 5 цифр. Знак «минус» (-) впереди занимает место в 5 цифрах, а если номер порта был 5 цифр, знак минус делал его шестым, а последнее число было видимым, но непригодным для использования. В те времена он не появлялся в списке игровых серверов, и я помню, как учил парней подключаться напрямую.

Я никогда не видел ничего, что говорит о негативных портах.

Может кто-нибудь уточнить? Если вопрос слишком широкий, то более конкретно, если предположить, что мои слова верны (они есть), я бы подумал, что 20 из нас, которые играли тогда, не единственные, кто знает об этом. Следующие вопросы для меня следующие: была ли исправлена ​​ошибка? или технология, которая не используется?

EDRI
источник
2
Я не уверен, что понимаю ваш вопрос, но что угодно. Порт является 16-разрядным целым числом без знака. Какое бы программное обеспечение вы не использовали, оно, вероятно, интерпретирует его как целое число со знаком, что приводит к отрицательным значениям для портов более 32768.
Даниэль Б.
Удивительно, на что способны 15 лет. Большое спасибо.
EdRi

Ответы:

0

Номера портов 16-разрядные без знака - я подозреваю, что программное обеспечение неправильно отображает их как подписанные значения ...

-1396есть 0xFA8C, что 64140.

Quake 3 по умолчанию использует следующие порты [ref] :

TCP: 27950,27952,27960,27965

UDP: 27950,27952,27960,27965

Так что это немного странно, если вы не цитируете случайное отрицательное число или не настроили Quake 3 для прослушивания нестандартных портов.

27950будет, -37586если отображается как подписанное значение.

Attie
источник
На самом деле 27950 будет просто 27950. Он не имеет установленного MSB и, как таковой, не считается отрицательным.
Даниэль Б