Слайд 2
Канальный уровень
(англ. Data Link layer) — второй уровень сетевой модели
OSI, предназначенный для передачи данных узлам, находящимся в том
же сегменте локальной сети. Также может использоваться для обнаружения и, возможно, исправления ошибок, возникших на физическом уровне. Примерами протоколов, работающих на канальном уровне, являются: Ethernet для локальных сетей (многоузловой), Point-to-Point Protocol (PPP), HDLC и ADCCP для подключений точка-точка (двухузловой).
Слайд 3
Канальный уровень отвечает за доставку кадров между устройствами,
подключенными к одному сетевому сегменту. Кадры канального уровня не
пересекают границ сетевого сегмента. Функции межсетевой маршрутизации и глобальной адресации осуществляются на более высоких уровнях модели OSI, что позволяет протоколам канального уровня сосредоточиться на локальной доставке и адресации.
Слайд 4
Заголовок кадра содержит аппаратные адреса отправителя и получателя,
что позволяет определить, какое устройство отправило кадр и какое
устройство должно получить и обработать его. В отличие от иерархических и маршрутизируемых адресов, аппаратные адреса одноуровневые. Это означает, что никакая часть адреса не может указывать на принадлежность к какой либо логической или физической группе.
Слайд 5
Когда устройства пытаются использовать среду одновременно, возникают коллизии
кадров. Протоколы канального уровня выявляют такие случаи и обеспечивают
механизмы для уменьшения их количества или же их предотвращения.
Слайд 6
Многие протоколы канального уровня не имеют подтверждения о
приёме кадра, некоторые протоколы даже не имеют контрольной суммы
для проверки целостности кадра. В таких случаях протоколы более высокого уровня должны обеспечивать управление потоком данных, контроль ошибок, подтверждение доставки и ретрансляции утерянных данных.
Слайд 7
На этом уровне работают коммутаторы, мосты.
В программировании доступ
к этому уровню предоставляет драйвер сетевой платы. В операционных
системах имеется программный интерфейс взаимодействия канального и сетевого уровней между собой, это не новый уровень, а просто реализация модели для конкретной ОС. Примеры таких интерфейсов: ODI, NDIS.[
Слайд 8
Подуровни канального уровня
Спецификация IEEE 802 разделяет этот уровень
на 2 подуровня. MAC (Media Access Control) регулирует доступ
к разделяемой физической среде, LLC (Logical Link Control) обеспечивает обслуживание сетевого уровня.
Слайд 9
Функции канального уровня
Получение доступа к среде передачи. Обеспечение
доступа — важнейшая функция канального уровня. Она требуется всегда, за
исключением случаев, когда реализована полносвязная топология (например, два компьютера, соединенных через кроссовер, или компьютер со свичом в полнодуплексном режиме).
Выделение границ кадра. Эта задача также решается всегда. Среди возможных решений этой задачи — резервирование некоторой последовательности, обозначающей начало или конец кадра.
Аппаратная адресация (или адресация канального уровня). Требуется в том случае, когда кадр могут получить сразу несколько адресатов. В локальных сетях аппаратные адреса (MAC-адреса) применяются всегда.
Обеспечение достоверности принимаемых данных. Во время передачи кадра есть вероятность, что данные исказятся. Важно это обнаружить и не пытаться обработать кадр, содержащий ошибку. Обычно на канальном уровне используются алгоритмы контрольных сумм, дающие высокую гарантию обнаружения ошибок.
Адресация протокола верхнего уровня. В процессе декапсуляции указание формата вложенного PDU существенно упрощает обработку информации, поэтому чаще всего указывается протокол, находящийся в поле данных, за исключением тех случаев, когда в поле данных может находиться один-единственный протокол.
Слайд 10
MAC-адрес
(от англ. Media Access Control — управление доступом к
среде, также Hardware Address) — это уникальный идентификатор, присваиваемый каждой
единице активного оборудования компьютерных сетей. Большинство сетевых протоколов канального уровня используют одно из трёх пространств MAC-адресов, управляемых IEEE: MAC-48, EUI-48 и EUI-64. Адреса в каждом из пространств теоретически должны быть глобально уникальными. Не все протоколы используют MAC-адреса, и не все протоколы, использующие MAC-адреса, нуждаются в подобной уникальности этих адресов.
Слайд 11
В широковещательных сетях (таких, как сети на основе
Ethernet) MAC-адрес позволяет уникально идентифицировать каждый узел сети и
доставлять данные только этому узлу. Таким образом, MAC-адреса формируют основу сетей на канальном уровне, которую используют протоколы более высокого (сетевого) уровня. Для преобразования MAC-адресов в адреса сетевого уровня и обратно применяются специальные протоколы (например, ARP и RARP в сетях IPv4 и NDP в сетях на основе IPv6).
Слайд 12
Адреса вроде MAC-48 наиболее распространены; они используются в
таких технологиях, как Ethernet, Token ring, FDDI, WiMAX и
др. Они состоят из 48 бит, таким образом, адресное пространство MAC-48 насчитывает 248 (или 281 474 976 710 656) адресов. Согласно подсчётам IEEE, этого запаса адресов хватит по меньшей мере до 2100 года.
EUI-48 от MAC-48 отличается лишь семантически: в то время как MAC-48 используется для сетевого оборудования, EUI-48 применяется для других типов аппаратного и программного обеспечения.
Идентификаторы EUI-64 состоят из 64 бит и используются в FireWire, а также в IPv6 в качестве младших 64 бит сетевого адреса узла.
Слайд 13
ARP
(англ. Address Resolution Protocol — протокол определения адреса) — протокол
в компьютерных сетях, предназначенный для определения MAC адреса по
известному IP адресу.
Слайд 14
Рассмотрим суть функционирования ARP на простом примере. Компьютер
А (IP адрес 10.0.0.1) и компьютер Б (IP адрес
10.22.22.2) соединены сетью Ethernet. Компьютер А желает переслать пакет данных на компьютер Б, IP адрес компьютера Б ему известен. Однако сеть Ethernet, которой они соединены, не работает с IP адресами. Поэтому компьютеру А для осуществления передачи через Ethernet требуется узнать адрес компьютера Б в сети Ethernet (MAC адрес в терминах Ethernet). Для этой задачи и используется протокол ARP. По этому протоколу компьютер А отправляет широковещательный запрос, адресованный всем компьютерам в одном с ним сегменте Ethernet. Суть запроса: «компьютер с IP адресом 10.22.22.2, сообщите свой MAC адрес компьютеру с IP адресом 10.0.0.1». Сеть Ethernet доставляет этот запрос всем устройствам в том же сегменте Ethernet, в том числе и компьютеру Б. Компьютер Б отвечает компьютеру А на запрос и сообщает свой MAC адрес (напр. 00:ea:d1:11:f1:11) Теперь, получив MAC адрес компьютера Б, компьютер А может передавать ему любые данные через сеть Ethernet.
Слайд 15
Наибольшее распространение ARP получил благодаря повсеместности сетей IP,
построенных поверх Ethernet, поскольку практически в 100 % случаев при
таком сочетании используется ARP. В семействе протоколов IPv6 ARP не существует, его функции возложены на ICMPv6.
Слайд 16
ARP оповещение (ARP Announcement)
— это пакет (обычно ARP
запрос [3]) содержащий корректную SHA и SPA хоста-отправителя, с
TPA равной SPA. Это не разрешающий запрос, а запрос на обновление ARP-кеша других хостов, получающих пакет.
Большинство операционных систем посылают такой пакет при включении хоста в сеть, это позволяет предотвратить ряд проблем. Например при смене сетевой карты (когда необходимо обновить связь между IP и MAC адресами), такой запрос исправит записи в ARP-кеше других хостов в сети.