СИНХРОНИЗАЦИЯ LDP И IGP ДЛЯ ШИРОКОВЕЩАТЕЛЬНЫХ СЕТЕЙ
LDP AND IGP SYNCHRONISATION FOR BROADCAST NETWORKS

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
[0001] По данной заявке испрашивается приоритет Предварительной Заявки США 61/157501, поданной 04 марта 2009 г., которая включена в настоящее описание посредством ссылки.
УРОВЕНЬ ТЕХНИКИ
Область техники, к которой относится изобретение
[0002] Варианты осуществления изобретения относятся к области организации сетей и, более конкретно, к синхронизации LDP (Протокола Распределения Меток) и IGP (Протокола Внутренних Шлюзов) для широковещательных сетей.
Уровень техники
[0003] LDP (описанный в «Спецификации LDP», RFC 5036, октябрь, 2007 г.), который используется для создания LSP (путей с коммутацией по меткам) до пунктов назначения, как правило, основан на IGP (например, протоколе Первоочередного Открытия Кратчайших Путей (OSPF) (определенном в «OSPF Версии 2», STD 54, RFC 2328, Апрель, 1998 г.), протоколе обмена Промежуточная система - Промежуточная система (IS-IS) (определенном в «Intermediate system to intermediate system intra-domain-routing routine information exchange protocol for use in conjunction with the protocol for providing the connectionless-mode Network Service (ISO 8473)» ISO стандарт 10589, 1992 г.) и т.д.) для обеспечения основной информации маршрутизации (например, метрики затрат между перескоками в сети). Даже несмотря на то что LDP, как правило, основан на протоколе IGP, они являются независимыми друг от друга. IGP может быть в рабочем состоянии по линии связи до того, как по этой линии связи станет рабочим LDP, что может привести к потере пакета.
[0004] Приглашение к обсуждению (RFC) 5443, «LDP IGP Synchronization”, март, 2009 г. (здесь и далее «Синхронизация LDP и IGP») описывает механизм по воспрепятствованию использованию линий связи для пересылки IP, если IDP не является полностью рабочим по данной линии связи. RFC 5443 описывает, что когда LDP не является полностью рабочим по заданной линии связи (например, еще не был произведен обмен всеми привязками меток), IGP будет объявлять линию связи с максимальными затратами, чтобы воспрепятствовать отправке трафика по линии связи. Когда LDP станет рабочим по линии связи (например, произойдет обмен всеми привязками меток), IGP объявляет линию связи с правильными затратами.
[0005] По широковещательным линиям связи (при наличии более одного однорангового узла LDP/IGP на той же самой линии), вместо отдельных затрат для каждого однорангового узла, IGP объявляет общие затраты для широковещательной линии связи. В сети может быть реализован широковещательный псевдоузел для сокращения количества линий связи базы данных первоочередности кратчайших путей (SPF) (например, первоочередного открытия кратчайших путей (OSPF), ограниченной первоочередности кратчайших путей (CSPF)) каждого сетевого элемента. Каждый сетевой элемент формирует смежность с широковещательным псевдоузлом и объявляет линию связи и затраты широковещательному псевдоузлу, а широковещательный псевдоузел объявляет линию связи и затраты каждому сетевому элементу.
[0006] Применительно к широковещательным линиям связи, RFC 5443 «Синхронизация LDP и IGP» описывает, что механизм может быть применен к линии связи как к целому, а не к отдельному одноранговому узлу. Объявление максимальных затрат для линии связи как к целому может вызвать неоптимальное отклонение трафика и/или игнорирование трафика (например, трафика VPN).
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0007] Изобретение может быть наилучшим образом понятно посредством обращения к нижеследующему описанию и сопроводительным чертежам, которые используются для иллюстрации вариантов осуществления изобретения. На чертежах:
[0008] Фигура 1 иллюстрирует примерную широковещательную сеть в соответствии с одним вариантом осуществления изобретения;
[0009] Фигура 2 является структурной схемой примерного сетевого элемента, сконфигурированного для синхронизации LDP-IGP для широковещательных сетей в соответствии с одним вариантом осуществления изобретения;
[0010] Фигура 3 является блок-схемой, иллюстрирующей примерные операции по синхронизации LDP-IGP для широковещательных сетей в соответствии с одним вариантом осуществления изобретения;
[0011] Фигура 4 является блок-схемой, иллюстрирующей примерные операции, когда синхронизация LDP-IGP завершена в соответствии с одним вариантом осуществления изобретения;
[0012] Фигура 5A иллюстрирует примерную локальную структуру интерфейса IGP в соответствии с одним вариантом осуществления изобретения;
[0013] Фигура 5B иллюстрирует примерную базу данных состояний линий связи в соответствии с одним вариантом осуществления изобретения;
[0014] Фигура 6 является блок-схемой, иллюстрирующей примерные операции, когда сетевой элемент готов обновить свое объявление состояний линии связи при помощи интерфейса до широковещательной сети в соответствии с одним вариантом осуществления изобретения; и
[0015] Фигура 7 иллюстрирует примерный сетевой элемент, используемый в некоторых вариантах осуществления изобретения.
ПОДРОБНОЕ ОПИСАНИЕ
[0016] В нижеследующем описании изложены многочисленные конкретные подробности. Тем не менее должно быть понятно, что варианты осуществления изобретения могут быть воплощены на практике без этих конкретных подробностей. В других случаях общеизвестные схемы, структуры и методики не были показаны подробно, для того чтобы не отвлекать от понимания данного описания. Специалист в данной области при помощи включенных описаний будет способен реализовать соответствующие функциональные возможности без необходимости в чрезмерном экспериментировании.
[0017] Ссылки в спецификации на «один вариант осуществления», «вариант осуществления», «примерный вариант осуществления» и т.д. указывают на то, что данный описанный вариант осуществления включает в себя конкретный признак, структуру или характеристику, но каждый вариант осуществления не обязательно включает в себя конкретный признак, структуру или характеристику. Более того, такие фразы не обязательно относятся к одному и тому же варианту осуществления. Дополнительно, когда конкретный признак, структура или характеристика описывается в связи с вариантом осуществления, утверждается, что в рамках знаний специалиста в данной области находится осуществление такого признака, структуры или характеристики в связи с другими вариантами осуществления независимо от того, были или нет они описаны явно.
[0018] В нижеследующем описании и формуле изобретения могут использоваться понятия «связаны» и «соединены» наряду с их производными. Должно быть понятно, что понятия не являются синонимами друг друга. «Связаны» используется для указания того, что два или более элемента, которые могут быть, а могут и не быть в непосредственном физическом или электрическом контакте друг с другом, работают совместно или взаимодействуют друг с другом. «Соединены» используется для указания создания связи между двумя или более элементами, которые связаны друг с другом.
[0019] Методики, показанные на фигурах, могут быть реализованы, используя код и данные, хранящиеся и исполняемые на одном или более электронных устройствах (например, сетевом элементе и т.д.). Такие электронные устройства хранят и осуществляют передачу (внутреннюю и/или с другими электронными устройствами по сети) кода и данных, используя машиночитаемый носитель информации, такой как машиночитаемый носитель данных (например, магнитные диски; оптические диски; запоминающее устройство с произвольной выборкой; постоянное запоминающее устройство; устройства флэш-памяти; память с изменением фазы) и машиночитаемые среды связи (например, электрические, оптические, акустические или другого вида распространяемые сигналы - такие как несущие волны, инфракрасные сигналы, цифровые сигналы и т.д.). В дополнение, такое электронное устройство, как правило, включает в себя группу из одного или более процессоров, связанных с одним или более прочими компонентами, такими как устройство хранения, одним или более устройствами ввода/вывода (например, клавиатурой, сенсорным экраном и/или дисплеем) и сетевое соединение. Связывание группы процессоров и прочих компонентов, как правило, осуществляется посредством одной или более шин и мостов (также именуемых как контроллеры шин). Устройство хранения и сигналы, несущие в себе сетевой трафик, соответственно, представляют собой один или более машиночитаемый носитель данных и машиночитаемую среду связи. Таким образом, устройство хранения заданного электронного устройства, как правило, хранит код и/или данные для исполнения группой из одного или более процессоров данного электронного устройства. Конечно, одна или более части варианта осуществления изобретения могут быть реализованы, используя разные сочетания программного, встроенного программного и/или аппаратного обеспечения.
[0020] Используемый здесь «сетевой элемент» (например, маршрутизатор, коммутатор, мост и т.д.) является частью оборудования для организации сети, включающей в себя аппаратное и программное обеспечение, которое соединяет с возможностью связи прочее оборудование в сети (например, прочие сетевые элементы, компьютерные конечные станции и т.д.). Некоторые сетевые элементы являются «сетевыми элементами с множеством услуг», которые обеспечивают поддержку множества функций организации сети (например, маршрутизацию, соединение по мостовой схеме, коммутацию, агрегирование уровня 2 и/или управление абонентами) и/или обеспечивают поддержку множества прикладных услуг (например, передачи данных, голоса и видео).
[0021] В рамках определенных сетевых элементов может быть сконфигурировано множество «интерфейсов». Используемый здесь «интерфейс» является соединением между сетевым элементом и одной из его прикрепленных сетей. Интерфейс обладает информацией связанной с ним, которая, как правило, получается из основных протоколов низкого уровня и протокола маршрутизации (например, IP адреса и маски). Интерфейс иногда именуется линией связи. Широковещательный интерфейс является интерфейсом, который соединяется с широковещательной сетью.
[0022] Описывается способ и устройство для синхронизации LDP-IGP для широковещательных сетей. В одном варианте осуществления изобретения, когда создается линия связи с широковещательной сетью, сетевой элемент, чья линия связи создается, должен отложить объявление линии связи для широковещательной сети до тех пор, пока LDP не станет рабочим для всех соседей по данной широковещательной линии связи (всеми широковещательными соседями). Например, данный сетевой элемент определяет, является ли данная линия связи единственным путем до широковещательной сети. Если данная линия связи является единственным путем до широковещательной сети, то интерфейс соответствующий данной линии связи помечается как оконечный интерфейс. Когда сетевой элемент готов обновить свое объявление состояний линии связи (LSA) при помощи линии связи до широковещательной сети, он отложит добавление данной линии связи в свое LSA, если соответствующий интерфейс не является оконечным интерфейсом и LDP не является рабочим для всех соседей по данному интерфейсу. После того как LDP становится рабочим для всех соседей по данному интерфейсу (например, LDP становится синхронизированным с IGP), линия связи будет добавлена в LSA и оно будет передано широковещательной сети.
[0023] Используемые здесь понятия «объявления состояний линии связи» и «LSA» являются независимыми от протокола. Например, если протокол IGP является протоколом Первоочередного Открытия Кратчайших Путей (OSPF), то объявление состояний линии связи может быть LSA Маршрутизатора (Router-LSA). Если протокол IGP является протоколом обмена Промежуточная система - Промежуточная система (IS-IS), тогда объявление состояний линии связи может быть PDU Состояний Линии Связи.
[0024] В одном варианте осуществления, если протокол IGP является протоколом Первоочередного Открытия Кратчайших Путей (OSPF), то LSA Маршрутизатора не обновляется при помощи Линии Связи Типа 2 (линии связи с транзитной сетью) для подсети до тех пор, пока LDP не станет рабочим для всех сетевых элементов в данной подсети.
[0025] В одном варианте осуществления, если протокол IGP является протоколом обмена промежуточная система - промежуточная система (IS-IS), то PDU Состояний Линии Связи не обновляется при помощи TLV, Достижимого для IS (или Расширенного TLV, Достижимого для IS), до широковещательной сети до тех пор, пока LDP не станет рабочим для всех сетевых элементов.
[0026] Фигура 1 иллюстрирует примерную широковещательную сеть в соответствии с одним вариантом осуществления изобретения. Сеть 100 включает в себя сетевые элементы 105, 110, 130, 140, 145, 150, 155, 160, 165 и 170, и широковещательный псевдоузел 120. Каждый из сетевых элементов 110, 130, 140, 145 и 150 непосредственно связан с широковещательным псевдоузлом 120. Должно быть понятно, что топология сети 100 является примерной, и в вариантах осуществления изобретения могут использоваться прочие топологии. Например, в некоторых вариантах осуществления широковещательный псевдоузел не используется.
[0027] В одном варианте осуществления, сетевые элементы 105, 160, 165 и 170 являются сетевыми элементами стороны поставщика, и сеть 100 является сетью с Многопротокольной Коммутацией по Меткам (MPLS) с приложениями Виртуальной Частной Сети (VPN). В качестве одного примера сетевой элемент 105 может иметь путь LSP по LDP к сетевым элементам 160, 155, 170 и/или 165. Должно быть понятно, что в сети 100 могут быть созданы прочие пути LSP по LDP.
[0028] Каждый из сетевых элементов 110, 130, 140, 145 и 150 объявляет свои соответствующие затраты на интерфейс широковещательному псевдоузлу 120. В целях объяснения, сетевой элемент 110 будет объявлять затраты, равные 1, на широковещательный интерфейс 114, сетевой элемент 130 будет объявлять затраты, равные 1, на широковещательный интерфейс 132, сетевой элемент 140 будет объявлять затраты, равные 1, на широковещательный интерфейс 142, сетевой элемент 145 будет объявлять затраты, равные 1, на широковещательный интерфейс 146, и сетевой элемент 150 будет объявлять затраты, равные 1, на широковещательный интерфейс 152. В дополнение, в качестве примера, каждая прочая линия связи в сети 100 имеет затраты, равные 1, за исключением линии связи между сетевым элементом 110 и сетевым элементом 165, которая обладает затратами, равными 10. Широковещательный псевдоузел 120 также объявляет свои интерфейсы своим соседям (например, посредством интерфейсов 122, 124, 126 и 127) с затратами, равными нулю. Должно быть понятно, что интерфейсы, проиллюстрированные на Фигуре 1, являются примерными, и прочие интерфейсы не проиллюстрированы, чтобы не усложнять понимание изобретения.
[0029] При одном толковании RFC 5443 «Синхронизация LDP и IGP» при применении к широковещательным сетям, когда в широковещательной сети обнаруживается новый сетевой элемент, все сетевые элементы с непосредственными линиями связи с широковещательной сетью объявляют широковещательной сети максимальные затраты. Например, со ссылкой на Фигуру 1, если широковещательный интерфейс 132 сетевого элемента 130 становится рабочим (например, сетевой элемент 130 был добавлен в сеть, тем временем как каждый из сетевых элементов 110, 140,145 и 150 уже соединены с широковещательным псевдоузлом 120) и обнаруживается сетевыми элементами 110, 140, 145, 150, то эти сетевые элементы каждый начинает объявление максимальных затрат до широковещательной сети (сетевые элементы 110, 130, 140, 145 и 150 объявляют максимальные затраты по широковещательным интерфейсам 114, 132, 142, 146 и 152, соответственно). Так как максимальные затраты больше затрат, равных 10, то трафик между сетевым элементом 105 и сетевым элементом 165 будет отклоняться к неоптимальному пути от сетевого элемента 105 к сетевому элементу 110 к сетевому элементу 165 (вместо оптимального пути от сетевого элемента 105 к сетевому элементу 110 к сетевому элементу 150 к сетевому элементу 165). Таким образом, используя толкование RFC «Синхронизация LDP и IGP», при котором каждый сетевой элемент должен объявлять максимальные затраты до широковещательной сети, может привести к неоптимальному отклонению трафика.
[0030] В дополнение, как результат применения механизма, описанного в RFC 5443 «Синхронизация LDP и IGP» для широковещательных сетей, трафик может игнорироваться (последовательно сбрасываясь) сетевым элементом из-за того, что каждый широковещательный сетевой элемент объявляет максимальные затраты. Например, используя топологию сети на Фигуре 1 и точно такие же затраты линий связи, как и в предыдущем примере, сетевой элемент 105 передает трафик VPN к сетевому элементу 160 до того, как интерфейс 132 становится рабочим на сетевом элементе 130, и LSP по LDP, несущий в себе данный трафик VPN, будет иметь следующий путь: от сетевого элемента 105 к сетевому элементу 110 к сетевому элементу 140 к сетевому элементу 155 к сетевому элементу 160 (это единственно возможный путь в топологии). После того, как интерфейс 132 становится рабочим, должно быть понятно, что будет существовать дополнительный возможный LSP по LDP от сетевого элемента 105 к сетевому элементу 160, как только будет создан обмен данными между одноранговыми узлами по LDP на данном пути (от сетевого элемента 105 к сетевому элементу 110 к сетевому элементу 130 к сетевому элементу 160). Как только будет создан, данный LSP по LDP будет предпочтительным перед предыдущим LSP, так как он будет обладать меньшими затратами (в данном примере 3 против 4). Тем не менее так как каждая линия связи широковещательной сети будет объявлена как обладающая максимальными затратами, маршрут через сетевой элемент 130 будет обладать меньшими затратами, чем маршрут через сетевые элементы 140 и 155. Как результат, сетевой элемент 110 переключит свой следующий перескок на сетевой элемент 150 с сетевого элемента 140 к сетевому элементу 130 до того, как будет создан LSP по LDP через сетевой элемент 130. Впоследствии, сетевой элемент 110 попробует и потерпит неудачу при передаче трафика VPN к сетевому элементу 160 через сетевой элемент 130 до тех пор, пока не будет создан LSP по LDP (например, сетевой элемент 110 не будет иметь правильных меток для обработки трафика VPN). Таким образом, трафик VPN будет проигнорирован сетевым элементом 110. Объем потери трафика в данном случае, по меньшей мере, зависит от времени, требуемого на то, чтобы LSP по LDP стал рабочим. Несмотря на то, что топология на Фигуре 1 весьма простая, должно быть понятно, что в некоторых топологиях требуемое время может составлять до нескольких минут (что может нарушить метрики надежности класса несущих).
[0031] При другом толковании RFC 5443 «Синхронизация LDP и IGP» при применении к широковещательным сетям, когда в широковещательной сети обнаруживается новый сетевой элемент, то только данный сетевой элемент передает максимальные затраты до широковещательной сети, а прочие сетевые элементы передают их нормальные затраты. Тем не менее данное толкование также допускает возможность игнорирования трафика. Должно быть понятно, что, несмотря на то что сетевой элемент 130 объявляет до широковещательной сети максимальные затраты, это влияет только на трафик, передаваемый сетевым элементом 130 и не скажется на трафике, принимаемом сетевым элементом 130. Таким образом, с точки зрения сетевого элемента 110, линия связи между сетевым элементом 110 и сетевым элементом 130 будет иметь затраты, равные 1. Используя тот же самый пример, что и выше, и так как IGP будет сводиться быстрее, чем LDP, то сетевой элемент 110 попробует и потерпит неудачу при передаче трафика VPN к сетевому элементу через сетевой элемент 130 до тех пор, пока не будет создан данный LSP по LDP. Таким образом, аналогично примеру выше, трафик VPN будет проигнорирован на сетевом элементе 110.
[0032] В противоположность, как будет описано здесь позже, варианты осуществления изобретения позволяют осуществлять синхронизацию LDP-IGP в широковещательных сетях, не вызывая неоптимального отклонения трафика или игнорирования трафика.
[0033] Фигура 2 является структурной схемой примерного сетевого элемента, сконфигурированного для синхронизации LDP-IGP для широковещательных сетей в соответствии с одним вариантом осуществления изобретения. Хотя Фигура 2 иллюстрирует сетевой элемент 130, должно быть понятно, что один или более из сетевых элементов в сети 100 могут включать в себя аналогичные признаки. Как проиллюстрировано на Фигуре 2, сетевой элемент 130 включает в себя плату 210 управления, связанную с платой 260 данных. Плата 210 управления включает в себя интерфейс 230 командной строки, модуль 220 IGP, модуль 235 управления состояниями интерфейсов, модуль 240 LDP и модуль 250 управления метками. Модуль 220 IGP включает в себя модуль 280 определения оконечной части и SPF и модуль 285 LSA синхронизации LDP-IGP. Модуль 220 IGP управляет таблицей 222 смежности с соседями, базой 224 данных состояний линий связи, локальной RIB (базой информации о маршрутизации) 226 по IGP, и локальной структурой 228 интерфейса IGP.
[0034] Модуль 220 IGP может принимать параметры конфигурации синхронизации LDP-IGP для широковещательных сетей от интерфейса 230 командной строки. Например, администратор сети может использовать интерфейс 230 командной строки для конфигурации синхронизации LDP-IGP для широковещательных сетей на сетевом элементе 130 (например, разрешена ли синхронизация LDP-IGP для широковещательных сетей, один или более интерфейсы для отслеживания синхронизации LDP-IGP для широковещательных сетей и т.д.). В другом варианте осуществления в сетевом элементе 130 для каждого широковещательного интерфейса устанавливается механизм синхронизации LDP-IGP для широковещательных сетей.
[0035] Модуль 235 управления состояниями интерфейсов управляет интерфейсами сетевого элемента 130, включая интерфейсы 132 и 134. Например, модуль 235 управления состояниями интерфейсов обнаруживает, когда интерфейс находится в рабочем состоянии. Модуль 235 управления состояниями интерфейсов связан с модулем 220 IGP. Модуль 220 IGP регистрирует эти широковещательные интерфейсы (например, интерфейсы, указанные во время конфигурации) при помощи модуля 235 управления состояниями интерфейсов. Модуль 235 управления состояниями интерфейсов уведомляет модуль 220 IGP в момент изменения состояния одного из этих зарегистрированных интерфейсов (например, о том, что широковещательный интерфейс стал рабочим, широковещательный интерфейс утратил работоспособность и т.д.). Затем модуль 220 IGP может обновить локальную структуру 228 интерфейса IGP при помощи данных интерфейсов.
[0036] Модуль 220 IGP создает и сохраняет смежности с соседями с прочими сетевыми элементами в сети 100. Например, модуль 220 IGP передает и принимает приветственные пакеты от прочих сетевых элементов в сети 100. Из этих приветственных пакетов модуль IGP создает и сохраняет таблицу 222 смежности с соседями.
[0037] Модуль 220 IGP также передает и принимает информацию состояний линий связи (как правило, в виде объявлений о состоянии линии связи (LSA)) для конструирования топологии сети 100. Из LSA, которые он принимает и передает, модуль 220 IGP создает и сохраняет базу 224 данных состояний линий связи (таким образом, база 224 данных состояний линий связи является представлением сетевой топологии сети 100). Фигура 5B иллюстрирует примерную базу 224 данных состояний линий связи в соответствии с одним вариантом осуществления изобретения. Как проиллюстрировано на Фигуре 5B, база 224 данных состояний линий связи включает в себя поле 530 От, поле 540 К, и поле 550 Линия Связи.
[0038] Модуль 220 IGP также включает в себя модуль 280 обнаружения оконечной части и SPF для определения оптимального пути до пунктов назначения базы 224 данных состояний линий связи (таким образом, применяется алгоритм SPF к информации базы 224 данных состояний линий связи). Итоговые маршруты добавляются в локальную RIB 226 по IGP, которые затем программируются в одну или более FIB (баз информации о пересылке) в плате 260 данных. Например, маршруты в RIB 260 по IGP программируются в одном или более модулях обработки пакетов одной или более линейных карт в сетевом элементе 130.
[0039] В дополнение к определению оптимальных путей до пунктов назначения в базе 224 данных состояний линий связи модуль 280 обнаружения оконечной части и SPF определяет, являются ли интерфейсы оконечными широковещательными интерфейсами. Оконечный широковещательный интерфейс является интерфейсом до широковещательной сети, который представляет собой единственный путь до широковещательной сети. Другими словами, если за исключением соединения с широковещательной сетью посредством широковещательного интерфейса не существует альтернативного пути до широковещательной сети, то данный широковещательный интерфейс является оконечным интерфейсом. Например, со ссылкой на Фигуру 1, интерфейс 132 не является оконечным интерфейсом, так как существует альтернативный путь по IGP до широковещательного псевдоузла 120 (от сетевого элемента 130 к сетевому элементу 160 к сетевому элементу 155 к сетевому элементу 140 к широковещательному псевдоузлу 120). Интерфейс 146 является оконечным интерфейсом, так как не существует альтернативного пути по IGP до широковещательного псевдоузла 120. Если интерфейс является оконечным интерфейсом, то для данного интерфейса устанавливается свойство оконечности в локальной структуре 228 интерфейса IGP.
[0040] В одном варианте осуществления изобретения, модуль 280 обнаружения оконечной части и SPF выполняет определение в отношении оконечного широковещательного интерфейса посредством прибавления этапа вычисления SPF, который добавляет сетевой префикс к RIB 226 по IGP, чтобы включить дополнительную проверку того, принадлежит ли префикс интерфейсу, который утратил работоспособность (например, если префикс соответствует интерфейсу, утратившему работоспособность, то префикс будет видно откуда-нибудь еще, и интерфейс не будет оконечным) или является оконечной сетью, за пределы которой далее трафик проходить не может. Конечно, могут использоваться прочие способы для определения того, существуют ли альтернативные пути до широковещательной сети.
[0041] Как описано ранее, модуль 220 IGP передает и принимает LSA для конструирования топологии сети 100. Модуль 220 IGP включает в себя модуль 285 LSA синхронизации LDP-IGP, который исключает линии связи из LSA, чьи соответствующие широковещательные интерфейсы не являются оконечными интерфейсами до тех пор, пока LDP не станет рабочим для всех соседей по данному интерфейсу. Другими словами, применительно к широковещательному интерфейсу, если существует альтернативный путь до широковещательной сети, то модуль 285 LSA синхронизации LDP-IGP будет исключать данную линию связи, соответствующую широковещательному интерфейсу, из ее LSA до тех пор, пока не будут синхронизированы LDP и IGP (например, когда LDP станет рабочим для всех соседей по данному широковещательному интерфейсу). В одном варианте осуществления, если LDP не является полностью рабочим для широковещательного интерфейса, то в локальной структуре 228 интерфейса IGP устанавливается флаг по запрету линии связи в LSA.
[0042] Фигура 5A иллюстрирует примерную локальную структуру 228 интерфейса IGP в соответствии с одним вариантом осуществления изобретения. Как проиллюстрировано на Фигуре 5A, локальная структура 228 интерфейса IGP включает в себя поле 510 интерфейса, которое идентифицирует локальный интерфейс IGP, поле 515 свойства оконечного интерфейса, которое указывает на то, является ли интерфейс оконечным интерфейсом, и флаг 520 запрета линии связи в LSA, который указывает на то, должен ли интерфейс быть запрещен в LSA.
[0043] Модуль 240 LDP согласует метки с прочими сетевыми узлами в сети 100. В одном варианте осуществления, модуль 240 LDP определяет, когда LDP является полностью рабочим для конкретного широковещательного интерфейса, и уведомляет модуль 220 IGP о том, что LDP является полностью рабочим для данного интерфейса. Затем модуль 220 IGP может снять флаг 520 запрета линии связи в LSA, если он был установлен (если интерфейс не был оконечным интерфейсом), и объявить данную линию связи прочим сетевым элементам. Модуль 240 LDP также связан с модулем 250 управления метками, который создает и сохраняет структуру(ы) 255 LSP, который, среди прочего, создает и управляет метками для LSP. Метки программируются для одной или более баз информации о пересылке меток (LFIB) в плате 260 данных. Например, метки, хранящиеся в структуре(ах) 255 LSP, программируются для одного или более модулей обработки пакетов одной или более линейных карт в сетевом элементе 130.
[0044] Должно быть понятно, что в некоторых вариантах осуществления оконечные интерфейсы не исключаются из LSA, так как они являются единственным маршрутом до широковещательной сети. Таким образом, так как не существует прочих путей для потока трафика, трафик для любого LSP отправляется после того, как LDP станет рабочим.
[0045] Фигура 3 является блок-схемой, иллюстрирующей примерные операции по синхронизации LDP-IGP для широковещательных сетей в соответствии с одним вариантом осуществления изобретения. Операции на Фигуре 3 будут описаны со ссылкой на примерные варианты осуществления на Фигурах 1 и 2. Тем не менее должно быть понятно, что операции на Фигуре 3 могут выполняться вариантами осуществления изобретения, отличными от тех, что рассматриваются со ссылкой на Фигуры 1 и 2, и варианты осуществления, рассматриваемые со ссылкой на Фигуры 1 и 2, могут выполнять операции, отличные от тех, что рассматриваются со ссылкой на Фигуру 3.
[0046] При операции 310 в широковещательном интерфейсе обнаруживается событие готовности соседа. Например, модуль 220 IGP может обнаружить событие готовности соседа посредством приема сообщения приветственного пакета от сетевого элемента по интерфейсу 132, который не представлен в таблице 222 смежности с соседями, где приветственный пакет включает в себя идентификатор сетевого элемента 130, и производится обмен их информацией LSA и синхронизация (должно быть понятно, что данная информация объявления состояний линии связи не включает в себя интерфейс к широковещательной сети, т.е. широковещательный интерфейс 132). Обработка от блока 310 переходит к блоку 320, где модуль 220 IGP определяет, является ли сосед первым соседом по интерфейсу. Например, если таблица 222 смежности с соседями не включает в себя никакой записи для интерфейса в таблице 222 смежности с соседями, тогда новый сосед является первым соседом по интерфейсу.
[0047] Если обнаруженный сосед является первым соседом по интерфейсу, то затем обработка переходит к блоку 335, в противном случае обработка переходит к блоку 350. В блоке 315 интерфейс широковещательной сети обнаруживается как готовый. Например, модуль 235 управления состояниями интерфейсов обнаруживает, что интерфейс 132 является рабочим. Обработка переходит от блока 315 к блоку 335, где модуль 220 IGP определяет, является ли обнаруженный интерфейс 132 оконечным интерфейсом до широковещательного псевдоузла 120. Например, модуль 220 IGP получает доступ к локальной структуре 228 интерфейса IGP для проверки свойства оконечности интерфейса 132. Со ссылкой на Фигуру 1, интерфейс 132 не является оконечным интерфейсом (и в таком случае свойство оконечности это покажет), так как существует альтернативный путь до широковещательного псевдоузла 120. Если интерфейс не является оконечным, обработка переходит к блоку 340, в противном случае обработка переходит к блоку 350.
[0048] В блоке 340 модуль 220 IGP определяет, завершена ли для интерфейса 132 синхронизация LDP-IGP. Например, модуль 220 IGP получает доступ к локальной структуре 228 интерфейса IGP для проверки состояния флага запрета линии связи в LSA для интерфейса 132. Флаг будет указывать на то, может ли модуль 220 IGP рассматривать LDP и IGP как синхронизированные (например, если флаг установлен, тогда модуль 220 IGP рассматривает LDP и IGP как не синхронизированные, а если флаг снят, тогда модуль 220 IGP рассматривает LDP и IGP как синхронизированные). Если синхронизация LDP-IGP завершена, обработка переходит к блоку 325; в противном случае обработка переходит к блоку 345. В блоке 345, так как синхронизация LDP-IGP не завершена и интерфейс не является оконечным интерфейсом, устанавливается флаг запрета линии связи в LSA. Обработка переходит от блока 345 к блоку 350, где обработка продолжается, и широковещательной сети объявляются только те линии связи, которые не запрещены (как указывается флагом запрета линии связи в LSA).
[0049] Например, модуль 220 IGP откладывает передачу LSA, которое включает в себя широковещательный интерфейс 132 до широковещательного псевдоузла 120 до тех пор, пока LDP не станет рабочим для всех соседей по интерфейсу 132. Таким образом, в противоположность RFC «Синхронизация LDP и IGP», которое объявит линию связи с максимальными затратами до того, как LDP станет рабочим, в вариантах осуществления изобретения линия связи не объявляется до тех пор, пока LDP не станет рабочим. Не объявляя линию связи до того, как не будут синхронизированы LDP и IGP, прочие сетевые элементы в сети 100 не могут использовать линию связи, так как проверка двунаправленной возможности осуществления соединения будет неудачной до тех пор, пока не синхронизируются LDP и IGP. Таким образом, в противоположность примерам, рассмотренным ранее со ссылкой на RFC «Синхронизация LDP и IGP», при использовании вариантов осуществления изобретения трафик не будет перенаправляться по неоптимальным линиям связи и трафик не будет игнорироваться.
[0050] Фигура 4 является блок-схемой, иллюстрирующей примерные операции, когда синхронизация LDP-IGP завершена, в соответствии с одним вариантом осуществления изобретения. Операции на Фигуре 4 будут описаны со ссылкой на примерные варианты осуществления на Фигурах 1 и 2. Тем не менее должно быть понятно, что операции на Фигуре 4 могут выполняться вариантами осуществления изобретения, отличными от тех, что рассматриваются со ссылкой на Фигуры 1 и 2, и варианты осуществления, рассматриваемые со ссылкой на Фигуры 1 и 2, могут выполнять операции, отличные от тех, что рассматриваются со ссылкой на Фигуру 4.
[0051] В блоке 410, в ответ на выход модуля 240 LDP из процесса синхронизации LDP-IGP для интерфейса, модуль 240 LDP отправляет модулю 220 IGP сообщение уведомления о синхронизации LDP-IGP. В одном варианте осуществления, процесс синхронизации LDP-IGP будет закончен в момент истечения конфигурируемого таймера, который разрешает создание сеанса LDP. Например, основываясь на эмпирических данных, администратор сети может сконфигурировать таймер, который предусматривает наихудший случай (или наилучшее предположение) по времени, которое может занять процесс перехода LDP в рабочее состояние на всех соседях интерфейса. Конфигурационное значение для таймера может быть включено в параметры конфигурации синхронизации LDP-IGP для широковещательных сетей, принимаемые модулем 220 IGP.
[0052] В другом варианте осуществления сетевой элемент 130 может реализовывать механизм LDP Конца-LIB (End-of-LIB), как указано в проекте документа IETF «LDP End-of-LIB: draft-ietf-mpls-end-of-lib-03.txt”, январь, 2009 г., для определения того, когда происходит выход из процесса синхронизации LDP-IGP. Например, при LDP Конца-LIB, каждый одноранговый узел LDP (сосед) может сигнализировать завершение своих объявлений меток, сопровождающих создание сеанса. После приема всех сигналов завершения от каждого однорангового узла LDP, LDP станет рабочим для всех соседей и произойдет выход из процесса синхронизации LDP-IGP.
[0053] Обработка переходит от блока 410 к блоку 415, где модуль 220 IGP определяет, установлен ли для интерфейса флаг 520 запрета линии связи в LSA. Если флаг не установлен, то затем обработка переходит к блоку 420, в котором предпринимаются альтернативные действия (например, не требуется никакой обработки). Если флаг установлен, то затем обработка переходит к блоку 425, где модуль 220 IGP снимает флаг 520 запрета линии связи в LSA для интерфейса. Обработка переходит от блока 425 к блоку 430.
[0054] В одном варианте осуществления изобретения, интерфейс будет исключен из базы 224 данных состояний линий связи, если флаг запрета линии связи в LSA установлен. Таким образом, в блоке 430 модуль 220 IGP обновляет базу 224 данных состояний линий связи при помощи интерфейса. Обработка переходит от блока 430 к блоку 435, где модуль 220 IGP выполняет алгоритм SPF над информацией базы данных состояний линий связи для возможного обновления локальной RIB 226 по IGP при помощи более выгодного маршрута. Далее обработка переходит к блоку 440, где плата данных (например, FIB 270) программируется при помощи обновленной информации о маршруте. Далее обработка переходит к блоку 445, где модуль 220 IGP включает интерфейс в свой LSA, и затем обработка переходит в блок 450, где модуль 220 IGP передает LSA, включающее в себя интерфейс, его соседям.
[0055] Фигура 6 является блок-схемой, иллюстрирующей примерные операции, когда сетевой элемент готов обновить свое объявление состояний линии связи при помощи интерфейса до широковещательной сети в соответствии с одним вариантом осуществления изобретения. Операции на Фигуре 6 будут описаны со ссылкой на примерные варианты осуществления на Фигуре 2. Тем не менее должно быть понятно, что операции на Фигуре 6 могут выполняться вариантами осуществления изобретения, отличными от тех, что рассматриваются со ссылкой на Фигуру 2, и варианты осуществления, рассматриваемые со ссылкой на Фигуру 2, могут выполнять операции, отличные от тех, что рассматриваются со ссылкой на Фигуру 6.
[0056] В блоке 610 модуль 285 LSA синхронизации LDP-IGP начинает процесс обновления объявления состояний линии связи. Процесс обновления объявления состояний линии связи будет включать в себя попытку добавить широковещательный интерфейс до широковещательной сети (например, до широковещательного псевдоузла 120). Обработка переходит от блока 610 к блоку 620, где модуль 285 LSA синхронизации LDP-IGP определяет, установлен ли для интерфейса флаг запрета линии связи в LSA. Если флаг не установлен, то затем обработка переходит к блоку 630, где интерфейс включается в объявление состояний линии связи. Если IGP является OSPF, то LSA Маршрутизатора обновляется при помощи Линии связи Типа 2 (линии связи к транспортной сети) для подсети. Если IGP является ISIS, то PDU Состояний линии Связи обновляется при помощи TLV, Достижимого для IS (или Расширенного TLV, Достижимого для IS). Если флаг установлен, то затем обработка переходит к блоку 640, где данный интерфейс будет исключен из объявления состояний линии связи.
[0057] В отличие от RFC 5443 «Синхронизация LDP и IGP» описанному здесь механизму синхронизации LDP-IGP для широковещательных сетей не требуется быть реализованным на каждом из сетевых элементов 110, 130, 140, 145 и 150 в сети 100. В некоторых вариантах осуществления, по минимуму, только сетевой элемент, который добавляется к широковещательной сети, реализует описанный здесь механизм синхронизации LDP-IGP для широковещательных сетей. Таким образом, описанный здесь механизм синхронизации LDP-IGP для широковещательных сетей может внедряться постепенно без каких-либо вариантов, обеспечивающих обратную совместимость.
[0058] Более того, в отличие от RFC 5443 «Синхронизация LDP и IGP», которое требует, чтобы каждый сетевой элемент, объявляющий максимальные затраты для широковещательной сети, возвращался обратно к объявлению своих нормальных затрат после того, как станет рабочим информационный обмен с равноправными узлами по LDP между сетевыми элементами в широковещательной сети (что является нетривиальным процессом, который требует координации между всеми сетевыми элементами), варианты осуществления изобретения не требуют выполнения каких-либо действий прочими сетевыми элементами, отличающимися от того сетевого элемента, чья линия связи до широковещательной сети приводится в рабочее состояние.
[0059] Фигура 7 иллюстрирует примерный сетевой элемент, используемый в некоторых вариантах осуществления изобретения. Как проиллюстрировано на Фигуре 7, сетевой элемент 130 включает в себя карты 715 и 720 управления (например, одна карта управления активна, а другая является резервной), карты 725A-725N ресурсов и линейные карты 730A-730N. Должно быть понятно, что архитектура сетевого элемента 130, проиллюстрированного на Фигуре 7, является примерной, и отличные сочетания карт могут использоваться в прочих вариантах осуществления изобретения.
[0060] Каждая из проиллюстрированных на Фигуре 7 карт включает в себя один или более процессоров и одно или более запоминающих устройств. Например, линейные карты 730A-730B, как правило, включают в себя один или более модулей обработки пакетов для обработки пакетов, включая пересылку и/или коммутацию пакетов на высоких скоростях, и включает в себя одно или более запоминающих устройств для хранения базы информации о пересылке (иногда именуемой таблицей маршрутизации) и базы информации о пересылке меток. Карты 715 и 720 управления также включают в себя один или более процессоров для выполнения сигнализации, маршрутизации (включая создание и/или управление таблицами маршрутизации), настройку соединения, настройку сеанса и т.д. Например, среди прочего, карта 715 управления исполняет инструкции, хранящиеся в запоминающем устройстве, для реализации модуля 220 IGP и модуля 240 LDP.
[0061] Несмотря на то что блок-схемы на фигурах показывают конкретный порядок следования операций, выполняемых определенными вариантами осуществления изобретения, должно быть понятно, что такой порядок следования является примерным (например, альтернативные варианты осуществления могут выполнять операции в другом порядке следования, сочетать некоторые операции, выполнять некоторые операции совместно и т.д.).
[0062] Несмотря на то что изобретение было описано на основе некоторых вариантов осуществления, специалист в данной области будет отдавать себе отчет в том, что изобретение не ограничивается описанными вариантами осуществления и может быть воплощено на практике с модификациями и изменениями, не отступая от сущности и объема прилагаемой формулы изобретения. Таким образом, описание должно рассматриваться как иллюстративное, нежели ограничивающее.