УСТОЙЧИВОЕ ПРИКРЕПЛЕНИЕ К СЕТЯМ, ПОДДЕРЖИВАЮЩИМ ТЕХНОЛОГИЮ МЕЖСЕТЕВОГО СОПРЯЖЕНИЯ ПО ПРОТОКОЛУ МАРШРУТИЗАЦИИ ПО СОСТОЯНИЮ КАНАЛА СВЯЗИ ПОСТАВЩИКА (PLSB)
STABLE CONNECTION TO NETWORKS SUPPORTING TECHNOLOGY OF GATEWAY VIA ROUTING PROTOCOL AS TO STATE OF PROVIDER COMMUNICATION CHANNEL (PLSB)

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
Настоящая заявка является первой заявкой, поданной для настоящего изобретения.
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к управлению пересылкой трафика в пакетных сетях и, в частности, к способам устойчивого прикрепления Ethernet к сетям, поддерживающим технологию Межсетевого Сопряжения по протоколу маршрутизации по Состоянию Канала связи Поставщика (PLSB).
УРОВЕНЬ ТЕХНИКИ
Операторы сети и поставщики разворачивают сети связи с коммутацией пакетов вместо сетей с коммутацией каналов. В сетях с коммутацией пакетов, таких как сети, основанные на Протоколе Интернет (IP), маршрутизация IP-пакетов осуществляется в соответствии с состоянием маршрутизации, сохраненным на каждом IP-маршрутизаторе в сети. Аналогично, в сетях Ethernet кадры Ethernet пересылаются в соответствии с состоянием пересылки, сохраненным на каждом Ethernet-коммутаторе в сети. Настоящее изобретение применяет сети связи, использующие любые основанные на протокольных блоках данные (PDU) сети, и в данном документе термины “пакет” и “сеть с коммутацией пакетов”, “маршрутизация”, “кадр” и “основанная на кадрах сеть”, “пересылка” и сходные термины подразумевают охват любых PDU, сетей связи, использующих PDU, и выборочных передач PDU от сетевого узла к сетевому узлу.
Многоканальный транкинг, который описан в IEEE 802.3-2005 (Раздел 43), предоставляет способ, посредством которого две одноранговые клиентские системы (CS), соединенные двумя или более полнодуплексными каналами связи «точка-точка», могут взаимодействовать, обращаясь к параллельным каналам связи как к единственному “каналу связи”, называемому группой агрегации каналов связи (LAG). Как можно видеть на ФИГ. 1, это выполняется реализацией агрегатора (AG) 4 на каждой одноранговой CS 6. Агрегатор 4 логически помещен между клиентом уровня управления доступом к среде (MAC) и MAC-уровнем (не показан) вовлеченного сетевого узла и обычно содержит распределитель для распределения кадров по индивидуальным портам для передачи; коллектор для сбора принятых кадров с индивидуальных портов и пересылки их на MAC-клиент и контроллер для управления состоянием группы каналов связи. Таким образом, на отправляющей CS 6a распределитель осуществляет маршрутизацию пакетов от MAC-клиента на выбранный один из LAG-каналов 8 связи, с тем чтобы достигнуть желаемой балансировки нагрузки и устойчивости. На принимающей CS 6b коллектор пересылает пакеты, принятые через LAG-каналы 8 связи, на MAC-клиент. При такой схеме существование нескольких каналов 8 связи в пределах LAG 2 представляется прозрачным для каждого соответствующего MAC-клиента одноранговых CS 6.
Многоканальный транкинг предоставляет увеличенную полосу пропускания и внутреннюю устойчивость между двумя непосредственно соединенными одноранговыми узлами сверх того, что можно достигнуть с помощью единственного канала связи, но в виде, который сохраняет ключевые свойства, связанные с единственным каналом связи. Следовательно, было бы желательно расширить многоканальный транкинг по сети. Т.е. было бы желательно установить “расширенную группу агрегации каналов связи” между парами клиентских систем, в которой каждый “канал связи” расширенной группы агрегации каналов связи проходит независимый (и физически отличный) набор каналов связи и узлов между двумя вовлеченными клиентскими системами. Предпочтительно “расширенная группа агрегации каналов связи” конфигурировалась бы таким образом, что каждая клиентская система использовала бы традиционные функции MAC-клиента и агрегатора, определенные в IEEE 802.3-2005 (Раздел 43).
Разделенный многоканальный транкинг (SMLT) является методикой, разработанной Nortel Networks Limited и описанной в находящемся в совместном владении патенте США № 7,269,132 и Интернет-проекте, озаглавленных “Split Multi-Link Trunking (SMLT)” http://tools.ietf.org./html/draft-lapuh-network-smlt-07, которая расширяет многоканальный транкинг. Как можно видеть на ФИГ. 2, разделенный многоканальный транкинг (SMLT) заменяет одну из одноранговых CS 6 на пару физических Ethernet-коммутаторов (ES) 10. Так как группа агрегации каналов связи (LAG) разделена между двумя физическими коммутаторами, она может быть названа разделенной группой 12 агрегации каналов связи (SLAG). На “разделенном” конце 14 SLAG 12 функции агрегатора и МАС-клиента (замененной одноранговой CS 6b) распределяются между двумя ES 10, поддерживающими технологию SMLT, так что единственный агрегатор 4а и CS 6a, на другом конце SLAG 12 не знают о разделении. Специальный канал 16 связи (который сам может быть агрегированной группой) предоставляется между двумя ES 10, поддерживающими технологию SMLT, чтобы обеспечить возможность координации между соответствующими частями распределенных функций агрегатора и МАС-клиента. Этот специальный канал 16 связи называется межкоммутационным транковым каналом (IST).
Находящийся в совместном владении патент США № 7,269,132 заявителя описывает способы, с помощью которых традиционные функции МАС-клиента и агрегатора могут быть сохранены на “присоединенном” конце группы SLAG, посредством представления одноранговых ES 10 на разделенном конце 14 SLAG 12 в виде единственного фантомного узла (не показан на ФИГ. 2).
Может быть понятно, что SMLT обеспечивает возможность устойчивого соединения между клиентской системой (CS) и доменом сети Ethernet, обеспечивая возможность маршрутизации трафика на CS и с нее посредством пары поддерживающих технологию SMLT Ethernet-коммутаторов. Таким образом, оно предоставляет “первый этап” в установлении расширенной группы агрегации каналов связи, которая перекрывает домен сети Ethernet, обеспечивая возможность соединения каждой CS с доменом сети Ethernet посредством соответствующей пары ES, поддерживающих технологию SMLT. Тем не менее, не существует простого пути расширения группы агрегации каналов связи через домен Ethernet между одноранговыми ES, поддерживающими технологию SMLT и, например, вторым набором одноранговых ES, поддерживающих технологию SMLT и поддерживающих вторую CS.
Как отмечено выше, традиционные функции МАС-клиента и агрегатора могут быть сохранены на “присоединенном” конце группы SLAG 12 посредством представления одноранговых ES 10 на разделенном конце SLAG 12 в виде единственного “фантомного” узла. Использование фантомного узла также позволяет традиционным образом использовать протокол связующего дерева (STP) для установки соединения через домен Ethernet от одноранговых ES 10 SLAG 12 к желаемому адресу назначения (такому как эквивалентный одноранговый ES другой SLAG). В принципе, это могло бы обеспечить возможность установки соответствующих путей через каждый из одноранговых ES 10. Тем не менее, чтобы избежать закольцовывания и, как следствие, отказов в сети, один из этих путей должен быть логически отключен. В результате, хотя пакеты, отправленные с CS 6, могут прибывать на любой из одноранговых ES 10 из SLAG 12, оба потока пакетов будут объединены в единственное соединение для транспорта через домен Ethernet.
Методики для расширения группы агрегации каналов связи в сети, которые решают, по меньшей мере, некоторые из вышеупомянутых проблем, остаются крайне желательными.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Таким образом, аспект настоящего изобретения предоставляет способ взаимодействия клиентской системы в первом сетевом домене с доменом сети, поддерживающей технологию Межсетевого Сопряжения по протоколу маршрутизации по Состоянию Канала связи Поставщика (PLSB). Предоставляют, по меньшей мере, два пограничных моста опорной сети (BEB) домена PLSB. Каждый BEB является конечной точкой соединения в первом сетевом домене с клиентской системой и конечной точкой, по меньшей мере, одноадресного пути, определенного в пределах домена PLSB. Межузловой транковый канал предоставляют в домене PLSB для взаимного соединения, по меньшей мере, двух BEB. Фантомный узел определяют в домене PLSB. Фантомный узел имеет уникальный адрес в домене PLSB и абстрактно расположен на межузловом транковом канале в одном скачке от каждого из BEB. Состояние пересылки устанавливают в каждом из BEB таким образом, что входящий пакет, принятый от клиентской системы посредством соединения в первом сетевом домене, пересылают по пути, абстрактно имеющему корень в фантомном узле; абонентский пакет, принятый с клиентской системы посредством канала связи меж-BEB, пересылают через путь, абстрактно имеющий корень в фантомном узле и исходящий абонентский пакет, предназначенный для клиентской системы, пересылают на клиентскую систему посредством соединения в первом сетевом домене.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Дополнительные признаки и преимущества настоящего изобретения станут очевидными из последующего подробного описания, рассматриваемого совместно с прилагаемыми чертежами, на которых:
ФИГ. 1 является блок-схемой, схематически иллюстрирующей традиционную группу агрегации каналов связи (LAG), известную по предшествующему уровню техники;
ФИГ. 2 является блок-схемой, схематически иллюстрирующей традиционную разделенную группу агрегации каналов связи (SLAG), известную по предшествующему уровню техники;
ФИГ. 3 является блок-схемой, схематически иллюстрирующей способ взаимодействия между клиентской системой и доменом PLSB согласно соответствующему варианту воплощения настоящего изобретения;
ФИГ. 4a-4d являются блок-схемами, схематически иллюстрирующими соответствующие альтернативные древовидные схемы, абстрактно имеющие корень в фантомном узле в варианте воплощения по ФИГ. 3 и
ФИГ. 5 является блок-схемой, схематически иллюстрирующей пример деревьев и путей в домене PLSB.
Следует заметить, что одинаковые признаки обозначены одинаковыми ссылочными позициями на всех прилагаемых чертежах.
ПОДРОБНОЕ ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ ВОПЛОЩЕНИЯ
Настоящее изобретение предоставляет способ использования агрегации каналов связи как вид устойчивого доступа к сети PLSB. Варианты воплощения изобретения описаны ниже, исключительно в качестве примера, со ссылкой на ФИГ. 3-5.
В очень общих чертах настоящее изобретение обеспечивает возможность устойчивого соединения с сетевым доменом, посредством которого распределение трафика клиентской системой (CS) по множеству каналов связи разделенной группы агрегации каналов связи (SLAG) в противоположном направлении, является произвольным, и расширения такой устойчивости в домене сети посредством расширения параллельных соединений через домен до желаемых точек выхода из домена сети. Эти точки выхода могут быть другими Ethernet-коммутаторами (ES) или виртуализированной CS в единственном ES, который выполняет функцию от имени единственного прикрепленного клиента. В предпочтительных вариантах воплощения это выполняют предоставлением набора из двух или более одноранговых пограничных узлов в сетевом домене, причем каждый из набора одноранговых пограничных узлов включает в себя, по меньшей мере, один локальный порт группы агрегации каналов связи (LAG), являющийся хостом для соответствующего канала связи LAG, соединенного с CS; и, по меньшей мере, один порт, являющийся хостом для межузлового транкового канала, соединяющего узел с каждым другим из набора одноранговых пограничных узлов. Вычисляют путь через сетевой домен от каждого однорангового пограничного узла, по меньшей мере, к одному предварительно определенному адресу назначения, для переноса трафика на CS и с нее. Затем управляют одноранговым пограничным узлом таким образом, что входящий трафик, принятый с CS, пересылается через путь, по меньшей мере, к одному предварительно определенному адресу назначения; тогда как исходящий трафик, предназначенный для CS, пересылается на CS через локальный LAG-порт, если какой-либо локальный LAG-порт является рабочим, и, в противном случае, через межузловой транковый канал к другому из набора одноранговых пограничных узлов.
ФИГ. 3 схематически иллюстрирует сеть, в которой данный способ реализован в домене сети, поддерживающей технологию Межсетевого Сопряжения по протоколу маршрутизации по Состоянию Канала связи Поставщика (PLSB).
Вариант воплощения по ФИГ. 3 топологически подобен разделенной группе агрегации каналов связи (SLAG), описанной выше со ссылкой на ФИГ. 2, тем, что клиентская система (CS) 6 сети Ethernet соединена с двумя или более коммутационными узлами. Тем не менее, вариант воплощения по ФИГ. 3 отличается от схемы по ФИГ. 2 тем, что поддерживающие SMLT Ethernet-коммутаторы по ФИГ. 2 заменены пограничными узлами 18, называемыми в настоящей заявке пограничными мостами опорной сети (BEB) домена 20, поддерживающего технологию Межсетевого Сопряжения по протоколу маршрутизации по Состоянию Канала связи Поставщика (PLSB). BEB 18 соединены между собой межузловым транковым каналом (INT) 22, который может быть традиционным одноадресным или многоадресным соединением в домене 20 PLSB, чтобы обеспечить возможность координации между BEB 18, что более подробно описано ниже. Таким образом, межузловой транковый канал (INT) 22 аналогичен межкоммутационному транковому каналу (IST) 16, описанному выше со ссылкой на ФИГ. 2.
Как отмечено выше, желательно, чтобы CS 6 должна была способна выполнять традиционные функции МАС-клиента и агрегатора, определенные в IEEE 802.3-2005 (Раздел 43). Это можно выполнить, не затрагивая традиционные функциональные возможности PLSB BEB 18, посредством распределения функциональных возможностей МАС-клиента традиционного многоканального транкинга между вовлеченными BEB 18. Существует три типа функций, которые должны быть распределены, а именно: функции агрегатора LAG; объявление CS 6 для реализации путей (и/или деревьев), требуемых для пересылки трафика на CS 6 или с нее и функция пересылки служебного пакета BEB. Каждая из этих функций подробно описана ниже.
РАСПРЕДЕЛЕНИЕ ФУНКЦИЙ АГРЕГАТОРА LAG
Распределение функций агрегатора LAG может быть реализовано с использованием способов, известных, например, из разделенного многоканального транкинга (SMLT). Таким образом, на разделенном конце 14 разделенной группы 12 агрегации каналов связи (SLAG) каждый одноранговый BEB 18 снабжается соответствующим экземпляром 24 агрегатора, который включает в себя все три компоненты (т.е. контроллер, распределитель и коллектор).
Как и при разделенном многоканальном транкинге (SMLT), соответствующие экземпляры контроллера, предоставленные на каждом одноранговом BEB 18, взаимодействуют для управления состоянием SLAG 12 и предоставляют эту информацию о состоянии для экземпляров распределителя на каждом BEB 18. Таким образом, например, можно считать, что каждый BEB 18 имеет три набора портов, связанных с SLAG 12, а именно один или более локальных LAG-портов, соединенных с CS 16; один или более портов INT для обмена сообщениями с одноранговыми BEB 18 и один или более портов PLSB для пересылки трафика через путь (или дерево) 26 к адресу(ам) 28 назначения в домене 20 PLSB. В случае расширенной LAG, охватывающей домен 20 PLSB, путь (или дерево) 26 будет расширяться до одного или более BEB, являющихся хостами для CS назначения (не показана) методом, по сути, зеркально отражающим проиллюстрированный на ФИГ. 3. Экземпляр контроллера в каждом распределенном агрегаторе 24 управляет состоянием каждого из его локальных LAG-портов и вещает информацию о состоянии на экземпляры распределителя в каждом одноранговом BEB 18 посредством соответствующих управляющих сигналов через INT 22.
При нормальной работе экземпляр распределителя в каждом BEB будет распределять кадры, предназначенные для CS, только по своим локальным LAG-портам. Тем не менее, если эти локальные порты не работают, и, по меньшей мере, один LAG-порт на одноранговом BEB работает, экземпляр распределителя может пересылать кадры через INT 22 на его одноранговый распределитель.
Экземпляр коллектора только передает кадры с локальных портов LAG на его МАС-клиент, как при традиционных способах MLT и SMLT.
В традиционной LAG 2 пересылка пакета служебного уровня выполняется МАС-клиентом, связанным с каждым агрегатором 4. В варианте воплощения по ФИГ. 3 функции агрегатора распределены между одноранговыми BEB посредством соответствующих экземпляров 24 агрегатора, установленных в каждый BEB, как описано выше. В таких случаях также эффективно распределение функций МАС-клиента между BEB 18 c использованием соответствующих экземпляров 30 МАС-клиента.
Для простоты описания удобно называть одноранговые BEB 18, поддерживающие разделенный конец 14 SLAG 12, “Разделенными BEB” (S/BEB). Этот термин будет использоваться в последующем описании.
ОБЪЯВЛЕНИЕ КЛИЕНТСКОЙ СИСТЕМЫ ДЛЯ ДОМЕНА PLSB
В общем, существуют две методики, которые могут быть использованы для объявления клиентской системы 6 для домена 20 PLSB для вычисления пути (или дерева) 26 через домен 20 PLSB с каждого S/BEB 18 до любого адреса назначения. Первая методика, описанная ниже, предназначена для представления агрегации S/BEB 18 в виде фантомного узла (PN) 32, абстрактно расположенного на INT 22 в одном скачке от каждого из S/BEB 18. Вторая описанная методика предназначена для управления каждым из одноранговых S/BEB 18 для независимого вычисления набора из одного или более путей/деревьев 26 для SLAG 12 и затем выбора пути/дерева из вычисленного набора путей/деревьев для максимизации разнообразия между путями/деревьями, выбранными всеми одноранговыми S/BEB 18.
Как известно на данном уровне техники, традиционные методики PLSB вычисления пути могут дать более одного равноценного пути или дерева между адресом отправителя и любым заданным адресом(ами) назначения. С помощью методики разрыва связей, известной, например, из заявки на патент США № 11/964,478, поданной 26 декабря 2007, устройство выбора направления передачи пакетов на стандартном BEB выбрало бы при нормальных условиях один из этих путей или деревьев таким образом, чтобы трафик инкапсулировался и пересылался бы через домен 20 PLSB посредством выбранного пути или дерева. Для удобства обращения, в сценарии, при котором имеют место два равноценных пути/дерева, эти два пути/дерева могут быть названы “высоким” путем/деревом и “низким” путем/деревом. В сценарии, при котором имеют место более двух равноценных путей/деревьев, могут быть использованы различные системы ранжирования, но основной принцип остается тем же.
ОБЪЯВЛЕНИЕ КЛИЕНТСКОЙ СИСТЕМЫ ДЛЯ ДОМЕНА PLSB C ИСПОЛЬЗОВАНИЕМ ФАНТОМНОГО УЗЛА
В контексте настоящего изобретения необходимо объявлять МАС-адрес опорной сети (В-МАС) фантомного узла (PN) 32 как адреса назначения и отправки (B-DA, B-SA) одноадресных путей и многоадресных деревьев, которые передают абонентский трафик на CS 6 или с нее.
В соответствии с описанием LAG в IEEE 802.3 (2005), раздел 43, агрегатор имеет свой собственный МАС-адрес, и этот адрес становится МАС-адресом МАС-клиента, который использует агрегатор. Хотя система, поддерживающая несколько агрегаций каналов связи, может иметь различные МАС-адреса для каждой агрегации, не существует никаких запретов против использования одного МАС-адреса для всех агрегированных каналов связи в системе. Таким образом, например, соответствующие экземпляры 24 агрегатора на каждом из S/BEB 18 могут все иметь одинаковый МАС-адрес, если это желательно. В некоторых вариантах воплощения этот общий МАС-адрес может быть использован в качестве адреса B-MAC (т.е. адреса в домене 20 PLSB) фантомного узла 32.
Как известно из уровня техники, пакеты состояния канала связи (LSP) вмещают в себя как порядковый номер, так и поле возраста. Каждый S/BEB 18 должен переслать LSP фантомного узла, которые появляются таким образом, как если бы они прибыли на его порт INT 22 с фантомного узла 32. Так как PN 32 в действительности не существует, одним из способов выполнить это является назначение одного из S/BEB 18 в качестве S/BEB 18, отвечающего за генерацию любого данного LSP от имени PN 32 (и, следовательно, установку порядкового номера и полей возраста), тогда как остальные S/BEB(s) только пересылают его. Назначенный S/BEB 18 может быть выбран во время подготовки к работе S/BEB 18 или в любой другой подходящий момент времени. Выбор того, какой из S/BEB 18 следует назначить в качестве S/BEB 18, отвечающего за генерацию любого данного LSP от имени PN 32, может быть основан на любом подходящем критерии. Например, в некоторых вариантах воплощения S/BEB 18, имеющий наименьший адрес, может быть выбран в качестве назначенного S/BEB.
Традиционные IS-IS LSP, генерируемые BEB, вмещают в себя соответствующие I-SID для любого/всех МАС-клиентов, для которых хостом является BEB. Следовательно, LSP, генерируемые назначенным S/BEB от имени PN 32, предпочтительно включают в себя соответствующие I-SID, присвоенные каждому из экземпляров 30 МАС-клиента на S/BEB 18.
Основываясь на своих собственных LSP и LSP, примкнувших к ним, S/BEB 18 должны вычислить наикратчайшие пути и деревья, которые абстрактно имеют корень в PN 32, и расширить до всех остальных объявленных BEB в домене 20 PLSB. В одном варианте воплощения PLSB из всех возможных наикратчайших путей от каждого узла выбирают для использования два: путь, который оценен как наивысший в процедуре разрыва связей, и путь, который оценен как самый низкий. Хотя одноадресные пути не зависят от I-SID, пара многоадресных деревьев (“высокое” дерево и “низкое” дерево) должны генерироваться для каждого I-SID, который поддерживает фантомный узел 32. В случаях, когда каждый BEB назначения поддерживает каждый I-SID, будет только одна пара различных деревьев. В противном случае, будут генерироваться две или более пары деревьев, которые будут отличаться друг от друга отсеченными каналами связи для листовых BEB, которые не поддерживают никакой конкретный I-SID. Также заметим, что S/BEB 18 должны объявлять I-SID(s) и вычислять пути для своих собственных МАС-адресов опорной сети, только если имеют место клиентские системы, индивидуально прикрепленные к одному, но не другому члену пары S/BEB 18; т.е., если имеет место смесь из клиентских систем, подключенных ко множеству сетей и к одной сети, на одном и том же BEB.
Для удобства, S/BEB 18 могут быть ранжированы способом, известным из вышеупомянутых алгоритмов разрыва связей. Таким образом, например, S/BEB 18, имеющий наивысший Идентификатор, может быть назначен “высоким” S/BEB 18Н, а S/BEB 18 с более низким Идентификатором - “низким” S/BEB 18L. При использовании этой номенклатуры существуют четыре возможных схемы для верхнего уровня двух деревьев, абстрактно имеющих корень в фантомном узле 32 (см. ФИГ. 4a-d):
1) существует единственный канал 34 связи из корня (фантомного узла 32) для каждого дерева, и первый канал связи каждого дерева идет к разным S/BEB 18 из двух S/BEB 18 (ФИГ. 4а);
2) существует единственный канал 34 связи из корня 32 для каждого дерева, и первый канал связи каждого дерева идет к одному S/BEB 18 (низкому S/BEB 18L на ФИГ. 4b);
3) существует единственный канал 34 из корня для одного дерева, тогда как другое дерево делится в корне 32 (ФИГ. 4с); и
4) оба дерева разделяются в корне 32 (ФИГ. 4d).
В тщательно построенных сетях можно обеспечить, чтобы все “высокие” деревья (пунктирные линии на ФИГ. 4a-d) имели один S/BEB 18 в качестве своего узла второго уровня, и все “низкие” деревья (сплошные линии на ФИГ. 4a-d) - другой S/BEB 18, но такие сети могут быть исключением. Обычно для деревьев, номинально имеющих корень в фантомном узле 32, как правило, будет иметь место разделение деревьев; наикратчайший путь к некоторым адресам 28 назначения будет проходить через один S/BEB 18, а наикратчайший путь к другим адресам 28 назначения будет проходить через другой S/BEB 18 (ФИГ. 4c и 4d).
Для схем по ФИГ. 4b, 4c и 4d записи PLSB о пересылке и алгоритм Проверки Пересылки по Обратному Пути (RPFC) должны быть установлены таким образом, что входящие абонентские пакеты, принятые с CS 6 на одном S/BEB 18, могут пересылаться через INT 22 на другой S/BEB 18, который может затем переслать пакет, как если бы он был принят с фантомного узла 32. Управляя каждым S/BEB 18, чтобы объявлять о том, что фантомный узел 32 находится на расстоянии одного скачка от него и на INT 22, протокол IS-IS автоматически установит записи о пересылке таким образом, что любые пакеты, принятые S/BEB 18 через INT 22, будут пересылаться/дублироваться по правильному пути или дереву, как если бы эти пакеты были приняты с фантомного узла 32. Эта же методика также установит записи о пересылке на фантомный узел 32 на INT 22. Конечно, любые пакеты, пересылаемые через INT 22 (абстрактно на PN 32), будут фактически проходить через INT 22 и будут приняты одноранговым S/BEB 18, где они будут обработаны, как если бы они были приняты с PN 18, как описано выше.
Дополнительные записи о пересылке должны быть установлены, чтобы обеспечивать, что входящий абонентский пакет, принятый с CS 6, должным образом пересылается S/BEB 18 либо через правильный путь/дерево на BEB 28 назначения, либо иначе (абстрактно) на фантомный узел 32. Для одноадресной пересылки желаемое поведение является следующим: когда S/BEB 18 является вторым узлом на одноадресном пути с фантомного узла 32 на BEB 28 назначения, S/BEB 18 пересылает пакет (после инкапсуляции), как если бы он прибыл с фантомного узла 32; но когда S/BEB 18 не расположен на пути к BEB 28 назначения, S/BEB 18 пересылает пакет (после инкапсуляции) через INT 22 (абстрактно на PN 32), так что он принимается одноранговым S/BEB 18, который должен, в соответствии с конструкцией, быть вторым узлом на пути к адресу 28 назначения. Для многоадресной пересылки/дублирования входящих абонентских пакетов желаемое поведение может быть изложено в контексте поддеревьев.
Дерево, которое абстрактно имеет корень на PN 32, может быть представлено в виде пары поддеревьев, корни которых находятся на каждом S/BEB 18, которые полностью делят набор одноранговых S/BEB 18 и внутренние узлы сети. С каждого S/BEB 18 одно поддерево продолжается через домен 20 PLSB к одному или более BEB 28 назначения, тогда как другое поддерево имеет маршрут через INT 22 к одноранговому S/BEB 18. Конечно, для любого заданного S/BEB 18 одно или оба из этих поддеревьев могут быть исключены (отсечены) на основе конструкции дерева, абстрактно имеющего корень на PN 32. Таким образом, если дерево, абстрактно имеющее корень на PN 32, не продолжается через заданный S/BEB 18 к BEB 28 назначения, тогда поддерево, продолжающееся через домен 20 PLSB с этого S/BEB 18, будет отсечено, как и поддерево к этому S/BEB 18 с однорангового S/BEB 18.
Например, на схеме по ФИГ. 4а, низкое дерево (сплошная линия), абстрактно имеющее корень на PN 32, проходит только через низкий S/BEB 18L. Следовательно, для низкого дерева низкий S/BEB 18L будет устанавливать состояние пересылки только для одного поддерева, которое продолжается через домен 20 PLSB к одному или более BEB 28 назначения; при этом высокий S/BEB 18Н будет устанавливать записи о пересылке только для одного поддерева, которое направляется через INT 22 к низкому S/BEB 18L. Как можно видеть, это приводит к маршрутизации всего трафика низкого дерева через низкий S/BEB 18, который следует низкому дереву по ФИГ. 4a. Напротив, в схеме по ФИГ. 4с высокое дерево (пунктирная линия), абстрактно имеющее корень на PN 32, разделяется PN 32 и проходит через оба одноранговых S/BEB 18. Следовательно, для высокого дерева оба S/BEB 18 будут устанавливать состояние пересылки для двух поддеревьев, одно из которых направлено через домен 20 PLSB к одному или более BEB 28 назначения, и другое из которых направлено через INT 22 к другому S/BEB 18.
При такой схеме входящий абонентский пакет, принятый с CS 6 на любом заданном S/BEB 18, может (после инкапсуляции, включающей в себя вставку В-МАС узла PN в качестве корня дерева) дублироваться и пересылаться через поддеревья, продолжающиеся с этого S/BEB 18, для получения желаемого многоадресного поведения.
Как отмечено ранее, традиционная обработка PLSB приводит к генерации двух наборов путей и двух наборов деревьев, исходящих со входного BEB. Путь или дерево, через который должен быть туннелирован клиентский пакет, идентифицируется отличающимися V-LAN ID опорной сети (B-VID), включенными в инкапсуляцию пакета. Вопрос затем заключается в том, какой B-VID должен присвоить S/BEB 18 входящему абонентскому пакету во время инкапсуляции. В несущих сетях, от которых ожидают поддержки многих VPN, традиционные BEB могут использовать I-SID клиентской службы в качестве ключа к распределению клиентского трафика по обоим наборам путей и деревьев. Например, пакетам с четными I-SID присваиваются B-VID для туннелирования по низким путям и деревьям, тогда как пакетам с нечетными I-SID присваиваются B-VID для туннелирования по высоким путям и деревьям. Такая же стратегия могла бы быть применена к S/BEB 18. Тем не менее, традиционная функция 4 агрегатора в клиентской системе 6 при обычных условиях будет распределять нагрузку входящего абонентского трафика между S/BEB 18, не обращаясь к I-SID. Следовательно, реализация правила, при котором B-VID присваивается на основе I-SID, как в традиционных системах, привела бы к тому, что приблизительно 50% входящего абонентского трафика отправлялось бы через INT 22. При этом количество многоадресных деревьев, которые должны были быть установлены, было бы уменьшено (приблизительно наполовину), так как заданный I-SID может быть присвоен только одному B-VID. При коммерческом использовании PLSB ожидается, что при нормальных условиях будет иметь место относительно маленькое количество деревьев, так что может быть более важно минимизировать абонентский трафик через INT 22 и максимизировать распределение нагрузки в опорной сети, а не ограничить количество деревьев.
Одной из стратегий для минимизации абонентского трафика через INT 22 является реализация правил пересылки, таких что низкий S/BEB 18L присваивает B-VID для туннелирования по низкому пути или дереву, а высокий S/BEB 18Н присваивает B-VID для туннелирования по высокому пути или дереву. Считая, что функция 4 агрегатора LAG на CS 6 дает одинаковое распределение входящего абонентского трафика по одноранговым S/BEB 18, в схеме по ФИГ. 4а через INT 22 будет проходить нулевой абонентский трафик; тогда как для схем по ФИГ. 4b и 4d половина трафика должна проходить через INT 22; и для схемы по ФИГ. 4с одна четверть трафика должна проходить через INT 22.
В примере по ФИГ. 5 высокий S/BEB 18Н имеет установленное высокое дерево (пунктирная линия), пересылающее записи таблицы для BEB 1 и 2 28а, 28b и BEB 3 и 4, 28с, 28d на соответствующие сетевые порты, и высокое дерево, пересылающее запись таблицы для BEB 5 28е на порт INT 22, так как BEB 5 28е является единственным достижимым BEB через низкий S/BEB 18L. Высокий S/BEB 18Н также устанавливает низкое дерево, пересылающее записи таблицы для BEB 1 и 2, 28а, 28b. Низкий S/BEB 18L устанавливает записи таблицы пересылки для трафика как низкого, так и высокого дерева для BEB 5 28е и записи таблицы пересылки низкого дерева для BEB 3 и 4, 28с и 28d. Следуя стратегии разделения, указанной выше, для многоадресной пересылки абонентские пакеты, принятые с CS 6 на низком S/BEB 18L, будут дублироваться только на низкое дерево. Таким образом, низкий S/BEB 18L будет (после инкапсуляции) дублировать абонентские пакеты по направлению к BEB 3, 4 и 5 28с-e, и через INT 22 на высокий S/BEB 18Н, который имеет записи пересылки низкого дерева для поддерева, по направлению к BEB 1 и 2 28а, 28b. Подобным образом, для многоадресной пересылки абонентские пакеты, принятые с CS 6 на высоком S/BEB 18Н будут дублироваться только на высокое дерево. Таким образом, высокий S/BEB 18Н (после инкапсуляции) будет дублировать абонентские пакеты по направлению BEB 1-4 28a-d и через низкий S/BEB 18L, который имеет записи пересылки высокого дерева для поддерева, только по направлению BEB 5 28e.
Доставка пакетов “по порядку”, требуемая для служб Ethernet, чаще всего испытывается, когда многоадресные пакеты проходят к адресу их назначения через каналы связи, отличные от тех, через которые проходят одноадресные пакеты к тому же адресу назначения. Вышеприведенное правило обеспечивает, что многоадресные и одноадресные пакеты, которые процесс распределения нагрузки на клиентской системе 6 считает принадлежащими одному диалогу, проходят через один и тот же путь, но ценой того, как упоминалось выше, что они имеют процесс IS-IS, устанавливающий высокие и низкие деревья для всех без исключения I-SID. Для служб пересылки пакетов, для которых многоадресные потоки полностью отличаются от одноадресных потоков, и многоадресная передача, возможно, является значительно менее преобладающей, предпочтительным подходом может быть гибридный подход, использующий только высокое или низкое дерево для многоадресных пакетов в соответствии с I-SID, но пересылающий одноадресные пакеты по пути, который соответствует S/BEB 18, на который они прибыли. Путем небольшого увеличения трафика через INT 22 данный подход может исключить половину деревьев, которые требуется установить во всех BEB.
При нормальной работе функции пересылки на других BEB узнают МАС-адрес PN 32 и инкапсулируют пакеты, предназначенные для клиентской системы 6, с адресом назначения в опорной сети (B-DA), тождественным МАС-адресу PN.
Когда одноадресный пакет с B-DA PN 32 прибывает на S/BEB 18, S/BEB 18 должен доставить его на свой локальный экземпляр 30 МАС-клиента для передачи на соответствующий экземпляр 24 агрегатора SLAG. За исключением случаев, когда все локальные каналы связи S/BEB 18 к SLAG 12 являются нерабочими, пакет, таким образом, пересылается на клиентскую систему 6 без прохождения по INT 22.
Если фантомный узел 32 является элементом набора листьев пары вещательных деревьев, имеющих корень на некотором другом BEB домена 20 PLSB, это может быть случаем, когда пакеты, дублируемые и пересылаемые через одно из этих деревьев, прибывают на оба S/BEB 18. Только один из S/BEB 18 будет находиться на наикратчайшем пути к PN 32, но другой S/BEB 18 может сам по себе быть адресом назначения (например, он поддерживает виртуальные мосты, которые принадлежат той же VPN) или является промежуточным узлом на пути к другим листьям. Многоадресные пакеты не переносят в себе МАС-адрес назначения, поэтому S/BEB 18 не может просто определить его из заголовка входящего многоадресного пакета, если он принял его, так как это был предпоследний скачок до PN 32 или так как он сам был листом дерева, или так как он является промежуточным узлом в другой ветви дерева (или, на самом деле, из-за реализации дефектов при управлении многоадресной передачей, когда пакет был перенаправлен в ожидании того, что он будет удален).
Требованием для корректной работы является то, что только один из экземпляров 30 МАС-клиента S/BEB должен обрабатывать пакет для пересылки на CS 6. Одним простым правилом было бы, что вещательные пакеты, прибывающие на высокие деревья, пересылаются только экземпляром 30 МАС-клиента высокого S/BEB 18Н, а пакеты, прибывающие через низкие деревья, пересылаются только экземпляром 30 МАС-клиента низкого S/BEB 18L. Это правило требует очень малого для реализации и избегает любой путаницы в отношении того, когда следует дублировать вещательные пакеты по направлению к CS 6, независимо от того, как организованы S/BEB 18. Тем не менее, это требует от обоих S/BEB 18 объявления I-SID PN с их собственными МАС-адресами, чтобы обеспечивать, что все высокие деревья с других BEB включают в себя высокий S/BEB 18Н (а низкие деревья - низкий S/BEB 18L) в качестве листьев.
Альтернативной стратегией для исходящей многоадресной передачи является управление пересылкой S/BEB 18 многоадресного пакета на его МАС-клиент 30, если и только если бы он переслал его на PN 32. Таким образом, когда S/BEB 18 вычисляет, на каких деревьях он является узлом и для каких соседей необходимо дублировать пакеты, ему требуется во всех случаях, когда он дублировал бы и пересылал бы пакет на PN 32, взять за правило пересылать его на МАС-клиент I-SID. При такой схеме S/BEB 18 будет только пересылать многоадресные пакеты по направлению к клиентской системе 6, если S/BEB 18 является предпоследним узлом на пути через конкретное дерево к PN 32.
Предположим для простоты, что все порты интерфейса пользователь-сеть (UNI) на S/BEB 18 являются разделенными портами (SLAG-порты) SLAG. Тогда в качестве МАС-клиента 30 на S/BEB 18 МАС-клиент видит три типа портов: SLAG-порты; PB-порты (порты в домене 20 PLSB) и порт INT 22. Заметим, что МАС-клиенты заменят информацию о МАС через INT 22 способом, аналогичным описанному в Интернет-проекте, озаглавленном “Split Multi-Link Trunking (SMLT)” http://tools.ietf.org./html/draft-lapuh-network-smlt-07.
Для одноадресных пакетов, прибывающих на SLAG-порт МАС-клиента:
- если изученный выходной порт является другим SLAG-портом, переслать пакет на локальный распределитель в соответствии с обычными правилами распределения нагрузки;
- если изученный выходной порт является PB-портом, инкапсулировать пакет, как если бы он исходил с фантомного узла (т.е. B-SA=PN B-MAC), и переслать его на S/BEB 18, соответствующие дереву (т.е. с высоким B-VID, если это высокий S/BEB 18). Если путь к BEB назначения проходит через одноранговый S/BEB 18, тогда, как описано выше, пакет автоматически будет направлен на порт INT 22.
- Если выходной порт неизвестен, вещать пакет так, как описано ниже.
Для одноадресных пакетов, прибывающих на PB-порт МАС-клиента (или с высокого, или с низкого пути):
- если изученный выходной порт является SLAG-портом, переслать деинкапсулированный пакет на функцию распределителя для SLAG-порта.
- Если выходной порт неизвестен, дублировать пакет для функции распределителя всех SLAG-портов. (Если любой порт разделенной LAG является нерабочим, переслать копию пакета через INT 22 на другой МАС-клиент, для пересылки на SLAG-порты только этого МАС-клиента).
Для одноадресных пакетов, прибывающих через INT 22 (в качестве пакетов PLSB с B-DA=PN MAC), отвергнуть пакет, так как первый S/BEB 18, для просмотра пакета из ядра, должен быть S/BEB, который должен передать его на клиентскую систему.
Для вещательных и неизвестных пакетов, прибывающих на SLAG-порт:
- вещать на все остальные SLAG-порты в соответствии с вышеописанным. Инкапсулировать, как и в случае соответствующего (низкой S/BEB 18, низкого) многоадресного дерева, исходящего из фантомного узла, и переслать на установленное дерево. Как описано выше, это автоматически будет включать в себя пересылку по транковому каналу IST, если любая часть дерева проходит через другой S/BEB.
Для вещательных пакетов, прибывающих с PB-порта:
- дублировать пакеты на все SLAG-порты (S/BEB 18 перешлет пакет на локальный экземпляр МАС-клиента, только если бы имела место запись о пересылке для PN, т.е. S/BEB 18 является предпоследним узлом на пути с исходного BEB к PN). Дублировать пакет на любые другие PB-порты (включая порт INT 22), если S/BEB 18 имеет любые записи “дублировать и переслать” для дерева, для порта.
S/BEB 18 никогда не должен пересылать многоадресные пакеты, прибывающие через INT 22, на свой локальный экземпляр МАС-клиента.
ОБЪЯВЛЕНИЕ КЛИЕНТСКОЙ СИСТЕМЫ ДЛЯ ДОМЕНА PLSB БЕЗ ФАНТОМНОГО УЗЛА
В вышеприведенном описании канал связи LAG клиентской системы представлен в домене 20 PLSB, будучи прикрепленным к фантомному узлу (PN) 32, который абстрактно расположен в INT 22, в одном скачке от каждого S/BEB 18. Каждый S/BEB 18 пересылает объявления от имени PN, так что одноадресные пути и многоадресные деревья могут быть построены к узлам назначения в домене 20 PLSB, “как если бы” PN 32 был физическим узлом в домене 20 PLSB. Соответствующие правила пересылки трафика в таком случае реализуются в каждом S/BEB 18 для обеспечения пересылки желаемого пакета на прикрепленную клиентскую систему или с нее. ФИГ. 6 иллюстрирует альтернативный вариант воплощения, в котором не используют фантомный узел. Вариант воплощения по ФИГ. 6 использует возможности технологии PLSB для объявления так называемых МАС-адресов “порта” вместе с адресами узлов и соответствующими I-SID для инициации вычисления путей через сеть 20 PLSB с каждого S/BEB 18 на другой S/BEB 18 для переноса трафика на CS 6 и с нее. Когда МАС-адрес порта объявляется узлом в LSP, пути, исходящие из этого MAC-адреса порта (т.е. пути, по которым следуют пакеты, B-SA которых тождественен МАС-адресу порта), изоморфны путям, установленным из узла. Деревья также являются изоморфными, подвергаясь отсечению по I-SID, упомянутому выше.
В варианте воплощения по ФИГ. 6 каждый S/BEB 18 является хостом для распределенного экземпляра 30 МАС-клиента и экземпляров 24 агрегатора, аналогично вышеописанному. В данном случае, тем не менее, непосредственно объявляется присвоенный SLAG-порту B-МАС адрес, в качестве МАС-адреса порта, каждым S/BEB 18. Объявление одного МАС-адреса порта, принятого на нескольких узлах, при обычных условиях вызвало бы непредсказуемое поведение пересылки пакетов через сеть PLSB. В варианте воплощения по ФИГ. 6 S/BEB 18 следуют процедуре, чтобы обеспечивать, что только один S/BEB 18 объявляет МАС-адрес SLAG-порта для каждого различного V-LAN ID (B-VID) в опорной сети при работе в сети PLSB.
Как описано выше, традиционные методики PLSB вычисления пути могут дать более одного равноценного пути или дерева между исходным адресом и любым заданным адресом(ми) назначения. Могут быть выбраны два или более таких пути к каждому адресу назначения и соответствующие деревья, в соответствии с вышеупомянутыми технологиями разрыва связей для установки в таблицах пересылки промежуточных коммутаторов. Каждый набор путей отличается отдельным BVID. В традиционных BEB, как описано ранее, существуют различные варианты для выбора того, какой BVID и, следовательно, какой путь следует использовать для пересылки трафика. Тем не менее, традиционные процедуры выбора BVID работают независимо в каждом BEB, тогда как для обеспечения того, что каждый BVID выбран для использования только одним членом набора S/BEB 18, процедура присваивания BVID должна быть скоординирована среди набора S/BEB 18. Например, признак групп агрегации каналов связи является физическим разнесением каждого канала 8 связи в пределах группы агрегации, и желательно сохранить это разнесение в расширенной LAG, проходящей через домен 20 PLSB. Это предполагает желательность механизма выбора BVID, который работает для минимизации любого перекрытия между соответствующими путями, выбранными каждым из S/BEB 18.
Одним из способов выполнения этого является ранжирование путей, продолжающихся от каждого S/BEB 18, и затем принуждение каждого S/BEB 18 выбрать путь на основе этого ранжирования. Например, рассмотрим сценарий, при котором имеют места два S/BEB 18, которые идентифицированы как “высокий” S/BEB 18Н и “низкий” S/BEB 18L, и при котором каждый S/BEB 18 является хостом для пары равноценных путей (идентифицированных аналогичным образом как путь с “высоким” BVID и путь с “низким” BVID). При таком сценарии механизм присваивания BVID может работать таким образом, чтобы заставлять низкий S/BEB 18L объявлять МАС-адрес SLAG-порта с “низким” BVID, и высокий S/BEB 18 объявлять МАС-адрес SLAG-порта с “высоким” BVID. Разумеется, могут быть также использованы другие механизмы уникального присваивания BVID индивидуальным S/BEB 18, без отклонения от объема настоящего изобретения.
Может быть понятно, что данная схема обеспечивает возможность построения соответствующего одноадресного пути (или многоадресного дерева) для каждого канала связи из SLAG, тем самым эффективно расширяя SLAG в домене 20 PLSB. Пересылка трафика в варианте воплощения по ФИГ. 6 является сравнительно простой в том, что входящий трафик, принятый S/BEB 18 через его локальный LAG-порт, инкапсулируется с B-VID, присвоенным этому конкретному S/BEB 18, для CS, и пересылается через домен 20 PLSB. Исходящий трафик, принятый S/BEB 18 через домен 20 PLSB и предназначенный для CS 6, пересылается на локальный LAG-порт S/BEB, предоставленный таким образом, что его BVID соответствует BVID, присвоенному S/BEB 18. Заметим, что весь одноадресный трафик с B-DA SLAG 12 будет при нормальной работе всегда прибывать на S/BEB 18, который объявил B-VID. Как отмечено ранее, многоадресный трафик не несет адрес назначения, и существуют топологии сетей, в которых многоадресные пакеты, снабженные другими BVID, могут прибывать на S/BEB 18 для пересылки на другие узлы. Под действием вышеуказанного правила S/BEB 18 не будет пересылать такие многоадресные пакеты на CS 6. Только одна копия многоадресного пакета будет пересылаться на CS 6, которая прибывает на S/BEB 18 с присваиванием, соответствующим BVID пакетов. При такой схеме минимизируется пересылка трафика через INT 22. (В случае, когда ни один из локальных LAG-портов не является рабочим, исходящий трафик, предназначенный для CS 6, пересылается через INT 22 на S/BEB 18, который пересылает его на CS 6 через свой локальный LAG-порт, как описано ранее).
Когда CS 6 виртуализируется в S/BEB 18 - посреднике, она интерпретирует B-VID, как если бы они были LAG, в том, что она будет рандомизировать клиентский трафик между двумя из них, используя методику распределения нагрузки. Они будут использовать “совместные знания” (вместо изучения функции синхронизации, выполняемой IST), в том, что привязки C-MAC к B-MAC, изученные в одном B-VID, будут просто применяться к другому B-VID, так что избегается сценарий патологического “не изучено”.
В вышеописанных вариантах воплощения настоящее изобретение описано со ссылкой на соответствующий вариант воплощения, в котором клиентская система 6 прикреплена к домену 20 PLSB через пару одноранговых S/BEB 18. В данном варианте воплощения INT 22 рассматривается, как одноадресное соединение между вовлеченными узлами. Тем не менее, следует понимать, что настоящее изобретение не ограничено такими вариантами воплощения. Точнее, описанные методики могут быть легко применены к схемам прикрепления, вовлекающим более двух одноранговых S/BEB 18 и большее количество BVID, если требуется. В таком случае, INT 22 был бы определен как вещательный канал связи, и назначение высоких и низких S/BEB путей и деревьев было бы расширено для вмещения увеличенного количества S/BEB. Такие модификации должны рассматриваться как попадающие в компетенции специалистов в данной области техники и в объем настоящего изобретения.
Вариант(ы) воплощения изобретения, описанный(е) выше, предназначены только для примера. Следовательно, подразумевается, что объем изобретения ограничен исключительно объемом прилагаемой формулы изобретения.