СПОСОБ И СИСТЕМА ОБНОВЛЕНИЯ ВЫДЕЛЕНИЯ ДИАЛОГОВ В АГРЕГИРОВАНИИ ЛИНИЙ СВЯЗИ
METHOD AND SYSTEM OF UPDATE OF DIALOG SELECTION IN COMMUNICATION LINE AGGREGATION

ОБЛАСТЬ ТЕХНИКИ
Варианты осуществления данного изобретения в общем смысле относятся к агрегированию линий связи, и, более конкретно, относятся к способам и устройствам для основывающегося на диалогах подбора для группы агрегирования линий связи (LAG).
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
Как это демонстрируется на Фиг. 1A, агрегирование линий связи представляет собой конфигурирование сети, и процесс используется для агрегирования множественных линий связи между парой узлов 120, 122 в сети для того, чтобы позволять передачу пользовательских данных на каждом из линий связи, участвующих в группе 101 агрегирования линий связи (LAG, Link Aggregation Group) (см., например, Институт инженеров по электротехнике и электронике (IEEE), Стандарт 802.1AX). Агрегирование множественных сетевых соединений, таким образом, может увеличивать пропускную способность, не говоря о том, что единственное соединение может способствовать, и/или может использоваться, чтобы предоставлять отказоустойчивость в случае перебоя одного из линий связи. “Распределенное отказоустойчивое межсоединение сети” (DRNI, Distributed Resilient Network Interconnect) 102 (см. Статью 8 из IEEE 802.1AX-REV/D1.0) точно описывает расширения агрегирования линий связи с тем, чтобы она имела возможность использовать агрегирование линий связи на сетевом интерфейсе даже между более чем двумя узлами, например, между четырьмя узлами K, L, М. и O, которые демонстрируются на Фиг. 1B.
Как показано на Фиг. 1B, LAG формируется между сетью 150 и сетью 152. Более конкретно, LAG формируется между виртуальными узлами, или “порталами” 112, 114, в LAG. Первый виртуальный узел, или портал 112, в LAG включает в себя первый узел (K) и второй узел (L). Второй виртуальный узел, или портал 114, в LAG включает в себя третий узел (M) и четвертый узел (O). Эти узлы могут также упоминаться как “портальные системы”. Заметим, что как первый, так и второй виртуальные узлы, или порталы 112, 114, в LAG могут включать в себя единственный узел, или больше двух узлов, в портале. Узлы K и М в LAG соединяются как равноправные узлы, и узлы L и O в LAG, также соединяются как равноправные узлы. Как это используется в данной заявке, термин “виртуальный узел в LAG” ссылается на портал DRNI в документации IEEE, обсужденной выше (то есть, это два, или больше узлов, которые представляются как единственный узел, для своих соответствующих равноправных узлов). Дополнительно, формулировка, что виртуальный узел, или портал 112, “включает в себя” два узла K, L, означает, что виртуальный узел, или портал 112, эмулируется узлами K, L, на это можно ссылаться как на “эмулированную систему”. Аналогично, формулировка, что виртуальный узел, или портал 114, “включает в себя” два узла М и O, означает, что виртуальный узел, или портал 114, эмулируется узлами М и O. Заметим, что группа 161 агрегирования линий связи формируется также между линиями связи K-M и L-O.
Множественные узлы, участвующие в LAG, представляются в качестве одного и того же виртуального узла, или портала, с единственным системным ID, для их равноправного партнера в LAG. Системный ID используется, чтобы идентифицировать любой узел (например, узел K, узел L, узел М и узел O). Системный ID включается в состав блоков данных протокола управления агрегированием линий связи (LACPDU), отправляемых между индивидуальными партнерскими узлами LAG (например, между K и М, или между L и O). Системный ID может генерироваться на основе идентификаторов составных узлов портала, используя любой индивидуальный идентификатор, или любую их комбинацию. Общий, и уникальный системный ID для соответствующего виртуального узла или портала в LAG может, согласованным образом, генерироваться. Следовательно, как это показано на Фиг. 1B, узел K и узел L принадлежат одной и той же сети 150, и они являются частью одного и того же DRNI-портала 112 (то есть одного и того же виртуального узла в LAG), и используют общий системный ID “K” для эмулированного виртуального узла 112 в LAG. Аналогично Узлы М и O в сети 152 рассматриваются узлами K и L в качестве единственного виртуального узла, или портала 114, в LAG, с системным ID “M”.
Фиг. 1B также показывает выделение линии связи DRNI (см. полужирный линия связи между K и М. на Фиг. 1B). Выделение службы интерфейса может подразумевать виртуальную локальную сеть (VLAN), и идентификатор для службы может представлять собой идентификатор VLAN (VID), такой, как служебный VID (то есть, “S-VID”) (обычно идентифицирующий службы на интерфейсах Сеть-Сеть (NNI)), или VID для потребителей (то есть «C-VID») (обычно идентифицирующий службы на интерфейсах Пользователь-Сеть (UNI)). (Заметим, что B-VIDs являются неотличимыми от S-VIDs, поскольку у них обладают одним и тем же Ethertype.) В примере на Фиг. 1B, служба выделяется верхнему линии связи (между верхними узлами K, M). Верхний линия связи, следовательно, выбирается в качестве «рабочего» линии связи, и более нижний линия связи (между узлами L, O) представляет собой “резервный” линия связи, или линия связи “для обеспечения безопасности”. Выделение линии связи службы, то есть использование одного и того же физического линии связи для передачи кадров, как в прямом, так и в обратном, направлении, является крайне желательным.
Передаваемые кадры могут динамически перераспределяться, и такое перераспределение может быть результатом перемещения или добавления линии связи, или изменения в схеме, балансирующей нагрузку. Перераспределение трафика, происходящее в середине потока трафика, может вызывать нарушение порядка кадров. Чтобы гарантировать то, что кадры не дублируются, или не переупорядочиваются, вследствие этого перераспределения, агрегирование линий связи использует протокол маркировки. Цель использования протокола маркировки состоит в том, чтобы обнаруживать, когда абсолютно все кадры данного потока трафика успешно принимаются на удаленном равноправном узле. Для достижения этого, LACP передает блоки данных протокола маркировки (PDUs, Marker Protocol Data Units), на каждом из линий связи канала порта. Партнерская система откликается на принятый PDU маркировки сразу, как только она принимает абсолютно все кадры, передаваемые на этом линии связи перед PDU маркировки. Партнерская система затем отправляет PDU отклика на маркировку, для каждой принятого PDU маркировки. Как только PDU-блоки отклика на маркировку принимаются локальной системой на всех соучаствующих линиях связи портала, локальная система может перераспределять кадры в потоке трафика, избегая, таким образом, какого-либо риска нарушения порядка кадров. Несмотря на это, может оказаться проблематичным гарантировать, чтобы PDU отклика на маркировку работала надлежащим образом в DRNI, в которой один, или оба равноправных узла в LAG могут содержать в себе множественные системы. Меры, поэтому, должны быть приняты для того, чтобы гарантировать то, что упорядочивание кадров обеспечивается, для некоторых последовательностей обменов кадрами,- известных как диалоги,- между портами в таких группах LAG.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Раскрыт способ обновления выделения диалогов в агрегировании линий связи. Способ воплощается при помощи сетевого устройства для обновления выделения диалогов по линиям связи группы агрегирования линий связи. Сетевое устройство коммуникационно связано с портами агрегирования, через линии связи группы агрегирования линий связи, и оно обрабатывает диалоги, состоящие из упорядоченных последовательностей кадров. Способ начинается с проверки того, что воплощение, протокола управления агрегированием линий связи (LACP, Link Aggregation Control Protocol), зависящего от диалогов, является действующим. Затем определяется то, что действия, при помощи улучшенных блоков данных протокола управления агрегированием линий связи (LACPDU), являются возможными. Улучшенные LACPDU могут использоваться для обновления информации о выделении диалогов, и определение является основанным, по меньшей мере, частично, на проверке совместимости между первым набором рабочих параметров сетевого устройства и вторым набором рабочих параметров партнерского сетевого устройства, где партнерское сетевое устройство представляет собой удаленное сетевое устройство, из группы агрегирования линий связи, коммуникативно-сопряженное с сетевым устройством. Затем состояние выделения диалогов, для порта агрегирования группы агрегирования линий связи, обновляется, на основе определения того, что состояние выделения диалогов является некорректным, где состояние выделения диалогов, для порта агрегирования группы агрегирования линий связи, указывает список диалогов, передающихся через порт агрегирования.
Раскрыто сетевое устройство, выполненное с возможностью обновлять выделение диалогов при агрегировании линий связи. Сетевое устройство выполняется с возможностью быть коммуникативно-сопряженным с портами агрегирования, через линии связи группы агрегирования линий связи, и сетевое устройство выполняется с возможностью обрабатывать диалоги, и, при этом, каждый диалог состоит из упорядоченной последовательности кадров. Сетевое устройство содержит контроллер порта агрегирования, выполненный с возможностью передавать кадры к портам агрегирования группы агрегирования линий связи, (и принимать кадры от них), и процессор сети. Сетевой процессор включает в себя контроллер агрегирования, выполненный с возможностью проверять, что воплощение протокола управления агрегированием линий связи (LACP), зависящего от диалогов, является действующим; определять, что действия, при помощи улучшенных блоков данных протокола управления агрегированием линий связи (LACPDU), являются возможными, где улучшенные LACPDU могут использоваться для обновления информации о выделении диалогов, где определение является основанным на проверке совместимости между первым набором рабочих параметров сетевого устройства и вторым набором рабочих параметров партнерского сетевого устройства, и где партнерское сетевое устройство представляет собой удаленное сетевое устройство, из группы агрегирования действующих параметров линий связи, коммуникативно-сопряженное с сетевым устройством; обновлять состояние выделения диалогов, для порта агрегирования группы агрегирования линий связи, на основе определения того, что состояние выделения диалогов является некорректным, где состояние выделения диалогов, для порта агрегирования группы агрегирования линий связи, указывает список диалогов, передающихся через порт агрегирования.
Раскрыт долговременный машиночитаемый носитель, на котором сохранены инструкции, которые при их исполнении процессором предписывают процессору выполнять операции по обновлению выделения диалогов при агрегировании линий связи. Действия воплощаются при помощи сетевого устройства, для обновления выделения диалогов по линиям связи группы агрегирования линий связи. Сетевое устройство выполняется с возможностью быть коммуникативно-сопряженным с портами агрегирования, через линии связи группы агрегирования линий связи, и оно выполняется с возможностью обрабатывать диалоги, состоящие из упорядоченных последовательностей кадров. Действия начинаются с проверки того, что воплощение протокола управления агрегированием линий связи (LACP), зависящего от диалогов, является действующим. Затем определяется то, что действия, при помощи улучшенных блоков данных протокола управления агрегированием линий связи (LACPDU), являются возможными. Улучшенные LACPDU могут использоваться для обновления информации о выделении диалогов, и определение является основанным, по меньшей мере, частично, на проверке совместимости между первым набором рабочих параметров сетевого устройства и вторым набором рабочих параметров партнерского сетевого устройства, где партнерское сетевое устройство представляет собой удаленное сетевое устройство, из группы агрегирования линий связи, коммуникативно-сопряженное с сетевым устройством. Затем состояние выделения диалогов, для порта агрегирования группы агрегирования линий связи, обновляется, на основе определения того, что состояние выделения диалогов является некорректным, где состояние выделения диалогов, для порта агрегирования группы агрегирования линий связи, указывает список диалогов, передающихся через порт агрегирования.
Компьютерная программа, имеющая инструкции, которые при их исполнении процессором предписывают процессору выполнять операции, воплощаемые при помощи сетевого устройства, для обновления выделения диалогов по линиям связи группы агрегирования линий связи. Действия воплощаются сетевым устройством для обновления выделения диалогов по линиям связи группы агрегирования линий связи. Сетевое устройство выполняется с возможностью быть коммуникативно-сопряженным с портами агрегирования, через линии связи группы агрегирования линий связи, и выполняется с возможностью обрабатывать диалоги, состоящие из упорядоченных последовательностей кадров. Действия начинаются с проверки того, что воплощение протокола управления агрегированием линий связи (LACP), зависящего от диалогов, является действующим. Затем определяется то, что действия, при помощи улучшенных блоков данных протокола управления агрегированием линий связи (LACPDU), являются возможными. Улучшенные LACPDU могут использоваться для обновления информации о выделении диалогов, и определение является основанным, по меньшей мере, частично, на проверке совместимости между первым набором рабочих параметров сетевого устройства и вторым набором рабочих параметров партнерского сетевого устройства, где партнерское сетевое устройство представляет собой удаленное сетевое устройство, из группы агрегирования линий связи, коммуникативно-сопряженное с сетевым устройством. Затем состояние выделения диалогов, для порта агрегирования группы агрегирования линий связи, обновляется, на основе определения того, что состояние выделения диалогов является некорректным, где состояние выделения диалогов, для порта агрегирования группы агрегирования линий связи, указывает список диалогов, передающихся через порт агрегирования.
Носитель содержит вышеупомянутую компьютерную программу, при этом носитель представляет собой одно из следующего: электронный сигнал, оптический сигнал, радиосигнал, или машиночитаемый носитель информации.
Варианты осуществления изобретения предоставляют механизмы для того, чтобы обновлять выделение диалогов для портов в группах агрегирования линий связи между сетевыми устройствами так, чтобы упорядочивание кадров для последовательностей обменов кадрами могло сохраняться по сетевым устройствам. Варианты осуществления изобретения могут употребляться на сетевых устройствах, воплощающих группы агрегирования линий связи между парой узлов, или портальных систем, содержащих множественные узлы на каждом портале, таких как системы DRNI.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Изобретение может лучше всего быть понято, со ссылками на последующее описание и сопроводительные чертежи, которые используются, чтобы продемонстрировать варианты осуществления изобретения. На чертежах:
Фиг. 1A представляет собой графическое изображение одного варианта осуществления группы агрегирования линий связи между двумя сетевыми устройствами.
Фиг. 1B представляет собой графическое изображение одного варианта осуществления двух порталов, соединяющих две сети через группу агрегирования линий связи.
Фиг. 2 представляет собой графическое изображение одного варианта осуществления подуровня агрегирования линий связи.
Фиг. 3 представляет собой карту последовательных операций, демонстрирующую процесс обновления выделения диалогов, для порта агрегирования, согласно одному варианту осуществления изобретения.
Фиг. 4A демонстрирует TLV маски диалогов, для порта агрегирования, согласно одному варианту осуществления изобретения.
Фиг. 4B демонстрирует поле «Состояние маски диалогов», находящееся внутри TLV маски диалогов, TLV порта агрегирования, согласно одному варианту осуществления изобретения.
Фиг. 4C демонстрирует маску диалогов, действующую в порту, для порта агрегирования группы агрегирования линий связи, на сетевом устройстве, согласно одному варианту осуществления изобретения.
Фиг. 5A представляет собой графическое изображение одного варианта осуществления TLV порта соответствий служб с диалогами.
Фиг. 5B представляет собой графическое изображение одного варианта осуществления агрегированной административной карты соответствий служб с диалогами.
Фиг. 6 представляет собой еще одну карту последовательных операций, демонстрирующую процесс обновления выделения диалогов, для порта агрегирования, согласно одному варианту осуществления изобретения.
Фиг. 7 представляет собой карту последовательных операций, демонстрирующую обновление маски диалогов, для порта агрегирования, после получения длинного LACPDU, согласно одному варианту осуществления изобретения.
Фиг. 8A-D демонстрирует последовательность обновления маски диалогов, для порта агрегирования, согласно одному варианту осуществления изобретения.
Фиг. 9 представляет собой карту последовательных операций одного варианта осуществления процесса для основывающегося на диалогах подбора для группы агрегирования линий связи.
Фиг. 10 представляет собой карту последовательных операций еще одного варианта осуществления процесса для основывающегося на диалогах подбора для группы агрегирования линий связи.
Фиг. 11 представляет собой графическое изображение одного варианта осуществления сетевого устройства, воплощающего основывающийся на диалогах подбор для группы агрегирования линий связи.
Фиг. 12A-C демонстрируют кортежи TLV маски диалогов -1, маски диалогов -2 и маски диалогов -3, для порта агрегирования, согласно одному варианту осуществления изобретения.
Фиг. 13 демонстрирует набор TLV, требуемых для того, чтобы поддерживать функциональные средства для основывающегося на диалогах подбора кадров, и их распределения, согласно одному варианту осуществления изобретения.
ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
В последующем описании излагаются многочисленные специфические подробные данные. Несмотря на это, подразумевается, что варианты осуществления изобретения могут быть реализованы на практике и без этих специфических подробных данных. В других случаях, известные схемы, структуры и оснащения не показаны в подробностях, чтобы не затемнять понимание этого описания.
Несмотря на это, искушенные специалисты в данной области техники должны оценить то, что изобретение может быть реализовано на практике без таких специфических подробных данных. В других случаях, структуры управления, схемы на уровне логических вентилей и полные последовательности предписаний программного обеспечения не показаны в подробностях, чтобы не затемнять изобретение. Обычные специалисты в данной области техники, при помощи прилагаемых описаний, смогут воплощать надлежащие функциональные средства без чрезмерного экспериментирования.
Ссылки в описании на “один вариант осуществления», “вариант осуществления», “образцовый вариант осуществления изобретения” и т.д. указывают, что описанный вариант осуществления может включать в себя конкретный признак, структуру, или характеристику, но каждый вариант осуществления, возможно, не обязан включать в себя конкретный признак, структуру, или характеристику. Кроме того, такие словосочетания необязательно ссылаются на один и тот же вариант осуществления. Дополнительно, когда конкретный признак, структура или характеристика описываются в связи с вариантом осуществления, представляется, что это в пределах познаний искушенных специалистов в данной области техники, имитировать такой признак, структуру, или характеристику, в связи с дополнительными вариантами осуществления, описанными явно или нет.
Термины
Последующие термины могут использоваться в описании.
Действующий субъект: локальная компонента (то есть, узел или сетевое устройство) при обмене данными по протоколам управления агрегированием линий связи (LACP).
Ключ агрегирования: параметр, сопоставляемый с каждым портом агрегирования, и с каждым агрегатором системы агрегирования, идентифицирующий те порты агрегирования, которые могут быть совместно агрегированы. Порты агрегирования в системе агрегирования, которые разделяют одно и то же значение ключа агрегирования, потенциально в состоянии агрегироваться совместно.
Порт агрегирования: точка доступа к службе (SAP) в системе агрегирования, которая поддерживается агрегатором.
Система агрегирования: единственным образом идентифицируемая компонента, содержащая в себе (помимо прочего) любое группирование одного, или нескольких портов агрегирования, с целью агрегирования. Экземпляр агрегированного линии связи всегда происходит между двумя системами агрегирования. Физическое устройство может содержать в себе единственную систему агрегирования, или более чем одну систему агрегирования.
Клиент агрегирования: многоуровневая компонента, непосредственно выше подуровня агрегирования линий связи, для которого подуровень агрегирования линий связи предоставляет экземпляр внутренних служб подуровня (ISS).
Агрегатор: логический адрес управления доступом к среде (MAC), привязанный к одному, или к нескольким портам агрегирования, через которые клиенту агрегатора предоставляется доступ к физическим средам.
Диалог: набор кадров, передаваемых от одной оконечной станции к другой, где абсолютно все кадры формируют упорядоченную последовательность, и где, обменивающиеся информацией, оконечные станции требуются для того, чтобы упорядочивание обеспечивалось среди обмениваемого набора кадров.
Оконечные аппаратные средства данных (DTE): любой источник или пункт предназначения данных, соединенный с локальной сетью.
Распределенный ретранслятор (DR): функциональная компонента, распределенная по порталу посредством функции DR в каждой из систем агрегирования, содержащих в себе портал, который распределяет исходящие кадры от шлюзов к агрегаторам, и распределяет входящие кадры от агрегаторов к шлюзам.
Распределенное отказоустойчивое межсоединение сети (DRNI, Distributed Resilient Network Interconnect): агрегирование линий связи, расширяемое так, чтобы включать в себя либо портал и систему агрегирования, либо два портала.
Функция DR: часть распределенного ретранслятора, располагающаяся в пределах единственной портальной системы.
Шлюз: соединение, обычно виртуальное (это не физический линия связи между системами) соединение распределенного ретранслятора с системой, состоящее из линии связи шлюза и двух портов шлюза.
Внутренняя служба подуровня (ISS, Internal Sublayer Service): пополненная версия MAC-службы, определенной в IEEE Std 802.1AC-2012.
Группа агрегирования линий связи (LAG): группа линий связи, которые представляются для клиента агрегатора, как если бы они являлись единственной линией связи. Группа агрегирования линий связи может соединять две системы агрегирования, систему агрегирования и портал, или два портала. Один или несколько диалогов могут сопоставляться с каждой связи, который представляет собой часть группы агрегирования линий связи.
Партнер: удаленная компонента (то есть, узел или сетевое устройство) при обмене данными по протоколам управления агрегированием линий связи.
Идентификатор (ID) диалогов порта: значение идентификатора диалогов, которое используется, чтобы осуществлять отбор кадров, проходящих через порт агрегирования.
Портал: один конец DRNI; включающий в себя одну, или несколько систем агрегирования, каждая с физическими линиями связи, которые, вместе взятые, содержат в себе группу агрегирования линий связи. Системы агрегирования портала сотрудничают, чтобы эмулировать присутствие единственной системы агрегирования, к которой подсоединяется вся группа агрегирования линий связи.
Тип/Длина/Значение (TLV): короткое, с переменной длиной, кодирование информационного элемента, состоящего из последовательных полей типа, длины и значения, где поле «Тип» идентифицирует тип информации, поле «Длина» указывает длину информационного поля в октетах, и поле «Значение» содержит непосредственно информацию. Значение поля «Тип» является локально определяемым, и оно должно быть уникальным в пределах протокола, определенного в этом стандарте.
В последующем описании и формуле изобретения, термины “сопряженный ” и “соединенный”, наряду с их производными, могут быть используемыми. Нужно подразумевать, что эти термины не предназначаются в качестве синонимов друг для друга. Термин “сопряженный” используется для того, чтобы указывать на то, что два, или большее количество элементов, которые могут находиться, или, возможно, не находятся, в прямом физическом или электрическом контакте друг с другом, сотрудничают или взаимодействуют друг с другом. “Соединенный” используется для указания на то, что установлен обмен информацией между двумя, или большим количеством элементов, которые являются сопряженными друг с другом. Термин “набор” используется в данном документе как ссылка на любое определенное полное количество отдельных предметов, включая в себя и один отдельный предмет.
Электронное устройство (например, оконечная станция, сетевое устройство) сохраняет и передает (внутренне и/или при помощи других электронных устройств в сети) программный код (составленный из предписаний программного обеспечения) и данные, используя машиночитаемые среды, такие как энергонезависимые машиночитаемые среды (например, машиночитаемые среды хранения, такие как магнитные диски; оптические диски; постоянное запоминающее устройство; устройства флэш-памяти; память на фазовых переходах) и энергозависимые машиночитаемые среды передачи данных (например, электрическая, оптическая, акустическая или другая форма распространяющихся сигналов - таких, как несущие волны, инфракрасные сигналы). Кроме того, такие электронные устройства включают в себя аппаратное обеспечение, такое как набор одного, или нескольких процессоров, сопряженных с одной, или с несколькими дополнительными компонентами - например, с одной, или с несколькими энергонезависимыми машиночитаемыми средами хранения (чтобы сохранять программный код и/или данные) и сетевые соединения (чтобы передавать программный код и/или данные, используя распространяющиеся сигналы), так же как и устройства ввода/вывода данных пользователем (например, клавиатура, сенсорный экран, и/или устройство показа), в некоторых случаях. Сопряжение набора процессоров и дополнительных компонент обычно осуществляется через одно, или через несколько межсоединений, находящихся внутри электронных устройств (например, шин, и, вероятно, сетевых мостов). Следовательно, энергонезависимая машиночитаемая среда данного электронного устройства обычно сохраняет предписания для исполнения на одном, или на нескольких процессорах этого электронного устройства. Одна, или несколько частей варианта осуществления изобретения могут быть воплощены, используя различающиеся комбинации программного обеспечения, встроенных программ, и/или аппаратного обеспечения.
Как это используется в данном документе, сетевое устройство (например, устройство маршрутизации, коммутатор, сетевой мост) представляет собой часть сетевого оборудования, включая в себя аппаратное и программное обеспечение, которое коммуникативно межсоединяется с другими аппаратными средствами на сети (например, другими сетевыми устройствами, оконечными станциями). Некоторые сетевые устройства представляют собой «устройства с многочисленными сетевыми функциями», которые оказывают поддержку для многочисленных сетевых функций (например, маршрутизация, мостовые соединения, коммутация, агрегирование уровня 2, управление границами сеансов, качество обслуживания, и/или администрирование абонентов), и/или оказывают поддержку для множественных служб приложений (например, данные, голос, и видео). Абонентские оконечные станции (например, серверы, рабочие станции, ноутбуки, нетбуки, наладонники, мобильные телефоны, смартфоны, мультимедийные телефоны, телефоны с передачей речи по протоколу IP (VOIP), пользовательские аппаратные средства, терминалы, мобильные медиапроигрыватели, модули GPS, игровые системы, телевизионные приставки) получают доступ к содержимому/службам, предоставляемым по сети Интернет, и/или к содержимому/службам, предоставляемым на виртуальных частных сетях (VPN), накладываемых на (например, туннелируемых через) Интернет. Содержимое и/или службы, обычно, предоставляются одной, или несколькими оконечными станциями (например, серверными оконечными станциями), принадлежащими службе или поставщику содержимого, или оконечными станциями, участвующими в службе равноправных пользователей (P2P), и могут включать в себя, например, общедоступные веб-страницы (например, бесплатное содержимое, витрины магазинов, поисковые службы), частные веб-страницы (например, веб-страницы с предоставлением доступа по имени пользователя/паролю, предоставляющие службы электронной почты), и/или корпоративные сети по VPN-сетям. Как правило, абонентские оконечные станции являются сопряженными (например, при помощи аппаратных средств, принадлежащих пользователю и сопряженных с сетью доступа (при помощи проводных или беспроводных технологий)) с устройствами пограничной сети, которые являются сопряженными (например, при помощи одного, или нескольких основных сетевых устройств) с другими устройствам пограничной сети, которые сопрягаются с другими оконечными станциями (например, серверными оконечными станциями).
Сетевые устройства обычно разделяются на плоскость управления и плоскость данных (иногда на нее ссылаются как на плоскость переадресации или плоскость сред). В случае, в котором сетевое устройство представляет собой устройство маршрутизации (или воплощает функциональные средства устройства маршрутизации), плоскость управления обычно определяет, каким образом данные (например, пакеты) следует маршрутизировать (например, следующий скачок для данных и исходящий порт для этих данных), и плоскость данных является ответственной за переадресацию этих данных. Например, плоскость управления, обычно, включает в себя один или несколько протоколов маршрутизации (например, протокол внешнего шлюза, такой как протокол граничной маршрутизации (BGP) (RFC 4271), протокол (ы) внутреннего шлюза (IGP) (например, сначала открывать кратчайший маршрут (OSPF) (RFC 2328 и 5340), промежуточная система к промежуточной системе (IS-IS) (RFC 1142), протокол информации о маршрутизации (RIP) (версия 1 RFC 1058, версия 2 RFC 2453, и следующее поколение RFC 2080)), протокол распределения меток (LDP) (RFC 5036), протокол резервирования ресурсов (RSVP) (RFC 2205, 2210, 2211, 2212, так же как и RSVP-организация трафика (TE): расширения для RSVP для туннелей LSP RFC 3209, обобщенная многопротокольная коммутация по меткам (GMPLS) передача сигналов RSVP-TE RFC 3473, RFC 3936, 4495 и 4558)), которые обмениваются информацией с другими сетевыми устройствами, для обмена данными маршрутов и осуществления отбора таких маршрутов, на основе одной, или нескольких метрик маршрутизации. В добавление, плоскость управления также, обычно, включает в себя протоколы ISO управления уровня 2, такие как быстродействующий протокол связующего дерева (RSTP), множественный протокол связующего дерева (MSTP), и SPB (соединения по кратчайшему пути), которые были стандартизированы различными органами стандартизации (например, SPB был определен в IEEE Std 802.1aq-2012).
Маршруты и смежности сохраняются в одной, или в нескольких структурах маршрутизации (например, в базе данных маршрутизации (RIB), базе данных о метках (LIB), одной, или многих структур смежностей) на плоскости управления. Плоскость управления программирует плоскость данных при помощи информации (например, смежности и маршрутная информация) на основе структуры (структур) маршрутизации. Например, плоскость управления программирует смежности и маршрутную информацию в одной, или в нескольких структурах переадресации (например, в базе данных переадресации (FIB), базе данных переадресации меток (LFIB), и в одной, или нескольких структурах смежностей) на плоскости данных. Плоскость данных использует эти структуры переадресации и смежностей, когда производит переадресацию трафика.
Каждый из протоколов маршрутизации пересылает маршрутные записи в главную базу RIB на основе некоторых маршрутных метрик (метрики могут быть различными для различных протоколов маршрутизации). Любой из протоколов маршрутизации может сохранять маршрутные записи, включающие в себя маршрутные записи, которые не пересылаются на главную RIB, в локальной RIB (например, локальной RIB OSPF). Модуль RIB, который администрирует главную RIB, осуществляет отбор маршрутов из маршрутов, пересылаемых протоколами маршрутизации (основывающимися на наборе метрик), и пересылает эти отобранные маршруты (иногда на них ссылаются как на активные маршрутные записи) на плоскость данных. Модуль RIB может также побуждать, чтобы маршруты были перераспределенными между протоколами маршрутизации. Для переадресации уровня 2, сетевое устройство может сохранять одну, или несколько таблиц мостовых соединений, которые используются, чтобы переадресовывать данные, на основе информации уровня 2 в этих данных.
Как правило, сетевое устройство включает в себя набор одной или нескольких линейных плат, набор одной или нескольких плат управления, и, по необязательному выбору, набора одной, или нескольких служебных плат (иногда на них ссылаются как на платы ресурсов). Эти платы совместно сопрягаются, при помощи одного, или нескольких процедур межсоединений (например, первая полная ячейка, сопрягаемая с линейными платами и вторая полная ячейка, сопрягаемая со всеми платами). Набор линейных плат образует плоскость данных, в то время как набор плат управления предоставляет плоскость управления, и обменивается пакетами данных с внешними сетевыми устройствами через линейные платы. Набор служебных плат может предоставлять специализированную обработку (например, службы от уровня 4 вплоть до уровня 7 (например, межсетевой экран, безопасность по протоколу Интернет (IPsec) (RFC 4301 и 4309), система обнаружения вторжения (IDS), служба равноправных пользователей (P2P), контроллер границ сеансов передачи речи по протоколу IP (VoIP), мобильные беспроводные шлюзы (узел поддержки (GGSN, Support Node) службы пакетной передачи данных через радиоинтерфейс (GPRS), шлюз ядра пакетной сети (EPC))). В качестве примера, служебная плата может использоваться для того, чтобы заканчивать туннели IPsec и исполнять сопутствующую аутентификацию и алгоритмы шифрования.
Как это используется в данном документе, узел передает пакеты IP на основе части информации в заголовке IP в пакете IP; где информация заголовка IP включает в себя исходный IP-адрес, IP-адрес пункта предназначения, исходный порт, порт пункта назначения (где термины “исходный порт” и “порт пункта предназначения” ссылаются, в данном документе, на порты протокола, в противоположность физическим портам сетевого устройства), транспортный протокол (например, протокол пользовательских дейтаграмм (UDP) (RFC 768, 2460, 2675, 4113 и 5405), протокол управления передачами (TCP) (RFC 793 и 1180), и значения дифференцированных служб (DSCP) (RFC 2474, 2475, 2597, 2983, 3086, 3140, 3246, 3247, 3260, 4594, 5865, 3289, 3290 и 3317). Узлы воплощаются в сетевых устройствах. Физический узел воплощается непосредственно на сетевом устройстве, тогда как виртуальный узел представляет собой программное обеспечение, и, вероятно, технические средства, абстрактную конструкцию, воплощенную на сетевом устройстве. Следовательно, множественные виртуальные узлы могут быть воплощенными на единственном сетевом устройстве.
Сетевой интерфейс может быть физическим или виртуальным; и адрес интерфейса представляет собой IP-адрес, приписываемый к сетевому интерфейсу, будь то физический сетевой интерфейс или виртуальный сетевой интерфейс. Физический сетевой интерфейс представляет собой технические средства, на сетевом устройстве, через которые сетевое соединение осуществляется (например, при помощи беспроводных технологий, через адаптер интерфейса беспроводной сети (WNIC) или с помощью подключения кабеля к порту, соединенному с адаптером сетевого интерфейса (NIC)). Как правило, у сетевого устройства имеются множественные физические сетевые интерфейсы. Виртуальный сетевой интерфейс может быть сопоставленным с физическим сетевым интерфейсом, с еще одним виртуальным интерфейсом, или основываться самостоятельно (например, интерфейс обратной петли, интерфейс протокола «точка-точка»). Сетевой интерфейс (физический или виртуальный) может быть пронумерованным (сетевой интерфейс с IP-адресом) или непронумерованным (сетевой интерфейс без IP-адреса). Интерфейс обратной петли (и его адрес обратной петли) представляет собой специфический тип виртуального сетевого интерфейса (и IP-адреса) узла (физического или виртуального) часто используемого для целей администрирования; при этом на такой IP-адрес ссылаются как на узловой адрес обратной петли. На IP-адрес (а), приписываемый(ые) к сетевому(ым) интерфейс(ам) сетевого устройства, ссылаются как на IP-адреса этого сетевого устройства; на более гранулированном уровне, на IP-адрес(а), приписываемый к сетевому интерфейсу(ам), приписываемому к узлу, воплощаемому на сетевом устройстве, можно ссылаться как на IP-адрес этого узла.
Некоторые сетевые устройства оказывают поддержку для воплощения VPN (виртуальные частные сети) (например, сети VPN уровня 2 и/или сети VPN уровня 3). Например, на сетевое устройство, где сеть поставщика и сеть потребителя являются сопряженными, соответственно, ссылаются как на PEs (край поставщиков, Provider Edge) и CEs (край потребителей, Customer Edge). В сети VPN уровня 2, переадресация, обычно, производится на CE (s) на любом из концов VPN, и трафик отправляется на другую сторону сети (например, через один или через несколько PEs, сопрягаемых посредством дополнительных сетевых устройств). Схемы уровня 2 выполняются между CEs и PEs (например, порт Ethernet, постоянная виртуальная схема системы ATM (PVC), PVC ретранслятора). В сети VPN уровня 3, маршрутизация обычно производится посредством PEs. В качестве примера, устройство пограничной сети, которое поддерживает множественные контексты, может быть применено в качестве PE; и контекст может быть выполнен с протоколом VPN, и, следовательно, такой контекст может упоминаться как контекст VPN.
Некоторые сетевые устройства оказывают поддержку для VPLS (служба виртуальной частной LAN) (RFC 4761 и 4762). Например, в сети VPLS, абонентские оконечные станции получают доступ к содержимому/службам доступа, предоставляемых через сеть VPLS, сопрягаясь с CEs, которые сопрягаются через PEs, сопрягаемые при помощи дополнительных сетевых устройств. Сети VPLS могут использоваться для того, чтобы воплощать сетевые приложения тройной услуги (например, приложения данных (например, высокоскоростной доступ к сети Интернет), видео-приложения (например, служба телевидения, такая как IPTV (телевидение в сетях передачи данных по протоколу IP), служба VoD (видео по требованию)), и голосовые приложения (например, служба VoIP (передача речи по протоколу IP))), службы VPN и т.д. VPLS представляет собой тип сети VPN уровня 2, которая может использоваться для многоточечной соединимости. Сети VPLS также позволяют абонентские оконечные станции, которые являются сопряженными с CEs в отдельных географических положениях, чтобы обмениваться информацией друг с другом всюду в глобальной сети (WAN) таким образом, как если бы они являлись непосредственно присоединенными друг к другу, в локальной сети (LAN) (на это ссылаются как на эмулированную сеть LAN).
В сетях VPLS каждый CE обычно подсоединяется, возможно, через сеть доступа (по проводным или беспроводным технологиям), к мостовому модулю в PE через схему подсоединения (например, через виртуальный линия связи или соединение между CE и PE). Мостовой модуль в PE подсоединяется к эмулированной сети LAN через эмулированный интерфейс LAN. Любой мостовой модуль действует как “виртуальный экземпляр коммутатора” (VSI), обеспечивая таблицу переадресаций, которая устанавливает соответствие MAC-адресов и псевдо - проводов и схем подсоединения. PE передают кадры (принимаемые от CEs) к пунктам назначения (например, к дополнительным CEs, дополнительным PEs) на основе поля «MAC-адрес пункта предназначения», включаемого в состав этих кадров.
Сетевые устройства могут также поддерживать собственные L2-сетевые технологии и типы устройств, включающие в себя сети с VLAN мостовыми соединениями, поддерживаемые C-VLAN мостами, мостами поставщиков, магистральными мостами провайдеров, магистральными мостами провайдеров - организацией трафика (TE) (как это определено в IEEE std 802.1ad-2005, IEEE std 802.1ah-2008, IEEE std 802.1Qaq-2009, IEEE std 802.1Q-2011) и аналогичными технологиями и типами сетевых устройств. Вышеупомянутое перечисление типов сетевых устройств и поддерживаемых технологий предоставляется в качестве примера, но не ограничения. Искушенные специалисты в данной области техники должны будут понять, что дополнительные технологии, стандарты и типы устройства могут быть включены в состав сетевых устройств, которые используются в данном документе.
Подуровень агрегирования линий связи
Фиг. 2 представляет собой графическое изображение одного варианта осуществления подуровня агрегирования линий связи 200. Клиент агрегатора 202 обменивается информацией с набором портов агрегирования 292, 294, 296 через агрегатор 250. В одном варианте осуществления агрегатор 250 представляет стандартный IEEE Std 802.1Q интерфейс внутренней службы подуровня (ISS, Internal Sublayer Service) для клиента 202 агрегатора. Агрегатор 250 привязывается к одному, или к нескольким портам агрегирования, включающих в свой состав порты агрегирования 292, 294, 296. Агрегатор 250 распределяет передачи кадров от клиента агрегатора 202 к портам агрегирования 292, 294, 296, и подбирает принятые кадры от портов агрегирования 292, 294, 296 и пропускает их к клиенту агрегатора 202, прозрачно.
Привязка портов агрегирования 292, 294, 296 к агрегатору 250 является администрируемой посредством управления 210 агрегированием линий связи, которое является ответственным за определение, какие линии связи могут быть агрегированы, за агрегирование их, за привязку портов агрегирования к подходящему агрегатору, и за отслеживание условий для определения, когда изменение в агрегировании является необходимым. Такие определение и привязка могут находиться под ручным управлением, при помощи непосредственного манипулирования переменными состояний при агрегировании линий связи (например, при помощи ключей агрегирования) администратором сети. Кроме того, автоматическое определение, конфигурирование, привязка, и отслеживание могут происходить при помощи протокола 214 управления агрегированием линий связи (LACP). Протокол LACP 214, использует равноправные обмены данными на другую сторону линий связи, чтобы определять, на постоянной основе, производительность агрегирования различных линий связи, и непрерывно предоставлять максимальный уровень производительности, который может достигаться между данной парой систем агрегирования.
Система агрегирования может содержать множественные агрегаторы, для обслуживания множественных клиентов агрегатора. Данный порт агрегирования будет привязан (по большей мере) к единственному агрегатору, в любые времена. Клиент агрегатора каждый раз обслуживается единственным агрегатором.
Упорядочивание кадров обеспечивается, для некоторых последовательностей обменов кадрами между клиентами агрегатора (обменов, известных как диалоги). Устройство 234 распределения кадров гарантирует, что все кадры данного диалога пропускаются к единственному порту агрегирования. Для данного диалога, устройство 224 подбора кадров требуется для того, чтобы пропускать кадры к клиенту 202 агрегатора в том порядке, в котором они принимаются от порта агрегирования. Устройство 224 подбора кадров, в противном случае, вправе осуществлять отбор кадров, принимаемых от портов агрегирования 292, 294, 296, в любом порядке. Так как нет никакой возможности для того, чтобы кадры смогли прийти в беспорядок на единственной линии связи, это гарантирует то, что упорядочивание кадров обеспечивается для любого диалога. Диалоги могут быть перемещены среди портов агрегирования, находящихся внутри группы агрегирования линий связи, как для балансирования нагрузки, так и для того, чтобы обеспечивать доступность, в случае перебоев канала передачи.
Каждому из портов агрегирования 292, 294, 296 назначается адрес уровня управления доступом к среде (MAC), который является уникальным в группе агрегирования линий связи и для любой локальной сети (LAN) с мостовыми соединениями (например, к сети, удовлетворяющей требованиям IEEE 802.1Q Bridged LAN), с которой соединяется группа агрегирования линий связи. Эти MAC-адреса используются в качестве исходных адресов для обменов кадрами, которые инициализируются компонентами, находящимися внутри подуровня 270 агрегирования линий связи (то есть, LACP 214 и обмены данными по протоколам маркировки).
Агрегатору 250 (и дополнительным агрегаторам, если они применяются) назначается MAC-адрес, уникальный в группе агрегирования линий связи и для сети LAN с мостовыми соединениями (например, сети, удовлетворяющей требованиям IEEE 802.1Q Bridged LAN), с которой соединяется группа агрегирования линий связи. Этот адрес используется в качестве MAC-адреса группы агрегирования линий связи, с точки зрения клиента агрегатора 202, и в качестве адреса источника для передаваемых кадров и в качестве адреса пункта назначения для принимаемых кадров. MAC-адрес агрегатора 250 может быть одним из MAC-адресов порта агрегирования в сопоставленной группе агрегирования линий связи.
Распределенное отказоустойчивое межсоединение сети (DRNI)
Агрегирование линий связи создает группу агрегирования линий связи, которая представляет собой подборку из одного, или нескольких физических линий связи, которые представляются для более высоких уровней как единый логический линия связи. У группы агрегирования линий связи есть два конца, каждый заканчивается в системе агрегирования. DRNI расширяет концепцию агрегирования линий связи таким образом, что на одном или на обоих концах группы агрегирования линий связи, единственная система агрегирования заменяется порталом, каждый портал составляется из одной, или из нескольких систем агрегирования.
DRNI создается путем использования распределенного ретранслятора, чтобы осуществлять межсоединения двух, или большего количества систем, каждая система эксплуатирует агрегирование линий связи, чтобы создавать портал. Любая система агрегирования в портале (то есть, каждая портальная система) эксплуатирует агрегирование линий связи с единственным агрегатором. Распределенный ретранслятор позволяет портальным системам совместно заканчивать группу агрегирования линий связи. Всем дополнительным системам агрегирования, с которыми соединяется портал, представляется, что группа агрегирования линий связи заканчивается в отдельной эмулированной системе агрегирования, создаваемой портальными системами.
Набор вариантов осуществления обновления выделения диалогов
Фиг. 3 представляет собой карту последовательных операций, демонстрирующую процесс обновления выделения диалогов, для порта агрегирования, согласно одному варианту осуществления изобретения. Действия этой карты и дополнительных карт последовательных операций будут описываться со ссылкой на образцовые варианты осуществления дополнительных графических изображений (например, вариант осуществления, демонстрирующийся на Фиг. 11). Несмотря на это, подразумевается, что действия карт последовательных операций могут производиться вариантами осуществления изобретения по-другому, в отличие от обсужденных со ссылкой на эти дополнительные графические изображения, и варианты осуществления изобретения, обсужденные со ссылкой на эти дополнительные графические изображения, могут производить действия, отличающиеся от тех, что обсуждаются со ссылкой на карты последовательных операций.
Процесс, демонстрируемый на Фиг. 3, может воплощаться в сети, содержащей одно или несколько сетевых устройств, применяющих одну или несколько групп агрегирования линий связи, таких как сетевые устройства 120 и 122, на Фиг. 1A, и сетевые устройства, содержащие в себе порталы 112 и 114, на Фиг. 1B. Процесс, предназначается для обновления выделения диалогов, для порта агрегирования группы агрегирования линий связи, когда группа агрегирования линий связи передает один или несколько диалогов, где каждый диалог сопоставляется со службой или с приложением в сети.
Процесс начинается с проверки, что воплощение протокола управления агрегированием линий связи (LACP), зависящего от диалогов, является действующим, на этапе 301. Воплощение LACP, зависящего от диалогов, должно быть действующим, то есть, LACP должен быть в состоянии координировать основывающийся на диалогах подбор и распределение кадров для пары действующего субъекта и партнерских сетевых устройств. Например, проверка на этапе 301 может быть произведена посредством проверки того, что воплощение протокола LACP, зависящего от диалогов, способно передавать и принимать LACPDU-блоки, указывающие алгоритмы портов (используемые, чтобы приписывать кадры к различным диалогам), через действующий субъект и партнерские сетевые устройства, соответственно. Таким образом, проверка включает в себя проверку того, что алгоритм порта, используемый сетевым устройством (сетевое устройство действующего субъекта), может быть отправлен, при помощи воплощения протокола LACP, зависящего от диалогов, к партнерскому сетевому устройству. В альтернативном, или дополнительном, варианте осуществления, проверка включает в себя проверку согласованности справочника идентификаторов диалогов и справочника соответствий служб с диалогами, как это обсуждается, в дополнительных деталях, в данном документе ниже. Без проверки, сетевое устройство не знает, может ли оно обмениваться зависящей от диалога информацией посредством протокола LACP, и процесс для приема зависящей от диалога информации по протоколу LACP игнорируется. Когда проверка претерпевает неудачу, сетевое устройство отсылает предупреждение для административного воздействия.
Процесс последует на этап 303 после удостоверения в том, что воплощение LACP, зависящего от диалогов, является действующим. На этапе 303 сетевое устройство определяет, что действия, при помощи улучшенных LACPDU являются возможными, основываясь, по меньшей мере частично, на проверке совместимости. Улучшенные LACPDU представляют собой блоки данных, которые могут использоваться для обновления информации о выделении диалогов через группу агрегирования линий связи, и они не могут производить операции при любых условиях. Проверка совместимости определяет, сочетается ли набор рабочих параметров сетевого устройства, сопоставляемого с портом агрегирования, с сочетаемым набором рабочих параметров партнерского сетевого устройства, сопоставляемого с сочетаемым портом на партнерском сетевом устройстве. Партнерское сетевое устройство представляет собой удаленное сетевое устройство, коммуникативно-сопряженное с сетевым устройством. Если наборы рабочих параметров сочетаются друг с другом, процесс 300 продолжается. По необязательному выбору, если наборы рабочих параметров не сочетаются, предупреждение может быть отослано в систему администрирования группы агрегирования линий связи, и оператор сети может устранять плохую сочетаемость.
Улучшенные LACPDU отличаются от традиционных LACPDU. У традиционных LACPDU, таких как блок данных, удовлетворяющий требованиям версии 1 стандарта IEEE 802.1AX, обладает размером кадра 128 октетов. Если каждый бит этих 128 октетов используется для того, чтобы указывать состояние диалога, традиционный LACPDU может содержать всего лишь вплоть до 128×8=1024 диалогов. К этому моменту, группа агрегирования линий связи может поддерживать более чем 1024 диалогов. Например, некоторые варианты осуществления могут потребовать поддержки для, вплоть до, 4096 диалогов, следовательно, для этих вариантов осуществления традиционный LACPDU не является достаточным, и другой тип LACPDU, называемый улучшенным LACPDU, употребляется для процесса 300. В одном варианте осуществления, улучшенный LACPDU включает в себя поля для TLV алгоритма порта, для TLV справочника IDs диалогов порта, для маски(ок) диалогов порта, и/или для TLV порта соответствий служб с диалогами.
После подтверждения, что действия, при помощи улучшенных LACPDU, являются возможными, процесс затем переходит на этап 305, где состояние выделения диалогов, для порта агрегирования группы агрегирования линий связи сетевого устройства, обновляется. Обновление является основанным на определении, что состояние выделения диалогов, для порта агрегирования, является некорректным. Состояние выделения диалогов указывает список диалогов, передаваемых через порт агрегирования. Например, когда каждый диалог идентифицируется при помощи идентификатора (ID) диалогов, состояние выделения диалогов, для порта агрегирования, может содержать набор IDs диалогов, указывающий набор диалогов, пропускающихся через порт.
При некоторых обстоятельствах, состояние диалогов, для порта агрегирования сетевого устройства может утрачивать синхронизацию с портом агрегирования партнерского сетевого устройства. Например, порт агрегирования группы агрегирования линий связи, на сетевом устройстве может быть настроен так, чтобы передавать/принимать диалоги, идентифицированные как диалоги 1-5, следовательно, состояние выделения диалогов, для порта агрегирования, указывает, что диалоги 1-5 проходят через порт агрегирования. К этому моменту сочетаемый порт группы агрегирования линий связи на партнерском сетевом устройстве может быть настроен так, чтобы передавать/принимать диалоги, идентифицированные как диалоги 1-7 (например, вследствие некоторого дополнительного порта на партнерском сетевом устройстве, за пределами службы). Состояние выделения диалогов, для порта агрегирования сетевого устройства, является не синхронизированным с партнерским сетевым устройством, следовательно, оно квалифицируется, как являющееся некорректным. Подобная проблема возникает, когда еще один порт из той же самой группы агрегирования линий связи, на сетевом устройстве настраивается так, чтобы передавать/принимать диалоги, идентифицированные как диалоги 5-7. В этом случае состояние выделения диалогов, для порта агрегирования, является не синхронизированным с другим портом той же самой группы агрегирования линий связи, и диалог 5 не может проходить оба порта и обеспечивать порядок кадров диалога. Другими словами, перебой синхронизации может быть характеризован просто как перебой, или неправильные действия, алгоритма распределения (или, имеющих отношение, процессов) на одной стороне LAG, гарантирующего то, что диалоги выделяются только единственному порту. Как только состояние выделения диалогов, для порта агрегирования, определяется, как являющееся некорректным, состояние выделения диалогов, для порта агрегирования, обновляется. Например, оно обновляется так, чтобы сочетаться с состоянием выделения диалогов, для сочетаемого порта на партнерском сетевом устройстве, или сочетаться с состоянием выделения диалогов, для еще одного порта, из той же самой группы агрегирования линий связи, на сетевом устройстве.
Варианты осуществления TLVs, для обмена информацией о состояниях выделения диалогов портов агрегирования
Состояние выделения диалогов, для порта агрегирования, должно быть представлено в формате данных, который может передаваться при помощи протокола LACP. Формат TLV использовался, чтобы обмениваться информацией о состоянии выделения диалогов, для портов агрегирования, в одном варианте осуществления изобретения. Фиг. 4A демонстрирует TLV маски диалогов, для порта агрегирования, согласно одному варианту осуществления изобретения. TLV 400 маски диалогов содержит четыре поля: «Тип 402 TLV», «Длина 404 маски диалогов», «Состояние 406 масок диалогов», и «Маска 408 диалогов по рабочим портам». Поля могут не быть расположенными в порядке, демонстрирующемся на Фиг. 4A, в дополнительных вариантах осуществления, и дополнительные варианты осуществления могут содержать больше, или меньше, полей.
Тип 402 TLV указывает природу информации, которая переносится в кортеже TLV. TLV маски диалогов идентифицируется по целому числу 0x06, в одном варианте осуществления. Длина 404 маски диалогов (обозначаемая как Conversation_Mask_Length, на Фиг. 4A) указывает длину в октетах TLV. Полная длина кортежа TLV маски диалогов равна 515 октетам, следовательно, поле включает в себя значение 515. В другом варианте осуществления, длина 404 маски диалогов содержит значение большее, или меньшее, чем 515.
Состояние маски диалогов (обозначаемое как Conversation_Mask_state, на Фиг. 4A) указывает состояние маски диалогов. Фиг. 4B демонстрирует поле «Состояние маски диалогов», находящееся внутри TLV маски диалогов, для порта агрегирования, согласно одному варианту осуществления изобретения. Состояние 450 маски диалогов (вариант осуществления состояния 406 маски диалогов) содержит восемь битов (один октет), где семь битов из восьми битов резервируются для будущего использования (резервированные 411-414). Один, остающийся бит, представляет собой флаг, указывающий, является ли маска диалогов, используемая устройством распределения кадров в порту агрегирования группы агрегирования линий связи сетевого устройства такой же, или нет, как и маска диалогов, используемая устройством распределения кадров в сопоставленном порту агрегирования группы агрегирования линий связи партнерского сетевого устройства. Флаг представляет собой, следовательно, флаг синхронизации, называемый ActPar_Sync 410 на Фиг. 4B. В одном варианте осуществления, флаг синхронизации представляет собой Булево значение, и оно указывает TRUE, если маска диалогов, используемая устройством распределения кадров в порту агрегирования локального сетевого устройства, является той же самой, как и маска диалогов, используемая устройством распределения кадров в порту агрегирования партнерского сетевого устройства, в противном случае оно указывает FALSE.
Маска 408 диалогов по рабочим портам, (поле обозначается как Port_Oper_Conversation_Mask, на Фиг. 4A), содержит значение булевого вектора, указывающего, распределяется ли индексируемый идентификатор (ID) диалогов порта, через конкретный порт агрегирования. Значение булевого вектора создается из соглашения приоритетного отбора, в одном варианте осуществления. Соглашение приоритетного отбора указывает, что данный диалог предоставляется единственному порту агрегирования группы агрегирования линий связи. На основе упомянутой информации, маска диалогов по рабочим портам, может быть создана для того, чтобы указывать, какой диалог, индексируемый по идентификатору диалогов, передается на порту агрегирования.
Фиг. 4C демонстрирует маску диалогов, действующую в порту, для порта агрегирования группы агрегирования линий связи, на сетевом устройстве, согласно одному варианту осуществления изобретения. Маска 470 диалогов порта (обозначаемая как Port_Oper_Conversation_Mask, на Фиг. 4C), представляет собой вариант осуществления маски 406 диалогов по рабочим портам, и она содержит 4096 битов (512 Октетов × 8 битов для каждого октета = 4096 битов), и каждый бит указывает, передается ли данный диалог (или принимается; передается там, где маска представляет собой маску устройства распределения, и принимается там, где маска представляет собой маску устройства подбора, в этом месте приводится пример передачи) через порт агрегирования, или нет. Как это демонстрируется, ссылка 420 на бит 0 предназначается для диалога 0, ссылка 421 на бит 1 предназначается для диалога 1 (то есть, ID диалогов = 1, то же самое применяется к другим диалогам), и ссылки 422 на бит 2 и 423 на бит 3 для диалогов 2 и 3, соответственно. Наконец, ссылка 424 на бит 4095 указывает, передается ли диалог 4095 на порту агрегирования или нет. В одном варианте осуществления, Булево значение диалога указывает TRUE, когда диалог передается через порт агрегирования. Когда группа агрегирования линий связи может поддерживать вплоть до 4096 диалогов (адресуемых при помощи 12 битов), маска 470 диалогов порта, из 512 октетов, может указывать все перестановки возможных диалогов, передающихся через порт агрегирования линий связи. Заметим, что некоторые варианты осуществления могут поддерживать больше, или меньше, чем 4096 диалогов, и длина маски диалогов по рабочим портам, должна быть воплощена соответствующим образом, чтобы вмещать различное максимальное число диалогов.
Заметим, что TLV 400 маски диалогов содержит 515 октетов, и это значительно длиннее, чем 128 октетов, которые составляют длину длинного LACPDU в версии 1 стандарта IEEE 802.1AX. Следовательно, “длинный” LACPDU является необходимым для того, чтобы передавать TLV маски диалогов, в одном варианте осуществления изобретения.
В еще одном варианте осуществления, маска диалогов порта воплощается, используя множественные TLVs. Фиг. 12A-12C демонстрируют вариант осуществления, в котором воплощается маска диалогов, использующая три кортежа TLVs, для порта агрегирования, (TLV маски диалогов -1, TLV маски-2 диалогов и TLV маски-3 диалогов), согласно одному варианту осуществления изобретения. Со ссылкой на Фиг. 12A, TLV 1200 маски-1 диалогов содержит четыре поля, аналогичные полям в TLV 400 маски диалогов на Фиг. 4A: «Тип 1202 кортежа TLV», «Длина 1204 маски-1 диалогов», «Состояние 1206 масок диалогов», и «Маска-1 1208 диалогов по рабочим портам».
Тип 1202 TLV идентифицирует тип информации, которую переносят в кортеже TLV. Кортеж TLV маски-1 диалогов может быть идентифицирован по целому числу 0x06, в одном варианте осуществления. Длина 1204 маски-1 диалогов (обозначаемая как Conversation_Mask_1_Length, на Фиг. 12A) указывает длину в октетах кортежа TLV. В одном образцовом воплощении, длина TLV маски-1 диалогов составляет 195 октетов, следовательно, поле 1204 включает в себя значение 195. Как состояние 1206 масок диалогов, так и маска-1 1208 диалогов по рабочим портам, представляют собой поля, которые структурируются аналогично тому, как поля «Состояние 406 масок диалогов», и «Маска 408 диалогов по рабочим портам», описанные в данном документе выше, со ссылкой на Фиг. 4B и 4C, соответственно, в одном варианте осуществления.
Фиг. 12B демонстрирует TLV маски-2 диалогов, для порта агрегирования, согласно одному варианту осуществления изобретения. Кортеж TLV 1210 маски-2 диалогов содержит три поля, «Тип 1212 TLV», «Длина 1214 маски-2 диалогов », «Маска-2 1216 диалогов по рабочим портам». Эти поля обслуживают аналогичные функции, как и соответствующие поля TLV 1200 маски-1 диалогов, соответственно.
Фиг. 12C демонстрирует TLV маски-3 диалогов, для порта агрегирования, согласно одному варианту осуществления изобретения. TLV 1220 маски-3 диалогов также содержит три поля, «Тип 1222 TLV», «Длина 1224 маски-3 диалогов» и «Маска-3 1226 диалогов по рабочим портам». Эти поля обслуживают аналогичные функции, как и соответствующие поля TLV 1210 маски-1 диалогов, соответственно. В одном образцовом воплощении, длина маски-3 диалогов равна 130 октетам, и полная длина трех комбинированных масок диалогов порта составляет 512 октетов. Первые две маски диалогов включают в себя 384 октета (то есть 192 октета на каждую) для маски диалогов по рабочим портам, оставляя всего лишь 130 октетов, необходимых для третьей маски диалогов порта, чтобы сравняться с размером маски диалогов порта, описанной в данном документе выше, со ссылкой на чертежи от 4A до 4C. Следовательно, искушенные специалисты в данной области техники должны будут понять, что этот, дополнительный, вариант осуществления, с тремя TLVs масок диалогов, может использоваться вместо единственного TLV, дополнительно, кортеж TLV может быть разбит на любое количество отдельных TLVs, согласно тем же самым принципам, обсужденным в этом месте. Аналогично, там, где варианты осуществления обсуждаются в данном документе, со ссылкой на употребление единственного TLV маски диалогов, следует подразумевать, что дополнительные варианты осуществления с множественными TLVs масок диалогов также предполагаются.
Фиг. 5A представляет собой графическое изображение одного варианта осуществления кортежа TLV, который может быть включен в состав улучшенных LACPDU, для обмена информацией о состоянии справочников IDs диалогов, обеспечивающихся каждой системой агрегирования. Кортеж TLV в этом месте называется TLV порта соответствий служб с диалогами. Кортеж TLV включает в себя набор полей 502, 505 и 506, со следующими определениями полей: TLV_type 502, который включает в себя значение, указывающее, что тип кортежа TLV представляет собой справочник порта соответствий служб с диалогами. Справочник представляет собой криптографическую хеш-функцию, или подобную обработку данных, для генерирования идентификатора, который может использоваться для того, чтобы единственным образом (или почти единственным образом) идентифицировать обрабатываемые данные, позволяя выявлять ошибки и сравнивать содержимого файлов (например, там, где содержимое двух файлов различное, их справочники будут различаться). Это поле указывает природу информации, которая переносится в этом кортеже TLV. В одном варианте осуществления, кортеж TLV справочника порта соответствий служб с диалогами может быть идентифицирован по целочисленному значению 0x0A. Второе поле представляет собой поле 505 Port_Conversation_Service_Mapping_Digest_Length. Это поле указывает длину (в октетах) этого кортежа TLV. В одном варианте осуществления TLV справочника соответствий служб с диалогами порта использует значение для длины 18 (0x12). Третье поле 506 представляет собой Actor_Conversation_Serice_Mapping_Digest. Это поле содержит значение справочника сообщений (MD5), вычисляемое из aAggAdminServiceConversationMap [] для обмена данными с партнерской системой. aAggAdminServiceConversationMap [] представляет собой массив соответствий ID служб с ID диалогов, обеспечивающийся сетевым устройством. Имеется 4096 aAggAdminServiceConversationMap [] переменных, от aAggAdminServiceConversationMap [0] вплоть до aAggAdminServiceConversationMap [4095], индексируемых посредством ID диалогов порта. Любая из них содержит, вообще говоря, набор IDs служб, уникальных в пределах массива. Если IDs служб представляют собой VIDs, всего лишь единственный VID является применимым, в то время как в случае, когда IDs служб представляют собой I-SIDs, более чем один I-SIDs является возможным. MD5- значение справочника может сравниваться системами партнеров, чтобы определять, имеются ли различия между соответствиями, обеспечивающимися любой партнерской системой.
Фиг. 5B представляет собой графическое изображение одного варианта осуществления агрегированной административной карты соответствий служб с диалогами. Графическое изображение демонстрирует поля для агрегированной административной карты соответствий служб с диалогами, карта представляет собой массив, который индексируется посредством ID диалогов порта, и он содержит ID служб или целое число, представляющее собой ID служб. В одном варианте осуществления, агрегированная административная карта соответствий служб с диалогами (aAggAdminServiceConversationMap []) представляет собой массив из 4096 целых чисел, таких как 32-разрядные или 64-разрядные целые числа. В дополнительных вариантах осуществления, у массива может быть любой размер, порядковый номер, или тип значений. Агрегированная административная карта соответствий служб с диалогами может использоваться для того, чтобы преобразовывать IDs служб в IDs диалогов, и наоборот. Идентификатор ID диалогов может быть использован для того, чтобы искать по индексу в массиве, для восстановления ID служб. Массив может проходиться для того, чтобы находить ID служб, и соответствующий индекс представляет собой ID диалогов.
Фиг. 13 демонстрирует набор TLVs, требуемых для того, чтобы поддерживать функциональные средства для основывающегося на диалогах подбора кадров, и их распределения, согласно одному варианту осуществления изобретения. Набор TLVs включает в себя TLV алгоритма порта, TLV справочника IDs диалогов порта, TLV маски-1 диалогов, TLV маски-2 диалогов порта, TLV маски-3 диалогов порта, и TLV порта соответствий служб с диалогами. Каждый из TLVs был обсужден в данном документе. В одном образцовом воплощении, TLV 1302 алгоритма порта имеет значение поля «Тип» 0x04. Кортеж TLV справочника IDs диалогов порта, имеет значение поля «Тип» 0x05. Кортежи TLV маски-1 диалогов, TLV маски-2 диалогов, TLV маски-3 диалогов имеют значения полей «Тип» 0x06, 0x07, 0x08, соответственно. В одном варианте осуществления, набор TLVs формирует улучшенный LACPDU, чтобы воплощать варианты осуществления изобретения, демонстрирующиеся на чертежах от 3 до 6, и обсуждаемые в данном документе.
Еще один набор вариантов осуществления обновления выделения диалогов
Фиг. 6 представляет собой еще одну карту последовательных операций, демонстрирующую процесс обновления выделения диалогов, для порта агрегирования, согласно одному варианту осуществления изобретения. Процесс может быть воплощен в сети, содержащей одно, или несколько сетевых устройств, применяющих группу агрегирования линий связи, таких как сетевые устройства 120 и 122 на Фиг. 1A. Процесс может также быть воплощен в порталах 112 и 114 на Фиг. 1B. Заметим, что процесс 600 демонстрируется при помощи этапов 602-616, и они охватываются пунктирными линиями этапов 301-305, чтобы указывать на то, что процесс 600 представляет собой один вариант осуществления изобретения, воплощающего процесс 300.
Со ссылкой на Фиг. 6, процесс начинается с инициализации LACP, зависящего от диалогов, на этапе 602. В одном варианте осуществления, инициализация включает в себя, записывание на сетевом устройстве, алгоритма порта, задаваемого по умолчанию для партнерского сетевого устройства, в качестве текущего действующего алгоритма порта партнерского сетевого устройства (например, используя функцию recordDefaultPortAlgorithm (), чтобы записывать на сетевом устройстве алгоритм порта, задаваемый по умолчанию, в качестве текущего действующего параметра партнерского сетевого устройства. Инициализация может включать в себя записывание на сетевом устройстве, задаваемого по умолчанию для партнерского сетевого устройства, справочника идентификаторов (ID) диалогов порта, в качестве текущего действующего параметра справочника диалогов порта, партнерского сетевого устройства, (например, используя функцию recordDefaultConversationPortDigest (), чтобы записывать на сетевом устройстве, задаваемый по умолчанию, справочник IDs диалогов порта, в качестве текущего действующего параметра партнерского сетевого устройства). Инициализация может, дополнительно, включать в себя записывание на сетевом устройстве, задаваемой по умолчанию для партнерского сетевого устройства, маски диалогов, в качестве текущей действующей маски диалогов, для партнерского сетевого устройства (например, используя функцию recordDefaultConversationMask (), чтобы записывать на сетевом устройстве, задаваемую по умолчанию, маску диалогов, в качестве текущего действующего параметра партнерского сетевого устройства). Более того, инициализация может включать в себя записывание на сетевом устройстве, задаваемого по умолчанию для партнерского сетевого устройства, справочника соответствий служб с диалогами, в качестве текущего действующего справочника соответствий служб с диалогами, партнерского сетевого устройства (например, используя функцию recordDefaultConversationServiceMappingDigest (), чтобы записывать на сетевом устройстве, задаваемый по умолчанию, справочник соответствий служб с диалогами, в качестве текущего действующего параметра партнерского сетевого устройства). Путем того, что действующие параметры в партнерском сетевом устройстве записываются, используя значения по умолчанию LACP, зависящий от диалогов, инициализируется.
Процесс продолжается таким образом, что сетевое устройство принимает информацию об алгоритме порта от партнерского сетевого устройства, принимает справочник IDs диалогов порта, и/или справочник соответствий служб с диалогами, на этапе 603. Принимаемая информация будет использоваться, чтобы записывать значения параметров, в качестве действующих значений для сетевого устройства. Информация принимается на сетевом устройстве в виде кортежей TLVs, вложенных в LACPDU-блоки. Информация об алгоритме порта, идентифицирует алгоритм порта, она переносится в recordPortAlgorithmTLV, и перенесенное значение записывается, в качестве текущего значения действующего параметра партнерского сетевого устройства (например, действующий параметр представляет собой Partner_Port_Algorithm). Информация о справочнике IDs диалогов порта, переносится в recordConversationPortDigestTLV, и перенесенное значение записывается, в качестве текущего значения действующего параметра партнерского сетевого устройства (например, действующий параметр представляет собой Partner_Conversation_PortList_Digest). Дополнительно, информация о справочнике соответствий служб с диалогами переносится в recordConversationServiceMappingDigestTLV, и перенесенное значение записывается, в качестве текущего значения действующего параметра партнерского сетевого устройства (например, действующий параметр представляет собой Partner_Admin_Conversation_PortList_Digest). Как только информация принимается, сразу проверяется, что LACP, зависящий от диалогов, является действующим, как это описывается на этапе 301 на Фиг. 3. Аналогично этапу 303 на Фиг. 3, процесс 600 последует к этапам 604-606, и производятся действия, чтобы определять, что действия, при помощи улучшенных LACPDU, являются возможными, на основе, по меньшей мере, частично, проверки совместимости.
Со ссылкой на Фиг. 6, сетевое устройство определяет, является ли алгоритм порта, используемый сетевым устройством, тем же самым, как и алгоритм порта, используемый партнерским сетевым устройством, для группы агрегирования линий связи, на этапе 604. Действующий алгоритм порта, для сетевого устройства, может сохраняться в переменной, такой как Actor_Port_Algorithm для группы агрегирования линий связи, в то время как действующий алгоритм порта партнерского сетевого устройства, может сохраняться в переменной, такой как Partner_Port_Algorithm, для той же самой группы агрегирования линий связи. Сетевое устройство сравнивает эти две переменные и определяет, являются ли они согласованными. Например, функция, такая как Differ_Port_Algorithms может использоваться, где Differ_Port_Algorithms возвращает Булево значение, указывающее, что алгоритмы портов, используемые сетевым устройством и партнерским сетевым устройством, на двух концах одной и той же группы агрегирования линий связи, являются теми же самыми, или нет. Если эти две переменные являются несогласованными, по необязательному выбору, предупреждение отсылается для того, чтобы уведомлять оператора группы агрегирования линий связи, с тем, чтобы устранять отклонение от нормы.
Если эти две переменные являются согласованными, последовательность операций переходит на этап 605, где сетевое устройство определяет, является ли справочник IDs диалогов, используемый сетевым устройством, тем же самым, что и справочник IDs диалогов, партнерского сетевого устройства, для группы агрегирования линий связи. Действующий справочник IDs диалогов, сетевого устройства, может сохраняться в справочнике, таком как Actor_Conversation_PortList_Digest, в то время как действующий справочник IDs диалогов у партнерского сетевого устройства, может сохраняться в справочнике, таком как Partner_Conversation_PortList_Digest. Сетевое устройство сравнивает эти два справочника и определяет, являются ли они согласованными. Например, функция, такая как Differ_Port_Conversation_Digests может использоваться, где Differ_Port_Conversation_Digests возвращает Булево значение, указывающее, что справочник порта диалогов, используемый сетевым устройством, и справочник порта диалогов, используемый партнерским сетевым устройством, на двух концах одной и той же группы агрегирования линий связи, являются одним и тем же, или нет. Если эти два справочника являются несогласованными, по необязательному выбору, предупреждение отсылается для того, чтобы уведомлять оператора группы агрегирования линий связи, с тем, чтобы устранять отклонение от нормы.
Если эти две переменные являются согласованными, последовательность операций переходит на этап 606, где сетевое устройство определяет, является ли справочник соответствий служб с диалогами, используемый сетевым устройством, таким же, как и на партнерском сетевом устройстве, для группы агрегирования линий связи. Действующий справочник соответствий служб с диалогами, сетевого устройства, может сохраняться в справочнике, таком как Actor_Conversation_Service_Mapping_Digest, в то время как действующий справочник соответствий служб с диалогами, партнерского устройства, может сохраняться в справочнике, таком как Partner_Conversation_Service_Mapping_Digest. Сетевое устройство сравнивает эти два справочника и определяет, являются ли они согласованными. Например, функция, такая как Differ_Conversation_Service_Digests может использоваться, где Differ_Conversation_Service_Digests возвращает Булево значение, указывающее, что справочники соответствий служб с диалогами, используемые сетевым устройством и партнерским сетевым устройством на двух концах одной и той же группы агрегирования линий связи, является теми же самыми, или нет. Если эти два справочника являются несогласованными, по необязательному выбору, предупреждение отсылается для того, чтобы уведомлять оператора группы агрегирования линий связи, с тем, чтобы устранять отклонение от нормы.
Заметим, что порядки определений в Блоках 604-606 могут отличаться от порядка, который демонстрируется на Фиг. 6, в некоторых вариантах осуществления изобретения. Кроме того, некоторые варианты осуществления изобретения могут применять большую, или меньшую, проверку совместимости, чем та, которая демонстрируется.
Как только определяется то, что действующие параметры (несмотря на то, что некоторые из параметров могли бы рассматриваться как административные параметры) сетевого устройства и партнерского сетевого устройства, для одной и той же группы агрегирования линий связи являются согласованными, и оба устройства признают длинные LACPDU (могут также упоминаться как LACPDU-блоки Версии 2), обработка принимаемой зависящей от диалога информации, при помощи длинных LACPDU, становится возможной. Каждый длинный LACPDU составляет более чем 128 октетов в длину. Как это обсуждено в данном документе выше, улучшенный LACPDU является необходимым, чтобы обновлять информацию о выделении диалогов, поскольку традиционный LACPDU может поддерживать всего лишь вплоть до 1024 диалогов. Длинные LACPDU представляют собой один вариант осуществления улучшенных LACPDU, и дополнительные варианты осуществления улучшенных LACPDU являются подходящими для поддержки раскрываемого изобретения. Улучшенные LACPDU, в общей форме, могут переносить управляющую информацию, необходимую для обменов информацией о выделении диалогов на линиях связи групп агрегирования линий связи, между локальным сетевым устройством и партнерским сетевым устройством. Некоторые варианты осуществления, возможно, не используют длинные LACPDU, например, когда воплощение LACP поддерживает всего лишь не более чем 1024 диалогов. В дополнительном варианте осуществления, используется длинный LACPDU. Поскольку каждая LACPDU составляет больше, чем 128 октетов в длину, то она в состоянии поддерживать больше диалогов, чем традиционные LACPDU из 128 октетов. Например, длинная LACPDU может передавать кортеж TLV маски диалогов, демонстрирующийся на Фиг. 4A, при этом она может указывать состояние выделения диалогов для вплоть до 4096 диалогов. Длинные LACPDU употребляют большие сетевые ресурсы для своей обработки и передачи, и, возможно, является не эффективным позволять их передачу во все времена. Следовательно, Блок 608 может устанавливать таймер так, чтобы предоставлять временное окно для того, чтобы сетевое устройство передавало длинные LACPDU. Как только таймер истекает, сетевое устройство больше не передает длинные LACPDU, и процесс завершается без обновления выделения диалогов. При помощи настройки таймера для длинных LACPDU, сетевое устройство определяет, что действия, при помощи улучшенных LACPDU (длинные LACPDU употребляются в этом варианте осуществления изобретения), являются возможными, как это описано на этапе 303 на Фиг. 3. Аналогично, как на этапе 305 на Фиг. 3, процесс 600 последует к Блокам 608-622 и обновит состояние диалогов, для порта агрегирования.
Со ссылкой на Фиг. 6, сетевое устройство принимает одну, или несколько длинных LACPDU от партнерского сетевого устройства, указывающих отличающееся состояние выделения диалогов, в действии (operation conversation allocation state), на партнерском сетевом устройстве, на этапе 608. Состояние выделения диалогов, в действии, на партнерском сетевом устройстве, представляет собой действующую маску диалогов, для партнерского сетевого устройства, которая транспортируется при помощи принимаемых длинных LACPDU. Принимаемая длинная LACPDU может содержать состояние выделения диалогов, в действии, вкладываемое внутри единственного кортежа TLV маски диалогов. Еще в одном варианте осуществления, состояние выделения диалогов, в действии, партнерского сетевого устройства, вкладывается внутри множественных кортежей TLVs масок диалогов, таких как маска-1 диалогов, маска-2 диалогов, маска-3 диалогов, которые демонстрируются на чертежах от 12A до 12C.
В одном варианте осуществления, функция (такая как recordReceivedConversationMaskTLV) производится для вариантов осуществления с множественными TLVs масок диалогов. Функция записывает значение параметра для ActPar_Sync, который переносят в принимаемом TLV маски-1 диалогов, в качестве текущего значения действующего параметра для Partner_ActPar_Sync, она сочленяет значения Port_Oper_Conversation_Mask_1, Port_Oper_Conversation_Mask_2, и Port_Oper_Conversation_Mask_3, которые переносят посредством TLV маски-1 диалогов, TLV маски-2 диалогов, и TLV маски-3 диалогов, соответственно, и функция записывает конкатенацию, в качестве текущего значения для переменной “маска действий партнера” (partner operation mask variable). Когда сравнивается действие состояний выделения диалогов, на партнерском сетевом устройстве, и действие состояний выделения диалогов, на локальном сетевом устройстве, функция сравнивает переменную в маске диалогов по рабочим портам, с переменной в маске диалогов, действующей у партнера, на этапе 616.
Сетевое устройство, возможно, не принимает длинный LACPDU, но изменение действующего состояния группы агрегирования линий связи порта, или изменение конфигурации администрирования, обнаруживаются, на этапе 612. Сетевое устройство может содержать переменную для каждого порта группы агрегирования, чтобы прослеживать изменение действующего состояния каждого порта. Например, сетевое устройство может настраивать переменную ChangeActorOperDist для каждого порта, и переменная настраивается как TRUE, когда состояние распределения кадров изменяется. Переменная может быть выражена как ChangeAggregationPorts, соответствуя логической операции ИЛИ переменных ChangeActorOperDist для всех портов агрегирования. Переменная ChangeActorOperDist, для каждого порта, может также прослеживать изменения конфигурации администрирования. Например, переменная может быть настроена как TRUE, если обнаруживается новое административное значение списка приоритетов отбора, для порта агрегирования, прослеживаемое при помощи массива aAggConversationAdminPort [] (который содержит административные значения списка приоритетов отбора в порту агрегирования для упоминаемого ID диалогов порта), или новое административное значение, прослеживаемое при помощи массива aAggAdminServiceConversationMap [] (который содержит набор IDs служб). Следовательно, также на этапе 612, сетевое устройство обновляет свое состояние выделения диалогов, в действии (operation conversation allocation state). В одном варианте осуществления, обновление делается посредством обновления его действующей маски диалогов. В обоих случаях, сетевое устройство обновляет маску диалогов подбора, для порта, на этапе 616. Маска диалогов подбора представляет собой действующий Булев вектор, в одном варианте осуществления. Он может быть индексируемым посредством ID диалогов порта, указывающим, позволяется ли индексируемому ID диалогов порта достигать до агрегатора, как только он принимается через порт агрегирования. Затем сетевое устройство проверяет и рассматривает, сочетается ли его действующая маска диалогов с маской, используемой партнерским сетевым устройством. В одном варианте осуществления, проверка осуществляется при помощи проверки переменной Partner_Oper_Conversation_Mask, на сетевом устройстве.
В одном варианте осуществления, сетевое устройство настраивает маску диалогов подбора, для порта, различным образом, в зависимости от того, обновлялись ли маски диалогов, абсолютно всех портов агрегирования в сетевом устройстве (включающих в себя внутри - портальные порты (IPPs, Intra-Portal Ports), в случае портала), или же нет. Если абсолютно все маски диалогов, на всех портах, были обновлены, сетевое устройство настраивает маску диалогов подбора, для порта, как равную обновленной маске диалогов по рабочим портам, (port operation conversation mask) (обновленная маска диалогов по рабочим портам, может быть получена при помощи функции обновления (например, updateConversationMask), основывающейся на текущем списке диалогов порта). Если обновление масок диалогов дополнительных портов на сетевом устройстве все еще продолжается, сетевое устройство настраивает маску диалогов подбора, для порта, как равную Булевому вектору, который соответствует результату логического действия AND между текущей маской диалогов подбора и обновленной маской диалогов по рабочим портам, (например, при помощи функции updateConversationMask).
Сетевое устройство указывает, что маска диалогов подбора и маска диалогов распределения являются не синхронизированными (используя бит ActPar_Sync поля состояния масок диалогов в TLV маски диалогов, как это демонстрируется на Фиг. 4B, например). Как это обсуждено в данном документе выше, сетевое устройство может содержать переменную для каждого порта группы агрегирования, чтобы прослеживать изменение действующего состояния каждого порта, такую как переменная ChangeActorOperDist для каждого порта, где ChangeActorOperDist прослеживает, действующее на сетевом устройстве, состояние порта, когда распределяются кадры. Сетевое устройство настроит переменную как FALSE, чтобы указывать, что отсутствует изменение состояния распределения кадров.
Когда действующая маска диалогов, для порта, сочетается с действующей маской диалогов подбора, для сочетаемого порта, на партнерском сетевом устройстве, процесс переходит на этап 622, и, так как у обоих сетевых устройств (партнеров) имеется одна и та же действующая маска диалогов, процесс отправки длинных LACPDU будет остановлен. Когда действующая маска диалогов, для порта, не сочетается с действующей маской диалогов подбора, для сопоставленного порта, на партнерском сетевом устройстве, процесс переходит на этап 617, где отсутствие синхронизации обнаруживается.
Затем сетевое устройство настраивает таймер для того, чтобы отправлять обновляющую длинный LACPDU, на этапе 618, к удаленному сетевому устройству. Оно настраивает обновление локальных настроек как TRUE, когда маска диалогов является не синхронизированной (например, используя updateLocal, чтобы указывать, что локальные маски диалогов должны быть обновлены).
Варианты осуществления обновления маски диалогов
Фиг. 7 представляет собой карту последовательных операций, демонстрирующую обновление маски диалогов, для порта агрегирования, после приема длинного LACPDU, согласно одному варианту осуществления изобретения, для обновления маски диалогов. Способ 700 может быть воплощен в контроллере агрегирования сетевого устройства. На этапе 705 на Фиг. 7, длинный LACPDU принимается на сетевом устройстве, содержащая отличающееся состояние выделения диалогов, на партнерском сетевом устройстве. Когда длинная LACPDU содержит маску диалогов, для партнерского сетевого устройства, отличающуюся от маски диалогов, для порта агрегирования, то есть, партнерское сетевое устройство отправило отличающуюся маску диалогов, в этом случае сетевое устройство определяет, действительно ли партнерское сетевое устройство отправило отличающуюся маску диалогов, проверяя переменную «маска диалогов, действующая у партнера», такую как Partner_Oper_Conversation_Mask. Переменная «маска диалогов, действующая у партнера», представляет собой переменную, сопоставляемую с каждым портом агрегирования линий связи. В одном варианте осуществления, переменная сохраняется в запоминающем устройстве, находящемся внутри сетевого устройства.
В одном варианте осуществления, маска диалогов, действующая у партнера, передается при помощи кортежа TLV маски диалогов, который демонстрируется на Фиг. 4A. Когда новый TLV маски диалогов принимается, маска диалогов, действующая у партнера, вложенная в новый TLV маски диалогов, обновляет переменную «маска диалогов, действующая у партнера», для порта агрегирования. Следовательно, переменная «маска диалогов, действующая у партнера», для порта агрегирования линий связи, синхронизируется с маской диалогов, задействованной на партнерском сетевом устройстве, для порта группы агрегирования линий связи. Сетевое устройство сравнивает переменную «маска диалогов, действующая у партнера» с маской диалогов по рабочим портам, и различие активизирует Блок 616.
Со ссылкой на Фиг. 7, на этапе 707, маска диалогов подбора, для порта агрегирования, обновляется на основе функции обновления маски диалогов (например, функция updateConversationMask).
На этапе 708 сетевое устройство настраивает указание, что маска диалогов, используемая на сетевом устройстве, отличается от маски, используемой на партнерском сетевом устройстве. В одном варианте осуществления, значение состояния масок диалогов (такое как бит ActPar_Sync, в ссылочной позиции 410, на Фиг. 4B), настраивается, чтобы указывать несогласованность.
Хотя Фиг. 7 демонстрирует порядок операций, порядок операций может быть отличающимся, в дополнительных вариантах осуществления изобретения, например, этапы 707-708 могут быть упорядоченными по-другому, еще в одном варианте осуществления изобретения.
Заметим, что, в то время как порты агрегирования используются в обсуждении, по отношению к Фиг. 7, способ 700 может быть воплощен для порталов системы распределенного отказоустойчивого межсоединения сети (DRNI), в которой сетевые устройства, дополнительно, воплощают порты агрегирования, которые показаны на Фиг. 1B.
Чертежи от 8A до 8D демонстрируют последовательность обновления маски диалогов, для порта агрегирования, согласно одному варианту осуществления изобретения. Каждый чертеж включает в себя значения переменной «маска диалогов партнера», сопоставляемой с портом агрегирования, и также переменных маска подбора, маска распределения, и состояние маски диалогов, сопоставляемых с портом агрегирования. На Фиг. 8A, порт агрегирования производит действия в нормальном состоянии. Маска диалогов подбора и маска диалогов распределения являются одинаковыми, обе представляют собой 01010101 … 00. В этом примере, группа агрегирования линий связи поддерживает вплоть до 4096 диалогов, следовательно, маска диалогов подбора и маска диалогов распределения содержат 4096 битов (512 октетов). Для простоты иллюстрации, только первые 10 битов и последние два бита масок демонстрируются, следовательно, обсуждение сосредотачивается на диалогах от 0 до 9 (IDs диалогов: от 0 до 9), и диалогах 4094 и 4095 (IDs диалогов: 4094 и 4095). Как это демонстрируется, порт агрегирования обрабатывает диалоги 1, 3, 5, и 7. Порт распределяет и подбирает кадры для тех же самых диалогов 1, 3, 5 и 7. Переменная «маска диалогов партнера», является идентичной с маской диалогов подбора и маской диалогов распределения, и это указывает на то, что сочетаемый порт группы агрегирования линий связи, на удаленном сетевом устройстве, передает диалоги 1, 3, 5 и 7. Следовательно, состояние маски диалогов указывает, что маска диалогов подбора и маска диалогов распределения являются теми же, что и переменная «маска диалогов партнера», посредством настройки, что бит ActPar_Sync равен 1, следовательно, состояние маски диалогов представляет собой 10000000.
На Фиг. 8B отклонение от нормы происходит с группой агрегирования линий связи, и переменная «маска диалогов партнера» обновляется до другого значения. Активизирующим событием может послужить перебой канала передачи, перебой системы агрегирования линий связи на портале, или некоторые дополнительные события. Отклонение от нормы может активизировать передачу одной, или нескольких улучшенных LACPDU, таких как длинные LACPDU, и улучшенные LACPDU принимаются на сетевом устройстве. Вложенный TLV (такой как TLV 400 маски диалогов, демонстрирующийся на Фиг. 4A) используется, чтобы обновлять переменную «маска диалогов партнера», сопоставляемую с портом агрегирования. Измененное битовое значение переменной «маска диалогов партнера», выделяется подчеркивающей линией, и то же самое обозначение применяется и на чертежах от 8C до 8D. Переменная «маска диалогов партнера», теперь указывает, что партнерское сетевое устройство передает диалоги 0-3 к порту агрегирования. Оно больше не передает диалоги 5 и 7, но добавило диалоги 0 и 2.
Сетевое устройство затем сохраняет переменную «маска диалогов партнера», и оставляет подбор портов агрегирования и распределение кадров для диалогов 1, 3, 5 и 7, такими же, как и прежде. Поскольку маски диалогов, используемые локальным сетевым устройством (это действующий субъект), отличаются от таковых на удаленной системе (это партнер), состояние маски диалогов, представляемое посредством бита ActPar_Sync, сбрасывается на нуль, и переменная, updateLocal, настраивается равной 1, чтобы указывать, что локальная маска диалогов должна быть повторно вычислена.
На Фиг. 8C, длинный LACPDU прибыла, и, если не все порты на локальном сетевом устройстве были обновлены, чтобы сочетаться с такими же условиями, что и у партнера, в этом случае маска диалогов подбора и маска диалогов распределения обновляются, при помощи логического действия AND между текущей маской диалогов распределения и обновленной маской диалогов по рабочим портам, (например, при помощи действия обновления, такого как исполнение функции updateConversationMask). Следовательно, маска диалогов подбора и маска диалогов распределения обновляются, чтобы представлять собой 01010000.. 00 (то есть, порт агрегирования подбирает кадры только из общих диалогов, 1, 3). Затем, на Фиг. 8D, абсолютно все порты на локальном сетевом устройстве были обновлены, чтобы сочетаться с таким же условием, что и у партнера, и, соответственно, о них сообщают, как имеющих один и тот же Actor_Oper_Port_state. Распределяя значение, если соединенные порты на удаленном партнере бездействуют, он настраивает бит ActPar_Sync равным 1, указывая, что порт партнера на партнерском сетевом устройстве завершил синхронизацию маски диалогов подбора и маски диалогов распределения. Затем маска диалогов подбора может настраиваться так, чтобы быть такой же, как и маска диалогов распределения, и она подбирает кадры только лишь для диалогов 0-3, придерживаясь переменной «маска диалогов партнера».
Фиг. 9 представляет собой карту последовательных операций одного варианта осуществления процесса для основывающегося на диалогах подбора для группы агрегирования линий связи. Демонстрируемый процесс воплощается во взаимодействии с процессом подбора кадров. Таким образом, этот процесс относится к перемещению кадров, содержащих регулярный трафик данных, в противоположность манипулированию LACPDU-блоками, которое обсуждено в данном документе выше. Кроме того, как описано в данном документе выше, процесс подбора кадров принимает кадры от портов агрегирования и подбирает их на основе алгоритма порта, употребляемого во взаимодействии с устройством распределения кадров партнерской системы. В тех ситуациях, когда основывающийся на диалогах подбор и распределение позволяются, демонстрирующийся процесс приводит в исполнение выделение диалогов, для каждого порта агрегирования. Диалоги выделяются специфическим портам так, что кадры данного диалога, которые прибывают на не выделенный порт агрегирования, представляют собой кадры не по порядку, как результат повторного выделения диалогов к еще одному порту агрегирования, или из-за аналогичной проблемы.
Процесс может быть инициализирован, как отклик на прием кадра по линии связи группы агрегирования линий связи, сопоставленной с сетевым устройством, исполняющим процесс (этап 901). Сетевое устройство, обменивающееся информацией в группе агрегирования линий связи, может представлять собой часть DRNI-портала, или аналогичные сетевые конфигурации. Кадр, который принимается, может представлять собой любой тип форматов обмена информацией, такой как кадр Ethernet, или аналогичный блок обмена информацией. Кадр может быть принят через порт агрегирования и пропущен к устройству подбора кадров сетевого устройства. В одном варианте осуществления основывающийся на диалогах подбор кадров может быть позволен и запрещен административными функциями или конфигурированием. В дополнительных вариантах осуществления всегда воплощается основывающийся на диалогах подбор кадров. Там, где основывающийся на диалогах подбор кадров является конфигурируемым, устройство подбора кадров может проверять, позволяется ли основывающийся на диалогах подбор кадров в настоящий момент (этап 903). Если основывающийся на диалогах подбор кадров не позволяется, принимаемые кадры переадресовываются к клиенту агрегатора (этап 905). Устройство подбора кадров систематизирует принимаемые кадры от всех портов агрегатора, согласно алгоритму агрегирования или процессу распределения, используемому партнерской системой.
Там, где основывающийся на диалогах подбор позволяется, идентификатор диалогов может определяться для принимаемых кадров (этап 907). Идентификатор диалогов может быть определен, путем использования любого процесса или оснащения, которые употребляют информацию, находящуюся внутри принимаемых кадров, так, что один и тот же процесс или оснащение употребляется как устройством распределения кадров, так и устройством подбора кадров, чтобы получать один и тот же идентификатор диалогов, предопределенно. В одном образце воплощения, идентификатор служб извлекается из принятых кадров. Идентификатор служб может представлять собой любое поле, или комбинацию полей, в принятых кадрах, такие как поле идентификатора виртуальной локальной сети (VLAN) (VID) или идентификатора экземпляра опорного сервиса (I-SID). Идентификатор служб может затем быть преобразован в идентификатор диалогов. Преобразование может использовать любую локальную структуру данных, такую как таблица поиска соответствий, массив соответствий или аналогичная структура данных, чтобы устанавливать соответствие идентификаторов служб и идентификаторов диалогов.
В результате этого, идентификатор диалогов может затем быть сравнен с маской диалогов или аналогичной структурой данных, которая прослеживает диалоги, которые были выделены конкретному порту агрегирования (этап 911). Там, где сочетаемость находится, принимаемый кадр является частью диалога, который был выделен порту агрегирования, по которому он был принят и, следовательно, он был принят в правильном порядке, и устройство подбора кадров может пропускать кадр к клиенту агрегатора. Несмотря на это, если сочетаемость не обнаруживается в маске диалогов или в аналогичной структуре отслеживания, то принимаемые кадры были приняты не по порядку, на неподходящем порту агрегирования, и они затем отбрасываются (этап 913).
Фиг. 10 представляет собой карту последовательных операций еще одного варианта осуществления процесса для основывающегося на диалогах подбора для группы агрегирования линий связи. Этот вариант осуществления предоставляет образцовое воплощение процесса, описанного выше, применительно к Фиг. 9. Инициализация, как отклик на прием кадра (этап 901), может представлять собой подтверждение получения адресного указателя кадров, или идентификатора, из MAC порта агрегирования сетевого устройства, где порт агрегирования является сопоставленным с группой агрегирования линий связи (этап 1001). Группа агрегирования линий связи может определяться между двумя партнерскими системами, которые представляют собой системы агрегирования и DRNI-порталы. Кадр может сохраняться в любом запоминающем устройстве, буферном запоминающем устройстве, сверхоперативной памяти, регистрирующем устройстве или в аналогичном размещении хранения в процессоре сети, или внутри сетевого устройства. Адресный указатель, или аналогичный идентификатор, могут предоставлять информацию о размещении, для получения доступа к кадру.
Кадр, который принимается, может представлять собой любой тип формата обмена информацией, такой как кадр Ethernet или аналогичный блок обмена информацией. Кадр может приниматься через порт агрегирования, и пропускаться к устройству подбора кадров сетевого устройства через анализатор (parser) и/или концентраторы (multiplexers) управления и анализатор и/или концентраторы агрегатора, где устройство подбора кадров представляет собой подкомпоненту агрегатора подуровня агрегирования линий связи, исполняемого сетевым процессором сетевого устройства. В одном варианте осуществления основывающийся на диалогах подбор кадров может быть позволен и запрещен административными функциями или конфигурацией. В дополнительных вариантах осуществления, всегда воплощается основывающийся на диалогах подбор кадров. Там, где основывающийся на диалогах подбор кадров является конфигурируемым, устройство подбора кадров может проверять, позволяется ли основывающийся на диалогах подбор кадров в настоящий момент (этап 903), посредством проверки, настроен ли флаг или аналогичный маркер статуса (например, флаг ‘EnablingWrongConversationDiscarding’), в конфигурации агрегатора или в аналогичном размещении (этап 1003). Если основывающийся на диалогах подбор кадров не позволяется, принятый кадр, адресная ссылка кадров, или аналогичный идентификатор кадров, переадресовываются к клиенту агрегатора (этап 905, 1005). Устройство подбора кадров подбирает принимаемые кадры от всех портов агрегатора, согласно алгоритму агрегирования, или процессу распределения, используемым партнерской системой.
Кадр может обрабатываться так, чтобы определять сопоставляемый идентификатор диалогов, посредством любой функции, которая использует разделяемый предопределенный процесс между устройством подбора кадров и устройством распределения кадров (например, функция DeterminePortConversationID) (этап 907). В одном образцовом воплощении, такая функция может определять идентификатор диалогов, получая доступ к кадру для того, чтобы извлекать ID служб (этап 907), где содержимое кадра и формат сначала исследуются для того, чтобы определять формат ID служб и его размещение, сравнивая информацию заголовка кадра с информацией о конфигурации приписывания кадров к диалогам (этап 1007). Формат кадра, и информация о конфигурации, могут указывать, что ID служб имеет вид 12-разрядного поля VID, 24-разрядного I-SID поля или аналогичных полей, или комбинаций из этого, в зависимости от формата кадра. Конфигурация может назначать любое поле, или набор полей, для использования в качестве ID служб принимаемых кадров. Процесс затем продолжается, посредством использования типа ID служб и информации о размещении для того, чтобы восстанавливать ID служб из кадра (этап 1009). Например, адресный указатель кадров и информация о размещении могут принимать вид адреса и смещения, соответственно, что позволяет устройству подбора кадров получать доступ и восстанавливать значение, в точно описываемом размещении.
Восстановленный ID служб может затем использоваться, чтобы получать соответствующий идентификатор диалогов (то есть, преобразовывать в него) (этап 909). Процесс преобразования может принимать форму просмотра, используя таблицу соответствий служб с диалогами (то есть, массив aAggAdminServiceConversationMap [], который использует идентификатор диалогов в качестве индекса и сохраняет IDs служб). Просмотр может использовать ID служб в качестве индекса, может проходить в структуре данных для того, чтобы находить сочетающийся ID служб, или производить аналогичное действие просмотра на справочнике соответствий служб с диалогами. Действие просмотра выдает соответствующий идентификатор диалогов для принятого кадра.
Проверка затем может быть осуществлена, обладает ли принятый кадр идентификатором диалогов, для диалога, который был выделен порту агрегирования, по которому кадр был принят (этап 911). Эта проверка может быть проделана посредством получения доступа к маске диалогов для порта агрегирования, через который был принят кадр, где маска диалогов представляет собой поэлементно адресуемое отображение, или аналогичную структуру данных, которые используется, чтобы прослеживать диалоги, выделяемые порту агрегирования (этап 1013). Если соответствующий бит для идентификатора диалогов настраивается как Булево значение ИСТИНА, то кадр является сопоставленным с диалогом, который является надлежащим образом выделенным порту агрегирования, и он может быть переадресован к клиенту агрегатора (этап 1005). Если, однако, соответствующий бит в маске диалогов настраивается как Булево значение ЛОЖЬ, то кадр отбрасывается (этап 913, 1015), потому что кадр является сопоставленным с диалогом, который не является выделенным порту агрегирования, через который он был принят, указывая, что он был отправлен, по ошибке, или не по порядку, вследствие процессов перераспределения, или аналогичных изменений.
Фиг. 11 представляет собой графическое изображение одного варианта осуществления сетевого устройства, воплощающего основывающийся на диалогах подбор для группы агрегирования линий связи в сети. Сетевое устройство может обрабатывать диалоги, при этом каждый диалог предназначается для службы или приложения в сети. Сетевое устройство 1180 может воплощать подуровень 1170 агрегирования линий связи, как описано в данном документе выше, по отношению к Фиг. 2, и оно поддерживает функции агрегирования линий связи, описанные в данном документе выше. Сетевое устройство 1180 может включать в себя процессор 1100 сети, набор портов 1140, устройство 1150 хранения и аналогичные компоненты сетевых устройств. Компоненты сетевых устройств предоставляются, в качестве примера, но не ограничения. Сетевое устройство 1180 может воплощать функции агрегирования и подуровня 1170 агрегирования линий связи, использующие любое количество или тип процессоров, и с любой конфигурацией. В дополнительных вариантах осуществления, функции агрегирования и подуровень агрегирования линий связи и, относящиеся к делу, компоненты, распределяются среди набора процессоров сети, набора линейных плат и их составных частей, процессоров общего назначения или для специфических приложений, или аналогичного тому, воплощенных в архитектуре сетевого устройства.
Порты 1140 могут соединять сетевое устройство через физическую среду, такую как Ethernet, оптоволоконная, или аналогичная среда, с любым количеством дополнительных сетевых устройств. Любое количество и многообразие портов может присутствовать на сетевом устройстве 1180. Любая комбинация или подмножество портов 1140 может систематизироваться и подлежать администрированию, в качестве группы агрегирования линий связи, или DRNI-портала, где сетевое устройство функционирует в качестве системы агрегирования.
Набор устройств 1150 хранения, находящихся внутри сетевого устройства 1180, может представлять собой любой тип запоминающих устройств, сверхоперативных буферных запоминающих устройств, регистрирующих устройств или аналогичных запоминающих устройств, для использования в качестве оперативной памяти и/или постоянного хранения. Любое количество и многообразие запоминающих устройств 1150 могут употребляться, чтобы сохранять данные сетевого устройства, включающие в себя программируемые данные и получаемый трафик данных, которые следует обрабатывать сетевым устройством 1180. В одном варианте осуществления, база 1152 данных справочника, или аналогичная организация справочника соответствий служб с диалогами, масок диалогов, состояний выделения диалогов, состояний из списков диалогов, передающихся через порт агрегирования, и аналогичных структур данных, описанных в данном документе выше, могут быть сохранены в такой структуре данных. Дополнительные структуры данных, сохраняемые в запоминающем устройстве 1150, могут включать в себя массив aAggAdminServiceConversationMap [], и аналогичные структуры данных. В других вариантах осуществления, эти структуры данных могут конструироваться, как являющиеся независимыми, и могут распределяться среди любого количества отдельных запоминающих устройств 1150, находящихся внутри сетевого устройства 1180.
Набор процессоров сети 1100 может воплощать функции агрегирования и подуровня 1170 агрегирования линий связи, описанные в данном документе выше. Функции агрегирования могут включать в себя клиент (ы) 1172 агрегатора и подуровень 1170 агрегирования линий связи, которые могут включать в себя анализатор/мультиплексор 1102 управления, контроллер 1106 агрегирования, устройство 1125 подбора кадров, устройство 1120 распределения кадров, и клиентский интерфейс 1111. Как это описано, дополнительно, в данном документе выше, клиент (ы) 1172 агрегатора может предоставлять функции более высокого уровня сетевого устройства, такие как функции уровня 3 и аналогичные функции более высоких уровней.
Контроллер 1106 агрегирования, который описан, дополнительно, в данном документе выше, может воплощать функции управления агрегированием линий связи, и функции протоколов управления агрегированием линий связи. Эти функции администрируют конфигурацию и выделение групп агрегирования линий связи, DRNI портал и аналогичные аспекты. Анализатор и мультиплексор 1102 управления идентифицируют и переадресовывают LACPDU-блоки от дополнительного трафика данных, принимаемого на портах агрегирования, и отправляет LACPDU-блоки в контроллер 1106 агрегирования, и дополнительный трафик данных к подуровню 1170 агрегирования линий связи.
Подуровень 1170 агрегирования линий связи, который описан, дополнительно, в данном документе выше, администрирует подбор и распределение кадров, согласно алгоритму распределения. В пределах подуровня 1170 агрегирования линий связи, устройство 1125 подбора кадров принимает кадры, и систематизирует их, согласно алгоритму распределения, разделяемому с партнерской системой, на другой стороне группы агрегирования линий связи. Устройство 1120 распределения кадров подготавливает и осуществляет отбор, подлежащих отправке, кадров для передачи по набору портов агрегирования, согласно алгоритму распределения. Клиентский интерфейс 1111 принимает, и передает, кадры к клиенту(ам) 1172, и от клиента(ов) 1172, агрегатора. Входящие кадры пропускаются от устройства 1125 подбора кадров к клиенту(ам) 1172 агрегатора, и, подлежащие отправке, кадры пропускаются от устройства 1120 распределения к клиенту(ам) 1172 агрегатора.
Как это обсуждено в данном документе выше, применительно к основывающемуся на диалогах, подбору для группы агрегирования линий связи, устройство 1125 подбора кадров выполняется с возможностью определять идентификатор диалогов для принимаемого кадра (например, используя функцию DetermineConversationID, которая, в одном образцовом воплощении, извлекает идентификатор служб из кадра, и преобразовывает идентификатор служб в идентификатор диалогов, тем не менее, любой предопределенный процесс может употребляться, который разделяется между устройством подбора кадров и устройством распределения кадров), сравнивать идентификатор диалогов с выделением диалогов порта, отбрасывать кадр, в качестве отклика на отсутствие сочетаемости идентификатора диалогов с выделением диалогов порта, и переадресовывать кадр к клиенту агрегатора, в качестве отклика на наличие сочетаемости идентификатора диалогов с выделением диалогов порта. Кроме того, в одном образцовом воплощении, устройство 1125 подбора кадров может проверять, позволяется ли основывающийся на диалогах подбор, может принимать адресную ссылку кадров от порта агрегирования, который является сопоставленным с группой агрегирования линий связи, может извлекать идентификатор служб из кадра, определяя формат идентификатора служб и его размещение, посредством сравнения информации в заголовке кадра с конфигурацией приписывания кадров к диалогам, и восстанавливая идентификатор служб из кадра в определенном размещении, может преобразовывать идентификатор служб в идентификатор диалогов, посредством поиска идентификатора служб в справочнике соответствий служб с диалогами для того, чтобы получать идентификатор диалогов, может сравнивать идентификатор диалогов с выделением диалогов порта, получая доступ к маске диалогов для порта агрегирования, с использованием идентификатора диалогов в качестве индекса, и может отбрасывать кадр, в качестве отклика на нахождение булевого значения FALSE в размещении в маске диалогов, идентифицированном посредством использования идентификатора диалогов в качестве индекса.
В одном варианте осуществления, контроллер 1106 агрегирования проверяет, что воплощение протокола управления агрегированием линий связи (LACP), зависящего от диалогов, является действующим. Проверка производится при помощи контроллера 1106 агрегирования, инициализирующего воплощение LACP и, затем, принимающего, по меньшей мере, одно из (1), идентификатор алгоритмов, используемый для того, чтобы приписывать кадры к идентификаторам диалогов порта, на партнерском сетевом устройстве; (2) справочник идентификаторов диалогов, от партнерского сетевого устройства; и (3) справочник соответствий служб с диалогами, от партнерского сетевого устройства. Принимаемые параметры могут быть сохранены в запоминающем устройстве 1150 (например, в базе 1152 данных справочника).
Затем контроллер 1106 агрегирования определяет, являются ли возможными действия, при помощи улучшенных LACPDU, после проверки, что воплощение LACP является действующим. Как это обсуждено в данном документе выше, улучшенные LACPDU могут использоваться для обновления информации о выделении диалогов, и определение является основанным на проверке совместимости между набором рабочих параметров сетевого устройства 1180 и еще одним сочетаемым набором рабочих параметров партнерского сетевого устройства сетевого устройства 1180. Партнерское сетевое устройство представляет собой удаленное сетевое устройство на противоположном конце группы агрегирования линий связи, для сетевого устройства 1180. В одном варианте осуществления, улучшенные LACPDU представляют собой длинные LACPDU, что означает, что они имеют большую, чем 128 октетов, длину.
В одном варианте осуществления, проверка совместимости включает в себя (1) определяют, что первый алгоритм, используемый, чтобы приписывать кадры к идентификаторам диалогов порта, на сетевом устройстве, является согласованным со вторым алгоритмом, используемым, чтобы приписывать кадры к идентификаторам диалогов порта, принимаемым от партнерского сетевого устройства, (2) определяют, что первый справочник идентификаторов диалогов, для сетевого устройства, является согласованным со вторым справочником идентификаторов диалогов, принимаемым от партнерского сетевого устройства, и (3) определяют, что первый справочник соответствий служб с диалогами является совместимым со вторым справочником соответствий служб с диалогами, принимаемым от партнерского сетевого устройства. Если проверка совместимости проходит, контроллер 1106 агрегирования обрабатывает принимаемую зависящую от диалога информацию и настраивает таймер, чтобы предоставлять временное окно для того, чтобы передавать улучшенные LACPDU. Если таймер истекает, и ни одна улучшенный LACPDU не был принят, то, задаваемые по умолчанию значения параметров конфигурации, для партнера, настраиваются, и еще один цикл проверки/совместимости необходимо инициализировать.
Если проверка совместимости претерпевает неудачу, улучшенные LACPDU не могут использоваться, и ручное вмешательство может быть востребовано, следовательно, контроллер 1106 агрегирования, по необязательному выбору, может отсылать предупреждение для того, чтобы указывать этот перебой проверки совместимости.
Когда проверка совместимости проходит, контроллер 1106 агрегирования может быть выполнен с возможностью обновлять состояние выделения диалогов, для порта агрегирования группы агрегирования линий связи, на основе определения того, что состояние выделения диалогов является некорректным. В одном варианте осуществления, состояние выделения диалогов, для порта агрегирования, представляется посредством маски диалогов, для порта агрегирования. Маска диалогов, для порта агрегирования, может быть представлена как кортеж Тип/Длина/Значение (TLV) маски диалогов, который содержит (1) поле «Тип TLV», (2) поле «Длина маски диалогов»; (3) поле «Состояние маски диалогов», и (4) поле «Маска диалогов по рабочим портам». Структура каждого поля была обсуждена в данном документе выше. Заметим, что маска диалогов может быть представлена посредством одной, или нескольких TLVs масок диалогов, которые демонстрируются на чертежах, от 4A до 4C, и чертежах, от 12A до 12C, и обсуждены в данном документе выше.
Контроллер агрегирования может, следовательно, в некоторых вариантах осуществления, рассматриваться как содержащий в себе блок проверки для того, чтобы проверять, что воплощение протокола управления агрегированием линий связи (LACP), зависящего от диалогов, является действующим, блок определения для того, чтобы определять, что действия, при помощи улучшенных блоков данных протокола управления агрегированием линий связи, LACPDUs, являются возможными, при этом улучшенные LACPDU могут использоваться для обновления информации о выделении диалогов, при этом определение является основанным, по меньшей мере, частично, на проверке совместимости между первым набором рабочих параметров сетевого устройства и вторым набором рабочих параметров партнерского сетевого устройства, и при этом партнерское сетевое устройство представляет собой удаленное сетевое устройство из группы агрегирования линий связи, коммуникативно-сопряженное с сетевым устройством, и блок обновления для того, чтобы обновлять первое состояние выделения диалогов, для порта агрегирования группы агрегирования линий связи, на основе определения, что первое состояние выделения диалогов является некорректным, при этом первое состояние выделения диалогов, для порта агрегирования группы агрегирования линий связи, указывает первый список диалогов, передающихся через порт агрегирования.
Обновление состояния выделения диалогов может быть основано на определении того, что первое состояние выделения диалогов, для порта агрегирования группы агрегирования линий связи на сетевом устройстве, отличается от второго состояния выделения диалогов, для порта агрегирования, принимаемого от партнерского сетевого устройства, где второе состояние выделения диалогов указывает второй список диалогов, принимаемых через группу агрегирования линий связи. Альтернативно, обновление состояния выделения диалогов может быть осуществлено, на основе обнаружения изменения в действующем состоянии близлежащего порта агрегирования группы агрегирования, на сетевом устройстве. Заметим, что сетевое устройство может настраивать таймер, предоставляющий временное окно для сетевого устройства, чтобы оно передавало длинные LACPDU. Как только таймер истекает, сетевому устройству запрещается передавать улучшенные LACPDU (например, длинные LACPDU, которые обсуждаются в данном документе выше), и процесс обновления выделения диалогов заканчивается. При помощи настройки таймера для длинных LACPDU, сетевое устройство сначала определяет, что действия, использующие улучшенные LACPDU, являются возможными, как это описано на этапе 303 на Фиг. 3.
Некоторые термины были изменены между представленным документом и приоритетными документами, во избежание двусмысленного толкования. Несмотря на это, все изменения в терминах были сделаны относительно эквивалентной терминологии. Термин “трафик данных”, который используется в данном документе, и в приоритетных документах, следует понимать, как ссылку на упорядоченную последовательность кадров, которая, в свою очередь, является эквивалентной термину “диалог”. Ссылка была сделана на “уровень” агрегирования линий связи, что вносит на рассмотрение дихотомию между “уровнем линии связи ” и “уровнем” группы агрегирования линий связи, и утверждение, что идентификатор диалогов идентифицирует диалог на уровне группы агрегирования линий связи, является эквивалентным указанию того, что идентификатор диалогов идентифицирует диалог в данной группе агрегирования линий связи. Там, где упоминался “каждый кадр” из набора кадров, принимаемых на сетевом устройстве, конкретный “принятый кадр” находится внутри этого набора кадров.
В то время как изобретение было описано с точки зрения некоторого количества образцовых вариантов осуществления изобретения, специалисты в данной области техники распознают, что изобретение не ограничивается описанными вариантами осуществления, может быть реализовано на практике с модификацией и преобразованием, в пределах существа и объема прилагаемой формулы изобретения. Описание, следовательно, следует расценивать скорее как иллюстративное, чем ограничивающее.