Изучение протокола TCP/IP. Процесс связи. Определение приложений. Служебные программы протокола TCP/IP, страница 9

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

Сегмент

Сегментом называется единица передачи данных в протоколе TCP. В нем содержится заголовок протокола TCP и данные приложения.

Сообщение

Сообщением называется единица передачи данных в ненадежных протоколах, таких как ICMP, UDP, IGMP и ARP. В нем содержится заголовок протокола и данные приложения или протокола.

Датаграмма

Датаграммой называется единица передачи данных в IP. В ней содержится заголовок IP и данные уровня транспорта. Она также считается ненадежной.

Кадр

Кадром называется единица передачи данных на уровне сетевого интерфейса. В нем содержится заголовок, добавленный на уровне сетевого интерфейса, и данные уровня IP.

Компоненты кадра

Кадр (термин для пакета данных на уровне сетевого интерфейса) состоит из трех компонентов: заголовка, данных и трейлера.

Заголовок

В заголовок входят: сигнал оповещения, указывающий на передачу пакета; адрес источника; адрес назначения.

Данные

Это собственно посланная приложением информация. Данный компонент пакета может иметь различные размеры, определяемые устанавливаемым сетью пределом размеров пакета. В большинстве сетей этот компонент имеет размер от 0,5 до 4 Кб. Для Ethernet размер пакета составляет примерно 1,5 Кб.

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

Трейлер

Конкретное содержимое трейлера зависит от протокола уровня сетевого интерфейса. Обычно в трейлере содержится компонент проверки на наличие ошибок, называемый CRC (cyclical redundancy check – контроль при помощи вычисления контрольной суммы). CRC представляет собой число, полученное в результате математического вычисления, выполненного на исходном компьютере. Когда пакет достигает пункта назначения, это же вычисление выполняется снова. Если результаты обоих вычислений совпадают. То это указывает на то, что данные в пакете остались неизменными. Если же результаты вычислений отличаются, то из этого следует, что данные были изменены при передаче. В таком случае исходный компьютер передает данные заново.

Поток данных

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

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

Уровень приложений

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

Уровень транспорта

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