TCP

Протокол управления передачей данных (Transmission Control Protocol, ) обладает такими замечательными особенностями, как коррекция ошибок и восстановление данных. Принимающая сторона должна подтвердить получение каждого пакета, в противном случае отправитель будет повторять передачу неподтвержденных пакетов. Приложения, использующие , вправе ожидать надежной передачи данных. В отличие от UDP, протокол называют протоколом с установлением соединения (connected).

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

Два хоста, использующие для обмена данными, должны организовать между собой канал, по которому будут передаваться данные. Первый хост запрашивает открытие соединения, второй хост отвечает на этот запрос, и только после этого первый хост начинает передачу данных. Этот процесс называется тройным рукопожатием (three-way handshake). Подробности на данном этапе нас не интересуют, нам достаточно знать, что это происходит. Аналогичным образом по окончании передачи системы должны выполнить некоторые действия, чтобы закрыть соединение.

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

Транспортные протоколы следующего поколения

Одной интересной особенностью FreeBSD 7.0 является поддержка протокола управления передачей потоков данных (Stream Control Transmission Protocol, SCTP). Это транспортный протокол следующего поколения, разработанный для передачи сложных потоков данных. Реализация протокола во FreeBSD спонсировалась компанией Cisco Systems, которая, по всей видимости, рассматривала свободно распространяемую систему FreeBSD как один из лучших способов вывести данный протокол в мир.

Как протоколы взаимодействуют между собой

Стек сетевых протоколов можно сравнить с семьей, сидящей за обеденным столом. Родственники передают блюда друг другу. Физический протокол (ARP, в случае использования Ethernet) позволяет увидеть всех сидящих за этим столом. Протокол IP выделяет каждому свое место за столом, кроме трех юных племянников, присевших на скамейку NAT. Протокол ICMP предоставляет информацию о маршрутизации, например: «Самый короткий путь к гороху – это попросить дядюшку Криса передать его вам». Протокол вступает в игру, когда вы передаете кому-то блюдо, и он должен сказать: «Спасибо» прежде, чем вы отпустите тарелку. Наконец, протокол UDP напоминает бросок рулета тетушке Бетти, которая может быть поймает его, а может быть он будет пойман собакой, следящей за обедающими. (Да, воскресные обеды в моей семье проходят гораздо интереснее, чем в большинстве других семей.)

Источник: ЛукасМ. FreeBSD. Подробное руководство, 2-е издание. – Пер. с англ. – СПб.: Символ- Плюс, 2009. – 864 е., ил.

Похожие посты:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий