Инкапсуляция (компьютерные сети)

Материал из Википедии — свободной энциклопедии
(перенаправлено с «Инкапсуляция (в сетевых протоколах)»)
Перейти к навигации Перейти к поиску
Инкапсуляция последовательности пользовательских данных в TCP/IP протоколах.

Инкапсуля́ция в компью́терных сетя́х — это метод построения модульных сетевых протоколов, при котором логически независимые функции сети абстрагируются от нижележащих механизмов путём включения или инкапсулирования этих механизмов в более высокоуровневые объекты. Например, когда приложению требуется послать сообщение с помощью UDP, то производится последовательность действий:

  • в первую очередь приложение заполняет специальную структуру данных, в которой указывает информацию о получателе (сетевой протокол, IP-адрес, порт UDP);
  • передаёт сообщение, его длину и структуру с информацией о получателе обработчику протокола UDP (транспортный уровень);
  • обработчик UDP формирует датаграмму, в которой в качестве данных выступает сообщение, а в заголовках находится UDP-порт получателя (а также другие данные);
  • обработчик UDP передаёт сформированную датаграмму обработчику IP (сетевой уровень);
  • обработчик IP рассматривает переданную UDP датаграмму как данные и предваряет их своим заголовком (в котором, в частности, находится IP-адрес получателя, взятый из той же структуры данных приложения, и номер верхнего протокола);
  • полученный пакет обработчик IP передаёт на канальный уровень, который опять-таки рассматривает данный пакет как «сырые» данные;
  • обработчик канального уровня, аналогично предыдущим обработчикам, добавляет в начало свой заголовок (в котором так же указывается номер протокола верхнего уровня, в нашем случае это 0x0800(IP)) и, в большинстве случаев, добавляет конечную контрольную сумму, тем самым формируя кадр;
  • далее полученный кадр передаётся на физический уровень, который осуществляет преобразование битов в электрические или оптические сигналы и посылает их в среду передачи.

Итак, говоря более простым языком, инкапсуляция — это включение всего пакета одного протокола (то есть его заголовки и данные) внутрь пакета другого протокола в качестве передаваемой информации.

См. также[править | править код]

Ссылки[править | править код]