за что отвечает канальный уровень

Канальный уровень в модели OSI — подробный разбор

Основная задача канального уровня — передача кадров (frame) по каналам связи. На этом уровне и определяется, где в потоке бит начало сообщения, где конец.

за что отвечает канальный уровень. Смотреть фото за что отвечает канальный уровень. Смотреть картинку за что отвечает канальный уровень. Картинка про за что отвечает канальный уровень. Фото за что отвечает канальный уровень

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

Дополнительные задачи канального уровня:

Работа с кадрами

Физический уровень предназначен для передачи потока бит по КС. А на канальном уровне необходимо передавать не отдельные биты, а целые сообщения. Задача №1 для канального уровня, выделить сообщения из потока бит, которые приходят по среде передачи данных.

за что отвечает канальный уровень. Смотреть фото за что отвечает канальный уровень. Смотреть картинку за что отвечает канальный уровень. Картинка про за что отвечает канальный уровень. Фото за что отвечает канальный уровень

Формирование кадра

Например, есть два ноутбука Хост 1 и Хост 2. И на картинке ниже есть три уровня, сетевой, канальный и физический.

за что отвечает канальный уровень. Смотреть фото за что отвечает канальный уровень. Смотреть картинку за что отвечает канальный уровень. Картинка про за что отвечает канальный уровень. Фото за что отвечает канальный уровень

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

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

Методы выделения кадров

Чтобы определить, где в потоке бит начинаются и заканчиваются отдельные frame, были придуманы следующие методы:

Указатель количества байт

Наипростейший способ определить, где начинается и заканчивается кадр — добавлять длину этого кадра в начало кадра. Например, на картинке ниже показано 3 кадра выделенных разным цветом. В начале каждого кадра указано количество байт. Синим цветом — 6, желтым — 8, зеленым — 4.

за что отвечает канальный уровень. Смотреть фото за что отвечает канальный уровень. Смотреть картинку за что отвечает канальный уровень. Картинка про за что отвечает канальный уровень. Фото за что отвечает канальный уровень

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

за что отвечает канальный уровень. Смотреть фото за что отвечает канальный уровень. Смотреть картинку за что отвечает канальный уровень. Картинка про за что отвечает канальный уровень. Фото за что отвечает канальный уровень

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

Вставка byte и bit

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

Перед передачей каждого фрейма добавлялись байты DLE STX (start of text), а после окончания передачи фрейма DLE ETX (end of text). Проблема может возникнуть в том, что в данных тоже может встретиться точно такая же последовательность.

Чтобы отличать последовательность, которая встречается в данных от управляющих символов используются Escape последовательности. В протоколе BSC это тоже последовательность символов DLE (data link escape). Если какая-то последовательность управляющих символов встречается в данных перед ними добавляются escape последовательности DLE, чтобы протокол понимал, что в реальности это данные, а не управляющие символы.

Вставка битов применяется в более современных протоколах, таких как HDLC и PPP. Здесь перед началом и концом каждого кадра добавляется последовательность бит состоящая из 01111110. Может возникнуть проблема, если в данных встречаются подряд идущие 6 или более единиц. Чтобы решить эту задачу в данные, после каждых пяти последовательно идущих 1 добавляется 0. Затем, как получатель прочитал 5 последовательно идущих 1 и встретил 0, то он, этот 0 игнорирует.

Средства физического уровня

Другой вид определения начала и конца кадра, это использование средств физического уровня и он применяется в технологии Ethernet. В первом варианте технологии ethernet использовалась преамбула — это последовательность данных, которая передается перед началом каждого кадра. Она состоит из 8 байт. Первые семь байт состоят из чередующихся 0 и 1: 10101010. Последний байт содержит чередующиеся 0 и 1, кроме двух последних бит в котором две единицы. И именно такая последовательность говорит, что начинается новый кадр.

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

Перед отправкой каждого кадра передаются символы J (11000) и K (10001), а после окончания отправки кадра передается символ T (01101).

Обнаружение и исправление ошибок

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

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

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

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

за что отвечает канальный уровень. Смотреть фото за что отвечает канальный уровень. Смотреть картинку за что отвечает канальный уровень. Картинка про за что отвечает канальный уровень. Фото за что отвечает канальный уровень

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

за что отвечает канальный уровень. Смотреть фото за что отвечает канальный уровень. Смотреть картинку за что отвечает канальный уровень. Картинка про за что отвечает канальный уровень. Фото за что отвечает канальный уровень

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

за что отвечает канальный уровень. Смотреть фото за что отвечает канальный уровень. Смотреть картинку за что отвечает канальный уровень. Картинка про за что отвечает канальный уровень. Фото за что отвечает канальный уровень

Есть два варианта метода повторной отправки сообщения. Схему которую мы рассмотрели называется с остановкой и ожиданием. Отправитель передает фрейм и останавливается ожидая подтверждение. Следующий кадр передается только после того, как пришло подтверждение о получении предыдущего сообщения. Такой метод используются в технологии канального уровня Wi-Fi.

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

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

Множественный доступ к каналам

Как это лучше делать? Практика показала, что на каналах где ошибки возникают редко, например, если данные передаются по проводам, то на канальном уровне лучше использовать простое обнаружение ошибок. А если ошибки в среде передачи данных происходят часто, например как это происходит в wifi? где используются электромагнитное излучение и много помех, то ошибки эффективнее обнаруживать и исправлять прямо на канальном уровне. Модель взаимодействия открытых систем разрабатывалась, когда на практике использовались только каналы связи “точка-точка” — это были последовательные линии связи, которые объединяли большие компьютеры.

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

за что отвечает канальный уровень. Смотреть фото за что отвечает канальный уровень. Смотреть картинку за что отвечает канальный уровень. Картинка про за что отвечает канальный уровень. Фото за что отвечает канальный уровень

Подуровни канального уровня

Подуровень №1 — управление логическим каналом (logical link control) LLC, а подуровень №2 — управление доступом к среде (media access control) MAC.

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

Подуровень MAC используется, если технология канального уровня с разделяемым доступом. Если технология канального уровня используют соединение “точка-точка”, то подуровень MAC не нужен.

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

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

Услуги подуровня LLC

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

Множественный доступ к каналу связи

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

Методы управления доступом:

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

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

Источник

Функции канального уровня модели OSI.

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

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

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

В локальных сетях канальный уровень разделяется на два подуровня:

1. Уровень доступа к среде (media access layer, MAC)

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

2. Уровень управления логическим каналом (logical link control, LLC).

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

Протоколы уровней MAC и LLC взаимно независимы – каждый протокол MAC-уровня может применяться с любым типом протокола LLC-уровня и наоборот.

Функции канального уровня

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

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

Также канальный уровень занимается:

Протоколы канального уровня

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

2. Point-to-Point Protocol (PPP). PPP – это двухточечный протокол канального уровня, который используется для установления соединения между двумя устройствами. Протокол PPP позволяет шифровать данные, реализует аутентификацию и сжатие данных.

3. Point-to-Point Protocol over Ethernet (PPPoE). Протокол PPPoE описывает процесс передачи кадров канального протокола PPP через сети, построенные по технологии Ethernet.

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

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

Источник

Функции канального уровня

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

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

Объединение сетей на канальном уровне

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

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

Логическая топология сети

В логической шине информация (кадр), передаваемая одним узлом, одновременно доступна для всех узлов, подключенных к одному сегменту. Передачу считанных данных на вышестоящий уровень (LLC-подуровепь) производит только тот узел (узлы), которому адресуется данный кадр. Логическая шина реализуется на физической топологии шины, звезды, дерева, сетки. Метод доступа к среде передачи, разделяемой между всеми узлами сегмента, — вероятностный, основанный на прослушивании сигнала в шине (Ethernet), или детерминированный, основанный на определенной дисциплине передачи права доступа (ARCnet).

В логическом кольце информация передается последовательно от узла к узлу. Каждый узел принимает кадры только от предыдущего и посылает только последующему узлу по кольцу. Узел транслирует дальше по сети все кадры, а обрабатывает только адресуемые ему. Реализуется на физической топологии кольца или звезды с внутренним кольцом в концентраторе. Метод доступа — детерминированный. На логическом кольце строятся сети Token Ring и FDDI.

Современный подход к построению высокопроизводительных сетей переносит большую часть функций МАС-уровня (управление доступом к среде) на центральные сетевые устройства — коммутаторы.

Протоколы канального уровня

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

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

В настоящее время существует большое количество сетевых технологий и, соответственно, определяемых ими протоколов канального уровня. Рассмотрим для примера одну из наиболее популярных в настоящее время технологий – технологию локальных сетей Ethernet. Эта технология предполагает, что сеть должна строиться на основе физических топологий «шина», если используется коаксиальный кабель, или «звезда», если используется кабель типа «витая пара». В зависимости от типа используемого кабеля скорость передачи данных лежит в диапазоне 10-100 Мбит/с. В качестве метода доступа к среде передачи используется метод обнаружения коллизий (CSMA/CD). Что касается формата кадра, то в настоящее время на практике используются 4 варианта кадров Ethernet, отличающихся друг от друга, но все они согласуются с общими положениями, изложенными ранее. Максимальный объем данных, передаваемых в одном кадре (MTU), в технологии Ethernet не может превышать 1500 байт.

Помимо технологии Ethernet в настоящее время в локальных сетях широко используются технологии AppleTalk, FDDI и ATM. В глобальных сетях широко распространены технологии ATM, FrameRelay, ISDN и SMDS.

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

Протоколы канального уровня и сетевые технологии

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

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

В настоящее время существует большое количество сетевых технологий и, соответственно, определяемых ими протоколов канального уровня. Рассмотрим для примера одну из наиболее популярных в настоящее время технологий – технологию локальных сетей Ethernet. Эта технология предполагает, что сеть должна строиться на основе физических топологий «шина», если используется коаксиальный кабель, или «звезда», если используется кабель типа «витая пара». В зависимости от типа используемого кабеля скорость передачи данных лежит в диапазоне 10-100 Мбит/с. В качестве метода доступа к среде передачи используется метод обнаружения коллизий (CSMA/CD). Что касается формата кадра, то в настоящее время на практике используются 4 варианта кадров Ethernet, отличающихся друг от друга, но все они согласуются с общими положениями, изложенными ранее. Максимальный объем данных, передаваемых в одном кадре (MTU), в технологии Ethernet не может превышать 1500 байт.

Помимо технологии Ethernet в настоящее время в локальных сетях широко используются технологии AppleTalk, FDDI и ATM. В глобальных сетях широко распространены технологии ATM, FrameRelay, ISDN и SMDS.

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

Протоколы для соединений типа «точка-точка»

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

Структура кадра SLIP

В связи с этим протокол SLIP в настоящее время почти не используется при построении реальных сетей. Для подключения к Интернет по обычным телефонным линиям конечных пользователей в основном применяется более совершенный протокол канального уровня PPP (Point-to-Point Protocol). В отличие от SLIP протокол PPP обладает большей функциональностью и обеспечивает:

возможность использования нескольких протоколов сетевого уровня;

механизм согласования параметров устройств передачи данных;

механизм сжатия передаваемой информации с целью повышения эффективности и надежности передачи;

механизм обнаружения и исправления ошибок;

механизмы защиты, предотвращающие несанкционированные подключения.

Протоколы для сетей сложных топологий

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

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

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

Адресация абонентов

Для обеспечения адресации абонентов в заголовке кадров должны присутствовать следующие поля:

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

Метод доступа к среде передачи

Важной проблемой передачи данных по сети с коммутацией пакетов, является проблема одновременной передачи данных несколькими компьютерами. Поскольку одновременно в сети может присутствовать только один пакет, то доступ компьютеров к среде передачи должен определенным образом упорядочиваться. В настоящее время существует три основных метода управления доступом к среде передачи: «Обнаружение коллизий», «Предупреждение коллизий» и «Передача маркера».

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

Метод коммутации

В настоящее время существует два основных метода коммутации: коммутация каналов и коммутация пакетов.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *