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

Обновлено: 28.04.2024

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

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

Другая примечательная черта TCP/IP - его "открытость": это полностью общедоступная спецификация. Любой человек может предлагать дополнения к этой спецификации, и процесс протекает абсолютно открыто. Так, многие фирмы предлагают свои платформы с уже встроенными протоколами и сервисами TCP/IP . Это облегчает конечному пользователю задачу совместного использования различных ресурсов без привязки к какому-то одному поставщику.

Третье важное преимущество TCP/IP состоит в том, что это набор очень надежных протоколов, в состав которого входят транспортные протоколы, эффективно работающие в глобальных сетях. Протокол NBF ( и в меньшей степени IPX ) предназначался для использования в локальных сетях. NBF не предусматривает маршрутизацию, т.е. пользователи, подключенные к одному сетевому кабелю, видят серверы, подключенные к другому кабелю, только в том случае, если два этих сегмента соединены мостом и образуют одну логическую сеть. В глобальных сетевых средах эта схема работает плохо. Протокол IPX - полностью маршрутизируемый, но вот более высокоуровневый NCP предусматривает явное квитирование всех передаваемых сетевых пакетов, что сильно замедляет его работу с глобальными сетевыми каналами. Ни один из этих наборов протоколов не подходит для использования в Internet .

Комплект протоколов TCP/IP с самого начала разрабатывался для соединения хост-компьютеров между собой через глобальные сети, поэтому он и маршрутизируемый, и эффективный. Эти достоинства сохраняются и в локальных сетях, что делает TCP/IP отличным вариантом и для мелко-, и для крупномасштабных сетей. Три вышеупомянутых качества (масштабируемость, открытость и надежность) делают TCP/IP привлекательным вариантом для пользователей разнородных сред. Именно поэтому TCP/IP является стержнем Internet .

Функционирование сети TCP/IP

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

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

Саша знает имя своего компьютера, IP- и MAC -адрес, т.к. все эти параметры прописаны в конфигурации его компьютера. Остается узнать только IP- и MAC -адрес компьютера Коли. Для этого Саша должен воспользоваться системой доменных имен ( DNS ) и протоколом разрешения адресов ( ARP ). Саша знает IP -адрес DNS , т.к. он прописан в конфигурации Сашиной машины. Далее Саша отправляет DNS -запрос системе DNS , спрашивая у нее IP- адрес Колиной машины. DNS отвечает адресом 10.1.1.2. Но Саше все еще нужен адрес Ethernet MAC , использующий адрес 10.1.1.2, поэтому он выполняет широковещательный ARP -зарос. Такой запрос отправляется по широковещательному Ethernet -адресу, чтобы все компьютеры, находящиеся в сети, его получили. Поскольку компьютер Коли подключен к сети, он получает этот запрос. А так как адрес его компьютера 10.1.1.2, а ARP -запрос ищет MAC -адрес, связанный с адресом 10.1.1.2, Коля сообщает свой MAC -адрес. На рис.1 схематически показан весь этот процесс.

Рис. 1. Работа служб DNS и протокола ARP

Теперь Саша знает адреса IP и Ethernet MAC , которые необходимы для отправки данных Коле. Весь этот процесс проходит автоматически, невидимо для пользователя, но важно знать, как это все происходит, чтобы уметь решать возникающие проблемы.

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

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

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

На канальном уровне используются протоколы SLIP ( Serial Link Internet Protocol - межсетевой протокол для последовательного канала ) и PPP ( Point-to-Point Protocol - протокол "точка-точка" ) .

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

Serial Line Internet Protocol (SLIP )

Согласно RFC -1055 впервые SLIP был включен в качестве средства доступа к IP -сети в пакет фирмы 3COM-UNET . В 1984 г. Рик Адамс реализовал SLIP для BSD 4.2 , и таким образом SLIP стал достоянием Internet в целом. Обычно этот протокол применяют как на выделенных, так и на коммутируемых линиях связи со скоростью передачи от 1200 до 19200 бит/с.

Такие операционные системы, как FreeBSD, Linux, NetBSD , которые можно свободно скопировать и установить на своем персональном компьютере, или HP-UX , которая поставляется вместе с рабочими станциями Hewlett-Packard , имеют в своем арсенале программные средства типа sliplogin (FreeBSD) или slp (HP-UX ), обеспечивающие работу компьютера в качестве SLIP -сервера для удаленных пользователей, подключающихся к IP -сети по телефону. Хотя в стандарте SLIP нет определения понятия " SLIP -сервер", обычно используют термины " SLIP -клиент" для компьютера, инициирующего физическое соединение, и " SLIP -сервер" для машины, постоянно включенной в IP -сеть.

В рамках протокола SLIP осуществляется фрагментация IP -пакетов, при этом SLIP -пакет должен начинаться символом ESC (восьмеричное 333 или десятичное 219) и заканчиваться символом END (восьмеричное 300 или десятичное 192). Стандарт не определяет размер SLIP -пакета, поэтому любой интерфейс имеет специальное поле, в котором пользователь должен указать эту длину. SLIP -модуль не анализирует поток данных и не выделяет какую-либо информацию в этом потоке, а также не позволяет выполнять какие-либо действия, связанные с адресами, т.к. в структуре пакета не предусмотрены поле адреса и его специальная обработка. Компьютеры, взаимодействующие по SLIP , обязаны знать свои IP -адреса заранее. SLIP не предусматривает корректировку ошибок линии связи, и коррекция ошибок возлагается на протоколы транспортного уровня - TCP, UDP . В стандартное SLIP не предусмотрена компрессия данных, но существуют варианты протокола с такими возможностями.

Point to Point Protocol (PPP )

Согласно RFC -1661 данный протокол обеспечивает стандартный метод взаимодействия двух узлов сети. Предполагается, что обеспечивается двунаправленная одновременная передача данных. Как и в SLIP , данные разбиваются на пакеты, которые передаются от узла к узлу упорядоченно. В отличие от SLIP , PPP позволяет одновременно передавать по линии связи пакеты различных протоколов. Кроме того, PPP предполагает процесс автоконфигурации обеих взаимодействующих сторон. Собственно говоря, PPP состоит из трех частей: механизма инкапсуляции ( encapsulation), протокола управления соединением ( link control protocol) и семейства протоколов управления сетью ( network control protocols ).

Под датаграммой в PPP понимается информационная единица сетевого уровня (применительно к IP - IP- пакет). Под фреймом понимают информационную единицу канального уровня (согласно модели OSI ). Для обеспечения быстрой обработки информации длина фрейма PPP должна быть кратна 32 битам. Фрейм состоит из заголовка и хвоста, между которыми содержаться данные. Датаграмма может быть инкапсулирована в один или несколько фреймов (Рис.2). Пакетом называют информационную единицу обмена между модулями сетевого и канального уровней. Обычно каждому пакету ставится в соответствие один фрейм, за исключением тех случаев когда канальный уровень требует большей фрагментации данных или, наоборот, объединяет пакеты для более эффективной передачи.

В поле "Протокол" указывается тип инкапсулированной датаграммы. Существуют специальные правила кодирования протоколов в этом поле (см. ISO 3309 и RFC -1661). В поле "Информация" записывается собственно пакет данных, а в поле "Хвост" добавляется заполнитель для выравнивания на 32-битовую границу. По умолчанию длина фрейма PPP устанавливается в 1500 байт, но в это число не входит длина поля "Протокол".

Рис. 2. PPP -фрейм

Протокол управления соединением предназначен для установки соглашения между узлами сети о параметрах инкапсуляции (размер фрейма и т.п.), кроме того, он позволяет проводить идентификацию узлов. Первой фазой установки соединения является проверка готовности физического уровня передачи данных. При этом такая проверка может осуществляться периодически, позволяя реализовать механизм автоматического восстановления физического соединения, как это бывает при работе через модем по коммутируемой линии. Если физическое соединение установлено, то узлы начинают обмен пакетами протокола управления соединением, настраивая параметры сессии. Любой пакет, отличный от пакета протокола управления соединением, не обрабатывается во время этого обмена. После установки параметров соединения возможен переход к идентификации. После всех этих действий происходит настройка параметров работы с протоколами межсетевого обмена ( IP, IPX и т.п.). Для каждого из них используется свой протокол управления. Для завершения работы по протоколу PPP по сети передается пакет завершения работы протокола управления соединением.

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

Point-to-Point Tunneling Protocol (PPTP )

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

Как и в случае с PPP , пакеты PPTP "заворачиваются", транспортируются на другой конец канала (в данном случае в систему, обозначенную IP -адресом, упомянутым в предыдущем абзаце), и "разворачиваются". в результате между дв4умя системами создается "частная виртуальная сеть", по которой передаются пакеты PPTP . Чтобы этот канал был действительно частным, PPTP поддерживает ряд возможностей защиты, вплоть до шифрования всех данных пакета.

Таким образом, с помощью протоколов PPP и SLIP можно установить глобально-сетевое соединение по коммутируемым линиям, ISDN , сетям X.25 и другим каналам. И PPP , и SLIP характеризуются относительной нечувствительностью к помехам в линии и задержкам приема пакетов.

Протокол PPP более гибок, чем SLIP . Принцип его работы заключается в "заворачивании" пакетов транспортных протоколов TCP , IPX или NBF в пакет особого формата и транспортировке завернутого таким образом пакета по каналу ГВС (глобальной вычислительной сети). На другом конце соединения пакет "разворачивается", и исходные пакеты передаются по локальной сети. После установления соединения все эти операции становятся полностью прозрачными для приложений - приложения видят абсолютно нормальные пакеты TCP, IPX и NBF (хотя эти пакеты могут прибывать несколько медленнее, чем по локальной сети).

SLIP менее гибок. Он представляет собой, по сути дела, расширение IP , предназначенное для работы по низкоскоростным каналам, поэтому и поддерживает только IP -сети. Кроме того, он менее устойчив к помехам в линии. Сервис RAS ( Remote Access Services - служба удаленного доступа) операционной системы Windows NT поддерживает SLIP , главным образом, для совместимости с серверами ГВС, работающими на базе ОС UNIX .

PPTP обладает наибольшими функциональными возможностями по сравнению с SLIP и PPP , позволяя устанавливать частные виртуальные защищенные каналы связи.

Межсетевые протоколы

Internet Protocol (IP)

Протокол IP используется для управления рассылкой TCP/IP -пакетов по сети Internet . Среди различных функций, возложенных на IP , обычно выделяют следующие:

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

Главной особенностью протокола IP является отсутствие ориентации на физическое или виртуальное соединение. Это значит, что, прежде чем послать пакет в сеть, модуль операционной системы, реализующий IP , не проверяет возможность установк4и соединения, т.е. никакой управляющей информации кроме той, что содержится в самом IP -пакете, по сети не передается. Кроме того, IP не заботится о проверке целостности информации в поле данных пакета, что заставляет отнести его к протоколам ненадежной доставки. Целостность данных проверяется протоколами транспортного уровня (TCP) или протоколами приложений.

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

Существует несколько версий протокола IP . В настоящее время используется версия Ipv4 (RFC 791) , структура пакета которой представлена на рис. 3.

Рис. 3. формат пакета Ipv4

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

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

На основе протокола транспортного уровня IP -модуль производит экскапсуляцию информации из IP -пакета и ее передачу на модуль обслуживания соответствующего транспорта.

При обсуждении формата заголовка пакета IP вернемся еще раз к инкапсулированию. Как уже отмечалось, при обычной процедуре инкапсулирован я пакет просто помещается в поле данных фрейма, а в случае, когда это не может быть осуществлено, разбивается на более мелкие фрагменты. Размер максимально возможного фре2йма, который передается по сети, определяется величиной MTU (Maximum Transmission Unit ), определенной для протокола канального уровня. Для последующего восстановления пакет IP должен держать информацию о своем разбиении, и для этой цели используются поля Flags и Fragmentation offset . В этих полях определяется, какая часть пакета получена в данном фрейме, если этот пакет был фрагментирован на более мелкие части.

Internet Control Message Protocol (ICMP)

Routing Information Protocol (RIP)

Address Resolution Protocol (ARP)

К моменту, когда протокол IP должен отправлять дейтаграмму, он уже информирован протоколами верхних уровней об IP -адресе получателя. В свою очередь, он должен сообщить протоколу канального уровня аппаратный адрес удаленного компьютера. Если этот адрес не известен, для поиска нужной информации применяется протокол определения адресов ARP ( Address Resolution Protocol - протокол разрешения адресов), который ведет широковещательный опрос сети - запрашивает у каждого имеющего определенный IP -адрес компьютера адрес его аппаратного обеспечения (или, другими словами, MAC -адрес). Протокол ARP может перевести IP -адрес в адрес аппаратного обеспечения, например, в MAC -адрес сетевой платы удаленного компьютера.

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

User Datagram Protocol (UDP)

Таблица 1. Стандартные сетевые сервисы и соответствующие им порты

Наиболее известными сервисами, основанными на UDP , являются служба доменных имен BIND и распределенная файловая система NFS .

Transfer Control Protocol (TCP)

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

Рис. 5. Структура пакета TCP

Потоковый характер протокола определяется тем, что SYN определяет стартовый номер для отсчета переданных байтов, а не пакетов. Это значит, что если SYN был установлен в 0 и было передано 200 байтов, то номер, установленный в следующем пакете, будет равен 201, а не 2.

Потоковый характер протокола и требование подтверждения получения данных порождают проблему скорости передачи данных. Для ее решения используется поле Window ( окно). Идея применения "окна" достаточно проста: передавать данные, не дожидаясь подтверждения об их получении. Это значит, что источник передает некоторое количество данных, равное Window , без ожидания подтверждения об их приеме, и только после этого останавливает передачу и ждет подтверждения. Если он получит подтверждение только на часть переданных данных, то начнет передачу новой порции с номера, следующего за подтвержденным.

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

Назначение, функции и услуги канального уровня модели ISO/OSI

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

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

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

Примерами протоколов канального уровня для локальных сетей являются протоколы Token Ring, Ethernet, Fast Ethernet, 100VG-AnyLAN, FDDI.

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

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

  • уровень управления логическим каналом (logical link control, LLC).
  • уровень доступа к среде (media access layer, MAC),

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

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

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

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

  • методы случайного доступа,
  • методы маркерного доступа.

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

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

Методы маркерного доступа основаны на детерминированной передаче от одного узла сети другому специального кадра информации - маркера (токена) доступа. Маркерные методы доступа используются в сетях Token Ring, ArcNet и FDDI. В таких сетях право на доступ к среде передается циклически от станции к станции по логическому кольцу.

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

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

Все эти устройства могут выполнять следующие действия:

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

Доступ к среде, модели статического и динамического выделения канала.

При доступе к среде возникает проблемма распределения одно- го широковещательного канала между несколькими пользователями. Можно выделить две схемы выделения канала: статическую и дина- мическую. Рассмотрим динамическое выделение канала.

Динамическое выделение канала

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

Модель единого канала.
Для всех коммуникаций используется один канал. Все станции эквивалентны.

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

Временные модели:

a) Модель непрерывного времени.
Передача кадров может произойти в любой момент времени. Время непрерывно.

b) Модель тактированного времени.
Время разбивается на дискретные интервалы — такты (slots). Передача кадров происходит всегда в начальный момент такта.

Модели с несущей:

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

b) Модель без прослушивания несущей.
Станции не запрашивают состояние канала перед началом передачи.

Протоколы множественного доступа:

Семейство протоколов ALOHA

В 1970-х годах в Гавайском университете под руководством Нор- мана Абрамсона была разработана система ALOHA. Она использова- лась для наземной системы радиодоступа. Центральный узел, называемый базовой станцией, принимает па- кеты, передаваемые другими узлами на частоте f0 = 417 Мгц и ре- транслирует эти пакеты на частоте f1 = 413 Мгц. Узлы сети ALOHA передавали пакеты со скоростью 9600 бит/с. Узлы передают пакеты по общему каналу. Когда передача двух пакетов происходит одновременно, они искажают друг друга. Возни- кают коллизии. В начальной реализации сети ALOHA центральный узел подтверждает верно принятые пакеты. Когда узел не получает подтверждение за определённый промежуток времени, он полагает, что произошла коллизия и передаёт пакет снова. ALOHA не использует контроль несущей и не прекращает переда- чу пакета при обнаружении конфликта. Контроль несущей бесполе- зен, поскольку узлы расположены далеко друг от друга, и узел может завершить передачу прежде, чем другой узел заметит передачу. По тем же причинам обнаружение конфликтов слишком запаздывает. Мы рассмотрим две версии протокола ALOHA: чистую (pure ALOHA) и тактированную (синхронную) (slotted ALOHA). В первой используется модель непрерывного времени, а во второй — тактированного.

Чистая ALOHA

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

Протоколы множественного доступа с контролем несущей с определением коллизий (CSMA/CA)

Множественный доступ с контролем несущей и предотвращением коллизий (сокращенно CSMA/CA) не так популярен, как CSMA/CD или передача маркера. Используя CSMA/CA, каждый компьютер перед передачей данных в сеть сигнализирует о своем намерении, поэтому остальные компьютеры "узнают" о готовящейся передаче и могут избежать коллизий.

Однако широковещательное оповещение увеличивает общий трафик сети, уменьшает ее пропускную способность. Отсюда — CSMA/CA работает медленнее, чем CSMA/CD.

Примером протокола CDSMA/CA является LokalTalk фирмы Apple Computer. Системы на основе CSMA/CA больше всего подходят для сетей с импульсным трафиком (то есть при передаче больших файлов) с небольшим количеством пользователей.

Устойчивый и неустойчивый CSMA

1-устойчивый (1-persistent) CSMA
Когда станция готова к переда- че данных, она прослушивает канал, чтобы определить, не пе- редаёт ли данные кто-либо другой. Если канал занят, станция ждёт, когда он освободится. Если же канал свободен, станция передаёт информацию. При возникновении коллизии станция ждёт случайный промежуток времени, а потом продолжает дей- ствовать по вышеописанному алгоритму. Протокол называется 1-устойчивый, потому что в случае свободного канала станция осуществляет передачу с вероятностью 1.

Неустойчивый (nonpersistent) CSMA
Этот случай немного отли чается от предыдущего. Здесь опять перед передачей данных станция прослушивает канал. Но в случае, если канал уже ис- пользуется, то станция ожидает случайный период времени и повторяет алгоритм.

p-устойчивый (p-persistent) CSMA
Данный вид применяется к так- тированному каналу. Если канал свободен, то передача осу- ществляется с вероятностью p. Соответственно с вероятностью q = 1 p станция будет ждать следующего такта. Если и тогда канал свободен, то передача данных или ожидание следующе- го такта происходят с вероятностью p и q соответственно. Этот процесс продолжается до тех пор, пока либо кадр не будет пере- дан, либо пока другая станция не начнёт передачу. В последнем случае возникает коллизия; станция ожидает случайный период времени и пытается снова осуществить передачу данных. Если же при начале прослушивания канала он оказывается занятым, то станция ждёт до начала следующего такта и повторяет алго- ритм.

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

Протоколы множественного доступа с контролем несущей и определением коллизий

В русскоязычной литературе иногда используется обозначе- ние МДКН/ОК. Мы будем использовать англоязычный термин CSMA/CD (Carrier Sense Multiple Access with Collision Detection). Эти протоколы являются дальнейшимулучшениепротоколов, рас- смотренных в предыдущем пункте. Здесь при возникновении колли- зии станции сразу же прекращают передачу данных (вместо того, чтобы продолжать передачу, что бессмысленно, потому что данные всё равно будут испорчены). Это позволяет сэкономить и время, и полосу пропускания.

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

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

Обозначим через a время прохождения сигнала между двумя наи- более станциями. Пусть первая станция начинает передачу данных в некоторый момент времени t0. Если в промежуток времени [t0,t0 +a) вторая станция тоже начнёт передачу, она обнаружит коллизию. Что- бы коллизию обнаружила и первая станция, сигнал должен вернуть обратно, то есть коллизия будет обнаружена в промежуток времени [t0,t0 + a). Временной интервал 2a называется временем двойного оборота (Path Delay Value, PDV).

Доступ с передачей маркера

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

Имеется несколько протоколов передачи маркера. Двумя стандартами ЛС, использующими передачу маркера, являются IEEE 802.4 Token Bus и 802.5 Token-Ring. В сети Token Bus используется управление доступом с передачей маркера и физическая или логическая шинная топология, в то время как в сети Token-Ring используется управление доступом с передачей маркера и физическая или логическая кольцевая топология. Другим стандартом передачи маркера является Fiber-distributed interface (FDDI) — распределенный волоконно-оптический интерфейс данных.

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

Доступ по приоритету запроса

Доступ по приоритету запроса — относительно новый метод доступа, разработан для стандарта сети Ethernet со скоростью передачи данных 100 Мбит/с — 100VG-AnyLAN. Он стандартизован IEEE в категории 802.12.

Этот метод доступа основан на том, что все сети 100VG-AnyLAN строятся только из концентраторов и оконечных узлов. Концентраторы управляют доступом к кабелю, последовательно опрашивая все узлы в сети и выявляя запросы на передачу. Концентратор должен знать все адреса, связи и узлы и проверять их работоспособность. Оконечным узлом, в соответствии с определением 100VG-AnyLAN, может быть компьютер, мост, маршрутизатор или коммутатор.

Состязание приоритетов запроса

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

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

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

Канальный уровень (data link layer) обеспечивает прозрачность соединения для сетевого уровня. Для этого он предлагает ему следующие услуги:

□ установление логического соединения между взаимодействующими узлами;

□ согласование в рамках соединения скоростей передатчика и приемника информации;

□ обеспечение надежной передачи, обнаружение и коррекция ошибок.

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

В сетях, построенных на основе разделяемой среды, физический уровень выполняет еще одну функцию — проверяет доступность разделяемой среды. Эту функцию иногда выделяют в отдельный подуровень управления доступом к среде (Medium Access Control, MAC).

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

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

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

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

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

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

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

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

На рис. 4.8 показано несколько сетей, каждая из которых использует собственную технологию канального уровня: Ethernet, FDDI, Token Ring, ATM, Frame Relay. На базе этих технологий любая из указанных сетей может связывать между собой любых пользователей, но только своей сети, и не способна обеспечить передачу данных в другую сеть. Причина такого положения вещей очевидна и кроется в существенных отличиях одной технологии от другой. Даже наиболее близкие технологии LAN — Ethernet, FDDI, Token Ring, — имеющие одну и ту же систему адресации (адреса подуровня MAC, называемые МАС-адресами), отличаются друг от друга форматом используемых кадров и логикой работы протоколов. Еще больше отличий между технологиями LAN и WAN. Во многих технологиях WAN задействована техника предварительно устанавливаемых виртуальных каналов, идентификаторы которых применяются в качестве адресов. Все технологии имеют собственные форматы кадров (в технологии АТМ кадр даже называется иначе — ячейкой) и, конечно, собственные стеки протоколов.

Комрьютерные сети. Принципы, технологии, протоколы. Иллюстрация № 72

Рис. 4.8. Необходимость сетевого уровня

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

Функции сетевого уровня реализуются:

□ специальными устройствами — маршрутизаторами.

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

Тема 7. Назначение и функциональность канального уровня. Подуровни канального уровня LLC и MAC. Протокол LLC уровня управления логическим каналом (802.2). Уровни протокола LLC. Структура кадров LLC. Функции LLC1, LLC2, LLC3. Роль подуровня LLC в сетевом взаимодействии. Подуровень MAC: адресация в сетевых технологиях.

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

· логической передачи данных (Logical Link Control, LLC);

· управления доступом к среде (Media Access Control, MAC).

Уровень MAC появился из-за существования в локальных сетях разделяемой среды передачи данных. Именно этот уровень обеспечивает корректное совместное использование общей среды, предоставляя ее в соответствии с определенным алгоритмом в распоряжение той или иной станции сети. После того как доступ к среде получен, ею может пользоваться более высокий уровень - уровень LLC, организующий передачу логических единиц данных, кадров информации, с различным уровнем качества транспортных услуг. В современных локальных сетях получили распространение несколько протоколов уровня MAC, реализующих различные алгоритмы доступа к разделяемой среде. Эти протоколы полностью определяют специфику таких технологий, как Ethernet, Fast Ethernet, Gigabit Ethernet, Token Ring, FDDI, l00VG-AnyLAN.

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

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

Стандарты IEEE 802 имеют достаточно четкую структуру, приведенную на рис. 3.1:

http://total100.narod.ru/olifer/h3d1.jpg

Рис. 3.1. Структура стандартов IEEE 802.X

Эта структура появилась в результате большой работы, проведенной комитетом 802 по выделению в разных фирменных технологиях общих подходов и общих функций, а также согласованию стилей их описания. В результате канальный уровень был разделен на два упомянутых подуровня. Описание каждой технологии разделено на две части: описание уровня MAC и описание физического уровня. Как видно из рисунка, практически у каждой технологии единственному протоколу уровня MAC соответствует несколько вариантов протоколов физического уровня (на рисунке в целях экономии места приведены только технологии Ethernet и Token Ring, но все сказанное справедливо также и для остальных технологий, таких как ArcNet, FDDI, l00VG-AnyLAN).

Над канальным уровнем всех технологий изображен общий для них протокол LLC, поддерживающий несколько режимов работы, но независимый от выбора конкретной технологии. Стандарт LLC курирует подкомитет 802.2. Даже технологии, стандартизованные не в рамках комитета 802, ориентируются на использование протокола LLC, определенного стандартом 802.2, например протокол FDDI, стандартизованный ANSI.

Особняком стоят стандарты, разрабатываемые подкомитетом 802.1. Эти стандарты носят общий для всех технологий характер. В подкомитете 802.1 были разработаны общие определения локальных сетей и их свойств, определена связь трех уровней модели IEEE 802 с моделью OSI. Но наиболее практически важными являются стандарты 802.1, которые описывают взаимодействие между собой различных технологий, а также стандарты по построению более сложных сетей на основе базовых топологий. Эта группа стандартов носит общее название стандартов межсетевого взаимодействия (internetworking). Сюда входят такие важные стандарты, как стандарт 802. ID, описывающий логику работы моста/коммутатора, стандарт 802.1Н, определяющий работу транслирующего моста, который может без маршрутизатора объединять сети Ethernet и FDDI, Ethernet и Token Ring и т. п. Сегодня набор стандартов, разработанных подкомитетом 802.1, продолжает расти. Например, недавно он пополнился важным стандартом 802.1Q, определяющим способ построения виртуальных локальных сетей VLAN в сетях на основе коммутаторов.

Стандарты 802.3,802.4,802.5 и 802.12 описывают технологии локальных сетей, которые появились в результате улучшений фирменных технологий, легших в их основу. Так, основу стандарта 802.3 составила технология Ethernet, разработанная компаниями Digital, Intel и Xerox (или Ethernet DIX), стандарт 802.4 появился | как обобщение технологии ArcNet компании Datapoint Corporation, а стандарт 802.5 в основном соответствует технологии Token Ring компании IBM.

Исходные фирменные технологии и их модифицированные варианты - стандарты 802.х в ряде случаев долгие годы существовали параллельно. Например, технология ArcNet так до конца не была приведена в соответствие со стандартом 802.4 (теперь это делать поздно, так как где-то примерно с 1993 года производство оборудования ArcNet было свернуто). Расхождения между технологией Token Ring и стандартом 802.5 тоже периодически возникают, так как компания IBM регулярно вносит усовершенствования в свою технологию и комитет 802.5 отражает эти усовершенствования в стандарте с некоторым запозданием. Исключение составляет технология Ethernet. Последний фирменный стандарт Ethernet DIX был принят в 1980 году, и с тех пор никто больше не предпринимал попыток фирменного развития Ethernet. Все новшества в семействе технологий Ethernet вносятся только в результате принятия открытых стандартов комитетом 802.3.

Более поздние стандарты изначально разрабатывались не одной компанией, а группой заинтересованных компаний, а потом передавались в соответствующий подкомитет IEEE 802 для утверждения. Так произошло с технологиями Fast Ethernet, l00VG-AnyLAN, Gigabit Ethernet. Группа заинтересованных компаний образовывала сначала небольшое объединение, а затем по мере развития работ к нему присоединялись другие компании, так что процесс принятия стандарта носил открытый характер.

Сегодня комитет 802 включает следующий ряд подкомитетов, в который входят как уже упомянутые, так и некоторые другие:

· 802.1 - Internetworking - объединение сетей;

· 802.2 - Logical Link Control, LLC - управление логической передачей данных;

· 802.3 - Ethernet с методом доступа CSMA/CD;

· 802.4 - Token Bus LAN - локальные сети с методом доступа Token Bus;

· 802.5 - Token Ring LAN - локальные сети с методом доступа Token Ring;

· 802.6 - Metropolitan Area Network, MAN - сети мегаполисов ;

· 802.7 - Broadband Technical Advisory Group - техническая консультационная группа по широкополосной передаче;

· 802,8 - Fiber Optic Technical Advisory Group - техническая консультационная группа по волоконно-оптическим сетям;

· 802.9 - Integrated Voice and data Networks - интегрированные сети передачи голоса и данных;

· 802.10 - Network Security - сетевая безопасность;

· 802.11 - Wireless Networks - беспроводные сети;

· 802.12 - Demand Priority Access LAN, l00VG-AnyLAN - локальные сети с методом доступа по требованию с приоритетами.

Протокол LLC уровня управления логическим каналом (802.2).

Протокол LLC обеспечивает для технологий локальных сетей нужное качество услуг транспортной службы, передавая свои кадры либо дейтаграммным способом, либо с помощью процедур с установлением соединения и восстановлением кадров. Протокол LLC занимает уровень между сетевыми протоколами и протоколами уровня MAC. Протоколы сетевого уровня передают через межуровневый интерфейс данные для протокола LLC - свой пакет (например, пакет IP, IPX или NetBEUI), адресную информацию об узле назначения, а также требования к качеству транспортных услуг, которое протокол LLC должен обеспечить. Протокол LLC помещает пакет протокола верхнего уровня в свой кадр, который дополняется необходимыми служебными полями. Далее через межуровневый интерфейс протокол. LLC передает свой кадр вместе с адресной информацией об узле назначения соответствующему протоколу уровня MAC, который упаковывает кадр LLC в свой кадр (например, кадр Ethernet).

http://total100.narod.ru/olifer/h3s1.jpg

В основу протокола LLC положен протокол HDLC (High-level Data Link Control Procedure), являющийся стандартом ISO. Собственно стандарт HDLC представляет собой обобщение нескольких близких стандартов, характерных для различных технологий: протокола LAP-B сетей Х.25 (стандарта, широко распространенного в территориальных сетях), LAP-D, используемого в сетях ISDN, LAP-M, работающего в современных модемах. В спецификации IEEE 802.2 также имеется несколько небольших отличий от стандарта HDLC.

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

Уровни протокола LLC.

В соответствии со стандартом 802.2 уровень управления логическим каналом LLC предоставляет верхним уровням три типа процедур:

· LLC1 - процедура без установления соединения и без подтверждения;

· LLC2 - процедура с установлением соединения и подтверждением;

· LLC3 - процедура без установления соединения, но с подтверждением.

Этот набор процедур является общим для всех методов доступа к среде, определенных стандартами 802.3 - 802.5, а также стандартом FDDI и стандартом 802.12 на технологию l00VG-AnyLAN.

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

Процедура с установлением соединений и подтверждением LLC2 дает пользователю возможность установить логическое соединение перед началом передачи любого блока данных и, если это требуется, выполнить процедуры восстановления после ошибок и упорядочивание потока этих блоков в рамках установленного соединения. Протокол LLC2 во многом аналогичен протоколам семейства HDLC (LAP-B, LAP-D, LAP-M), которые применяются в глобальных сетях для обеспечения надежной передачи кадров на зашумленных линиях. Протокол LLC2 работает в режиме скользящего окна.

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

Использование одного из трех режимов работы уровня LLC зависит от стратегии разработчиков конкретного стека протоколов. Например, в стеке TCP/IP уровень LLC всегда работает в режиме LLC1, выполняя простую работу извлечения из кадра и демультиплексирования пакетов различных протоколов - IP, ARP, RARP. Аналогично используется уровень LLC стеком IPX/SPX.

А вот стек Microsoft/IBM, основанный на протоколе NetBIOS/NetBEUI, часто использует режим LLC2. Это происходит тогда, когда сам протокол NetBIOS/NetBEUI должен работать в режиме с восстановлением потерянных и искаженных данных. В этом случае эта работа перепоручается уровню LLC2. Если же протокол NetBIOS/NetBEUI работает в дейтаграммном режиме, то протокол LLC работает в режиме LLC1.

Режим LLC2 используется также стеком протоколов SNA в том случае, когда на нижнем уровне применяется технология Token Ring.

Структура кадров LLC.

По своему назначению все кадры уровня LLC (называемые в стандарте 802.2 блоками данных - Protocol Data Unit, PDU) подразделяются на три типа - информационные, управляющие и ненумерованные.

· Информационные кадры (Information) предназначены для передачи информации в процедурах с установлением логического соединения LLC2 и должны обязательно содержать поле информации. В процессе передачи информационных блоков осуществляется их нумерация в режиме скользящего окна.

http://total100.narod.ru/olifer/h3s2.jpg

Кадр LLC содержит поле данных и заголовок, который состоит из трех полей:

· адрес точки входа службы назначения (Destination Service Access Point, DSAP);

· адрес точки входа службы источника (Source Service Access Point, SSAP);

· управляющее поле (Control).

Адресные поля DSAP и SSAP занимают по 1 байту. Они позволяют указать, какая служба верхнего уровня пересылает данные с помощью этого кадра. Программному обеспечению узлов сети при получении кадров канального уровня необходимо распознать, какой протокол вложил свой пакет в поле данных поступившего кадра, чтобы передать извлеченный из кадра пакет нужному протоколу верхнего уровня для последующей обработки. Для идентификации этих протоколов вводятся так называемые адреса точки входа службы (Service Access Point, SAP). Значения адресов SAP приписываются протоколам в соответствии со стандартом 802.2. Например, для протокола IP значение SAP равно 0х6, для протокола NetBIOS -0*F0. Для одних служб определена только одна точка входа и, соответственно, только один SAP, а для других - несколько, когда адреса DSAP и SSAP совпадают. Например, если в кадре LLC значения DSAP и SSAP содержат код протокола IPX, то обмен кадрами осуществляется между двумя IPX-модулями, выполняющимися в разных узлах. Но в некоторых случаях в. кадре LLC указываются различающиеся DSAP и SSAP. Это возможно только в тех случаях, когда служба имеет несколько адресов SAP, что может быть использовано протоколом узла отправителя в специальных целях, например для уведомления узла получателя о переходе протокола-отправителя в некоторый специфический режим работы. Этим свойством протокола LLC часто пользуется протокол NetBEUI.

Поле управления (1 или 2 байта) имеет сложную структуру при работе в режиме LLC2 и достаточно простую структуру при работе в режиме LLC1 (рис. 3.2).

http://total100.narod.ru/olifer/h3d2.jpg

Рис. 3.2. Структура поля управления

В режиме LLC1 используется только один тип кадра - ненумерованный. У этого кадра поле управления имеет длину в один байт. Все подполя поля управления ненумерованных кадров принимают нулевые значения, так что значимыми остаются только первые два бита поля, используемые как признак типа кадра. Учитывая, что в протоколе Ethernet при записи реализован обратный порядок бит в байте, то запись поля управления кадра LLC1, вложенного в кадр протокола Ethernet, имеет значение 0х03 (здесь и далее префикс Ох обозначает шестнадцатеричное представление).

В режиме LLC2 используются все три типа кадров. В этом режиме кадры делятся на команды и ответы на эти команды. Бит P/F (Poll/Final) имеет следующее значение: в командах он называется битом Poll и требует, чтобы на команду был дан ответ, а в ответах он называется битом Final и говорит о том, что ответ состоит из одного кадра.

Ненумерованные кадры используются на начальной стадии взаимодействия двух узлов, а именно стадии установления соединения по протоколу LLC2. Поле М ненумерованных кадров определяет несколько типов команд, которыми пользуются два узла на этапе установления соединения. Ниже приведены примеры некоторых команд.

· Установить сбалансированный асинхронный расширенный режим (SABME). Эта команда является запросом на установление соединения. Она является одной из команд полного набора команд такого рода протокола HDLC. Расширенный режим означает использование двухбайтных полей управления для кадров остальных двух типов.

· Ненумерованное подтверждение (UA). Служит для подтверждения установления или разрыва соединения.

· Сброс соединения (REST). Запрос на разрыв соединения.

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

В информационных кадрах имеется поле N(S) для указания номера отправленного кадра, а также поле N(R) для указания номера кадра, который приемник ожидает получить от передатчика следующим. При работе протокола LLC2 используется скользящее окно размером в 127 кадров, а для их нумерации циклически используется 128 чисел, от 0 до 127.

Приемник всегда помнит номер последнего кадра, принятого от передатчика, и поддерживает переменную с указанным номером кадра, который он ожидает принять от передатчика следующим. Обозначим его через V(R). Именно это значение передается в поле N(R) кадра, посылаемого передатчику. Если в ответ на этот кадр приемник принимает кадр, в котором номер посланного кадра N(S) совпадает с номером ожидаемого кадра V(R), то такой кадр считается корректным (если, конечно, корректна его контрольная сумма). Если приемник принимает кадр с номером N(S), неравным V(R), то этот кадр отбрасывается и посылается отрицательная квитанция Отказ (REJ) с номером V(R). При приеме отрицательной квитанции передатчик обязан повторить передачу кадра с номером V(R), а также всех кадров с большими номерами, которые он уже успел отослать, пользуясь механизмом окна в 127 кадров.

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

· Отказ (REJect);

· Приемник не готов (Receiver Not Ready, RNR);

· Приемник готов (Receiver Ready, RR).

Команда RR с номером N(R) часто используется как положительная квитанция, когда поток данных от приемника к передатчику отсутствует, а команда RNR -для замедления потока кадров, поступающих на приемник. Это может быть необходимо, если приемник не успевает обработать поток кадров, присылаемых ему с большой скоростью за счет механизма окна. Получение кадра RNR требует от передатчика полной приостановки передачи, до получения кадра RR. С помощью этих кадров осуществляется управление потоком данных, что особенно важно для коммутируемых сетей, в которых нет разделяемой среды, автоматически тормозящей работу передатчика за счет того, что новый кадр нельзя передать, пока приемник не закончил прием предыдущего.

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