Протокол TCP

На транспортном уровне модели OSI работают два протокола из набора TCP/IP: TCP и UDP.

Протокол TCP ( Transmission Control Protocol – протокол управления передачей) представляет собой надежный протокол с установлением соединения.

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

Протокол TCP предназначен для передачи относительно больших объемов информации, которая заведомо не сможет быть упакована в один пакет. Информация обычно принимает форму целых файлов, которые должны быть разделены на множественные дейтаграммы для передачи.

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

Надёжность TCP обеспечивается тем, что источник данных повторяет их передачу, если только не получит в определённый промежуток времени от адресата подтверждение об их успешном получении. В заголовке TCP предусмотрено поле контрольной суммы. Если при пересылке данные повреждены, то по контрольной сумме модуль, вычленяющий TCP-сегменты из пакетов IP, уничтожает повреждённый пакет (сообщение источнику не передаётся). Если же данные не были повреждены, то они пропускаются на сборку сообщения приложения, а в адрес источника отправляется подтверждение.

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

Эти сообщения оповещают систему-отправителя о потерянных пакетах, а также обеспечивают её информацией, используемой при контроле скорости потока передачи.

Для обеспечения указанных сервисов TCP - заголовок, которым снабжаются сегменты информации, должен быть значительно больше, чем UDP-заголовок. TCP-заголовок имеет такой же размер, что и IP-заголовок – 20 байт (без опций).

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

Протокол TCP является полнодуплексным, из чего следует, что с каждой стороны открывается изолированное соединение.

Протокол UDP (User Datagram Protocol – пользовательский протокол данных)

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

Хотя протокол UDP и может представить некоторое количество услуг сам по себе, он в основном работает в качестве транзитного протокола, обеспечивая приложениям доступ к сервисам Сетевого уровня и наоборот. Природа протокола UDP делает возможным его применение только при коротких транзакциях, где все данные, отправляемые по месту назначения, не превышают по объёму размера одной дейтаграммы. Это связано с отсутствием у протокола UDP механизма, позволяющего разбивать поток данных на дейтаграммы и последующей их сборки, как у протокола TCP. Хотя оказанное не означает, что дейтаграмма не сможет быть впоследствии разбита на фрагменты протоколом IP в процессе передачи.

Таким образом, UDP расположен непосредственно над IP, обеспечивая ненадёжную доставку дейтаграмм и не поддерживает соединений из конца в конец.

ПРИКЛАДНЫЕ ПРОЦЕССЫ

UDP
TCP

       
   


IP

ARP
***** *

*

 
 


@

________________________

Кабель Ethernet

Знак «*»- Обозначает IP адрес

Знак «@» -адрес узла в сети Ethernet

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

Типичным прикладным процессом, использующим протокол TCP, является модуль FTP (File Transfer Protocol – протокол передачи файлов). Стек протоколов будет FTP/TCP/IP/ENET.

При использовании протокола UDP, данные передаются между прикладным процессом и модулем UDP. Например, SNMP (Simple Network Management Protocol – простой протокол управления сетью) пользуется транспортными услугами UDP. Его стек протоколов выглядит так: SNMP/UDP/IP/ENET.

Заголовок UDP-сообщения очень мал – длиной всего 8 байтов.

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

Работа с TELNET похожа на набор телефонного номера. Пользователь набирает на клавиатуре что-то вроде “telnet delta” и получает на экране приглашение на вход в машину “delta”.

Протокол FTP (File Transfer Protocol) распространен также широко как TELNET. Он является одним из старейших протоколов семейства TCP/IP. Также как TELNET он пользуется транспортными услугами TCP. Существует множество реализаций для различных операционных систем, которые хорошо взаимодействуют между собой. Пользователь FTP может вызывать несколько команд, которые позволяют ему посмотреть каталог удаленной машины, перейти из одного каталога в другой, а также скопировать один или несколько файлов.

Протокол SMTP (Simple Mail Transfer Protocol) поддерживает передачу сообщений (электронной почты) между произвольными узлами сети Internet. Имея механизмы промежуточного хранения почты и механизмы повышения надежности доставки, протокол SMTP допускает использование различных транспортных служб. Протокол SMTP обеспечивает как группирование сообщений в адрес одного получателя, так и размножение нескольких копий сообщения для передачи в разные адреса. Над модулем SMTP располагается почтовая служба конкретных вычислительных систем.

Протокол SNMP (Simple Network Management Protocol - простой протокол управления сетью) работает на базе UDP и предназначен для использования сетевыми управляющими станциями. Он позволяет управляющим станциям собирать информацию о положении дел в сети Internet. Протокол определяет формат данных, их обработка и интерпретация остаются на усмотрение управляющих станций или менеджера сети.

Протокол SLIP (Serial Line IP- протокол последовательного канала сети интернет) был первым стандартом, позволяющим устройствам, соединенным последовательной линией связи, работать по протоколам TSP/IP. Протокол SLIP выполняет единственную функцию - он позволяет в потоке бит, которые поступают по выделенному (или коммутируемому) каналу, распознать начало и конец IP-пакета. Помимо протокола IP, другие протоколы сетевого уровня SLIP не поддерживает.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: