Порт изменяется, когда сервер принимает соединение TCP?

Когда клиент соединяется с сервером с помощью TCP, новый сокет создается для потока TCP. Соединение остается на том же порте, связь была установлена, или это становится измененным на некоторый другой порт?

25
задан Steven Young 21 September 2018 в 10:34
поделиться

2 ответа

Новый сокет - это концепция прикладного уровня, введенная потому, что каждому установленному соединению требуется уникальный дескриптор файла (также отличный от дескриптора прослушиваемого файла), который отображается на TCP-сессию, но не является тем же самым. Сам сеанс идентифицируется комбинацией адреса источника и назначения и порта. Порт источника (клиента) обычно выбирается случайным образом, а порт назначения (сервера) является портом прослушивания. Дополнительный порт не выделяется.

24
ответ дан 28 November 2019 в 21:23
поделиться

Сокет, связанный с новым дескриптором, возвращенным accept на сервере, будет использовать тот же порт на стороне сервера соединения, что и исходный сокет (предполагая "нормальные" определения, в которых клиент инициирует соединение). Новый сокет будет иметь другой номер клиентского порта (удаленный порт с точки зрения сервера).

6
ответ дан 28 November 2019 в 21:23
поделиться
Другие вопросы по тегам:

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