Область техники, к которой относится изобретение
Настоящее изобретение относится к связи в сети, включающей в себя множество узловых устройств.
Предшествующий уровень техники
В отношении связи в сети разработаны различные методики с различных точек зрения, например управления в случае возникновения отказа, избыточности для отказоустойчивости и управления маршрутизацией.
Например, чтобы способствовать снижению расходов на сеть и быстро определять отказ, раскрыта следующая система связи, а именно маршрутизатор A на стороне передатчика постоянно передает маршрутизатору B на стороне приемника пакеты, включающие пользовательские пакеты, в интервалы времени короче времени определения отказа, которое заранее согласовано маршрутизатором B. Маршрутизатор B включает в себя таймер, истекающий в момент определения отказа.
В случае, где сеть между маршрутизаторами A и B является нормальной, маршрутизатор B принимает пакет до истечения таймера. Используя это, маршрутизатор B считает, что сеть является нормальной, и сбрасывает таймер, если принимает пакет до истечения таймера. Если таймер истекает до приема пакета, то маршрутизатор B может посчитать сеть ненормальной и поэтому определяет, что возникает отказ. Такое применение определения с помощью таймера к передаче и приему пакетов, включающих пользовательские пакеты, дает возможность быстрого определения отказа в сети, предотвращая при этом удвоение сети и способствуя сокращению затрат.
Также раскрыта нижеследующая система телефонии, чтобы решить проблему в том, что традиционная система Интернет-телефонии неспособна распознать, что пакеты голосовых данных не принимаются из-за сжатия тишины или пакеты голосовых данных нельзя принять из-за возникновения неисправности в Интернете.
То есть после того как установлено состояние вызова между телефонами, шлюз среды вызывающей стороны периодически передает контрольный пакет шлюзу среды вызываемой стороны через Интернет. При приеме контрольного пакета шлюз среды вызываемой стороны передает ответный пакет шлюзу среды вызывающей стороны через Интернет. Когда количество раз, которое ответ или контрольные пакеты, которые нужно принять, не могут быть периодически введены, достигает заданной пороговой величины, два шлюза среды выдают агенту вызовов уведомление о неприеме пакета. При приеме уведомления о неприеме пакета агент вызовов управляет двумя шлюзами среды для выполнения процесса отключения.
Также раскрыта система управления переключением канала связи, чтобы решить проблему в том, что даже если канал связи переключается маршрутизатором, то отличные от маршрутизатора устройства не могут распознать, что канал связи переключен.
Система управления переключением канала связи включает в себя первый IPGW (Шлюз Интернет-протокола) для согласования и подключения к первой PBX (учрежденческая АТС) и первый маршрутизатор, отвечающий за интерфейс связи между сетью и первым IPGW. При обнаружении повреждения линии в канале связи, используемом в настоящее время среди множества каналов связи в сети, первый маршрутизатор ищет канал связи для обхода повреждения линии среди множества каналов связи и переключает соединение на найденный канал связи. Первый маршрутизатор включает в себя секцию сообщения информации о переключении, которая при переключении соединения на найденный канал связи сообщает первому IPGW информацию о переключении канала в отношении канала связи, на который переключено соединение. Первый IPGW включает в себя секцию управления линией, которая при обнаружении информации о переключении канала от секции сообщения информации о переключении выполняет управление линией на первой PBX в соответствии с информацией о переключении канала.
Между прочим, в последние годы центром внимания стали специализированные сети. В отношении оптимальной маршрутизации в специализированной сети беспроводной связи раскрыты следующие система и способ для вычисления оптимального маршрута на узле.
А именно используемая в системе и способе метрика маршрутизации при внимательном выборе может обеспечить стабильность для сети, а также предоставить возможности типа самовосстановления и балансирования нагрузки. Метрика маршрутизации вычисляется как скаляр на основе некоторого количества факторов, например количества прыжков, скорости передачи данных, качества линии связи и типа устройства. Каждый фактор может определяться путем оценки приветственных сообщений или других сообщений маршрутизации при необходимости.
Исследованы не только беспроводные специализированные сети, но также и проводные специализированные сети, а также опробовано их применение к сенсорной сети.
Например, в проводной сенсорной сети, называемой "S-wire", каждое узловое устройство подключается к множеству узловых устройств проводным образом, и передача данных и электроснабжение выполняются проводным образом. Преимущества проводной системы включают в себя возможность того, что датчики могут помещаться в землю, воду, некую структуру и т.п., и возможность того, что можно обнаружить поломку и т.п.
Список источников
Патентная литература
Патентная литература 1: Выложенная патентная публикация Японии № 2003-273964.
Патентная литература 2: Выложенная патентная публикация Японии № 2002-271399.
Патентная литература 3: Выложенная патентная публикация Японии № 2006-340165.
Патентная литература 4: Выложенная патентная публикация Японии № 2006-526937.
Непатентная литература
Непатентная литература 1: Tadashige Iwao, Kenji Yamada, Koji Nomura и Takeshi Hosokawa, "Multipurpose Practical Sensor Network: S-wire", Журнал FUJITSU, май 2006 (том 57, № 3), стр. 285-290.
Сущность изобретения
Техническая проблема
Как проиллюстрировано выше, в отношении связи в сети, включающей в себя множество узловых устройств, разработаны методики с различных точек зрения, например управления в случае возникновения отказа, избыточности для отказоустойчивости и управления маршрутизацией. Однако в сетевой системе, включающей в себя множество узловых устройств, имеется возможность для улучшения независимых свойств отдельных узловых устройств, поскольку на практике обычно применяется, что узловые устройства обмениваются информацией в отношении маршрута и посредством этого осуществляют распределенную координацию.
Таким образом, цель настоящего изобретения - предоставить методику, в соответствии с которой в сети, включающей в себя множество узловых устройств, отдельные узловые устройства работают в соответствии с информацией, доступной автономно, и посредством этого осуществляют подходящую распределенную координацию во всей сети.
Решение проблемы
Согласно аспекту настоящего изобретения предоставляется первое узловое устройство в сети, включающей в себя множество узловых устройств, включающее в себя это первое узловое устройство и второе узловое устройство, которые соединены проводным образом.
Первое узловое устройство включает в себя множество портов; средство хранения информации обнаружения петель для хранения информации обнаружения петель; средство хранения информации маршрутизации для хранения информации маршрутизации; средство приема; средство обновления информации маршрутизации; и средство передачи.
Каждый из множества портов является портом для подключения проводным образом первого узлового устройства к другому узловому устройству, отличному от первого узлового устройства, среди множества узловых устройств.
Информация обнаружения петель ассоциирует с первой идентификационной информацией для однозначной идентификации первого кадра информацию распознавания порта назначения для распознавания из множества портов первого порта, который является портом назначения для случая, где первое узловое устройство передало первый кадр.
Информация маршрутизации ассоциирует с каждым из множества узловых устройств информацию о состоянии, которая является информацией для указания того, осуществима ли передача кадров из каждого из множества портов.
Средство приема принимает от второго узлового устройства второй кадр, который включает в себя вторую идентификационную информацию для однозначной идентификации второго кадра.
Когда вторая идентификационная информация идентична первой идентификационной информации, средство обновления информации маршрутизации обновляет информацию о состоянии, ассоциированную с помощью информации маршрутизации с узловым устройством назначения, которое является одним из множества узловых устройств и является пунктом назначения второго кадра, чтобы указать, что передача кадров из первого порта неосуществима.
Средство передачи выбирает второй порт, из которого передача второго кадра является осуществимой, из множества портов в соответствии с информацией о состоянии, ассоциированной с узловым устройством назначения с помощью информации маршрутизации. Средство передачи затем передает второй кадр из второго порта.
Согласно другому аспекту настоящего изобретения предоставляется способ связи, выполняемый первым узловым устройством.
Полезные результаты изобретения
Если первый кадр описывает петлю в сети и принимается снова в качестве второго кадра первым узловым устройством, то вторая идентификационная информация идентична первой идентификационной информации. Соответственно, обновление выполняется с помощью средства обновления информации маршрутизации. В результате первому узловому устройству разрешается передавать второй кадр, избегая порта на маршруте, вызывающего петлю.
К тому же, информация обнаружения петель и информация маршрутизации, которые используются первым узловым устройством, являются порциями информации, доступными автономно самому первому узловому устройству. То есть первое узловое устройство допускает получение информации обнаружения петель и информации маршрутизации без необходимости обмениваться, в дополнение к первому и второму кадрам, информацией в отношении маршрута с другим узловым устройством.
Соответственно, в сети, включающей в себя множество узловых устройств, каждое из которых эквивалентно первому узловому устройству, отдельные узловые устройства работают в соответствии с информацией, доступной автономно, посредством этого управляя всей сетью, чтобы кадр ретранслировался по подходящему маршруту, который не образует петлю.
Краткое описание чертежей
Фиг.1 - конфигурационная схема, которая в общих чертах объясняет узловое устройство;
Фиг.2А - схема, которая иллюстрирует пример сети, к которой применяется узловое устройство из этого варианта осуществления;
Фиг.2В - концептуальная схема, которая объясняет нахождение альтернативного маршрута в случае возникновения отказа;
Фиг.3 - схема, которая объясняет формат кадра;
Фиг.4 - схема, которая объясняет, как препятствуют скоплению широковещательных кадров;
Фиг.5 - схема аппаратной конфигурации узлового устройства;
Фиг.6 - схема функциональной конфигурации узлового устройства;
Фиг.7 - схема, которая иллюстрирует пример таблицы состояний приостановки;
Фиг.8 - схема, которая иллюстрирует пример таблицы состояний канала по портам;
Фиг.9 - схема, которая иллюстрирует пример таблицы MAC;
Фиг.10 - схема, которая иллюстрирует пример данных управления состояниями приостановки;
Фиг.11А - алгоритмическая блок-схема (№ 1), которая объясняет процесс маршрутизации;
Фиг.11B - алгоритмическая блок-схема (№ 2), которая объясняет процесс маршрутизации;
Фиг.11C - алгоритмическая блок-схема (№ 3), которая объясняет процесс маршрутизации;
Фиг.11D - алгоритмическая блок-схема (№ 4), которая объясняет процесс маршрутизации;
Фиг.12 - алгоритмическая блок-схема, которая объясняет старение таблицы маршрутизации;
Фиг.13 - алгоритмическая блок-схема, которая объясняет установку таймера у записи в таблице маршрутизации;
Фиг.14 - алгоритмическая блок-схема, которая объясняет старение таблицы обнаружения петель;
Фиг.15 - алгоритмическая блок-схема, которая объясняет установку таймера у записи в таблице обнаружения петель;
Фиг.16 - алгоритмическая блок-схема процесса отмены состояния приостановки;
Фиг.17 - алгоритмическая блок-схема, которая объясняет процесс управления приостановкой, выполняемый узловым устройством на самом узловом устройстве;
Фиг.18 - алгоритмическая блок-схема процесса начала приостановки;
Фиг.19 - алгоритмическая блок-схема процесса отмены приостановки; и
Фиг.20 - алгоритмическая блок-схема процесса мониторинга портов.
Описание вариантов осуществления
Ниже будут подробно описываться варианты осуществления со ссылкой на чертежи. Порядок описания выглядит следующим образом.
Сначала определяются несколько терминов, а затем со ссылкой на фиг.1 описывается общее представление о конфигурации узлового устройства из этого варианта осуществления. Далее общее представление о работе с распределенной координацией в сети, включающей в себя множество узловых устройств, включающих в себя компоненты как на фиг.1, описывается со ссылкой на фиг.2А, 2B и 4. Вместе с этим пример формата кадра также описывается со ссылкой на фиг.3.
Впоследствии конфигурация узлового устройства подробно описывается со ссылкой на фиг.5 и 6. Дополнительно конкретные примеры данных, пропущенные на фиг.1, среди данных, используемых узловым устройством, описываются со ссылкой на фиг.7-10.
Кроме того, работа отдельного узлового устройства подробно описывается со ссылкой на алгоритмические блок-схемы из фиг.11А-20. При описании работы отдельного узлового устройства связь между работой отдельного узлового устройства и работой с распределенной координацией, осуществляемой во всей сети, также описывается со ссылкой на фиг.2А или 4 при необходимости. Потом резюмируется узловое устройство из этого варианта осуществления. Более того, описываются преимущества этого варианта осуществления по сравнению с некоторыми методиками. В конечном счете также описываются модификации этого варианта осуществления.
Здесь определяются некоторые термины, используемые в этом варианте осуществления.
В этом варианте осуществления в сеть включается множество узловых устройств. В дальнейшем первое и второе узловые устройства называются "соседними", если первое и второе узловые устройства соединены кабелем напрямую. Относительно первого узлового устройства второе узловое устройство может называться "соседним узловым устройством". Также относительно второго узлового устройства первое узловое устройство является его "соседним узловым устройством".
В этом варианте осуществления обрабатываются различные кадры. Кадры классифицируются с нескольких точек зрения, как описано ниже.
Кадр поддается классификации в соответствии с тем, включает ли он в себя "специальный (ad hoc) заголовок", проиллюстрированный на фиг.3. В дальнейшем кадр, включающий в себя специальный заголовок, называется "специальным кадром". С другой стороны, примеры кадров без специального заголовка включают в себя, например, кадр Ethernet, используемый в широко известном Ethernet (зарегистрированный товарный знак).
Специальный кадр можно дополнительно классифицировать на обычный кадр, включающий в себя кадр Ethernet после специального заголовка, и управляющий кадр, включающий в себя управляющие данные в другом характерном формате после специального заголовка. Может присутствовать множество типов управляющих кадров. Примером управляющего кадра является "кадр приостановки", описанный позже.
Кадры также можно классифицировать на широковещательный кадр, который транслируется в сети, и одноадресный кадр, который рассылается индивидуально. Хотя подробное описание будет выполнено позже, кадр приостановки транслируется необычным способом, ограниченным до соседних узловых устройств.
В нижеследующем описании по необходимости детально описывается классификация кадра с точки зрения, которая описана выше. В месте, где классификация очевидна из контекста, или в месте, не имеющем отношения к классификации, для упрощения может использоваться простое обозначение "кадр".
Фиг.1 - конфигурационная схема, которая в общих чертах объясняет узловое устройство.
Узловое устройство 100, проиллюстрированное на фиг.1, включает в себя множество портов 101-1 - 101-x (1<x) для проводного соединения с соседними узловыми устройствами (не проиллюстрированы на фиг.1) и подсистему 102 маршрутизации, которая направляет кадры.
Порты 101-1 - 101-x на фиг.1 являются портами для проводной специализированной (ad hoc) сети из этого варианта осуществления. Отметим, что на описанной позже фиг.5 порты 101-1 - 101-x на фиг.1 представлены в виде "портов проводной специализированной сети", которые отличаются от обычного порта LAN (локальная сеть), соответствующего общим спецификациям Ethernet. В дальнейшем простое обозначение "порт" означает порт для проводной специализированной сети в соответствии с этим вариантом осуществления.
Узловое устройство 100 также включает в себя таблицы, а именно: таблицу 103 маршрутизации, таблицу 104 управления трансляцией и таблицу 105 обнаружения петель. Подсистема 102 маршрутизации выполняет маршрутизацию со ссылкой на эти таблицы. Подсистема 102 маршрутизации также обновляет эти таблицы.
Как проиллюстрировано на фиг.1, таблица 103 маршрутизации в этом варианте осуществления является таблицей, которая хранит "назначение" и "состояния портов" в количестве "x", которые представляют соответственно состояния портов 101-1 - 101-x в связи друг с другом.
Фиг.1 иллюстрирует таблицу 103 маршрутизации, включающую в себя "n" записей. Как будет описываться позже со ссылкой на фиг.11C, каждая запись является записью, которая добавлена в таблицу 103 маршрутизации на основе кадра, принятого узловым устройством 100. Как будет описываться позже со ссылкой на фиг.12 и 13, каждая запись удаляется из таблицы 103 маршрутизации, если к ней не обращаются в течение заданного времени.
Например, в i-й записи (1≤i≤n) в таблице 103 маршрутизации состояния RP1i-RPxi соответствующих портов 101-1 - 101-x ассоциируются с назначением GDi.
Здесь назначение GDi является идентификационной информацией, которая идентифицирует узловое устройство, которое должно быть назначением кадра в проводной специализированной сети, включающей в себя множество узловых устройств, каждое из которых эквивалентно узловому устройству 100. В этом варианте осуществления каждому узловому устройству присваивается трехбайтовый ID (идентификатор), который является уникальным в проводной специализированной сети. В дальнейшем ID, присвоенный узловом устройству, называется "ID узла". Точнее говоря, назначение GDi является ID узла.
Когда узловое устройство 100 принимает кадр, адресованный назначению GDi, в любом из портов 101-1 - 101-x и пытается ретранслировать принятый кадр, подсистема 102 маршрутизации обращается к таблице 103 маршрутизации. Затем подсистема 102 маршрутизации выбирает порт для передачи (то есть вывода) принятого кадра на основе состояний RP1i-RPxi, ассоциированных с назначением GDi в таблице 103 маршрутизации.
В i-й записи в таблице 103 маршрутизации состояние RPji j-го порта 101-j (1≤j≤x) является любым из пяти состояний, а именно "U" (используемый), "E" (незанятый), "L" (петля), "P" (приостановка) и "D" (нерабочий).
"U" указывает используемое состояние. Точнее говоря, состоянием RPji является "U", если порт 101-j фактически используется в качестве порта назначения в узловом устройстве 100 для ретрансляции кадра, адресованного другому узловому устройству, идентифицированному по ID узла, являющемуся назначением GDi. То есть состояние "U" является примером состояния, указывающим, что "передача осуществима".
"E" указывает неиспользуемое состояние. Точнее говоря, состоянием RPji является "E", если порт 101-j не использован в качестве порта назначения в узловом устройстве 100 для ретрансляции кадра, адресованного другому узловому устройству, идентифицированному по ID узла, являющемуся назначением GDi. То есть состояние "E" является примером состояния, указывающим, что "передача осуществима".
"L" указывает состояние петли. Точнее говоря, состояние RPji обновляется до "L", если выполняются два следующих условия.
- Порт 101-j использован в качестве порта назначения в узловом устройстве 100 для ретрансляции кадра, адресованного другому узловому устройству, идентифицированному по ID узла, являющемуся назначением GDi.
- Кадр, переданный из порта 101-j к другому узловому устройству, идентифицированному по ID узла, являющемуся назначением GDi, описывает петлю в сети и возвращается к самому узловому устройству 100 (то есть снова принимается узловым устройством 100).
Отметим, что в случае, где состоянием RPji является "L", состояние RPji означает, что кадр, адресованный назначению GDi, не следует передавать из порта 101-j, потому что кадр, адресованный назначению GDi, создаст петлю при передаче из порта 101-j. То есть состояние "L" является примером состояния, указывающим, что "передача неосуществима".
"P" указывает состояние приостановки. Точнее говоря, состояние RPji превращается в "P", если "запрос приостановки" принимается из порта 101-j (то есть от соседнего узлового устройства, которое не проиллюстрировано и которое подключается через порт 101-j). Отметим, что "запрос приостановки" является запросом, с помощью которого узловое устройство, чья нагрузка по обработке увеличивается из-за сосредоточения кадров и т.п., просит соседнее узловое устройство "приостановить" передачу кадров к этому узловому устройству на некоторый период времени. Подробное описание запроса приостановки будет сделано позже со ссылкой на фиг.16-19. Общее представление о нем выглядит следующим образом.
Например, предположим, что узловое устройство 100 на фиг.1 подключается через порт 101-j ко второму узловому устройству, которое не проиллюстрировано. В дальнейшем состояние, в котором нагрузка по обработке превышает заданный критерий, называется "состоянием занятости".
Если второе узловое устройство входит в состояние занятости, оно передает запрос приостановки каждому из множества соседних узловых устройств. Точнее говоря, запрос приостановки представлен "кадром приостановки", а именно специальным кадром, который имеет характерный формат и включает в себя значение, обозначающее продолжительность вышеупомянутого некоторого периода времени.
Соответственно, узловое устройство 100 на фиг.1 принимает кадр приостановки из порта 101-j и распознает, что второе узловое устройство в настоящее время находится в состоянии занятости. То есть узловое устройство 100 распознает, что кадры не следует передавать в порт 101-j в течение вышеупомянутого некоторого периода времени, который указан в кадре приостановки, потому что второе узловое устройство неспособно обработать кадры из-за перегрузки, даже если кадры передаются в порт 101-j.
На основе вышеприведенного распознавания подсистема 102 маршрутизации в узловом устройстве 100 затем устанавливает в "P" состояние RPji, которое соответствует порту 101-j в таблице 103 маршрутизации. Как видно из вышеизложенного, состояние "P" является примером состояния, указывающего, что "передача неосуществима".
"D" указывает нерабочее состояние линии. Состояние RPji превращается в "D" в случаях, где сигнал, переносимый по кабелю, не обнаруживается электрически в порту 101-j, включая случай, например, где физически поврежден кабель, подключенный к порту 101-j. Состояние "D" также является примером состояния, указывающим, что "передача неосуществима".
Отметим, что состояния "P" и "D" являются понятиями, независимыми от назначения кадра. Однако в соответствии с этим вариантом осуществления имеется случай, где в таблице 103 маршрутизации часть состояний RPj1-RPjn некоторого порта (например, порта 101-j) устанавливается в "P", а другая их часть устанавливается в состояние, отличное от "P". Также в соответствии с этим вариантом осуществления имеется случай, где часть состояний RPj1-RPjn некоторого порта (например, порта 101-j) устанавливается в "D", а другая их часть устанавливается в состояние, отличное от "D". Причина в том, что в этом варианте осуществления запись в таблице 103 маршрутизации обновляется при возможности приема кадра, как будет описываться позже, и соответственно существуют разницы во времени в расписании обновления среди записей.
Далее описываются другие таблицы, проиллюстрированные на фиг.1.
Таблица 104 управления трансляцией является таблицей, которая хранит "MAC-SA" (Адрес источника управления доступом к среде передачи) и "время" в связи друг с другом. Фиг.1 иллюстрирует таблицу 104 управления трансляцией, включающую в себя записи, количество которых равно "а".
Как будет описываться позже со ссылкой на фиг.11B, каждая запись является записью, которая добавлена в таблицу 104 управления трансляцией на основе широковещательного кадра, принятого узловым устройством 100. Хотя и не проиллюстрировано на чертежах, каждая запись удаляется из таблицы 104 управления трансляцией, если к ней не обращаются в течение заданного периода времени, как будет описываться позже.
Например, в i-й записи (1≤i≤а) в таблице 104 управления трансляцией MAC-адрес MACSAi и время Ti ассоциируются друг с другом. Здесь MAC-адрес MACSAi является MAC-адресом узлового устройства-источника широковещательного кадра, принятого узловым устройством 100. Время Ti является временем, в которое подсистема 102 маршрутизации обработала этот широковещательный кадр.
Когда узловое устройство 100 принимает широковещательный кадр из любого из портов 101-1 - 101-x, подсистема 102 маршрутизации обращается к таблице 104 управления трансляцией. Подсистема 102 маршрутизации затем определяет, отбросить ли принятый широковещательный кадр и посредством этого предотвратить скопление, либо ретранслировать принятый широковещательный кадр (то есть передать его в порт, отличный от порта, из которого принят этот широковещательный кадр). Как подробно будет описываться позже, некоторые варианты осуществления позволяют предотвратить скопление широковещательных кадров только с помощью таблицы 105 обнаружения петель.
Таблица 105 обнаружения петель является таблицей для ассоциации "номера принимающего порта" и "состояния портов" в количестве "x", которые соответственно указывают состояния портов 101-1 - 101-x, с парой "источник" и "FID" (идентификатор кадра) и сохранения их.
Фиг.1 иллюстрирует таблицу 105 обнаружения петель, включающую в себя "m" записей. Как будет описываться позже со ссылкой на фиг.11B и 11C, каждая запись добавляется в таблицу 105 обнаружения петель на основе кадра, принятого узловым устройством 100. К тому же, как будет описываться позже со ссылкой на фиг.14 и 15, каждая запись удаляется из таблицы 105 обнаружения петель после истечения заданного периода времени.
Например, в i-й записи (1≤i≤m) в таблице 105 обнаружения петель номер принимающего порта RCVPNi и состояния LP1i-LPxi соответствующих портов 101-1 - 101-x ассоциируются с парой источника GSi и FIDi.
Здесь источник GSi является идентификационной информацией для идентификации узлового устройства, являющегося источником кадра в проводной специализированной сети, включающей в себя множество узловых устройств, причем каждое эквивалентно узловому устройству 100, а точнее говоря, является ID узла. FIDi является идентификационной информацией, которую узловое устройство-источник (то есть узловое устройство, чей ID узла равен GSi) присвоило кадру, который нужно передать, и которая однозначно идентифицирует кадр. FIDi может быть, например, порядковым номером.
Когда узловое устройство 100 принимает кадр в любом из портов 101-1 - 101-x и пытается ретранслировать принятый кадр, подсистема 102 маршрутизации обращается не только к таблице 103 маршрутизации, но также и к таблице 105 обнаружения петель. Подсистема 102 маршрутизации затем выбирает порт для передачи принятого кадра также на основе таблицы 105 обнаружения петель.
Номер принимающего порта RCVPNi в i-й записи таблицы 105 обнаружения петель указывает порт, из которого узловым устройством 100 принят кадр, соответствующий i-й записи. Точнее говоря, в случае, где кадр, которому узловым устройством-источником назначен FID, являющийся FIDi (то есть узловым устройством, идентифицированным по ID узла, являющемуся GSi), принимается в порту 101-r (1≤r≤x) узлового устройства 100, номер принимающего порта RCVPNi равен "r".
В i-й записи в таблице 105 обнаружения петель состояние LPji у j-го (1≤j≤x) порта 101-j является любым из трех состояний, а именно "U", "E" и "L".
Как описано относительно таблицы 103 маршрутизации, "U" указывает используемое состояние. Точнее говоря, в таблице 105 обнаружения петель состоянием LPji является "U", если выполняются два следующих условия.
- Узловое устройство 100 ретранслировало кадр, которому узловым устройством-источником, идентифицированным по ID узла, являющемуся источником GSi, назначен FID, являющийся FIDi.
- При ретрансляции порт 101-j использован в качестве порта назначения в узловом устройстве 100.
Как описано относительно таблицы 103 маршрутизации, "E" указывает неиспользуемое состояние. Точнее говоря, в таблице 105 обнаружения петель смысл выглядит следующим образом. А именно, состоянием LPji является "E", если порт назначения не является портом 101-j, когда узловое устройство 100 ретранслировало кадр, которому узловым устройством-источником, идентифицированным по ID узла, являющемуся источником GSi, назначен FID, являющийся FIDi.
Как описано относительно таблицы 103 маршрутизации, "L" указывает состояние петли. Точнее говоря, в таблице 105 обнаружения петель состояние LPji превращается в "L", если выполняются два следующих условия.
- Узловое устройство 100 ретранслировало кадр, которому узловым устройством-источником, идентифицированным по ID узла, являющемуся источником GSi, назначен FID, являющийся FIDi, несмотря на использование порта 101-j в качестве порта назначения.
- Этот кадр снова принимается узловым устройством 100 после ретрансляции.
В таблице 103 маршрутизации состояния "U" и "E" являются общими в том, что они означают "передача осуществима", а именно "выбираемыми в качестве порта назначения". Однако в таблице 105 обнаружения петель состояния "U" и "E" сильно отличаются друг от друга следующим образом. Точнее говоря, состояние "U" в таблице 105 обнаружения петель указывает целевое состояние, в которое должно перейти состояние "L", которое означает "передача неосуществима", если в дальнейшем обнаруживается петля. С другой стороны, состояние "E" в таблице 105 обнаружения петель указывает, что даже если в дальнейшем обнаруживается петля, то оно по-прежнему является выбираемым в качестве порта назначения в момент обнаружения петли.
Далее общее представление о работе с распределенной координацией в сети, включающей в себя множество узловых устройств, включающих в себя компоненты, как и в случае с фиг.1, описывается со ссылкой на фиг.2А-4 вместе с примером формата кадра.
Фиг.2А - схема, которая иллюстрирует пример сети, к которой применяется узловое устройство из этого варианта осуществления.
Проводная специализированная сеть 200 на фиг.2А включает в себя множество узловых устройств 100a-100i. В проводной специализированной сети 200 узловые устройства 100а-100i физически соединены кабелями (например, металлическими проводными кабелями, такими как медные кабели, или волоконно-оптическими кабелями) в ячеистой конфигурации (то есть в решетчатой конфигурации).
Само собой разумеется, что любая физическая топология соединения в проводной специализированной сети может быть выбрана в соответствии с вариантами осуществления, и необязательно выбирается ячеистая конфигурация.
Каждое из узловых устройств 100a-100i включает в себя компоненты, как и в случае с фиг.1. Отметим, что узловое устройство 100 включает в себя порты 101-1 - 101-x в количестве "x" на фиг.1 и что фиг.2А иллюстрирует пример, где x=4.
Например, узловое устройство 100a включает в себя четыре порта 101a-1 - 101a-4. Это применимо к другим узловым устройствам 100b-100i. Компонентам, аналогичным друг другу, могут быть назначены ссылочные позиции, например "101-1", "101a-1" и "101b-1", которые идентичны друг другу за исключением суффиксов, например "а" и "b", и их подробное описание может пропускаться.
Физическая топология в ячеистой конфигурации, проиллюстрированной на фиг.2А, осуществляется с помощью следующей прокладки кабелей.
- Узловые устройства 100a и 100d подключаются с помощью линии 215 между портами 101а-1 и 101d-1.
- Узловые устройства 100a и 100b подключаются с помощью линии 216 между портами 101а-4 и 101b-1.
- Узловые устройства 100b и 100e подключаются с помощью линии 217 между портами 101b-2 и 101e-2.
- Узловые устройства 100b и 100c подключаются с помощью линии 218 между портами 101b-4 и 101c-1.
- Узловые устройства 100c и 100f подключаются с помощью линии 219 между портами 101c-3 и 101f-3.
- Узловые устройства 100d и 100g подключаются с помощью линии 221 между портами 101d-2 и 101g-2.
- Узловые устройства 100d и 100e подключаются с помощью линии 222 между портами 101d-4 и 101e-1.
- Узловые устройства 100e и 100h подключаются с помощью линии 223 между портами 101e-3 и 101h-3.
- Узловые устройства 100e и 100f подключаются с помощью линии 224 между портами 101e-4 и 101f-1.
- Узловые устройства 100f и 100i подключаются с помощью линии 225 между портами 101f-4 и 101i-4.
- Узловые устройства 100g и 100h подключаются с помощью линии 226 между портами 101g-4 и 101h-1.
- Узловые устройства 100h и 100i подключаются с помощью линии 227 между портами 101h-4 и 101i-1.
Само собой разумеется, что ячеистая топология, эквивалентная таковой на фиг.2А, также реализуема в некоторых вариантах осуществления путем соединения пар портов, которые отличны от пар, проиллюстрированных на фиг.2А, с использованием кабелей.
Между прочим, в примере фиг.2А проводная специализированная сеть 200 не является изолированной сетью, а подключается к другой сети (в дальнейшем также называемой "внешней сетью"), например LAN и WAN (глобальная сеть).
Точнее говоря, узловые устройства 100a-100i в этом варианте осуществления включают в себя не только компоненты, проиллюстрированные на фиг.1, но также и соответствующие обычные порты 106a-106i LAN в качестве интерфейсов соединения между проводной специализированной сетью 200 и внешней сетью. На фиг.2А обычные порты 106a-106i LAN заштрихованы, что отличает их от портов 101a-1 - 101i-4 проводной специализированной сети. Обычные порты 106a-106i LAN в этом варианте осуществления являются портами проводной LAN. Однако в некоторых вариантах осуществления вместо этого можно выбрать интерфейсы беспроводной LAN.
Например, в примере фиг.2А проводная специализированная сеть 200 подключается к внешней сети следующим образом, а именно L2SW 202 (коммутатор уровня 2), подключенный к ПК 201 (персональный компьютер) по линии 211 связи, подключается к соответствующим обычным портам 106a и 106b LAN узловых устройств 100a и 100b по соответствующим линиям 212 и 213 связи. К тому же ПК 203, 205 и 206 подключаются к соответствующим обычным портам 106c, 106g и 106h LAN узловых устройств 100c, 100g и 100h по соответствующим линиям 214, 228 и 229 связи.
L2SW 202 может дополнительно подключаться к маршрутизатору и/или другому ПК (нескольким ПК), которые не проиллюстрированы на чертежах. ПК 203, 205 и 206 также могут подключаться к другой внешней сети, которая не проиллюстрирована на чертежах.
Для удобства описания фиг.2А иллюстрирует проводную специализированную сеть 200, включающую в себя девять узловых устройств 100a-100i. Однако в некоторых вариантах осуществления проводная специализированная сеть может включать в себя большое количество узловых устройств, например от нескольких тысяч до нескольких сотен тысяч.
Например, проводная специализированная сеть из этого варианта осуществления может применяться к сенсорной сети, которая является сетью для сбора различных порций информации от большого количества датчиков, расположенных разбросанно. В этом случае проводная специализированная сеть может включать в себя большое количество узловых устройств порядка от нескольких тысяч до нескольких сотен тысяч, соответствующих большому количеству датчиков. В сенсорной сети используются произвольные типы датчиков, например датчики изображений, датчики температуры, датчики влажности, датчики давления и датчики ускорения.
Фиг.2А также иллюстрирует один пример, в котором проводная специализированная сеть из этого варианта осуществления применяется к сенсорной сети. Точнее говоря, на фиг.2А датчики 204 и 207, оборудованные интерфейсом LAN, подключаются к соответствующим обычным портам 106e и 106i LAN в узловых устройствах 100e и 100i по соответствующим линиям 220 и 230 связи. Датчики 204 и 207 выводят данные, представляющие измеренные результаты, в виде кадров Ethernet через интерфейсы LAN. Типы датчиков 204 и 207 являются произвольными.
Использование проводной специализированной сети из этого варианта осуществления, как проиллюстрировано на фиг.2А, дает возможность построения сенсорной сети даже в жестких условиях, потому что часто дело обстоит так, что проводная связь осуществима даже в среде, в которой беспроводная связь затруднена.
Например, датчики и узловые устройства, подключенные к датчикам через обычные порты LAN, могут помещаться в землю, включая поля и нагорья, в воду, включая орошаемые поля, реки и море, и/или конструкции, включающие стены и опоры зданий. Даже в таких случаях узловые устройства допускают уверенное взаимодействие с другими узловыми устройствами через проводное соединение. Соответственно, выбор проводной специализированной сети из этого варианта осуществления дает возможность построения сенсорной сети даже в таких средах, как земля, вода и конструкции, где беспроводная связь затруднена.
Выше описана конфигурация сети на фиг.2А. Далее будет описываться общее представление о работе с распределенной координацией в проводной специализированной сети 200 на фиг.2А. Подробные операции отдельных узловых устройств 100a-100i будут описываться позже со ссылкой на алгоритмические блок-схемы из фиг.11А-20.
Переключение маршрута ретрансляции кадров в проводной специализированной сети 200 в случае возникновения отказа будет описываться ниже с использованием примера, в котором ПК 203 передает кадр к ПК 205.
Когда ПК 203 передает кадр Ethernet по линии 214 связи, узловое устройство 100c принимает кадр Ethernet и добавляет специальный заголовок в принятый кадр Ethernet.
В соответствии с независимой распределенной координацией, которая реализуется каждым узловым устройством, функционирующим в соответствии с алгоритмическими блок-схемами из фиг.11А-20, специальный (ad hoc) кадр ретранслируется от узлового устройства 100c к узловому устройству 100g в проводной специализированной сети 200. Узловое устройство 100g затем удаляет специальный заголовок из специального кадра. Полученный в результате этого кадр Ethernet выводится из узлового устройства 100g в ПК 205 по линии 228 связи.
Допустим, например, что маршрут, образованный линиями 218, 216, 215 и 221 связи, выбирается в качестве маршрута ретрансляции от узлового устройства 100c к узловому устройству 100g в случае, где каждая проиллюстрированная на фиг.2А линия связи является обычной. Этот маршрут выбирается с помощью следующей распределенной координации.
Узловое устройство 100c, приняв кадр от ПК 203, выбирает порт 101c-1, подключенный к узловому устройству 100b по линии 218 связи, в качестве порта назначения кадра. Затем узловое устройство 100b, приняв кадр от узлового устройства 100c, выбирает порт 101b-1, подключенный к узловому устройству 100a по линии 216 связи, в качестве порта назначения кадра.
Узловое устройство 100a, приняв кадр от узлового устройства 100b, выбирает затем порт 101a-1, подключенный к узловому устройству 100d по линии 215 связи, в качестве порта назначения кадра. Потом узловое устройство 100d, приняв кадр от узлового устройства 100a, выбирает порт 101d-2, подключенный к узловому устройству 100g по линии 221 связи, в качестве порта назначения кадра.
Между тем, предположим, что возникает физическая неисправность в линии 215 связи в некоторый момент времени. Если ПК 203 снова пытается передать кадр к ПК 205 после возникновения отказа в линии 215 связи, то маршрут ретрансляции в проводной специализированной сети 200 переключается в соответствии со следующим управлением с распределенной координацией.
Узловое устройство 100c выбирает порт 101c-1 в качестве порта назначения кадра, как и в обычном случае. Узловое устройство 100b также выбирает порт 101b-1 в качестве порта назначения кадра, как и в обычном случае. Узловое устройство 100a затем принимает кадр.
Однако, как проиллюстрировано на фиг.2А, узловое устройство 100a подключено только к двум узловым устройствам, а именно к узловым устройствам 100b и 100d в проводной специализированной сети 200, и отказ возникает в линии 215 связи с узловым устройством 100d. Соответственно, узловое устройство 100a неспособно передать кадр, принятый от узлового устройства 100b по линии 216 связи, к узловому устройству в проводной специализированной сети 200 помимо узлового устройства 100b по нормальной линии связи.
Таким образом, узловое устройство 100a возвращает кадр по линии 216 связи к узловому устройству 100b, чтобы уведомить его, что само узловое устройство 100a неспособно перенаправить тот кадр. Узловое устройство 100b тогда принимает кадр, который передан самим узловым устройством 100b.
Соответственно, узловое устройство 100b узнает, что порт 101b-1 находится в состоянии "L" (то есть в состоянии петли), в информации о состоянии порта, которая ассоциируется с узловым устройством 100g в таблице 103 маршрутизации. Точнее говоря, узловое устройство 100b узнает, что "в случае ретрансляции кадра, чье конечное назначение в проводной специализированной сети 200 является узловым устройством 100g, кадр не следует передавать в порт 101b-1, который подключен к узловому устройству 100a".
В соответствии с вышеупомянутым пониманием узловое устройство 100b ищет нормальный порт, который отличается от порта 101b-1 и который используется в качестве порта назначения кадра. В этом случае обнаруживается порт 101b-2, который подключен к узловому устройству 100e по нормальной линии 217 связи.
Соответственно, узловое устройство 100b на данном этапе передает в порт 101b-2 кадр, который возвращен от узлового устройства 100a.
Узловое устройство 100e затем принимает кадр. В примере фиг.2А каждая линия связи, подключенная к узловому устройству 100e, является нормальной. Соответственно, узловому устройству 100e предоставляется возможность выбрать, например, порт 101e-3, который подключается к узловому устройству 100h по линии 223 связи, в качестве порта назначения кадра.
В результате выбора кадр передается из порта 101e-3 и принимается узловым устройством 100h по линии 223 связи. Узловое устройство 100h затем выбирает порт 101h-1, который подключается к узловому устройству 100g по нормальный линии 226 связи, и передает кадр из порта 101h-1.
В результате узловому устройству 100g предоставляется возможность принять кадр. Как описано выше, даже в случае, где возникает отказ на линии 215 связи по маршруту, использованному до настоящего времени, распределенная координация узловых устройств в проводной специализированной сети 200 автоматически переключает маршрут.
Поскольку таблица 103 маршрутизации включает в себя записи на основе назначения-к-назначению, как проиллюстрировано на фиг.1, может иметь место случай, где узловое устройство 100b выбирает порт 101b-1 в качестве порта назначения в зависимости от назначения кадра. Другими словами, узловому устройству 100b по-прежнему предоставляется возможность передавать кадр, который адресован узловому устройству 100a, из порта 101b-1 даже в случае, где узловое устройство 100b распознает порт 101b-1 как состояние "L", соответствующее узловому устройству 100g, как описано выше. Таким образом, в соответствии с этим вариантом осуществления осуществимость передачи кадра из некоторого порта управляется в зависимости от назначения кадра.
Далее, ссылаясь на фиг.2B, описанное выше переключение маршрута будет описываться с другой точки зрения.
Фиг.2В - концептуальная схема, которая объясняет нахождение альтернативного маршрута в случае возникновения отказа. Фиг.2B иллюстрирует дерево 300 поиска, корневой узел которого является узловым устройством 100c, являющимся источником в проводной специализированной сети 200 в примере выше, и каждый лист является узловым устройством 100g, являющимся назначением в проводной специализированной сети 200.
Для удобства пусть некоторый узел в дереве 300 поиска называется "первым узлом" и пусть узловое устройство, которое соответствует первому узлу и которое находится в проводной специализированной сети 200, называется "первым узловым устройством". Также допустим, что в записи, которая находится в таблице 103 маршрутизации в первом узловом устройстве и которая соответствует узловому устройству 100g, являющемуся назначением, состоянием другого узлового устройства (для удобства называемого "вторым узловым устройством") является состояние "U" или "E". В этом случае в дереве 300 поиска первый узел является дочерним узлом, соответствующим второму узловому устройству.
Маршрут ретрансляции, который использован до возникновения отказа в линии 215 связи и который описан в отношении фиг.2А, является маршрутом, обнаруженным как соответствующий траектории 301 поиска на фиг.2B в результате распределенной координации в проводной специализированной сети 200. Траектория 301 поиска является траекторией от узлового устройства 100c, которое является корневым узлом дерева 300 поиска, к узловому устройству 100g, которое является листом дерева 300 поиска, через узловые устройства 100b, 100a и 100d.
Переключение маршрута (то есть нахождение альтернативного маршрута), которое выполняется в случае возникновения отказа в линии 215 связи и которое описано в отношении фиг.2А, соответствует траектории 302 поиска на фиг.2B. Как проиллюстрировано на фиг.2B, траектория 302 поиска включает в себя возврат 303.
То есть переключение маршрута, описанное в отношении фиг.2А, может рассматриваться как соответствующее тому, что поиск в глубину, включающий возврат 303 в дереве 300 поиска, выполняется во всей проводной специализированной сети 200. Если траектория 302 поиска, включающая возврат 303, достигает узлового устройства 100g, являющегося листом, то поиск имеет успех и устанавливается маршрут ретрансляции кадра в проводной специализированной сети 200.
Возникновение возврата 303 на узловом устройстве 100a в дереве 300 поиска соответствует тому, что узловое устройство 100a возвращает кадр узловому устройству 100b в описании фиг.2A. Траектория, которая идет от корневого узла к листу в дереве 300 поиска и которая в конечном счете обнаружена в соответствии с траекторией 302 поиска в дереве 300 поиска, соответствует новому маршруту ретрансляции кадров от узлового устройства 100c к узловому устройству 100g в проводной специализированной сети 200. То есть, как проиллюстрировано на фиг.2B, маршрут, проходящий через узловые устройства 100c, 100b, 100e, 100h и 100g, обнаруживается в качестве нового маршрута ретрансляции кадров.
Как понятно из вышеприведенного описания, при условии, что в проводной специализированной сети 200 существует по меньшей мере один маршрут от узлового устройства 100c, являющегося источником, до узлового устройства 100g, являющегося назначением, маршрут обязательно обнаруживается в результате поиска в глубину.
Далее, отличие в формате кадра между внутренней частью и внешней частью проводной специализированной сети 200 на фиг.2А будет описываться со ссылкой на фиг.3. Фиг.3 - схема, которая объясняет формат кадра. Отметим, что "специальный кадр" в этом варианте осуществления является кадром, переданным и принятым между узловыми устройствами в проводной специализированной сети.
Как проиллюстрировано на фиг.3, специальный кадр 400 является кадром в формате, в котором "специальный заголовок", который является заголовком в характерном формате, заданном в этом варианте осуществления, присоединяется в начале обычного кадра 420 Ethernet. Другими словами, специальный заголовок 410 является информацией, которая функционирует в качестве интерфейса между Ethernet, являющимся внешней сетью, и проводной специализированной сетью из этого варианта осуществления.
Специальный заголовок 410 в этом варианте осуществления имеет длину в 14 байт, как проиллюстрировано на фиг.3, и включает в себя соответствующие поля GD 411, GS 412, тип 413, FID 414, TTL 415, длину 416 и FCS 417. Хотя подробное описание будет приведено позже, специальный заголовок 410 задается узловым устройством в проводной специализированной сети. В дальнейшем для упрощения обозначения "поле GD" может просто обозначаться с помощью "GD".
В трехбайтовом GD 411 (Глобальное назначение) указывается идентификационная информация (например, ID узла) для однозначной идентификации в проводной специализированной сети узлового устройства, которое является источником кадра в проводной специализированной сети. В трехбайтовом GS 412 (Глобальный источник) указывается идентификационная информация (например, ID узла) для однозначной идентификации в проводной специализированной сети узлового устройства, которое является назначением кадра в проводной специализированной сети.
Например, в примере фиг.2А в случае, где кадр от ПК 203, адресованный ПК 205, передается по проводной специализированной сети 200, узловым устройством, являющимся источником в проводной специализированной сети 200, является узловое устройство 100c, которое подключается к ПК 203. Узловое устройство, являющееся назначением в проводной специализированной сети 200, является узловым устройством 100g, которое подключается к ПК 205.
Соответственно, в этом случае в специальном кадре 400, переданном в проводной специализированной сети 200, ID узла узлового устройства 100c указывается в GD 411. Между тем, ID узла узлового устройства 100g указывается в GS 412.
Значения, указанные в GD 411 и GS 412, являются, например, ID узлов, предварительно присвоенными соответствующим узловым устройствам, как описано выше. ID узлов могут быть идентификационными номерами. В качестве альтернативы младшие три байта MAC-адреса узлового устройства также могут использоваться в качестве идентификационной информации для GD 411 и GS 412, если каждое узловое устройство в проводной специализированной сети является изделием одного и того же поставщика. Причина в том, что старшие три байта MAC-адреса указывают OUI (Уникальный идентификатор организации), а младшие три байта уникальны у поставщика.
Подтекст термина "глобальный" в названиях "GD" и "GS" будет описываться в соответствии с примером на фиг.2А следующим образом.
Когда специальный кадр 400 передается от узлового устройства 100c к узловому устройству 100g в проводной специализированной сети 200, непосредственным назначением от узлового устройства 100c является узловое устройство (например, узловое устройство 100b) рядом с узловым устройством 100c. Таким образом, при явном установлении отличия узлового устройства 100b, являющегося непосредственным назначением, от узлового устройства 100g, являющегося конечным назначением, узловое устройство 100g, которое является конечным назначением в проводной специализированной сети 200, называется "глобальным назначением". Между тем, узловое устройство 100b, которое напрямую подключено с помощью кабеля к узловому устройству 100c и которое находится рядом с узловым устройством 100c, называется "локальным назначением".
Соответственно, по отношению к узловому устройству 100b узловое устройство 100c является глобальным источником, а также является локальным источником. По отношению к узловому устройству 100g узловое устройство 100c является глобальным источником, но не является локальным источником (потому что узловые устройства 100g и 100c не подключены напрямую друг к другу). Как также очевидно из фиг.2А, в проводной специализированной сети локальное назначение соответствует порту назначения кадра взаимно-однозначным образом, и локальный источник соответствует порту, из которого принимается кадр, взаимно-однозначным образом.
Возвращаясь к описанию на фиг.3, значение, идентифицирующее тип (категорию) специального кадра 400, указывается в четырехразрядном типе 413. Например, в соответствии с вариантами осуществления в типе 413 указано значение для отличия друг от друга некоторых типов, которые иллюстрируются ниже:
- обычный кадр (тип специального кадра 400, включающего в себя кадр 420 Ethernet после специального заголовка 410);
- кадр приостановки (тип специального кадра, включающего в себя данные, которые не являются кадром 420 Ethernet и которые пребывают в заданном формате, после специального заголовка 410);
- некоторые другие типы управляющих кадров (типы специальных кадров, включающих в себя данные, которые не являются кадром 420 Ethernet и которые пребывают в заданном формате, после специального заголовка 410);
- широковещательный кадр, принятый узловым устройством через обычный порт LAN (тип специального кадра 400, включающего в себя кадр 420 Ethernet после специального заголовка 410);
- широковещательный кадр, инициированный в самом узловом устройстве (тип специального кадра 400, включающего в себя кадр 420 Ethernet после специального заголовка 410).
Между тем, в 12-разрядном FID 414 (Идентификатор кадра) указывается идентификационная информация, присвоенная специальному кадру 400 узловым устройством, являющимся источником, идентифицированным значением GS 412. Значение, указанное в FID 414, может быть, например, порядковым номером, сформированным узловым устройством с использованием встроенной схемы счетчика, которая не проиллюстрирована на чертежах.
Между тем, допустимая длительность специального кадра 400 указывается в двухбайтовом TTL 415 (срок жизни) в показателях количества прыжков в проводной специализированной сети. Значение TTL 415 отсчитывается в обратном порядке узловым устройством каждый раз, когда специальный кадр 400 совершает прыжок в проводной специализированной сети.
В этом варианте осуществления начальным значением TTL 415 (то есть значением, назначенным узловым устройством, являющимся источником, идентифицированным значением в GS 412) является значение, в котором все разряды в двух байтах устанавливаются в "1" (то есть 65535). Поскольку такое большое значение устанавливается в качестве начального значения TTL 415, этот вариант осуществления предпочтительно применим к проводной специализированной сети, включающей в себя несколько сотен тысяч узловых устройств. Само собой разумеется, что начальное значение TTL 415 является произвольным в соответствии с вариантами осуществления.
В двухбайтовой длине 416 указывается значение, подсчитывающее длину части помимо специального заголовка 410 (например, длину кадра 420 Ethernet в случае специального кадра 400, проиллюстрированного на фиг.3) в единицах байтов.
В двухбайтовой FCS 417 (Контрольная последовательность кадра) указывается код обнаружения ошибки, например код CRC (Контроль циклическим избыточным кодом), полученный из полей от GD 411 до длины 416 в специальном заголовке 410.
Кадр 420 Ethernet включает в себя следующие поля Ж:
- шестибайтовый MAC-DA 421 (Адрес назначения управления доступом к среде передачи);
- шестибайтовый MAC-SA 422 (Адрес источника управления доступом к среде передачи);
- двухбайтовый тип/длина 423;
- пакет 424 L3 (уровня 3) с переменной длиной от 46 до 1500 байт;
- четырехбайтовая FCS 425.
Поскольку формат кадра 420 Ethernet широко известен, подробное описание опускается. Однако описанное ниже является конкретным примером, в котором кадр передается от ПК 203 к ПК 205 по проводной специализированной сети 200 в примере на фиг.2А.
То есть ПК 203 формирует кадр 420 Ethernet, в котором MAC-адрес ПК 205 указывается в MAC-DA 421 и в котором MAC-адрес самого ПК 203 указывается в MAC-SA 422, и передает кадр 420 Ethernet узловому устройству 100c по линии 214 связи. Узловое устройство 100c затем вставляет в начало специальный заголовок 410, как описано выше, в кадр 420 Ethernet, посредством этого создавая специальный кадр 400.
Специальный кадр 400 передается узловому устройству 100g в проводной специализированной сети 200. Узловое устройство 100g выводит кадр 420 Ethernet, который отличается от специального заголовка 410, в ПК 205 по линии 228 связи.
В случае, где значение, указывающее кадр приостановки или другой управляющий кадр, указывается в типе 413 в специальном заголовке 410, специальный кадр включает в себя полезную нагрузку после специального заголовка 410, которая отличается от кадра 420 Ethernet и которая находится в заданном формате.
Далее со ссылкой на фиг.4 описывается поведение всей проводной специализированной сети из этого варианта осуществления в случае, где передается широковещательный кадр. Фиг.4 - схема, которая объясняет, как препятствуют скоплению широковещательных кадров.
Проводная специализированная сеть 250 на фиг.4 включает в себя множество узловых устройств 100p-100t, причем каждое включает в себя компоненты, аналогичные таковым в узловом устройстве 100 на фиг.1. Узловые устройства в проводной специализированной сети 250 физически соединяются следующим образом.
- Узловое устройство 100p подключается к узловому устройству 100q.
- Узловое устройство 100q подключается не только к узловому устройству 100p, но также и к узловым устройствам 100r и 100s.
- Узловое устройство 100r подключается не только к узловому устройству 100q, но также и к узловым устройствам 100s и 100t.
- Узловое устройство 100s подключается не только к узловым устройствам 100q и 100r, но также и к узловому устройству 100t.
- Узловое устройство 100t подключается к узловым устройствам 100r и 100s, как описано выше.
Предположим, например, что широковещательный кадр передается от узлового устройства 100p в проводной специализированной сети 250 с физической топологией, которая описана выше. Отметим, что "широковещательный кадр" является кадром Ethernet или специальным кадром, в котором широковещательный адрес (то есть адрес, все разряды которого имеют значение 1) указывается в MAC-DA 421.
Например, узловое устройство 100p подключается к внешнему устройству (например, ПК или датчику), которое не проиллюстрировано на фиг.4, через обычный порт LAN. Это внешнее устройство передает узловому устройству 100p кадр 420 Ethernet, в котором широковещательный адрес указывается в MAC-DA 421.
Узловое устройство 100p затем вставляет в начало кадра 420 Ethernet специальный заголовок 410, посредством этого создавая специальный кадр 400. Созданный здесь специальный кадр 400 является широковещательным кадром. Узловое устройство 100p передает созданный специальный кадр 400 узловому устройству 100q на этапе S101, чтобы транслировать его в проводной специализированной сети 250.
Узловое устройство 100q затем передает широковещательный кадр узловому устройству 100r на этапе S102, а также передает широковещательный кадр узловому устройству 100s на этапе S103.
Узловое устройство 100r, приняв широковещательный кадр от узлового устройства 100q, в свою очередь передает широковещательный кадр узловому устройству 100s на этапе S104. Однако, поскольку узловое устройство 100s уже приняло широковещательный кадр от узлового устройства 100q на этапе S103, узловое устройство 100s отбрасывает широковещательный кадр, принятый от узлового устройства 100r, на этапе S104.
Точнее говоря, узловое устройство 100s сохраняет значение MAC-SA 422 в широковещательном кадре, принятом на этапе S103, в таблице 104 управления трансляцией на фиг.1 в связи со временем, в которое был выполнен процесс приема на этапе S103. Этапы S103 и S104 выполняются практически одновременно.
Соответственно, при приеме широковещательного кадра на этапе S104 узловое устройство 100s проводит поиск в таблице 104 управления трансляцией с использованием значения MAC-SA 422 в принятом широковещательном кадре в качестве ключа и посредством этого получает ассоциированное время. В случае, где разница между текущим временем, в которое выполняется этап S104, и полученным временем короче заданного периода времени, узловое устройство 100s отбрасывает широковещательный кадр, принятый на этапе S104.
Как проиллюстрировано на этапе S105, узловое устройство 100s также передает узловому устройству 100r широковещательный кадр, принятый от узлового устройства 100q на этапе S103. Однако узловое устройство 100r уже приняло широковещательный кадр от узлового устройства 100q на этапе S102 и уже передало широковещательный кадр на этапе S104. Соответственно, узловое устройство 100r отбрасывает широковещательный кадр, принятый от узлового устройства 100s, на этапе S105. Отбрасывание узловым устройством 100r осуществляется, в частности, следующим образом.
Узловое устройство 100r уже передало широковещательный кадр узловому устройству 100s на этапе S104. Соответственно, узловое устройство 100r имеет запись, включающую значения GS 412 и FID 414 в широковещательном кадре, в таблице 105 обнаружения петель на фиг.1.
На этапе S105 узловое устройство 100r проводит поиск в таблице 105 обнаружения петель с использованием значений GS 412 и FID 414 широковещательного кадра, принятого от узлового устройства 100s, в качестве ключей поиска. Узловое устройство 100r затем проверяет, что существует запись, совпадающая с ключами поиска. То есть узловое устройство 100r распознает, что широковещательный кадр, переданный самим узловым устройством 100r на этапе S104, описывает петлю в проводной специализированной сети 250 и возвращается к узловому устройству 100r. В результате этого распознавания на этапе S105 узловое устройство 100r отбрасывает широковещательный кадр, принятый от узлового устройства 100s.
В некоторых вариантах осуществления передача на этапе S105 может выполняться перед приемом на этапе S104. В этом случае узловое устройство 100s отбрасывает широковещательный кадр на основе таблицы 105 обнаружения петель.
Между тем, как проиллюстрировано в качестве этапа S106, узловое устройство 100r также передает узловому устройству 100t широковещательный кадр, принятый от узлового устройства 100q на этапе S102.
К тому же, как проиллюстрировано в качестве этапа S107, узловое устройство 100s также передает узловому устройству 100t широковещательный кадр, принятый от узлового устройства 100q на этапе S103. Однако узловое устройство 100t уже приняло широковещательный кадр на этапе S106. Соответственно, на этапе S107 узловое устройство 100t обращается к таблице 104 управления трансляцией и отбрасывает широковещательный кадр, принятый от узлового устройства 100s, как и в случае с узловым устройством 100s на этапе S104.
Между тем, как проиллюстрировано в качестве этапа S108, узловое устройство 100t передает узловому устройству 100s широковещательный кадр, принятый от узлового устройства 100r на этапе S106. Однако узловое устройство 100s уже передало широковещательный кадр на этапах S105 и S107. Соответственно, на этапе S108 узловое устройство 100s обращается к таблице 105 обнаружения петель и отбрасывает широковещательный кадр, принятый от узлового устройства 100t, как и в случае с узловым устройством 100r на этапе S105.
В некоторых вариантах осуществления прием на этапе S108 может выполняться перед передачей на этапе S107. Однако также в этом случае, поскольку узловое устройство 100s уже передало широковещательный кадр на этапе S105, узловое устройство 100s допускает соответствующее отбрасывание широковещательного кадра от узлового устройства 100t на основе таблицы 105 обнаружения петель.
Как описано выше, в соответствии с этим вариантом осуществления каждое отдельное узловое устройство обращается соответственно к таблице 104 управления трансляцией или таблице 105 обнаружения петель и определяет, отбросить ли принятый широковещательный кадр. К тому же, каждое отдельное узловое устройство передает широковещательный кадр соседним узловым устройствам, только когда не отбрасывает широковещательный кадр.
В результате широковещательный кадр доставляется всем узловым устройствам в проводной специализированной сети 250. Дополнительно предотвращается ситуация, в которой широковещательный кадр продолжает бесконечно делать петлю в проводной специализированной сети 250 (то есть затор широковещательного кадра). Предотвращение затора является результатом распределенной координации с помощью узловых устройств в проводной специализированной сети 250.
Общее представление о распределенной координации в проводной специализированной сети, включающей в себя множество узловых устройств, включающих компоненты на фиг.1, описано выше со ссылкой на фиг.2А-4. Ниже будет подробно описываться конкретная конфигурация и конкретная работа отдельного узлового устройства для реализации распределенной координации, которая описана выше.
Фиг.5 - схема аппаратной конфигурации узлового устройства. Фиг.5 иллюстрирует конкретный пример аппаратной конфигурации для реализации узлового устройства 100 на фиг.1.
Узловое устройство 100 на фиг.5 включает в себя множество портов проводной специализированной сети 101-1 - 101-x (которые просто называются "портами" на фиг.1) для проводного соединения с соседними узловыми устройствами, которые не проиллюстрированы на фиг.5. Узловое устройство 100 на фиг.5 также включает в себя обычный порт 106 LAN, который аналогичен обычным портам 106a-106i LAN, проиллюстрированным на фиг.2А, и который предназначен для проводного соединения с внешним устройством (например, ПК, L2SW или датчиком), которое не проиллюстрировано на фиг.5.
Дополнительно узловое устройство 100 на фиг.5 включает в себя множество микросхем 111-1 - 111-x PHY (физического уровня), подключенных к соответствующим портам 101-1 - 101-x проводной специализированной сети. Узловое устройство 100 также включает в себя блок 112 L2SW (коммутатор уровня 2), подключенный к обычному порту 106 LAN.
К тому же узловое устройство 100 включает в себя FPGA 113 (программируемая пользователем вентильная матрица), которая реализует подсистему 102 маршрутизации на фиг.1, и дополнительно включает в себя MPU 114 (микропроцессор) и различные типы запоминающих устройств.
Точнее говоря, узловое устройство 100 включает в себя CAM 115 (ассоциативное запоминающее устройство), SRAM 116 (статическое оперативное запоминающее устройство) и SDRAM 117 (синхронное динамическое оперативное запоминающее устройство), которые доступны из FPGA 113. В этом варианте осуществления адрес, полученный в результате поиска в CAM 115, является адресом SRAM 116. Таблица 103 маршрутизации, таблица 104 управления трансляцией и таблица 105 обнаружения петель на фиг.1 реализуются с помощью CAM 115 и SRAM 116 в этом варианте осуществления.
Узловое устройство 100 дополнительно включает в себя DDR2 SDRAM 118 (SDRAM с удвоенной скоростью передачи данных второго поколения) и флэш-память 119, которые доступны из MPU 114. На флэш-памяти 119, которая является типом энергонезависимых запоминающих устройств, сохраняются, например, ID узла самого узлового устройства 100, MAC-адрес самого узлового устройства 100, программа/программы микропрограммного обеспечения, исполняемые MPU 114, и т.п. DDR2 SDRAM 118 используется в качестве рабочей области, когда MPU 114 выполняет программу/программы микропрограммного обеспечения.
Узловое устройство 100 дополнительно включает в себя микросхему 120 PHY, подключенную к блоку 112 L2SW.
Соответствующие микросхемы PHY 111-1 - 111-x подключаются к FPGA 113 с помощью соответствующих MII (не зависящих от среды интерфейсов) 121-1 - 121-x, которые являются интерфейсами между физическим уровнем и подуровнем MAC. Блок 112 L2SW и FPGA 113 также подключаются с помощью MII 122.
FPGA 113 и MPU 114 подключаются с помощью шины 123 PCI (межсоединение периферийных компонентов), а также с помощью MII 124. Микросхема 120 PHY, подключенная к блоку 112 L2SW, также подключена к MPU 114 с помощью MII 125.
В этом варианте осуществления порту 114a внутреннего соединения в MPU 114, подключенному к FPGA 113 с помощью MII 124, и порту внутреннего соединения 114b в MPU 114, подключенному к микросхеме 120 PHY с помощью MII 125, присваиваются соответствующие MAC-адреса.
Траектории перенаправления кадров в узловом устройстве 100 различны, как описано ниже.
(1) Кадр, принятый из порта 101-i проводной специализированной сети (1≤i≤x), вводится в FPGA 113 через микросхему 111-i PHY и MII 121-i. Кадр затем выводится из FPGA 113 в микросхему 111-j PHY (1≤j≤x) через MII 121-j и передается из порта 101-j проводной специализированной сети.
(2) Кадр, принятый из порта 101-i проводной специализированной сети (1≤i≤x), вводится в FPGA 113 через микросхему 111-i PHY и MII 121-i. Кадр затем выводится в блок 112 L2SW через MII 122 и передается из обычного порта 106 LAN.
(3) Кадр, принятый из порта 101-i проводной специализированной сети (1≤i≤x), вводится в FPGA 113 через микросхему 111-i PHY и MII 121-i. Кадр затем выводится в MPU 114 через MII 124 и обрабатывается в MPU 114.
(4) Кадр, принятый из обычного порта 106 LAN, вводится в FPGA 113 через блок 112 L2SW и MII 122. Кадр затем выводится из FPGA 113 в микросхему 111-j PHY (1≤j≤x) через MII 121-j и передается из порта 101-j проводной специализированной сети.
(5) Кадр, принятый из обычного порта 106 LAN, вводится в MPU 114 через блок 112 L2SW, микросхему 120 PHY и MII 125 и обрабатывается в MPU 114.
(6) MPU 114 формирует кадр и выводит его в FPGA 113 через MII 124. Кадр затем выводится из FPGA 113 в микросхему 111-j PHY (1≤j≤x) через MII 121-j и передается из порта 101-j проводной специализированной сети.
(7) MPU 114 формирует кадр и выводит его в микросхему 120 PHY через MII 125. Кадр затем выводится из микросхемы 120 PHY в блок 112 L2SW и дополнительно передается из обычного порта 106 LAN.
Отметим, что блок 112 L2SW может узнать MAC-адрес порта 114b внутреннего соединения у MPU 114 из кадра, принятого по траектории перенаправления (7). Соответственно, если значение MAC-DA 421 в кадре, принятом из обычного порта 106 LAN, идентично MAC-адресу порта 114b внутреннего соединения, то блок 112 L2SW выводит кадр в микросхему 120 PHY по вышеописанной траектории перенаправления (5). С другой стороны, если значение MAC-DA 421 в кадре, принятом из обычного порта 106 LAN, отличается от MAC-адреса порта 114b внутреннего соединения, то блок 112 L2SW выводит кадр в FPGA 113 по вышеописанной траектории перенаправления (4).
Далее будут описываться функции узлового устройства 100, включающего в себя различные части аппаратных средств на фиг.5.
Фиг.6 - схема функциональной конфигурации узлового устройства. На фиг.6 связи между функциональными блоками и аппаратными средствами на фиг.5 указываются пунктирными линиями и пропускаются части, принадлежащие обычному порту 106 LAN.
Как проиллюстрировано на фиг.6, узловое устройство 100 включает в себя приемный блок 131 для приема специального кадра 400. Точнее говоря, приемный блок 131 включает в себя множество приемных портов 132-1 - 132-x для соответственного приема специальных кадров 400 от множества узловых устройств (не проиллюстрировано на фиг.6) рядом с узловым устройством 100.
i-й принимающий порт 132-i (1≤i≤x) реализуется с помощью порта 101-i проводной специализированной сети и микросхемы 111-i PHY. На фиг.6 для удобства иллюстрации порты проводной специализированной сети 101-1 - 101-x вместе представлены в виде "портов 101", а микросхемы PHY 111-1 - 111-x вместе представлены в виде "микросхем 111 PHY".
Узловое устройство 100 также включает в себя контроллер 133 принятых кадров, который классифицирует специальный кадр 400, принятый приемным блоком 131, в соответствии с информацией, например типом и/или назначением.
Узловое устройство 100 дополнительно включает в себя процессор 134 верхнего уровня, который обрабатывает специальный кадр 400, адресованный самому узловому устройству 100. "Верхний уровень" означает уровень выше подуровня MAC, на котором задается специальный кадр 400.
Если значение GD 411 в специальном кадре 400, принятом приемным блоком 131, идентично ID узла самого узлового устройства 100, то контроллер 133 принятых кадров выводит специальный кадр 400 в процессор 134 верхнего уровня. Процессор 134 верхнего уровня затем извлекает кадр 420 Ethernet из специального кадра 400 и обрабатывает кадр 420 Ethernet. Процессор 134 верхнего уровня реализуется с помощью MPU 114, DDR2 SDRAM 118 и флэш-памяти 119.
Узловое устройство 100 также включает в себя запоминающее устройство 135 для таблиц, реализованное с помощью CAM 115 и SRAM 116. В запоминающем устройстве 135 для таблиц хранятся таблица 103 маршрутизации, таблица 104 управления трансляцией и таблица 105 обнаружения петель на фиг.1. Таблицы, которые будут описываться позже со ссылкой на фиг.7-9, также хранятся в запоминающем устройстве 135 для таблиц.
Узловое устройство 100 дополнительно включает в себя контроллер 136 таблиц, который управляет содержимым различных таблиц путем создания, обновления и удаления записей в различных таблицах, сохраненных в запоминающем устройстве 135 для таблиц. Точнее говоря, контроллер 136 таблиц допускает поиск в CAM 115 и обращение к адресу SRAM 116, полученному в виде результата поиска.
Узловое устройство 100 дополнительно включает в себя монитор 137 портов, переключатель 138 портов, таймер 139 и контроллер 140 кадров передачи (функции этих элементов будут описываться позже).
Контроллер 136 таблиц управляет содержимым различных таблиц в соответствии с управляющей информацией, предоставленной от контроллера 133 принятых кадров, монитора 137 портов, переключателя 138 портов, таймера 139 и контроллера 140 кадров передачи. Характерное управление будет описываться позже со ссылкой на алгоритмические блок-схемы из фиг.11А-20.
В этом варианте осуществления контроллер 133 принятых кадров, контроллер 136 таблиц, монитор 137 портов, переключатель 138 портов, таймер 139 и контроллер 140 кадров передачи реализуются с помощью FPGA 113.
Узловое устройство 100 дополнительно включает в себя передающий блок 141 для передачи специального кадра 400.
Точнее говоря, передающий блок 141 включает в себя буферный блок 142 для буферизации специального кадра 400. Например, буферный блок 142 можно реализовать с помощью SDRAM 117. В буферном блоке 142 могут находиться области, сегментированные в соответствии с соответствующими передающими портами 143-1 - 143-x.
В некоторых вариантах осуществления приемный блок 131 может дополнительно включать в себя другой буферный блок для приема.
Передающий блок 141 также включает в себя множество передающих портов 143-1 - 143-x для передачи специального кадра 400 к узловому устройству (не проиллюстрировано на фиг.6) рядом с узловым устройством 100. Передающие порты 143-1 - 143-x считывают специальный кадр 400, буферизованный в буферном блоке 142, и передают считанный специальный кадр 400 соседнему узловому устройству, которое не проиллюстрировано на фиг.6.
i-й передающий порт 143-i (1≤i≤x) реализуется с помощью порта 101-i проводной специализированной сети и микросхемы 111-i PHY. То есть общие части аппаратных средств реализуют принимающий порт 132-i и передающий порт 143-i.
Далее описываются функции монитора 137 портов, переключателя 138 портов, таймера 139 и контроллера 140 кадров передачи, описание которых выше было пропущено.
Монитор 137 портов контролирует соответствующие состояния приемных портов 132-1 - 132-x в приемном блоке 131, буферного блока 142 в передающем блоке 141 и передающих портов 143-1 - 143-x в передающем блоке 141.
Например, микросхема 111-i PHY может обнаруживать, является ли нерабочей линия связи, подключенная к порту 101-i проводной специализированной сети, и может выводить результат обнаружения в FPGA 113 (или в заданный регистр, доступный из FPGA 113). Монитор 137 портов, реализованный с помощью FPGA 113, отслеживает результат обнаружения, выведенный из микросхемы 111-i PHY, и посредством этого контролирует, находятся ли принимающий порт 132-i и передающий порт 143-i в нерабочем состоянии.
Монитор 137 портов также контролирует, скапливаются ли чрезмерно кадры в узловом устройстве 100, то есть находится ли узловое устройство 100 в состоянии занятости, путем контроля процентного отношения использования буферного блока 142.
Переключатель 138 портов обращается к таблицам, сохраненным в запоминающем устройстве 135 для таблиц, и выбирает порт назначения кадра, выведенного из контроллера 133 принятых кадров. Переключатель 138 портов затем выдает контроллеру 140 кадров передачи команду относительно выбранного порта и выводит кадр в контроллер 140 кадров передачи.
Переключатель 138 портов допускает получение адреса SRAM 116 путем побуждения контроллера 136 таблиц провести поиск в CAM 115 и допускает прямое обращение к SRAM 116 с использованием полученного адреса для обращения к данным или их обновления.
Таймер 139 уведомляет контроллер 136 таблиц о временной информации, которая используется для старения каждой записи в различных таблицах.
Контроллер 140 кадров передачи выводит кадр в буферный блок 142. Контроллер 140 кадров передачи также выполняет управление для передачи кадра, сохраненного в буферном блоке 142, из передающего порта (одного из передающих портов 143-1 - 143-x), выбранного переключателем 138 портов.
Аппаратная конфигурация и функциональная конфигурация узлового устройства 100 описаны выше со ссылкой на фиг.5 и 6. Далее другие данные, не проиллюстрированные на фиг.1, будут описываться со ссылкой на фиг.7-10.
Фиг.7 - схема, которая иллюстрирует пример таблицы состояний приостановки. Таблица 151 состояний приостановки на фиг.7 хранится, например, в запоминающем устройстве 135 для таблиц на фиг.6. Подробная обработка в отношении таблицы 151 состояний приостановки будет описываться позже со ссылкой на фиг.11А и 16.
Таблица 151 состояний приостановки включает в себя количество "x" записей, соответствующее количеству "x" портов 101-1 - 101-x. Например, в записи, соответствующей i-му порту 101-i (1≤i≤x), следующие три порции информации ассоциируются друг с другом:
- номер порта PNi у порта 101-i в качестве идентификационной информации для идентификации порта 101-i,
- состояние приостановки PSi, указывающее, принят ли запрос приостановки от соседнего узлового устройства, которое напрямую подключено через порт 101-i,
- счетчик Counti.
Значением состояния приостановки PSi является "P" (приостановка) в случае, где запрос приостановки принят от соседнего узлового устройства, которое напрямую подключено через порт 101-i, и еще не истек период времени, обозначенный в запросе приостановки.
С другой стороны, значением состояния приостановки PSi является "N" (Нормальное) в случае, где запрос приостановки не принят от соседнего узлового устройства, которое напрямую подключено через порт 101-i. К тому же, значение состояния приостановки PSi превращается в "N", когда принимается уведомление об отмене запроса приостановки, и значение состояния приостановки PSi также превращается в "N" после истечения периода времени, обозначенного в запросе приостановки. Поскольку состояние приостановки PSi является двоичным, его можно представить в одном разряде.
Когда запрос приостановки принимается от соседнего узлового устройства, которое напрямую подключено через порт 101-i, счетчик Counti устанавливается в значение, указанное в кадре приостановки, и после этого отсчитывается в обратном порядке.
Фиг.8 - схема, которая иллюстрирует пример таблицы состояний канала по портам. Таблица 152 состояний канала по портам на фиг.8 хранится, например, в запоминающем устройстве 135 для таблиц на фиг.6. Подробная обработка в отношении таблицы 152 состояний канала по портам будет описываться позже со ссылкой на фиг.20.
Таблица 152 состояний канала по портам включает в себя количество "x" записей, соответствующее количеству "x" портов 101-1 - 101-x. Например, в записи, соответствующей i-му порту 101-i (1≤i≤x), номер порта PNi у порта 101-i и состояние канала Li, которое указывает, находится ли подключенная к порту 101-i линия связи в состоянии возможности связи, ассоциируются друг с другом.
Если линия связи, подключенная к порту 101-i, находится в состоянии возможности связи, то значением состояния канала Li является "C" (Подключено). Если линия связи, подключенная к порту 101-i, является нерабочей и не находится в состоянии возможности связи, то значением состояния канала Li является "D" (Нерабочее). Поскольку состояние канала Li является двоичным, его можно представить в одном разряде.
Фиг.9 - схема, которая иллюстрирует пример таблицы MAC. Таблица 153 MAC на фиг.9 хранится, например, в запоминающем устройстве 135 для таблиц на фиг.6.
Одна запись в таблице 153 MAC соответствует одному узловому устройству в проводной специализированной сети. Фиг.9 иллюстрирует таблицу 153 MAC, включающую в себя "b" записей. Например, в i-й записи (1≤i≤b) в таблице 153 MAC следующие две порции информации ассоциируются друг с другом.
- MAC-адрес MACi внешнего устройства (например, ПК, датчика и т.д.), подключенного к некоторому узловому устройству в проводной специализированной сети.
- NIDi, являющийся ID узла, который уникален в проводной специализированной сети и который присваивается вышеупомянутому узловому устройству, подключенному к вышеупомянутому внешнему устройству с MAC-адресом MACi.
При приеме специального кадра 400 узловое устройство 100 узнает о паре MAC-SA 422 и GS 412.
Точнее говоря, контроллер 136 таблиц оценивает, существует ли в таблице 153 MAC запись, совпадающая со значениями MAC-SA 422 и GS 412 в принятом специальном кадре 400. Если запись, совпадающая со значениями MAC-SA 422 и GS 412, не существует, то контроллер 136 таблиц создает новую запись, ассоциируя значение MAC-SA 422 и значение GS 412 друг с другом, и добавляет новую запись в таблицу 153 MAC.
К тому же, при приеме кадра 420 Ethernet от первого внешнего устройства, подключенного через обычный порт 106 LAN, узловое устройство 100 проводит поиск в таблице 153 MAC с использованием значения MAC-DA 421 в качестве ключа поиска.
Если в результате поиска обнаруживается запись, то узловое устройство 100 создает специальный заголовок 410, в котором значение ID узла, включенное в найденную запись, устанавливается в GD 411, и вставляет в начало кадра 420 Ethernet специальный заголовок 410. Точнее говоря, узловое 100 устройство устанавливает в GD 411 ID узла другого узлового устройства, которое находится в проводной специализированной сети и которое подключено ко второму внешнему устройству, идентифицированному значением MAC-DA 421.
Например, когда кадр передается от ПК 203 к ПК 205 в примере на фиг.2А, узловое устройство 100b на маршруте передачи в проводной специализированной сети 200 узнает таблицу 153 MAC следующим образом.
В вышеприведенном примере в специальном кадре 400, принятом узловым устройством 100b от узлового устройства 100c, MAC-адрес ПК 203 указывается в MAC-SA 422, а ID узла узлового устройства 100c указывается в GS 412. Соответственно, узловое устройство 100b узнает ассоциацию между MAC-адресом ПК 203 и ID узла узлового устройства 100c и добавляет запись в таблицу 153 MAC по необходимости.
Между тем, предположим, что узловое устройство 100b принимает новый кадр 420 Ethernet, адресованный ПК 203, например от ПК 201 через L2SW 202, после вышеупомянутого изучения. Узловое устройство 100b затем проводит поиск в таблице 153 MAC с использованием значения MAC-DA 421 в новом кадре 420 Ethernet в качестве ключа поиска.
То есть узловое устройство 100b проводит поиск в таблице 153 MAC с использованием MAC-адреса ПК 203 в качестве ключа поиска. В результате узловое устройство 100b получает ID узла узлового устройства 100c, которое находится в проводной специализированной сети 200 и которое подключено к ПК 203. Соответственно, узловое устройство 100b формирует специальный заголовок 410, в котором ID узла узлового устройства 100c указывается в GD 411, и вставляет в начало нового кадра 420 Ethernet специальный заголовок 410, посредством этого формируя новый специальный кадр 400. Узловое устройство 100b затем передает новый специальный кадр 400.
Узловое устройство 100c может работать, например, следующим образом, если принимает от ПК 203 кадр 420 Ethernet, адресованный ПК 205, до изучения ассоциации между MAC-адресом ПК 205 и ID узла узлового устройства 100g.
А именно узловое устройство 100c может транслировать в проводную специализированную сеть 200 специальный кадр, который используется для запрашивания ID узла и который включает в себя специальный заголовок 410, в котором заданное значение для указания трансляции указывается в GD 411. Полезная нагрузка специального кадра, используемого для запрашивания ID узла, включает в себя MAC-адрес ПК 205.
Благодаря механизму распределенной координации, проиллюстрированному на фиг.4, специальный кадр, используемый для запрашивания ID узла, не скапливается в проводной специализированной сети 200.
Узловое устройство 100g, которое принимает запрос с помощью кадра, транслированного в проводной специализированной сети 200, отвечает узловому устройству 100c. То есть узловое устройство 100g возвращает специальный кадр для управляющего использования и для уведомления об ассоциации между MAC-адресом ПК 205 и ID узла узлового устройства 100g. В результате узловое устройство 100c узнает об ассоциации между MAC-адресом ПК 205 и ID узла узлового устройства 100g из возвращенного специального кадра и добавляет запись в таблицу 153 MAC.
Фиг.10 - схема, которая иллюстрирует пример данных управления состояниями приостановки. Данные 154 управления состояниями приостановки на фиг.10 управляются монитором 137 портов фиг.6 и используются для управления запросами приостановки и уведомлениями об отмене запросов приостановки, которые идут от самого узлового устройства 100 к соседним узловым устройствам. Подробная обработка в отношении данных 154 управления состояниями приостановки будет описываться позже со ссылкой на фиг.17-19.
Как проиллюстрировано на фиг.10, данные 154 управления состояниями приостановки включают в себя состояние приостановки SS, счетчик SCount и время начала приостановки StartTime.
Значением состояния приостановки SS является "P" (приостановка) в случае, где узловое устройство 100 само находится в состоянии занятости, и "N" (нормальное) в случае, где узловое устройство 100 само не находится в состоянии занятости. Например, монитор 137 портов контролирует процентное отношение использования буферного блока 142. Если процентное отношение использования буферного блока 142 превышает заданную пороговую величину, то монитор 137 портов может посчитать, что узловое устройство 100 само находится в состоянии занятости и может установить значение состояния приостановки SS в "P".
Значение, которое нужно указать в кадрах приостановки, когда узловое устройство 100 само передает запросы приостановки другим узловым устройствам, устанавливается в счетчике SCount. То есть продолжительность периода времени, в течение которого узловое устройство 100 само запрашивает соседние узловые устройства о приостановке передачи кадров, устанавливается в счетчике SCount.
Монитор 137 портов может произвольно устанавливать значение счетчика SCount. В зависимости от вариантов осуществления монитор 137 портов может установить заранее установленное постоянное значение в счетчике SCount или может установить в счетчике SCount значение параметра, которое меняется в зависимости от процентного отношения использования буферного блока 142.
Время, в которое узловое устройство 100 само передает запросы приостановки соседним узловым устройствам, устанавливается в качестве времени начала приостановки StartTime.
Конфигурация узлового устройства 100 и различные структуры данных описаны выше. Ниже будет описываться подробная работа узлового устройства 100 со ссылкой на алгоритмические блок-схемы.
Фиг.11А-11D являются алгоритмическими блок-схемами, которые объясняют процесс маршрутизации. Как представлено в виде бесконечного цикла на алгоритмических блок-схемах на фиг.11А-11D, FPGA 113 продолжает выполнять обработку на фиг.11А-11D, пока включено питание узлового устройства 100.
Когда включается питание узлового устройства 100, выполняется инициализация на этапе S201. Например, MPU 114 может считать ID узла самого узлового устройства 100 из флэш-памяти 119, затем может сохранить его в DDR2 SDRAM 118 и может вывести его в FPGA 113. К тому же, контроллер 136 таблиц может инициализировать различные таблицы на этапе S201.
Например, поскольку ничего не узнается во время этапа S201, таблица 103 маршрутизации, таблица 104 управления трансляцией, таблица 105 обнаружения петель и таблица 153 MAC инициализируются в состояние без записей. Контроллер 136 таблиц также может установить состояние приостановки PSi в "N" и может установить счетчик Counti в ноль в каждой записи (1≤i≤x) в таблице 151 состояний приостановки. Дополнительно контроллер 136 таблиц может установить состояние канала Li в "C" в каждой записи (1≤i≤x) в таблице 152 состояний канала по портам.
К тому же, монитор 137 портов может инициализировать данные 154 управления состояниями приостановки на этапе S201. Например, монитор 137 портов может установить состояние приостановки SS в "N" и может установить счетчик SCount в ноль.
Поэтому на этапе S202 узловое устройство 100 ждет, пока принимается кадр из любого из портов 101-1 - 101-x.
На этапе S202, если кадр принимается, например, из порта 101-r (1≤r≤x), то кадр выводится из принимающего порта 132-r в контроллер 133 принятых кадров, который проиллюстрирован на фиг.6. Дополнительно контроллер 133 принятых кадров дает команду контроллеру 136 таблиц выполнить изучение таблицы 153 MAC, которая описывается в отношении фиг.9, и контроллер 136 таблиц выполняет изучение таблицы 153 MAC. Затем обработка переходит к этапу S203.
На этапе S203 контроллер 133 принятых кадров оценивает, является ли принятый на этапе S202 кадр кадром приостановки, на основе типа 413 в принятом кадре. Если кадр, принятый на этапе S202, является кадром приостановки, то обработка переходит к этапу S204. Если кадр, принятый на этапе S202, не является кадром приостановки, то обработка переходит к этапу S207.
На этапе S204 контроллер 133 принятых кадров оценивает, равно ли нулю значение счетчика приостановки, указанное в принятом кадре приостановки. Если значение счетчика приостановки равно нулю, то обработка переходит к этапу S205. Если значение счетчика приостановки не равно нулю, то обработка переходит к этапу S206.
Этап S205 выполняется в случае, где значение счетчика приостановки равно нулю, то есть в случае, где сообщается об отмене запроса приостановки. Точнее говоря, на этапе S205 контроллер 133 принятых кадров дает команду контроллеру 136 таблиц аннулировать состояние приостановки, соответствующее порту, из которого на этапе S202 принят кадр приостановки, и сбросить счетчик. Контроллер 136 таблиц затем работает в соответствии с командой.
Например, в случае, где кадр приостановки принимается из порта 101-r проводной специализированной сети (1≤r≤x) на этапе S202, контроллер 136 таблиц работает на этапе S205 в соответствии с командой контроллера 133 принятых кадров следующим образом.
А именно контроллер 136 таблиц устанавливает состояние приостановки PSr и счетчик Countr, которые ассоциируются с номером порта PNr у порта 101-r проводной специализированной сети, в "N" и ноль соответственно в таблице 151 состояний приостановки на фиг.7. Затем обработка возвращается к этапу S202.
С другой стороны, этап S206 выполняется в случае, где значение счетчика приостановки не равно нулю, то есть в случае, где принимается новый запрос приостановки или запрос продления приостановки.
Отметим, что запрос продления приостановки является типом запросов приостановки. В случае, где узловое устройство, выдав ранее первый запрос приостановки, продолжает пребывать в состоянии занятости даже после того, как истек период времени, обозначенный в кадре приостановки, указывающем первый запрос приостановки, это узловое устройство может снова выдать второй запрос приостановки вместо уведомления об отмене первого запроса приостановки. Второй запрос приостановки является запросом продления приостановки.
Точнее говоря, на этапе S206 контроллер 133 принятых кадров дает команду контроллеру 136 таблиц установить в "Р" состояние приостановки, соответствующее порту, из которого на этапе S202 принят кадр приостановки, и установить счетчик в соответствии с кадром приостановки. Контроллер 136 таблиц затем работает в соответствии с командой.
Например, в случае, где кадр приостановки принимается из порта 101-r проводной специализированной сети (1≤r≤x) на этапе S202, контроллер 136 таблиц работает на этапе S206 следующим образом в соответствии с командой контроллера 133 принятых кадров.
А именно контроллер 136 таблиц устанавливает в "P" состояние приостановки PSr, которое ассоциируется с номером порта PNr у порта 101-r проводной специализированной сети в таблице 151 состояний приостановки на фиг.7. Контроллер 136 таблиц также устанавливает счетчик Countr, который ассоциируется с номером порта PNr в таблице 151 состояний приостановки фиг.7, в значение, указанное в кадре приостановки, принятом на этапе S202. Затем обработка возвращается к этапу S202.
Этап S207 выполняется в случае, где на этапе S202 принимается кадр, чей тип отличается от кадра приостановки. На этапе S207 контроллер 133 принятых кадров оценивает, является ли принятый на этапе S202 кадр широковещательным кадром.
Точнее говоря, если MAC-DA 421 является широковещательным адресом (то есть адресом, в котором каждый разряд равен "1"), то контроллер 133 принятых кадров считает, что принятый кадр является широковещательным кадром, и тогда обработка переходит к этапу S208 на фиг.11B. С другой стороны, если MAC-DA 421 не является широковещательным адресом, то обработка переходит к этапу S216 на фиг.11А.
Этапы S208-S215, проиллюстрированные на фиг.11B, являются процессами для случая, где широковещательный кадр принимается на этапе S202.
На этапе S208 контроллер 133 принятых кадров оценивает, существует ли в таблице 105 обнаружения петель запись, соответствующая кадру, принятому на этапе S202. То есть контроллер 133 принятых кадров посредством контроллера 136 таблиц проводит поиск в таблице 105 обнаружения петель с использованием в качестве ключей поиска пары значений GS 412 и FID 414 в кадре, принятом на этапе S202.
Если запись, чей источник GSi совпадает со значением GS 412 и чей FIDi совпадает со значением FID 414, обнаруживается в результате поиска (1≤i≤m), то обработка переходит к этапу S209. С другой стороны, если вышеупомянутая запись не найдена в результате поиска, то обработка переходит к этапу S210.
Отметим, что существует не более одной записи, которая описана выше, даже если она существует.
Этап S209 выполняется в случае, где очевидно, что широковещательный кадр, переданный ранее от узлового устройства 100, снова принимается в узловом устройстве 100. Соответственно, на этапе S209 контроллер 133 принятых кадров отбрасывает кадр, принятый на этапе S202. Затем обработка возвращается к этапу S202. Работа узлового устройства 100r на этапе S105 и работа узлового устройства 100s на этапе S108, как в примере на фиг.4, соответствуют этапу S209.
На этапе S210 контроллер 133 принятых кадров проводит поиск в таблице 104 управления трансляцией посредством контроллера 136 таблиц. В соответствии с поиском контроллер 133 принятых кадров оценивает, является ли кадр, принятый на этапе S202, кадром, который снова принимается в результате транслирования от такого же MAC-адреса в таблице 104 управления трансляцией в рамках заданного периода времени (например, 10 мс).
Точнее говоря, контроллер 133 принятых кадров посредством контроллера 136 таблиц проводит поиск в таблице 104 управления трансляцией с использованием в качестве ключа поиска значения MAC-SA 422 в кадре, принятом на этапе S202. Если в результате поиска обнаруживается запись, в которой с ключом поиска ассоциируется время, которое отличается от текущего времени на заданный период времени (10 мс в этом варианте осуществления) или меньше, то обработка переходит к этапу S211. С другой стороны, если вышеупомянутая запись не найдена в результате поиска, то обработка переходит к этапу S212.
Этап S211 выполняется в случае, где широковещательный кадр, недавно принятый узловым устройством 100 (в периоде времени в 10 мс в этом варианте осуществления), снова принимается узловым устройством 100. Соответственно, на этапе S211 контроллер 133 принятых кадров отбрасывает кадр, принятый на этапе S202. Затем обработка возвращается к этапу S202. Работа узлового устройства 100s на этапе S104 и работа узлового устройства 100t на этапе S107, как в примере на фиг.4, соответствуют этапу S211.
В случае, где в результате поиска на этапе S210 не найдена запись в таблице 104 управления трансляцией, контроллер 133 принятых кадров считает, что не имеет место случай, что широковещательный кадр, идентичный ранее принятому, снова принимается на этапе S202. Соответственно, на этапе S212 выполняется процесс перехода на более высокий уровень.
То есть на этапе S212 контроллер 133 принятых кадров выводит кадр в процессор 134 верхнего уровня, и затем процессор 134 верхнего уровня обрабатывает тот кадр. Описанный в соответствии с фиг.5 на этапе S212 кадр выводится из FPGA 113 в MPU 114 через MII 124, и кадр обрабатывается посредством MPU 114.
Далее, на этапе S213 контроллер 133 принятых кадров дает команду переключателю 138 портов выполнить транслирование в проводную специализированную сеть и выводит кадр в переключатель 138 портов. Затем на этапе S213 переключатель 138 портов выбирает в качестве портов назначения все порты, удовлетворяющие обоим следующим двум условиям, из числа портов 101-1 - 101-x.
- Не является принимающим портом (то есть портом, принявшим широковещательный кадр на этапе S202).
- Состояние приостановки в таблице 151 состояний приостановки на фиг.7 не равно "P" (то есть состоянием приостановки является "N").
Вместо этого в некоторых вариантах осуществления переключатель 138 портов может дополнительно сократить порты назначения в соответствии с условием, что состоянием канала является "C" в таблице 152 состояний канала по портам на фиг.8.
Переключатель 138 портов дает контроллеру 140 кадров передачи команду относительно портов, выбранных из числа портов 101-1 - 101-x (то есть передающих портов, выбранных из числа передающих портов 143-1 - 143-x), и выводит кадр в контроллер 140 кадров передачи. Отметим, что количество выбранных портов может быть нулем, одним или множеством.
Контроллер 140 кадров передачи формирует новый специальный заголовок 410 путем уменьшения значения TTL 415 в принятом кадре на единицу и пересчета FCS 417 и выводит специальный кадр 400, включающий в себя новый специальный заголовок 410, в буферный блок 142. Затем контроллер 140 кадров передачи выполняет управление для передачи специального кадра 400, который буферизуется в буферном блоке 142, из передающих портов, выбранных из числа передающих портов 143-1 - 143-x.
Как описано выше, на этапе S213 кадр передается из передающих портов, выбранных из числа передающих портов 143-1 - 143-x. Затем обработка переходит к этапу S214.
На этапе S214 контроллер 133 принятых кадров регистрирует запись, соответствующую широковещательному кадру, принятому на этапе S202, в таблице 104 управления трансляцией посредством контроллера 136 таблиц. То есть запись, в которой значение MAC-SA 422 в широковещательном кадре, принятом на этапе S202, и текущее время (то есть временная отметка), полученное от таймера 139, ассоциируются друг с другом, добавляется в таблицу 104 управления трансляцией на этапе S214.
Затем на этапе S215 переключатель 138 портов регистрирует новую запись в таблице 105 обнаружения петель посредством контроллера 136 таблиц в соответствии с результатом выбора на этапе S213.
Новая запись, которая регистрируется на этапе S215, выглядит следующим образом. Например, предположим, что специальный кадр 400 принимается из порта 101-r (1≤r≤x) на этапе S202. В этом случае новая запись, ассоциирующая пару значений GS 412 и FID 414 в принятом специальном кадре 400 с номером порта у порта 101-r и состояниями соответствующих портов 101-1 - 101-x, добавляется в таблицу 105 обнаружения петель на этапе S215. Предполагая, что новая запись является (m+1)-й записью таблицы 105 обнаружения петель, состояние LPi(m+1) порта 101-i (1≤i≤x) в новой записи устанавливается следующим образом.
- В случае, где порт 101-i выбирается в качестве порта назначения на этапе S213, значением состояния LPi(m+1) является "U".
- В противном случае значением состояния LPi(m+1) является "E".
В некоторых вариантах осуществления порядок процессов на этапах S212-S215 можно изменить, либо этапы S212-S215 могут выполняться параллельно.
Здесь, чтобы дополнительно прояснить смысл процессов на этапах S210 и S211, другой конкретный пример будет дополнительно описываться со ссылкой на фиг.2А.
Например, имеется случай, где ПК 206 на фиг.2А транслирует кадр 420 Ethernet, включающий в себя пакет ARP (протокол разрешения адресов) в качестве пакета 424 L3. В этом случае широковещательный адрес указывается в MAC-DA 421 в кадре 420 Ethernet.
В узловом устройстве 100h, подключенном по линии 229 связи к ПК 206, являющемуся источником, кадр 420 Ethernet, который является широковещательным кадром, снабжается специальным заголовком 410 и посредством этого превращается в специальный кадр 400. Здесь ID узла узлового устройства 100h указывается в GS 412 в специальном заголовке 410 и первый FID, сформированный узловым устройством 100h, указывается в FID 414.
Специальный кадр 400, являющийся широковещательным кадром, затем транслируется из узлового устройства 100h в проводную специализированную сеть 200. Точнее говоря, узловое устройство 100h передает (то есть транслирует) специальный кадр 400 из соответствующих портов 101h-1, 101h-3 и 101h-4.
Потом специальный кадр 400 может достичь узлового устройства 100b, например, по линиям 223 и 217 связи, и еще может достичь узлового устройства 100a из узлового устройства 100b по линии 216 связи.
В этом случае узловое устройство 100b выполняет этап S212. В результате узловое устройство 100b передает кадр 420 Ethernet, который получается в результате удаления специального заголовка 410 из принятого специального кадра 400, в L2SW 202, подключенный к обычному порту 106b LAN.
L2SW 202, приняв от узлового устройства 100b кадр 420 Ethernet, являющийся широковещательным кадром, транслирует затем принятый кадр 420 Ethernet. То есть L2SW 202 передает кадр 420 Ethernet к ПК 201 по линии 211 связи, а также к узловому устройству 100a по линии 212 связи.
Между прочим, как описано выше, узловое устройство 100a приняло специальный кадр 400 из порта 101a-4 по линии 216 связи в результате транслирования в проводной специализированной сети 200. В узловом устройстве 100a также существует вероятность того, что специальный кадр 400 дополнительно принимается от узлового устройства 100d по линии 215 связи.
В случае, где узловое устройство 100a избыточно принимает специальный кадр 400, являющийся широковещательным кадром, от обоих узловых устройств 100b и 100d в проводной специализированной сети 200, принятый позже кадр отбрасывается на этапе S209. Отбрасывание на этапе S209 предоставляется с помощью таблицы 105 обнаружения петель. Этап S209 предотвращает скопление широковещательных кадров в проводной специализированной сети 200.
Наоборот, если бы таблицы 104 управления трансляцией не существовало, то была бы вероятность того, что широковещательный кадр, прошедший единожды через L2SW 202, внешний по отношению к проводной специализированной сети 200, вернулся бы снова в проводную специализированную сеть 200, соответственно вызывая скопление. Соответственно, в этом варианте осуществления узловое устройство 100 включает в себя таблицу 104 управления трансляцией.
Если бы таблицы 104 управления трансляцией не существовало, то узловое устройство 100a, приняв специальный кадр 400 от узлового устройства 100b или 100d с помощью трансляции в проводной специализированной сети 200, удалило бы специальный заголовок 410 и передало бы кадр 420 Ethernet к L2SW 202. L2SW 202 затем передал бы кадр 420 Ethernet, являющийся широковещательным кадром, к ПК 201 и к узловому устройству 100b.
Здесь любой кадр 420 Ethernet, принятый узловым устройством 100b от L2SW 202, не включает в себя специальный заголовок 410. Соответственно, использование таблицы 105 обнаружения петель не дает возможность узловому устройству 100b распознать, что снова принимается один и тот же кадр 420 Ethernet в качестве широковещательного кадра, который узловое устройство 100b само передало ранее к L2SW 202.
С другой стороны, если бы узловое устройство 100b не транслировало принятый от L2SW 202 широковещательный кадр в проводную специализированную сеть 200, то снова бы транслировался один и тот же кадр 420 Ethernet. Более того, существовала бы вероятность, что один и тот же широковещательный кадр продолжал бы петлять между L2SW 202, узловым устройством 100b и узловым устройством 100a. Причина в том, что широковещательному кадру, однажды вышедшему из проводной специализированной сети 200 и затем возвращенному в проводную специализированную сеть 200, присваивается новый FID каждый раз, когда он возвращается в проводную специализированную сеть 200.
Соответственно, чтобы предотвратить скопление, узловому устройству 100b необходимо использовать информацию, отличную от таблицы 105 обнаружения петель, и оценить идентичность между кадрами 420 Ethernet, которые не включают в себя специальный заголовок 410.
В этом варианте осуществления использование таблицы 104 управления трансляцией дает возможность узловому устройству 100 оценить идентичность между кадрами 420 Ethernet, которые не включают в себя специальный заголовок 410, в соответствии с сочетанием значения MAC-SA 422 и времени. То есть таблица 104 управления трансляцией является примером механизма, который дает возможность предотвращения скопления даже в случае, где широковещательный кадр, прошедший единожды через внешнюю часть проводной специализированной сети 200, снова возвращается в проводную специализированную сеть 200.
Отметим, что проиллюстрированное выше значение "10 мс" можно изменять подходящим образом в соответствии с вариантами осуществления. Например, подходящее значение может определяться путем выполнения предварительного эксперимента. Подходящее значение меняется в зависимости, например, от частоты, на которой передаются широковещательные кадры, и времени, затраченного кадром для прохождения через устройство (например, L2SW 202), внешнее по отношению к проводной специализированной сети 200, и возврата снова в проводную специализированную сеть 200.
Здесь, возвращаясь к описанию фиг.11А, будет описываться обработка на этапе S216, выполненная в случае, где кадр, отличный от широковещательного кадра, принимается на этапе S202.
На этапе S216 контроллер 133 принятых кадров оценивает, адресован ли кадр, принятый на этапе S202, самому узловому устройству 100. То есть контроллер 133 принятых кадров оценивает, идентичны ли друг другу ID узла самого узлового устройства 100, предварительно считанный из флэш-памяти 119 на этапе S201, и значение GD 411 в специальном кадре 400, принятом на этапе S202.
Если ID узла самого узлового устройства 100 и значение GD 411 идентичны друг другу, то принятый на этапе S202 кадр является кадром, адресованным самому узловому устройству 100, и соответственно обработка переходит к этапу S217. В отличие от этого, если ID узла самого узлового устройства 100 и значение GD 411 не идентичны друг другу, то принятый на этапе S202 кадр не является кадром, адресованным узловому устройству 100, и соответственно обработка переходит к этапу S218 на фиг.11C, чтобы ретранслировать кадр другому узловому устройству.
На этапе S217 выполняется процесс перехода на более высокий уровень. То есть на этапе S217 контроллер 133 принятых кадров выводит кадр в процессор 134 верхнего уровня, и затем процессор 134 верхнего уровня обрабатывает этот кадр. Описанный в соответствии с фиг.5 на этапе S217 кадр выводится из FPGA 113 в MPU 114, и кадр обрабатывается посредством MPU 114. На этапе S217 процессор 134 верхнего уровня обрабатывает данные, включенные в полезную нагрузку принятого кадра в виде пакета 424 L3, и/или выполняет подходящее управление на основе принятого кадра. Затем обработка возвращается к этапу S202.
Между тем, если на этапе S216 оценивается, что кадр, принятый на этапе S202, не является кадром, адресованным самому узловому устройству 100, то обработка переходит к этапу S218 на фиг.11C.
На этапе S218 контроллер 133 принятых кадров оценивает, существует ли в таблице 105 обнаружения петель запись, соответствующая кадру, принятому на этапе S202. То есть контроллер 133 принятых кадров посредством контроллера 136 таблиц проводит поиск в таблице 105 обнаружения петель с использованием в качестве ключей поиска пары значений GS 412 и FID 414 в кадре, принятом на этапе S202.
Если запись, чей источник GSi совпадает со значением GS 412 и чей FIDi совпадает со значением FID 414, обнаруживается в результате поиска (1≤i≤m), то обработка переходит к этапу S219 на фиг.11D. С другой стороны, если вышеупомянутая запись не найдена в результате поиска, то обработка переходит к этапу S230 на фиг.11C.
Отметим, что существует не более одной записи, которая описана выше, даже если она существует.
Этапы S219-S229, проиллюстрированные на фиг.11D, обрабатываются в случае, где одноадресный кадр, ранее переданный самим узловым устройством 100, описывает петлю в проводной специализированной сети, возвращается к узловому устройству 100 и принимается в порту 101-r на этапе S202. Например, на фиг.2B процесс, который идет после возврата 303 по траектории 302 поиска и который выполняется в узловом устройстве 100b, которое принимает кадр от узлового устройства 100a, соответствует фиг.11D.
На этапе S219 переключатель 138 портов распознает порт, из которого принят кадр на этапе S202, в качестве принимающего порта.
Например, когда на этапе S218 обнаруживается запись, контроллер 133 принятых кадров может уведомить переключатель 138 портов об адресе SRAM 116, сообщенном контроллером 136 таблиц в качестве адреса найденной записи. Контроллер 133 принятых кадров затем может дать переключателю 138 портов команду выполнить выбор порта для случая, где обнаруживается петля. В результате переключатель 138 портов может выполнять обработку на этапе S219 и после него.
Например, предположим, что кадр принимается в порту 101-r (1≤r≤x) на этапе S202, что i-я запись в таблице 105 обнаружения петель подходит в качестве результата поиска на этапе S218 и таблица 105 обнаружения петель имеет формат, проиллюстрированный на фиг.1. В этом случае на этапе S219 переключатель 138 портов обновляет номер порта RCVPNi в i-й записи номером порта 101-r.
Впоследствии на этапе S220 переключатель 138 портов меняет состояние порта в состоянии "U" в записи в таблице 105 обнаружения петель, обнаруженной на этапе S218, на состояние "L".
Например, предположим, что i-я запись в таблице 105 обнаружения петель подходит в качестве результата поиска на этапе S218. Поскольку этап S220 является этапом, выполняемым в отношении кадра, разосланного индивидуально, то имеется только одно состояние порта, чьим значением является "U" среди состояний портов LP1i-LPxi в i-й записи. В дальнейшем для удобства описания предположим, что значением состояния порта LPti у порта 101-t (1≤t≤x) является "U".
То есть в случае, где узловое устройство 100 ранее передало из порта 101-t специальный кадр 400, в котором источник GSi устанавливается в GS 412 и в котором такое же значение, как FIDi, устанавливается в FID 414, значением состояния порта LPti является "U" на этапе S220. В этом случае значение состояния порта LPti обновляется с "U" на "L" на этапе S220.
Дополнительно на этапе S221 переключатель 138 портов посредством контроллера 136 таблиц проводит поиск в таблице 103 маршрутизации в отношении записи, соответствующей значению GD 411 в кадре, принятом на этапе S202. В этом варианте осуществления период времени старения (то есть допустимая длительность каждой записи) у таблицы 103 маршрутизации длиннее периода времени старения у таблицы 105 обнаружения петель. Следовательно, гарантируется, что одна запись обязательно подходит на этапе S221 в качестве результата поиска. Поэтому в соответствии с этапом S221 переключателю 138 портов можно получить от контроллера 136 таблиц адрес SRAM 116, соответствующий подходящей записи, и после этого напрямую обратиться к подходящей записи.
Период времени старения у таблицы 103 маршрутизации может быть относительно долгим периодом времени, например длиной в 225 секунд. В отличие от этого предпочтительно установить период времени старения у таблицы 105 обнаружения петель в относительно короткий период времени, например период, который короче одной секунды. Причина в том, что одна запись в таблице 103 маршрутизации соответствует одному узловому устройству в проводной специализированной сети, тогда как одна запись в таблице 105 обнаружения петель соответствует одному специальному кадру 400.
То есть предполагается, что записи добавляются в таблицу 105 обнаружения петель гораздо чаще, чем в таблицу 103 маршрутизации. Соответственно, чтобы предотвратить переполнение из-за чрезмерного увеличения количества записей в таблице 105 обнаружения петель, период времени старения у таблицы 105 обнаружения петель устанавливается в относительно короткий период времени.
Предпочтительно определить подходящее значение для продолжительности периода времени старения у таблицы 105 обнаружения петель с учетом времени, затрачиваемого на петлю в проводной специализированной сети, например, путем выполнения предварительного исследования.
В дальнейшем для удобства описания предположим, что j-я запись в таблице 103 маршрутизации подбирается на этапе S221. То есть предположим, что значение GD 411 в специальном кадре 400, принятом на этапе S202, идентично значению назначения GDj в таблице 103 маршрутизации.
Таким образом, на этапе S222 переключатель 138 портов отражает текущие состояния канала по портам и текущие состояния приостановки в записи в таблице 103 маршрутизации, обнаруженной на этапе S221. То есть на этапе S222 для каждого порта 101-k (1≤k≤x) выполняются следующие операции.
- В случае, где значением состояния приостановки PSk, которое соответствует порту 101-k, в таблице 151 состояний приостановки на фиг.7 является "P", значение состояния RPkj порта 101-k обновляется до "P" в j-й записи, подобранной в таблице 103 маршрутизации. Вместо этого в случае, где текущим значением состояния RPkj порта 101-k является "P" в j-й записи в таблице 103 маршрутизации, а значением состояния приостановки PSk в таблице 151 состояний приостановки является "N", значение состояния RPkj обновляется до "E".
- В случае, где значением состояния канала Lk, которое соответствует порту 101-k, в таблице 152 состояний канала по портам на фиг.8 является "D", значение состояния RPkj порта 101-k обновляется до "D" в j-й записи, подобранной в таблице 103 маршрутизации. Вместо этого в случае, где текущим значением состояния RPkj порта 101-k является "D" в j-й записи в таблице 103 маршрутизации, а значением состояния канала Lk в таблице 152 состояний канала по портам является "C", значение состояния RPkj обновляется до "E".
В этом варианте осуществления операция для отражения содержимого таблицы 152 состояний канала по портам выполняется после операции отражения содержимого таблицы 151 состояний приостановки. Соответственно, состояние канала Lk отражается в таблице 103 маршрутизации с более высоким приоритетом, нежели состояние приостановки PSk. К тому же, как понятно из вышеприведенного описания, таблица 151 состояний приостановки и таблица 152 состояний канала по портам используются в качестве некоторого типа данных для маскировки для таблицы 103 маршрутизации.
Дополнительно на этапе S223 переключатель 138 портов устанавливает порт 101-t, о котором идет речь, в состояние "L" в записи таблицы 103 маршрутизации, обнаруженной на этапе S221. То есть по отношению к порту 101-t, который перешел из состояния "U" в состояние "L" в таблице 105 обнаружения петель на этапе S220, состояние устанавливается в "L" также в таблице 103 маршрутизации на этапе S223. Точнее говоря, значение состояния RPtj порта 101-t обновляется до "L" j-й записи таблицы 103 маршрутизации.
В случае, где узловое устройство 100 принимает кадр, прошедший петлю в проводной специализированной сети и вернувшийся, вышеупомянутые этапы S220-S223 после этого препятствуют передаче кадра, чье назначение идентично назначению вернувшегося кадра, из используемого до настоящего времени порта назначения. То есть узловое устройство 100 узнает порт, вызывающий петлю, и после этого ограничивает передачу до порта, вызывающего петлю. В результате бесполезный трафик сокращается во всей проводной специализированной сети.
Потом на этапе S224 переключатель 138 портов проводит поиск j-й записи в таблице 103 маршрутизации для порта в состоянии "E". То есть переключатель 138 портов ищет порт, который еще не опробован в качестве порта назначения для ретрансляции специального кадра 400 с указанным назначением GDj и который доступен в настоящее время (то есть который не находится в состоянии "P" или "D").
Затем на этапе S225 переключатель 138 портов оценивает, найден ли порт в состоянии "E" в результате поиска на этапе S224. Если он не найден, то обработка переходит к этапу S226. Если найден, то обработка переходит к этапу S227.
На этапе S226 переключатель 138 портов выбирает порт 101-r, который опознан как принимающий порт на этапе S219, в качестве порта назначения. Обработка затем переходит к этапу S229.
Этап S226 выполняется в случае, где пытаются ретранслировать кадр, принятый из порта 101-r на этапе S202, но порт, из которого осуществима передача для ретрансляции, не найден. Точнее говоря, "порт, из которого осуществима передача" означает порт, который не находится в состоянии петли или в нерабочем состоянии линии и который не принял запрос приостановки от соседнего узлового устройства.
То есть этап S226 выполняется в случае, где узловое устройство 100 неспособно перенаправить кадр, принятый на этапе S202, другому соседнему узловому устройству помимо соседнего узлового устройства, подключенного к принимающему порту. Соответственно, чтобы вернуть принятый кадр, узловое устройство 100 устанавливает порт 101-r, из которого принят кадр на этапе S202, в качестве порта назначения.
Узловое устройство 100 посредством возвращения способно сообщить соседнему узловому устройству, подключенному к порту 101-r, что маршрут ретрансляции заканчивается тупиком на узловом устройстве 100. В результате соседнему узловому устройству, которое принимает возвращенный кадр, предоставляется возможность с помощью его таблицы 105 обнаружения петель распознать, что кадр, адресованный назначению GDj, будет петлять, даже если он передается в порт, подключенный к узловому устройству 100.
Например, в примере на фиг.2B предположим, что в узловом устройстве 100b, обнаружившем петлю путем приема кадра, возвращенного от узлового устройства 100a с помощью возврата 303, линия 217 связи к узловому устройству 100e находится в нерабочем состоянии. В этом случае, в отличие от траектории 302 поиска, возврат дополнительно возникает также в узловом устройстве 100b. То есть на этапе S226 узловое устройство 100b в качестве порта назначения выбирает порт 101b-4, который подключается к узловому устройству 100c.
В результате узловое устройство 100c принимает кадр, возвращенный от узлового устройства 100b. Соответственно, узловое устройство 100c распознает, что порт 101c-1, подключенный к узловому устройству 100b, является не подходящим в качестве порта назначения специального кадра 400, в котором ID узла узлового устройства 100g указывается в GD 411. То есть в таблице 103 маршрутизации в узловом устройстве 100c состояние порта 101c-1, ассоциированного с ID узла узлового устройства 100g, устанавливается в "L".
Узловое устройство 100c затем выбирает порт 101c-3, который отличается от порта 101c-1, на этапе S225. Как описано выше, может иметь место случай, где новый маршрут ретрансляции обнаруживается путем многократных повторений возврата в дереве 300 поиска (обратите внимание, в траектории 302 поиска на фиг.2B новый маршрут ретрансляции обнаруживается с помощью только одного случая возврата).
Здесь описание возвращается к продолжению описания этапа S225.
В случае, где на этапе S224 найден/найдены порт/порты в состоянии "E", переключатель 138 портов выбирает любой (например, первый найденный порт) из портов в состоянии "E", найденный на этапе S224, в качестве порта назначения на этапе S227, который идет после этапа S225. Переключатель 138 портов затем устанавливает в "U" состояние рассматриваемого порта, выбранного в качестве порта назначения, в j-й записи таблицы 103 маршрутизации.
Например, предполагая, что порт 101-g (1≤g≤x) выбирается на этапе S227, значение состояния RPgj порта 101-g устанавливается в "U" в j-й записи таблицы 103 маршрутизации, подобранной на этапе S221.
Затем на этапе S228 переключатель 138 портов дополнительно устанавливает рассматриваемый порт в состояние "U" также в таблице 105 обнаружения петель. То есть в i-й записи таблицы 105 обнаружения петель, найденной на этапе S218, значение состояния LPgi порта 101-g, выбранного в качестве порта назначения на этапе S227, устанавливается в "U". Обработка затем переходит к этапу S229.
На этапе S229 кадр передается в порт, выбранный в качестве порта назначения на этапе S226 или S227.
То есть на этапе S229 переключатель 138 портов дает контроллеру 140 кадров передачи команду относительно порта, выбранного в качестве порта назначения, и выводит кадр в контроллер 140 кадров передачи. Затем контроллер 140 кадров передачи формирует новый специальный заголовок 410 путем уменьшения TTL 415 в принятом кадре на единицу и пересчета FCS 417 и выводит специальный кадр 400, включающий в себя новый специальный заголовок 410, в буферный блок 142. Дополнительно контроллер 140 кадров передачи выполняет управление для передачи специального кадра 400, буферизованного в буферном блоке 142, из передающего порта 143-g (то есть порта 101-g), выбранного переключателем 138 портов.
Таким образом, кадр передается из порта 101-g на этапе S229. Потом обработка возвращается к этапу S202.
Как описано выше, в случае, где возникает петля, пробуют другой новый маршрут ретрансляции в соответствии с этапами S227-S229 либо происходит возврат в соответствии с этапами S226 и S229. Отметим, что переключение на новый маршрут ретрансляции в соответствии с этапами S227-S229 выполняется FPGA 113 в узловом устройстве 100 в пределах нескольких микросекунд.
Даже если происходит возврат, переключение маршрута ретрансляции завершается в весьма короткий период времени даже во всей проводной специализированной сети при условии, что количество этапов восходящего прохода дерева 300 поиска посредством возврата небольшое, например, как на траектории 302 поиска на фиг.2B. Таким образом, этот вариант осуществления осуществляет переключение маршрута ретрансляции кадра с весьма высокой скоростью в случае, где возникает петля из-за возникновения отказа или по другой причине.
Здесь, возвращаясь к описанию фиг.11C, будет дано описание процессов на этапах S230-S239 для случая, где запись не найдена при поиске на этапе S218.
На этапе S230 переключатель 138 портов посредством контроллера 136 таблиц проводит поиск в таблице 103 маршрутизации с использованием значения GD 411 в кадре, принятом на этапе S202.
Затем на этапе S231 переключатель 138 портов оценивает, найдена ли запись, ассоциирующая значение GD 411 с состоянием каждого порта, в таблице 103 маршрутизации в результате поиска на этапе S230. Если вышеупомянутая запись не найдена, то обработка переходит к этапу S232. Если вышеупомянутая запись найдена, то обработка переходит к этапу S233. Отметим, что существует не более одной записи, которая описана выше, даже если она обнаруживается.
На этапе S232 переключатель 138 портов регистрирует новую запись в таблице 103 маршрутизации посредством контроллера 136 таблиц. В новой записи значение назначения устанавливается в значение GD 411 в кадре, принятом на этапе S202, и состояние каждого порта 101-1 - 101-x устанавливается в состояние "E". Затем обработка переходит к этапу S233.
В нижеследующем описании в отношении фиг.11C пусть "выделенная запись" будет одной записью, найденной в результате поиска на этапе S230, или записью, вновь зарегистрированной на этапе S232, и предположим, что выделенная запись является f-й записью в таблице 103 маршрутизации.
Описанное в соответствии с примером на фиг.1 неравенство 1≤f≤n выполняется в случае, где выделенная запись обнаруживается на этапе S230, а f=n+1 выполняется в случае, где выделенная запись регистрируется на этапе S232. Переключатель 138 портов в результате этапа S230 или S232 получает адрес выделенной записи в SRAM 116 от контроллера 136 таблиц и, соответственно, способен после этого на прямое обращение к выделенной записи.
На этапе S233 переключатель 138 портов отражает текущие состояния канала по портам и текущие состояния приостановки в выделенной записи в таблице 103 маршрутизации. То есть на этапе S233 для каждого порта 101-k (1≤k≤x) выполняются следующие операции, аналогичные таковым на этапе S222.
- В случае, где значением состояния приостановки PSk, которое соответствует порту 101-k, в таблице 151 состояний приостановки на фиг.7 является "P", значение состояния RPkf порта 101-k обновляется до "P" в f-й записи в таблице 103 маршрутизации. Вместо этого в случае, где текущим значением состояния RPkf порта 101-k является "P" в f-й записи в таблице 103 маршрутизации, а значением состояния приостановки PSk в таблице 151 состояний приостановки является "N", значение состояния RPkf обновляется до "E".
- В случае, где значением состояния канала Lk, которое соответствует порту 101-k, в таблице 152 состояний канала по портам на фиг.8 является "D", значение состояния RPkf порта 101-k обновляется до "D" в f-й записи в таблице 103 маршрутизации. Вместо этого в случае, где текущим значением состояния RPkf порта 101-k является "D" в f-й записи в таблице 103 маршрутизации, а значением состояния канала Lk в таблице 152 состояний канала по портам является "C", значение состояния RPkf обновляется до "E".
Дополнительно на этапе S234 переключатель 138 портов обращается к выделенной записи в таблице 103 маршрутизации. Переключатель 138 портов затем выбирает в качестве порта назначения один из портов, который отличается от порта 101-r (1≤r≤x), из которого принят кадр на этапе S202, и который находится в состоянии, отличном от состояний "L", "P" и "D". Отметим, что состоянием, отличным от состояний "L", "P" и "D", является состояние "E" или состояние "U".
В этом варианте осуществления переключатель 138 портов выбирает порт в состоянии "U" предпочтительнее, чем порт в состоянии "E" на этапе S234. Причина в том, что порт в состоянии "U" ранее и фактически был использован в качестве порта назначения, и на этапе S218 подтверждается, что он не вызывает петлю, и посредством этого устанавливается его надежность.
Этап S234 выполняется в случае, где кадр, принятый на этапе S202, является одноадресным кадром. Соответственно, в выделенной записи существует не более одного порта в состоянии "U", даже если он существует.
В случае, где переключатель 138 портов выбирает порт в состоянии "E" на этапе S234 и в выделенной записи существует множество портов в состоянии "E", переключатель 138 портов может выбрать, например, первый найденный порт в состоянии "E".
Однако существует вероятность того, что отсутствует порт, который удовлетворяет условию, что он отличается от порта 101-r и его состояние в выделенной записи устанавливается в "E" или "U".
Таким образом, на этапе S235 переключатель 138 портов оценивает, имеется ли порт назначения, выбранный на этапе S234. Если имеется порт назначения, выбранный на этапе S234, то обработка переходит к этапу S236. Если порт назначения не найден на этапе S234, то обработка переходит к этапу S238.
На этапе S236 переключатель 138 портов обновляет состояние порта назначения в выделенной записи в таблице 103 маршрутизации до состояния "U". Например, в случае, где порт 101-e (1≤e≤x) выбирается в качестве порта назначения на этапе S234, значение состояния RPef устанавливается в "U" на этапе S236.
Затем на этапе S237 переключатель 138 портов дополнительно регистрирует новую запись в таблице 105 обнаружения петель посредством контроллера 136 таблиц. Предполагая, что новой записью является (m+1)-я запись, содержимое каждого поля в новой записи выглядит следующим образом.
- Источник GSm+1 устанавливается в значение GS 412 в кадре, принятом на этапе S202.
- FIDm+1 устанавливается в значение FID 414 в кадре, принятом на этапе S202.
- Номер принимающего порта RCVPNm+1 устанавливается в номер (то есть "r") порта 101-r, из которого принят кадр на этапе S202.
- Состояние LPe(m+1), соответствующее порту 101-e, устанавливается в "U", и все состояния, соответствующие другим портам, устанавливаются в "E".
После того как новая запись, которая описана выше, добавляется в таблицу 105 обнаружения петель на этапе S237, обработка переходит к этапу S239.
С другой стороны, в случае, где порт назначения не получается на этапе S234, переключатель 138 портов выбирает порт 101-r, из которого принят кадр на этапе S202, в качестве порта назначения на этапе S238. То есть этап S238 является этапом, аналогичным этапу S226 на фиг.11D. Порт 101-r выбирается на этапе S238 в качестве порта для возвращения кадра, чтобы предоставить уведомление, что попытка ретранслировать кадр, принятый из порта 101-r на этапе S202, приводит к неуспеху в обнаружении порта, из которого осуществима передача для ретрансляции. Обработка затем переходит к этапу S239.
На этапе S239 кадр передается в порт, выбранный в качестве порта назначения на этапе S234 или S238. Поскольку процесс на этапе S239 аналогичен таковому на этапе S229 на фиг.11D, его подробное описание пропускается. После передачи кадра обработка возвращается к этапу S202.
Хотя пояснение на фиг.11А-11D пропускается для простоты описания, в некоторых случаях узловое устройство 100 может отбросить кадр в процессе маршрутизации на основе значения TTL 415. То есть в случае, где значение TTL 415 в кадре, принятом на этапе S202, равно единице, процессы выполняются, например, следующим образом.
- Контроллер 140 кадров передачи отбрасывает кадр на этапе S213 на фиг.11B, этапы S214 и S215 пропускаются, и обработка возвращается к этапу S202.
- Этапы S225-S229 на фиг.11D пропускаются.
- Этапы S230-S239 на фиг.11C пропускаются.
Хотя фиг.11А-11D иллюстрируют обработку в отношении кадра, принятого в любом из портов 101-1 - 101-x проводной специализированной сети на фиг.5, узловое устройство 100 также выполняет процесс в отношении кадра, принятого в обычном порту 106 LAN. Узловое устройство 100 дополнительно выполняет процесс в отношении кадра, сформированного MPU 114 в самом узловом устройстве 100.
Точнее говоря, в случае, где кадр 420 Ethernet принимается в обычном порте 106 LAN, кадр 420 Ethernet выводится в MPU 114 или FPGA 113 в соответствии с его MAC-DA 421. Кадр 420 Ethernet, адресованный самому узловому устройству 100, обрабатывается посредством MPU 114.
В отличие от этого кадр 420 Ethernet, адресованный другому узловому устройству, посредством FPGA 113 снабжается специальным заголовком 410 и передается из любого из портов 101-1 - 101-x проводной специализированной сети. В этом случае, как и в случае этапа S237 на фиг.11C, запись также добавляется в таблицу 105 обнаружения петель. В случае, где широковещательный кадр принимается в обычном порту 106 LAN, FPGA 113 может установить в типе 413 в специальном заголовке 410 определенное значение, которое представляет транслирование от внешнего устройства.
В случае, где MPU 114 формирует кадр 420 Ethernet, любой из следующих процессов выполняется над кадром 420 Ethernet в соответствии с его MAC-DA 421.
- Кадр 420 Ethernet передается из обычного порта 106 LAN через порт 114b внутреннего соединения, микросхему 120 PHY и блок 112 L2SW.
- Кадр 420 Ethernet выводится в FPGA 113, снабжается специальным заголовком 410 и передается из любого из портов 101-1 - 101-x проводной специализированной сети. В этом случае, как и в случае этапа S237 на фиг.11C, запись также добавляется в таблицу 105 обнаружения петель. В случае, где MPU 114 формирует широковещательный кадр, FPGA 113 может установить в типе 413 в специальном заголовке 410 определенное значение, которое представляет транслирование от MPU 114.
Далее различные процессы, выполняемые независимо от обработки на фиг.11А-11D, будут описываться со ссылкой на фиг.12-20.
Фиг.12 - алгоритмическая блок-схема, которая объясняет старение таблицы маршрутизации. Обработка на фиг.12 выполняется для каждой записи в таблице 103 маршрутизации, например, в заранее установленные равные интервалы. В дальнейшем при описании фиг.12 некоторая запись в таблице 103 маршрутизации называется "выделенной записью" для удобства. Описанное является случаем, где обработка на фиг.12 выполняется над выделенной записью.
На этапе S301 контроллер 136 таблиц вычисляет разность, полученную путем вычитания значения таймера выделенной записи из текущего значения таймера 139 в узловом устройстве 100.
В этом варианте осуществления реализуются таймеры, соответствующие соответствующим записям в таблице 103 маршрутизации. Например, аппаратные таймеры, соответствующие соответствующим записям, могут быть реализованы на FPGA 113. В некоторых вариантах осуществления каждая запись в таблице 103 маршрутизации вместо этого может включать в себя поле, представляющее время создания записи. В этом случае на этапе S301 вычисляется разность путем вычитания значения поля, представляющего время создания записи у выделенной записи, из текущего значения таймера 139 в узловом устройстве 100.
Далее на этапе S302 контроллер 136 таблиц оценивает, больше или равен вычисленный результат, полученный на этапе S301, заранее установленному периоду времени старения у таблицы 103 маршрутизации. Если разность, полученная на этапе S301, короче вышеупомянутого периода времени старения, то обработка на фиг.12 прекращается.
С другой стороны, если разность, полученная на этапе S301, больше либо равна вышеупомянутому периоду времени старения, то контроллер 136 таблиц удаляет выделенную запись из таблицы 103 маршрутизации на этапе S303 и прекращает обработку на фиг.12.
Фиг.13 - алгоритмическая блок-схема, которая объясняет установку таймера у записи в таблице маршрутизации. Обработка на фиг.13 выполняется в следующих случаях.
- В случае, где выполняется доступ для обновления содержимого некоторой записи в таблице 103 маршрутизации (например, на этапе S233 или S236 на фиг.11C или на этапах S222, S223 или S227 на фиг.11D), обработка на фиг.13 выполняется над вызванной записью.
- В случае, где новая запись добавляется в таблицу 103 маршрутизации (например, на этапе S232 на фиг.11C), обработка на фиг.13 выполняется над новой записью.
- В случае, где производится поиск по таблице 103 маршрутизации и в результате поиска обнаруживается подходящая запись (например, на этапе S230 на фиг.11C или на этапе S221 на фиг.11D), обработка на фиг.13 выполняется над подходящей записью.
Ниже, обобщая для удобства три вышеприведенных случая, запись в качестве целевого объекта, над которым выполняется обработка на фиг.13, называется "выделенной записью".
На этапе S401 контроллер 136 таблиц устанавливает таймер (например, аппаратный таймер, проиллюстрированный в отношении фиг.12) у выделенной записи в текущее значение таймера 139 в узловом устройстве 100. Затем обработка на фиг.13 прекращается. В вариантах осуществления, где таблица 103 маршрутизации включает в себя поле, представляющее время создания записи, на этапе S401 поле, представляющее время создания записи, устанавливается в текущее значение таймера 139.
Вышеупомянутая обработка на фиг.12 и 13 реализует старение каждой записи в таблице 103 маршрутизации. Хотя и не проиллюстрировано на чертежах, контроллер 136 таблиц и таймер 139 совместно выполняют процесс старения также над таблицей 104 управления трансляцией посредством обработки, аналогичной таковой на фиг.12 и 13.
Фиг.14 - алгоритмическая блок-схема, которая объясняет старение таблицы обнаружения петель. Обработка на фиг.14 выполняется для каждой записи в таблице 105 обнаружения петель, например, в заранее установленные равные интервалы. В дальнейшем при описании фиг.14 некоторая запись в таблице 105 обнаружения петель называется "выделенной записью" для удобства. Описанное является случаем, где обработка на фиг.14 выполняется над выделенной записью.
На этапе S501 контроллер 136 таблиц вычисляет разность, полученную путем вычитания значения таймера выделенной записи из текущего значения таймера 139 в узловом устройстве 100. В этом варианте осуществления таймеры, соответствующие соответствующим записям, также реализуются по отношению к таблице 105 обнаружения петель, как и в случае таблицы 103 маршрутизации. Само собой разумеется, что в некоторых вариантах осуществления каждая запись в таблице 105 обнаружения петель может включать в себя поле, представляющее время создания записи.
Далее на этапе S502 контроллер 136 таблиц оценивает, больше или равен вычисленный результат, полученный на этапе S501, заранее установленному периоду времени старения у таблицы 105 обнаружения петель. Если разность, полученная на этапе S501, короче вышеупомянутого периода времени старения, то обработка на фиг.14 прекращается.
С другой стороны, если разность, полученная на этапе S501, больше либо равна вышеупомянутому периоду времени старения, то контроллер 136 таблиц удаляет выделенную запись из таблицы 105 обнаружения петель на этапе S503 и прекращает обработку на фиг.14.
Фиг.15 - алгоритмическая блок-схема, которая объясняет установку таймера у записи в таблице обнаружения петель. В отличие от таблицы 103 маршрутизации каждая запись в таблице 105 обнаружения петель удаляется, когда истек заданный период времени после ее создания, независимо от того, обращались к ней или нет. Соответственно, обработка на фиг.15 выполняется над новой записью, когда эта новая запись добавляется в таблицу 105 обнаружения петель на этапе S215 на фиг.11B или на этапе S237 на фиг.11C. Другими словами, обработка на фиг.15 выполняется вместе с передачей кадра (точнее говоря, непосредственно после того, как кадр передается на этапе S213 на фиг.11B, или непосредственно перед тем, как кадр передается на этапе S239 на фиг.11C), пользуясь возможностью процесса передачи кадра.
Точнее говоря, на этапе S601 контроллер 136 таблиц устанавливает таймер (например, аппаратный таймер) у новой записи, добавленной в таблицу 105 обнаружения петель, в текущее значение таймера 139 в узловом устройстве 100. Затем обработка на фиг.15 прекращается. В вариантах осуществления, где таблица 105 обнаружения петель включает в себя поле, представляющее время создания записи, на этапе S601 поле, представляющее время создания записи, устанавливается в текущее значение таймера 139.
Вышеупомянутая обработка на фиг.14 и 15 реализует старение каждой записи в таблице 105 обнаружения петель.
Фиг.16 - алгоритмическая блок-схема процесса отмены состояния приостановки. Обработка на фиг.16 является обработкой для отмены состояния "P", установленного на этапе S206 на фиг.11А. Обработка на фиг.16 выполняется для каждого порта, например, в заранее установленные равные интервалы. Ниже в описании фиг.16 некоторый порт 101-i (1≤i≤x) называется "выделенным портом"; и описанное является случаем, где обработка на фиг.16 выполняется над выделенным портом 101-i.
На этапе S701 контроллер 136 таблиц обращается к таблице 151 состояний приостановки на фиг.7 и оценивает, равно ли "P" значение состояния приостановки PSi, соответствующее выделенному порту 101-i. Если значение состояния приостановки PSi, соответствующее выделенному порту 101-i, не равно "P", а равно "N", то обработка на фиг.16 прекращается.
С другой стороны, если значение состояния приостановки PSi, соответствующее выделенному порту 101-i, равно "P", то контроллер 136 таблиц на этапе S702 отсчитывает в обратном порядке счетчик Counti в записи, соответствующей выделенному порту 101-i в таблице 151 состояний приостановки.
Далее на этапе S703 контроллер 136 таблиц оценивает, стало ли нулем значение счетчика Counti в результате обратного отсчета на этапе S702. Если значение счетчика Counti не стало нулем, обработка на фиг.16 прекращается.
С другой стороны, если значение счетчика Counti стало нулем, то контроллер 136 таблиц на этапе S704 отменяет состояние "P" в записи, соответствующей выделенному порту 101-i в таблице 151 состояний приостановки. То есть контроллер 136 таблиц устанавливает в "N" состояние приостановки PSi у записи, соответствующей выделенному порту 101-i. Затем обработка на фиг.16 прекращается.
После того как отменено состояние приостановки на этапе S704, содержимое таблицы 151 состояний приостановки отражается в таблице 103 маршрутизации на этапе S233 на фиг.11C или на этапе S222 на фиг.11D.
Как проиллюстрировано на фиг.7, таблица 151 состояний приостановки может включать в себя поле "счетчик". Вместо этого аппаратный таймер может осуществлять обратный отсчет у каждой записи в таблице 151 состояний приостановки.
Вместо этого таблица 151 состояний приостановки может включать в себя поле "предполагаемое время возвращения", представляющее предполагаемое время возвращения из состояния "P", вместо поля "счетчик". На этапе S206 на фиг.11А время, полученное путем добавления периода времени, указанного в кадре приостановки, ко времени, в которое выполняется этап S206, может вычисляться контроллером 136 таблиц и может записываться в поле "предполагаемое время возвращения". К тому же, обработку на фиг.16 можно изменить так, что вместо оценки на этапе S703 выполняется этап S704 в случае, где текущее время таймера 139 является временем после значения поля предполагаемого времени возвращения.
Фиг.17 - алгоритмическая блок-схема, которая объясняет процесс управления приостановкой, выполняемый узловым устройством на самом узловом устройстве. Например, обработка на фиг.17 может выполняться в заранее установленные равные интервалы.
На этапе S801 монитор 137 портов обращается к значению состояния приостановки SS в данных 154 управления состояниями приостановки на фиг.10 и оценивает, находится ли само узловое устройство 100 в состоянии приостановки. Если значением состояния приостановки SS является "P", то обработка переходит к этапу S804. Если значением состояния приостановки SS является "N", то обработка переходит к этапу S802.
На этапе S802 монитор 137 портов оценивает, находится ли само узловое устройство 100 в состоянии занятости. Например, если процентное отношение использования буферного блока 142 превышает заданную пороговую величину, то монитор 137 портов считает, что узловое устройство 100 находится в состоянии занятости, и обработка переходит к этапу S803. В отличие от этого, если процентное отношение использования буферного блока 142 меньше либо равно пороговой величине, то монитор 137 портов считает, что узловое устройство 100 не находится в состоянии занятости, и прекращает обработку на фиг.17.
На этапе S803 выполняется процесс передачи кадра приостановки для начала приостановки. Хотя подробное описание будет сделано позже со ссылкой на фиг.18, процесс на этапе S803 является процессом для вывода запросов приостановки соседним узловым устройствам. После выполнения этапа S803 обработка на фиг.17 прекращается.
Между тем, в случае, где значением состояния приостановки SS является "P" на этапе S801, монитор 137 портов на этапе S804 оценивает, находится ли узловое устройство 100 в состоянии занятости, в соответствии со способом, аналогичным этапу S802. Если монитор 137 портов оценивает, что само узловое устройство 100 находится в состоянии занятости, то обработка переходит к этапу S806. В отличие от этого, если монитор 137 портов оценивает, что само узловое устройство 100 не находится в состоянии занятости, то обработка переходит к этапу S805.
На этапе S805 выполняется процесс передачи кадра приостановки для отмены приостановки. Хотя подробное описание будет сделано позже со ссылкой на фиг.19, процесс на этапе S805 является процессом для выдачи соседним узловым устройствам уведомлений для отмены запросов приостановки, ранее выданных соседним узловым устройствам. После выполнения этапа S805 обработка на фиг.17 прекращается.
На этапе S806 монитор 137 портов сравнивает разность между текущим значением таймера 139 и временем начала приостановки StartTime в данных 154 управления состояниями приостановки со счетчиком SCount в данных 154 управления состояниями приостановки.
Затем на этапе S807 монитор 137 портов оценивает, достигла ли уже вышеупомянутая разность значения счетчика SCount в данных 154 управления состояниями приостановки.
Если вышеупомянутая разность уже достигла значения счетчика SCount, то это означает, что узловое устройство 100 по-прежнему неспособно само вернуться из состояния занятости, хотя уже истек период времени, запрошенный узловым устройством 100 у соседних узловых устройств в предыдущих запросах приостановки. Соответственно, в этом случае обработка переходит к этапу S808.
В отличие от этого, если вышеупомянутая разность меньше значения счетчика SCount, то это означает, что еще не истек период времени, запрошенный узловым устройством 100 у соседних узловых устройств в предыдущих запросах приостановки. Соответственно, обработка на фиг.17 прекращается.
На этапе S808 выполняется процесс передачи кадра приостановки для начала приостановки. Хотя подробное описание будет сделано позже со ссылкой на фиг.18, процесс на этапе S808 является процессом для вывода запросов продления приостановки соседним узловым устройствам. После выполнения этапа S808 обработка на фиг.17 прекращается.
Фиг.18 - алгоритмическая блок-схема процесса начала приостановки. Процесс из фиг.18 вызывается из этапа S803 или S808 на фиг.17.
На этапе S901 монитор 137 портов устанавливает текущее значение таймера 139 (то есть текущее время в момент, когда выполняется этап S901) во время начала приостановки StartTime в данных 154 управления состояниями приостановки на фиг.10.
Затем на этапе S902 монитор 137 портов формирует кадр приостановки. Как описано выше, кадр приостановки является типом специальных кадров со специальным заголовком 410 и включает в себя вместо кадра 420 Ethernet одно или несколько полей, включающих в себя по меньшей мере счетчик приостановки после специального заголовка 410.
В этом варианте осуществления, например, в специальном заголовке 410 монитор 137 портов устанавливает GD 411 в специальное значение, представляющее транслирование, устанавливает GS 412 в ID узла самого узлового устройства 100 и устанавливает тип 413 в значение, представляющее кадр приостановки. К тому же монитор 137 портов устанавливает FID 414 во вновь сформированный FID и устанавливает TTL 415 в заданное значение. Поскольку кадр приостановки адресован соседним узловым устройствам, установленное в TTL 415 значение может быть равно единице.
В этом варианте осуществления кадр приостановки имеет формат, в котором данные фиксированной длины идут после специального заголовка 410. Соответственно, длина 416 устанавливается в значение фиксированной длины, которая устанавливается заранее. Монитор 137 портов затем вычисляет FCS 417 в соответствии со значениями от GD 411 до длины 416.
Затем на этапе S903 монитор 137 портов определяет значение счетчика приостановки в соответствии с положением занятости самого узлового устройства 100. Например, монитор 137 портов может определить значение счетчика приостановки в соответствии с процентным отношением использования буферного блока 142.
Здесь "значение счетчика приостановки" является значением, представляющим продолжительность периода времени, который нужно запросить узловому устройству 100 у соседних узловых устройств, чтобы прекратить передачу кадров. Другими словами, "значение счетчика приостановки" является значением, представляющим продолжительность периода времени, в течение которого любое узловое устройство рядом с узловым устройством 100 поддерживает состояние приостановки (то есть состояние "P") у порта, который подключен к узловому устройству 100. В некоторых вариантах осуществления монитор 137 портов может использовать в качестве значения счетчика приостановки заранее установленное постоянное значение независимо от положения занятости узлового устройства 100.
На этапе S903 монитор 137 портов дополнительно устанавливает счетчик SCount в данных 154 управления состояниями приостановки в значение счетчика приостановки, определенное, как описано выше.
Затем на этапе S904 монитор 137 портов устанавливает счетчик приостановки в кадре приостановки в значение счетчика приостановки, которое определено на этапе S903.
В конечном счете на этапе S905 монитор 137 портов побуждает переключатель 138 портов выбрать порт/порты, из которого/которых осуществима передача кадра приостановки, и выводит кадр приостановки в контроллер 140 кадров передачи. Между тем, переключатель 138 портов уведомляет контроллер 140 кадров передачи о результате выбора. В результате контроллер 140 кадров передачи передает кадр приостановки из каждого порта, выбранного переключателем 138 портов.
Точнее говоря, в этом варианте осуществления переключатель 138 портов обращается к таблице 152 состояний канала по портам на фиг.8 и выбирает порт/порты в подключенном состоянии (то есть в состоянии "C") в качестве "порта/портов, из которого/которых осуществима передача кадра приостановки". В некоторых вариантах осуществления переключатель 138 портов может выбрать порт/порты, который/которые находится/находятся в состоянии "C", в таблице 152 состояний канала по портам на фиг.8, и который/которые находится/находятся в нормальном состоянии (то есть в состоянии "N"), которое не является состоянием приостановки, в таблице 151 состояний приостановки на фиг.7.
Как проиллюстрировано на фиг.6, в этом варианте осуществления монитор 137 портов реализуется с помощью FPGA 113. Соответственно, кадр приостановки формируется FPGA 113 на этапе S902 на фиг.18. Поэтому по сравнению со случаем, где MPU 114 формирует кадр приостановки в соответствии с программным обеспечением, этот вариант осуществления позволяет формировать кадр приостановки за более короткий период времени.
Сокращение периода времени, необходимого для формирования кадра приостановки, ведет к сокращению периода времени от момента, когда узловое устройство 100 входит в состояние занятости, до момента, когда состояния портов, которые подключаются к узловому устройству 100, устанавливаются в "P" в соседних узловых устройствах, и посредством этого переключается/переключаются маршрут/маршруты ретрансляции кадра/кадров. То есть в соответствии с этим вариантом осуществления сокращается период времени, необходимый для переключения маршрута ретрансляции во всей проводной специализированной сети, потому что FPGA 113 формирует кадр приостановки.
Событие, когда узловое устройство 100 входит в состояние занятости и выдает запросы приостановки, также в широком смысле рассматривается в качестве возникновения сбоя с точки зрения всей проводной специализированной сети. Однако, как описано выше, этот вариант осуществления позволяет быстрое переключение на альтернативный маршрут. Соответственно, проводная специализированная сеть из этого варианта осуществления является отказоустойчивой сетью, предпочтительно применимой к ответственной системе, в которой нужно быстрое переключение маршрута ретрансляции, когда происходит сбой.
Фиг.19 - алгоритмическая блок-схема процесса отмены приостановки. Обработка на фиг.19 вызывается из этапа S805 на фиг.17.
На этапе S1001 монитор 137 портов сбрасывает время начала приостановки StartTime в данных 154 управления состояниями приостановки на фиг.10. Например, монитор 137 портов может установить время начала приостановки StartTime в специальное значение, которое является недопустимым в качестве времени, посредством этого сбрасывая время начала приостановки StartTime.
Затем на этапе S1002 монитор 137 портов формирует кадр приостановки аналогично этапу S902 на фиг.18.
Потом на этапе S1003 монитор 137 портов сбрасывает счетчик SCount в данных 154 управления состояниями приостановки. Например, монитор 137 портов может установить счетчик SCount в ноль, посредством этого сбрасывая счетчик SCount.
Затем на этапе S1004 монитор 137 портов устанавливает в ноль счетчик приостановки в кадре приостановки. Кадр приостановки, чей счетчик приостановки устанавливается в ноль, предназначен для выдачи уведомления, чтобы отменить состояние приостановки.
Затем на этапе S1005 выполняется процесс, аналогичный таковому на этапе S905 на фиг.18.
Точнее говоря, монитор 137 портов побуждает переключатель 138 портов выбрать порт/порты, из которого/которых осуществима передача кадра приостановки, и выводит кадр приостановки в контроллер 140 кадров передачи. Между тем, переключатель 138 портов в качестве результата выбора уведомляет контроллер 140 кадров передачи, например, о порте/портах в состоянии "C". Вместо этого переключатель 138 портов может выбрать порт/порты, который/которые находится/находятся в состоянии "C" и который/которые также находится/находятся в состоянии "N".
В результате контроллер 140 кадров передачи передает кадр приостановки из каждого порта, выбранного переключателем 138 портов.
Фиг.20 - алгоритмическая блок-схема процесса мониторинга портов. Процесс мониторинга портов выполняется для каждого из портов 101-1 - 101-x. Ниже будет приведено описание с использованием примера случая, где процесс мониторинга портов выполняется над портом 101-i (1≤i≤x).
На этапе S1101 монитор 137 портов оценивает, находится ли порт 101-i в подключенном состоянии. Например, монитор 137 портов на этапе S1101 производит оценку на основе вывода из микросхемы 111-i PHY, указывающую, находится ли кабель, подключенный к порту 101-i, в состоянии возможности связи или в нерабочем состоянии.
Если кабель, подключенный к порту 101-i, находится в состоянии возможности связи и порт 101-i находится в состоянии фактически подключенного к соседнему узловому устройству посредством кабеля, то обработка переходит к этапу S1102. С другой стороны, если кабель, подключенный к порту 101-i, находится в нерабочем состоянии, то обработка переходит к этапу S1103.
На этапе S1102 монитор 137 портов посредством контроллера 136 таблиц устанавливает состояние канала Li порта 101-i в состояние "C" в таблице 152 состояний канала по портам на фиг.8. Обработка затем возвращается к этапу S1101.
Между тем, на этапе S1103 монитор 137 портов посредством контроллера 136 таблиц устанавливает состояние канала Li порта 101-i в состояние "D" в таблице 152 состояний канала по портам на фиг.8. Обработка затем возвращается к этапу S1101.
Как описано выше, процесс мониторинга портов на фиг.20 выполняется многократно в заданном цикле.
Между тем, этот вариант осуществления, описанный соответственно со ссылкой на фиг.1-20, обобщается следующим образом.
Узловое устройство 100 из вышеупомянутого варианта осуществления используется в качестве первого узлового устройства в сети, включающей в себя множество узловых устройств, включающего в себя это первое узловое устройство и второе узловое устройство, которые соединяются проводным образом. Конкретным примером вышеупомянутой сети является проводная специализированная сеть 200 на фиг.2А.
Как проиллюстрировано на фиг.1 и 5, первое узловое устройство включает в себя множество портов 101-1 - 101-x. Каждый порт является портом для подключения проводным образом первого узлового устройства к другому узловому устройству, отличному от первого узлового устройства, среди множества узловых устройств.
Узловое устройство 100 в качестве первого узлового устройства также включает в себя таблицу 105 обнаружения петель в качестве конкретного примера средства хранения информации обнаружения петель для хранения информации обнаружения петель. Ниже для удобства описания кадр, который ранее был передан узловым устройством 100 и который соответствует i-й записи (1≤i≤m), называется "первым кадром".
Состояния портов LP1i-LPxi предоставляют пример информации распознавания порта назначения для распознавания среди множества портов первого порта, который является портом назначения для случая, где узловое устройство 100 передало первый кадр. То есть состояния LP1i-LPxi соответствующих портов 101-1 - 101-x служат в целом в качестве информации для распознавания, какой порт является портом в состоянии "U". Точнее говоря, порт в состоянии "U" в i-й записи является вышеописанным первым портом.
Пара из источника GSi и FIDi является примером первой идентификационной информации для однозначной идентификации первого кадра. Таким образом, данные в i-й записи таблицы 105 обнаружения петель являются примером информации обнаружения петель, которая связывает друг с другом информацию распознавания порта назначения и первую идентификационную информацию.
Первой идентификационной информацией в этом варианте осуществления является пара из источника GSi, который является идентифицирующей узловое устройство информацией (точнее говоря, ID узла), и FIDi, являющегося FID, который является примером идентифицирующей кадр информации для однозначной идентификации каждого из множества кадров, переданных узловым устройством-источником, служащим в качестве источника. Однако, поскольку таблица 105 обнаружения петель предназначена для обнаружения кадра, который совершил петлю, очевидно, что любая порция идентификационной информации, допускающая однозначную идентификацию кадра, используется вместо пары из ID узла и FID.
Между тем, таблица 103 маршрутизации является примером средства хранения информации маршрутизации для хранения информации маршрутизации. Информация маршрутизации ассоциирует с каждым из множества узловых устройств информацию о состоянии, которая является информацией для указания, осуществима ли передача кадров из каждого из множества портов 101-1 - 101-x узлового устройства 100 в качестве первого узлового устройства.
Например, фокусируясь на j-й записи (1≤j≤n) в таблице 103 маршрутизации, состояния RP1j-RPxj, служащие в качестве конкретного примера информации о состоянии, ассоциируются с некоторым узловым устройством среди множества узловых устройств, идентифицированным ID узла, являющимся назначением GDj. Здесь состояния RP1j-RPxj представляют осуществимости передачи кадров из соответствующих портов 101-1 - 101-x. Точнее говоря, состояния "U" и "E" представляют "передаваемый", а состояния "L", "D" и "P" представляют "непередаваемый".
Узловое устройство 100 в качестве вышеописанного первого узлового устройства включает в себя приемный блок 131 на фиг.6, который функционирует в качестве средства приема для приема второго кадра от вышеописанного второго узлового устройства, которое является соседним узловым устройством. Конкретным примером второй идентификационной информации для однозначной идентификации второго кадра является пара из значений GS 412 и FID 414, включенных во второй кадр.
Между тем, подсистема 102 маршрутизации, включенная в узловое устройство 100, также функционирует в качестве средства обновления информации маршрутизации для выполнения следующей обработки. Другими словами, FPGA 113, служащая в качестве контроллера 136 таблиц и переключателя 138 портов, является конкретным примером средства обновления информации маршрутизации.
FPGA 113 в качестве средства обновления информации маршрутизации обновляет информацию о состоянии, когда вторая идентификационная информация идентична первой идентификационной информации (точнее говоря, когда подбирается запись в таблице 105 обнаружения петель).
То есть информация о состоянии, ассоциированная с помощью информации маршрутизации с узловым устройством назначения, которое является назначением второго кадра, обновляется для того, чтобы указать, что передача кадров из первого порта неосуществима. Точнее говоря, в этом варианте осуществления на этапе S223 на фиг.11D состояние, соответствующее первому порту, обновляется до "L" в записи, которая находится в таблице 103 маршрутизации и которая соответствует узловому устройству назначения, и посредством этого указывается, что передача кадров из первого порта неосуществима.
К тому же, узловое устройство 100 включает в себя переключатель 138 портов, контроллер 140 кадров передачи и передающий блок 141, которые функционируют в качестве средства передачи. Эти элементы, функционирующие в качестве средства передачи, выполняют процесс выбора второго порта, из которого осуществима передача второго кадра, в соответствии с информацией о состоянии, ассоциированной с помощью информации маршрутизации с узловым устройством назначения, и передачи второго кадра из второго порта. В этом варианте осуществления второй порт выбирается следующим образом.
- В случае, где вторая идентификационная информация не идентична первой идентификационной информации (то есть в случае, где не обнаруживается никакой петли), порт в состоянии "U" или "E" в записи, которая находится в таблице 103 маршрутизации и которая соответствует узловому устройству назначения, выбирается в качестве второго порта. Как и в случае этого варианта осуществления, с учетом скорости, с которой сходится маршрут во всей сети, порт в состоянии "U" может предпочтительно выбираться на этапе S234.
- В отличие от этого в случае, где вторая идентификационная информация идентична первой идентификационной информации (то есть в случае, где обнаруживается петля), порт в состоянии "E" в записи, которая подбирается в таблице 103 маршрутизации и которая соответствует узловому устройству назначения, выбирается в качестве второго порта.
Между тем, монитор 137 портов, включенный в узловое устройство 100, функционирует в качестве средства мониторинга нерабочей линии для мониторинга, находится ли множество портов в нерабочем состоянии, а также функционирует в качестве средства мониторинга нагрузки для мониторинга нагрузки на первое узловое устройство. Нагрузка измеряется, например, процентным отношением использования буферного блока 142.
Когда приемный блок 131 в качестве средства приема принимает второй кадр, переключатель 138 портов в качестве средства обновления информации маршрутизации обновляет информацию о состоянии следующим образом, а именно переключатель 138 портов обновляет информацию о состоянии, ассоциированную с помощью информации маршрутизации с узловым устройством назначения, чтобы указать, что передача кадров из порта, оцененного как находящегося в нерабочем состоянии, неосуществима. В этом варианте осуществления, как проиллюстрировано на этапах S222 и S233, состояние "D" указывает, что передача кадров неосуществима.
Между тем, если нагрузка, контролируемая монитором 137 портов, превышает заранее установленный критерий, то первый кадр приостановки формируется монитором 137 портов и передается соседнему узловому устройству/устройствам с помощью контроллера 140 кадров передачи и передающего блока 141, которые служат в качестве средства передачи, как проиллюстрировано на этапе S803.
Также имеется случай, где приемный блок 131 в качестве средства приема принимает вышеописанный второй кадр от вышеописанного второго узлового устройства (то есть одного из соседних узловых устройств) после приема второго кадра приостановки от одного из соседних узловых устройств.
В этом случае переключатель 138 портов в качестве средства обновления информации маршрутизации обновляет информацию о состоянии, как проиллюстрировано на этапах S222 и S233. То есть переключатель 138 портов обновляет информацию о состоянии, ассоциированную с помощью информации маршрутизации с узловым устройством назначения, чтобы указать, что передача кадров из третьего порта, который подключается к запрашивающему приостановку узловому устройству, являющемуся источником второго кадра приостановки, неосуществима. Точнее говоря, в этом варианте осуществления состояние "P" указывает, что передача кадров неосуществима.
Также имеется случай, где переключатель 138 портов в качестве средства передачи оценивает, что отсутствует порт, из которого осуществима передача второго кадра, в соответствии с информацией о состоянии, ассоциированной с помощью информации маршрутизации с узловым устройством назначения. В этом случае второй кадр возвращается ко второму узловому устройству с помощью переключателя 138 портов, контроллера 140 кадров передачи и передающего блока 141, которые служат в качестве средства передачи.
Между тем, таблица 104 управления трансляцией является конкретным примером средства хранения информации управления трансляцией. Таблица 104 управления трансляцией хранит в связи с MAC-адресом, являющимся первой информацией об источнике трансляции для идентификации источника первого широковещательного кадра, временную информацию, которая указывает время, в которое обрабатывается первый широковещательный кадр.
Когда приемный блок 131 в качестве средства приема принимает второй широковещательный кадр, второй широковещательный кадр отбрасывается, как на этапе S211, если выполняются два следующих условия.
- Вторая информация об источнике трансляции для идентификации источника второго широковещательного кадра идентична первой информации об источнике трансляции.
- Разница между вышеописанной временной информацией и текущим временем находится в рамках заданного периода времени.
В этом варианте осуществления контроллер 133 принятых кадров выполняет отбрасывание на этапе S211, хотя этап S211 является предварительной обработкой в передающей обработке в части отношения к оценке, передавать ли принятый кадр для его ретрансляции от самого узлового устройства 100. То есть контроллер 133 принятых кадров также функционирует в качестве части, ответственной за предварительную обработку в средстве передачи.
Между прочим, в этом варианте осуществления каждый этап ветвления в обработке на фиг.11А-11D является простой оценкой, является ли результат поиска попаданием или промахом или устанавливается ли заданное поле в заданное значение. Если период времени старения имеет длину 10 мс, которая является такой же, как вышеупомянутый "заданный период времени", то этап S210 также превращается в простую оценку, является ли результат поиска попаданием или промахом. Соответственно, переключающее устройство (то есть схема логических операций, точнее говоря FPGA 113) способно реализовать ветвления на фиг.11А-11D.
Благодаря независимости предысторий различных порций информации процесс, в котором переключатель 138 портов в качестве средства передачи выбирает второй порт, можно реализовать с помощью комбинационной логической схемы, точнее говоря с помощью FPGA 113, которая является примером программируемого логического устройства. Вообще, работа FPGA является программируемой с использованием справочной таблицы, чьим входом является первая битовая маска и чьим выходом является вторая битовая маска. Соответственно, FPGA 113 в качестве вышеописанного средства передачи является программируемой с использованием справочной таблицы, чьим входом и выходом являются следующие битовые маски.
- Первая битовая маска указывает, в каком из заданного количества состояний, составленных одним или несколькими заданными передаваемыми состояниями и одним или несколькими заданными непередаваемыми состояниями, находится каждый из множества портов. Например, в соответствии с логикой обработки в случае, где не обнаруживается никакой петли, "передаваемые состояния" включают в себя состояния "E" и "U" в таблице 103 маршрутизации, а "непередаваемые состояния" включают в себя состояния "L", "D" и "P" в таблице 103 маршрутизации.
- Вторая битовая маска указывает идентификационную информацию порта для идентификации каждого из множества портов.
Также в отношении логики обработки в случае, где обнаруживается петля, достаточно выбрать в качестве входа битовую маску, которая указывает для каждого порта, находится ли он в передаваемом состоянии (состоянии "E") или в непередаваемом состоянии (состоянии "L", "U", "P" или "D") в таблице 103 маршрутизации.
Между прочим, этот вариант осуществления, описанный со ссылкой на фиг.1-20, обладает различными преимуществами, которые соответственно описываются следующим образом.
Первое преимущество этого варианта осуществления состоит в том, что период времени, необходимый для переключения маршрута в случае возникновения отказа, является коротким. Неисправности в сети в широком смысле включают в себя не только физический обрыв линии связи, но также и случай, где некоторое узловое устройство входит в состояние занятости и становится практически неспособным к приему кадров.
Сравнение с методиками, отличными от этого варианта осуществления, дает понять, что период времени, необходимый для переключения маршрута в случае возникновения отказа, в этом варианте осуществления является коротким. Соответственно, этот вариант осуществления в дальнейшем будет сравниваться с некоторыми методиками.
При конфигурировании сети избыточные линии и т.п. могут выбираться так, чтобы вся сетевая система не выходила из строя, даже если возникает отказ, например сбой в узловом устройстве связи или обрыв на линии связи. Например, к избыточной сети применяется STP (Протокол связующего дерева), который является протоколом для предотвращения петли и который работает на Уровне 2 (то есть канальном уровне) модели OSI (Взаимодействие открытых систем). OSPF (Первоочередное открытие кратчайших маршрутов), который является протоколом маршрутизации, функционирующем на Уровне 3 (то есть сетевом уровне), также применяется к избыточной сети. S-wire в Непатентной литературе 1 также применим к избыточной сети в ячеистой конфигурации.
STP, OSPF и S-wire реализуют функцию выбора маршрута в сети и функцию пересчета и восстановления маршрута в случае возникновения отказа. Ниже для облегчения понимания преимуществ этого варианта осуществления STP, OSPF и S-wire, которые нужно сравнить, будут описываться более подробно.
В избыточной конфигурации, которая выбирает переключение кадров на Уровне 2, линии сети конфигурируются в кольцевой конфигурации (то есть в форме кольца).
Если с помощью STP не была предотвращена циркуляция кадров, то существовала бы вероятность того, что в сети, сконфигурированной с переключающими устройствами, физически соединенными в кольцевую конфигурацию, каждая без исключения порция данных связи, включая широковещательный кадр, бесконечно петляла бы в сети. Причина в том, что заголовок кадра на Уровне 2 не включает в себя поле TTL.
В результате существовала бы опасность того, что кадр бесконечно петлял, увеличивалась нагрузка на CPU (Центральный процессор) в каждом переключающем устройстве, и в худшем случае CPU вышел бы из-под контроля. Также существовала бы опасность того, что полоса пропускания сети бесполезно растрачивалась кадром, продолжающим петлять, и в результате сеть была бы вынуждена выйти из строя.
В соответствии с STP, чтобы предотвратить вышеописанный опасный круговорот кадра, управляющая информация, называемая BPDU (Протокольные блоки данных сопряжения), обменивается между мостами в соответствии с заданным порядком приоритета. В результате каждый мост определяет порт, в котором блокируются кадры, и порт, из которого перенаправляются кадры.
Каждый мост подходящим образом устанавливает некоторый порт в закрытое состояние и отбрасывает кадры, принятые в порту в закрытом состоянии. В результате даже в сети, физически соединенной кабелями в кольцевой конфигурации, предотвращается ситуация, в которой кадр продолжает бесконечно двигаться по петле.
Между тем, в OSPF каждый маршрутизатор собирает информацию от всех маршрутизаторов, чтобы узнать текущую топологию сети. Накопленная информация хранится в базе данных каждого маршрутизатора. Каждый маршрутизатор обращается к базе данных, создает дерево SPF (предпочтительный выбор кратчайшего пути) с использованием алгоритма SPF и создает таблицу маршрутизации из дерева SPF. В соответствии с OSPF почти не возникает маршрутная петля, потому что таблица маршрутизации создается после того, как создается дерево SPF.
Между тем, в алгоритме создания маршрута в соответствии с S-wire (в дальнейшем называемом "алгоритмом S-wire") каждое узловое устройство включает в себя таблицу для управления весом для каждого порта. Вес основывается на количестве узловых устройств (то есть количестве прыжков), через которые проходят данные, пока не достигают шлюза в качестве цели перенаправления кадров. При перенаправлении кадра каждое узловое устройство определяет порт назначения в соответствии с весом.
Когда связь нарушается по некоторой причине, например из-за отказа в другом узловом устройстве или обрыва на линии, узловое устройство обновляет вес, соответствующий порту, из которого передан кадр для этой неудавшейся связи, и повторно передает кадр из другого порта. В результате в сети в целом нахождение маршрута и изучение маршрута реализуются с помощью распределенной координации между узловыми устройствами.
Здесь, проводя аналогию и обсуждение в показателях периода времени, необходимого для переключения маршрута в случае возникновения отказа, указывается, что этот вариант осуществления превосходит в любой из STP, OSPF и S-wire.
В соответствии с STP мост переходит через пять состояний, которыми являются "Отключен", "Блокировка", "Прослушивание", "Изучение" и "Перенаправление", при создании альтернативной траектории (то есть при переключении траектории) в ответ на отказ. В соответствии с настройкой таймера по умолчанию максимальный период времени, проведенный в состоянии "Блокировка", имеет длину 20 секунд, каждая из задержек перенаправления для состояний "Прослушивание" и "Изучение" имеет длину 15 секунд. Соответственно, при настройке таймера по умолчанию возникает обрыв связи в течение максимум 50 секунд (=20+15+15).
Хотя подробное описание пропускается, также в RSTP (Ускоренный протокол связующих деревьев), который является усовершенствованным STP, переключение траектории требует около одной секунды.
Между тем, в соответствии с OSPF может иметь место случай, где необходим период времени в десять секунд от возникновения отказа до восстановления, потому что требуется некоторый период времени, чтобы пересчитать таблицу маршрутизации, которую включает в себя маршрутизатор. Причина в том, что OSPF использует сложный алгоритм (то есть алгоритм Дейкстры) для вычисления оптимального маршрута, и соответственно ресурсы CPU и памяти у маршрутизатора потребляются значительно.
Также в алгоритме S-wire требуется около одной секунды на переключение маршрута в ответ на отказ, потому что требуется некоторый период времени для вычисления весов.
В критически важных средах желательно как можно больше сократить период времени на переключение маршрута в ответ на отказ. В некоторых применениях сети даже одной секунды может быть очень много. Однако арифметические вычисления, такие как вычисление стоимости маршрута в STP, вычисление в соответствии с алгоритмом Дейкстры в OSPF и вычисление весов в алгоритме S-wire, несомненно требуют некоторого периода времени.
С другой стороны, в этом варианте осуществления никакого арифметического вычисления не нужно для обновления таблицы 103 маршрутизации и таблицы 105 обнаружения петель, как описано выше. Причина в том, что то, что управляется таблицей 103 маршрутизации и таблицей 105 обнаружения петель, не является порциями числовых данных, например весом и расстоянием, а является состояниями, представленными по отдельности.
Причина того, почему на практике достаточная производительность достигается, хотя порты управляются с использованием состояний, а не числовых данных, состоит в том, что в этом варианте осуществления соседние узлы подключаются друг к другу проводным образом и в силу этого качество связи является устойчивым. То есть в этом варианте осуществления не нужно учитывать изменение в качестве связи, хотя арифметические операции для отражения изменения в качестве связи обычно выполняются для беспроводной связи, которая значительно меняется по качеству связи, потому что предпочтительно выбирать подходящий маршрут в соответствии с изменением в качестве связи.
Как описано выше, в этом варианте осуществления арифметическое вычисление не нужно для обновления таблицы 103 маршрутизации и таблицы 105 обнаружения петель. Соответственно, подсистему 102 маршрутизации можно легко реализовать с помощью схемы логических операций (точнее говоря, например, FPGA 113), выполняющей включение/выключение. Таким образом, подсистема 102 маршрутизации в этом варианте осуществления по сравнению с подсистемой, реализованной с помощью программного управления посредством MPU 114, работает с большей скоростью.
Поэтому в соответствии с этим вариантом осуществления период времени, необходимый для переключения маршрута при возникновении отказа, в показателях периода времени, требуемого для обновления таблицы 103 маршрутизации в некотором одном узловом устройстве 100, имеет длину лишь несколько микросекунд.
Само собой разумеется, что существует случай, где возврат, который проиллюстрирован на фиг.2B, происходит перед тем, как переключается маршрут во всей проводной специализированной сети. В этом случае период времени, требуемый для возврата кадра от узлового устройства к другому устройству, ненулевой. Однако почти в каждом случае маршрут переключается во всей проводной специализированной сети в периоде времени, который гораздо короче одной секунды. То есть пока количество возникновений возврата не слишком большое, маршрут переключается в периоде времени, который гораздо короче одной секунды, даже с точки зрения всей проводной специализированной сети.
В соответствии с этим вариантом осуществления использование таблицы 105 обнаружения петель дает возможность каждому узловому устройству 100 обнаружить петлю без арифметической операции и автономно и узнать порт назначения, соответствующий маршруту, где возникает петля. Выражение "автономно" в этом документе указывает, что информацией в отношении топологии сети не обмениваются с другими узловыми устройствами.
Таким образом, даже если каждое узловое устройство 100 работает автономно, поиск в глубину с помощью распределенной координации, как проиллюстрировано на фиг.2B, реализуется во всей проводной специализированной сети в соответствии с этапом S226 на фиг.11D или этапом S238 на фиг.11C. Затем новый маршрут обнаруживается в результате поиска в глубину. В этом варианте осуществления период времени, требуемый для переключения на новый маршрут, гораздо короче одной секунды, как описано выше.
Маршрут соответственно переключается за короткий период времени, даже когда возникает отказ. Поэтому проводная специализированная сеть в соответствии с этим вариантом осуществления предпочтительно применима к критически важной сетевой системе. Например, в случае применения этого варианта осуществления к сенсорной сети, применяющей датчики, которые выводят данные с частотой от нескольких до нескольких десятков раз в секунду, вероятность того, что данные потеряются при возникновении отказа, является низкой, потому что переключение маршрута завершается в рамках периода времени, который гораздо короче одной секунды.
Имеется другое преимущество этого варианта осуществления. Точнее говоря, преимущество состоит в том, что в соответствии с этим вариантом осуществления администратору сети не нужно предварительно проектировать топологию проводной специализированной сети или задавать параметры и т.п. в узловых устройствах 100.
Усилия, необходимые для проектирования и настройки, увеличиваются с увеличением количества узловых устройств, включенных в сеть. Соответственно, быстрая доступность без проектирования и настройки является весьма предпочтительным свойством в области применения, в которой большое количество узловых устройств включается в сеть, например в сенсорной сети.
Например, STP и RSTP являются протоколами, предназначенными для работы без необходимости предварительной настройки. Однако на практике часто имеют место случаи необходимости предварительного проектирования сети. Точнее говоря, на практике необходимо спроектировать два узловых устройства, которые располагаются в подходящих местах в сети и которые обладают подходящей производительностью, чтобы быть корневым мостом и запасным мостом для корневого моста соответственно. Причина в том, что в сети некоторого крупного масштаба период времени сходимости, требуемый для реконфигурирования траекторий при отказе, является длительным, и в силу этого имеет место случай, где в результате сеть выходит из строя, потому что перенаправление данных не возобновляется, пока все узловые устройства совместно используют одну и ту же информацию.
Между тем, OSPF требует проектирования сети для разделения одной сети на множество областей и отделения внутриобластной маршрутизации и межобластной маршрутизации друг от друга и дополнительно требует работы для настройки маршрутизаторов в соответствии с проектом сети.
Одной из причин необходимости такого проектирования сети является то, что чем больше масштаб сети, тем выше вероятность, что возникает отказ или изменение в топологии сети, и необходим более частый пересчет дерева SPF. Другой причиной является то, что когда увеличивается количество маршрутизаторов, увеличивается количество LSA (объявления о состоянии канала), которыми обмениваются между маршрутизаторами для создания их баз данных.
Таким образом, при выборе OSPF общепринято делить сеть на множество областей для построения сети, включающей в себя несколько областей, чтобы посредством этого разделить диапазон, в котором достигает LSA, чтобы посредством этого ограничить изменение в сети до некой области и увеличить посредством этого производительность.
С другой стороны, в соответствии с этим вариантом осуществления каждая таблица автоматически изучается узловым устройством 100 от ее исходного пустого состояния. То есть нет необходимости предварительно задавать параметры в соответствующих таблицах.
К тому же, различные процессы, проиллюстрированные на фиг.11А-20, являются реализуемыми независимо от того, какие узловые устройства подключаются друг к другу, и независимо от того, какие порты подключаются друг к другу. То есть в этом варианте осуществления всего лишь соединение множества узловых устройств проводным образом и в произвольном расположении создает проводную специализированную сеть, посредством этого позволяет ретранслировать кадр наряду с тем, что маршрут выбирается подходящим образом с помощью распределенной координации.
Как описано выше, в соответствии с этим вариантом осуществления для сходимости требуется только период времени, который гораздо короче одной секунды (например, длиной в несколько микросекунд), в котором выбирается новый маршрут. Другими словами, этот вариант осуществления не требует предварительного проектирования сети для сохранения периода времени сходимости в пределах, которые не проблематичны на практике. Таким образом, этот вариант осуществления реализует подходящую производительность и избыточность без хлопотных операций проектирования и настройки.
Более того, этот вариант осуществления также обладает преимуществом, которое дает возможность сетевым ресурсам использоваться полностью. Это преимущество лучше понятно при сравнении с STP и RSTP.
В STP и RSTP порт, подключенный к избыточной линии связи, устанавливается в состояние блокировки (то есть устанавливается в качестве блокирующего порта) в обычной ситуации, чтобы предотвратить кадр от бесконечной циркуляции в сети, физически соединенной в кольцевую конфигурацию. Другими словами, кроме траекторий, используемых в обычной ситуации, существуют запасные траектории, которые не используются в обычной ситуации, а используются только тогда, когда возникает отказ. Соответственно, сетевые ресурсы (то есть запасные траектории) простаивают в обычной ситуации.
В отличие от этого в соответствии с этим вариантом осуществления линии связи в проводной специализированной сети не различаются между таковыми для обычной ситуации и для ситуации, в которой возникает отказ. Соответственно, можно полностью использовать сетевые ресурсы, не оставляя их бездействующими.
Настоящее изобретение не ограничивается вышеприведенным вариантом осуществления, а может быть изменено различными способами. Некоторые их примеры будут описываться ниже.
В вышеприведенном варианте осуществления подсистема 102 маршрутизации реализуется с помощью FPGA 113. Однако подсистему 102 маршрутизации можно реализовать с помощью ASIC (специализированная интегральная схема). Вместо этого подсистему 102 маршрутизации можно реализовать с помощью MPU 114, исполняющего микропрограмму. Микропрограмма может храниться на произвольном машиночитаемом носителе информации и предоставляться.
В вышеприведенном варианте осуществления различные примеры данных представляются в табличном формате. Табличный формат проиллюстрирован в качестве примера предпочтительного формата данных, который дает возможность осуществления высокоскоростного поиска с использованием аппаратных средств, то есть CAM 115. В некоторых вариантах осуществления узловое устройство 100 может хранить различные порции данных в формате, отличном от табличного формата.
Запоминающее устройство 135 для таблиц на фиг.6 можно реализовать с помощью сочетания CAM 115 и SRAM 116, как описано выше, но также можно реализовать только с помощью CAM 115 или только с помощью SRAM 116. Запоминающее устройство 135 для таблиц также можно реализовать с помощью сочетания любого другого одного или нескольких типов запоминающих устройств.
Формат специального кадра 400 на фиг.3 является примером. Порядок полей и длина каждого поля в специальном заголовке 410 являются произвольными в соответствии с вариантами осуществления. Конкретное значение типа 413, способа, в соответствии с которым узловое устройство 100 формирует значение FID 414, начальное значение TTL 415 и алгоритм для вычисления FCS 417 могут определяться произвольно в соответствии с вариантами осуществления.
На фиг.2А, например, датчик 204 иллюстрируется вне узлового устройства 100e. Однако в некоторых вариантах осуществления датчик может встраиваться в узловое устройство. Например, узловое устройство может включать в себя встроенный датчик в дополнение к элементам конструкции на фиг.5.
Вместо обычного порта 106 LAN на фиг.5 встроенный датчик может выводить данные (то есть данные результата, измеренного встроенным датчиком) в формате кадра Ethernet в блок 112 L2SW. Вместо этого встроенный датчик может выводить измеренные данные результата в MPU 114, а MPU 114 может формировать кадр 420 Ethernet, включающий в себя данные результата, измеренного встроенным датчиком, и может выводить кадр 420 Ethernet в FPGA 113.
На фиг.2А датчик 204 подключается к узловому устройству 100e через обычный порт 106e LAN. Однако интерфейс соединения между датчиком 204 и узловым устройством 100e может быть любым интерфейсом помимо обычного порта 106e LAN.
В вышеприведенном варианте осуществления идентичность между широковещательными кадрами оценивается с использованием таблицы 104 управления трансляцией с учетом совместимости между проводной специализированной сетью и внешней сетью. Однако в проводной специализированной сети, которая не подключена к внешней сети и которая используется изолированно, каждое узловое устройство может включать в себя таблицу 104 управления трансляцией, и этапы S210, S211 и S214 на фиг.11B можно пропустить.
название | год | авторы | номер документа |
---|---|---|---|
СЕТЕВАЯ СИСТЕМА, КОММУТАТОР И СПОСОБ ОБНАРУЖЕНИЯ ПОДСОЕДИНЕННОГО ТЕРМИНАЛА | 2012 |
|
RU2583745C2 |
СЕТЕВАЯ СИСТЕМА И СПОСОБ УПРАВЛЕНИЯ ТРАФИКОМ СВЯЗИ | 2011 |
|
RU2576480C2 |
СЕТЕВАЯ СИСТЕМА И СПОСОБ МАРШРУТИЗАЦИИ | 2011 |
|
RU2576473C2 |
ШЛЮЗ ПРЯМЫХ МЕЖСОЕДИНЕНИЙ | 2018 |
|
RU2740035C1 |
СПОСОБ ВЫПОЛНЕНИЯ АВТОМАТИЧЕСКОГО ВВОДА В ДЕЙСТВИЕ СЕТИ | 2011 |
|
RU2589308C2 |
АВТОМАТИЧЕСКОЕ УСТАНОВЛЕНИЕ ИЗБЫТОЧНЫХ ТРАКТОВ С ОСТОРОЖНЫМ ВОССТАНОВЛЕНИЕМ В СЕТИ ПАКЕТНОЙ КОММУТАЦИИ | 2014 |
|
RU2636689C2 |
УСТРОЙСТВО УПРАВЛЕНИЯ, СИСТЕМА СВЯЗИ, СПОСОБ УПРАВЛЕНИЯ КОММУТАТОРАМИ И ПРОГРАММА | 2014 |
|
RU2612599C1 |
УЗЕЛ СВЯЗИ, СИСТЕМА СВЯЗИ, УСТРОЙСТВО УПРАВЛЕНИЯ, СПОСОБ ПЕРЕСЫЛКИ ПАКЕТА И ПРОГРАММА | 2013 |
|
RU2581558C1 |
УПРАВЛЕНИЕ ПЕРЕДАЧЕЙ ДЛЯ СЕТЕЙ БЕСПРОВОДНОЙ СВЯЗИ | 2007 |
|
RU2474967C2 |
СЕТЕВАЯ СИСТЕМА И СПОСОБ УПРАВЛЕНИЯ СЕТЬЮ | 2011 |
|
RU2562438C2 |
Изобретение относится к устройству и способу осуществления связи в сети, включающей в себя множество узловых устройств. Технический результат заключается в повышении эффективности и надежности передачи информации в сети. Способ связи состоит в том, что первое узловое устройство передает первый кадр из первого порта; сохраняет в качестве информации обнаружения петель информацию для распознавания первого порта и первую идентификационную информацию для идентификации первого кадра в связи друг с другом; и принимает второй кадр от второго узлового устройства; когда вторая идентификационная информация для идентификации второго кадра идентична первой идентификационной информации, первое узловое устройство обновляет информацию о состоянии порта, сохраненную в связи с узловым устройством назначения второго кадра, чтобы указать, что передача из первого порта неосуществима; затем в соответствии с обновленной информацией первое узловое устройство выбирает второй порт, из которого осуществима передача, и передает второй кадр. 3 н. и 6 з.п. ф-лы, 20 ил.
1. Первое узловое устройство в сети, включающей в себя множество узловых устройств, включающее в себя это первое узловое устройство и второе узловое устройство, которые соединены проводным образом, причем первое узловое устройство содержит
множество портов, каждый из которых является портом для подключения проводным образом первого узлового устройства к другому узловому устройству, отличному от первого узлового устройства, среди множества узловых устройств;
средство хранения информации обнаружения петель для хранения информации обнаружения петель, которая ассоциирует с первой идентификационной информацией для однозначной идентификации первого кадра информацию распознавания порта назначения для распознавания из множества портов первого порта, который является портом назначения для случая, где первое узловое устройство передало первый кадр;
средство хранения информации маршрутизации для хранения информации маршрутизации, которая ассоциирует с каждым из множества узловых устройств информацию о состоянии, которая является информацией для указания того, осуществима ли передача кадров из каждого из множества портов;
средство приема для приема от второго узлового устройства второго кадра, который включает в себя вторую идентификационную информацию для однозначной идентификации второго кадра;
средство обновления информации маршрутизации для обновления, когда вторая идентификационная информация идентична первой идентификационной информации, информации о состоянии, ассоциированной с помощью информации маршрутизации с узловым устройством назначения, которое является одним из множества узловых устройств и является пунктом назначения второго кадра, чтобы указать, что передача кадров из первого порта неосуществима; и
средство передачи для выбора второго порта, из которого осуществима передача второго кадра, из множества портов в соответствии с информацией о состоянии, ассоциированной с узловым устройством назначения с помощью информации маршрутизации, и для передачи второго кадра из второго порта.
2. Первое узловое устройство по п.1, дополнительно содержащее
средство мониторинга нерабочей линии для мониторинга, находится ли множество портов в нерабочем состоянии,
при этом когда средство приема принимает второй кадр, средство обновления информации маршрутизации обновляет информацию о состоянии, ассоциированную с узловым устройством назначения с помощью информации маршрутизации, чтобы указать, что передача кадров из порта, оцененного средством мониторинга нерабочей линии как находящийся в нерабочем состоянии, неосуществима.
3. Первое узловое устройство по п.1 или 2, дополнительно содержащее
средство мониторинга нагрузки для мониторинга нагрузки на первое узловое устройство, при этом
когда нагрузка превышает заранее установленный критерий,
средство мониторинга нагрузки формирует первый кадр приостановки для запроса у одного или нескольких соседних узловых устройств, подключенных проводным образом к первому узловому устройству среди множества узловых устройств, прекращения передачи кадров к первому узловому устройству, и
средство передачи передает первый кадр приостановки к этим одному или нескольким соседним узловым устройствам,
когда средство приема принимает второй кадр от второго узлового устройства после приема от одного из упомянутых одного или нескольких соседних узловых устройств второго кадра приостановки для запроса прекращения передачи кадров, средство обновления информации маршрутизации обновляет информацию о состоянии, ассоциированную с узловым устройством назначения с помощью информации маршрутизации, чтобы указать, что передача кадров из третьего порта, который является одним из множества портов и который подключен к запрашивающему приостановку узловому устройству, являющемуся источником второго кадра приостановки, неосуществима.
4. Первое узловое устройство по п.1 или 2,
в котором средство передачи возвращает второй кадр второму узловому устройству при оценке, что отсутствует порт, из которого осуществима передача второго кадра, среди множества портов в соответствии с информацией о состоянии, ассоциированной с узловым устройством назначения с помощью информации маршрутизации.
5. Первое узловое устройство по п.1 или 2, дополнительно содержащее
средство хранения информации управления трансляцией для хранения, в связи с первой информацией об источнике трансляции для идентификации источника первого широковещательного кадра, принятого средством приема, временной информации, которая указывает время, в которое обрабатывается первый широковещательный кадр, при этом
когда средство приема принимает второй широковещательный кадр, средство передачи отбрасывает второй широковещательный кадр, если вторая информация об источнике трансляции для идентификации источника второго широковещательного кадра идентична первой информации об источнике трансляции и если разница между временной информацией и текущим временем находится в рамках заданного периода времени.
6. Первое узловое устройство по п.1 или 2, в котором
первая идентификационная информация включает в себя:
первую идентифицирующую узловое устройство информацию для однозначной идентификации среди множества узловых устройств первого узлового устройства-источника, которое является одним из множества узловых устройств и которое является источником первого кадра, и
первую идентифицирующую кадр информацию для однозначной идентификации каждого из множества кадров, переданных первым узловым устройством-источником, служащим в качестве источника, и
вторая идентификационная информация включает в себя:
вторую идентифицирующую узловое устройство информацию для однозначной идентификации среди множества узловых устройств второго узлового устройства-источника, которое является одним из множества узловых устройств и которое является источником второго кадра, и
вторую идентифицирующую кадр информацию для однозначной идентификации каждого из множества кадров, переданных вторым узловым устройством-источником, служащим в качестве источника.
7. Первое узловое устройство по п.1 или 2, в котором
информация о состоянии является информацией, которая ассоциирует с каждым из множества портов
одно из одного или нескольких заданных передаваемых состояний, которые указывают, что передача осуществима, или
одно из одного или нескольких заданных непередаваемых состояний, которые указывают, что передача неосуществима,
средство передачи включает в себя программируемое логическое устройство, заданное справочной таблицей,
чьим входом является первая битовая маска, которая указывает, в каком из заданного количества состояний, составленных одним или несколькими заданными передаваемыми состояниями и одним или несколькими заданными непередаваемыми состояниями, находится каждый из множества портов, и
чьим выходом является вторая битовая маска, которая указывает идентификационную информацию порта для идентификации каждого из множества портов, и
используя программируемое логическое устройство, средство передачи определяет второй порт из информации о состоянии.
8. Способ, выполняемый первым узловым устройством в сети, включающей в себя множество узловых устройств, включающим в себя это первое узловое устройство и второе узловое устройство, которые соединены проводным образом, причем способ содержит этапы, на которых:
передают первый кадр из первого порта среди множества портов, которые включены в состав первого узлового устройства и которые предназначены для соединения проводным образом первого узлового устройства с другими узловыми устройствами, отличными от первого узлового устройства, среди множества узловых устройств;
сохраняют в качестве информации обнаружения петель информацию распознавания порта назначения для распознавания первого порта из множества портов и первую идентификационную информацию для однозначной идентификации первого кадра в связи друг с другом;
принимают от второго узлового устройства второй кадр, включающий в себя вторую идентификационную информацию для однозначной идентификации второго кадра;
когда вторая идентификационная информация идентична первой идентификационной информации,
обращаются к информации маршрутизации, которая ассоциирует с каждым из множества узловых устройств информацию о состоянии, которая является информацией для указания того, осуществима ли передача кадров из каждого из множества портов, и
обновляют информацию о состоянии, ассоциированную с помощью информации маршрутизации с узловым устройством назначения, которое является одним из множества узловых устройств и которое является пунктом назначения второго кадра, чтобы указать, что передача кадров из первого порта неосуществима;
выбирают второй порт, из которого передача второго кадра является осуществимой, из множества портов в соответствии с информацией о состоянии, ассоциированной с узловым устройством назначения с помощью информации маршрутизации; и
передают второй кадр из второго порта.
9. Машиночитаемый носитель, на котором сохранена программа, которая предписывает компьютеру выполнить процесс, при котором компьютер управляет первым узловым устройством в сети, включающей в себя множество узловых устройств, включающим в себя это первое узловое устройство и второе узловое устройство, которые соединены проводным образом, при этом процесс содержит
передачу первого кадра из первого порта среди множества портов, которые включены в состав первого узлового устройства и которые предназначены для соединения проводным образом первого узлового устройства с другими узловыми устройствами, отличными от первого узлового устройства, среди множества узловых устройств;
сохранение в качестве информации обнаружения петель в запоминающем устройстве информации распознавания порта назначения для распознавания первого порта из множества портов и первой идентификационной информации для однозначной идентификации первого кадра в связи друг с другом;
прием от второго узлового устройства второго кадра, включающего в себя вторую идентификационную информацию для однозначной идентификации второго кадра;
когда вторая идентификационная информация идентична первой идентификационной информации,
обращение к информации маршрутизации, которая хранится в запоминающем устройстве и которая ассоциирует с каждым из множества узловых устройств информацию о состоянии, которая является информацией для указания того, осуществима ли передача кадров из каждого из множества портов, и
обновление информации о состоянии, ассоциированной с помощью информации маршрутизации с узловым устройством назначения, которое является одним из множества узловых устройств и которое является пунктом назначения второго кадра, чтобы указать, что передача кадров из первого порта неосуществима;
выбор второго порта, из которого передача второго кадра является осуществимой, из множества портов в соответствии с информацией о состоянии, ассоциированной с узловым устройством назначения с помощью информации маршрутизации; и
передачу второго кадра из второго порта.
WO 2007029337 A1, 15.03.2007 | |||
JP 2004320248 A, 11.11.2004 | |||
JP 2009033557 A, 12.02.2009 | |||
JP 0011191782 A, 13.07.1999 | |||
СПОСОБ И УСТРОЙСТВО ДЛЯ ОБНАРУЖЕНИЯ СОСЕДНИХ УЗЛОВ ВНУТРИ СИСТЕМЫ СВЯЗИ ПИКОСЕТЕЙ | 2004 |
|
RU2316125C2 |
Авторы
Даты
2013-12-20—Публикация
2009-05-11—Подача