ATM имеет много преимуществ при использовании в качестве магистральной технологии локальных сетей (в частности, эффективное масштабирование и высокая пропускная способность магистралей). Для обеспечения возможности использования традиционных технологий ЛВС совместно с магистралями ATM были разработаны стандарты, позволяющие обеспечить поддержку протоколов ЛВС в сетях ATM. Эмуляция ЛВС (LAN Emulation или LANE) является одним из таких методов и позволяет использовать сети ATM для передачи пакетов Ethernet или Token Ring. Эмуляция ЛВС реализуется в оборудовании ATM и обеспечивает две основных возможности:
- Поддержка работы всех приложений ЛВС через сеть ATM без внесения изменений в существующие локальные сети. Основным преимуществом такого подхода является снижение затрат на модернизацию сети.
- Поддержка соединений между сегментами ЛВС и оборудованием и сетями ATM, а также соединения различных ЛВС через магистрали ATM. Преимущества технологии и оборудования ATM могут реализоваться в сети поэтапно, по мере возникновения реальных потребностей.
Назначение протокола LANE (LAN Emulation — эмуляция ЛВС) состоит в эмуляции протоколов ЛВС Ethernet 802.3 или Token Ring 802.5 на базе сетей ATM. Протокол LANE, прежде всего, определяет сервисные интерфейсы для протоколов вышележащих уровней, идентичные существующему сервису ЛВС. Данные передаются через сеть ATM с инкапсуляцией приемлемый формат MAC-уровня ЛВС. Таким образом, протоколы LANE представляют сеть ATM для традиционных сетевых приложений как обычную ЛВС (стандарт ATM Forum LANE v1.0), которая лишь работает значительно быстрее.
Протоколы ЛВС, передаваемые с помощью LANE.
Компоненты LANE
Протокол LANE включает несколько компонент, используемых для реализации различных функций — клиент LEC (LAN Emulation Client), сервер эмуляции ЛВС (LAN Emulation Server — LES), конфигурационный сервер LECS (LAN Emulation Configuration Server) и сервер широковещания (Broadcast and Unknown Server — BUS). Каждая из компонент LANE описана ниже.
LEC-клиент
С точки зрения сети LEC является пользователем, которому требуется эмуляция ЛВС. Обычно такими клиентами являются рабочие станции, маршрутизаторы или коммутаторы ATM, к которым подключены сегменты традиционных ЛВС. В одной эмулируемой ЛВС может существовать множество клиентов LEC.
LES — сервер эмуляции ЛВС
Сервер LES выполняет функции регистрации (позволяет станциям регистрировать свои адреса MAC и ATM) и преобразования (обработка запросов ARP для преобразования адресов MAC — ATM) адресов. Каждая эмулируемая ЛВС может содержать только один сервер LES. Однако физическая ЛВС может работать с несколькими LANE одновременно, при этом каждая эмулируемая сеть будет иметь свой сервер LES.
LECS — конфигурационный сервер LANE
Сервер LECS обеспечивает конфигурационную информацию (адрес сервера LES, тип LANE, максимальный размер кадра и т.п.). Каждая сеть может иметь только один сервер LECS.
BUS — сервер широковещания
Сервер BUS поддерживает работу с широковещательными и групповыми (broadcast и multicast) пакетами. Кадры передаются с участием серверов BUS в двух случаях:
- если информация должна быть передана всем станциям — широковещание.
- Если LEC-клиент послал серверу LES запрос ARP и хочет передать данные, не дожидаясь ответа на этот запрос. В таком случае LEC передает информацию серверу BUS, который рассылает пакеты по всей сети.
Каждая эмулируемая ЛВС может включать только один сервер BUS. Однако физическая ЛВС может работать одновременно с несколькими LANE, при этом каждая эмулируемая ЛВС содержит свой сервер BUS.
Расположение компонент сервиса LANE
Спецификации ATM Forum задают три отдельных логических компоненты эмуляции ЛВС (LES, LECS и BUS), однако в спецификациях не указан способ физической реализации этих типов сервиса — они могут находиться в одной сети или в разных. Принятие решений о месте расположения этих компонент отдано на откуп производителями оборудования.
Многие производители объединяют LES, LECS и BUS в одном физическом устройстве. Существуют два популярных варианта подобной реализации:
- Все типы сервиса реализованы в коммутаторах.
-
Сервис реализуется на отдельной станции, которая подключается ко всем коммутаторам.
Передача данных через ELAN
Существует несколько стадий организации соединения через эмулируемую ЛВС. В данном разделе эти стадии описаны с точки зрения LEC-клиента.
Для организации транзитных соединений LANE использует сигнальные протоколы. Каждый клиент LEC имеет уникальный (в масштабе сети) адрес ATM в одном из форматов, поддерживаемых сигнальной спецификацией ATM Forum UNI 3.0. Для организации соединения в сетях ATM используются сообщения SETUP, содержащие элемент B-LLI (Broadband Low-Layer Information — информация нижележащего уровня), которые используются для идентификации соединений LANE.
Поле идентификатора протокола в элементе B-LLI имеет формат ISO/IEC TR/9577. Поддерживается несколько типов идентификатора протокола:
- Управляющее соединения.
- Передача данных 802.3.
- Передача данных 802.5
- Передача группового трафика 802.3.
-
Передача группового трафика 802.5.
Инициализация
На этапе инициализации LEC-клиент должен определить тип эмулируемой ЛВС, к которой он подключается, и адреса серверов LECS и LES.
Для определения ATM-адреса LECS-сервера клиент LEC выполняет следующие операции:
- Предпринимается попытка получить адрес сервера LECS от коммутатора с использованием протокола ILMI. При получении адреса LEC пытается установить соединение по этому адресу.
- В случае неудачи используются хорошо известные (well-known) адреса ATM и предпринимается попытка организации SVC.
- При неудаче LEC-клиент пытается организовать PVC с VPI = 0 и VCI = 17.
-
Если и в этом случае не удается организовать соединение, LEC пытается связаться с сервером LES.
Настройка конфигурации
После организации соединения между LEC и LECS начинается сеанс начального обмена информацией.
- LEC сообщает ATM-адрес, адрес MAC и запрашивает тип ЛВС и размер кадров.
-
LECS возвращает клиенту LEC адрес сервера LES, а также тип ЛВС и принятый размер кадров.
Соединение
На этом этапе LEC пытается подключиться к эмулируемой ЛВС, выполняя следующие операции:
- Организация прямого двухстороннего виртуального соединения VCC с сервером LES, используемое для управления.
- Передача запроса на соединение (Join Request), содержащего запрос адреса ATM, информацию о ЛВС и посреднике (proxy), а также (в качестве необязательного параметра) MAC адрес.
- Перед получением запроса на соединение возможна организация Control Distribute VCC.
На этапе организации соединения могут возникать ошибки или соединение не будет организовано в результате тайм-аута.
На рисунке показан пример декодирования на этапе подключения к ELAN:
Декодирование на этапе подключения к ELAN
Регистрация и инициализация сервера BUS
Сервер BUS обслуживает широковещательные сообщения, которые LEC-клиенты рассылают другим клиентам LANE. Для решения этих задач сервер должен знать обо всех станциях ATM, принадлежащих к ELAN. Это реализуется путем регистрации каждого клиента LEC на сервере BUS при подключении к эмулируемой ЛВС. Таким образом, клиент LEC должен выполнить следующие операции:
- Регистрация всех MAC-адресов.
- Установить соответствие между MAC-адресом 0xFFFFFFFFFFFF (широковещательный адрес) и ATM-адресом сервера BUS.
- Организовать однонаправленное соединение VCC для передачи данных серверу BUS, которое будет использоваться для передачи широковещательных пакетов.
- Установить однонаправленное соединение VCC по запросу сервера BUS для рассылки последним широковещательных сообщений.
Передача данных
При возникновении необходимости передачи данных приложение передает сетевому драйверу информацию вместе с желаемым MAC-адресом. После этого драйвер эмуляции ЛВС может выполнить следующие операции:
- Просмотр внутренней таблицы адресов (кэш) на предмет соответствия MAC-адреса и адреса ATM.
- При отсутствии записи в кэше передается запрос серверу LES.
- До получения ответа от LES клиент может передавать данные с использованием сервера широковещания BUS.
- При получении отклика от LES организуется прямое соединение с использованием сигнального протокола. Информация о соответствии адресов MAC и ATM добавляется в кэш.
-
После завершения передачи данных соединение разрывается.
Стек протоколов LANE
Протоколы эмуляции ЛВС реализованы для всех устройствах, включаемых в ELAN (рабочие станции, коммутаторы, сетевые адаптеры, маршрутизаторы и т. д.) На рисунке схематически показано взаимодействие протоколов стека эмуляции ЛВС.
Стек протоколов эмуляции ЛВС
Конечные точки соединений (серверы и рабочие станции) используют традиционные приложения ЛВС через драйверы NDIS/ODI (в приведенном примере). На нижележащих уровнях ситуация становится иной — на сервере используется эмуляция ЛВС с использованием AAL5, а рабочие станции используют Ethernet. Приложения вышележащих уровней остаются неизменными — они просто не знают об использовании ATM на нижележащих уровнях. Мост поддерживает обе технологии — порт Ethernet подключен к традиционной ЛВС, а порт ATM — к современной сети ATM. Коммутатор работает в обычном режиме ATM и имеет дело только с ячейками и виртуальными соединениями.
Формат пакетов LANE
Пакеты данных
Эмуляция ЛВС поддерживает два формата пакетов данных — для Ethernet и Token Ring. Кадры данных LANE сохраняют при передаче всю информацию, содержащуюся в исходных кадрах 802.3 или 802.5, добавляя двухбайтовый идентификатор LEC (идентификатор отправителя — LEC ID), который уникален для каждого клиента LEC. Формат кадров, используемых для передачи трафика Ethernet, показан на рисунке.
Биты |
Октет |
|||||||
16 |
32 |
|||||||
Заголовок LE (LEC ID) |
MAC-адрес получателя |
0 |
||||||
MAC-адрес получателя |
4 |
|||||||
MAC-адрес отправителя |
8 |
|||||||
MAC-адрес отправителя |
Тип/длина |
12 |
||||||
Данные |
16-n |
Формат кадра Ethernet IEEE 802.3
На следующем рисунке показан формат кадров, используемых для передачи трафика Token Ring.
Биты |
Октет |
|||||||
16 |
32 |
|||||||
Заголовок LE (LEC ID) |
Заполнение AC |
FC |
0 |
|||||
MAC-адрес получателя |
4 |
|||||||
MAC-адрес получателя |
MAC-адрес отправителя |
8 |
||||||
MAC-адрес отправителя |
12 |
|||||||
Поле маршрутной информации |
16-46 |
|||||||
Данные
|
46-n |
Формат кадра Token Ring IEEE 802.5
Поддержка кадров 802.3 и 802.5 в неизменном состоянии обусловлена тем, что они могут потребоваться для некоторых узлов сети. Например, мост ATM — Ethernet принимает эмулируемые со стороны ATM, «вырезает» первые 2 байта, а затем эти кадры его в порт Ethernet.
Управляющие кадры
На рисунке показан формат всех управляющих кадров LANE, за исключением кадров READY_IND и READY_QUERY.
Биты |
Октет |
|||||||
16 |
32 |
|||||||
Маркер = FF00 |
Протокол = 01 |
Версия = 01 |
0 |
|||||
Код операции |
Состояние |
4 |
||||||
Идентификатор транзакции |
8 |
|||||||
Идентификатор запрашивающего LEC |
Флаги |
12 |
||||||
MAC-адрес отправителя |
16 |
|||||||
MAC-адрес получателя |
24 |
|||||||
ATM-адрес отправителя |
32 |
|||||||
Тип ЛВС |
Макс. размер кадра |
Количество TLVS |
Размер имени ELAN |
52 |
||||
ATM-адрес получателя |
56 |
|||||||
Имя ELAN |
76 |
|||||||
Начало TLVS |
108 |
Формат управляющих кадров LANE
Код операции
Это поле определяет тип пакета управления и может принимать следующие значения:
0001 LE_CONFIGURE_REQUEST (запрос настройки LE).
0101 LE_CONFIGURE_RESPONSE (отклик для настройки LE).
0002 LE_JOIN_REQUEST (запрос на подключение LE).
0102 LE_JOIN_RESPONSE (отклик на запрос подключения LE).
0003 READY_QUERY (запрос готовности)
0103 READY_IND (индикатор готовности).
0004 LE_REGISTER_REQUEST (запрос регистрации LE).
0104 LE_REGISTER_RESPONSE (отклик на запрос регистрации LE).
0005 LE_UNREGISTER_REQUEST (запрос отмены регистрации LE).
0105 LE_UNREGISTER_RESPONSES (отклик на запрос отмены регистрации LE).
0006 LE_ARP_REQUEST (запрос ARP).
0106 LE_ARP_RESPONSE (отклик ARP).
0007 LE_FLUSH_REQUEST.
0107 LE_FLUSH_RESPONSE.
0008 LE_NARP_REQUEST.
0108 Не определен.
0009 LE_TOPOLOGY_REQUEST (запрос топологии LE).
0109 Не определен.
Идентификатор транзакции
Значение, помещаемое в кадр отправителем и возвращаемое без изменения получателем кадра. Этот идентификатор устройству, посылающему запросы, различать отклики на разные запросы.
Идентификатор запрашивающего LEC
Идентификатор клиента LEC, посылающего запрос (0000 если идентификатор неизвестен).
Флаги
Биты флагов:
0001 для LE_ARP_RESPONSE используется удаленный адрес.
0080 для LE_ARP_RESPONSE используется флаг proxy (Proxy Flag).
0100 для LE_TOPOLOGY_REQUEST используется информация об изменении топологии.
Значения остальных флагов зависят от значения, содержащегося в поле кода операции.
LUNI 2.0
Кадры данных и управления, для которых применяется LLC-мультиплексирование, имеют дополнительные поля, которые размещаются в начале кадров, описанных выше.
Октет |
||||
LLC-X’’AA’’ |
LLC-X’’AA’’ |
LLC-X’’03’’ |
OUI-X’’00’’ |
0 |
OUI-X’’A0’’ |
OUI-X’’3E’’ |
Тип кадра |
4 |
|
Идентификатор ELAN |
8 |
Дополнительные поля кадров данных и управления.
Стандарт LINU 2.0 для кадров управления определяет три дополнительных флага:
0002 для LE_CONFIG_REQUEST и LE_JOIN_REQUEST используются возможности версии 2.
0004 для LE_JOIN_REQUEST используется селективная групповая адресация (selective multicast).
0008 для LE_JOIN_RESPONSE необходимо использовать версию 2.
Стандарт LINU 2.0 определяет также два дополнительных значения для поля код операции:
000A LE_VERIFY_REQUEST (запрос на проверку LE).
010A LE_VERIFY_RESPONSE (отклик на запрос проверки).