1 какой уровень модели открытых систем реализует сетевой адаптер вместе с драйвером

Обновлено: 06.07.2024

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

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

Связь сетевого адаптера с сетевым программным обеспечением осуществляют драйверы сетевых адаптеров. Именно благодаря драйверу компьютер может не знать никаких аппаратных особенностей адаптера (его адресов, правил обмена с ним, его характеристик). Драйвер унифицирует, делает единообразным взаимодействие программных средств высокого уровня с любым адаптером данного класса. Сетевые драйверы , поставляемые вместе с сетевыми адаптерами, позволяют сетевым программам одинаково работать с платами разных поставщиков и даже с платами разных локальных сетей (Ethernet, Arcnet , Token-Ring и т.д.). Если говорить о стандартной модели OSI, то драйверы , как правило, выполняют функции канального уровня, хотя иногда они реализуют и часть функций сетевого уровня ( рис. 6.1). Например, драйверы формируют передаваемый пакет в буферной памяти адаптера, читают из этой памяти пришедший по сети пакет, дают команду на передачу, информируют компьютер о приеме пакета.


Рис. 6.1. Функции драйвера сетевого адаптера в модели OSI

Качество написания программы драйвера во многом определяет эффективность работы сети в целом. Даже при самых лучших характеристиках сетевого адаптера некачественный драйвер может резко ухудшить обмен по сети.

Прежде чем приобрести плату адаптера, необходимо ознакомиться со списком совместимого оборудования ( Hardware Compatibility List , HCL ), который публикуют все производители сетевых операционных систем. Выбор там довольно велик (например, для Microsoft Windows Server список включает более сотни драйверов сетевых адаптеров). Если в перечень HCL не входит адаптер какого-то типа, лучше его не покупать.

Протоколы высоких уровней.

Существует несколько стандартных наборов (или, как их еще называют, стеков ) протоколов, получивших сейчас широкое распространение:

  • набор протоколов ISO/OSI;
  • IBM System Network Architecture ( SNA );
  • Digital DECnet ;
  • Novell NetWare;
  • Apple AppleTalk ;
  • набор протоколов глобальной сети Интернет, TCP/IP.

Включение в этот список протоколов глобальной сети вполне объяснимо, ведь, как уже отмечалось, модель OSI используется для любой открытой системы : на базе как локальной, так и глобальной сети или комбинации локальной и глобальной сетей.

Протоколы перечисленных наборов делятся на три основных типа:

  • Прикладные протоколы (выполняющие функции трех верхних уровней модели OSI – прикладного, представительского и сеансового);
  • Транспортные протоколы (реализующие функции средних уровней модели OSI – транспортного и сетевого);
  • Сетевые протоколы (осуществляющие функции трех нижних уровней модели OSI).

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

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

  • TCP (Transmission Control Protocol) – часть набора протоколов TCP/IP для гарантированной доставки данных, разбитых на последовательность фрагментов;
  • SPX – часть набора протоколов IPX/ SPX ( Internetwork Packet Exchange/ Sequential Packet Exchange) для гарантированной доставки данных, разбитых на последовательность фрагментов, предложенных компанией Novell;
  • NWLink – реализация протокола IPX/ SPX компании Microsoft;
  • NetBEUI – (NetBIOS Extended User Interface, расширенный интерфейс NetBIOS) – устанавливает сеансы связи между компьютерами (NetBIOS) и предоставляет верхним уровням транспортные услуги ( NetBEUI ).

Сетевые протоколы управляют адресацией, маршрутизацией, проверкой ошибок и запросами на повторную передачу. Широко распространены следующие из них:

  • IP (Internet Protocol) – TCP/IP-протокол для негарантированной передачи пакетов без установления соединений;
  • IPX ( Internetwork Packet Exchange) – протокол компании NetWare для негарантированной передачи пакетов и маршрутизации пакетов;
  • NWLink – реализация протокола IPX/ SPX компании Microsoft;
  • NetBEUI – транспортный протокол, обеспечивающий услуги транспортировки данных для сеансов и приложений NetBIOS.

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

В качестве примера на рис. 6.2, рис. 6.3 и рис. 6.4 схематически показано соотношение протоколов, используемых популярными фирменными сетевыми операционными системами , и уровней стандартной модели OSI . Как видно из рисунков, практически ни на одном уровне нет четкого соответствия реального протокола какому-нибудь уровню идеальной модели . Выстраивание подобных соотношений довольно условно, так как трудно четко разграничить функции всех частей программного обеспечения. К тому же компании-производители программных средств далеко не всегда подробно описывают внутреннюю структуру продуктов.

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

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

Функции и характеристики сетевых адаптеров

Сетевой адаптер (Network Interface Card, NIC) вместе со своим драйвером реализует второй, канальный уровень модели открытых систем в конечном узле сети - компьютере. Более точно, в сетевой операционной системе пара адаптер и драйвер выполняет только функции физического и МАС-уровней, в то время как LLC-уровень обычно реализуется модулем операционной системы, единым для всех драйверов и сетевых адаптеров.

Собственно так оно и должно быть в соответствии с моделью стека протоколов IEEE 802. Например, в ОС Windows NT уровень LLC реализуется в модуле NDIS, общем для всех драйверов сетевых адаптеров, независимо от того, какую технологию поддерживает драйвер. Сетевой адаптер совместно с драйвером выполняют две операции: передачу и прием кадра. Передача кадра из компьютера в кабель состоит из перечисленных ниже этапов ( некоторые могут отсутствовать, в зависимости от принятых методов кодирования), в прием кадра данных LLC через межуровневый интерфейс вместе с адресной информацией МАС-уровня.

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

Передача кадра из компьютера в кабель:
o Оформление кадра данных МАС-уровня, в который инкапсулируется кадр LLC (с отброшенными флагами 01111110). Заполнение адресов назначения и источника, вычисление контрольной суммы.

o Формирование символов кодов при использовании избыточных кодов типа 4В/5В. Скрэмблирование кодов для получения более равномерного спектра сигналов. Этот этап используется не во всех протоколах - например, технология Ethernet 10 Мбит/с обходится без него.

o Выдача сигналов в кабель в соответствии с принятым линейным кодом - манчестерским, NRZI, MLT-3 и т. п. Прием кадра из кабеля в компьютер включает следующие действия.

o Прием из кабеля сигналов, кодирующих битовый поток.

o Выделение сигналов на фоне шума. Эту операцию могут выполнять различные специализированные микросхемы или сигнальные процессоры DSP. В результате в приемнике адаптера образуется некоторая битовая последовательность, с большой степенью вероятности совпадающая с той, которая была послана передатчиком.

o Если данные перед отправкой в кабель подвергались скрэмблированию, то они пропускаются через дескрэмблер, после чего в адаптере восстанавливаются символы кода, посланные передатчиком.

o Проверка контрольной суммы кадра. Если она неверна, то кадр отбрасывается, а через межуровневый интерфейс наверх, протоколу LLC передается соответствующий код ошибки. Если контрольная сумма верна, то из МАС-кадра извлекается кадр LLC и передается через межуровневый интерфейс наверх, протоколу LLC. Кадр LLC помещается в буфер оперативной памяти.

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

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

Центральный процессор вынужден заниматься этой работой вместо выполнения прикладных задач пользователя. Поэтому адаптеры, предназначенные для серверов, обычно снабжаются собственными процессорами, которые самостоятельно выполняют большую часть работы по передаче кадров из оперативной памяти в сеть и в обратном направлении. Примером такого адаптера может служить сетевой адаптер SMS EtherPower со встроенным процессором Intel i960.

В зависимости от того, какой протокол реализует адаптер, адаптеры делятся на Ethernet-адаптеры, Token Ring-адаптеры, FDDI-адаптеры и т. д. Так как протокол Fast Ethernet позволяет за счет процедуры автопереговоров автоматически выбрать скорость работы сетевого адаптера в зависимости от возможностей концентратора, то многие адаптеры Ethernet сегодня поддерживают две скорости работы и имеют в своем названии приставку 10/100. Это свойство некоторые производители называют авточувствительностью.

Сетевой адаптер перед установкой в компьютер необходимо конфигурировать. При конфигурировании адаптера обычно задаются номер прерывания IRQ, используемого адаптером, номер канала прямого доступа к памяти DMA (если адаптер поддерживает режим DMA) и базовый адрес портов ввода/вывода. Если сетевой адаптер, аппаратура компьютера и операционная система поддерживают стандарт Plug-and-Play, то конфигурирование адаптера и его драйвера осуществляется автоматически. В противном случае нужно сначала сконфигурировать сетевой адаптер, а затем повторить параметры его конфигурации для драйвера. В общем случае, детали процедуры конфигурирования сетевого адаптера и его драйвера во многом зависят от производителя адаптера, а также от возможностей шины, для которой разработан адаптер.

Классификация сетевых адаптеров

В качестве примера классификации адаптеров используем подход фирмы 3Com, имеющей репутацию лидера в области адаптеров Ethernet. Фирма 3Com считает, что сетевые адаптеры Ethernet прошли в своем развитии три поколения.

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

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

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

В сетевых адаптерах второго поколения широко используются микросхемы с высокой степенью интеграции, что повышает надежность адаптеров. Кроме того, драйверы этих адаптеров основаны на стандартных спецификациях. Адаптеры второго поколения обычно поставляются с драйверами, работающими как в стандарте NDIS (спецификация интерфейса сетевого драйвера), разработанном фирмами 3Com и Microsoft и одобренном IBM, так и в стандарте ODI (интерфейс открытого драйвера), разработанном фирмой Novell.

В сетевых адаптерах третьего поколения (к ним фирма 3Com относит свои адаптеры семейства EtherLink III) осуществляется конвейерная схема обработки кадров. Она заключается в том, что процессы приема кадра из оперативной памяти компьютера и передачи его в сеть совмещаются во времени. Таким образом, после приема нескольких первых байт кадра начинается их передача.

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

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

Адаптеры третьего поколения базируются на специализированных интегральных схемах (ASIC), что повышает производительность и надежность адаптера при одновременном снижении его стоимости. Компания 3Com назвала свою технологию конвейерной обработки кадров Parallel Tasking, другие компании также реализовали похожие схемы в своих адаптерах. Повышение производительности канала "адаптер-память" очень важно для повышения производительности сети в целом, так как производительность сложного маршрута обработки кадров, включающего, например, концентраторы, коммутаторы, маршрутизаторы, глобальные каналы связи и т. п., всегда определяется производительностью самого медленного элемента этого маршрута. Следовательно, если сетевой адаптер сервера или клиентского компьютера работает медленно, никакие быстрые коммутаторы не смогут повысить скорость работы сети.

Выпускаемые сегодня сетевые адаптеры можно отнести к четвертому поколению. В эти адаптеры обязательно входит ASIC, выполняющая функции МАС-уровня, а также большое количество высокоуровневых функций. В набор таких функций может входить поддержка агента удаленного мониторинга RMON, схема приоритезации кадров, функции дистанционного управления компьютером и т. п. В серверных вариантах адаптеров почти обязательно наличие мощного процессора, разгружающего центральный процессор. Примером сетевого адаптера четвертого поколения может служить адаптер компании 3Com Fast EtherLink XL 10/100.

Простое пособие по сетевой модели OSI для начинающих

Открытая сетевая модель OSI (Open Systems Interconnection model) состоит из семи уровней. Что это за уровни, как устроена модель и какова ее роль при построении сетей — в статье.

Модель OSI является эталонной. Эталонная она потому, что полное название модели выглядит как «Basic Reference Model Open Systems Interconnection model», где Basic Reference Model означает «эталонная модель». Вначале рассмотрим общую информацию, а потом перейдем к частным аспектам.


Принцип устройства сетевой модели

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

На седьмом уровне информация представляется в виде данных, на первом — в виде бит. Процесс, когда информация отправляется и переходит из данных в биты, называется инкапсуляцией. Обратный процесс, когда информация, полученная в битах на первом уровне, переходит в данные на седьмом, называется декапсуляцией. На каждом из семи уровней информация представляется в виде блоков данных протокола — PDU (Protocol Data Unit).

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

Первый, физический уровень (physical layer, L1)

Начнем с самого нижнего уровня. Он отвечает за обмен физическими сигналами между физическими устройствами, «железом». Компьютерное железо не понимает, что такое картинка или что на ней изображено, железу картинка понятна только в виде набора нулей и единиц, то есть бит. В данном случае бит является блоком данных протокола, сокращенно PDU (Protocol Data Unit).

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

Устройства физического уровня оперируют битами. Они передаются по проводам (например, через оптоволокно) или без проводов (например, через Bluetooth или IRDA, Wi-Fi, GSM, 4G и так далее).

Второй уровень, канальный (data link layer, L2)

Когда два пользователя находятся в одной сети, состоящей только из двух устройств — это идеальный случай. Но что если этих устройств больше?

У канального уровня есть два подуровня — это MAC и LLC. MAC (Media Access Control, контроль доступа к среде) отвечает за присвоение физических MAC-адресов, а LLC (Logical Link Control, контроль логической связи) занимается проверкой и исправлением данных, управляет их передачей.

На втором уровне OSI работают коммутаторы, их задача — передать сформированные кадры от одного устройства к другому, используя в качестве адресов только физические MAC-адреса.

Третий уровень, сетевой (network layer, L3)

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

На сетевом уровне активно используется протокол ARP (Address Resolution Protocol — протокол определения адреса). С помощью него 64-битные MAC-адреса преобразуются в 32-битные IP-адреса и наоборот, тем самым обеспечивается инкапсуляция и декапсуляция данных.

Четвертый уровень, транспортный (transport layer, L4)

Все семь уровней модели OSI можно условно разделить на две группы:

  • Media layers (уровни среды),
  • Host layers (уровни хоста).

Уровни группы Media Layers (L1, L2, L3) занимаются передачей информации (по кабелю или беспроводной сети), используются сетевыми устройствами, такими как коммутаторы, маршрутизаторы и т.п. Уровни группы Host Layers (L4, L5, L6, L7) используются непосредственно на устройствах, будь то стационарные компьютеры или портативные мобильные устройства.

Четвертый уровень — это посредник между Host Layers и Media Layers, относящийся скорее к первым, чем к последним, его главной задачей является транспортировка пакетов. Естественно, при транспортировке возможны потери, но некоторые типы данных более чувствительны к потерям, чем другие. Например, если в тексте потеряются гласные, то будет сложно понять смысл, а если из видеопотока пропадет пара кадров, то это практически никак не скажется на конечном пользователе. Поэтому, при передаче данных, наиболее чувствительных к потерям на транспортном уровне используется протокол TCP, контролирующий целостность доставленной информации.

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

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

Главное отличие датаграмм в автономности. Каждая датаграмма содержит все необходимые заголовки, чтобы дойти до конечного адресата, поэтому они не зависят от сети, могут доставляться разными маршрутами и в разном порядке. Датаграмма и сегмент — это два PDU транспортного уровня модели OSI. При потере датаграмм или сегментов получаются «битые» куски данных, которые не получится корректно обработать.

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

Пятый уровень, сеансовый (session layer, L5)

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

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

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

Шестой уровень, представления данных (presentation layer, L6)

О задачах уровня представления вновь говорит его название. Шестой уровень занимается тем, что представляет данные (которые все еще являются PDU) в понятном человеку и машине виде. Например, когда одно устройство умеет отображать текст только в кодировке ASCII, а другое только в UTF-8, перевод текста из одной кодировки в другую происходит на шестом уровне.

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

Седьмой уровень, прикладной (application layer)

Седьмой уровень иногда еще называют уровень приложений, но чтобы не запутаться можно использовать оригинальное название — application layer. Прикладной уровень — это то, с чем взаимодействуют пользователи, своего рода графический интерфейс всей модели OSI, с другими он взаимодействует по минимуму.

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

Критика модели OSI

Семиуровневая модель была принята в качестве стандарта ISO/IEC 7498, действующего по сей день, однако, модель имеет свои недостатки. Среди основных недостатков говорят о неподходящем времени, плохой технологии, поздней имплементации, неудачной политике.

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

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

Разделение на семь уровней было скорее политическим, чем техническим. При построении сетей в реальности редко используют уровни 5 и 6, а часто можно обойтись только первыми четырьмя. Даже изначальное описание архитектуры в распечатанном виде имеет толщину в один метр.

Кроме того, в отличие от TCP/IP, OSI никогда не ассоциировалась с UNIX. Добиться широкого распространения OSI не получилось потому, что она проектировалась как закрытая модель, продвигаемая Европейскими телекоммуникационными компаниями и правительством США. Стек протоколов TCP/IP изначально был открыт для всех, что позволило ему набрать популярность среди сторонников открытого программного кода.

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

Вывод, роль модели OSI при построении сетей

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

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

Модель OSI служит инструментом при диагностике сетей. Если в сети что-то не работает, то гораздо проще определить уровень, на котором произошла неполадка, чем пытаться перестроить всю сеть заново.

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

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

p, blockquote 1,0,0,0,0 -->

p, blockquote 2,0,0,0,0 -->

Аббревиатура OSI Open Systems Interconnection, означает модель взаимодействия открытых систем. Для решения задачи совместимости разнообразных систем, организация по стандартизации выпустила в 1983 г. эталон модели OSI. Она описывает структуру открытых систем, их требования, и их взаимодействие.

p, blockquote 3,0,0,0,0 -->

Структура модели OSI

p, blockquote 4,0,0,0,0 -->

Open system – это система, составлена согласно открытым спецификациям, которые доступны каждому, а также соответствуют определенным стандартам. Например, ОС Windows считается open system, потому что она создана на основе открытых спецификаций, которые описывают деятельность интернета, но начальные коды системы закрыты.

p, blockquote 5,0,0,0,0 -->

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

p, blockquote 6,0,0,0,0 -->

Согласно рассматриваемой нами модели, необходимо, чтобы вычислительные сети состояли из семи уровней. Вследствие того, что модель не описывает протоколы, определяемые отдельными стандартами, она не является сетевой архитектурой.

p, blockquote 7,0,0,0,0 -->

К сожалению, с практической точки зрения, модель взаимодействия открытых систем не применяется. Её особенность заключается в овладении теоретическими вопросами сетевого взаимодействия. Именно поэтому в качестве простого языка для описания построения разных видов сети используется эта модель.

p, blockquote 8,0,0,0,0 -->

Уровни модели OSI

p, blockquote 9,0,0,0,0 -->

Нижние ступени системы с первой по третью, управляют физической доставкой данных по сети, их называют media layers.

p, blockquote 10,0,0,0,0 -->

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

p, blockquote 11,0,0,0,0 -->

Прикладной – это ближайший уровень к юзеру. Его отличие от других в том, что он не предоставляет услуги другим ступеням. Обеспечивает услугами прикладные процессы, которые лежат за пределами масштаба модели, например, передача базы данных, голоса, и другое.

p, blockquote 12,0,0,0,0 -->

Физический уровень (PHYSICAL)

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

p, blockquote 13,0,0,0,0 -->

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

p, blockquote 14,0,0,0,0 -->

p, blockquote 15,0,0,0,0 -->

p, blockquote 16,0,0,0,0 -->

В качестве канала передачи информации используются:

  • Кабели: телефонный, коаксиал, витая пара, оптический.
  • Беспроводные технологии, такие как, радиоволны, инфракрасное излучение.
  • Спутниковые КС
  • Беспроводная оптика или лазеры, применяются редко, из-за низкой скорости и большого количества помех.

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

p, blockquote 19,0,0,0,0 -->

Канальный уровень (DATA LINK)

Следующая станция, которую посетит информация, напомнит таможню. А именно IP-адрес будет сравнен на совместимость со средой передачи. Здесь также выявляются и исправляются недочеты системы. Для удобства дальнейших операций, биты группируются в кадры – frame.

p, blockquote 20,0,0,0,0 -->

p, blockquote 21,0,0,0,0 -->

Задачи data link

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

p, blockquote 22,0,0,0,0 -->

Исправление ошибок, требует применение специальных кодов, которые добавляют избыточную информацию в передаваемые данные.

p, blockquote 23,0,0,0,0 -->

p, blockquote 24,0,0,0,0 -->

Повторная отправка данных, применяется совместно с методом обнаружения ошибок. Если в кадре обнаружена ошибка, он отбрасывается, и отправитель направляет этот кадр заново.

p, blockquote 25,0,0,0,0 -->

Практика показала эффективность следующих методов, если используется надежная среда для передачи данных (проводная) и ошибки возникают редко, то исправлять их лучше на верхнем уровне. Если в КС ошибки происходят часто, то ошибки необходимо исправлять сразу на канальном уровне.

p, blockquote 26,0,0,0,0 -->

Функции данного этапа в компьютере осуществляют сетевые адаптеры и драйверы, подходящие к ним. Через них и происходит непосредственный обмен данными.

p, blockquote 27,0,0,0,0 -->

Некоторые протоколы, используемые на канальном уровне, это HDLC, Ethernet применяющая шинную топологию и другие.

p, blockquote 28,0,0,0,0 -->

Сетевой уровень (NETWORK)

Этап напоминает процесс распределения информации. К примеру, все пользователя делиться на группы, а пакеты данных расходятся в соответствии с IP адресами, состоящими из 32 битов. Именно благодаря работе маршрутизаторов на этой инстанции, устраняются все различия сетей. Это процесс так называемой логической маршрутизации.

p, blockquote 29,0,0,0,0 -->

Основная задача состоит в создании составных сетей построенных на основе сетевых технологий разного канального уровня: Ethernet, Wi-Fi, MPLS. Сетевой уровень — это «основа» интернета.

p, blockquote 30,0,0,0,0 -->

Назначение сетевого уровня

Мы можем передавать информацию от одного компьютера к другому через Ethernet и Wi-Fi, тогда зачем нужен еще один уровень? У технологии канального уровня (КУ) есть две проблемы, во-первых, технологии КУ отличаются друг от друга, во-вторых, есть ограничение по масштабированию.

p, blockquote 31,0,0,0,0 -->

Какие могут быть различия в технологиях канального уровня?

p, blockquote 32,0,0,0,0 -->

p, blockquote 33,0,0,0,0 -->

Может различаться максимальный размер кадра (MTU), например, в изернете 1500, а в вай-фай 2300. Как можно согласовывать такие различия на сетевом уровне?

p, blockquote 34,0,0,0,0 -->

Можно предоставлять разный тип сервиса, например, кадры из Вай-Фай принимаются с отправкой подтверждения, а в Ethernet отправляются без подтверждения.

p, blockquote 35,0,0,0,0 -->

Для того чтобы согласовать разницу адресаций, на сетевом уровне, вводятся глобальные адреса, которые не зависят от адресов конкретных технологий (ARP для TCP/IP) канального уровня.

p, blockquote 36,0,0,0,0 -->

Чтобы передавать данные через составные сети, у которых разный размер передаваемого кадра, используется фрагментация. Рассмотрим пример, первый компьютер передает данные второму, через 4 промежуточные сети, объединенные 3-ми маршрутизаторами. У каждой сети разный MTU.

p, blockquote 37,1,0,0,0 -->

Первый компьютер передает данные второму

p, blockquote 38,0,0,0,0 -->

Компьютер сформировал первый кадр и передал его на маршрутизатор, маршрутизатор проанализировал размер кадра, и понял, что передать полностью его через сеть 2 нельзя, потому что mtu2 у него слишком мал.

p, blockquote 39,0,0,0,0 -->

Компьютер сформировал первый кадр и передал его на маршрутизатор

p, blockquote 40,0,0,0,0 -->

Маршрутизатор разбивает данные на 3 части и передает их отдельно.

p, blockquote 41,0,0,0,0 -->

Маршрутизатор разбивает данные на 3 части

p, blockquote 42,0,0,0,0 -->

Следующий маршрутизатор объединяет данные в один, большой пакет, определяет его размер и сравнивает с mtu сети 3. И видит, что один пакет MTU3 целиком передать нельзя (MTU3 больше, чем MTU2, но меньше, чем MTU1) и маршрутизатор разбивает пакет на 2 части и отправляет следующему маршрутизатору.

p, blockquote 43,0,0,0,0 -->

Последний маршрутизатор объединяет пакет и отправляет получателю

p, blockquote 44,0,0,0,0 -->

Последний маршрутизатор объединяет пакет и отправляет получателю целиком. Фрагментация занимается объединением сетей и это скрыто от отправителя и получателя.

p, blockquote 45,0,0,0,0 -->

Как решается проблема масштабируемости на сетевом уровне?

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

p, blockquote 46,0,0,0,0 -->

Задачи сетевого уровня:

  • Объединить сети, построенные разными технологиями;
  • Обеспечить качественное обслуживание;
  • Маршрутизация, поиск пути от отправителя информации к получателю, через промежуточные узлы сети.

Маршрутизация

Поиск пути отправки пакета между сетями через транзитные узлы – маршрутизаторы. Рассмотрим пример выполнения маршрутизации. Схема состоит из 5 маршрутизаторов и двух компьютеров. Как могут передаваться данные от одного компьютера к другому?

p, blockquote 47,0,0,0,0 -->

Передача данных первым путем

p, blockquote 48,0,0,0,0 -->

В следующий раз данные могут быть отправлены другим путем.

p, blockquote 49,0,0,0,0 -->

Передача файла другим путем

p, blockquote 50,0,0,0,0 -->

В случае поломки одного из маршрутизатора, ничего страшного не произойдет, можно найти путь в обход сломанного маршрутизатора.

p, blockquote 51,0,0,0,0 -->

Передача данных продолжится даже в случае поломки одного из маршрутизаторов

p, blockquote 52,0,0,0,0 -->

Протоколы, применяемые на этом этапе: интернет протокол IP; IPX, необходимый для маршрутизации пакетов в сетях и др.

p, blockquote 53,0,0,0,0 -->

Транспортный уровень (TRANSPORT)

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

p, blockquote 54,0,0,0,0 -->

Задачи транспортного уровня

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

p, blockquote 55,0,0,1,0 -->

Модель взаимодействия open system

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

p, blockquote 56,0,0,0,0 -->

Прямое взаимодействие одного компьютера с транспортным уровнем на другом компьютере

p, blockquote 57,0,0,0,0 -->

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

p, blockquote 58,0,0,0,0 -->

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

p, blockquote 59,0,0,0,0 -->

Для адресации на транспортном уровне используются порты, это числа от 1 до 65 535. Порты записываются вот так: 192.168.1.3:80 (IP адрес и порт).

p, blockquote 60,0,0,0,0 -->

Особенности транспортного уровня

Обеспечение более высокой надежности, в отличии от сети, которая используется для передачи данных. Применяются надежные каналы связи, ошибки в этих КС происходят редко, следовательно, можно строить надежную сеть, которая будет стоить дешево, а ошибки можно исправлять программно на хостах.

p, blockquote 61,0,0,0,0 -->

p, blockquote 62,0,0,0,0 -->

Сеансовый уровень (SESSION)

Сеансовый (сессия) – это набор сетевых взаимодействий, целенаправленных на решение единственной задачи.

p, blockquote 63,0,0,0,0 -->

p, blockquote 64,0,0,0,0 -->

Сеансовый определяет, какая будет передача информации между 2-мя прикладными процессами: полудуплексной (по очередная передача и прием данных); или дуплексной (одновременная передача и прием информации).

p, blockquote 65,0,0,0,0 -->

Уровень представления данных (PRESENTATION)

Функции – представить данные, передаваемых между прикладными процессами, в необходимой форме.

p, blockquote 66,0,0,0,0 -->

Для описания этого уровня, используют автоматический перевод в сети с различных языков. Например, Вы набираете номер телефона, говорите на русском, сеть автоматом переводит на французский язык, передает информацию в Испанию, там человек поднимает трубку и слышит Ваш вопрос на испанском языке. Это задача, пока не реализована.

p, blockquote 67,0,0,0,0 -->

Для защиты отправляемых данных по сети используется шифрование: secure sockets layer, а также transport layer security, эти технологии позволяют шифровать данные которые отправляются по сети.

p, blockquote 68,0,0,0,0 -->

Значок замок и окончание s

p, blockquote 69,0,0,0,0 -->

p, blockquote 70,0,0,0,0 -->

Прикладной уровень (APPLICATION)

Необходим для взаимодействия между собой сетевых приложений, таких как web, e-mail, skype и тд.

p, blockquote 71,0,0,0,0 -->

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

p, blockquote 72,0,0,0,0 -->

Функции application:

  • Решение задач, отправка файлов; управление заданиями и системой;
  • Определение пользователей по их логину, e-mail адресу, паролям, электронным подписям;
  • Запросы на соединение с иными прикладными процессами;

Видео о всех уровнях модели OSI

p, blockquote 73,0,0,0,0 -->

Заключение

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

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

Сетевая модель OSI

Уважающий себя системный администратор должен хорошо разбираться в сетевых терминах

Сетевая модель OSI

В переводе с английского — базовая эталонная модель взаимодействия открытых систем. Точнее, сетевая модель стека сетевых протоколов OSI/ISO. Введена в 1984 году в качестве концептуальной основы, разделившей процесс отправки данных во всемирной паутине на семь несложных этапов. Она не является самой популярной, так как затянулась разработка спецификации OSI. Стек протоколов TCP/IP выгоднее и считается основной используемой моделью. Впрочем, у вас есть огромный шанс столкнуться с моделью OSI на должности системного администратора или в IT-сфере.

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

Спросите, какая же в этом польза для вас? Знание многоуровневой модели даст вам возможность свободного общения с сотрудниками IT-компаний, обсуждение сетевых неполадок уже не будет гнетущей скукой. А когда вы научитесь понимать, на каком этапе произошёл сбой, сможете легко находить причины и значительно сокращать диапазон своей работы.

7 уровней модели OSI

Уровни OSI

Модель содержит в себе семь упрощённых этапов:

  • Физический.
  • Канальный.
  • Сетевой.
  • Транспортный.
  • Сеансовый.
  • Представительский.
  • Прикладной.

Перейдём к непосредственному знакомству с уровнями.

Физический уровень

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

Физический этап модели

Функции физического этапа осуществляются абсолютно на каждом устройстве, подключённом к сети. Например, сетевой адаптер реализовывает эти функции со стороны компьютера. Вы могли уже столкнуться с протоколами первого шага: RS -232, DSL и 10Base-T, определяющими физические характеристики канала связи.

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

На втором этапе связываются абстрактный адрес устройства с физическим устройством, проверяется доступность среды передачи. Биты сформировываются в наборы — кадры. Основная задача канального уровня — выявление и правка ошибок. Для корректной пересылки перед и после кадра вставляются специализированные последовательности битов и добавляется высчитанная контрольная сумма. Когда кадр достигает адресата, вновь высчитывается контрольная сумма, уже прибывших данных, если она совпадает с контрольной суммой в кадре, кадр признаётся правильным. В ином случае появляется ошибка, исправляемая через повторную передачу информации.

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

Канальный этап делает возможным передачу информации, благодаря специальной структуре связей. В частности, через протоколы канального уровня работают шины, мосты, коммутаторы. В спецификации второго шага входят: Ethernet, Token Ring и PPP. Функции канального этапа в компьютере исполняют сетевые адаптеры и драйверы к ним.

Сетевой уровень

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

Сетевой этап модели OSI

Если объяснить по-другому, то третий шаг обрабатывает интернет-протокол и исполняет функцию маршрутизатора: поиск наилучшего пути для информации. Маршрутизатор — устройство, собирающее данные о структуре межсетевых соединений и передающее пакеты в сеть назначения (транзитные передачи — хопы). Если вы сталкиваетесь с ошибкой в IP-адресе, то это проблема, возникшая на сетевом уровне. Протоколы третьего этапа разбиваются на сетевые, маршрутизации или разрешения адресов: ICMP, IPSec, ARP и BGP.

Транспортный уровень

Верхний транспортный уровень

Как выбрать класс услуг транспортного этапа? Когда качество каналов транспортировки связи высокое, адекватным выбором окажется облегчённый сервис. Если каналы связи в самом начале работают небезопасно, целесообразно прибегнуть к развитому сервису, который обеспечит максимальные возможности для поиска и решения проблем (контроль поставки данных, тайм-ауты доставки). Спецификации четвёртого этапа: TCP и UDP стека TCP/IP, SPX стека Novell.

Объединение первых четырёх уровней называется транспортной подсистемой. Она сполна предоставляет выбранный уровень качества.

Сеансовый уровень

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

Сеансовый этап сетевой модели

Представительский уровень

Шестой этап участвует в трансформации данных в универсальный распознаваемый формат без изменения содержания. Так как в разных устройствах утилизируются различные форматы, информация, обработанная на представительском уровне, даёт возможность системам понимать друг друга, преодолевая синтаксические и кодовые различия. Кроме того, на шестом этапе появляется возможность шифровки и дешифровки данных, что обеспечивает секретность. Примеры протоколов: ASCII и MIDI, SSL.

Уровень представления OSI

Прикладной уровень

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

Прикладной уровень OSI

Рассмотрев модель OSI, вы смогли разобраться со сложной структурой работы сети и теперь понимаете суть вашей работы. Всё становится довольно просто, когда процесс разбивается на части!

Читайте также: