Инкапсуляция данных
Создана 28.05.2022
Отредактирована 18.07.2022
Отредактирована 18.07.2022
Инкапсуляция (encapsulation) описывает процесс добавления заголовка (и иногда концевика) к некоторому блоку данных. Процесс инкапсуляции описан ниже.
Так, например, протокол НТTР инкапсулирует web-страницу в заголовок НТTР. Далее протокол ТСР инкапсулирует данные и заголовок протокола НТTР в собственный заголовок, а протокол IP инкапсулирует все вместе в свой заголовок IP. В итоге блок данных от сетевого уровня (IP) инкапсулируется в заголовок и концевик протокола канального уровня Ethemet.
Так, например, протокол НТTР инкапсулирует web-страницу в заголовок НТTР. Далее протокол ТСР инкапсулирует данные и заголовок протокола НТTР в собственный заголовок, а протокол IP инкапсулирует все вместе в свой заголовок IP. В итоге блок данных от сетевого уровня (IP) инкапсулируется в заголовок и концевик протокола канального уровня Ethemet.
Этап 1 | Создание и инкапсуляция данных уровня приложений в заголовки нужного протокола уровня приложений. Например, сообщение "НТТР ОК" может быть помещено в заголовок НТТР и добавлено к блоку данных , содержащему web-страницу. |
Этап 2 | Инкапсуляция блока данных от уровня приложений в заголовок транспортного уровня. Для пользовательских приложений может быть использован протокол ТСР или UDP. |
Этап 3 | Инкапсуляция блока данных от транспортного уровня в заголовок сетевого уровня (т.е. заголовок IP). Протокол IP определяет IР-адреса, уникально идентифицирующие каждый компьютер в сети. |
Этап 4 | Инкапсуляция блока данных от сетевого уровня в заголовок и концевик канальноrо уровня. Этот уровень использует как добавление заголовка, так и концевика. |
Этап 5 | Передача битов. На физическом уровне информация кодируется в специальный сигнал, который зависит от среды и технологии передачи фреймов. |
На рис.1. показана описанная выше концепция; номера слева соответствуют перечисленным этапам передачи информации. Поскольку на уровне приложений далеко не всегда к блоку данных добавляется заголовок, на этом рисунке у уровня приложений отсутствует какой-либо заголовок.
Рис. 1. Пять этапов инкапсуляции данных на передающем хосте
Следует также обратить внимание на такие термины, как:
- сегмент (segment);
- пакет (packet);
- кадр (frame).
а также на смысловую нагрузку каждого из них. Каждый из перечисленных терминов описывает инкапсуляцию данных на соответствующем уровне, то есть добавление заголовка нужного уровня и, возможно, концевика. Каждое из приведенных определений относится к своему собственному уровню:
- сегмент связан с транспортным уровнем;
- пакет относится к сетевому уровню;
- кадр к канальному.
Обратите внимание на кадр, у него есть заголовок LH и концевик Т.
Рис. 2. Смысл терминов "сегмент", "пакет" и "кадр"
На рис. 2. инкапсулированные данные помечены словом "данные". Если сосредоточиться на функциях какого-либо из уровней, то, что находится в поле данных, не представляет для уровня никакого интереса, это просто какой-то блок информации, не имеющий отношения к текущему уровню. Например, в пакете IP может после его заголовка идти заголовок ТСР, за ним - заголовок протокола НТТР, дальше будут присутствовать данные какой-либо web-страницы в поле данных. Однако для протокола IP все, что идет за его собственным заголовком, представляет собой просто некоторые данные. Поэтому на многих схемах, когда иллюстрируют поля пакета IP, все, что идет после заголовка IP , называют данными и не обращают на них ни малейшего внимания.