CN101432721A - 桥接网络中的潜在转发环路的检测 - Google Patents

桥接网络中的潜在转发环路的检测 Download PDF

Info

Publication number
CN101432721A
CN101432721A CNA2007800156501A CN200780015650A CN101432721A CN 101432721 A CN101432721 A CN 101432721A CN A2007800156501 A CNA2007800156501 A CN A2007800156501A CN 200780015650 A CN200780015650 A CN 200780015650A CN 101432721 A CN101432721 A CN 101432721A
Authority
CN
China
Prior art keywords
data structure
equipment
loop
tree protocol
receivers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2007800156501A
Other languages
English (en)
Other versions
CN101432721B (zh
Inventor
海恩·恩古尹
罗德尼·方
拉维卡恩斯·桑普拉蒂
斯担利·唐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN101432721A publication Critical patent/CN101432721A/zh
Application granted granted Critical
Publication of CN101432721B publication Critical patent/CN101432721B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/18Loop-free operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables

Abstract

公开了用于检测桥接网络中的潜在转发环路的方法、设备、数据结构、计算机可读介质、机构和装置。交换机(260)监视转发表(267)中的分组地址到不同端口(262、272)的转移。如果与某一地址相关联的端口在一短时间段中改变多次,则检测到潜在的转发环路(270),并且通知环路纠正器(264)采取适当的措施来纠正该问题,例如但不限于将端口状态改变到阻止状态或者禁用接口,等等。如果在该短时间段之外存在多个转移,则它们可能是适应于网络的实际重配置的正确转移,因此这些转移实际上不被考虑。

Description

桥接网络中的潜在转发环路的检测
技术领域
本发明的一个实施例涉及通信和计算机系统,尤其是路由器、分组交换系统和其他设备;更具体而言,一个实施例涉及桥接网络中的潜在转发环路的检测。
背景技术
通信工业正在迅速变化以适应新兴的技术和不断增长的客户需求。对新的应用和现有应用的更高性能的这种客户需求正在驱动着通信网络和系统提供商采用具有更高速度和更大容量(例如,更大带宽)的网络和系统。在尝试实现这些目标时,许多通信提供商采取的一种常见方法是使用分组交换技术。正在越来越多地利用各种分组技术(例如因特网协议(IP))来构建和扩展公共和私有通信网络。注意,除非明确声明,否则本文档中描述或提及的任何内容都不被承认为是本申请的现有技术。
图1示出了具有两个主机101、110的标准现有技术网络配置100,该两个主机101、110各自位于网络的由交换机104和107桥接的两个不同部分102、109上。在任何时刻,这两个交换机104、107中应当只有一个在这两个不同的网络部分102、109之间转发分组,以避免转发环路。例如,与链路105、108相对应的端口之一应当处于阻止状态中,以便交换机104、107不会获知节点或其他联网设备的不正确位置;否则两个交换机104和107都将读取分组的源地址并且相应地更新其转发表,这一般将会导致获知主机A 101的错误位置。如果与链路108相对应的端口处于阻止状态中,则交换机104、107将会基于从主机A 101发送到主机B 110的分组来正确地获知主机A 101的位置,因为两个交换机将会基于在分别与链路103和106相对应的端口上接收到的分组来看到和获知源介质访问控制(MAC)地址。但是,如果与链路108相对应的端口不处于阻止状态中(这应当永远不会发生,但可能由于硬件或软件差错而偶尔发生),交换机107将也在与链路108相对应的端口上也看到并获知源MAC地址。这样,交换机107可能尝试经由错误的端口并在链路108上将分组转发到主机A 101。
发明内容
公开了用于检测桥接网络中的潜在转发环路的方法、设备、数据结构、计算机可读介质、机构和装置,等等。一个实施例监视转发表中的分组地址到不同端口的转移。如果与某一地址相关联的端口在一短时间段中改变多次,则检测到潜在的转发环路,并且通知环路纠正器采取适当的措施来纠正该问题,例如但不限于将端口状态改变到阻止状态或者禁用接口,等等。如果在该短时间段之外存在多个转移,则它们可能是适应于网络的实际重配置的正确转移,因此这些转移实际上不被考虑。一个实施例利用已转移的数据结构来监视地址的这种转移,以跟踪一短时间段内的多次转移(直接地或者多个连续时间间隔的每一个中的转移)。在一个实施例中,该时间段的长度是基于所采用的生成树协议(例如生成树协议的任何版本和/或变体)的特性(例如Hello(“你好”)时间、转发延迟等等)来选择的。
附图说明
所附权利要求具体记载了本发明的特征。从以下结合附图来阅读的详细描述中,可以最好地理解本发明及其优点,附图中:
图1是现有技术网络配置的框图;
图2A-C是示出采用一个实施例的环路检测器的几个数目可扩展的不同交换机的框图;
图3是基本现有技术转发表的框图;
图4A是一个实施例中使用的已转移数据结构;
图4B是示出一个实施例中用来检测潜在转发环路的进程的流程图;
图5A是一个实施例中使用的已转移数据结构;
图5B-C是示出一个实施例用来检测潜在转发环路的进程的流程图。
具体实施方式
公开了用于检测桥接网络中的潜在转发环路的方法、设备、数据结构、计算机可读介质、机构和装置,等等。注意,这里描述的实施例包括各种要素和限制,其中没有一个要素或限制被认为是关键要素或限制。每个权利要求单独地完整记载本发明的一个方面。另外,所描述的一些实施例可以包括但不限于系统、网络、集成电路芯片、嵌入式处理器、ASIC、方法和包含指令的计算机可读介质,等等。一个或多个系统、设备、组件等等可以构成一个或多个实施例,这可以包括一个权利要求的一些要素或限制由相同或不同的系统、设备、组件等等执行。下面描述的实施例包含了本发明的范围和精神之内的各种方面和配置,其中附图示出了示例性而非限制性的配置。注意,用于执行方法和处理块操作的计算机可读介质和装置被公开,并且与本发明的可扩展范围和精神一致。
这里使用的术语“分组”指的是所有类型的分组或者信息或数据的任何其他单元,包括但不限于固定长度的信元和可变长度的分组,它们都可能能够也可能不能被划分成更小的分组或单元。这里使用的术语“分组”还既指代分组本身也或者指代分组指示,例如但不限于分组或分组头部的全部或一部分、数据结构值、指针或索引、或者分组或与之相关联的信息的直接或间接标识的任何其他部分。例如,路由器常常对分组的一个或多个字段或数据(尤其是头部)进行操作,因此在头部被操纵的同时,分组的主体经常被存储在单独的存储器中,并且基于对分组(即,此示例中的分组头部)进行处理的结果,整个分组被转发或丢弃,等等。此外,这些分组可包含一类或多类信息,包括但不限于语音、数据、视频和音频信息。术语“项目”在这里一般用于指分组或者信息或数据的任何其他单元或片段、设备、组件、元件或任何其他实体。短语“处理分组”和“分组处理”一般指的是基于分组内容(例如分组头部或其他字段)执行一些步骤或动作,并且这种步骤或动作可能包括也可能不包括对分组和/或相关联的数据进行修改、存储、丢弃和/或转发。术语“丢弃”分组或其变体(例如,丢弃分组、分组被丢弃,等等)或者对“丢弃”分组或其变体的提及在这里是用来标识对分组的物理丢弃、导致分组被丢弃、以及/或者对分组进行标记或区分以便随后丢弃或者进行可能与“被许可”分组不同的处理(例如,被随后的处理丢弃的概率更高、早期拥塞通知标记,等等)。联网设备的“接口”这一术语指的是物理接口、逻辑接口(例如,物理接口的一部分,或者有时在业界被称为子接口-例如但不限于与网络接口相关联的特定VLAN)和/或虚拟接口(例如基于某种特性而聚集在一起的流量-例如但不限于隧道接口)。
术语“系统”在这里一般用来描述任何数目的组件、元件、子系统、设备、分组交换元件、分组交换机、路由器、网络、计算机和/或通信设备或机构,或者其组件的组合。术语“计算机”在这里一般用来描述任何数目的计算机,包括但不限于个人计算机、嵌入式处理元件和系统、控制逻辑、ASIC、芯片、工作站、大型机,等等。术语“处理元件”在这里一般用来描述任何类型的处理机构或设备,例如处理器、ASIC、现场可编程门阵列、计算机,等等。术语“设备”在这里一般用来描述任何类型的机构,包括计算机或系统或其组件。术语“任务”和“进程”在这里一般用来描述任何类型的运行程序,包括但不限于计算机进程、任务、线程、执行应用、操作系统、用户进程、设备驱动程序、本机代码、机器或其他语言等等,并且可以是交互式的和/或非交互式的、在本地和/或远程执行、在前台和/或后台执行、在用户和/或操作系统地址空间中执行、库的例程和/或独立的应用,并且不限于任何特定的存储器分区技术。图(包括但不限于任何框图和流程图以及消息序列图)中示出的步骤、连接以及对信号和信息的处理一般可以按相同或不同的串行或并行顺序以及/或者由不同的组件和/或进程、线程等等以及/或者通过不同的连接来执行。并且可以与其他实施例中的其他功能相组合,除非这使得该实施例不能实现或者明确或者暗中要求一种序列(例如,对于读取值、处理值的序列-在处理值前必须获得值,虽然一些相关联的处理可以在读取操作之前、与其同时和/或在其之后执行)。另外,术语“识别”一般用来描述用于直接或间接地查明某事的任何方式或机制,这可以包括但不限于接收、从存储器中检索、确定、限定、计算、生成,等等。
另外,术语“网络”和“通信机构”在这里一般用来描述一个或多个网络、通信介质或通信系统,包括但不限于因特网、私有或公共电话、蜂窝、无线、卫星、线缆、局域、城域和/或广域网、线缆、电连接、总线,等等,以及内部通信机构,例如消息传递、进程间通信、共享存储器,等等。术语“消息”在这里一般用来描述一条信息,该信息可以是也可以不是但一般是经由任何类型的一个或多个通信机构来传输的。
术语“存储介质”包括任何类型的存储器、存储设备或用于维护任何格式的指令或数据的其他机构。“计算机可读介质”是包括任何存储器、存储设备和/或其他存储机构的可扩展术语。术语“存储器”包括任何随机访问存储器(RAM)、只读存储器(ROM)、闪存、集成电路和/或其他存储器组件或元件。术语“存储设备”包括任何固态存储介质、盘驱动器、磁盘、联网服务、磁带驱动器和其他存储设备。存储器和存储设备可以存储要被处理元件和/或控制逻辑执行的计算机可读指令,以及被处理元件和/或控制逻辑操纵的数据。术语“数据结构”是一个可扩展的术语,它指代任何数据元素、变量、数据结构、数据库和/或可被应用到数据以帮助解释数据或对数据执行操作的一个或多个有组织方案,例如但不限于存储器位置或设备、集合、队列、树、堆、列表、链接列表、阵列、表、指针,等等。数据结构一般被维护在存储机构中。术语“指针”和“链接”在这里一般用来标识某种用于引用或标识另一元件、组件或其他实体的机制,并且它们可包括但不限于对存储器或其他存储机构或其中的位置的引用、数据结构中的索引、值,等等。
术语“一个实施例”在这里用来指特定实施例,其中每次提及“一个实施例”可能指的是不同的实施例,并且这里在描述相关联的特征、要素和/或限制时反复使用该术语并不确立每个和所有实施例都必须包括的相关联的特征、要素和/或限制的累积集合,但是某一实施例一般可以包括所有这些特征、要素和/或限制。此外,术语“第一”、“第二”等等在这里一般用来表示不同的单元(例如第一元件、第二元件)。这里使用这些术语并不一定并不意味着诸如一个单元或事件出现或发生在另一个之前这样的顺序,而是提供了区分这些特定单元的机制。此外,使用名词的单数时态是非限制性的,其使用一般包括特定事物的一个或多个而不只是一个(例如,使用单词“存储器”一般指的是一个或多个存储器,而不一定要指定“一个存储器或多个存储器”或者“一个或多个存储器”或者“至少一个存储器”,等等)。另外,术语“基于x”和“响应于x”用来指示从中导出或导致某事的项目“x”的最小集合,其中“x”是可扩展的,并且不一定描述了被执行操作的项目的完整列表,等等。此外,术语“被耦合到”用来指示两个元件或设备之间的某种程度的直接或间接连接,其中耦合的一个或多个设备修改或者不修改被耦合的信号或被传输的信息。术语“子集”用来指示一个集合的全部或部分元素的群组。术语“子树”用来指示树的全部或部分。另外,术语“或”在这里用来标识对有联系的项目中的一个或多个(包括全部)的选择。此外,与“包括(including)”、“包含(comtaining)”或“其特征在于”同义的过渡性术语“包括(comprising)”是包含性的或者开放性的,并且不排除另外的未提及的元件或方法步骤。
公开了用于检测桥接网络中的潜在转发环路的方法、设备、数据结构、计算机可读介质、机构和装置,等等。一个实施例监视转发表中的分组地址到不同端口的转移。如果与某一地址相关联的端口在一短时间段中改变多次,则检测到潜在的转发环路,并且通知环路纠正器采取适当的措施来纠正该问题,例如但不限于将端口状态改变到阻止状态或者禁用接口,等等。如果在该短时间段之外存在多个转移,则它们可能是适应于网络的实际重配置的正确转移,因此这些转移实际上不被考虑。一个实施例利用已转移的数据结构来监视地址的这种转移,以跟踪一短时间段内的多次转移(直接地或者多个连续时间间隔的每一个中的转移)。在一个实施例中,该时间段的长度是基于所采用的生成树协议(例如生成树协议的任何版本和/或变体)的特性(例如Hello时间、转发延迟等等)来选择的。
识别网络中的潜在转发环路的一个实施例包括:被配置为接收分组的多个分组接收器(例如端口、接口等等),其中每个接收到的分组包括源地址;被配置用于存储地址与特定分组接收器的关联的转发数据结构;网络拓扑更新器,该网络拓扑更新器被配置为执行生成树协议并且更新转发数据结构,其中执行生成树协议包括按预定Hello时间的间隔来发送Hello消息;已转移数据结构,该已转移数据结构被配置用于存储其相应分组接收器最近已被转移的地址;以及环路检测器,该环路检测器被配置为利用已转移数据结构来管理最近转移的地址以便在针对相同地址的转移在预定时间段内发生n次时识别潜在的路由环路,其中n至少为2,其中该预定时间段小于或等于Hello时间的大约两倍;其中该环路检测器被配置为通知环路纠正器对对潜在路由环路的识别作出响应。
在一个实施例中,Hello时间大约是2秒。在一个实施例中,Hello时间大约是1秒。一个实施例包括环路纠正器对环路检测器对潜在路由环路的识别作出响应。在一个实施例中,响应于环路检测器对潜在路由环路的识别,环路纠正器使得特定分组接收器被置于阻止状态中。在一个实施例中,环路纠正器基于从已转移数据结构中提取的信息来确定特定分组接收器。
识别网络中的潜在转发环路的一个实施例包括:被配置为接收分组的多个分组接收器(例如端口、接口等等),其中每个接收到的分组包括源地址;被配置用于存储地址与特定分组接收器的关联的转发数据结构;已转移数据结构,该已转移数据结构被配置用于存储其相应分组接收器最近已被转移的地址,其中有一个或多个相应的指示用于标识不同的连续时间间隔中的转移;以及环路检测器,该环路检测器被配置为利用已转移数据结构来管理最近转移的地址以便在针对相同地址的转移在n个连续时间间隔中的每一个中发生时识别潜在的路由环路,其中n大于l;其中该环路检测器被配置为通知环路纠正器对对潜在路由环路的识别作出响应。
一个实施例包括网络拓扑更新器,该网络拓扑更新器被配置为执行生成树协议并且更新转发数据结构,其中执行生成树协议包括按预定Hello时间的时间间隔来发送Hello消息;并且其中连续时间间隔中的每一个大约是该预定Hello时间。在一个实施例中,n为2。在一个实施例中,n为2,并且连续时间间隔中的每一个大约是1秒。一个实施例包括网络拓扑更新器,该网络拓扑更新器被配置为执行生成树协议并且更新转发数据结构,其中执行生成树协议包括按大约为1秒的预定Hello时间的时间间隔来发送Hello消息。一个实施例包括被配置为执行生成树协议的网络拓扑更新器,其中连续时间间隔中的每一个小于该设备的生成树协议的预定转发延迟的一半。一个实施例包括被配置为执行生成树协议的网络拓扑更新器,其中连续时间间隔中的每一个小于该设备的生成树协议的预定转发延迟的四分之一。一个实施例包括被配置为执行生成树协议的网络拓扑更新器,其中连续时间间隔中的每一个小于该设备的生成树协议的预定转发延迟的十分之一。
联网分组交换设备被配置为识别网络中的潜在转发环路。该分组交换设备包括分组接收器、被配置用于存储地址与特定分组接收器的关联的转发数据结构;以及已转移数据结构,该已转移数据结构被配置用于存储其相应分组接收器最近已被转移的地址。一个实施例反复地接收并处理新的特定分组。该特定分组在该特定分组的头部中的源地址字段中包括标识分组的源的特定源地址。对该特定分组的处理包括:针对该特定源地址评估转发数据结构,并且响应于基于转发数据结构和从该特定分组提取的特定源地址识别出与该特定源地址相关联的特定分组接收器已被从先前的特定分组接收器转移,已转移数据结构被更新以反映出与该特定源地址相关联的分组接收器已被转移,其中至少在所述转移被检测到时转发数据结构针对该特定源地址相关联的分组接收器被更新。在已转移数据结构中标识的最近转移的地址被周期性地评估以进行评估,以便在针对相同地址的转移在预定时间段内发生n次时识别潜在的路由环路,其中n是至少为2的整数。响应于对潜在路由环路的识别,被配置为对所述对潜在路由环路的识别作出响应的环路纠正器被通知。
一个实施例执行生成树协议,执行生成树协议包括按预定Hello时间的时间间隔来发送Hello消息并且更新转发数据结构;并且其中预定时间段小于或等于Hello时间的大约两倍。一个实施例执行生成树协议,执行生成树协议包括按预定Hello时间的时间间隔来发送Hello消息并且更新转发数据结构;并且其中预定时间段小于或等于大约Hello时间。
被配置为识别网络中的潜在转发环路的一个实施例包括:分组接收器;被配置用于存储地址与特定分组接收器的关联的转发数据结构;已转移数据结构,该已转移数据结构被配置用于存储其相应分组接收器最近已被转移的地址;用于反复地处理接收到的新的特定分组的装置;以及用于在针对相同地址的转移在n个连续时间间隔中的每一个中发生时识别潜在的路由环路并且通知环路纠正器对对潜在路由环路的识别作出响应的装置,其中n是大于1的整数。该特定分组在该特定分组的头部中的源地址字段中包括标识分组的源的特定源地址。对该特定分组的处理包括:针对该特定源地址评估转发数据结构,并且响应于基于转发数据结构和从该特定分组提取的特定源地址识别出与该特定源地址相关联的特定分组接收器已被从先前的特定分组接收器转移,更新已转移数据结构以反映出与该特定源地址相关联的分组接收器已被转移;其中至少在所述转移被检测到时转发数据结构针对该特定源地址相关联的所述分组接收器之一被更新。
一个实施例包括网络拓扑更新器,该网络拓扑更新器被配置为执行生成树协议并且更新转发数据结构,其中执行生成树协议包括按预定Hello时间的时间间隔来发送Hello消息;并且其中所述连续时间间隔中的每一个大约是该预定Hello时间。在一个实施例中,n为2。在一个实施例中,n为2,并且所述连续时间间隔中的每一个大约是1秒。一个实施例包括网络拓扑更新器,该网络拓扑更新器被配置为执行生成树协议并且更新转发数据结构,其中执行生成树协议包括按大约为1秒的预定Hello时间的时间间隔来发送Hello消息。一个实施例包括被配置为执行生成树协议的网络拓扑更新器,其中所述连续时间间隔中的每一个小于该设备的生成树协议的预定转发延迟的一半。一个实施例包括被配置为执行生成树协议的网络拓扑更新器,其中所述连续时间间隔中的每一个小于该设备的生成树协议的预定转发延迟的四分之一。一个实施例包括被配置为执行生成树协议的网络拓扑更新器,其中所述连续时间间隔中的每一个小于该设备的生成树协议的预定转发延迟的十分之一。
转到附图,图2A示出了交换机(可能是虚拟交换机)210,其在端口212上发送和接收分组,并且包括转发引擎214,该转发引擎214包括转发数据结构、网络拓扑更新器、已转移数据结构、环路检测器和环路纠正器。
图2B是一个实施例中使用的检测桥接网络中的潜在转发环路的系统或组件240的框图。在一个实施例中,系统或组件240执行与这里示出或以其他方式描述的流程图之一相对应的一个或多个进程。
在一个实施例中,系统或组件240包括一个或多个处理元件241、存储器242、存储设备243、被配置为发送和接收分组的分组接收器/发送器244、以及专用组件245,它们一般经由一个或多个通信机构249可通信地耦合,其中通信路径一般被定制为符合应用的需要。
组件240的各种实施例可以包括更多或更少元件。组件240的操作一般是通过处理元件241利用存储器242和存储设备243执行一个或多个任务或进程来控制的。存储器242是一类计算机可读介质,并且一般包括随机访问存储器(RAM)、只读存储器(ROM)、闪存、集成电路和/或其他存储器组件。存储器242一般存储要被处理元件241执行的计算机可执行指令和/或被处理元件241操纵的数据,以便实现根据实施例的功能。存储设备243是另一类计算机可读介质,并且一般包括固态存储介质、盘驱动器、磁盘、联网服务、磁带驱动器和其他存储设备。存储设备243一般存储要被处理元件241执行的计算机可执行指令和/或被处理元件241操纵的数据,以便实现根据实施例的功能。
图2C示出交换机(可能是虚拟交换机)260,其在分组接收器262(例如端口、接口等等)上接收分组261。网络拓扑更新器266一般运行生成树协议(例如生成树协议的任何版本和/或变体)或者另一协议,以便在转发数据结构267中维护对网络拓扑的表示。对于接收到的分组,例如要被转发到另一网络的分组,交换/控制功能264基于接收到的分组的源地址在转发数据结构267上执行查找操作,等等。如果没有找到源地址,或者所识别的分组接收器相对于转发数据结构267中所表示的已经改变,一般来说转发数据结构267将被更新,以反映地址和用来接收分组的特定分组接收器之间的这种关联。此外,如果用来接收分组的特定分组接收器不同于转发数据结构267中所标识的(在更新之前),则已转移数据结构271被更新以反映这种转移。如果分组要被转发,则转发信息被从转发数据结构267中检索出,并且分组(273)被转发出分组发送器272。周期性地、偶尔地或者响应于某种事件(例如对一定数目的转移的检测、中断、定时器期满,等等),环路检测器270评估已转移数据结构271中的信息以判定是否存在潜在的转发环路,如果是,则一般会通知环路纠正器(264)以便能够采取适当的纠正措施(例如,分析数据并且作为响应阻止或禁用出现问题的分组接收器)。
图3示出了基本的现有技术转发数据结构320,其维护地址321与分组发送器和接收器322之间的关联。
图4A示出了一个实施例中用于针对地址401记录分组接收器的转移的已转移数据结构400。在一个实施例中,已转移跟踪信息402包括标识一段时间中的转移的计数或标志,其中存储在已转移数据结构400中的数据一般被老化,以便易于检测与潜在转发环路相对应的量的转移。
图4B示出了一个实施例中使用的进程。处理开始于进程块410,并且前进到进程块412,在该进程块中分组被接收。在进程块414中,基于分组的源地址在转发数据结构中执行查找操作,并且转发数据结构根据需要被更新。根据在进程块415中所判定的,如果用来接收分组的分组接收器已被转移,则在进程块416中,已转移数据结构(例如图4A的已转移数据结构)被相应更新。根据在进程块417中所判定的,如果基于该转移确定可能的环路,则在进程块418中,通知环路纠正器以便它能够例如但不限于通过分析已转移数据结构中的信息以识别应当处于被阻止状态的接口并使得转移到被阻止状态,从而来对检测到的潜在环路作出反应(或者引起这种反应)。处理返回到进程块412。当然,对已转移数据结构的评估可由单独的进程执行,例如图4B-C所示,这将在下文中论述。
图5A示出了一个实施例中用于针对地址501记录分组接收器的转移的已转移数据结构500。在一个实施例中,已转移数据结构500对于其每个条目包括:用于存储MAC或其他地址的地址字段501、表明该条目是否被填充的有效标志字段502、当前时间间隔中转移标志字段503、以及先前时间间隔中转移标志字段504。
图5B示出了一个实施例中使用的用于针对接收到的分组的地址跟踪端口或其他分组接收器的转移的进程。处理开始于进程块510。根据在进程块511中所判定的,如果对于接收到的分组的源地址,分组接收器已被转移,那么根据在进程块515中所判定的,如果在已转移数据结构(例如图5A的已转移数据结构500)已经存在有效条目,则在进程块516中通过设定当前间隔中转移标志来更新该条目;否则,在进程块518中,如果在已转移数据结构中有空间可用,则添加条目,并且其当前间隔中转移标志被设定。处理返回到进程块511。
图5C示出了一个实施例中使用的用于分析已转移数据结构以确定潜在转发环路的进程。处理开始于进程块540,并且处理循环(或等待),直到与当前时间间隔相对应的定时器已经期满为止,并且在此之后,已转移数据结构中的条目被如下评估。在进程块542中,已转移数据结构(例如通过图5B中所示的进程填充的图5A的已转移数据结构500)中的第一/下一条目被读取。根据在进程块543中所判定的,如果它不是有效条目(例如它未被填充),则处理前进到进程块555。
否则,根据在进程块545和547中所判定的,如果当前间隔标志未被设定,表明在当前时间间隔中没有转移,但是先前间隔标志被设定,表明在先前时间间隔中有过转移,那么在进程块548中,该条目的有效标志被清除(即,该条目被从已转移数据结构中删除),并且处理前进到进程块555。否则,根据在进程块545和547中所判定的,如果当前间隔标志未被设定,表明在当前时间间隔中没有转移,并且先前间隔标志未被设定,表明在先前时间间隔中没有转移,那么处理直接前进到进程块555。
否则,根据在进程块545和565中所判定的,如果当前间隔标志被设定,表明在当前时间间隔中有过转移,但是先前间隔标志未被设定,表明在先前时间间隔中没有转移,那么在进程块555中,当前间隔标志被清除并且先前间隔标志被设定,并且处理前进到进程块555。否则,根据在进程块545和565中所判定的,如果当前间隔标志被设定,表明在当前时间间隔中有过转移,并且先前间隔标志被设定,表明在先前时间间隔中有过转移,则如进程块566中所反映的,潜在的转发环路已被检测到,在该进程块中,通知环路纠正器并且禁用定时器,以便该信息被保留在已转移数据结构中以反映潜在环路的源;并且如进程块569中指示的,处理完成。
当处理到达进程块555时,如果有更多条目要处理,则处理返回到进程块542;否则,处理返回到进程块541。
考虑到本发明的原理可以应用到的许多可能的实施例,将会明白,这里参考附图描述的实施例及其各个方面只是示例性的,而不应当被认为是限制本发明的范围。例如,对于本领域的技术人员来说很明显的,许多进程块操作可以被重新排序以便在其他操作之前、之后或者与其他操作基本同时执行。另外,在各种实施例中可以使用数据结构的许多不同形式。这里描述的发明设想了可能落在所附权利要求及其等同物的范围之内的所有这种实施例。

Claims (26)

1.一种被配置为识别网络中的潜在转发环路的设备,该设备包括:
被配置为接收分组的多个分组接收器,其中每个接收到的分组在所述接收到的分组的头部中的源地址字段中包括标识该分组的源的地址;
被配置用于存储所述地址与特定分组接收器的关联的转发数据结构;
网络拓扑更新器,该网络拓扑更新器被配置为执行生成树协议并且更新所述转发数据结构,其中执行生成树协议包括按预定Hello时间的间隔来发送Hello消息;
已转移数据结构,该已转移数据结构被配置用于存储其相应分组接收器最近已被转移的地址;以及
环路检测器,该环路检测器被配置为利用所述已转移数据结构来管理最近转移的地址以便在针对相同地址的转移在预定时间段内发生n次时识别潜在的路由环路,其中n是至少为2的整数,其中该预定时间段小于或等于Hello时间的大约两倍;其中该环路检测器被配置为通知环路纠正器对所述对潜在路由环路的识别作出响应。
2.如权利要求1所述的设备,其中所述Hello时间大约是2秒。
3.如权利要求1所述的设备,其中所述Hello时间大约是1秒。
4.如权利要求1所述的设备,包括所述环路纠正器,其被配置为对所述环路检测器的所述对潜在路由环路的识别作出响应。
5.如权利要求4所述的设备,其中所述环路纠正器被配置为响应于所述环路检测器的所述对潜在路由环路的识别将所述分组接收器中的特定分组接收器置于阻止或禁用状态中。
6.如权利要求5所述的设备,其中所述环路纠正器被配置为基于从所述已转移数据结构中提取的信息来确定所述特定分组接收器。
7.如权利要求1所述的设备,其中所述分组接收器是交换机设备的端口。
8.一种被配置为识别网络中的潜在转发环路的设备,该设备包括:
被配置为接收分组的多个分组接收器,其中每个接收到的分组在所述接收到的分组的头部中的源地址字段中包括标识该分组的源的地址;
被配置用于存储所述地址与所述多个分组接收器中的特定分组接收器的关联的转发数据结构;
已转移数据结构,该已转移数据结构被配置用于存储其在所述多个分组接收器中的相应分组接收器最近已被转移的地址,其中有一个或多个相应的指示用于标识不同的连续时间间隔中的转移;以及
环路检测器,该环路检测器被配置为利用所述已转移数据结构来管理最近转移的地址以便在针对相同地址的转移在k个连续时间间隔中的每一个中发生时识别潜在的路由环路,其中k是大于1的整数;其中该环路检测器被配置为通知环路纠正器对所述对潜在路由环路的识别作出响应。
9.如权利要求8所述的设备,包括网络拓扑更新器,该网络拓扑更新器被配置为执行生成树协议并且更新所述转发数据结构,其中执行生成树协议包括按预定Hello时间的时间间隔来发送Hello消息;并且其中所述连续时间间隔中的每一个大约是所述预定Hello时间。
10.如权利要求8所述的设备,其中k为2。
11.如权利要求8所述的设备,其中k为2,并且所述连续时间间隔中的每一个大约是1秒。
12.如权利要求11所述的设备,包括网络拓扑更新器,该网络拓扑更新器被配置为执行生成树协议并且更新所述转发数据结构,其中执行生成树协议包括按大约为1秒的预定Hello时间的时间间隔来发送Hello消息。
13.如权利要求8所述的设备,包括被配置为执行生成树协议的网络拓扑更新器,其中所述连续时间间隔中的每一个小于所述设备的生成树协议的预定转发延迟的一半。
14.如权利要求8所述的设备,包括被配置为执行生成树协议的网络拓扑更新器,其中所述连续时间间隔中的每一个小于所述设备的生成树协议的预定转发延迟的四分之一。
15.如权利要求8所述的设备,包括被配置为执行生成树协议的网络拓扑更新器,其中所述连续时间间隔中的每一个小于所述设备的生成树协议的预定转发延迟的十分之一。
16.一种由被配置为识别网络中的潜在转发环路的联网分组交换设备执行的方法,该分组交换设备包括多个分组接收器、被配置用于存储地址与所述多个分组接收器中的分组接收器的关联的转发数据结构;以及已转移数据结构,该已转移数据结构被配置用于存储其在所述多个分组接收器中的相应分组接收器最近已被转移的地址,该方法包括:
反复地:接收并处理新的特定分组,所述特定分组在所述特定分组的头部中的源地址字段中包括标识所述分组的源的特定源地址;其中对所述特定分组的所述处理包括:针对所述特定源地址评估所述转发数据结构,并且响应于基于所述转发数据结构和从所述特定分组提取的所述特定源地址识别出所述多个分组接收器中与所述特定源地址相关联的特定分组接收器已被从先前的特定分组接收器转移,更新所述已转移数据结构以反映出与所述特定源地址相关联的分组接收器已被转移;其中至少在所述转移被检测到时,在所述转发数据结构中,针对所述特定源地址,更新所述多个分组接收器中的所述相关联的分组接收器;以及
周期性地评估所述已转移数据结构中的最近转移的地址,以便在针对相同地址的转移在预定时间段内发生m次时识别潜在的路由环路,其中m是至少为2的整数;并且,响应于所述对潜在路???由环路的识别,通知被配置为对所述对潜在路由环路的识别作出响应的环路纠正器。
17.如权利要求16所述的方法,包括执行生成树协议并且更新所述转发数据结构,其中执行生成树协议包括按预定Hello时间的时间间隔来发送Hello消息;并且其中所述预定时间段小于或等于Hello时间的大约两倍。
18.如权利要求16所述的方法,包括执行生成树协议并且更新转发数据结构,其中执行生成树协议包括按预定Hello时间的时间间隔来发送Hello消息;并且其中所述预定时间段小于或等于大约Hello时间。
19.一种被配置为识别网络中的潜在转发环路的设备,该设备包括:
多个分组接收器;
被配置用于存储地址与所述多个分组接收器中的分组接收器的关联的转发数据结构;
已转移数据结构,该已转移数据结构被配置用于存储其在所述多个分组接收器中的相应分组接收器最近已被转移的地址;
用于反复地处理接收到的新的特定分组的装置,所述特定分组在所述特定分组的头部中的源地址字段中包括标识所述分组的源的特定源地址;其中对所述特定分组的所述处理包括:针对所述特定源地址评估所述转发数据结构,并且响应于基于所述转发数据结构和从所述特定分组提取的特定源地址识别出与所述多个分组接收器中与所述特定源地址相关联的特定分组接收器已被从先前的特定分组接收器转移,更新所述已转移数据结构以反映出与所述特定源地址相关联的分组接收器已被转移;其中至少在所述转移被检测到时在所述转发数据结构中针对所述特定源地址更新所述多个分组接收器中的所述相关联的分组接收器;以及
用于在针对相同地址的转移在r个连续时间间隔中的每一个中发生时识别潜在的路由环路并且通知环路纠正器对所述对潜在路由环路的识别作出响应的装置,其中r是大于1的整数。
20.如权利要求19所述的设备,包括网络拓扑更新器,该网络拓扑更新器被配置为执行生成树协议并且更新所述转发数据结构,其中执行生成树协议包括按预定Hello时间的时间间隔来发送Hello消息;并且其中所述连续时间间隔中的每一个大约是所述预定Hello时间。
21.如权利要求20所述的设备,其中r为2。
22.如权利要求19所述的设备,其中r为2,并且所述连续时间间隔中的每一个大约是1秒。
23.如权利要求22所述的设备,包括网络拓扑更新器,该网络拓扑更新器被配置为执行生成树协议并且更新转发数据结构,其中执行生成树协议包括按大约为1秒的预定Hello时间的时间间隔来发送Hello消息。
24.如权利要求19所述的设备,包括被配置为执行生成树协议的网络拓扑更新器,其中所述连续时间间隔中的每一个小于所述设备的生成树协议的预定转发延迟的一半。
25.如权利要求19所述的设备,包括被配置为执行生成树协议的网络拓扑更新器,其中所述连续时间间隔中的每一个小于所述设备的生成树协议的预定转发延迟的四分之一。
26.如权利要求19所述的设备,包括被配置为执行生成树协议的网络拓扑更新器,其中所述连续时间间隔中的每一个小于所述设备的生成树协议的预定转发延迟的十分之一。
CN2007800156501A 2006-05-01 2007-04-22 桥接网络中的潜在转发环路的检测 Expired - Fee Related CN101432721B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/416,348 US7453818B2 (en) 2006-05-01 2006-05-01 Detection of potential forwarding loops in bridged networks
US11/416,348 2006-05-01
PCT/US2007/009729 WO2007133388A2 (en) 2006-05-01 2007-04-22 Detection of potential forwarding loops in bridged networks

Publications (2)

Publication Number Publication Date
CN101432721A true CN101432721A (zh) 2009-05-13
CN101432721B CN101432721B (zh) 2011-01-26

Family

ID=38648192

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800156501A Expired - Fee Related CN101432721B (zh) 2006-05-01 2007-04-22 桥接网络中的潜在转发环路的检测

Country Status (4)

Country Link
US (1) US7453818B2 (zh)
EP (1) EP2013759B1 (zh)
CN (1) CN101432721B (zh)
WO (1) WO2007133388A2 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102123104A (zh) * 2011-04-14 2011-07-13 福建星网锐捷网络有限公司 网络设备配置纠正方法和网络设备
CN101631053B (zh) * 2009-08-28 2011-11-30 迈普通信技术股份有限公司 Eaps环网拓扑监控方法及系统
WO2012171216A1 (zh) * 2011-06-17 2012-12-20 华为技术有限公司 以太网中环路位置检测的方法及以太网交换设备
CN103210615A (zh) * 2010-11-18 2013-07-17 日本电气株式会社 闭合环路形成防止系统和闭合环路形成防止方法
CN106792857A (zh) * 2016-12-27 2017-05-31 上海斐讯数据通信技术有限公司 环路检测方法、环路检测装置及系统
CN108881328A (zh) * 2018-09-29 2018-11-23 北京东土军悦科技有限公司 数据包过滤方法、装置、网关设备及存储介质
CN111327504A (zh) * 2020-02-26 2020-06-23 深信服科技股份有限公司 虚拟局域网环路检测方法、装置、设备及可读存储介质
CN113014441A (zh) * 2019-12-19 2021-06-22 西安诺瓦星云科技股份有限公司 网口环路检测方法和系统

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7185107B1 (en) * 2002-10-02 2007-02-27 Cisco Technology Inc. Redirecting network traffic through a multipoint tunnel overlay network using distinct network address spaces for the overlay and transport networks
US8458467B2 (en) 2005-06-21 2013-06-04 Cisco Technology, Inc. Method and apparatus for adaptive application message payload content transformation in a network infrastructure element
US7817636B2 (en) * 2008-01-30 2010-10-19 Cisco Technology, Inc. Obtaining information on forwarding decisions for a packet flow
US20110019610A1 (en) * 2009-07-22 2011-01-27 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for preventing tunnel looping
TWI424713B (zh) * 2009-12-02 2014-01-21 Realtek Semiconductor Corp 迴圈偵測方法及應用其之網路裝置
CN102624575B (zh) * 2011-01-28 2017-01-25 中兴通讯股份有限公司 一种避免以太网闭环的检测方法及系统
CN102347865B (zh) * 2011-11-04 2015-02-25 华为技术有限公司 一种以太网环路定位方法、交换设备及系统
WO2013082819A1 (zh) * 2011-12-09 2013-06-13 华为技术有限公司 一种二层网络环路处理的方法、装置及网络设备
CN102664783B (zh) * 2012-03-31 2015-07-08 华为技术有限公司 一种虚拟局域网环路检测方法和装置
US20160028589A1 (en) * 2013-03-15 2016-01-28 Hewlett-Packard Development Company, L.P. Data loop detection
US9479441B2 (en) * 2014-01-15 2016-10-25 Cisco Technology, Inc. Data rate adaptation based on time-based events
US20150236911A1 (en) * 2014-02-18 2015-08-20 Aruba Networks, Inc. Detecting characteristics of a data path loop on a network
CN105681119A (zh) * 2014-11-19 2016-06-15 中兴通讯股份有限公司 一种检测路由成环的方法及装置
CN112953822A (zh) * 2019-12-10 2021-06-11 华为技术有限公司 一种减少路由环路的方法、装置及系统

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790808A (en) * 1995-07-06 1998-08-04 3 Com Active topology maintenance in reconfiguring bridged local area networks with state transition with forgetting interval
US6023563A (en) * 1996-08-20 2000-02-08 Shani; Ron Networking switch having the network presence of a bridge
US6032194A (en) * 1997-12-24 2000-02-29 Cisco Technology, Inc. Method and apparatus for rapidly reconfiguring computer networks
US6628624B1 (en) * 1998-12-09 2003-09-30 Cisco Technology, Inc. Value-added features for the spanning tree protocol
US6801506B1 (en) * 1999-03-31 2004-10-05 Cisco Technology, Inc. Method and apparatus for providing fast spanning tree re-starts
US6519231B1 (en) * 1999-01-12 2003-02-11 Nortel Networks Limited Method and apparatus providing a spanning tree protocol for a data communications network having a multi-link trunk
US6526044B1 (en) * 1999-06-29 2003-02-25 Wandel & Goltermann Technologies, Inc. Real-time analysis through capture buffer with real-time historical data correlation
US6937576B1 (en) * 2000-10-17 2005-08-30 Cisco Technology, Inc. Multiple instance spanning tree protocol
JP4021841B2 (ja) * 2003-10-29 2007-12-12 富士通株式会社 スパニングツリープロトコルにおける制御パケット処理装置および方法
GB2372400B (en) * 2001-02-19 2003-05-28 3Com Corp Network management apparatus and method for determining the topology of a network
US7127523B2 (en) * 2001-07-27 2006-10-24 Corrigent Systems Ltd. Spanning tree protocol traffic in a transparent LAN
US7061875B1 (en) * 2001-12-07 2006-06-13 Cisco Technology, Inc. Spanning tree loop guard
JP3963728B2 (ja) * 2002-01-22 2007-08-22 富士通株式会社 スパニングツリーのバイパス方法および装置
US20030223379A1 (en) * 2002-05-28 2003-12-04 Xuguang Yang Method and system for inter-domain loop protection using a hierarchy of loop resolving protocols
JP2006074286A (ja) * 2004-08-31 2006-03-16 Fujitsu Ltd 伝送装置

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101631053B (zh) * 2009-08-28 2011-11-30 迈普通信技术股份有限公司 Eaps环网拓扑监控方法及系统
CN103210615B (zh) * 2010-11-18 2015-11-25 日本电气株式会社 闭合环路形成防止系统和闭合环路形成防止方法
CN103210615A (zh) * 2010-11-18 2013-07-17 日本电气株式会社 闭合环路形成防止系统和闭合环路形成防止方法
US9143447B2 (en) 2010-11-18 2015-09-22 Nec Corporation Closed loop formation preventing system and closed loop formation preventing method
CN102123104A (zh) * 2011-04-14 2011-07-13 福建星网锐捷网络有限公司 网络设备配置纠正方法和网络设备
CN102123104B (zh) * 2011-04-14 2013-01-30 福建星网锐捷网络有限公司 网络设备配置纠正方法和网络设备
US9178795B2 (en) 2011-06-17 2015-11-03 Huawei Technologies Co., Ltd. Method and ethernet switching device for detecting loop position in ethernet
WO2012171216A1 (zh) * 2011-06-17 2012-12-20 华为技术有限公司 以太网中环路位置检测的方法及以太网交换设备
CN106792857A (zh) * 2016-12-27 2017-05-31 上海斐讯数据通信技术有限公司 环路检测方法、环路检测装置及系统
CN108881328A (zh) * 2018-09-29 2018-11-23 北京东土军悦科技有限公司 数据包过滤方法、装置、网关设备及存储介质
CN108881328B (zh) * 2018-09-29 2021-02-23 北京东土军悦科技有限公司 数据包过滤方法、装置、网关设备及存储介质
CN113014441A (zh) * 2019-12-19 2021-06-22 西安诺瓦星云科技股份有限公司 网口环路检测方法和系统
CN111327504A (zh) * 2020-02-26 2020-06-23 深信服科技股份有限公司 虚拟局域网环路检测方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN101432721B (zh) 2011-01-26
EP2013759A2 (en) 2009-01-14
EP2013759B1 (en) 2013-02-20
US7453818B2 (en) 2008-11-18
WO2007133388A2 (en) 2007-11-22
WO2007133388A3 (en) 2008-07-31
EP2013759A4 (en) 2011-03-23
US20070253346A1 (en) 2007-11-01

Similar Documents

Publication Publication Date Title
CN101432721B (zh) 桥接网络中的潜在转发环路的检测
Tammana et al. Distributed network monitoring and debugging with {SwitchPointer}
US6526447B1 (en) Apparatus for restarting interrupted data transfer and method therefor
EP2563062B1 (en) Long connection management apparatus and link resource management method for long connection communication
CN100512194C (zh) 链路聚合方法、装置、mac帧收发方法和系统
CN1826776B (zh) 用于处理复制分组的方法和装置
CN101777998B (zh) 交换节点堆叠中的交换节点的远程控制
US8806007B2 (en) Inter-node communication scheme for node status sharing
CN103907321A (zh) 在胖树拓扑中利用虚拟通道的动态分配减轻拥挤的系统和方法
KR100425062B1 (ko) 데이터 교환 장치용 내부 통신 프로토콜
US9054972B2 (en) Method and apparatus for determining bandwidth-consuming frame flows in a network
CN102045192A (zh) 网络结构的假定所用的装置及系统
CN101102236A (zh) 探测环路的方法及装置
CN109586864A (zh) 数据传输方法、装置及系统
CN106487896A (zh) 用于处理远程直接内存访问请求的方法和装置
EP0478175B1 (en) A protocol analyzer
CN101199162B (zh) 一种控制通信网络的方法、系统和设备
CA2307474A1 (en) System and method to discover end node physical connectivity to networding devices
JPH07183905A (ja) 遠隔監視システム
CN105099916A (zh) 开放流路由交换设备及其对数据报文的处理方法
WO2007040325A1 (en) Device management system using log management object and method for generating and controlling logging data therein
CN101873232A (zh) 设备唯一性判断方法以及ip网络发现服务器
CN111315026B (zh) 信道的选择方法、装置、网关及计算机可读存储介质
EP1627316B1 (en) Data collection in a computer cluster
KR100791636B1 (ko) 데이터 타입을 고려한 비컨 전송 스케줄링 시스템 및 그방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110126

Termination date: 20210422

CF01 Termination of patent right due to non-payment of annual fee