Мы с вами движемся дальше к вершинам модели OSI, и начнем с методов передачи данных на канальном уровне. С физическим уровнем мы, вроде бы, разобрались, и выяснили, что там происходит непосредственно передача битов по проводам. Но, мы знаем, что реальная линия связи состоит не только из кабеля, но еще включает дополнительное оборудование: маршрутизаторы, коммутаторов и т.п. Это оборудование помогает управлять передачей информации в сети определенной топологии от компьютера к компьютеру. Задачей качественного, быстрого и надежного установления соединения компьютеров с помощью такого рода оборудования и занимается канальный уровень.
Канальный уровень работает со станциями, которые не обмениваются информациюй побитно, а оперируют кадрами данных. Кадры образуются определенным набором бит данных. Они содержат в себе, как минимум, адрес получателя, и отправляются узлом-источником для передачи по кабелю методами физического уровня, затем оборудование сети, в зависимости от ее топологии, распознает - кому эти кадры предназначены, и отправляет их по кабелю к узлу-приемнику. Таким образом, канальный уровень - это по сути логика установки соединений в сети. С одной стороны он привязан к физическому уровню, то есть к типам используемых линий связи и методам передач физического уровня. Но с другой стороны он связан с сетевым уровнем, который уже управляет передачей информации между локальными сетями.
Канальный уровень для каждой топологии сети имеет свои правила работы - протоколы. Если физический уровень не касается вопросов, какой компьютер и когда может использовать кабель линии связи, для него важно просто обеспечить качественную доставку от узла к узлу. То на канальном уровне происходит "борьба за кабель" за доставку информации к нужному узлу сети, он занимается проблемами взаимодействия станций друг с другом, обеспечением гарантии доставки пакета информации к станции в любой из используемой топологии сети.
Давайте теперь сформулируем, в общем, какие основные процессы происходят на канальном уровне при передаче данных.
1. Канальный уровень обеспечивает передачу пакетов данных, поступающих от протоколов верхних уровней, узлу назначения, адрес которого также указывает протокол верхнего уровня.
2. Протоколы канального уровня оформляют переданные им пакеты в кадры собственного формата, помещая указанный адрес назначения в одно из полей такого кадра, а также сопровождая кадр контрольной суммой.
3. Протокол канального уровня имеет локальный смысл, он предназначен для доставки кадров данных, как правило, в пределах сетей с простой топологией связей и однотипной или близкой технологией. Во всех этих конфигурациях адрес назначения имеет локальный смысл для данной сети и не изменяется при прохождении кадра от узла-источника к узлу назначения.
4. Возможность передавать данные между локальными сетями разных технологий связана с тем, что в этих технологиях используются адреса одинакового формата, к тому же производители сетевых адаптеров обеспечивают уникальность адресов независимо от технологии.
5. Еще одной областью действия протоколов канального уровня являются, так называемые, связи типа "точка-точка" глобальных сетей, когда протокол канального уровня ответственен за доставку кадра непосредственному соседу. Адрес в этом случае не имеет принципиального значения, а на первый план выходит способность протокола восстанавливать искаженные и утерянные кадры, так как плохое качество территориальных каналов, особенно коммутируемых телефонных, часто требует выполнения подобных действий. Если же перечисленные выше условия не соблюдаются, то протокол канального уровня не может в одиночку справиться с задачей передачи кадра между узлами и требует помощи у протокола верхнего сетевого уровня.
Наиболее существенными характеристиками метода передачи, а значит, и протокола, работающего на канальном уровне, являются следующие:
· асинхронный/синхронный;
· символьно-ориентированный/бит-ориентированный;
· с предварительным установлением соединения/дейтаграммный;
· с обнаружением искаженных данных/без обнаружения;
· с обнаружением потерянных данных/без обнаружения;
· с восстановлением искаженных и потерянных данных/без восстановления;
· с поддержкой динамической компрессии данных/без поддержки.