Какой атрибут сетевой карты помещает ее на канальный уровень модели osi
С канальным уровнем обычно связаны следующие сетевые соединительные устройства:
- мосты;
- коммутаторы;
- сетевые интерфейсные платы (сетевые интерфейсные карты, адаптеры и т.д.).
В сетях Ethernet используется метод доступа к среде передачи данных, называемый метод коллективного доступа с опознаванием несущей и обнаружением коллизий (CS MA/CD).
Этот метод используется исключительно в сетях с общей шиной. Все интерфейсы, подключенные к среде передачи данных, могут распознать факт передачи кадра, и интерфейс, который узнает собственный MAC-адрес в заголовках кадра, записывает его содержимое в свой внутренний буфер, обрабатывает полученные данные и посылает кадр-ответ.
В технологии Ethernet существует такое понятие, как домен коллизий. Домен коллизий – часть сети, все узлы которой распознают коллизии, не зависимо от того, где она возникла. Сеть Ethernet, построенная на повторителях или концентраторах всегда образует один домен коллизий.
Для предотвращения коллизий крупные локальные сети делятся на сегменты или, как их еще называют, домены коллизий, с помощью коммутаторов (switches). Каждый порт коммутатора оснащен процессором, память которого позволяет создавать буфер для хранения поступающих кадров. Общее управление процессорами портов осуществляет системный модуль. Наличие отдельного процессора на каждом порту является основным отличием коммутатора от моста, где присутствует один процессор. В настоящее время коммутаторы практически полностью вытеснили мосты.
Каждый сегмент, образованный портом (интерфейсом) коммутатора с присоединенным к нему узлом (компьютером) или с концентратором со многими узлами, является доменом (сегментом) коллизий. При возникновении коллизии в сети, реализованной на концентраторе, сигнал коллизии распространяется по всем портам концентратора. Однако на другие порты коммутатора сигнал коллизии не передается.
Существует два режима двусторонней связи: полудуплексный (halfduplex) и полнодуплексный (full-duplex). В полудуплексном режиме в любой момент времени одна станция может либо вести передачу, либо принимать данные. В полнодуплексном режиме абонент может одновременно принимать и передавать информацию, т. е. обе станции в соединении «точка- точка» могут передавать данные в любое время, независимо от того, передает ли другая станция. Для разделяемой среды полудуплексный режим является обязательным. Ранее создававшиеся сети Ethernet на коаксиальном кабеле были только полудуплексными. Витая пара и оптическое волокно могут использоваться в сетях, работающих в обоих режимах.
Новые высокоскоростные сети 10-GigabitEthernet работают только в полнодуплексном режиме. Большинство коммутаторов могут использовать как полудуплексный, так и полнодуплексный режим.
В случае присоединения компьютеров (хостов) индивидуальными линиями к портам коммутатора каждый узел вместе с портом образует микросегмент. В сети, узлы которой соединены с коммутатором индивидуальными линиями и работающей в полудуплексном режиме, возможны коллизии, если одновременно начнут работать передатчики коммутатора и сетевого интерфейса узла.
В полнодуплексном режиме работы коллизий при микросегментации не возникает. При одновременной передаче данных от двух источников одному адресату буферизация кадров позволяет запомнить и передать кадры поочередно и, следовательно, избежать их потери. Отсутствие коллизий обусловило широкое применение топологии сети с индивидуальным подключением узлов к портам коммутатора.
Коммутатор является устройством второго (канального) уровня семиуровневой модели ISO OSI, в котором для адресации используются МАС-адреса. Адресация происходит на основе МАС-адресов сетевых интерфейсов узлов.
Для того, чтобы передавать кадры (фреймы), коммутатор использует три базовых механизма:
- Flooding — фрейм, полученный на один из портов, передается на остальные порты коммутатора. Коммутатор выполняет эту операцию в двух случаях:при получении широковещательного или multicast (если не настроена поддержка multicast) фрейма, при получении unknown unicast фрейма. Это позволяет коммутатору доставить фрейм хосту (при условии, что хост достижим и существует), даже когда он не знает, где хост находится.
- Forwarding — передача фрейма, полученного на одном порту, через другой порт в соответствии с записью в таблице коммутации.
- Filtering— если коммутатор получает фрейм через определенный порт, и MAC-адрес получателя доступен через этот же порт (это указано в таблице коммутации), то коммутатор отбрасывает фрейм. То есть, коммутатор считает, что в этом случае хост уже получил этот фрейм, и не дублирует его.
Для передачи кадров применяется алгоритм, определяемый стандартом 802.1D. Реализация алгоритма происходит за счет создания статических или динамических записей адресной таблицы коммутации. Статические записи таблицы создаются администратором. В общем случае коммутатор можно вообще не конфигурировать, он будет работать по умолчанию, создавая записи адресной таблицы в динамическом режиме. При этом в буферной памяти порта запоминаются все поступившие на порт кадры.
Первоначально информация о том, какие МАС-адреса имеют подключенные к конкретному порту интерфейсы, в коммутаторе отсутствует. Поэтому коммутатор, получив кадр, передает его на все свои порты, за исключением того, на который кадр был получен, и одновременно анализирует МАС-адрес источника и запоминает его в адресной таблице.
Когда адресная таблица коммутации сформирована, продвижение кадров с входного интерфейса коммутатора на выходной происходит на основании записей в адресной таблице. При получении кадра коммутатор проверяет, существует ли МАС-адрес узла назначения в таблице коммутации. При обнаружении адресата в таблице коммутатор производит еще одну проверку: находятся ли адресат и источник в одном сегменте. Если они в разных сегментах, то коммутатор производит продвижение (forwarding) кадра в порт, к которому подключен узел назначения. Если адресат и источник находятся в одном сегменте, например оба подключены к одному концентратору, то передавать кадр на другой порт не нужно. В этом случае кадр должен быть удален из буфера порта, что называется фильтрацией (filtering) кадров.
С появлением в сети новых узлов адресная таблица пополняется. Если в течение определенного времени (обычно 300 с) какой-то узел не передает данные, то считается, что он в сети отсутствует, тогда соответствующая запись из таблицы удаляется. При необходимости администратор может включать в таблицу статические записи, которые не удаляются динамически. Такую запись может удалить только сам администратор.
Коммутаторы могут работать в нескольких режимах, при изменении которых меняются задержка и надежность. Для обеспечения максимального быстродействия коммутатор может начинать передачу кадра сразу, как только получит МАС-адрес узла назначения. Такой режим получил название сквозной коммутации или коммутации «на лету» (cut-through switching), он обеспечивает наименьшую задержку при прохождении кадров через коммутатор. Однако в этом режиме невозможен контроль ошибок, поскольку поле контрольной суммы находится в конце кадра. Следовательно, этот режим характеризуется низкой надежностью.
Во втором режиме коммутатор получает кадр целиком, помещает его в буфер, проверяет поле контрольной суммы (FCS) и затем пересылает адресату. Если получен кадр с ошибками, то он отбрасывается (discarded) коммутатором. Поскольку кадр перед отправкой адресату назначения запоминается в буферной памяти, такой режим коммутации получил название коммутации с промежуточным хранением или буферизацией.
Самый простой и распространенный типа коммутатора — «неуправляемый» (unmanaged). Неуправляемые коммутаторы реализуют только физическую топологию сети, они могут передавать кадры, но не поддерживают протоколы, которые требуют настройки самого коммутатора, в частности, RSTP и VLAN. Поскольку коммутатор неуправляемый, то и настраивать там нечего, все, что он реализует, работает либо автоматически (например, определение скорости и кроссировки), либо является защитным механизмом (например, защита от широковещательного шторма). Такие коммутаторы обычно устанавливаются для подключения пользователей как наиболее недорогие.
Следующий, уже более «продвинутый», тип коммутатора — «настраиваемый» (smart). Этот тип может содержать поддержку протоколов логической топологии и некоторых других, таких, как транкование и VLAN, поскольку поддерживает настройку. Он является переходным звеном между неуправляемыми и управляемыми коммутаторами, и обычно применяется там, где функционал неуправляемого недостаточен, а управляемого избыточен.
Самый «умный» тип коммутатора — «управляемый» (manageable). Он уже поддерживает не только настройку «умных» протоколов, но и мониторинг портов, что позволяет, например, снимать статистику по переданному трафику и количеству ошибок для каждого порта. Это самый дорогой тип коммутатора второго уровня, поскольку он же самый функциональный.
Существуют также коммутаторы третьего уровня, они управляемые по определению, но являются гибридом коммутатора и маршрутизатора и будут рассматриваться в статье про третий уровень модели OSI.
По типу исполнения коммутаторы бывают фиксированными, когда уже все порты установлены в коммутаторе, гибридными, когда часть портов установлена, но имеются гнезда для расширения, и модульными, когда коммутатор вообще не содержит портов, а предназначен для установки модулей расширения, которые и содержат порты.
Тип исполнения коммутатора выбирается исходя из текущих потребностей и планов развития. Например, если на данный момент требуется коммутатор с портом Gigabit Ethernet для витой пары, но планируется перевести магистральные каналы на оптику, то стоит покупать гибридный коммутатор с гнездом для модулей GBIC или SFP, что позволит в дальнейшем просто заменить модуль на оптической, но не менять весь коммутатор. Модульные коммутаторы еще более универсальны и применяются обычно в тех местах, где требуются несколько типов портов. Плата за любую универсальность — стоимость, так что выбрать коммутатор нужно, в том числе, и по этому параметру.
Существует технология, которая позволяет подавать питание на небольшие сетевые устройства (такие как точки беспроводного доступа и маршрутизаторы) по той же витой паре, что они подключаются к коммутатору. В некоторых случаях это позволяет установить малогабаритное сетевое оборудование в местах, где это наиболее удобно, но там отсутствует электропроводка. Для подачи питания по витой паре используются либо коммутаторы с поддержкой технологии Power Over Ethernet (PoE), либо многопортовые инжекторы питания для монтажа в стойку, либо индивидуальные инжекторы для включения в разрыв одного кабеля. Неоспоримая польза этой технологии в том, что в случае организации питания PoE-коммутатора от источника бесперебойного питания, в случае падения напряжения питание будет подаваться не только на этот коммутатор, но и на все устройства, подключенные к нему по технологии PoE, что существенно повысит надежность сети на случай проблем с электропитанием.
В 1982 году Международной организацией по стандартизации (International Organization for Standardization, ISO) при поддержке ITU-T был начат новый проект в области сетевых технологий, который был назван Open System Intercommunication (OSI). Эта модель является первым шагом к международной стандартизации протоколов, используемых на различных уровнях (Day и Zimmerman, 1983). Затем она была пересмотрена в 1995 году (Day, 1995). Открытым называется взаимодействие, которое может поддерживаться в неоднородных средах, содержащих системы разных поставщиков. Модель OSI устанавливает глобальный стандарт, определяющий состав функциональных уровней при открытом взаимодействии между компьютерами.
У моделей OSI и TCP имеется много общих черт. Обе модели основаны на концепции стека независимых протоколов. Функциональность уровней также во многом схожа. Например, в каждой модели уровни, начиная с транспортного и выше, предоставляют сквозную, не зависящую от сети транспортную службу для процессов, желающих обмениваться информацией. Эти уровни образуют поставщика транспорта. Также в каждой модели уровни выше транспортного являются прикладными потребителями транспортной службы.
Методы выделения кадров
Чтобы определить, где в потоке бит начинаются и заканчиваются отдельные frame, были придуманы следующие методы:
- Указание количества байт;
- Вставка байтов (byte stuffing) и битов (bit stuffing);
- Средства физического уровня.
Сеансовый уровень
Добавляет транспортной функции удобства обращения, управляет диалогом на протяжении установленной сессии связи. Отвечает за организацию сеансов обмена данными между оконечными машинами.
Протоколы
ASP, ADSP, DLC, Named Pipes, NBT, NetBIOS, NWLink, Printer Access Protocol, Zone Information Protocol, SSL, TLS, SOCKS
Услуги подуровня LLC
Мультиплексирование — передача данных через одну технологию канального уровня, нескольких типов протоколов вышестоящего уровня. Управление потоком, если в сети устройства, которые работают с разной скоростью, то более мощное устройство, может начать передавать данные очень быстро, так что более слабые устройства не успевают их принимать. В компьютерных сетях это называется “затопление” и некоторые технологии канального уровня обеспечивают защиту от затопления медленного получателя быстрым отправителем.
p, blockquote 44,0,0,0,0 -->
Множественный доступ к каналам
Как это лучше делать? Практика показала, что на каналах где ошибки возникают редко, например, если данные передаются по проводам, то на канальном уровне лучше использовать простое обнаружение ошибок. А если ошибки в среде передачи данных происходят часто, например как это происходит в wifi? где используются электромагнитное излучение и много помех, то ошибки эффективнее обнаруживать и исправлять прямо на канальном уровне. Модель взаимодействия открытых систем разрабатывалась, когда на практике использовались только каналы связи “точка-точка” — это были последовательные линии связи, которые объединяли большие компьютеры.
p, blockquote 36,0,0,1,0 -->
Затем появились другие технологии канального уровня, на основе разделяемых каналов связи, когда к одной и той же среде передачи данных подключено несколько устройств. В таких каналах появились новые задачи, которые не были учтены в модели взаимодействия открытых систем, поэтому пришлось поменять эту модель и разделить канальный уровень на два подуровня.
p, blockquote 37,0,0,0,0 -->
p, blockquote 38,0,0,0,0 -->
Прикладной уровень
Обеспечивает преобразование данных, специфичных для каждого приложения. Отвечает за доступ приложений в сеть.
Протоколы
Транспортный уровень
Протоколы
TCP, UDP, NetBEUI, AEP, ATP, IL, NBP, RTMP, SMB, SPX, SCTP, DCCP, RTP, TFTP
Указатель количества байт
Наипростейший способ определить, где начинается и заканчивается кадр — добавлять длину этого кадра в начало кадра. Например, на картинке ниже показано 3 кадра выделенных разным цветом. В начале каждого кадра указано количество байт. Синим цветом — 6, желтым — 8, зеленым — 4.
p, blockquote 12,0,1,0,0 -->
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 -->
Канальный уровень
Осуществляет свободную от ошибок передачу по отдельному каналу связи. Обеспечивает создание, передачу и прием кадров данных. Этот уровень обслуживает запросы сетевого уровня и использует сервис физического уровня для приема и передачи пакетов. Спецификации IEEE 802.x делят канальный уровень на два подуровня: управление логическим каналом (LLC) и управление доступом к среде (MAC). LLC обеспечивает обслуживание сетевого уровня, а подуровень MAC регулирует доступ к разделяемой физической среде.
Протоколы
ARCnet, ATM, DTM, SLIP, SMDS, Ethernet, FDDI, Frame Relay, LocalTalk, Token ring, StarLan, WiFi, L2F, L2TP, PPTP, PPP, PPPoE, PROFIBUS,STP
Заключение
Анализ проблем с помощью сетевых моделей OSI поможет быстро найти и устранить их. Недаром работа над проектом программы, способной выявить недочеты имея при этом сложное ступенчатое устройство, велась достаточно долго. Данная модель является в действительности эталоном. Ведь в одно время с ней велись работы по созданию других протоколов. Например, TCP/IP. На сегодняшний день, они довольно часто применяются.
p, blockquote 1,0,0,0,0 -->
p, blockquote 2,0,0,0,0 -->
На канальном уровне проводится нахождение и корректировка ошибок для некоторых каналов с множественным доступом, где одну и ту же среду передачи данных используют несколько устройств.
p, blockquote 3,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 -->
Видео о всех уровнях модели OSI
p, blockquote 73,0,0,0,0 -->
Cтек TCP/IP
Модель TCP/IP называют также моделью DARPA (сокращение от Defense Advanced Research Projects Agency, организация, в которой в свое время разрабатывались сетевые проекты, в том числе протокол TCP/IP, и которая стояла у истоков сети Интернет) или моделью Министерства обороны CША (модель DoD, Department of Defense, проект DARPA работал по заказу этого ведомства).
Модель TCP/IP разрабатывалась для описания стека протоколов TCP/IP (Transmission Control Protocol/Internet Protocol). Она была разработана значительно раньше, чем модель OSI — в 1970 г. был разработан необходимый набор стандартов, а к 1978 году окончательно оформилось то, что сегодня мы называем TCP/IP. Позже стек адаптировали для использования в локальных сетях. В начале 1980 г. протокол стал составной частью ОС UNIX. В том же году появилась объединенная сеть Internet..
Стек протоколов TCP/IP — набор сетевых протоколов, на которых базируется интернет. Обычно в стеке TCP/IP верхние 3 уровня (прикладной, представительный и сеансовый) модели OSI объединяют в один — прикладной. Поскольку в таком стеке не предусматривается унифицированный протокол передачи данных, функции по определению типа данных передаются приложению.
В отличие от эталонной модели OSI, модель ТСР/IP в большей степени ориентируется на обеспечение сетевых взаимодействий, нежели на жесткое разделение функциональных уровней. Для этой цели она признает важность иерархической структуры функций, но предоставляет проектировщикам протоколов достаточную гибкость в реализации. Соответственно, эталонная модель OSI гораздо лучше подходит для объяснения механики межкомпьютерных взаимодействий, но протокол TCP/IP стал основным межсетевым протоколом.
Канальный уровень — уровень сетевой модели OSI, предназначенный для обмена данными между узлам находящимся в том же сегменте локальной сети, путем передачи специальных блоков данных, которые называются кадрами (frame). В процессе формирования кадров данные снабжаются служебной информацией (заголовком), необходимой для корректной доставки получателю, и, в соответствии с правилами доступа к среде передачи, отправляются на физический уровень. Таким образом канальный уровень обеспечивает создание, передачу и прием кадров данных.
Этот уровень обслуживает запросы сетевого уровня и использует сервис физического уровня для приема и передачи пакетов.
Кадры канального уровня не пересекают границ сетевого сегмента. Межсетевая маршрутизация и глобальная адресация это функция более высокого уровня, что позволяет протоколам канального уровня сосредоточится на локальной доставке и адресации.
В локальных сетях канальный уровень разделяется на два подуровня:
- уровень управления логическим каналом (logical link control, LLC).
- уровень доступа к среде (media access layer, MAC),
Процедура доступа к среде и является главной функцией МАС-уровня. В сетях Ethernet используется метод доступа к среде передачи данных, называемый методом коллективного доступа с опознаванием несущей и обнаружением коллизий (carrier sense multiple access with collision detection, CSMA/CD). Этот метод применяется исключительно в сетях с логической общей шиной (к которым относятся и радиосети, породившие этот метод).
Когда устройства пытаются использовать среду одновременно, возникают коллизии кадров. Протоколы канального уровня выявляют такие случаи и обеспечивают механизмы для уменьшения их количества или же их предотвращения.
Коллизия (англ. collision — ошибка наложения, столкновения) — в терминологии компьютерных и сетевых технологий, наложение двух и более кадров от станций, пытающихся передать кадр в один и тот же момент времени.
Все компьютеры такой сети имеют непосредственный доступ к общей шине, поэтому она может быть использована для передачи данных между любыми двумя узлами сети. Одновременно все компьютеры сети имеют возможность немедленно (с учетом задержки распространения сигнала по физической среде) получить данные, которые любой из компьютеров начал передавать в общую шину.
Чтобы получить возможность передавать кадр, станция должна убедиться, что разделяемая среда свободна. Это достигается прослушиванием несущей частоты (carrier-sense).
Если среда свободна, то узел имеет право начать передачу кадра. Все станции, подключенные к кабелю, могут распознать факт передачи кадра, и та станция, которая узнает собственный адрес в заголовках кадра, записывает его содержимое в свой внутренний буфер, обрабатывает полученные данные, передает их вверх по своему стеку, а затем посылает по кабелю кадр-ответ. Адрес станции источника содержится в исходном кадре, поэтому станция-получатель знает, кому нужно послать ответ. После окончания передачи кадра все узлы сети обязаны выдержать технологическую паузу. Эта пауза, называемая также межкадровым интервалом, нужна для приведения сетевых адаптеров в исходное состояние, а также для предотвращения монопольного захвата среды одной станцией. После окончания технологической паузы узлы имеют право начать передачу своего кадра, так как среда свободна.
При описанном подходе возможна ситуация, когда две станции одновременно пытаются передать кадр данных по общей среде. Механизм прослушивания среды и пауза между кадрами не гарантируют защиты от возникновения такой ситуации, когда две или более станции одновременно решают, что среда свободна, и начинают передавать свои кадры. Говорят, что при этом происходит коллизия (collision), так как содержимое обоих кадров сталкивается на общем кабеле и происходит искажение информации — методы кодирования, используемые в Ethernet, не позволяют выделять сигналы каждой станции из общего сигнала.
Коллизия — это нормальная ситуация в работе сетей Ethernet. Для возникновения коллизии не обязательно, чтобы несколько станций начали передачу абсолютно одновременно, такая ситуация маловероятна. Гораздо вероятней, что коллизия возникает из-за того, что один узел начинает передачу раньше другого, но до второго узла сигналы первого просто не успевают дойти к тому времени, когда второй узел решает начать передачу своего кадра. То есть коллизии — это следствие распределенного характера сети.
Заголовок кадра содержит аппаратные адреса отправителя и получателя, что позволяет определить, какое устройство отправило кадр и какое устройство должно получить и обработать его. В отличии от иерархических и маршрутизируемых адресов, аппаратные адреса одноуровневые. Это означает, что никакая часть адреса не может указывать на принадлежность к какой либо логической или физической группе.
Для успешной доставки одного адреса назначения явно недостаточно. Нужна дополнительная служебная информация — длина поля данных, тип сетевого протокола и др.
Формат кадра Ethernet
- Преамбула (Preamble). Состоит из 8 байтов. Первые семь содержат одну и ту же циклическую последовательность битов (10101010), которая хорошо подходит для синхронизации приемопередатчиков. Последний (Start-of-frame-delimiter, SFD), 1 байт (10101011), служит меткой начала информационной части кадра. Это поле не учитывается при определении длины кадра и не рассчитывается в контрольной сумме.
- МАС-адрес получателя (Destination Address, DA).
- МАС-адрес отправителя (Source Address, SA). Первый бит всегда равен нулю.
- Поле длины либо тип данных (Length/Type, L/T). Два байта, которые содержат явное указание длины (в байтах) поля данных в кадре или указывают на тип данных. Ниже, в описании LLC будет показано, что возможно простое автоматическое распознавание разных типов кадров.
- Данные (Data). Полезная нагрузка кадра, данные верхних уровней OSI. Может иметь длину от 0 до 1500 байт.
- Для корректного распознавания коллизий необходим кадр не менее чем из 64 байт. Если поле данных менее 46 байт, то кадр дополняется полем заполнения (Padding).
- Контрольная сумма (Frame Check Sequence, FCS). 4 байта, которые содержит контрольную сумму всех информационных полей кадра. Вычисление выполняется по алгоритму CRC-32 отправителем и добавляется в кадр. После приема кадра в буфер, приемник выполняет аналогичный расчет. В случае расхождения результата вычислений, предполагается ошибка при передаче, и кадр уничтожается.
Канальный уровень обеспечивает корректность передачи каждого кадра, помещая специальную последовательность бит в начало и конец каждого кадра, чтобы отметить его, а также вычисляет контрольную сумму, суммируя все байты кадра определенным способом и добавляя контрольную сумму к кадру. Когда кадр приходит, получатель снова вычисляет контрольную сумму полученных данных и сравнивает результат с контрольной суммой из кадра. Если они совпадают, кадр считается правильным и принимается. Если же контрольные суммы не совпадают, то фиксируется ошибка.
Кадр приведенный выше является кадром MAС-подуровня, и в соответствии со стандартом 802.2 в его поле данных вкладывается кадр подуровня LLC с удаленными флагами начала и конца кадра. Данный подуровень обеспечивает единый, независимый от используемого метода доступа, интерфейс с верхним (сетевым) уровнем.
Служебный заголовок кадра LLC имеет три поля: точка входа в сервис назначения (Destination Service Access Point, DSAP), точка входа в сервис источника (Source Service Access Point, SSAP) и поле управления. Первые два поля могут использоваться для характеризации протоколов верхнего уровня, данные которых представлены в поле данных кадра LLC. Поле управления используется для реализации процедуры установления соединения на канальном уровне, но оно редко используется в протоколах локальных сетей. Результирующий кадр MAC/LLC изображен в левой части рисунка ниже:
Preamble Преамбула | SFD | DA Адрес назначения | SA Адрес Источника | Type/Length Тип/Длина | DSAP | SSAP | Поле управления | Data Данные | FCS Контрольная сумма |
7 байт | 1 байт | 6 байт | 6 байт | 2 байта | 1 байт | 1 байт | 1 байт | 46-1497 байт | 4 байта |
В локальных сетях а дресация узлов назначения и узлов источника производится на основе МАС-адресов, которые «прошиты» в П ЗУ сетевых интерфейсов.
MAC-адрес может быть записан в различной форме. Наиболее часто используется шестнадцатеричная, в которой пары байтов отделяются друг от друга символами «-» или «:».
Старшие три байта представляют собой идентификатор производителя оборудования (Vendor codes или OUI — Organizational Unique Identifier), младшие — индивидуальный идентификатор устройства или номер интерфейса.
За уникальность последних несет ответственность производитель оборудования, их значение устанавливается на заводе и является уникальным для каждого выпущенного устройства.
С идентификаторами производителя дело обстоит сложнее. Существует специальная организация в составе IEEE, которая ведет список вендоров, выделяя каждому из них свой диапазон адресов.
Такой механизм существует для того, что бы физический адрес любого устройства был уникальным, и не возникло ситуации его случайного совпадения в одной локальной сети.
Нужно особо отметить, что на большинстве современных адаптеров можно программным путем установить любой адрес. А существуют еще и виртуальные (программные) интерфейсы, где адрес задается только программным путем. Это представляет определенную угрозу работоспособности локальной сети, и может быть причиной серьезных сбоев в работе сети.
В данной статье, мы разберемся, что такое сетевая модель 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 -->
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 -->
Уровень представления
Осуществляет преобразование данных общего характера (кодирование, компрессия и т.п.) прикладного уровня в поток информации для транспортного уровня. Отвечает за возможность диалога между приложениями на разных машинах.
Протоколы
Подуровни канального уровня
Подуровень №1 — управление логическим каналом (logical link control) LLC, а подуровень №2 — управление доступом к среде (media access control) MAC.
p, blockquote 39,0,0,0,0 -->
Подуровень LLC отвечает за передачу данных, формирование кадров, обработку ошибок и тому подобное. LLC общий уровень для различных технологий канального уровня.
p, blockquote 40,0,0,0,0 -->
Подуровень MAC используется, если технология канального уровня с разделяемым доступом. Если технология канального уровня используют соединение “точка-точка”, то подуровень MAC не нужен.
p, blockquote 41,0,0,0,0 -->
Во-первых если у нас есть несколько устройств, которые подключены к одному и тому же каналу связи, то при передаче данных мы должны явно указать, к какому устройству эти данные предназначены. Для этого используются адресация канального уровня, также необходимо обеспечить корректное, совместное использование разделяемой среды передачи данных.
p, blockquote 42,0,0,0,0 -->
Подуровень MAC особенный для разных технологий канального уровня, он зависит от того, какая среда передачи данных используется.
p, blockquote 43,0,0,0,0 -->
Физический уровнь
Выполняет реальную физическую передачу бит данных. Получает пакеты данных от вышележащего канального уровня и преобразует их в оптические или электрические сигналы, соответствующие 0 и 1 бинарного потока. Эти сигналы посылаются через среду передачи на приемный узел. Механические и электрические/оптические свойства среды передачи определяются на физическом уровне и включают:
- Тип кабелей и разъемов
- Разводку контактов в разъемах
- Схему кодирования сигналов для значений 0 и 1
Протоколы
RS-232, RS-422, RS-423, RS-449, RS-485, ITU-T, xDSL, ISDN, T-carrier (T1, E1), модификации стандарта Ethernet: 10BASE-T, 10BASE2, 10BASE5, 100BASE-T (включает 100BASE-TX, 100BASE-T4, 100BASE-FX), 1000BASE-T, 1000BASE-TX, 1000BASE-SX
Множественный доступ к каналу связи
Предположим, есть какая-то общая среда передачи данных, к которой подключены несколько компьютеров и они начали передавать данные одновременно. Но так как среда передачи данных одна, то данные искажаются и не могут быть прочитаны из среды. Это называется коллизия. Подуровень MAC обеспечивает управление доступом, к разделяемой среде. В один и тот же момент времени, канал связи для передачи данных должен использовать только один отправитель. В противном случае произойдет коллизия и данные искажаются.
p, blockquote 45,0,0,0,0 -->
Методы управления доступом:
- Рандомизированный метод. Предположим, к среде подключено N устройств в этом случае для передачи данных случайным образом выбирается одно из этих устройств с вероятностью 1/N. Такой подход применяется в технологиях канального уровня изернет и вай-фай.
- Определение правил использования среды, например, в технологии Token Ring, данные может передавать только одно устройство, у которого сейчас находится токен. После того как это устройство передало данные, оно передает токен следующему устройству и следующее устройство может передавать данные. Хотя такой подход обеспечивает более эффективное использование полосы пропускания канала связи, но он требует более дорогого оборудования. Поэтому на практике получил распространение рандомизированный подход.
Раньше было очень много технологий канального уровня, каждая из которых обладала теми или иными преимуществами и недостатками. Однако сейчас в процессе развития остались только две популярные технологии это ethernet и вай-фай.
p, blockquote 47,0,0,0,0 -->
p, blockquote 48,0,0,0,0 --> p, blockquote 49,0,0,0,1 -->
Мы рассмотрели канальный уровень, его основные задачи. Выяснили, что канальный уровень может обнаруживать и исправлять ошибки. Спасибо за прочтение статьи, надеемся она была для Вас полезной.
Транспортный уровень (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 -->
Формирование кадра
Например, есть два ноутбука Хост 1 и Хост 2. И на картинке ниже есть три уровня, сетевой, канальный и физический.
p, blockquote 7,0,0,0,0 -->
p, blockquote 8,0,0,0,0 -->
p, blockquote 9,0,0,0,0 -->
Принимающее устройство читает заголовок и концевик, извлекает пакет сетевого уровня и передает вышестоящему сетевому уровню для последующей обработки.
p, blockquote 10,0,0,0,0 -->
Работа с кадрами
p, blockquote 5,0,0,0,0 -->
p, blockquote 6,0,0,0,0 -->
Прикладной уровень
Обеспечивает преобразование данных, специфичных для каждого приложения. Отвечает за доступ приложений в сеть.
Протоколы
Вставка byte и bit
Чтобы определить начало и конец кадра, в начале и конце каждого кадра используют специальные последовательности байт или бит. Вставка байтов применялась в протоколах BSC компании IBM, в котором отправлялись обычные текстовые символы.
p, blockquote 17,0,0,0,0 -->
Перед передачей каждого фрейма добавлялись байты DLE STX (start of text), а после окончания передачи фрейма DLE ETX (end of text). Проблема может возникнуть в том, что в данных тоже может встретиться точно такая же последовательность.
p, blockquote 18,0,0,0,0 -->
Чтобы отличать последовательность, которая встречается в данных от управляющих символов используются Escape последовательности. В протоколе BSC это тоже последовательность символов DLE (data link escape). Если какая-то последовательность управляющих символов встречается в данных перед ними добавляются escape последовательности DLE, чтобы протокол понимал, что в реальности это данные, а не управляющие символы.
p, blockquote 19,0,0,0,0 -->
Вставка битов применяется в более современных протоколах, таких как HDLC и PPP. Здесь перед началом и концом каждого кадра добавляется последовательность бит состоящая из 01111110. Может возникнуть проблема, если в данных встречаются подряд идущие 6 или более единиц. Чтобы решить эту задачу в данные, после каждых пяти последовательно идущих 1 добавляется 0. Затем, как получатель прочитал 5 последовательно идущих 1 и встретил 0, то он, этот 0 игнорирует.
p, blockquote 20,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 -->
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 -->
Уровни модели 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 -->
Сетевой уровень
Обеспечивает маршрутизацию, и управление загрузкой канала передачи, предоставляет необработанный маршрут передачи, состоящий лишь из конечных точек. Отвечает за деление пользователей на группы. На этом уровне происходит маршрутизация пакетов на основе преобразования MAC-адресов в сетевые адреса. Сетевой уровень обеспечивает также прозрачную передачу пакетов на транспортный уровень.
Протоколы
IP, IPv6, ICMP, IGMP, IPX, NWLink, NetBEUI, DDP, IPSec, ARP, RARP, DHCP, BootP, SKIP, RIP
Прикладной уровень (APPLICATION)
Необходим для взаимодействия между собой сетевых приложений, таких как web, e-mail, skype и тд.
p, blockquote 71,0,0,0,0 -->
По сути, представляет собой комплект спецификаций, позволяющих пользователю осуществлять вход на страницы для поиска нужной ему информации. Проще говоря, задачей application является обеспечение доступа к сетевым службам. Содержимое этого уровня очень разнообразно.
p, blockquote 72,0,0,0,0 -->
Функции application:
- Решение задач, отправка файлов; управление заданиями и системой;
- Определение пользователей по их логину, e-mail адресу, паролям, электронным подписям;
- Запросы на соединение с иными прикладными процессами;
Канальный уровень (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 -->
Обнаружение и исправление ошибок
Самый простой способ это обнаружить ошибку. Например, с помощью контрольной суммы или какого-либо другого алгоритма. Если у нас технология канального уровня использует обнаружение технических ошибок, то кадр в котором произошла ошибка, просто отбрасывается. Попыток восстановить данные не производится.
p, blockquote 24,1,0,0,0 -->
p, blockquote 25,0,0,0,0 -->
p, blockquote 26,0,0,0,0 -->
p, blockquote 27,0,0,0,0 -->
p, blockquote 28,0,0,0,0 -->
p, blockquote 29,0,0,0,0 -->
p, blockquote 30,0,0,0,0 -->
p, blockquote 31,0,0,0,0 -->
p, blockquote 32,0,0,0,0 -->
p, blockquote 33,0,0,0,0 -->
p, blockquote 34,0,0,0,0 -->
p, blockquote 35,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 -->
Уровень представления данных (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 -->
p, blockquote 69,0,0,0,0 -->
p, blockquote 70,0,0,0,0 -->
Средства физического уровня
Другой вид определения начала и конца кадра, это использование средств физического уровня и он применяется в технологии Ethernet. В первом варианте технологии ethernet использовалась преамбула — это последовательность данных, которая передается перед началом каждого кадра. Она состоит из 8 байт. Первые семь байт состоят из чередующихся 0 и 1: 10101010. Последний байт содержит чередующиеся 0 и 1, кроме двух последних бит в котором две единицы. И именно такая последовательность говорит, что начинается новый кадр.
p, blockquote 21,0,0,0,0 -->
В более старых версиях используется избыточное кодирование, позволяющее определить ошибки, но при этом не все символы являются значащими. В технологии Fast Ethernet применили эту особенность кода и используют символы, которые не применяются для представления данных в качестве сигналов о начале и конце кадра.
p, blockquote 22,0,0,0,0 -->
Перед отправкой каждого кадра передаются символы J (11000) и K (10001), а после окончания отправки кадра передается символ T (01101).
p, blockquote 23,0,0,0,0 -->
Читайте также: