Почему всего 65 535 портов и будет ли их больше? [закрыто]

Я понимаю исходное обоснование наличия 65 535 портов на IP-адрес: это максимальное число, которое может быть представлено 16-битным или 2-байтовым числом, и было невозможно представить, чтобы компьютеры когда-либо могли чтобы сэкономить больше на что-то столь же тривиальное, как порты или что-то в этом роде. Фактически для каждого порта может потребоваться более 1 бита, поскольку каждый порт может быть открытым, заблокированным, «скрытым» или другим, но почему-то люди всегда говорят, что порты работают с 16-битным числом. Если у меня что-то не так, обязательно скажите мне.

Однако в мире, где большинство компьютеров 32-битные и имеют более чем достаточно памяти / места для пары дополнительных портов, почему у нас все еще есть такое количество портов? Мы находимся в процессе перехода на HTML5, HTTP2.0, IPv6 и другие, безусловно, разные версии, так почему бы не сделать то же самое с портами? Многие из них позволяют использовать более 16 бит; фактически IPv6 позволяет 16 байт ! Я понимаю, что многие из них появятся через несколько лет или даже десятилетий, но почему столько разговоров об этих обновлениях и даже не писк о других портах (о которых я, любитель, слышал)?

Единственные 2 причины, по которым я Можно увидеть, что 65 535 портов позволяют крупным компаниям сохранять свои старые устаревшие системы, что вряд ли является уважительной причиной, и рост встраиваемых систем, многие из которых крошечные, с минимальным объемом пространства, памяти и т. д., поступают в Интернет. скоро многие станут частью Интернета вещей.С этими встроенными системами, возможно, мы могли бы позволить им иметь меньше портов, и когда большой настольный компьютер пытается подключиться к одному, его можно было бы сказать, чтобы он был осторожным, поскольку встроенная система ребенка может использовать только ~ 65 000 портов.

С другой стороны, я могу придумать несколько веских причин, чтобы иметь больше портов, большинство из которых связаны с NAT и другими системами, где более одного частного IP-адреса должны связываться с остальной частью Интернета с использованием одного и того же общедоступного IP-адрес, как и появление виртуальных машин на одном компьютере, использующих один и тот же IP-адрес. Технически каждый IP-адрес виртуальной машины имеет 65 535 портов, но на самом деле все они используют порты хоста. В таких случаях в этих системах могут довольно быстро закончиться порты. Другой конкретный случай - NAT операторского уровня, когда один общедоступный IP-адрес транслируется в несколько частных IP-адресов, и по крайней мере один из этих частных адресов переводится в другой набор еще большего количества частных адресов. Опять же, каждый частный IP-адрес технически имеет свой собственный набор из 65 535 портов, но это иллюзия, поскольку, когда данные попадают в общедоступный Интернет, они используют порты общедоступного IP. Я не уверен, что нам нужен NAT как таковой, но нам понадобится что-то подобное, чтобы сохранить адреса даже с огромными объемами, которые нам дает IPv6. Когда у нас есть такие случаи, можем ли мы позволить себе иметь не более 65 535 портов?

Итак, почему у нас все еще есть только 65 535 портов, и есть ли какие-либо планы разрешить больше?

P.S. Я знаю, что технически на каждый IP-адрес приходится 65 536 портов, но порт 0 обычно ни для чего не используется.

20
задан 2 May 2014 в 20:10
1 ответ

Порт является частью используемого протокола уровня 4 - TCP или UDP по большей части; это не связано с адресацией памяти реальных компьютеров, поэтому не путайтесь с 32- или 64-битной адресацией памяти в современных операционных системах.

Заголовки этих протоколов уровня 4 имеют специально определенные структуры ], для которого используется ровно 16 бит для портов источника и назначения. Без нарушающих совместимость изменений протоколов уровня 4, от которых зависит весь Интернет, количество портов не может быть изменено. Даже более новый SCTP имеет 16-битное ограничение на порты.

Имейте в виду, что эти протоколы определяют трафик на основе не только принимающего порта, но также принимающего IP-адреса, отправляющего порта и IP-адреса; ты'

28
ответ дан 2 December 2019 в 20:10

Теги

Похожие вопросы