logo
ИКСС лекции

Протоколы транспортного уровня

К транспортному уровню стека TCP/IP относятся:

1. Протоколы управления передачей (TCP);

2. Протоколы пользовательских датаграмм(UDP);

Протокол TCP описан в RFC 793, а протокол UDP в RFC 768

Протоколы TCP и UDP также как и протоколы прикладного уровня устанавливаются на конечных узлах.

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

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

Протоколы TCP и UDP ведут для каждого приложения 2 системные очереди:

  1. Очередь данных, поступающих к приложению из сети;

  2. Очередь данных отправляемая этим приложением в сеть.

Такие системные очереди называются портами, причем вход и выход очереди данного приложения рассматривается как один порт. Для уникальной идентификации портов им присваиваются номера.

Если процессы представляют собой популярные системные службы, такие как FTP, Telnet, SSH, DNS, то за такими процессами закрепляются стандартные назначенные номера. Эти номера закрепляются и публикуются в соответствии с RFC. Назначенные номера из диапазона от 0 до 1023 Кбит являются уникальными в пределах глобальной сети и закреплены за приложениями централизовано. Для тех приложений, которые еще не стали распространенными номера портов назначаются или локально разработчиками этих приложений, или самой ОС, когда приложение сгенерирует запрос. На каждом компьютере ОС имеет список занятых и свободных портов. При поступлении запроса ОС выделяет запросившему приложению первый свободный номер. Такие номера портов называются динамическими. В дальнейшем все сетевые приложения адресуются к данному приложению с указанием назначенного ему порта. После того как приложение завершит работу его номер возвращается в список свободных и может быть назначен другому приложению. Следует обратить внимание, что нет никакой зависимости между назначением номеров портов для приложений, использующих протокол TCP и приложений, работающих по протоколу UDP. Иногда, для хорошо известных служб, таких как DNS, для одного приложения назначают и TCP и UDP порт. В таких случаях номера портов TCP и UDP чаще всего совпадают.

Для снятия неоднозначностей в идентификации одинаковых процессов разные копии процессов связываются с разными IP-адресами.