Назначение пакетов и их структура
Нередко в структуре пакета выделяют всего три поля:
- Начальное управляющее поле пакета (или заголовок пакета), то есть поле, включающее в себя стартовую комбинацию, сетевые адреса приемника и передатчика, а также служебную информацию.
- Поле данных пакета.
- Конечное управляющее поле пакета (или заключение, трейлер), включающее в себя контрольную сумму и стоповую комбинацию, а также, возможно, служебную информацию.
Помимо термина "пакет" в литературе также используется термин "кадр". Иногда под этими терминами имеется в виду одно и то же, но иногда подразумевается, что кадр вложен в пакет. В этом случае все перечисленные поля кадра, кроме преамбулы и стоповой комбинации, относятся к кадру. В пакет может также входить признак начала кадра (в конце преамбулы). Такая терминология принята, например, в сети Ethernet. Но надо всегда помнить, что физически по сети передается все-таки не кадр, а пакет (если, конечно, различать два эти понятия), и именно передача пакета, а не передача кадра, соответствует занятости сети."
Рис. 3.2. Пример обмена пакетами при сеансе связи
В процессе сеанса обмена информацией по сети между передающим и принимающим абонентами происходит обмен информационными и управляющими пакетами по установленным правилам, называемым протоколом обмена. Пример простейшего протокола показан на рис. 3.2. В данном случае сеанс связи начинается с запроса готовности приемника принять данные. В случае, когда приемник готов, он посылает в ответ управляющий пакет "Готовность". Если приемник не готов, он отказывается от сеанса другим управляющим пакетом. Затем начинается собственно передача данных. При этом на каждый полученный пакет данных приемник отвечает пакетом подтверждения. В случае, когда пакет передан с ошибками, приемник запрашивает повторную передачу. Заканчивается сеанс управляющим пакетом, которым передатчик сообщает о разрыве связи. Существует множество стандартных протоколов, которые используют как передачу с подтверждением (с гарантированной доставкой пакета), так и передачу без подтверждения (без гарантии доставки пакета).
При реальном обмене по сети используются многоуровневые протоколы, каждый из которых предполагает свою структуру кадра (свою адресацию, свою управляющую информацию, свой формат данных и т.д.). Ведь протоколы высоких уровней имеют дело с такими понятиями, как файл-сервер или приложение, запрашивающее данные у другого приложения, и вполне могут не иметь представления ни о типе аппаратуры сети, ни о методе управления обменом. Все кадры более высоких уровней последовательно вкладываются в передаваемый пакет, точнее, в поле данных передаваемого пакета (рис. 3.3).
Каждый следующий вкладываемый кадр может содержать свою собственную служебную информацию, располагающуюся как до данных (заголовок), так и после данных (трейлер), причем ее назначение может быть самым различным. Естественно, доля вспомогательной информации в пакетах при этом возрастает с каждым следующим уровнем, что снижает эффективную скорость передачи данных. Поэтому для увеличения этой скорости лучше, чтобы протоколы обмена были как можно проще, и чтобы уровней этих протоколов было как можно меньше. Иначе никакая скорость передачи битов не поможет, и быстрая сеть может передавать, к примеру, какой-нибудь файл дольше, чем медленная сеть, которая пользуется более простым протоколом.
Рис. 3.3. Многоуровневая система вложения кадров