Инкапсуляция сетевых протоколов. Инкапсуляция (компьютерные сети). Эталонная сетевая модель OSI

UNIX поддерживает работу в целом ряде физических сетей, включая Ethernet (в том числе беспроводная связь), FDDI, Token Ring, ATM и системы с последовательными соединениями. Управление аппаратными устройствами осуществляется на канальном уровне архитектуры TCP/IP, а протоколы более высоких уровней не знают о том, как именно используются аппаратные средства.

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

Имя базового блока передачи данных зависит от уровня протокола. На канальном уровне это кадр или фрейм , в протоколе IP — пакет , а в протоколе TCP — сегмент . Мы будем придерживаться универсального термина "пакет".

Когда пакет передается вниз по стеку протоколов, готовясь к отправке, каждый протокол добавляет в него свой собственный заголовок. Законченный пакет одного протокола становится полезным содержимым пакета, генерируемого следующим протоколом. Эта операция известна как инкапсуляция. На принимающей машине инкапсулированные кадры восстанавливаются в обратном порядке.

Например, дейтаграмма, передаваемая по сети Ethernet, упакована в трех различных "конвертах". В среде Ethernet она "вкладывается" в простой физический кадр, заголовок которого содержит сведения об аппаратных адресах отправителя и ближайшего получателя, длине кадра и его контрольной сумме (CRC). Полезным содержимым Ethernet-кадра является IP-пакет. Полезное содержимое IP-пакета — UDP-пакет, и, наконец, полезное содержимое UDP-пакета состоит собственно из передаваемых данных. Компоненты такого кадра изображены на рис. Б.

Рис. Б. Типичный сетевой пакет.

Под словом "байт" мы подразумеваем 8-битовую цепочку данных. В былые времена этот термин имел более широкое значение, поэтому иногда в документах RFC можно встретить термин "октет".

Канальный уровень

Канальный уровень обеспечивает связь между сетевым программным обеспечением и собственно сетевым оборудованием.

Стандарты формирования кадров Ethernet

Одна из основных обязанностей канального уровня — добавление заголовков к пакетам и вставка разделителей между ними. Заголовки содержат информацию об адресах канального уровня и контрольные суммы, а разделители позволяют принимающей стороне определить, где заканчивается один пакет и начинается другой. Процесс добавления вспомогательных битов называется формированием кадров.

В десятимегабитных сетях Ethernet существует два различных стандарта кадровой разбивки: DIX Ethernet II и IEEE 802.2 LLC SNAP. На серверах UNIX и в маршрутизаторах Cisco применяется первый стандарт, в сетях IPX и системах Novell — второй. Стандарты различаются несколькими полями в заголовке кадра, но они не конфликтуют друг с другом, поэтому принимающее устройство может однозначно определить формат каждого пакета и соответствующим образом декодировать заголовок.

Выбор стандарта кадровой разбивки диктуется имеющейся сетевой платой и ее драйвером. На персональных компьютерах, работающих под управлением Windows, выбор можно делать самостоятельно, а в UNIX — обычно нет. С точки зрения UNIX оба стандарта прекрасно взаимодействуют. А вот в среде Windows компьютеры, расположенные в одной сети, но придерживающиеся различных стандартов, не могут общаться друг с другом. Системному администратору обычно не приходится заниматься вопросами формирования кадров, если только не выполняется низкоуровневая отладка в смешанной сети.

Стандарты кабелей Ethernet

Выбор кабелей в десятимегабитной сети Ethernet довольно прост, но ситуация усложняется, когда речь заходит о стомегабитных сетях. Раньше существовали три различных стандарта для витой пары (ТХ, в котором использовались две пары кабелей категории 5, а также Т4 и VG, в каждом из которых требовались четыре пары категории 3) и еще один для оптоволокна (FX, в котором используется многорежимный волоконно-оптический кабель). Компания Hewlett-Packard отстаивала стандарт VG и первой выпустила для него продукты. Другие производители проигнорировали его и остановили свой выбор на стандарте ТХ, который в настоящее время используется повсеместно.

Беспроводные сети

В спецификации IEEE 802.11 делается попытка описать стандарты кадровой разбивки и передачи сигналов для беспроводных сетей. К сожалению, спецификация является весьма нечеткой и включает ряд параметров, которые не были полностью определены. При взаимодействии разнородных сетей приходилось учитывать такие аспекты, как трансляция и инкапсуляция.

В случае трансляции пакет преобразуется из одной формы в другую, а при инкапсуляции он упаковывается в структуру требуемого формата. В среде Windows применяется инкапсуляция, а в UNIX — трансляция, поэтому базовые беспроводные станции должны конфигурироваться явным образом. Когда развертывается беспроводная сеть, нужно убедиться, что базовая станция и связанные с ней рабочие станции функционируют в одинаковом режиме.

Пользователи портативных компьютеров сталкиваются с другой проблемой, вызванной неоднозначностью спецификации 802.11. Беспроводные платы PCMCIA имеют энергосберегающий режим, несовместимый с некоторыми базовыми станциями. По умолчанию он, естественно, включен. Если окажется, что пользовательские портативные компьютеры не работают в беспроводной сети, попросите пользователей отключить энергосберегающий режим. Самая лучшая конфигурация домашней беспроводной сети — с базовой станцией Apple AirPort и сетевыми платами Lucent. Посредством портативного компьютера в такую сеть можно входить отовсюду: в постели в бассейне и даже с улицы.

Максимальный размер передаваемого блока

Размер пакетов ограничивается как характеристиками аппаратных средств, так и требованиями протоколов. Например, объем полезного содержимого Ethernet-пакета не может превышать 1500 байтов. Предельны; размер пакета устанавливается на канальном уровне и называется максимальной единицей передачи (Maximum Transfer Unit, MTU). Типичные значения параметра MTU приведены в табл. 13.2.

Для ATM параметр MTU не вполне применим, так как сеть ATM расположена где-то на границе между физическим и канальным уровнями. Ячейка ATM обычно имеет размер 53 байта с 48-байтовым блоком данных, но в спецификации AAL/5 пакет может иметь размер до 216 байтов. Как правило, в обычном режиме параметр MTU равен 9180 байтов, а в режиме LANE (Local Area Network Emulation — эмуляция локальной сети) — 1500 байтов.

Таблица 13.2. Максимальные размеры передаваемых блоков в сетях различных типов

В TCP/IP протокол IP отвечает за разбивку пакета на фрагменты, чтобы их размер соответствовал требованиям конкретного сетевого соединения. Если пакет проходит через несколько сетей, в одной из них параметр MTU может оказаться меньшим, чем в исходной сети. В этом случае маршрутизатор подвергнет пакет дальнейшей фрагментации. Подобный процесс нежелателен, когда маршрутизатор сильно загружен. Протокол TCP способен определить наименьшее значение MTU вдоль всего пути следования пакета и с самого начала разбить пакет в соответствии с этим значением. Протокол UDP не столь "любезен" и перекладывает всю ответственность на протокол IP. В стандарте IPv6 промежуточные маршрутизаторы больше не могут выполнять фрагментацию пакетов: режим предварительного определения максимального размера блока является обязательным.

Иногда проблема фрагментации оказывается достаточно коварной. Например, в виртуальной частной сети с туннельной архитектурой необходимо проверять размер пакетов, проходящий через туннель. Обычно их начальный размер — 1500 байтов, но когда к ним добавляется туннельный заголовок, размер пакетов становится равным примерно 1540 байтов, и уже требуется фрагментация. Уменьшение размера блока позволяет избежать фрагментации и повысить производительность сети. Обратитесь к man -странице по команде ifconfig , чтобы узнать, как настроить параметр MTU сетевой платы.

Адресация пакетов

Подобно письмам и сообщениям электронной почты, сетевые пакеты могут достичь пункта назначения только при наличии правильного адреса. В TCP/IP используется сочетание нескольких схем адресации:

Сетевая плата может иметь МАС-адрес канального уровня, который отличает ее от других сетевых плат данной физической сети, IP-адрес, определяющий ее положение в сети Internet, и текстовое имя, понятное пользователям.

Самый нижний уровень адресации задается сетевыми аппаратными средствами. Например, Ethernet-устройствам при изготовлении присваиваются уникальные шестибайтовые аппаратные адреса. Платы сетей Token Ring имеют аналогичные шестибайтовые адреса. В некоторых сетях с двухточечным соединением (например, РРР; см. параграф 13.8) аппаратные адреса вообще не нужны: адрес пункта назначения указывается непосредственно при установлении соединения.

Шестибайтовые адреса Ethernet разбиваются на две части: первые три байта определяют изготовителя платы, а последние три байта выступают в качестве уникального серийного номера, назначаемого изготовителем. Текущий список производителей сетевого оборудования можно получить по адресу

http://www.iana.org/assignments/ethernet-numbers

В свое время эта информация регулярно публиковалась в виде документов RFC, но затем такая практика прекратилась. Последним документом в серии Assigned Numbers (назначенные номера) был документ RFC1700 (1994 г.) Официальным хранилищем всех специальных имен, действующих в сети Internet, является Web-страничка www.iana.org/numbers.htm.

Аппаратные адреса Ethernet должны быть постоянными и неизменным. К сожалению, некоторые сетевые платы допускают программное задание аппаратных адресов. Особенно сложно в этом отношении с платами беспроводной связи. Избегайте назначения адресов из диапазона группового вещания и других специальных адресов. В Solaris и Red Hat можно менять аппаратный адрес любого сетевого интерфейса, но лучше этого не делать.

На следующем, более высоком уровне используется Internet-адресация (которую чаще называют IP-адресацией). Каждому сетевому интерфейсу присваивается четырехбайтовый IP-адрес. Эти адреса глобально уникальны и аппаратно независимы. Мы уделим им достаточно много внимания i параграфе 13.4.

Соответствие между IP-адресами и аппаратными адресами реализуется на канальном уровне модели TCP/IP. В сетях, допускающих широковещательный режим (т.е. в сетях, позволяющих адресовать пакеты всем компьютерам данной физической сети), протокол ARP обеспечивает автоматическую привязку адресов без вмешательства системного администратора.

Поскольку IP-адреса представляют собой длинные, на первый взгляд случайные, числа, то запомнить их трудно. UNIX-системы позволяют связывать текстовые имена с IP-адресами, чтобы вместо telnet 128.138.242.1 пользователь мог ввести telnet anchor .

Существует несколько способов осуществления подобной привязки: с помощью статического файла (/etc/hosts ), баз данных NIS и NIS+ и, наконец. DNS — глобальной системы доменных имен. Помните, что имя компьютера — это просто сокращенный способ записи IP-адреса; низкоуровневое сетевое программное обеспечение его не понимает.

Порты

IP-адреса идентифицируют компьютеры, точнее, сетевые интерфейсы компьютера; они недостаточно конкретны для адресации отдельных процессов и сервисов. Протоколы TCP и UDP расширяют концепцию IP-адресов, вводя понятие порта. Порт в данном случае представляет собой двухбайтовое число, добавляемое к IP-адресу и указывающее конкретный канал взаимодействия. Все стандартные сервисы UNIX, в частности электронная почта, FTP, сервер удаленного доступа, связываются с "известными" портами, которые определены в файле /etc/services . Для того чтобы предотвратить попытки сторонних процессов замаскироваться под стандартные сервисы, UNIX-системы ограничивают доступ к портам с номерами до 1024 только для пользователя root.

Типы адресов

В протоколе IP и на канальном уровне поддерживается несколько типов адресов:

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

Режим группового вещания используется в таких приложениях, как, например, видеоконференции, где одна и та же последовательность пакетов посылается всем участникам конференции. Протокол IGMP (Internet Group Management Protocol — протокол управления группами Internet) отвечает за управление группами узлов, идентифицируемыми как один групповой адресат. Режим группового вещания все еще является экспериментальным. Тем не менее, он находит все более широкое применение в таких областях, как передача голосовых данных по IP-сетям и передача видео по запросу.

На канальном уровне младший бит старшего байта группового адреса (первый байт, передаваемый по кабелю) установлен равным 1, т.е. любой адрес с нечетным первым байтом рассматривается как групповой. Такие адреса используются различными аппаратными устройствами в протоколах начальной конфигурации. Адрес группового вещания в Internet — 01:00:5Е.

Широковещательные адреса канального уровня, если рассматривать их в двоичном виде, состоят из одних единиц.

В протоколе IP групповые адреса начинаются с байта, значение которого находится в диапазоне 224—239. В широковещательных адресах последняя часть адреса в двоичном виде состоит из одних единиц.

Инкапсуляция пакетов и промежуточные узлы

При продвижении пакета с данными прикладного процесса по уровням сверху вниз каждый новый уровень добавляет к пакету свою служебную информацию в виде заголовка и, возможно, окончания (трейлера) - информации, помещаемой в конец сообщения.

Эта операция называется инкапсуляцией данных верхнего уровня в пакет нижнего уровня. Служебная информация предназначается для объекта того же уровня на удаленном компьютере, ее формат и интерпретация определяются протоколом данного уровня.

Данные, приходящие с верхнего уровня, могут представлять собой пакеты с уже инкапсулированными данными еще более верхнего уровня.

При получении пакета от нижнего уровня он разделяется на заголовок, трейлер и данные. Служебная информация из заголовка и трейлера анализируется, и в соответствии с ней принимается решение, что делать с данными, содержащимися в полученном пакете.

Одним из вариантов является направление данных одному из объектов верхнего уровня (какому именно - должно быть указано в проанализированной служебной информации). Тот, в свою очередь, рассматривает эти данные как пакет со своей служебной информацией и данными для еще более верхнего уровня, и процедура повторяется, пока пользовательские данные, очищенные от всей служебной информации, не достигнут прикладного процесса.

Но есть возможность, что пакет не будет проведен до самого верхнего уровня (например, если данный компьютер представляет собой промежуточную станцию на пути между отправителем и получателем). В этом случае объект соответствующего уровня при анализе служебной информации заметит, что пакет на этом уровне адресован не ему. Тогда объект выполнит необходимые действия для перенаправления пакета к месту назначения или возврата отправителю с сообщением об ошибке, но в любом случае не будет продвигать данные на верхний уровень.

Протоколы, основанные на модели OSI используются редко:

В силу своей не всегда оправданной сложности;

Поэтому модель OSI - опорная база для классификации и сопоставления протокольных стеков.

Модель и четыре уровня стеков TCP/IP

Сеть Internet отличается от других сетей своими протоколами и в первую очередь протоколами TCP/IP.

Протокол - это набор правил, определяющий характер взаимодействия пользователей, последовательность выполнения ими действий при обмене информацией.

Термин TCP/IP означает все, что связано с протоколами взаимодействия между компьютерами в сети. Данный протокол представляет собой совокупность нескольких протоколов, прикладные программы и даже саму сеть.

Свое название протокол TCP/IP получил от двух типов протоколов связи:

Transmission Control Protocol (TCP);

Internet Protocol (IP).

Таким образом, TCP/IP - собирательное название для стека сетевых протоколов разных уровней, используемых в Internet.

Особенности TCP/IP.

Открытые стандарты протоколов, разрабатываемые независимо от программного и аппаратного обеспечения;

Независимость от физической среды передачи;

Система уникальной адресации;

Стандартизованные протоколы высокого уровня для распространенных пользовательских сервисов.

Стек протоколов TCP/IP делится на четыре уровня :

I.Прикладной (application ). Приложения, работающие со стеком TCP/IP, могут также выполнять функции уровней представления и частично сеансового модели OSI.

Распространенными примерами приложений являются программы telnet, ftp, WWW-серверы и клиенты (Интернет-браузеры), программы работы с электронной почтой. Для пересылки данных через сеть другому приложению оно обращается к тому или иному модулю транспортного уровня;

II.Транспортный (transport). Протоколы данного уровня обеспечивают прозрачную (сквозную) доставку данных между двумя прикладными процессами. Для передачи и получения данных, отправляемых друг другу, они используют межсетевой уровень. На транспортном уровне работают два основных протокола:

1. TCP (Transmission Control Protocol) - надежный протокол с установлением соединения: он управляет логическим сеансом свя зи (устанавливает, поддерживает и закрывает соединение) между процессами и обеспечивает надежную (безошибочную и гарантированную) доставку прикладных данных от процесса к процессу;

Таким образом, протокол TCP обеспечивает надежную доставку, безошибочность и правильный порядок приема передаваемых данных.

Протокол TCP (Transmission Control Protocol , Протокол контроля передачи) обеспечивает сквозную доставку данных между прикладными процессами, запущенными на узлах, взаимодействующих по сети.

Модуль TCP выполняет передачу непрерывных потоков данных между своими клиентами в обоих направлениях . Клиентами TCP являются прикладные процессы, вызывающие модуль TCP при необходимости получить или отправить данные процессу-клиенту на другом узле.

Протокол TCP рассматривает данные клиента как непрерывный неинтерпретируемый поток пакетов. TCP разделяет этот поток на части для пересылки на другой узел в TCP -сегментах некоторого размера. Для отправки или получения сегмента модуль TCP вызывает модуль IP .

Таким образом, TCP делит информацию, которую надо переслать, на несколько частей . Нумерует каждую часть, чтобы позже восстановить порядок. Чтобы пересылать эту нумерацию вместе с данными, он обкладывает каждый кусочек информации своей обложкой - конвертом, который содержит соответствующую информацию. Это и есть TCP-конверт. Получившийся TCP-пакет помещается в отдельный IP-конверт и получается IP-пакет, с которым сеть уже умеет обращаться.

Получатель (TCP-модуль (процесс)) по получении распаковывает IP-конверты и видит TCP-конверты, распаковывает и их и помещает данные в последовательность частей в соответствующее место. Если чего-то не достает, он требует переслать этот кусочек снова. В конце концов информация собирается в нужном порядке и полностью восстанавливается. Вот теперь этот массив пересылается выше к пользователю (на диск, на экран, на печать).

В сети Internet используется большое число и других протоколов, однако эту сеть часто называют TCP/IP сетью, так как эти два протокола являются важнейшими.

2. UDP (User Datagram Protocol ) - протокол дейтаграмм пользователя - является ненадежным протоколом без установления соединения: это значит, что ни логический сеанс связи , ни надежная доставка прикладных данных этим протоколом не обеспечиваются. Фактически UDP не предоставляет никаких услуг, кроме мультиплексирования пакетов с прикладными данными - то есть направления данных тому или иному приложению в зависимости от номера порта. Услугами UDP пользуются, например, доменная система имен (DNS), сетевая файловая система NFS;



III. Сетевой (межсетевой, или Internet ). Основным протоколом этого уровня является протокол IP (Internet Protocol). Этот протокол является центром, вокруг которого строится весь стек TCP/IP.

Протокол IP отвечает за поиск маршрута (или маршрутов) в Internet от одного компьютера к другому через множество промежуточных сетей, шлюзов и маршрутизаторов и передачу блоков данных по этим маршрутам.

Протокол IP является ненадежным протоколом без установления соединения . Это означает, что протокол IP не подтверждает доставку данных, не контролирует целостность полученных данных и не производит операцию квитирования (handshaking) - обмена служебными сообщениями, подтверждающими установку соединения с узлом назначения и его готовность к приему данных.

Протокол IP обрабатывает каждую дейтаграмму как независимую единицу, не имеющую связи ни с какими другими дейтаграммами в Internet. После того, как дейтаграмма отправляется в сеть, ее дальнейшая судьба никак не контролируется отправителем (на уровне протокола IP ). Если дейтаграмма не может быть доставлена, она уничтожается. Узел, уничтоживший дейтаграмму, может оправить по обратному адресу ICMP-сообщение , о причине сбоя.

Одна из основных задач, решаемых протоколом IP , - маршрутизация дейтаграмм, т.е. определение пути следования дейтаграммы от одного узла сети к другому на основании адреса получателя.

Таким образом, протокол IP доставляет блоки данных, называемые дейтаграммами, от одного IP-адреса к другому через компьютерную сеть. IP-адрес является уникальным 32-битным идентификатором компьютера (точнее, его сетевого интерфейса). Данными для дейтаграммы является блок данных, передаваемых IP-модулю транспортным уровнем. IP-модуль предваряет эти данные заголовком, содержащим IP-адреса отправителя и получателя и другую служебную информацию, и сформированная таким образом дейтаграмма передается на уровень доступа к сети для отправки по каналу передачи данных;

IV. Уровень доступа к сети (network access ), который выполняет следующие функции:

· отображение IP-адресов в физические адреса сети. Эту функцию выполняет протокол разрешения адресов ARP (Address Resolution Protocol);

· инкапсуляция IP-дейтаграмм в кадры для передачи по физическому каналу и извлечение дейтаграмм из кадров. При этом не требуется какого-либо контроля безошибочности передачи, поскольку в стеке TCP/IP такой контроль возложен на транспортный уровень или на само приложение;

· определение метода доступа к среде передачи, то есть способа, с помощью которого компьютер устанавливает свое право на произведение передачи данных;

· определение представления (кодирования) данных в физической среде;

· пересылка и прием кадра.

Часто в качестве уровня доступа к сети выступают целые протокольные стеки; тогда говорят об IP поверх ATM, IP поверх IPX и т. д.

Инкапсуляция – это процесс передачи данных с верхнего уровня приложений вниз (по стеку протоколов) к физическому уровню, чтобы быть переданными по сетевой физической среде (витая пара, оптическое волокно, Wi-Fi, и др.). Причём на каждом уровне различные протоколы добавляют к передающимся данным свою информацию.

Напомню, что сетевая модель OSI состоит из 7 уровней (уровень приложений, уровень представления, сеансовый, транспортный, сетевой, канальный и физический). Все сетевые устройства работают согласно модели OSI, только некоторые используют все 7 уровней, а другие меньше. Это позволяет обрабатывать поступающие данные в несколько раз быстрее.

Например, Ваш компьютер использует все 7 уровней, маршрутизатор – 3 нижних уровня, коммутатор – только 2 нижних уровня.

На рисунке Вы видите взаимодействие двух компьютеров, между которыми находится маршрутизатор. Компьютерами PC1 и PC2 могут быть как домашние компьютеры, так и сервера. Маршрутизатор, как и говорилось выше, работает только на трех уровнях модели, их (трех уровней) достаточно, чтобы проложить маршрут в любой сети.

Теперь перейдем к самому процессу инкапсуляции, декапсуляции.

Инкапсуляция и декапсуляция

Проще будет разобрать эти процессы инкапсуляции и декапсуляции на примере. Допустим, Вы захотели посмотреть какую-то веб-страничку, ввели в адресную строк браузера адрес сайта и нажали кнопку Enter. После этого браузер должен отправить запрос на сервер (на котором хранится эта веб-страничка), с целью получения данных. Вот как раз на этом этапе, введённый Вами адрес сайта является данными, которые должны передаться на сервер в виде запроса.

Эти данные опускаются с уровня приложений, на уровень представления данных.

На этом уровне Ваш компьютер преобразует строку введенного текста (адреса) в формат удобный для передачи далее на нижний уровень.

Транспортный уровень получает данные и определяет, что дальше они должны быть переданы используя протокол TCP. Перед передачей транспортный уровень разбивает данные на кусочки данных и добавляет к каждому кусочку заголовок, в котором содержится информация о логических портах компьютеров (с какого данные были посланы (например 1223) и для какого предназначаются (в данном случае 80)). На транспортном уровне эти кусочки данных с заголовком называются сегментами. Сегменты передаются дальше вниз к сетевому уровню.

Сетевой уровень, получая каждый сегмент, разделяет его на еще более маленькие части и к каждой части добавляет свой заголовок. В заголовке сетевого уровня указываются логические сетевые адреса отправителя (Ваш компьютер) и получателя (Сервер).

Логические сетевые адреса – это всем известные IP-адреса, еще наверное непонятно что обозначают цифры и точки в них, но вскоре, этот пробел в знаниях заполнит соответствующая информация;)

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

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

Физические адреса устройств – это MAC-адреса.

Эти очень маленькие кусочки данных именуются кадрами или фреймами (одно и тоже). Далее кадры передаются на физический уровень.

На физический уровень кадры передаются уже в виде сигналов битов и следуют через другие сетевые устройства в пункт назначения.

Весь процесс преобразования данных (с верхнего уровня) в сигналы (на нижний уровень) называется инкапсуляцией. Посмотрите на рисунок ниже, там представлена общая схема инкапсулирования с верхнего уровня на нижний:


Далее сигналы, проходя через несколько сетевых устройств (в нашем случае это маршрутизатор и коммутатор), доходят до получателя, в данном случае до сервера (По всем картинкам можно кликнуть и они увеличится).


Сетевая карта сервера принимает биты (на физическом уровне) и преобразует их в кадры (для канального уровня). Канальный уровень в обратной последовательности должен преобразовать кадры в пакеты (для сетевого уровня), только перед преобразованием уровень сначала смотрит на МАС-адрес (физический адрес) получателя, он должен совпадать с MAC-адресом сетевой карты, иначе кадр будет уничтожен. Затем канальный уровень (в случае совпадения MAC-адреса) высчитывает сумму полученных данных и сравнивает полученное значение со значением трейлера. Напомню, что значение трейлера высчитывалось на Вашем компьютере, а теперь оно, после передачи по проводам, сравнивается с полученным значением на сервере и если они совпадают, кадр преобразуется в пакет. Если проверочный код целостности данных рознится – кадр незамедлительно уничтожается.

На сетевом уровне происходит проверка логического адреса (IP-адреса), в случае успешной проверки пакет преобразуется в сегмент, попадая на транспортный уровень.

На транспортном уровне проверяется информация из заголовка, что это за сегмент, какой используется протокол, для какого логического порта предназначается и т.п. Протокол использовался TCP, поэтому назад на Ваш компьютер посылается уведомление о прибытии сегмента. Как говорилось выше (когда данные упаковывали в сегмент) в том случае использовался 80 порт назначения. Т.к. на веб-сервере как раз открыт этот порт, данные передаются дальше на верхний уровень.

На верхних уровнях запрос (введенный адрес сайта) обрабатывается веб-сервером (проверяется, доступна-ли запрашиваемая веб-страничка).

Этот процесс преобразования сигналов из провода в данные называется процессом декапсуляции .

После того, как страница будет найдена на сервере, она (текст, изображения, музыка) преобразуется в цифровой код, удобный для инкапсулирования. Большой объём данных делится на части и поступает ниже на уровень – транспортный. Там кусочек данных преобразуется в сегмент, только порт назначения теперь будет тот, с которого вы посылали (вспоминайте, 1223). Сегмент преобразуется в пакет, в заголовке которого содержится IP-адрес вашего компьютера и переходит ниже. На канальном уровне пакет в свою очередь преобразуется в кадры и добавляется заголовок и трейлер. В заголовок помещается МАС-адрес назначения (в данном случае это будет адрес шлюза), а в трейлер проверочный код на целостность данных. Далее сетевая карта посылает кадры в виде сигналов по кабелю по направлению к Вашему компьютеру.

Так и происходит сетевой обмен данными, инкапсуляция и декапсуляция.

PDU

Вам обязательно надо запомнить, что те кусочки данных (вместе с заголовками), которые переходят с уровня на уровень (с добавлением заголовков или наоборот) называются Protocol Data Unit или PDU . Если перевести литературно на русский язык, то получается фрагмент данных на каждом уровне модели . В первой части CCNA попадаются вопросы связанные с PDU, так что обязательно запомните что это такое;)

Заключение

Вы познакомились с эталонными сетевыми моделями OSI, TCP/IP (DOD), разобрались с процессами инкапсуляции (encapsulation) и декапсуляции (decapsulation).

Также узнали, что разные сетевые устройства работают на разных уровнях. А вот какие сетевые устройства существуют и чем они отличаются узнаем в следующей статье.

IP - инкапсуляция

Это самый главный процесс, выполняемый IPTV станцией. Для передачи транспортных MPEG-потоков через традиционные сети с пакетной передачей данных, головная станция IPTV объединяет множество 188-ми байтовых MPEG транспортных пакетов и формирует из них полезную нагрузку кадра PDU (protocol data unit).

Рисунок 10 – Процесс инкапсуляции

Рисунок 10 иллюстрирует процесс инкапсуляции. Заголовок (Header) и замыкающая часть кадра (Trailer) определяются используемым сетевым протоколом.

Следующие два рисунка 11 и 12 иллюстрируют инкапсуляцию MPEG-пакетов в Gigabit Ethernet сетях.

На рисунке 11 показан кадр в формате MPEG over UDP/IP over Gigabit Ethernet. Замыкающая часть кадра это как обычно CRC (cyclic redundancy code) – контрольный циклический избыточный код.

Рисунок 11а показывает инкапсуляцию MPEG over Gigabit Ethernet в реальном времени с использованием протокола RTP.

Рисунок 11 – Инкапсуляция кадра в формате MPEG over UDP/IP в Gigabit Ethernet

Протокол RTP (Real-time transport protocol) определяет и компенсирует потерянные пакеты, обеспечивая безопасность передачи контента и распознавание информации. Протокол RTP функционирует поверх протокола UDP (User Datagram Protocol), расположенного в стеке протоколов TCP/IP над протоколом IP. Разница между двумя рисунками только в добавлении RTP-заголовка в секцию заголовка протокола (Protocol Header).

Рисунок 11a - Инкапсуляция кадра в формате MPEG в Gigabit Ethernet с использованием RTP

Рисунок 12 иллюстрирует формат MPEG over UDP/IP over ATM с классической IP-инкапсуляцией (RFC 2684 LLC инкапсуляция маршрутизируемых протоколов). В состав полезной нагрузки AAL-5 входит IP-пакет, с нагрузкой из множества транспортных пакетов MPEG, плюс RFC 2684 заголовок и замыкающая часть кадра. В этом случае полный кадр AAL-5 PDU предоставлен уровню ATM для дальнейшей сегментации в ATM ячейки. (Padding в секции Trailer это заполнение секции незначащей информацией).

Для других RFC 2684 ATM подобных инкапсуляций производятся соответствующие изменения. Так, например, для инкапсуляции в реальном времени после заголовка UDP был бы заголовок RTP. А для мостовой (bridged) инкапсуляции Ethernet был бы заголовок Ethernet MAC перед IP заголовком.

Рисунок 12a показывает инкапсуляцию MPEG over Native ATM. Он очень похож на предыдущие рисунки, различие заключается в удалении UDP/IP и RFC 2684 уровней (собственно, поэтому такой метод и называется “Native” (наследственный) ATM, так как он не имеет каких-либо дополнительных протоколов). Для этого метода заголовок протокола является пустым и этот метод более эффективно использует ширину полосы, чем другие ATM методы. Однако присутствие UDP/IP заголовков в других методах позволяет поддерживать множество однопрограммных транспортных потоков (SPTS) через одну виртуальную ATM цепь, что невозможно в методе ATM Native.

Сетевая модель - теоретическое описание принципов работы набора сетевых протоколов, взаимодействующих друг с другом. Модель обычно делится на уровни, так, чтобы протоколы вышестоящего уровня использовали бы протоколы нижестоящего уровня (точнее, данные протокола вышестоящего уровня бы передавались с помощью нижележащих протоколов - этот процесс называют инкапсуляцией, процесс извлечения данных вышестоящего уровня из данных нижестоящего - деинкапсуляцией). Модели бывают как практические (использующиеся в сетях, иногда запутанные и/или не полные, но решающие поставленные задачи), так и теоретические (показывающие принципы реализации сетевых моделей, приносящие в жертву наглядности производительность/возможности).

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

Сетевая модель OSI (англ. Open Systems Interconnection Reference Model - модель взаимодействия открытых систем) - абстрактная модель для сетевых коммуникаций и разработки сетевых протоколов.

Представляет уровневый подход к сети. Каждый уровень обслуживает свою часть процесса взаимодействия. Благодаря такой структуре совместная работа сетевого оборудования и программного обеспечения становится гораздо проще и понятнее.

7 Прикладной

6 Представительский

5 Сеансовый

4 Транспортный

3 Сетевой

2 Канальный

1 Физический

19 Стек протоколов TCP/IP. Соответствие уровням модели OSI.

Стек протоколов TCP/IP (англ. Transmission Control Protocol/Internet Protocol) - набор сетевых протоколов разных уровней модели сетевого, используемых в сетях. Протоколы работают друг с другом в стеке (англ. stack, стопка) - это означает, что протокол, располагающийся на уровне выше, работает «поверх» нижнего, используя механизмы инкапсуляции. Например, протокол TCP работает поверх протокола IP.

Стек протоколов TCP/IP включает в себя протоколы четырёх уровней: прикладного (application),транспортного (transport),сетевого (internet),уровня доступа к среде (network access).

Протоколы этих уровней полностью реализуют функциональные возможности модели OSI. На стеке протоколов TCP/IP построено всё взаимодействие пользователей в IP-сетях. Стек является независимым от физической среды передачи данных.

Существуют разногласия в том, как вписать модель TCP/IP в модель OSI, поскольку уровни в этих моделях не совпадают.К тому же, модель OSI не использует дополнительный уровень - «Internetworking» - между транспортным и сетевым уровнями.

Обычно в стеке TCP/IP верхние 3 уровня (прикладной, представительский и сеансовый) модели OSI объединяют в один - прикладной. Поскольку в таком стеке не предусматривается унифицированный протокол передачи данных, функции по определению типа данных передаются приложению.

Протокол IP.

Internet Protocol или IP (англ. internet protocol - межсетевой протокол) - маршрутизируемый сетевой протокол, протокол сетевого уровня семейства TCP/IP.

Протокол IP используется для негарантированной доставки данных, разделяемых на так называемые пакеты от одного узла сети к другому. Это означает, что на уровне этого протокола (третий уровень сетевой модели OSI) не даётся гарантий надёжной доставки пакета до адресата. В частности, пакеты могут прийти не в том порядке, в котором были отправлены, продублироваться (когда приходят две копии одного пакета; в реальности это бывает крайне редко), оказаться повреждёнными (обычно повреждённые пакеты уничтожаются) или не прибыть вовсе. Гарантию безошибочной доставки пакетов дают протоколы более высокого (транспортного уровня) сетевой модели OSI - например, TCP - которые используют IP в качестве транспорта.

В современной сети Интернет используется IP четвёртой версии, также известный как IPv4. В протоколе IP этой версии каждому узлу сети ставится в соответствие IP-адрес длиной 4 октета (4 байта). При этом компьютеры в подсетях объединяются общими начальными битами адреса. Количество этих бит, общее для данной подсети, называется маской подсети (ранее использовалось деление пространства адресов по классам - A, B, C; класс сети определялся диапазоном значений старшего октета и определял число адресуемых узлов в данной сети, сейчас используется бесклассовая адресация).