У меня есть несколько вопросов относительно следующего объяснения портов, которые я нашел.
Уровень приложений взаимодействует с транспортным уровнем через порт. Порты пронумерованы, и стандартные приложения всегда используют один и тот же порт.
Использование номера порта позволяет транспортному протоколу (обычно TCP) знать, какой тип содержимого находится внутри пакета, что позволяет ему на приемной стороне сообщить, в какой протокол приложения он должен доставлять полученные данные.
Почему номер порта используется для определения типа протокола данных приложения, если нет абсолютной гарантии?
Насколько я понимаю, нет никаких ограничений на то, какие данные приложения вы отправляете через порт (это всего лишь предложение). Плюс, данные протокола уже не включены где-то в пакет для этой цели?
Кроме того, что происходит с данными, если вы отправляете HTTP или какой-либо другой протокол в пункт назначения 25 (который ожидает SMTP)?
В-третьих, что происходит с данными, если вы отправляете их на порт, который не связан ни с одной программой и, следовательно, не прослушивается?
** Наконец, если порт может быть привязан только к одной программе, как могут одновременно работать несколько программ, которые зависят от входящих данных HTTP, на моем компьютере?****
Заранее спасибо!