Инкапсуляция данных — процесс, который добавляет к данным содержимое заголовка дополнительного протокола перед передачей. В большинстве форм передачи данных первоначальные данные подвергаются инкапсуляции нескольких протоколов до начала передачи.
При отправке сообщения по сети стек протоколов на узле работает от верхнего уровня к нижнему. В примере с веб-сервером мы можем использовать модель TCP/IP, чтобы иллюстрировать процесс отправки клиенту веб-страницы в формате HTML.
Протокол прикладного уровня (HTTP) запускает процесс, предоставляя отформатированные данные HTML веб-страницы транспортному уровню. В нём данные приложения разбиваются на сегменты TCP. Каждому сегменту TCP присваивается метка, называемая заголовком и содержащая информацию о том, какой процесс, запущенный на компьютере назначения, должен получить сообщение. Кроме того, он содержит информацию, которая помогает процессу назначения собрать данные обратно в исходный формат.
Транспортный уровень инкапсулирует данные веб-страницы в формате HTML в сегменте и передаёт его на межсетевой уровень, где реализован протокол IP. В нём весь сегмент TCP инкапсулируется в IP-пакет, и к нему добавляется еще одна метка, называемая заголовком IP. В заголовке IP указываются IP-адреса узлов отправителя и получателя, а также данные, необходимые для доставки пакета соответствующему процессу назначения.
Далее этот пакет IP передаётся на уровень сетевого доступа, где он инкапсулируется — к нему добавляются заголовок кадра и Концевик. В каждом заголовке кадра указываются физические адреса источника и назначения. Физический адрес служит для идентификации устройства в локальной сети. В концевике указывается информация для проверки ошибок. Наконец, биты кодируются в среду передачи сетевой интерфейсной платой сервера. На рисунке нажмите кнопку «Воспроизведение», чтобы увидеть процесс инкапсуляции.