logo search
Лекции_Информационные сети

Порты и установление tcp-соединений

В протоколах TCP и UDP для связи с прикладными процессами используются порты.

Важно! В данном случае имеются в виду логические, а не физические порты!

Номера портам присваиваются следующим образом: имеются стандартные, зарезервированные номера (например, номер 21 закреплен за сервисом FTP, 23 - за telnet), а менее известные приложения пользуются произвольно выбранными локальными номерами.

Получается, что серверное приложение заранее объявляет о номере порта, по которому оно ожидает пакеты. Клиенты должны указывать этот номер порта сервера. Таким образом реализуется связь протоколом UDP.

Однако в протоколе TCP порты используются несколько иным способом, чем в UDP. Для организации надежной передачи данных предусматривается установление логического соединения между двумя прикладными процессами. В рамках соединения осуществляется обязательное подтверждение правильности приема для всех переданных сообщений, и при необходимости выполняется повторная передача. Соединение в TCP позволяет вести передачу данных одновременно в обе стороны, то есть полнодуплексную передачу.

Соединение в протоколе TCP идентифицируется парой полных адресов обоих взаимодействующих процессов (оконечных точек). Адрес каждой из оконечных точек включает IP-адрес (номер сети и номер компьютера) и номер порта. Так как клиент будет получать подтверждения о получении данных сервером, то он должен тоже зарезервировать номер порта приема и сообщить его серверу. Таким образом, в заголовке TCP пакета

Одна оконечная точка может участвовать в нескольких соединениях, то есть один сервер может одновременно обслуживать нескольких клиентов.

Установление соединения выполняется в следующей последовательности: