Я понимаю первоначальную причину наличия 65 535 портов на IP-адрес: это наибольшее число, которое может быть представлено 16-разрядным или 2-байтовым числом, и было невозможно представить, что компьютеры когда-либо смогут сэкономить больше чем для чего-то тривиального, как порты, или что-то в этом роде. На самом деле портам может потребоваться более 1 бита каждый, поскольку каждый порт может быть открытым, заблокированным, «скрытым» или другим, но по какой-то причине люди всегда говорят, что порты работают с 16-битным числом. Если у меня есть какая-то часть этого неправильно, непременно скажите мне.
Однако в мире, где большинство компьютеров являются 32-разрядными и имеют более чем достаточно памяти / пространства, чтобы сэкономить еще пару портов, почему у нас все еще есть такое количество портов? Мы находимся в процессе перехода на HTML5, HTTP2.0, IPv6 и другие, безусловно, разные версии, так почему бы не сделать то же самое с портами? Многие из них допускают намного больше 16 бит; на самом деле IPv6 позволяет 16 байтов ! Я понимаю, что многие из них пройдут годами или даже десятилетиями, но почему все болтовня об этих обновлениях, и даже не писк о большем количестве портов (о которых я, любитель, слышал)?
Единственные две причины, которые я вижу для сохранения 65 535 портов, позволяют крупным предприятиям сохранять свои старые унаследованные системы, что вряд ли является веской причиной, и рост количества встроенных систем, многие из которых являются крошечными, с минимальным объемом пространства, памяти и т. Д. скоро появятся в интернете, многие как часть интернета вещей. С этими встроенными системами, возможно, мы могли бы позволить им иметь меньше портов, и когда большой настольный компьютер пытается подключиться к одному, можно сказать, что это будет осторожно, поскольку встроенная система baby может использовать только ~ 65 000 портов.
С другой стороны, я могу подумать о нескольких веских причинах иметь больше портов, большинство из которых связано с NAT и другими системами, где более одного частного IP-адреса должны взаимодействовать с остальной частью Интернета, используя один и тот же общедоступный IP-адрес, как рост числа виртуальных машин на одном компьютере, использующих один и тот же IP-адрес. Технически, каждый IP-адрес виртуальной машины имеет 65 535 портов, но в действительности все они используют порты хоста. В таких случаях эти системы могут быстро исчерпать порты. Другим конкретным случаем является NAT операторского уровня, где один общедоступный IP-адрес преобразуется в несколько частных IP-адресов, и, по крайней мере, один из этих частных адресов преобразуется в другой набор еще более частных адресов. Опять же, каждый частный IP-адрес технически имеет свой собственный набор из 65 535 портов, но это иллюзия, например, когда данные поступают в общедоступный Интернет, они используют общедоступные IP-порты. Я не уверен, что нам обязательно нужен NAT, но нам понадобится что-то подобное для сохранения адресов даже при тех огромных объемах, которые IPv6 даст нам. Если у нас есть такие случаи, можем ли мы позволить себе не иметь более 65 535 портов?
Итак, почему у нас все еще есть только 65 535 портов, и есть ли планы разрешить больше?
PS Я знаю, что технически существует 65 536 портов на IP-адрес, но порт 0 обычно не используется ни для чего.