---
status: stable
type: concept
tags:
  - network
updated: 2026-03-24
title: Инкапсуляция Данных
created: 2025-12-17
---

# Инкапсуляция Данных
Согласно моделям [[Модель OSI|OSI]] и TCP/IP данные передаются последовательно от приложения ниже по уровням, далее по физическому уровню от отправителя к получателю, а у получателя последовательно вверх к уровню приложения. Процесс "спуска" сверху вниз называется _**инкапсуляцией**_, а "подъем" снизу вверх - _**деинкапсуляцией**_

## Инкапсуляция

_Инкапсуляция данных_ - это процесс добавления к исходным данным, полученным с уровня приложения (L7), некоторой дополнительной служебной информации, которая позволяет надлежащим образом обрабатывать и передавать исходную информацию. Добавляться информация может как в заголовок (**header**), так и в конец (**footer**, **trailer**) данных.

## Деинкапсуляция

_Деинкапсуляция данных_ - процесс, очевидно, обратный инкапсуляции. Информация, полученная на уровне `n` в процессе инкапсуляции, обрабатывается тем же уровнем `n` в процессе деинкапсуляции и эта информация удаляется из данных.

![](Инкапсуляция%20данных_image.png)

## Процесс Инкапсуляции

1. Приложение получает какие-то данные (имеются ввиду L7+L6+L5), обрабатывает, инкапсулирует (как - не столь важно, это зависит от приложения, притом не обязательно, добавляя _headers_).
2. Транспортный (L4) уровень получает поток данных и разделяет на несколько частей. К каждой части добавляет заголовок, теперь это "**сегменты данных**". Заголовки содержат информацию о последовательности, что позволяет получателю собрать сегменты в полноценный поток данных.
3. Сетевой (L3) уровень получает сегменты данных, добавляя им заголовок, содержащий служебную информацию о маршрутизации для правильной доставки данных. Теперь сегмент называется пакетом или дейтаграммой (datagram).
4. Канальный (L2) уровень берет пакет и добавляет к нему **заголовок**, содержащий информацию для коммутации конкретным аппаратным компонентам, а также нижний **футер**, содержащий информацию, связанную с обнаружением ошибок. Здесь данные называются фреймом (_frame_) данных.
5. Физический (L1) уровень работает с фреймами, преобразуя их в физический сигнал.

## Процесс Деинкапсуляции

1. L1 принимает физический сигнал и преобразовывает в фреймы данных.
2. L2 проверяет заголовок фрейма, правильно ли он пришел (если нет - выбрасываем), дальше проверяет футер, если есть ошибка, то запрашивается повторная передача данных, иначе, пересылает выше.
3. L3 получает пакет и смотрит на заголовок (проверка правильности маршрутизации), если всё нормально, то сегмент данных пересылается дальше.
4. L4 проверяет заголовок сегмента, затем собирает все сегменты в нужном порядке для формирования потока данных.
5. L5+L6+L7 преобразуют поток данных по правилам конкретного ПО и выдают конечному пользователю.

> **Сегментирование данных**
> 
>  Сегментирование - процесс разбиение сообщения на более мелкие единицы. Мультиплексирование - процесс получение нескольких потоков сегментированных данных.
> 
> Сегментация имеет два основных преимущества:
> 
> 1. Высокая скорость - нет нужны отправлять весь файл по одному каналу связи, можно отправить много сегментов по многим каналам.
> 2. Большая эффективность - при потере одного сегмента не надо перекачивать весь файл, а нужно заново скачать только этот сегмент.