Архивы: по дате | по разделам | по авторам

С уровня на уровень

Архив
автор : ВЕНИАМИН БАСКАКОВ    29.09.1997

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

В мире DEC (а тогда это действительно был целый мир) была разработана целостная программно-аппаратная концепция DECNET Phase IV, отразившая существовавшие на то время разграничения функций отдельных блоков, из которых, как из кирпичей, были выстроены все сети того времени. Этот внутренний стандарт Digital стал де-факто наиболее удачной попыткой ввести однотипность в сопряжения различных сетевых устройств и сопутствующих программных интерфейсов. Под влиянием этой концепции мировые закулисные силы международной стандартизации объединились с целью создания объективного научного обобщения возникающих закономерностей и решили увековечить их в виде пресловутой семиуровневой модели OSI/ISO. И теперь каждому, кто впервые попытается уяснить, для чего вообще служит активное сетевое оборудование, сразу же покажут на картинку, где в виде семи коробочек нарисованы все уровни этой модели.

В сети передачи данных модель OSI/ISO рассматривает процессы в любых двух равноправно связанных устройствах, как обеспечивающие виртуальный канал связи с процессом равного себе уровня на другом конце провода. Наличие уровней предполагает некую ступенчатость, и в принятой модели каждая ступень относится к скачку функциональности, возникающей при передаче данных с одного уровня на другой между процессами, запущенными на некотором узле сети. С каждым из них связывают протокол - способ взаимодействия на данном виртуальном уровне. Стек протоколов - совокупность протоколов сразу всех уровней, сколько их есть. Почему уровней ровно семь? Китайцы бы, точно, насчитали их пять или восемь, по числу Драгоценных Сокровищ Будды (мы в своем рассмотрении остановимся на четырех, см. рис. 1). Во всяком случае, в далеких восьмидесятых репитеры (repeaters) работали на уровне 1; мосты (bridges), на втором - канальном уровне; а маршрутизаторы (routers) на уровне 3, который называется собственно сетевым уровнем и отвечает за прокладку маршрута для пакетов и кадров между отдельными узлами и сегментами сети. Устройства всех систем, на чью долю выпало в то время заниматься преобразованием протоколов выше уровня 3, а все они вынуждены обрабатывать не только заголовки пакета или кадра, но и читать сами сообщения, получили от ISO наименование шлюз, а по-английски - gateway, что вызвало негодование в мире TCP/IP, где это слово обозначает маршрутизатор уровня 3, и где только благодаря смене поколений сейчас можно видеть уступки терминологии ISO. [На самом деле, как вспоминает Боб Меткалф (Bob Metcalfe), изобретатель Ethernet, за свою историю маршрутизаторы поменяли несколько названий: сначала, до того как первые из них были построены, они назывались пакетными коммутаторами (packet switch), затем получили название процессоров сообщений интерфейса (interface message processors, или IMPS) и только потом, после того как в 1983 году стек TCP/IP был встроен в Unix, получили название шлюзов - Г.Б.]

Англоязычные ревнители чистоты TCP/IP в обиде на Международную организацию стандартов, а русскоязычных потребителей сетевой техники все это особо не волнует: в просторечии приходится слышать самые различные ломаные английские слова, а никто ни на кого не обижается. Уровни выше третьего существуют во всех протокольных стеках, и везде имеется свое собственное разделение их функций. Сколько их там, этих уровней, и кто может досчитать их до конца? Их используют и преобразуют между собой как сами сетевые прикладные программы, так и шлюзы TCP/IP в X.25, IPX в TCP/IP, разного рода конвертеры TCP/IP в SNA, имеющие огромную область применения и по сию пору.

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

Вышестоящему меньше видно

Низшие уровни трактуют пакеты высших уровней, как данные. К ним они добавляют в виде обрамления свою служебную информацию для равного себе по уровню процесса на другом конце провода и передают все это еще ниже, пока информация не превратится в битовый поток в физической среде. Когда, в свою очередь, процесс некоторого уровня передает информацию наверх, он использует информацию из заголовков пакетов для организации виртуального взаимодействия на своем уровне, а затем удаляет эту информацию, скрывая ее от процесса вышестоящего уровня. Благодаря устоявшейся стандартизации формата относительных смещений в заголовках пакетов передаваемых данных, которыми только и оперирует канальный уровень, границы между первыми тремя уровнями модели OSI/ISO очень четкие. В частности, рамки границ уровня 2 (или канального) для многих интерфейсов коммуникационных линий давно установлены МKТТ, а для разделяемой физической среды - несколько позже - знаменитыми спецификациями серии IEEE802.

В этих же спецификациях содержится разбиение канального уровня еще на два (LLC и MAC), которые вместе полностью определяют взаимную ориентацию устройств в пределах одного сегмента разделяемой физической среды. Но даже если логические границы между уровнями 2 и 3 остаются незыблемыми, сегодняшние реализации протоколов, исполняющих независимо от конкретного формата канальных данных функции уровня 3, могут включать в себя параллельное кэширование данных LLC- и MAC-уровней для ускорения обработки пакетов, как, например, в технологии Cisco Netflow Switching , предназначенной для многоканальных маршрутизаторов, чтобы довести их быстродействие до скорости, определяемой физическим интерфейсом. Похожим образом иногда ведет себя начальник, подсматривающий эпизодически за действиями своих подчиненных, для чего ему приходится вникать в детали их работы, не беря при этом на себя выполнения их обязанностей.

На уровне третьем, в круге первом

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



Рисунок 1.

Характерно, что маршрутизация в стеке протоколов SNA, которыми по мировой статистике передается более 60 процентов всего сетевого трафика, происходит на уровне transmission control layer, близком к уровню 4OSI/ISO, а это значит, что от всех маршрутизирующих узлов сети требуется очень высокая степень интеллектуальности, а уж для поддержки динамической маршрутизации здесь нужны еще более развитые ресурсы, вроде базы данных о топологии сети, целостность которой обеспечивается сеансами связи между всеми задействованными узлами. Казалось бы, куда там в этой ситуации бедным родственникам, выбравшимся из своих локально-сетевых деревень на глобальные урбанистические магистрали.

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



Рисунок 2.

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

Да, конечно же, это маршрутизаторы уровня 3, оставшиеся стоять на посту в привычных для них местах.



Рисунок 3.

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

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



Рисунок 4.

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

На этом этапе отметим: локальную сеть и коммуникационную линию, соединяющую ее с другими локальными сетями, объединяет маршрутизатор уровня 3 (рис. 2). Еще один маршрутизатор стыкует данную коммуникационную линию с локальными сетями на другом конце. Программный ли, аппаратный, а на пороге каждого локально-сетевого заведения по-прежнему стоит маршрутизатор - одновременно швейцар и метрдотель уровня 3 модели OSI/ISO. И встречает и провожает своих гостей он по одежке - сетевым опознавательным знакам соответствующего уровня и IP-адресам.



Рисунок 5.

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

Пора перемен

Всплеск развития технологии коммутации 3 уровня в течение нескольких последних лет совершенно преобразил инфраструктуру крупномасштабных магистральных сетей провайдеров Интернет-услуг. Преобладающая технология здесь такова (рис. 4). Маршрутизатор уровня 3, расположенный у заказчика услуг, соединяется на другом конце отнюдь не с себе подобным устройством, как это было раньше, а с высокопроизводительным коммутатором (на рисунке для простоты опущен), образующим постоянное виртуальное соединение с магистральным маршрутизатором, где только и осуществляется выбор маршрута, после чего пакеты могут быть либо направлены через коммутаторы к другому локальному маршрутизатору, либо переброшены на другой магистральный маршрутизатор, который воспользуется виртуальными соединениями с другими локальными маршрутизаторами, осуществит выбор продолжения маршрута или отправит пакеты на другую магистраль. Чтобы преодолеть некоторые недостатки, присущие этой схеме, разработаны совершенно новые принципы пересылки ячеек по целому облаку магистральных линий, снижающие концентрацию маршрутизируемых потоков на магистральных участках и нагрузку на магистральных маршрутизаторах по принятию решений о выборе маршрута. Такие принципы воплощены в железо фирмой Cisco в технологии под названием Tag Switching. Оснащенные специальными модулями коммутаторы Cisco (ATM/StrataCom BPX) превращаются в совершенно новые устройства, по-другому воспринимающие подобных себе. После нормального общения на уровне 3 и синхронизации таблиц маршрутизаторы снабжают каждый известный им маршрут специальной этикеткой, которая играет роль почтового индекса по отношению к адресной информации маршрута. Эти этикетки фиксированной длины значительно облегчают жизнь посвященным в эти тонкости маршрутизаторам, которые образуют разреженную полносвязную сеть в коммутируемом глобальном облаке ATM-магистралей, находя "вчерне" нужный маршрут и оставляя работу уровня 3 маршрутизатору "последней мили". Помимо этого, технология Tag Switching решает еще одну важную задачу интеграции ATM и маршрутизации уровня 3, а именно, она дает альтернативу наложенной на канальный уровень ATM сети уровня 3, то есть способна отображать функции локальной сети на сервисы ATM без использования техники LANE (LAN Emulation).

Несправедливо сводить все достижения в этой области к успехам одной лишь Cisco. Фирмы Bay Networks, 3COM и IBM объединились в триумвират и совместно продвигают в качестве альтернативы Tag Switching свою платформу Cascade IP-Navigator. Одним из привлекательных свойств "навигатора" для поставщиков сетевых услуг и провайдеров Интернет считается поддержка Frame Relay. Остальных его конкурентов в качестве магистрали интересует только АТМ. IP-навигатор базируется на создании виртуальной цепи между встречающим и провожающим узлами традиционной маршрутизации уровня 3 и выбранными из облака маршрутизаторами, снабженными модулями коммутации. Виртуальная цепь создается на уровне 2 между устройствами, функционирующими как нормальные маршрутизаторы сетевого уровня на стыке облака магистральных линий с высокой пропускной способностью и пограничной коммуникационной линией.

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

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

Однако у современной технологии и на этом участке находятся свои адресаты. Лично меня, например, особенно впечатляют возможности, предоставляемые серверами удаленного доступа и пограничными машрутизаторами фирмы Nautica, недавно ставшей частью Bay Networks.

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

Для таких случаев Nautica предлагает методы, близкие технологически и базирующиеся исторически на принципах работы протоколо-ориентированных мостов.

Мост, ориентированный на протокол IP, держит в памяти MAC-адреса узлов сетевых сегментов с обеих сторон и способен не только переправлять из сегмента в сегмент пакеты 2-го уровня, но и передавать прозрачно в обе стороны запросы протокола ARP, а также отвечать на них (ARP занимается введением соответствия между IP-адресами и адресами более низкого уровня посредством передачи широковещательных запросов и анализа ответов на них). В условиях пограничной маршрутизации аппаратный маршрутизатор удаленной сети может передавать ARP своему напарнику в опорной сети провайдера также и по двухточечному интерфейсу посредством протокола RIP-2. Удаленный маршрутизатор, имеющий с одной стороны Ethernet-интерфес и получивший в линии продуктов Nautica наименование CLAM (Corporate LAN Access Module), сообщает опорному маршрутизатору обо всех машинах, подключенных к удаленной локальной сети. Для CLAM не нужна особо изощренная логика: принимая решение о маршрутизации, он знает, что все пакеты, адресованные лично ему, он обязан передать через коммуникационную линию на опорную сеть; все остальные пакеты относятся к внутрисегментному трафику. Через этот же коммуникационный интерфейс CLAM передает информацию обо всех машинах своего сегмента напарнику на другом конце линии, а напарник создает на них ссылки в своей адресной таблице и начиная с этого момента может имитировать присутствие каждой удаленной машины в том же сегменте опорной сети, в котором находится сам. На этом и заканчивается их взаимодействие на уровне 3. После вступительных процедур удаленная локальная сеть отображается в адресное пространство сегмента, к которому она присоединена посредством виртуального моста на канальном уровне. Стек протоколов TCP/IP на всех машинах удаленной сети конфигурируется так, как будто они в самом деле принадлежат сегменту опорной сети, физически находящемуся в центральном офисе предприятия или у провайдера сетевых услуг, поэтому эти машины могут "переноситься" из физического расположения опорного сегмента с места на место без переконфигурации. Настройка самого маршрутизатора CLAM сводится к элементарным действиям, не требующим высокой квалификации персонала.

Устройств с похожими свойствами, предлагаемых, как правило, в комплекте с маршрутизатором сервера удаленного доступа опорной сети, становится все больше. Наряду с Bay Networks их выпускают фирмы Ascend Communications и недавно слившиеся 3Com и USRobotics, которые в перспективе будут снабжать эти маршрутизаторы адаптерами новых стандартов цифровых линий, таких как xDSL.

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

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

С автором можно связаться по e-mail baskakov@soft-tronik.ru.

© ООО "Компьютерра-Онлайн", 1997-2022
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.