Номера портов в IPv4 и IPv6 представляют собой 16-битное двоичное число без знака, поэтому каждый из них находится в диапазоне от 1 до 65535 (0 зарезервирован) - PullRequest
0 голосов
/ 06 мая 2020

Все мы знаем, что номера портов в IPv4 и IPv6 имеют ширину 16 бит, поэтому диапазон должен быть от 0 до 65535, но я слышал, что 0 исключен и зарезервирован для чего-то еще, этот диапазон теперь от 1 до 65535.

Я хочу знать, для каких целей он зарезервирован и для каких целей?

Ответы [ 2 ]

2 голосов
/ 06 мая 2020

Порт 0 используется как порт с «подстановочным знаком», что означает, что когда приложение пытается создать сокет и bind() его на IP-адрес, и предоставляет 0 в качестве порта, ОС автоматически привязывает сокет к случайному доступный эфемерный порт.

Это полезно, когда приложениям нужно отправлять данные, и им все равно, с какого порта они отправляются. Это гарантирует, что приложениям не нужно постоянно пытаться найти подходящий порт вручную.

ОС мощная, поэтому позвольте ей (часть) выполнять работу за вас.

0 голосов
/ 06 мая 2020

Согласно этой статье :

Порт 0 - это порт с подстановочными знаками, который сообщает системе, что нужно найти подходящий номер порта.

...