В сетях данные принимаются и посылаются небольшими фрагментами, которые называются сетевыми пакетами. Сетевые протоколы (о которых рассказывается ниже в разделах "Стеки протоколов" и "Стандартные стеки протоколов") на различных уровнях модели OSI формируют, модифицируют и разукомплектовывают пакеты при перемещении данных вниз по стеку, по сети и обратно вверх по стеку на принимающем компьютере.
Структура пакета. Пакет включает в себя следующие компоненты:
• Адрес отправителя, задающий адрес передающего пакет компьютера
• Адрес получателя
• Команды, сообщающие компьютеру, как передавать данные
• Информацию сборки (если пакет является частью длинного сообщения)
• Данные, передаваемые на удаленный компьютер
• Информацию контроля ошибок, обеспечивающую доставку верных данных Эти компоненты объединяются в три раздела:
• Заголовок. Типичный заголовок включает в себя сигнал уведомления о передаче данных, адреса отправителя и получателя, а также информацию таймера для синхронизации передачи.
• Данные. Фактические передаваемые данные. Их длина может быть различной — от 48 байт до 4 Кбайт (в зависимости от типа сети).
• Завершающая часть. Содержимое этой части (и само ее наличие) зависит от конкретного типа сети, но обычно включает в себя контрольную сумму (CRC, Cyclic Redundancy Check). CRC помогает сети определить, был ли испорчен: пакет при передаче.
Состав пакета представлен на рис. 3.15.
Рис. 3.15. Пакет, состоящий из заголовка, данных и завершающей части
Сборка пакетов.Каждый уровень модели OSI добавляет к пакету некоторую информацию. Информация каждого уровня должна считываться соответствующим уровнем OSI на компьютере-получателе. Например, информация, добавляемая на сетевом уровне в одном компьютере, будет считываться сетевым уровнем другой машины. Рис. 3.16 показывает, как информация, добавляемая на каждом уровне, считывается соответствующим уровнем на другом компьютере.
Рис. 3.16. Информация, добавляемая к пакету при прохождении через стек OSI и считываемая при обратном прохождении вверх по уровням на другой машине