Появление новой технологии АТМ потребовало решения задачи согласования этой технологии с уже существующими традиционными технологиями локальных сетей, такими как Ethernet или Token Ring.
Для решения этой задачи в принципе могут быть использованы все обсуждавшиеся выше подходы к организации работы неоднородных сетей - мультиплексирование, трансляция и инкапсуляция протоколов. Однако мультиплексирование редко применяется для протоколов физического и канального уровней (к которым относится протокол АТМ), так как при этом требуется наличие нескольких сетевых адаптеров в каждом компьютере.
Гораздо чаще для согласования протоколов канального уровня используется трансляция с помощью таких промежуточных устройств, как мосты, коммутаторы и маршрутизаторы. Однако мосты и коммутаторы способны выполнять трансляцию только близких технологий, например, Ethernet и FDDI или Ethernet и Token Ring, а задача трансляции существенно отличающихся технологий локальных и глобальных сетей для устройств этого типа является слишком сложной. Примером таких "плохо совместимых" пар протоколов могут служить Х.25 и Ethernet или frame relay и Ethernet. Поскольку технология ATM близка к технологиям территориальных сетей и плохо совместима с традиционными канальными протоколами локальных сетей, то в этом случае трансляционные возможности мостов и коммутаторов так же оказываются недостаточными.
Маршрутизаторы же умеют выполнять трансляцию существенно отличающихся протоколов, используя для этого общий протокол сетевого уровня для всех согласуемых сетей. Для обеспечения совместимости ATM с протоколами канального уровня локальных сетей разработана спецификация Classical IP (RFC 1577), в которой в качестве объединяющего протокола сетевого уровня определен протокол IP. Такое решение хорошо работает, когда локальные сети объединяются с территориальной сетью АТМ, применение же этого подхода в случае, когда технология АТМ используется для построения локальной сети, не всегда оказывается эффективным. Во-первых, необходимость использования маршрутизаторов для локальных сетей не всегда является экономически оправданной. Во-вторых, не все локальные сети поддерживают протокол сетевого уровня - так, например, функции маршрутизации отсутствуют в часто используемом стеке SMB/NetBIOS.
Поэтому возникла необходимость в создании технологии объединения сетей АТМ и традиционных локальных сетей без привлечения маршрутизаторов и протоколов сетевого уровня. Такой технологией и является технология LAN Emulation (LANE), разработанная организацией ATM Forum.
Эта спецификация использует инкапсуляцию кадров канальных протоколов локальных сетей, таких как Ethernet или Token Ring, в ячейки АТМ. Использование инкапсуляции в спецификации LAN Emulation несколько отличается от ее традиционного применения.
Обычно инкапсуляция обеспечивает связь двух сетей одной технологии через промежуточную сеть другой технологии. При этом узлы промежуточной сети недоступны конечным узлам объединяемых сетей (рисунок 2.4), и промежуточная сеть играет роль транзитной сети. LAN Emulation с помощью инкапсуляции решает не только традиционную задачу связи локальных сетей через транзитную сеть АТМ, но и решает общую задачу связи всех узлов составной сети - связи между узлами локальных сетей и внутренними узлами АТМ-сети, показанные как запрещенные на рисунке 2.4, также обеспечиваются с помощью протокола LAN Emulation.
Рис. 2.4. Взаимодействие двух локальных сетей через транзитную сеть ATM
Рассмотрим последовательно решение этих двух задач, причем для определенности будем предполагать, что сеть АТМ используется для соединения сетей Ethernet.
Итак, пусть сеть ATM используется только в качестве транзитной сети. Сети Ethernet подключаются к сети коммутаторов АТМ с помощью пограничных устройств, названных в спецификации LAN Emulation АТМ-LAN конверторами. Такой конвертор должен иметь ATM-порт, с помощью которого он подключается к АТМ-сети, а также некоторое количество портов для подключения локальных сетей традиционных технологий. Конвертор имеет АТМ-адрес для взаимодействия с другими конверторами по сети АТМ. Кроме того, конвертор должен иметь информацию о МАС-адресах всех узлов каждой из локальных сетей, которые он присоединяет к сети АТМ. Конвертором может быть любое устройство локальной сети, но наиболее подходящим устройством для выполнения этих функций является коммутатор локальной сети, так как он имеет таблицу МАС-адресов всех устройств сети, которые обмениваются через него данными. Поэтому будем далее использовать термины АТМ-LAN конвертор и ATM-LAN коммутатор как синонимы.
В каждый АТМ-LAN коммутатор встроен протокол LAN Emulation (рисунок 2.5), в задачу которого входит передача принятого коммутатором МАС-кадра через АТМ-сеть другому ATM-LAN коммутатору. Так как к АТМ-сети может быть подключено несколько локальных сетей, то при получении из локальной сети кадра с МАС-адресом назначения, ATM-LAN коммутатор должен решить, к какому из остальных ATM-LAN коммутаторов относится данный МАС-адрес.
Рис. 2.5. Взаимодействие узлов локальных сетей через транзитную ATM-сеть
Таким образом, коммутатор для принятия решения о передаче кадра оперирует с двумя таблицами - с локальной, которая устанавливает соответствие МАС-адресов его локальной сети локальным портам, и с транзитной, которая содержит для каждого МАС-адреса составной сети АТМ-адрес пограничного коммутатора. Спецификация LAN Emulation не определяет конкретный вид таблиц ATM-LAN конверторов. Один из возможных вариантов этих таблиц приведен на рисунке 2.6.
Рис. 2.6. Таблицы адресов ATM-LAN коммутатора
Если АТМ-LAN коммутатор в результате просмотра адресных таблиц видит, что кадр нужно передать через АТМ-сеть другому ATM-LAN коммутатору, то он с помощью стека протоколов АТМ устанавливает виртуальное соединение (Virtual Channel Connection, VCC) с этим коммутатором, а затем передает по нему кадр в форме потока ячеек АТМ.
Особенностью инкапсуляции кадров в спецификации LAN Emulation является то, что кадр не упаковывается целиком в ячейку АТМ, а, в виду очень малого размера ее поля данных (48 байт), разбивается на фрагменты, которые затем инкапсулируются в последовательность АТМ-ячеек. Разбиение (сегментация) кадра и последующая его сборка осуществляются стандартными средствами стека АТМ, реализованного в ATM-LAN конверторе.
Для передачи трафика локальных сетей через сеть АТМ выбран класс АТМ-сервиса с неопределенной битовой скоростью, что хорошо соответствует алгоритмам работы протоколов локальных сетей, когда конечному узлу не дается никаких гарантий относительно выделяемой ему пропускной способности. Этот класс сервиса реализован в сетях АТМ подуровнем AAL5 (ATM Adaptaton Layer 5), принимающем запросы на установление соединений от протоколов верхних уровней. Остальные классы сервиса сетей АТМ, гарантирующие некоторую часть пропускной способности своим абонентам, в спецификации LAN Emulation версии 1.0 не используются, хотя потребность в них может возникать при работе в локальной сети приложений реального времени. Эти возможности ожидаются в следующих версиях спецификации LAN Emulation.
Отдельной задачей является автоматическое построение транзитных адресных таблиц АТМ-LAN коммутатора. Поскольку сети АТМ, как и большинство территориальных сетей, не поддерживают широковещательность, то обнаружить через сеть АТМ пограничные коммутаторы с помощью широковещательных запросов (как это делают, например, клиенты и серверы сетей NetWare) невозможно.
Ручное задание АТМ-адресов пограничных коммутаторов может оказаться обременительным занятием для администратора, если таких коммутаторов много и их набор часто претерпевает изменения, что характерно для локальных сетей.
Для автоматического построения транзитных адресных таблиц спецификация LAN Emulation предлагает использовать централизованный подход, то есть возложить решение этой задачи на сервер, присоединенный к сети АТМ (рисунок 2.7).
Этот сервер носит название LAN Emulation Server - LES. Та часть протокола спецификации LAN Emulation, которая работает в ATM-LAN коммутаторе, называется LAN Emulation Client - LEC. При своей инициализации LEC АТМ-LAN коммутатора сообщает серверу LES свои МАС- и ATM-адреса. Затем LEC регистрирует в LES все МАС-адреса узлов, которые он узнает при изучении своей локальной сети. Таким же образом поступают все пограничные ATM-LAN коммутаторы, поэтому в сервере LES накапливается общая таблица соответствия МАС-адресов узлов локальных сетей АТМ-адресам их пограничных коммутаторов.
Для взаимодействия с сервером LES каждый клиент LEC устанавливает прямое виртуальное соединение VCC с этим сервером, называемое Control Direct VCC. Это соединение устанавливается еще на стадии присоединения (Join) клиента LEC к эмулируемой сети. Под эмулируемой сетью понимается вся совокупность локальных сетей, взаимодействующих друг с другом через данный сервер LES и пограничные коммутаторы таким образом, как будто они работают в локальной сети, объединенной с помощью обычных повторителей, мостов и коммутаторов.
Каждый ATM-LAN коммутатор должен изначально знать только один адрес - АТМ-адрес сервера адресов LES, чтобы установить с ним виртуальное соединение. Теперь при приходе кадра с неизвестным МАС-адресом пограничный коммутатор может послать запрос серверу LES об АТМ-адресе коммутатора, который обслуживает локальную сеть, в которой имеется узел с данным МАС-адресом. Протокол передачи запроса на разрешение MAC-адреса и получения на него ответа является частью спецификации LAN Emulation и называется LE_ARP (LAN Emulation Address Resolution Protocol).
Рис. 2.7. Присоединение к эмулируемой сети и регистрация адресов
При получении LE_ARP-запроса сервер LES просматривает свои адресные таблицы, и если находит там зарегистрированный искомый МАС-адрес, то посылает LE_ARP-ответ, в котором указывает АТМ-адрес пограничного ATM-LAN коммутатора, которому нужно переслать кадр с данным МАС-адресом. Если же искомый МАС-адрес отсутствует в таблице сервера, то сервер LES пересылает LE_ARP-запрос всем LEC, присоединившимся к эмулируемой сети.
Пересылать LE_ARP-запрос можно по очереди каждому клиенту LEC по тем индивидуальным виртуальным соединениям Control Direct VCC, которые были созданы при присоединении LEC к LES, но такой способ будет работать медленно при большом числе LEC. Для ускорения работы LES использует специфический механизм мультивещательности, поддерживаемый сетями АТМ. Этот механизм позволяет какому-либо узлу АТМ-сети, называемому корнем, устанавливать виртуальное соединение "один-ко-многим" (point-to-multipoint) и одновременно передавать одни и те же данные всем остальным узлам соединения, называемым листьями. При этом узлы-листья могут посылать данные только узлу-корню, а между собой обмениваться данными по соединению такого вида им запрещено.
Сервер LES при присоединении к эмулируемой сети нового клиента LEC сразу же добавляет последнего к мультивещательному соединению в качестве нового листа. Такое соединение называется Control Distribute VCC и служит для одновременного распространения LE_ARP-запроса всем LEC эмулируемой сети. Тот LEC, который опознал в запросе МАС-адрес обслуживаемой сети, генерирует LE_ARP-ответ, в котором указывает свой АТМ-адрес. Получив LE_ARP-ответ, сервер LES распространяет его также по мультивещательному VCC, чтобы все LEC сети могли бы кэшировать данную информацию для будущего использования.
После получения информации об АТМ-адресе соответствующего ATM-LAN коммутатора, LEC устанавливает с ним прямое виртуальное соединение Data Direct VCC, по которому начинает передавать кадры для данного МАС-адреса.
Так как в задачу спецификации LAN Emulation входит представление эмулируемой составной сети в виде функционального эквивалента традиционной локальной сети, то для конечных узлов такой сети нужно обеспечить свойство широковещательности, когда кадр, посланный с широковещательным адресом, доходит до всех узлов сети.
Эмуляцию широковещательности спецификация LAN Emulation выполняет с помощью уже описанного механизма мультивещательности "один-ко-многим". С этой целью в сети АТМ, кроме сервера LES, создается еще один сервер - Broadcast and Unknown Server, BUS. Сервер BUS организует доставку кадров с широковещательными адресами, а также кадров, ATM-адрес пограничного коммутатора которых неизвестен клиенту LEC, всем узлам эмулируемой сети. Сервер BUS имеет отдельный ATM-адрес, который сообщается сервером LES клиенту LEC при его присоединении к эмулируемой сети. Клиент LEC должен после этого установить с сервером BUS прямое виртуальное соединение Multicast Send VCC, по которому он будет пересылать кадры с широковещательными или неизвестными адресами. Сервер BUS добавляет каждого нового клиента LEC к мультивещательному соединению Multicast Forward VCC в качестве листа. Это соединение используется сервером BUS для одновременной рассылки широковещательных кадров и кадров с неизвестными адресами всем пограничным коммутаторам эмулируемой сети.
Спецификация LAN Emulation рекомендует клиентам LEC делать LE_ARP-запрос серверу LES для кадра с неизвестным адресом, и, не дожидаясь ответа, сразу же отправлять этот кадр через сервер BUS. Это делается для ускорения работы эмулируемой сети, так как кадры начнут доходить до узла назначения широковещательным образом еще до того, как будет получен LE_ARP-ответ от сервера LES. После получения LE_ARP-ответа, LEC перестает посылать кадры для данного МАС-адреса широковещательно, а устанавливает виртуальное соединение Data Direct VCC с конкретным ATM-LAN коммутатором (или же пользуется уже установленным ранее соединением с этим коммутатором) и передает остальные кадры с данным МАС-адресом уже по прямому каналу.
Спецификация LAN Emulation позволяет организовать в рамках одной составной ATM-LAN сети нескольких отдельных эмулируемых сетей. Эти сети полностью отделены друг от друга, так что узлы, входящие в одну эмулируемую сеть, не получают кадры другой эмулируемой сети, какие бы типы МАС-адресов назначения не применялись: индивидуальные, групповые или широковещательные (рисунок 2.8). Такая концепция хорошо согласуется с концепцией виртуальных сетей, реализованной во многих коммутаторах традиционных протоколов локальных сетей, которые также определяются как наборы узлов сети, в которых локализуется весь их трафик, включая и широковещательный, вне зависимости от физического расположения узлов.
Для поддержания каждой эмулируемой сети в сети АТМ должна работать собственная пара серверов LES и BUS. АТМ-LAN конвертор может быть присоединен одновременно к нескольким эмулируемым сетям, при этом для работы с каждой сетью он имеет отдельный элемент LEC, который образует с каждым из серверов сети отдельные виртуальные соединения VCC, так что трафики эмулируемых сетей не смешиваются внутри сети АТМ. Аналогично, если два ATM-LAN коммутатора поддерживают несколько эмулируемых сетей, то для обмена данными между собой они образуют для каждой эмулируемой сети отдельное виртуальное соединение Data Direct VCC.
Рис. 2.8. Эмуляция локальных сетей в ATM/LAN сети
Для автоматического поддержания нескольких эмулируемых сетей в АТМ-сети организуется еще один центральный сервер - LAN Emulation Configuration Server, LECS. Этот сервер хранит список имен эмулируемых сетей, а также значения их основных параметров - АТМ-адреса серверов LES и BUS каждой сети, тип сети (например, Ethernet или Token Ring), максимальный размер кадра, поддерживаемого этой сетью и т.п. (рисунок 2.9). Поэтому каждый LEC при инициализации должен сначала установить соединение с единственным в сети сервером LECS (он должен знать АТМ-адрес этого сервера) и получить от LECS список всех эмулируемых сетей и их параметров.
Рис. 2.9. Компоненты LANE и их взаимосвязи
На основании полученной информации LEC должен выбрать эмулируемую сеть, к которой он желает присоединиться и известить об этом LECS. Затем LEC выполняет процедуру присоединения к LES выбранной эмулируемой сети, регистрирует там МАС-адреса своих узлов и начинает работать с составной сетью. Протокол взаимодействия клиентской части протокола LAN Emulation, а именно LEC, с серверными частями этой спецификации LECS, LES и BUS называется LAN Emulation User-Network Interface (LUNI).
Если ATM-LAN коммутатор поддерживает со стороны локальной сети несколько виртуальных сетей, то он может отождествить каждую виртуальную сеть с эмулируемой сетью. Поэтому при регистрации МАС-адресов на сервере LES определенной эмулируемой сети коммутатор регистрирует только те МАС-адреса, которые относятся к виртуальной сети, отождествляемой с этой эмулируемой сетью.
Если все пограничные коммутаторы поддерживают несколько виртуальных сетей, и администратор хочет, чтобы эти сети работали в масштабах всей составной сети, то отождествление их с определенными эмулируемыми сетями дает хороший способ передачи информации о принадлежности МАС-адреса той или иной сети между разными пограничными коммутаторами.
Спецификация LAN Emulation не определяет способа построения виртуальных сетей пограничными коммутаторами на стороне локальной сети. Эта спецификация дает только стандартный способ информирования других коммутаторов о том, какой виртуальной сети принадлежит передаваемый кадр. В составной сети кадры разных виртуальных локальных сетей передаются по разным виртуальным соединениям и поэтому не смешиваются.
Взаимодействие между разными эмулируемыми сетями в спецификации LAN Emulation не предусматривается. Для организации взаимодействия нужен маршрутизатор, который либо присоединяется к интерфейсам локальных сетей, либо подключается непосредственно к сети АТМ и, поддерживая спецификацию LAN Emulation, присоединяется к каждой из эмулируемых сетей. Маршрутизатор назначает эмулируемым сетям сетевые адреса и производит на основании этих адресов передачу пакетов между сетями.
Понятно, что узлы, непосредственно присоединенные к АТМ-коммутаторам с помощью АТМ-адаптеров, могут взаимодействовать между собой и без привлечения добавочных протоколов, таких как протоколы спецификации LAN Emulation. Но в таком случае приложения и протоколы прикладного уровня (NCP, SMB, NFS или FTP) должны быть модифицированы, так как они должны научиться поддерживать интерфейс со стеком протоколов АТМ на своем узле, а также не использовать отсутствующие в протоколах АТМ широковещательные рассылки. Кроме того, АТМ-узлы не смогут взаимодействовать с узлами локальных сетей, на которых установлены традиционные стеки протоколов с канальными протоколами Ethernet, Token Ring и т.п.
Спецификация LAN Emulation позволяет превратить АТМ-узлы в узлы, подобные традиционным узлам локальных сетей. Это достигается за счет размещения в АТМ-узле программного обеспечения клиента LEC, выполняющего те же функции, что и LEC пограничных ATM-LAN коммутаторов. На АТМ-узле LEC размещается между АТМ-протоколами драйвера сетевого адаптера АТМ и протоколом LLC (рисунок 2.10) или любым другим протоколом, который рассчитан на работу с протоколом МАС-уровня локальной сети. Протокол LEC предоставляет протоколам верхних уровней того узла, на котором он работает, тот же интерфейс, что и МАС-уровень сети Ethernet или Token Ring.
В отличие от протокола LEC, работающего на ATM-LAN коммутаторе, LEC отдельного АТМ-узла представляет только один МАС-адрес - МАС-адрес данного узла. Остальные действия LEC узла ничем не отличаются от LEC коммутатора. Он точно так же соединяется с сервером LECS, получает от него список эмулируемых сетей и присоединяется к одной из сетей, регистрируя в LES этой сети пару АТМ-адрес/МАС-адрес своего узла. Для присоединения одного и того же узла к нескольким сетям на узле должны работать одновременно несколько копий LEC, по одной на каждую сеть. Сообщения, получаемые от протоколов верхних уровней, LEC узла преобразует с помощью функции SAR в поток ячеек, который передает по виртуальному соединению протоколу LEC других АТМ-узлов. Широковещательный трафик направляется узлам эмулируемой сети через сервер BUS.
Рис. 2.10. Взаимодействие протоколов в модели LAN Emulation
Наличие МАС-адреса у узла АТМ-сети позволяет ей взаимодействовать и с узлами присоединенных локальных сетей. При этом LEC узла взаимодействует с LEC пограничного коммутатора, посылая через сеть АТМ-кадр, в котором указывает в качестве адреса назначения МАС-адрес узла локальной сети, а в качестве адреса источника - свой МАС-адрес. Пограничный коммутатор затем передает кадр в соответствии с МАС-адресом назначения и своей адресной таблицей на один из своих локальных портов. Локальный узел, получив кадр, может ответить на него обычным кадром, указав в нем МАС-адрес узла АТМ-сети.
Спецификация LAN Emulation сегодня реализована в устройствах различных типов многих производителей. Серверные части спецификации - серверы LECS, LES и BUS обычно встраиваются в АТМ-коммутаторы или корпоративные АТМ-LAN коммутаторы, а клиентские компоненты LEC - в драйверы сетевых адаптеров и ATM-LAN коммутаторы уровня отдела или рабочей группы.
Наличие единственного серверного элемента в сети всегда является недостатком как в отношении производительности, так и в отношении надежности сети. При большом количестве клиентов LEC трафик к коммутатору, который поддерживает серверы LES и BUS, может быть очень большим, особенно при широком использовании метода группового распространения мультимедийной информации через BUS. Отказ коммутатора, в котором работает пара LES/BUS, будет приводить в останову всей сети.
К тому же производители часто ограничивают возможности серверов LES/BUS по одновременной работе с большим количеством клиентов LEC. Так, коммутатор LANplex компании 3Com поддерживает не более 16 эмулируемых сетей, в каждой из которых должно быть не более 16 клиентов LEC. Это ограничение не такое жесткое, если речь идет о LEC, встроенных в коммутаторы, ведь в этом случае один LEC может представлять несколько сот узлов. Однако, при использовании LEC в сетевых адаптерах ATM-узлов, такое ограничение является существенным тормозом при создании сети с большим количеством АТМ-узлов.
Спецификация LAN Emulation не запрещает использования в сети нескольких устройств, которые выполняют серверные функции, однако и не описывает механизм их взаимодействия при тиражировании адресных таблиц и выполнении других операций.
Протоколы взаимодействия между несколькими копиями LES/BUS, поддерживающими одну и ту же эмулируемую сеть, должны быть определены в спецификации LAN Emulation 2.0.
Кроме того, версия LAN Emulation 2.0 должна определить работу эмулируемой сети при передаче трафиков различных классов сервиса, а не только класса QoS 0 с неопределенной полосой пропускания. Это необходимо для работы в сети приложений, требующих обработки их кадров в реальном времени - приложений, организующих видеоконференции, передающих голос и т.п.
Вещество и поле не есть что-то отдельное от эфира, также как и человеческое тело не есть что-то отдельное от атомов и молекул его составляющих. Оно и есть эти атомы и молекулы, собранные в определенном порядке. Также и вещество не есть что-то отдельное от элементарных частиц, а оно состоит из них как базовой материи. Также и элементарные частицы состоят из частиц эфира как базовой материи нижнего уровня. Таким образом, всё, что есть во вселенной - это есть эфир. Эфира 100%. Из него состоят элементарные частицы, а из них всё остальное. Подробнее читайте в FAQ по эфирной физике.