СПОСОБ ДЛЯ УПРАВЛЕНИЯ СЕТЕВЫМ УЗЛОМ
METHOD OF CONTROLLING NETWORK NODE

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ НАСТОЯЩЕЕ ИЗОБРЕТЕНИЕ
Настоящее раскрытие в целом относится к технической области управления сетевым узлом. В частности, настоящее раскрытие относится к управлению сетевым узлом сети многоадресной передачи, общим сетевым узлом источника сети многоадресной передачи и самой сетью многоадресной передачи. Дополнительно, настоящее раскрытие относится к сетевому узлу, общему сетевому узлу источника и сети многоадресной передачи.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
Протокольно независимый разреженный режим многоадресной передачи (PIM-SM) (см. IETF RFC4601 от августа 2006) является хорошо известным и широко применяемым протоколом для построения и поддержания деревьев многоадресной передачи в сетях многоадресной передачи Интернет-протокола (IP). Чтобы распределить контент многоадресной передачи сетевым узлам (в дальнейшем называемым "местами назначения") сети многоадресной передачи, PIM-SM использует единственное дерево многоадресной передачи.
В PIM-SM сетевой узел использует одноадресное отправление сообщений JOIN (ПРИСОЕДИНЕНИЕ), чтобы присоединиться или покинуть группу многоадресной передачи. Чтобы присоединиться к группе многоадресной передачи, сетевой узел посылает сообщение JOIN в восходящем направлении дерева многоадресной передачи на общий сетевой узел источника (термин "общий сетевой узел источника" в дальнейшем также включает в себя пункт встречи в случае совместно используемого дерева). Сообщение JOIN маршрутизируется вдоль пути дерева многоадресной передачи, определенного таблицами базы информации многоадресной маршрутизации (MRIB). Пути, перечисленные в этих таблицах, обычно выводятся непосредственно из таблиц одноадресной маршрутизации (но они также могут быть получены по-другому). Аналогично, сетевой узел, желающий покинуть группу многоадресной передачи, посылает пакет PRUNE (ОТСЕЧЕНИЕ) вверх по дереву многоадресной передачи на общий сетевой узел источника.
Таблицы MRIB используются для определения соседей следующего транзитного участка, которым сообщение JOIN посылается следующим. Сообщение JOIN маршрутизируется и обрабатывается на основе «участок за участком» до тех пор, пока сетевой узел, уже принимающий контент многоадресной передачи, не будет достигнут. Все сетевые узлы вдоль этого пути обрабатывают сообщение JOIN и устанавливают/обновляют соответствующую информацию состояния многоадресной маршрутизации (например, посредством добавления входящего интерфейса, с помощью которого было принято сообщение JOIN, к списку исходящих интерфейсов). Потоки контента многоадресной передачи маршрутизируются вдоль пути, который инвертирован, к пути, вдоль которого маршрутизируются сообщения JOIN (в направлении вниз).
Поскольку, как уже упомянуто, таблицы MRIB обычно выводятся из таблиц одноадресной маршрутизации, сообщения JOINT отправляются вдоль самого короткого пути на общий сетевой узел источника, который может отличаться от самого короткого пути, расположенного далее по пути сигнала, в случае затрат на асимметричной линии связи. В результате потоки многоадресной передачи, установленные с использованием PIM-SIM, могут использовать субоптимальные пути в нисходящем направлении.
Так как PIM-SM сильно зависит от одноадресной маршрутизации, в случае сбоя сети она должна ждать до тех пор, пока не будет восстановлена одноадресная маршрутизация. Таким образом, реакция на сбой является относительно медленной. С другой стороны, PIM-SM обычно используется в настоящее время для построения путей для трафика в режиме реального времени (например, для IPTV). Это означает, что реакция на сбой является серьезным препятствием. Чтобы преодолеть это препятствие, IETF RFC5714 от января 2010 предлагает создать вторичный путь для входящего потока многоадресной передачи сетевого узла, таким образом обеспечивая непосредственный альтернативный путь в случае, если сетевой узел теряет свое соединение со своим первичным расположенным ранее в пути соседним сетевым узлом. Однако этот подход не может гарантировать, что могут быть обработаны все возможные сценарии сбоя. Кроме того, этот подход является способом защиты "1+1", что означает, что всегда присутствует "вторичный" трафик, даже в ситуации без сбоев, таким образом, этот подход вызывает существенную дополнительную нагрузку в сети многоадресной передачи, особенно в случае высокоскоростного трафика, такого как потоки HD IPTV.
Альтернативный подход раскрыт в R. Luebben, G. Li, D. Wang, R. Doverspike, X. Fu., “Fast rerouting for IP multicast in managed IPTV networks” на 17-ом Международном семинаре по вопросам качества обслуживания, 2009. IWQoS., страницы 1-5, июль 2009. Однако в этом подходе необходимы строго выбранные затраты на асимметричные линии связи и туннелирование. Так как тщательное изменение назначенных затрат линии связи не всегда является приемлемым для операторов сети, и так как даже фрагментация пакета, вызванная туннелированием, может вызывать проблемы, этот подход не всегда является применимым.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Возникает необходимость обеспечить способ управления сетевыми узлами сети многоадресной передачи, который гарантирует гибкую и быструю реакцию на сбои сети.
В соответствии с первым аспектом обеспечен способ управления сетевым узлом сети многоадресной передачи, содержащей множество сетевых узлов, которые связаны друг с другом посредством линий связи, причем сетевой узел ассоциирован с общим сетевым узлом источника. Способ содержит определение первого пути, который соединяет сетевой узел с общим сетевым узлом источника вдоль первичного дерева сети, и определение второго пути, который соединяет сетевой узел с общим сетевым узлом источника вдоль вторичного дерева сети, причем первый путь и второй путь показывают избыточность по отношению друг к другу; прием в сетевом узле данных многоадресной передачи от общего сетевого узла источника через первый путь; инициацию посредством сетевого узла приема данных многоадресной передачи от общего сетевого узла источника через второй путь, если сетевой узел обнаруживает сбой первого пути.
Сбой первого пути может быть обнаружен, если никакие данные многоадресной передачи не приняты или не будут приняты. В этом отношении могут быть применены различные механизмы обнаружения, например, на основании истечения таймера, приема специализированного сообщения, отсутствия приема данных многоадресной передачи (например, пакетов трафика многоадресной передачи) или периодических контрольных сигналов и т.д.
В одной примерной реализации первый путь и второй путь могут быть определены заранее таким образом, чтобы в случае последующего сбоя сети было возможно эффективное регулирование сбоя.
Первый путь и второй путь могут показать столько избыточности по отношению друг к другу, сколько возможно технически. Первичное дерево сети и вторичное дерево сети могут быть реализованы как максимально избыточные деревья (деревья MRT). Первый путь и второй путь вдоль первичного дерева и вторичного дерева, соответственно, могут быть линией связи, несвязной в максимально возможной степени (например, только неизбежные вершины отсечения и ветви отсечения могут быть совместно использованы обоими путями).
Максимальная избыточность может быть реализована таким образом, чтобы в случае любых единичных сбоев линии связи/узла, каждый сетевой узел был достижим от корня вдоль по меньшей мере одного из: первичного дерева и вторичного дерева. Таким образом, в случае сбоя сети некоторые сетевые узлы могут быть достижимы с помощью первичного дерева сети и вторичного дерева сети (когда они могут в принципе отвергнуть одно из деревьев), и некоторые сетевые узлы - только с помощью одного из них. Должно быть отмечено, что ни первичное дерево, ни вторичное дерево не могут обязательно быть деревом самого короткого пути (как обычно использовано, например, в PIM-SM).
Процесс вычисления может быть осуществлен в сетевом узле, в котором соответственно определены первичное дерево сети и вторичное дерево сети. В этом контексте становится возможно одновременно определить первичное дерево сети и вторичное дерево сети в одном или более сетевых узлах сети многоадресной передачи (например, заранее), что может ускорить повторную маршрутизацию в случае последующего сбоя сети.
Если сетевой узел обнаруживает сбой (отказ) первого пути, может быть послано сообщение о сбое. Сообщение о сбое может быть послано от сетевого узла через второй путь на общий сетевой узел источника.
Чтобы обнаружить сбой, могут быть осуществлены следующие процессы: проверка (например, в выбранных случайным образом или в регулярных временных интервалах), была ли принята сигнализация (например, периодические контрольные сигналы или пакеты трафика многоадресной передачи) в сетевом узле из от сетевого узла источника через первый путь; и обнаружение сбоя, если сетевой узел не принял сигнализацию, как ожидалось (например, в течение предварительно определенного периода времени). Таким образом, может быть гарантировано раннее обнаружение сбоя сети.
Дерево многоадресной передачи может быть описано посредством адреса группы (это может быть адресом места назначения IP пакетов данных, посланных вниз по дереву многоадресной передачи от общего сетевого узла источника (или пункта встречи)), и посредством адреса источника (назначенного общему сетевому узлу источника (или пункту встречи)). Чтобы быть в состоянии переключаться между двумя деревьями многоадресной передачи, два адреса могут быть назначены на общий сетевой узел источника (или пункт встречи) таким образом, чтобы сеть многоадресной передачи могла управляться следующим образом. Сетевой узел может поддержать первичный IP адрес источника, назначенный на первичное дерево сети, и вторичный IP адрес источника, назначенный на вторичное дерево сети. При отправлении IP пакетов данных от сетевого узла на дополнительный сетевой узел с помощью первичного дерева сети первичный IP адрес источника может быть добавлен к IP пакету данных до того, как он будет отправлен, и при отправлении IP пакетов данных от сетевого узла на дополнительный сетевой узел через вторичное дерево вторичный IP адрес источника может быть добавлен к IP пакету данных до того, как он будет отправлен.
Первый путь может быть активирован посредством посылки сообщения активации от сетевого узла на общий сетевой узел источника через первый путь. Дополнительно или в качестве альтернативы, второй путь может быть активирован посредством посылки сообщения активации от сетевого узла на общий сетевой узел источника через второй путь.
В соответствии с примерной реализацией могут быть осуществлены следующие процессы: ассоциация сетевого узла с общим сетевым узлом источника посредством посылки сообщения активации от сетевого узла на общий сетевой узел источника через первый путь; прием в сетевом узле, после посылки сообщения активации на общий сетевой узел источника, данных многоадресной передачи от общего сетевого узла источника через первый путь; посылка, если сетевой узел обнаруживает сбой первого пути, сообщения активации от сетевого узла на общий сетевой узел источника через второй путь; и прием в сетевом узле, после посылки сообщения активации на общий сетевой узел источника, данных многоадресной передачи от общего сетевого узла источника через второй путь.
В этой реализации ("режим восстановления") второй путь может быть только предварительно вычислен, но не предварительно активирован. Форма переключения первого пути на второй путь может быть инициирована сообщением активации (например, сообщением JOIN PIM или аналогичным сообщением в других контекстах протокола). Может быть активирован только отрезок(ки) (например, второй путь(и)) вторичного дерева сети, который необходим, чтобы достигнуть сетевого узла(ов), который обнаружил сбой. Отрезок может пересечь несколько сетевых узлов, которые могут принять или не принять трафик (например, пакеты контента многоадресной передачи) от первичного дерева сети, также. Таким образом, после посылки сообщения активации на общий сетевой узел источника через второй путь, данные многоадресной передачи могут быть приняты в некоторых других сетевых узлах через первый путь и через второй путь одновременно. Таким образом, сообщение активации может инициировать как построение, так и активацию пути.
В соответствии с дополнительной примерной реализацией могут быть осуществлены следующие процессы: ассоциация сетевого узла с общим сетевым узлом источника посредством посылки сообщения построения пути от сетевого узла на общий сетевой узел источника через первый путь и посылки сообщения построения пути от сетевого узла на общий сетевой узел источника через второй путь; прием в сетевом узле, после посылки сообщений построения пути на общий сетевой узел источника, данных многоадресной передачи от общего сетевого узла источника через первый путь; посылка, если сетевой узел обнаруживает сбой первого пути, сообщения активации от сетевого узла на общий сетевой узел источника через второй путь; и прием в сетевом узле, после посылки сообщения активации на общий сетевой узел источника, данных многоадресной передачи от общего сетевого узла источника через второй путь.
В этой реализации ("простой режим защиты"), чтобы активировать второй путь, могут быть определены два сообщения (сообщение построения пути, чтобы построить путь, и сообщение активации, чтобы активировать путь), в отличие от режима восстановления, в котором построение и активация пути могут быть инициированы всего одним сообщением. В этой реализации после приема сообщения сбоя общий сетевой узел источника может начать передавать контент многоадресной передачи по всему вторичному дереву, также. Таким образом, после посылки сообщения о сбое сети (сообщения активации) на общий сетевой узел источника через второй путь, все сетевые узлы сети многоадресной передачи, ассоциированные с (например, зарегистрированные в) общим сетевым узлом источника, могут принять данные многоадресной передачи от общего сетевого узла источника через соответствующие первые пути и вторые пути одновременно.
В соответствии с другой примерной реализацией могут быть осуществлены следующие процессы: ассоциация сетевого узла с общим сетевым узлом источника посредством посылки сообщения построения пути первого типа от сетевого узла на общий сетевой узел источника через первый путь и посылки сообщения построения пути второго типа от сетевого узла на общий сетевой узел источника через второй путь; прием в сетевом узле, после посылки сообщения построения пути первого типа на общий сетевой узел источника, данных многоадресной передачи от общего сетевого узла источника через первый путь; посылка, если сетевой узел обнаруживает сбой первого пути, сообщения активации от сетевого узла на общий сетевой узел источника через второй путь; и прием в сетевом узле, после посылки сообщения активации на общий сетевой узел источника, данных многоадресной передачи от общего сетевого узла источника через второй путь. Сообщение построения пути первого типа может построить и активировать первый путь, и сообщение построения пути второго типа может только построить второй путь, но вызвать предварительное блокирование передачи данных от общего сетевого узла источника на сетевой узел через второй путь. Предварительное блокирование может быть реализовано, как только сообщение активации будет послано от сетевого узла на общий сетевой узел источника через второй путь.
В этой реализации ("усовершенствованный режим защиты") переключение от первого пути на второй путь осуществляется не посредством построения второго пути (он уже предварительно построен), а посредством посылки соответствующего сообщения активации. Переключение может быть сделано общим сетевым узлом источника после приема сообщения активации, а также всеми сетевыми узлами между узлом сети обнаружения сбоя и общим сетевым узлом источника (то есть, всеми сетевыми узлами вдоль второго пути). В этом варианте осуществления, как в режиме восстановления, может быть использован только отрезок (то есть, второй путь) вторичного дерева (тот, который необходим, чтобы достигнуть сетевого узла, который обнаружил сбой), и другие вторые пути могут не быть активированы. Отрезок может пересечь несколько сетевых узлов, которые могут принять или не принять трафик (например, пакеты контента многоадресной передачи) от первого дерева, также. Таким образом, после посылки сообщения активации на общий сетевой узел источника через второй путь, данные многоадресной передачи могут быть приняты в некоторых других сетевых узлах через первый путь и через второй путь одновременно.
По сравнению с простым режимом защиты, усовершенствованный режим защиты имеет преимущество в том, что используется только деблокированный второй путь во вторичном дереве, таким образом, избегая информационного трафика вдоль вторых путей других узлов. В простом режиме защиты сообщение о сбое может разблокировать полное второе дерево (никакие порты не заблокированы).
После обнаружения сбоя первого пути могут быть определены новое первичное дерево сети и новое вторичное дерево сети в сети многоадресной передачи. Новое первичное дерево сети и новое вторичное дерево сети могут совместно использовать общий сетевой узел источника. Новый первый путь, который соединяет сетевой узел с общим сетевым узлом источника вдоль нового первичного дерева сети, и новый второй путь, который соединяет сетевой узел с общим сетевым узлом источника вдоль нового вторичного дерева сети, могут быть назначены сетевому узлу, причем новый первый путь и новый второй путь показывают (например, максимальную) избыточность по отношению друг к другу. После определения нового первичного дерева сети и нового вторичного дерева сети, данные от общего узла источника с помощью нового первого пути могут быть приняты в сетевом узле. Первичное дерево сети и вторичное дерево сети, таким образом, могут быть оптимизированы после сбоя сети.
В соответствии с дополнительным аспектом обеспечен способ управления общим сетевым узлом источника сети многоадресной передачи, содержащей множество сетевых узлов, которые связаны друг с другом посредством линий связи, причем сеть многоадресной передачи содержит первичное дерево сети и вторичное дерево сети, которые совместно используют общий сетевой узел источника, и причем каждому из множества сетевых узлов сети многоадресной передачи соответственно назначены первый путь, который соединяет сетевой узел с общим сетевым узлом источника вдоль первичного дерева сети, и второй путь, который соединяет сетевой узел с общим сетевым узлом источника вдоль вторичного дерева сети, и причем первые пути и вторые пути показывают избыточность по отношению друг к другу. Способ содержит: посылку данных многоадресной передачи от общего сетевого узла источника на каждый из множества сетевых узлов, которые ассоциированы с общим сетевым узлом источника, через соответствующие первые пути; после приема посредством общего сетевого узла источника сообщения от сетевого узла, указывающего сбой первого пути, назначенного сетевому узлу, посылку данных от общего сетевого узла источника на по меньшей мере один из множества сетевых узлов, которые ассоциированы с общим сетевым узлом источника, через соответствующие вторые пути.
В соответствии с еще дополнительным аспектом настоящего изобретения, обеспечен способ управления сетью многоадресной передачи, содержащей множество сетевых узлов, которые связаны друг с другом посредством линий связи. Способ содержит определение первичного дерева сети и вторичного дерева сети в сети многоадресной передачи, причем первичное дерево сети и вторичное дерево сети совместно используют общий сетевой узел источника, и причем каждому из множества сетевых узлов сети многоадресной передачи соответственно назначены первый путь, который соединяет сетевой узел с общим сетевым узлом источника вдоль первичного дерева сети, и второй путь, который соединяет сетевой узел с общим сетевым узлом источника вдоль вторичного дерева сети, причем первые пути и вторые пути показывают избыточность по отношению друг к другу; посылку данных многоадресной передачи от общего сетевого узла источника на каждый из множества сетевых узлов, которые ассоциированы с общим сетевым узлом источника, через соответствующие первые пути; если сетевой узел обнаруживает сбой первого пути, назначенного сетевому узлу, посылку данных от общего сетевого узла источника на сетевой узел через соответствующий второй путь.
Обеспечен компьютерный программный продукт, содержащий части программного кода для выполнения этапов любого варианта осуществления настоящего изобретения, когда компьютерный программный продукт выполнен на одном или более вычислительных устройствах. Компьютерный программный продукт может быть сохранен на считываемом компьютером носителе записи.
В соответствии с другим аспектом может быть обеспечен сетевой узел многоадресной передачи сети многоадресной передачи, содержащей множество сетевых узлов, которые связаны друг с другом посредством линий связи, причем сетевой узел сконфигурирован для ассоциации с общим сетевым узлом источника. Сетевой узел сконфигурирован для определения первого пути, который соединяет сетевой узел с общим сетевым узлом источника вдоль первичного дерева сети, и определения второго пути, который соединяет сетевой узел с общим сетевым узлом источника вдоль вторичного дерева сети, причем первый путь и второй путь показывают избыточность по отношению друг к другу; и дополнительно сконфигурирован для приема данных многоадресной передачи от общего сетевого узла источника через первый путь. Сетевой узел дополнительно сконфигурирован для обнаружения сбоя первого пути и инициации приема данных многоадресной передачи от общего сетевого узла источника через второй путь, если блок обработки обнаруживает сбой первого пути.
В соответствии с дополнительным аспектом обеспечен общий сетевой узел источника, который может управляться в сети многоадресной передачи, содержащей множество сетевых узлов, которые связаны друг с другом посредством линий связи, причем сеть многоадресной передачи содержит первичное дерево сети и вторичное дерево сети, которые совместно используют общий сетевой узел источника, и причем каждому из множества сетевых узлов сети многоадресной передачи соответственно назначены первый путь, который соединяет сетевой узел с общим сетевым узлом источника вдоль первичного дерева сети, и второй путь, который соединяет сетевой узел с общим сетевым узлом источника вдоль вторичного дерева сети, причем первые пути и вторые пути показывают избыточность по отношению друг к другу. Общий сетевой узел источника сконфигурирован для посылки данных многоадресной передачи от общего сетевого узла источника каждому из множества сетевых узлов, которые ассоциированы с общим сетевым узлом источника, через соответствующие первые пути; определения, принял ли блок связи сообщение от сетевого узла, указывающего сбой первого пути, назначенного сетевому узлу, и для того, чтобы вынуждать блок связи послать данные от общего сетевого узла источника на по меньшей мере один из множества сетевых узлов, которые ассоциированы с общим сетевым узлом источника, через соответствующий второй путь.
Также обеспечена сеть многоадресной передачи, содержащая множество сетевых узлов, как описано в настоящем описании; и общий сетевой узел источника, как описано в настоящем описании.
В соответствии с еще дополнительным аспектом обеспечен способ управления сетевым узлом сети многоадресной передачи, содержащей множество сетевых узлов, которые связаны друг с другом посредством линий связи, причем сетевой узел ассоциирован с общим сетевым узлом источника. Способ содержит определение первого пути, который соединяет сетевой узел с общим сетевым узлом источника вдоль первичного дерева сети, и определение второго пути, который соединяет сетевой узел с общим сетевым узлом источника вдоль вторичного дерева сети, причем первый путь и второй путь показывают избыточность по отношению друг к другу; прием в сетевом узле данных многоадресной передачи от общего сетевого узла источника через первый путь и второго пути одновременно. Способ может быть объединен с любым из аспектов, представленных в настоящем описании. В качестве примера, первый путь и второй путь могут показать как можно больше избыточности по отношению друг к другу (например, в смысле деревьев MRT). Также при желании могут быть реализованы аспекты обнаружения и/или представления отчета о сбое.
В соответствии с другим аспектом может быть обеспечен сетевой узел многоадресной передачи сети многоадресной передачи, содержащей множество сетевых узлов, которые связаны друг с другом посредством линий связи, причем сетевой узел сконфигурирован для ассоциации с общим сетевым узлом источника. Сетевой узел сконфигурирован для определения первого пути, который соединяет сетевой узел с общим сетевым узлом источника вдоль первичного дерева сети, и определения второго пути, который соединяет сетевой узел с общим сетевым узлом источника вдоль вторичного дерева сети, причем первый путь и второй путь показывают избыточность по отношению друг к другу; и дополнительно сконфигурирован для приема данных многоадресной передачи от общего сетевого узла источника через первый путь и второго пути одновременно.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
В последующем описании настоящее раскрытие будет описано более подробно со ссылками на примерные варианты осуществления, иллюстрированным в чертежах, в которых
Фиг. 1 является схематической блок-схемой, иллюстрирующей вариант осуществления сетевого узла сети многоадресной передачи;
Фиг. 2 является схематической блок-схемой, иллюстрирующей вариант осуществления общего сетевого узла источника сети многоадресной передачи;
Фиг. 3 является схематической блок-схемой, иллюстрирующей вариант осуществления сети многоадресной передачи;
Фиг. 4 является блок-схемой, иллюстрирующей вариант осуществления управления сетевым узлом сети многоадресной передачи;
Фиг. 5 является блок-схемой, иллюстрирующей вариант осуществления управления общим сетевым узлом источника сети многоадресной передачи;
Фиг. 6 является блок-схемой, иллюстрирующей вариант осуществления управления сетью многоадресной передачи;
Фиг. 7 является схематической блок-схемой, иллюстрирующей другой вариант осуществления сети многоадресной передачи;
Фиг. 8 является блок-схемой, иллюстрирующей другой вариант осуществления управления сетью многоадресной передачи;
Фиг. 9 является схематической блок-схемой, иллюстрирующей обычную таблицу маршрутизации, используемую для управления сетью многоадресной передачи;
Фиг. 10 является схематической блок-схемой, иллюстрирующей вариант осуществления измененной таблицы маршрутизации, используемой для управления сетью многоадресной передачи;
Фиг. 11 является схематической блок-схемой, иллюстрирующей вариант осуществления сети многоадресной передачи; и
Фиг. 12 является схематической блок-схемой, иллюстрирующей вариант осуществления сети многоадресной передачи.
ПОДРОБНОЕ ОПИСАНИЕ
В последующем описании в целях объяснения, а не ограничения, сформулированы конкретные подробности, такие как конкретные конфигурации устройства и системы и конкретные способы, этапы и функции, чтобы обеспечить полное понимание способа, представленного в настоящем описании. Будет оценено, что эта методика может быть осуществлена в других вариантах осуществления, которые отступают от этих конкретных подробностей. Например, в то время как последующие варианты осуществления будут прежде всего описаны вместе с PIM и PIM-SM, должно быть понятно, что способ, представленный в настоящем описании, может быть также осуществлен вместе с другими стандартами и техническими требованиями, включающими в себя MLPS многоадресной передачи (mLDP). В случае mLDP сообщения Label Map будут концептуально соответствовать сообщениям JOINT PIM, в качестве примера рассмотренным выше и в контексте последующих вариантов осуществления. Таким образом, любые ссылки на сообщения JOINT PIM могут преобразовываться в ссылки на сообщения Label Map mLDP в случае, если связанные с PIM описания, представленные в настоящем описании, были преобразованы в сценарий mLDP.
Специалисты в данной области техники дополнительно оценят, что способы, этапы и функции, описанные в настоящем описании, могут быть реализованы, используя индивидуальные схемы аппаратного обеспечения, используя программное обеспечение, функционирующее вместе с программируемым микропроцессором или компьютером общего назначения, используя одну или более специализированных интегральных схем (схем ASIC), один или несколько процессоров DSP и/или одну или более программируемых пользователем вентильных матриц (матрицы FPGA). Будет также оценено, что методика, раскрытая в настоящем описании, может быть осуществлена в процессоре и памяти, подсоединенной к процессору, причем память хранит одну или более программ, которые выполняют способы, этапы и функции, описанные в настоящем описании, при выполнении процессором.
Относительно последующих вариантов осуществления одни и те же номера позиций используются для обозначения одних и тех же или аналогичных компонентов.
Ссылаясь на Фиг. 1 и 3, будет описан узел 7 сети многоадресной передачи в соответствии с вариантом осуществления. Сеть 7 многоадресной передачи содержит множество сетевых узлов 1, которые связаны друг с другом посредством линий связи. Сетевой узел 1 сконфигурирован, чтобы быть в ассоциации с (например, быть зарегистрированным в) общим сетевым узлом 4 источника. В некоторых случаях общий сетевой узел 4 источника также называется общим корневым сетевым узлом или просто корневым узлом.
Сетевой узел 1 содержит блок 2 обработки, сконфигурированный для определения первого пути 5, который соединяет сетевой узел 1 с общим сетевым узлом 4 источника вдоль первичного дерева сети, и для определения второго пути 6, который соединяет сетевой узел 1 с общим сетевым узлом 4 источника вдоль вторичного дерева сети. Первый путь 5 и второй путь 6 показывают избыточность по отношению друг к другу. Сетевой узел 1 дополнительно содержит блок 3 связи, соединенный с блоком 2 обработки и сконфигурированный для приема данных многоадресной передачи от общего сетевого узла 4 источника через первый путь 5. Блок 2 обработки дополнительно сконфигурирован для обнаружения сбоя первого пути (например, чтобы определить, приняты ли (или будут приняты) данные многоадресной передачи посредством блока 3 связи через первый путь 5) и инициации приема данных многоадресной передачи от общего сетевого узла 4 источника через второй путь 6, если блок 2 обработки обнаруживает сбой (например, решает, что никакие данные многоадресной передачи не приняты (или не будут приняты) через первый путь 5).
Ссылаясь на Фиг. 2 и 3, будет описан общий сетевой узел 4 источника в соответствии с вариантом осуществления. Общий сетевой узел 4 источника может управляться в сети 7 многоадресной передачи, содержащей множество сетевых узлов 1, как рассмотрено выше, которые связаны друг с другом посредством линий связи. Сеть 7 многоадресной передачи содержит первичное дерево сети и вторичное дерево сети, которые совместно используют общий сетевой узел 4 источника.
Как указано выше, каждому из множества сетевых узлов 1 сети 7 многоадресной передачи соответственно назначены первый путь 5, который соединяет сетевой узел 1 с общим сетевым узлом 4 источника вдоль первичного дерева сети, и второй путь 6, который соединяет сетевой узел 1 с общим сетевым узлом 4 источника вдоль вторичного дерева сети, причем первые пути 5 и вторые пути 6 показывают избыточность по отношению друг к другу.
Общий сетевой узел 4 источника содержит блок 8 связи, сконфигурированный для посылки данных многоадресной передачи от общего сетевого узла 4 источника каждому из множества сетевых узлов 1, которые ассоциированы с (например, зарегистрированы в) общим сетевым узлом 4 источника, через соответствующие первые пути 5. Общий сетевой узел 4 источника дополнительно содержит блок 9 обработки, соединенный с блоком 8 связи и сконфигурированный для определения, принял ли блок 8 связи сообщение от сетевого узла 1, указывающее сбой первого пути (например, что никакие данные не приняты сетевым узлом 1 от общего сетевого узла 4 источника через первый путь 5, назначенного сетевому узлу 1). Блок 9 обработки дополнительно сконфигурирован для того, чтобы вынуждать блок 4 связи посылать данные от общего сетевого узла 4 источника на по меньшей мере один из множества сетевых узлов 1, которые ассоциированы с общим сетевым узлом 4 источника, через соответствующие вторые пути 6.
Фиг. 4 показывает способ управления сетевым узлом 1, как показано на Фиг. 1 и 3, в соответствии с примерным вариантом осуществления. На первом этапе S1 определяется первый путь 5, который соединяет сетевой узел 1 с общим сетевым узлом 4 источника вдоль первичного дерева сети, и определяется второй путь 6, который соединяет сетевой узел 1 с общим сетевым узлом 4 источника вдоль вторичного дерева сети. Первый путь 5 и второй путь 6 показывают избыточность (например, максимальную избыточность) по отношению друг к другу.
На втором этапе S2 в сетевом узле 1 данные многоадресной передачи принимаются от общего сетевого узла 4 источника через первый путь 5. Затем на третьем этапе S3 инициируется, посредством сетевого узла 1, прием данных многоадресной передачи от общего сетевого узла 4 источника через второй путь 6, если сетевой узел 4 обнаруживает сбой первого пути 5. Инициация может быть выполнена разными способами, включая в себя посылку одного или более сообщений, пакетов или любой другой сигнализации, в зависимости от протоколов в использовании. Несколько примеров инициации будут описаны более подробно ниже.
Преимущество этого варианта осуществления состоит в том, что первый путь 5 и второй путь 6 могут быть определены заранее (например, во время фазы конфигурации, предшествующей приему данных многоадресной передачи) для каждого сетевого узла 1. В случае сбоя сети эффективное регулирование сбоя, таким образом, становится возможным (только время тратится на активирование/построение второго пути 6, однако, не на определение второго пути 6).
В модифицированном варианте осуществления, который основан на варианте осуществления согласно Фиг. 4, может быть опущен этап S3, и этап S2 может быть изменен таким образом, чтобы данные многоадресной передачи (например, пакеты многоадресной передачи) были приняты через первый путь и второго пути одновременно. Приемник (и/или выход/границы) затем может принять по меньшей мере одну точную копию каждого пакета многоадресной передачи по одному из путей (и деревьев). В одной реализации копия может быть просто удалена. На альтернативном этапе S3 сбой, обнаруженный относительно одного из первого пути и второго пути, может все еще быть сигнализирован посредством любого сообщения, пакета или сигнализации (например, используя выделенное или существующее сообщение, пакет или сигнализацию на узел источника). Сетевой узел Фиг. 1 может быть приспособлен (если необходимо) реализовывать измененный вариант осуществления.
Фиг. 5 показывает способ управления общим сетевым узлом 4 источника, как показано на Фиг. 2 и 3, в соответствии с примерным вариантом осуществления. На первом этапе S1 данные многоадресной передачи посылаются от общего сетевого узла 4 источника каждому из множества сетевых узлов 1, которые ассоциированы с (например, зарегистрированы в) общим сетевым узлом 4 источника, через соответствующие первые пути 5. На втором этапе S2 после приема сообщения в общем сетевом узле 4 источника от сетевого узла 1, указывающего сбой первого пути 5 (например, что никакие данные не приняты сетевым узлом 1 от общего сетевого узла 4 через первый путь 5, назначенного сетевому узлу 1), данные посылаются от общего сетевого узла 4 источника на по меньшей мере один из множества сетевых узлов 1, которые ассоциированы с общим сетевым узлом 4 источника, через соответствующие вторые пути 6.
Фиг. 6 показывает способ управления сетью 7 многоадресной передачи, как показано на Фиг. 3, в соответствии с примерным вариантом осуществления. На первом этапе S1 первичное дерево сети и вторичное дерево сети определяются в сети 7 многоадресной передачи. Первичное дерево сети и вторичное дерево сети совместно используют общий сетевой узел 4 источника, и каждому из множества сетевых узлов 1 сети 7 многоадресной передачи соответственно назначаются первый путь 5, который соединяет сетевой узел 1 с общим сетевым узлом 4 источника вдоль первичного дерева сети, и второй путь 6, который соединяет сетевой узел 1 с общим сетевым узлом 4 источника вдоль вторичного дерева сети. Первые пути 5 и вторые пути 6 показывают избыточность по отношению друг к другу. На втором этапе S2 данные многоадресной передачи посылаются от общего сетевого узла 4 источника каждому из множества сетевых узлов 1, которые ассоциированы с общим сетевым узлом 4 источника, через соответствующие первые пути 5. Затем на третьем этапе S3, если сетевой узел 1 обнаруживает сбой первого пути 5 (например, решает, что никакие данные не приняты или не будут приняты через первый путь 5, назначенного сетевому узлу 1), данные посылаются от общего сетевого узла 4 источника на по меньшей мере один из множества сетевых узлов 1, которые ассоциированы с общим сетевым узлом 4 источника, через соответствующие вторые пути 6.
В последующем описании будут объяснены дополнительные признаки и варианты осуществления. Признаки и варианты осуществления, описанные в дальнейшем, могут быть объединены с признаками и вариантами осуществления, описанными выше со ссылками на Фиг. 1-6.
Избыточность, рассмотренная выше со ссылками на Фиг. 1-6, может быть реализована, используя максимально избыточные деревья (см., например, Gabor Enyedi, Gabor Retvari, Andras Csaszar, "On Finding Maximally Redundant Trees in Strictly Linear Time", Symposium on Computers and communications IEEE, ISCC, Сус, Тунис, июль 2009, включенное в настоящее описание посредством ссылки. Деревья MRT являются набором (например, парой) направленных основных деревьев (в настоящем контексте одно дерево из пары деревьев сети называется первичным деревом, другое называется резервным деревом или вторичным деревом), отправленных таким образом, чтобы каждый из сетевых узлов мог быть достигнут от корневого сетевого узла (в настоящем контексте также называемого "общим сетевым узлом источника"), и соответствующие два пути вдоль этих двух деревьев от корневого узла сети до каждого сетевого узла имели столько избыточности, сколько возможно. Деревья MRT могут также быть определены в обратном направлении таким образом, чтобы корневой узел сети достигался от всех других сетевых узлов с помощью соответствующих двух путей. В целом, только эти сетевые узлы и сетевые линии связи являются частью обоих путей, которых нельзя избежать (вершины отсечения и ветви отсечения). Таким образом, если есть единственный сбой, который не разбивает сеть на две сети, корневой сетевой узел может все еще достигнуть каждого из других сетевых узлов в сети вдоль по меньшей мере одного из деревьев.
В соответствии с вариантом осуществления способ, раскрытый в настоящем описании, может быть основан на деревьях MRT в сети, чтобы продолжить отправление пакета контекста многоадресной передачи в сети после сбоя сети. Деревья MRT являются набором направленных основных деревьев сети с общим корневым узлом (например, общим сетевым узлом 4 источника), направленным таким образом, чтобы каждый сетевой узел (такой как сетевой узел 1) достигался от общего корневого узла через два пути (один путь, работающий через одно из пары деревьев сети (первичное дерево сети), и другой путь, работающий через другое из пары деревьев сети (вторичное дерево сети)), и эти два пути вдоль двух деревьев сети являются сетевым узлом и сетевой линией связи (сетевые линии связи связывают сетевые узлы друг с другом), несвязных насколько это возможно (только неизбежные вершины отсечения и ветви отсечения включены в оба пути).
Вариант осуществления пары деревьев MRT показан на Фиг. 7. На Фиг. 7 показана сеть многоадресной передачи деревьев MRT, содержащая множество сетевых узлов 1, которые связаны друг с другом посредством линий связи 72, и содержащая общий сетевой узел 4 источника ("корневой"), обозначенный в настоящем описании как "r". Сплошные стрелки указывают части первичного дерева сети, и пунктирные стрелки указывают части вторичного дерева сети. Например, части 70 первичного дерева сети формируют первый путь от общего сетевого узла r источника к сетевому узлу f, и части 71 вторичного дерева сети формируют второй путь от общего сетевого узла r источника к сетевому узлу f. Эти два пути от общего сетевого узла r источника к сетевому узлу f находятся в этом примерном узле, несвязными, кроме сетевого узла c, этот узел является неизбежной вершиной отсечения.
В то время как примерная реализация PIM-SM в обычных системах связи основана на направлении пакетов JOIN и PRUNE вдоль дерева самого короткого пути, в соответствии с вариантом осуществления, основывающимся на PIM-SM, это дерево самого короткого пути заменяется на одно из деревьев из пары избыточных деревьев, то есть, на первичное дерево. Таким образом, в случае сбоя сети возможно быстро получить доступ к вторичному дереву из пары избыточных деревьев, которая, как гарантируют, будет работать, если сбой будет теоретически исправлен.
Получение доступа к вторичному дереву после сбоя может быть выполнено несколькими способами, в зависимости от того, какое время реакции на восстановление сбоя является предпочтительным.
Например, сеть 7 в одном варианте осуществления может управляться в режиме восстановления, что может означать, что после того, как сетевой узел 1 воспримет потерю соединения с деревом многоадресной передачи (то есть, сбой пути), он начнет присоединяться ко вторичному дереву посредством посылки сообщений JOINT PIM или аналогичных сообщений активации, которые маршрутизируются по вторичному дереву. В обычных подходах восстановление потоков многоадресной передачи с PIM является относительно медленным, так как PIM должна сначала ждать конвергенции одноадресной маршрутизации. Напротив, в соответствии с настоящими вариантами осуществления, нет никакого времени ожидания, так как вторичное дерево было предварительно вычислено, и, таким образом, оно сразу является доступным.
В соответствии с вариантом осуществления, чтобы обезопасить дополнительное время восстановления сбоя, сеть 7 может управляться в простом режиме защиты, чтобы избежать задержки конвергенции, происходящей из стандартного способа обработки пакетов JOIN. В этом режиме защиты для каждого сетевого узла 1 как соответствующее первичное дерево, так и резервное дерево строятся заранее; маршрутизаторы (или любые другие сетевые узлы), присоединяющиеся к группе многоадресной передачи, посылают пакеты JOIN вдоль обоих деревьев.
Вторичное дерево может быть сконфигурировано таким образом, чтобы трафик, посланный общим сетевым узлом 4 источника вдоль вторичного дерева, имел отличный адрес источника (вторичный IP адрес источника), чем трафик, посланный общим сетевым узлом источника вдоль первичного дерева (первичный IP адрес источника). Такое дерево также называется деревом (S, G). (Основная) PIM (многоадресная передача IP) может использовать два типа деревьев: деревья (*, G) и (S, G), где S обозначает адрес источника, и G обозначает адрес группы (последний является адресом места назначения IP пакета, но так как для многоадресной передачи нет единственного места назначения, кроме группы, используется это название). Когда маршрутизатор (в качестве варианта осуществления сетевого узла 1) получает пакет многоадресной передачи, он пытается найти запись (S, G) в своей базе данных, запись, где совпадают как адрес источника, так и адрес группы. Если он находит такую запись, он отправляет пакеты относительно этой записи. Если нет такой записи, он пытается найти запись (*, G), причем "*" означает, что она соответствует всем оставшимся источникам. Такое дерево (*, G) поддерживается в пункте встречи, и пакеты, отправленные вдоль этого дерева, сначала могут быть посланы в пункт встречи с одноадресным отправлением (например, если доступна только основная PIM).
Таким образом, первичный трафик и резервный трафик могут легко отличаться друг от друга. В ситуации без сбоев общий сетевой узел 4 источника должен послать трафик только вдоль первичного дерева. Однако, если есть сбой, места назначения, теряющие трафик, могут немедленно указать этот факт вдоль вторичного дерева и активировать трафик вдоль вторичного дерева также. Так как, в соответствии с вариантом осуществления, плоскость передачи общего сетевого узла 4 источника готова к обработке таких пакетов активации, время восстановления после сбоя будет коротким.
В простом режиме защиты может быть несколько сетевых узлов 1, которые получают трафик как вдоль первичного дерева, так и вдоль вторичного дерева. Эта дополнительная нагрузка будет присутствовать в течение только короткого промежутка времени, в то время как восстановление повторно конфигурирует сеть 7 в соответствии с новой топологией, но может быть желательно избежать этой дополнительной нагрузки в некоторых реализациях.
Чтобы избежать дополнительной нагрузки, сеть 7 может управляться в усовершенствованном режиме защиты. В усовершенствованном режиме защиты вторичное дерево может быть только установлено (построено) в плоскости данных, но не быть активным. В случае сбоя возможно активировать вторичное дерево (например, единственным пакетом, посланным вверх вдоль вторичного дерева). Каждый элемент плоскости данных (сетевой узел 1) может немедленно разблокировать вторичное дерево, не вовлекая задержек более сложной обработки сообщений JOIN. Естественно, такой способ нуждается в обработке плоскости данных не только в сетевом узле 4 источника, но и вдоль всех сетевых узлов 1, распределенных вдоль вторичного пути.
Оба режима защиты разрешают выполнить восстановление после сбоя в периоде времени, который не превышает 50 мс, что является обычным требованием для способов быстрой повторной маршрутизации.
Чтобы присоединиться к группе многоадресной передачи, принимающей контент многоадресной передачи от общего сетевого узла 4 источника, сетевой узел 1 должен зарегистрироваться в или иначе ассоциироваться с общим сетевым узлом 4 источника. В соответствии с вариантом осуществления, присоединение к группам многоадресной передачи происходит аналогично PIM-SM. Единственное исключение может заключаться в том, что первичное избыточное дерево из пары избыточных деревьев сети может быть использовано вместо дерева самого короткого пути, чтобы достигнуть общего сетевого узла источника. Таким образом, сообщения JOIN маршрутизируются не вдоль (обратного) самого короткого пути, как с простой PIM, а вдоль первичного дерева, одного из вычисленной пары (например, максимально) избыточных деревьев. Каждое одно из пары вычисленных деревьев сети может быть выбрано как первичное дерево, но этот выбор может быть последовательным в способе, которым одно и то же дерево из пары вычисленных деревьев сети выбирается как первичное дерево сети и как вторичное дерево сети в каждом из сетевых узлов 1.
Таблицы MRIB, используемые для маршрутизации пакетов JOIN, могут быть построены таким образом, что маршрутизация путей, перечисленных в таблицах MRIB, отражала избыточные деревья (первичное дерево и вторичное дерево), вместо того, чтобы отражать обратные самые короткие пути одноадресной передачи так, как это распространено в обычных подходах. Например, в варианте осуществления, показанном на Фиг. 7, сетевой узел f может присоединиться к контенту многоадресной передачи, распределенному общим сетевым узлом r источника посредством пути f-c-b-а-r (первый путь для сетевого узла f).
Чтобы гарантировать последовательную передачу пакета вдоль первичных/вторичных избыточных деревьев, в точности одинаковые два первичных/вторичных избыточных дерева должны в целом быть вычислены в каждом сетевом узле. Например, может быть возможно использовать механизм маршрутизации состояния линии связи (как OSPF или IS-IS), который работает в фоновом режиме, и который исследует полную топологию (например, всякий раз, когда алгоритму нужно прерваться, всегда выбирается узел с самым низким возможным ID маршрутизатора), чтобы вычислить первичные/вторичные избыточные деревья. Вычисление пары избыточных деревьев может быть сделано с приблизительно той же сложностью, что поиск самых коротких путей, см., например, Gabor Enyedi, Gabor Retvari, Andras Csaszar, "On Finding Maximally Redundant Trees in Strictly Linear Time", Symposium on Computers and Communications IEEE, ISCC, Сус, Тунис, июль 2009.
Когда имеет место сбой, он должен быть обнаружен, и должен быть осуществлен процесс повторной маршрутизации.
Обнаружение, что был сбой вдоль пути от общего сетевого узла 4 источника к сетевому узлу 1 места назначения, может быть реализовано маршрутизатором последнего транзитного участка, который является частью пути, использующего быстрый протокол типа приветствия. Например, небольшие "периодические контрольные" пакеты (или, более широко, периодические контрольные сигналы) могут быть посланы с постоянной частотой от общего сетевого узла 4 источника на сетевые узлы 1 места назначения. Эти пакеты могут быть отправлены, используя тот же адрес места назначения многоадресной передачи (вдоль дерева многоадресной передачи), что и сам поток данных многоадресной передачи. Отсутствие такой периодичности указывает, что необходима смена на вторичное дерево.
Обычно протоколы типа приветствия, такие как используемые в OSPF, IS-IS или BFD, приходят к заключению, что есть сбой, если периодические контрольные пакеты не были приняты в течение предварительно сконфигурированного временного интервала. Например, если периодические контрольные пакеты посланы в интервалах 5 мс от общего сетевого узла 4 источника на сетевой узел 1 места назначения, и если маршрутизатор последнего транзитного участка не принял периодические контрольные пакеты за прошедшие 15 мс, то маршрутизатор последнего транзитного участка может прийти к заключению, что первичное дерево дало сбой, и инициирует повторное соединение через вторичное дерево. В отличие от периодических контрольных пакетов, используемых посредством OSPF, IS-IS или BFD, которые посылаются двунаправлено, в соответствии с вариантом осуществления, периодические контрольные пакеты посылаются только в одном отправлении (сетевой узел 4 источника обычно не может больше узнать самостоятельно, что имел место сбой). В настоящем описании периодический контрольный пакет посылается только от общего сетевого узла 4 источника многоадресной передачи на место назначения.
Альтернативно, периодических контрольных пакетов данных можно избежать, если есть постоянный интенсивный трафик многоадресной передачи в сети 7, который сигнализирует отсутствие сбоя. В этом случае пакеты трафика могут служить в качестве периодических контрольных пакетов; периодичность обозначает прием некоторого пакета, посланного в группу многоадресной передачи.
В последующем описании будет рассмотрен механизм повторной маршрутизации в режиме восстановления.
В режиме восстановления, как только сетевой узел 1 последнего транзитного участка (например, маршрутизатор) обнаруживает, что периодические контрольные пакеты не принимаются, как ожидалось, он предполагает, что путь вдоль первичного дерева ухудшился. Предполагая, что имел место единственный сбой (узел, линия связи или единственная SRLG), который не разбил сеть 7 на две сети, путь вдоль другого дерева из (максимально) пары избыточных деревьев не поврежден. Таким образом, нет потребности ждать конвергенции одноадресной передачи (как делает PIM-SM), но сетевой узел 1 места назначения может немедленно послать пакеты JOIN вдоль вторичного дерева, которое было предварительно вычислено. Так как простой пакет JOIN может быть легко обработан, с оптимизированной реализацией это повторное присоединение не должно занимать слишком много времени. Таким образом, может быть обеспечено быстрое восстановление. Этот механизм показан на Фиг. 8: на этапе S1 при нормальной операции система находится в состоянии без сбоев. На этапе S2 в случае потери периодичности (периодические контрольные пакеты не приняты в сетевом узле, зарегистрированном в общем сетевом узле источника), сообщение JOIN посылается на общий сетевой узел источника через вторичное дерево. На этапе S3 определяется, была ли успешна посылка сообщения JOINT на общий сетевой узел 4 источника через вторичное дерево. Если да, то на этапе S5 периодические контрольные пакеты посылаются на сетевой узел 4 через вторичное дерево, и достигается состояние единственного сбоя, которое может быть указано на этапе S6. Если нет, то достигается состояние множественных сбоев на этапе S4, которое может быть указано.
В последующем описании рассмотрены механизмы повторной маршрутизации в простом режиме защиты, который может быть использован, когда полное время восстановления после сбоя в режиме восстановления не будет достаточно коротким.
Различение между двумя деревьями сети из пары деревьев сети, например, может быть сделано посредством использования нового флага в сообщениях (как в сообщениях JOIN или сообщениях PRUNE), маршрутизированных от сетевого узла 1 места назначения на общий сетевой узел 4 источника (например, флаг TreelD, где 0 обозначает первичное дерево, 1 обозначает вторичное дерево), или посредством использования нового вида типа сообщения PIM, которое, например, может иначе быть идентичным сообщению JOIN.
Так как любой из этих подходов потребует изменений в соответствующем протоколе связи, может быть использован дополнительный подход, а именно, чтобы назначить дополнительный IP адрес каждому из защищенных источников и пункт встречи. Защищенный источник обозначает узел 4 источника (с деревом многоадресной передачи), чей трафик защищен. Нет необходимости защищать все деревья многоадресной передачи сети 7 многоадресной передачи, но если дерево многоадресной передачи должно быть защищено, сообщения JOINT должны быть посланы на него вдоль обоих из деревьев MRT, таким образом, эти сетевые узлы должны иметь два IP адреса (если нужно избежать изменений протокола), в то время как источники многоадресной передачи, которые не должны быть защищены, могут иметь только один IP адрес. Этот дополнительный адрес разрешает специальную маршрутизацию для сообщений, то есть, разрешает выборочно направить сообщения вдоль первичного дерева или вторичного дерева из пары деревьев в восходящем направлении дерева. Легко назначить дополнительный IP адрес каждому из общих сетевых узлов 4 источника или других узлов, так как такие IP адреса обычно не являются необходимыми вне автономной системы (AS), поэтому могут быть использованы даже элементы пространства частных адресов (например. 192.168.0.0/16 или 10.0.0.0/8). Как уже упомянуто, использование различных IP адресов желательно, чтобы выборочно направить сообщения (сообщения управления одноадресной передачей) вдоль первичного дерева или вторичного дерева из пары деревьев в восходящем направлении дерева. Для отправки контента многоадресной передачи в направлении вниз от общего сетевого узла 4 источника, единственный IP адрес многоадресной передачи является достаточным для группы многоадресной передачи.
Фиг. 9 и 10 показывают пример, как маршрутизация сообщений управления одноадресной передачей (подобно сообщениям JOINT или сообщениям PRUNE) от сетевого узла 1 места назначения на общий сетевой узел 4 источника может быть обработана, используя таблицы MRIB.
На Фиг. 9 показан обычный подход: в сетевом узле сохранена таблица 90. Записи 91 обычно представляют обратные самые короткие пути, и они получены на основании механизмов одноадресной маршрутизации. Например, если сообщение должно быть послано от сетевого узла 1 на общий сетевой узел 4 источника, указанный посредством "S1", то сетевой узел 1 маршрутизирует сообщение управления одноадресной передачей на сетевой узел 1, указанный записью "NextHop1". В случае сбоя сети, который блокирует этот маршрут, нет никакой возможности немедленно реагировать.
Напротив, на Фиг. 10 показан вариант осуществления: в сетевом узле 1 места назначения сохранена таблица 100. Записи 101 представляют первые пути через первичное дерево для различных общих сетевых узлов 4 источника, и записи 102 представляют вторые пути через вторичное дерево для общих сетевых узлов 4 источника, используемых в случае сбоя. Например, в состоянии без сбоев сообщения управления одноадресной передачей, которые должны быть посланы от сетевого узла 1 места назначения на общий сетевой узел 4 источника, указанный посредством "S1", маршрутизируются на сетевой узел, указанный записью "NextHop1" (первый путь). В случае сбоя сети, который блокирует этот маршрут, сообщения управления одноадресной передачей, которые должны быть посланы от сетевого узла 1 на общий сетевой узел 4 источника, указанный посредством "S1", маршрутизируются на сетевой узел, указанный записью "NextHop2" (второй путь).
Backup
Кроме того, желательно различать пакеты, посланные вдоль дерева по умолчанию (первичное дерево), от пакетов, отправленных вдоль резервного дерева (вторичное дерево), так как иначе могут быть сформированы петли направления. Это может быть легко реализовано при назначении двух IP адресов на каждый защищенный источник, как описано выше, так как пакеты могут быть высланы через интерфейсы, принадлежащие резервному (вторичному) дереву, в то же время имея резервный IP в поле IP адреса источника. Так как многоадресное отправление обычно основано как на адресе группы, так и на адресе источника, это решение не нуждается ни в какой модификации в плоскости отправления. И также, это является естественным поведением PIM-SM. Присоединение к деревьям (S1, G1) представляет отличающееся дерево многоадресной передачи, чем дерево (S2, G1), таким образом, различные записи многоадресного отправления будут установлены для (S1, G1) и для (S1, G1). Как было описано ранее, базы данных многоадресного отправления в сетевых узлах 1 могут содержать записи (S, G) и (*, G). Если запись (S1, G1) и запись (S2, G1) являются доступными, IP пакеты данных с одним и тем же адресом места назначения (адресом группы) могут быть отправлены по-разному в зависимости от адреса источника, который они содержат; если адрес источника совпадает с S1, будет использована первая запись, если совпадает с S2, то будет использована вторая запись. Если ни одна из них не будет соответствовать, то IP пакеты данных будут использовать запись (*, G1), если есть такая запись, или будут пропущены, если никакая запись не может быть найдена для них вообще.
Должно быть отмечено, что дополнительные IP адреса могут быть использованы только в случае IP сетей. В целом, могут быть использованы "отметки", которые описывают, куда отправить пакеты, и две отметки могут быть использованы для каждого места назначения, чтобы описать эти два дерева.
Когда используются IP сети, отметка является парой (S, G), источником и группой, таким образом, чтобы получить две отметки, два различных IP адреса могут быть назначены на источник (выбраны два различных S-s). Альтернативно, также возможно назначить две различные G-s на эти два дерева. Кроме того, если, например, используется mLDP, такие адреса не существуют, только отметки, и, таким образом, две отметки назначаются на деревья локально в каждом узле (MPLS не использует глобальные отметки, но замещает их перед отправкой пакета).
Может быть использовано преобразование адреса в общем сетевом узле 4 источника. Если нужно избежать дополнительной нагрузки, ассоциированной с преобразованием адреса, то может быть принят во внимание входящий интерфейс пакета данных; так как входящий интерфейс принадлежит только одному сетевому дереву, дерево сети может быть определено. Если входящий интерфейс уже принят во внимание для каждой записи маршрутизации многоадресной передачи для проверок отправки по обратному пути (RPF), возможно сохранить другой ID интерфейса, таким образом, идентификация, по какому дереву был принят пакет данных, может быть реализована посредством простого сравнения. Кроме того, также может быть обеспечен список интерфейсов (например, сохранен) для каждой записи для исходящих интерфейсов, что позволяет просто добавить интерфейсы резервного дерева (вторичного дерева) в конец этого списка; если известно, где начинается резервный список, перечисление этих интерфейсов является легким.
В этом или другом варианте осуществления может быть патологический случай, где есть ветвь отсечения (линия связи, обеспечивающая единственную возможность соединения с общим сетевым узлом источника) в сети 7, так как узел 1, принимающий пакет вдоль этой линии связи, не может решить, использовалось ли первичное дерево или вторичное дерево. Этот случай изображен на Фиг. 12. Если недостаток обработки ветвей отсечения, рассмотренных ниже, не приемлем для оператора, ветви отсечения IP уровня могут быть легко устранены посредством лежащего в основе сетевого уровня (сети Ethernet VLAN, два MPLS SLPs или оптические пути для оптики).
В варианте осуществления, показанном на Фиг. 12, есть ветвь отсечения в сети 1200; общий сетевой узел источника s находится в компоненте, соединенном с 2 ветвями с сетевым узлом x; и другой компонент соединяется через сетевой узел y.
В варианте осуществления, показанном на Фиг. 12, если есть сбой, отсекающий сетевой узел x от s, все места назначения в другом компоненте обнаружат его и повторно присоединят, используя резервное дерево (которые обязательно снова используют линию связи x-y). Однако, если был сбой в другом компоненте, узел x примет каждый пакет вдоль этих деревьев сети. Направление трафика обоих деревьев сети на линию связи x-y приведет к дублированию пакетов в сетевом узле y (и всех сетевых узлах, принимающих трафик от сетевого узла y), которого нужно избежать. Этот вид дублирования будет повторен в каждой ветви отсечения, вынуждая трафик масштабировать по экспоненте с количеством ветвей отсечения. Так как сетевой узел x не обнаруживает потерю периодичных контрольных пакетов (так как он является промежуточным сетевым узлом), и так как трафик должен проходить через ветвь отсечения, даже когда есть сбой, только трафик вторичного дерева сети посылается через ветвь отсечения. Естественно, трафик, принятый в сетевом узле y, должен быть направлен вдоль всех активных линий связи (как по первичному, так и по резервному дереву), так как некоторые сетевые узлы могут потерять соединение с сетевым узлом y вдоль вторичного дерева. Таким образом, некоторые места назначения могут принять некоторые пакеты дважды (но никогда больше), которые могут быть обработаны приложениями (например, выделенными операциями отбрасывания).
Другой эффект наличия ветвей отсечения в сети 7 состоит в том что, если только трафик дерева сети будет направлен, это означает, что все сетевые узлы теряют периодичный контрольный сигнал, даже если сбой был в компоненте, содержащем сетевой узел y. Однако обычно это не является существенной проблемой, так как сетевые узлы могут немедленно переключиться на путь защиты с минимальным разрушением трафика.
Как уже упомянуто, в режиме восстановления предварительно вычислено вторичное дерево, однако оно не предварительно построено. Для некоторых сетевых узлов 1 места назначения (таких как маршрутизаторы), продолжительность обработки пакетов сообщения, подобных пакетам JOIN, в течение которой строится дерево многоадресной передачи, может занять слишком много времени, так как необходимо вовлечение плоскости управления, таким образом, осуществляя повторную маршрутизацию после сбоя слишком долго даже без необходимости ожидания конвергенции одноадресной маршрутизации. Чтобы избежать этой проблемы, не только первичный путь, но также и вторичный путь могут быть построены заранее. Таким образом, одна возможность избежать этой проблемы состоит в том, чтобы построить оба сетевых дерева в одно и то же время (простой режим защиты). Например, место назначения, желающее присоединиться к группе многоадресной передачи, может послать регулярные сообщения JOINT по обоим деревьям. Сообщение JOIN для первичного дерева может быть послано на ("нормальный", первичный) адрес общего сетевого узла 4 источника (как S1 на Фиг. 10), в то время как сообщение JOIN для вторичного/резервного дерева может быть послано на резервный (вторичный) адрес общего сетевого узла 4 источника (как S1Backup на Фиг. 10).
Когда нет сбоя, общий сетевой узел 4 источника посылает трафик, используя только свой первичный адрес. Следовательно, нет трафика по вторичному дереву, то есть, источник общего сетевого узла 4 источника не посылает трафик при использовании своего вторичного адреса.
Если, однако, имеет место сбой, конечные точки в форме сетевых узлов 1 места назначения обнаруживают его, теряя периодические контрольные пакеты, и посылают сообщение активации на общий сетевой узел 4 источника вдоль резервного дерева. При его приеме общий сетевой узел 4 источника начинает посылать один и тот же трафик по обоим деревьям.
Использование только резервного дерева не является недостаточным, трафик должен быть послан вдоль обоих деревьев в одно и то же время. Деревья MRT могут только гарантировать, что каждый сетевой узел 1 места назначения остается достижимым вдоль по меньшей мере одного из деревьев, но не то, что они остаются достижимыми вдоль второго дерева в целом. Поэтому, могут быть некоторые сетевые узлы 1 места назначения, которые теряют соединение вдоль вторичного дерева из-за сбоя, когда их пути вдоль первичного дерева остаются неповрежденными, таким образом, эти узлы 1 даже не обнаруживают сбой.
Преимущество этого варианта осуществления состоит в том, что нет необходимости изменять плоскость направления сетевых узлов 1 места назначения (таких как маршрутизаторы) вдоль дерева сети. Однако некоторое изменение в плоскости направления общего сетевого узла 4 источника все еще должно иметь место: общий сетевой узел 4 источника должен обработать пакет активации, указывающий, что резервное дерево также должно быть использовано (плоскость управления не должна быть вовлечена, чтобы гарантировать достаточно хорошее время реакции).
В течение времени, когда используются оба дерева, промежуточные сетевые узлы 1 (такие как маршруты) должны направить пакеты по обоим сетевым деревьям. Это обозначает некоторый дополнительный трафик в сети. Даже если этот дополнительный трафик имеет место только в течение короткого промежутка времени, в то время как имеет место глобальная повторная конфигурация IGP, это может вызвать перегрузку.
Недостаток посылки пакетов потока многоадресной передачи вдоль обоих деревьев сети одновременно во время сбоя может быть уменьшен посредством использования усовершенствованного режима защиты: в усовершенствованном режиме защиты при установке дерева многоадресной передач сетевые узлы 1 могут использовать обычные сообщения (как пакеты JOIN), чтобы присоединиться по первичному дереву, но могут использовать специальные сообщения (как пакеты JOIN) вдоль вторичного дерева. Использование специальных сообщений вдоль вторичного дерева сигнализирует сетевым узлам 1, обрабатывающих их, что пути должны быть только созданы (выполняя аутентификацию и аналогичные задачи) с "блоком" в исходящих интерфейсах. В то время как этот блок активен, никакому пакету, принадлежащему группе многоадресной передачи, не разрешено посылаться через этот интерфейс.
Специальное сообщение (например, пакет JOIN) может быть реализовано по-разному: это может быть новый тип пакета PIM, например, "заблокированный пакет JOIN ", который иначе идентичен пакету JOIN по своему контенту, но его тип отражает отличие; или это может быть нормальное сообщение JOIN, содержащее флаг, указывающий, что исходящий интерфейс должен быть заблокирован до следующего уведомления.
В усовершенствованном режиме защиты, когда сетевой узел 1 последнего транзитного участка обнаруживает потерю периодичных контрольных пакетов по первичному дереву, он может послать пакет активации вверх по вторичному дереву, которое вынуждает блоки удаляться в пути, вдоль которого посылается пакет активации. Блок, например, может быть удален, когда этот пакет активации принят через вторичное дерево от нижнего узла (маршрутизатора), в соответствии с записями в таблице MRIB, как, например, показано на Фиг. 10.
Чтобы гарантировать хорошее время реакции, сообщение активации может быть направлено и обработано в каждом транзитном участке (сетевом узле 1) в плоскости данных. То есть, обработка плоскости данных может быть в состоянии установить "заблокированный" флаг в MFIB для соответствующей группы многоадресной передачи в "разблокировано". Кроме того, чтобы облегчить быстрое направление сообщения активации (пакет указания сбоя), FIB одноадресной передачи должен содержать информацию о маршрутизации для вторичного дерева. Самый легкий способ реализовать это состоит в том, чтобы снова использовать дополнительный IP адрес для каждого из защищенных общих сетевых узлов 4 источника и пункта встречи, запись направления, для которой адрес отражает информацию о следующем транзитном участке по направлению к общему сетевому узлу 4 источника по вторичному дереву.
Пакет активации может быть распознан для направления вдоль вторичного пути даже для альтернативы, когда общий сетевой узел источника не имеет вторичного IP адреса. Это является уже решенной проблемой, так как плоскость данных всех маршрутизаторов должна обработать этот пакет данных.
Пакет активации является специальным, так как он должен быть направлен и обработан маршрутизаторами (сетевыми узлами 1), которых он достигает, таким образом, эти маршрутизаторы могут удалить блоки вдоль пути пакета активации.
Пример усовершенствованного режима защиты показан на Фиг. 11. На Фиг. 11 предполагается, что сетевой узел c хочет присоединиться к общему сетевому узлу r источника. Пакет JOIN посылается вдоль первичного дерева от сетевого узла c на общий сетевой узел r источника с помощью (первичного) пути c-b-а-r, который сохранен в таблице MRIB. В дополнение, вдоль вторичного дерева посылается заблокированный пакет JOIN, то есть, вдоль пути c-d-e-r (используя, например, демон PIM). Этот заблокированный пакет JOIN отличается от обычного пакета JOIN тем, что он вынуждает интерфейсы вдоль этого пути блокироваться от транспортировки пакетов данных от общего сетевого узла r источника на сетевой узел c.
В случае ситуации без сбоев общий сетевой узел r источника использует первичное дерево (сегменты 70) для направления контента многоадресной передачи на сетевой узел c, как указано на Фиг. 7. Когда есть сбой, и первичный путь идет вниз (например, предполагается, что сетевой узел а дает сбой), сетевой узел c обнаруживает потерю периодичных контрольных пакетов (потерю пакетов данных управления) и посылает специальный пакет активации одноадресной передачи, содержащий вторичный IP адрес места назначения общего сетевого узла r источника. Этот специальный адрес места назначения соответствует записи FIB, которая отражает маршрутизацию вверх вдоль вторичного дерева. После того, как маршрутизаторы (сетевые узлы), затронутые направлением специального пакета активации одноадресной передачи, направили этот пакет, они удаляют блок своих интерфейсов, и альтернативный (вторичный) путь становится активным. Таким образом, специальный пакет активации одноадресной передачи не обрабатывается только общим сетевым узлом r источника, на который он посылается, но всеми сетевыми узлами вдоль пути c-d-e-r также, то есть, маршрутизаторы вдоль пути отправляют пакет и обрабатывают его.
Эти пакеты могут не только быть обработаны общим сетевым узлом источника многоадресной передачи, на который они посылаются, но также всеми сетевыми узлами вдоль пути; маршрутизаторы вдоль пути могут направить пакет данных и обработать его.
Так как блоки вдоль вторичного пути должны быть удаляемыми без вовлечения плоскости управления, специальные пакеты активации одноадресной передачи, удаляющие эти блоки, должны легко распознаваться. Таким образом, например, могут быть использованы пакеты UDP со (специальным) известным адресом порта назначения.
Выход из группы многоадресной передачи может быть сделан способом, аналогичным тому, что делает обычный PIM-SM, за исключением того, что пакеты PRUNE могут быть направлены вдоль активного дерева(ьев) (и вдоль заблокированных, и разблокированных). Кроме того, аналогично PIM, может быть применен некоторый перерыв, таким образом, сетевые узлы могут быть удалены из деревьев, если пакеты JOIN, поддерживающие соединение, не приняты вовремя.
В случае единственного сбоя, места назначения, которые потеряли соединение, могут немедленно повторно присоединиться к группе многоадресной передачи, используя вторичное дерево. Однако со временем выгодно подготовиться к другому сбою и вычислить новые (максимально) избыточные деревья относительно новой топологии, вызванной сбоем. Естественно, эта повторная конфигурация не должна вызывать другой перебой трафика.
Когда есть реконфигурация после единственного сбоя, соединение является устойчивым в каждом из мест назначения, обозначая, что каждое из них соединено с источником или вдоль установленного по умолчанию дерева или вдоль резервного дерева. Может быть применен принцип замыкания перед разрывом. Поэтому, возможно для всех мест назначения повторно построить другое дерево без какой-либо проблемы в первой фазе. Когда каждый из сетевых узлов 1 готов с первой фазой (после некоторого времени), они могут измениться на недавно построенное дерево и реконфигурировать другое, если необходимо (это является второй фазой). Когда вторая фаза готова, сетевые узлы 1, принимающие трафик вдоль вторичного дерева, наконец, могут переключиться назад на установленное по умолчанию дерево и закончить реконфигурацию.
Группа каналов с общим риском (SRLG) является набором линий связи, которые обычно дают сбой вместе. Защита от любой возможной SRLG является NP-полной, таким образом, она не может быть обычно обеспечена избыточными деревьями. Однако два наиболее распространенных типа групп SRLG могут быть защищены. Для "локальных групп SRLG", которые составлены линиями связи, соединенными с общим маршрутизатором (например, линии связи, соединенные с одной и той же картой линии), варианты осуществления являются подходящими, так как они могут обрабатывать их как сбой узла.
LAN является другим важным источником групп SRLG. Они могут быть легко обработаны снова, если (максимально) механизм вычисления избыточного дерева рассматривает LAN как псевдо узлы. Естественно, если следующим транзитным участком является псевдо узел, этот узел не может быть помещен в таблицу направления IP; в этом случае необходим следующий транзитный участок, который не является проблемой, так как могут быть вычислены целые деревья.
Как стало очевидно из вариантов осуществления, способ, представленный в настоящем описании, обеспечивает различные преимущества. Реконфигурация, использующая режим восстановления, намного быстрее в случае любого единственного сбоя, чем в случае использования обычной PIM-SM, так как нет необходимости ждать конвергенции одноадресной маршрутизации. При использовании режима защиты пути предварительно строятся любым образом, и активация резервного дерева, как ожидается, будет далеко ниже ограничения конвергенции 504 мс быстрого повторного маршрута. Простой режим защиты имеет дополнительное преимущество, что промежуточные сетевые узлы не должны поддерживать новые виды пакетов активации, и только маршрутизаторы последнего транзитного участка и первого транзитного участка (источник) должны распознать его. Другое преимущество состоит в том, что реализация предложенных механизмов в плоскости данных (которая часто рассматриваются как трудная задача из-за требования программирования низкого уровня) довольно легка. Кроме того, будет оценено, что аналогичные преимущества приведут к тому, что описания, представленные в настоящем описании, реализованы в контексте mLDP.
В то время как способ, представленный в настоящем описании, был описан относительно примерных вариантов осуществления, должно быть понятно, что это описание предназначено только в иллюстративных целях. Соответственно, предназначено, чтобы настоящее изобретение ограничивалось только областью формул настоящего изобретения, приложенных к нему.