专利名称:用于环形网络中的加速学习的系统和方法
技术领域:
本发明涉及通信设备,并且更具体地涉及环形网络上的数据帧传送。
背景技术:
建网的重要趋势是将基于分组的技术从局域网(LAN)移植到城域网(MAN)。最简单地说,MAN是跨越城市区域的网络。一般来说,MAN跨越的地理区域比LAN大,但是比广域网(WAN)小。MAN中快速增加的数据业务量正在挑战着基于诸如SONET、SDH和ATM的面向电路的技术的现有传输基础设施的容量极限。与在语音最优化的电路交换网络上传送日益增加的数据业务量相关联的低效率使得难以提供新的服务并且增加了扩建附加容量的费用,超出了大部分承建商的资金花费预算。基于分组的传输技术被很多人认为是用于升级城市网络以满足需求的最佳替代技术。
一种最主要的基于分组的传输技术是以太网。各种不同标准的以太网接口工作在10Mbps、100Mbps、1Gbps和10Gbps,因而提供了服务接口的可升级性。此外,由于几乎所有的互联网数据分组都开始并且结束于以太网帧,所以在整个传输路径上从开始到结束都按照一致的分组格式传送数据可以不再需要额外的协议和同步层,这些额外的层会导致额外的费用和复杂性。除了IP分组的高效处理,以太网还具有常见性、简单性和低成本的优点。虽然以太网很适合于点对点和网格状网络拓扑结构,但是可能很难将以太网运用在环形配置中并且作为共享介质。环形网络配置作为共享介质,并且通常使用媒体访问控制(MAC)机制来管理经过多个用户的访问。相比之下,以太网已经发展为支持全双工交换基础设施并且缺少这种类型的MAC机制。但是,城市区域中的大部分现有光纤网络基础设施是环形的,主要因为现有的传输技术(例如SONET)通常被部署在光纤环上。因此,可以充分利用光纤环又同时保持像以太网这样的基于分组的传输机制的固有优点的新技术会是非常有优势的。
大量的新兴技术将目标对准了城市数据传输应用。其中有动态分组传输/空间重用协议(DPT/SRP)和IEEE 802.17弹性分组环(RPR)标准。动态分组传输是被设计用来传送可升级的互联网服务、可靠的IP感知光传输和简化的网络操作的弹性分组环技术。基于DPT的解决方案允许服务提供者有效地利用网络规模并将它们的互联网和IP服务分配在可靠的光分组环形基础设施上。DPT基于SRP,SRP是Cisco Systems开发的用于基于环形的分组互联网络的MAC层协议。IEEE 802.17 RPR标准提供了迄今为止SONET所不具有的若干重要特征对环形拓扑结构的高效支持以及从光纤断裂和链路故障的快速恢复。期望RPR技术提供以太网所具备的高数据效率、简单性和成本优势。此外,RPR技术解决了现用技术所没有解决的诸如公平性和拥塞控制的问题。
如IEEE 802.17 RPR标准(“标准”)所述,RPR层模型可以用本领域普通技术人员所熟悉的开放式系统互连(OSI)参考模型来描述。示出了RPR实现方式的环形和站点结构的简化框图在图1中被示出。媒体访问控制(MAC)控制子层、MAC数据路径子层和协调子层在该标准中被规范,并且这些子层所支持的MAC服务接口和PHY服务接口也被规范。MAC服务接口提供MAC客户端用来与RPR环上的一个或多个对等客户端传送数据或在MAC和MAC客户端之间传送本地控制信息的服务原语。MAC控制子层控制数据路径子层,维护MAC状态及与其它RPRMAC的MAC控制子层的协调,以及MAC和其客户端之间的数据传送。MAC数据路径层为每个小环提供数据传送功能。PHY服务接口被MAC用来在物理介质上发送和接收帧。独特的协调子层指定特定的PHY和介质独立接口(MII)之间的映射关系。
弹性分组环系统100包括通过利用单向逆方向旋转小环的环形结构互连的若干环站点(站点0130、站点1140、站点2150、...和站点N160)。每个小环由具有同一方向的数据流的站点之间的链路构成。这些小环被标识为小环0110和小环1120。这个标准允许数据帧在两个被连接的小环中的任一个上被传送。例如,单播帧由源站点插入并且被目的站点复制。为了提高效率,目的站点也可以丢弃(strip)当前不相关的过期帧。以相邻站点为界的环的一部分被称为跨区(span),因而跨区由按相反方向传送的单向链路构成。RPR双环拓扑结构确保在单一跨区或站点出现故障之后可以使用源站点和目的站点之间的替代路径。故障响应方法包括绕行和保护,如在该标准中所描述的。
一个常见的网络元件是网桥。一般来说,网桥是具有两个或多个网络接口的设备,其将数据帧从一个接口转发到其它接口中的一个或多个接口。RPR标准规范了符合IEEE Std 802.1D-2004(或IEEE Std 802.1Q-2003)透明网桥的MAC桥接参考模型,其中RPR网络作为共享的广播介质。流量可以开始或终止于任一本地或远程端站点,并且可以由透明网桥经RPR网络转发到其它网络802。本地端站点是直接连接到RPR网络的端站点,而远程端站点是开始和终止经透明网桥在RPR网络上转发的LAN流量的端站点。操作为透明网桥的RPR站点在RPR网络和它们的其它相关LAN网络之间转发流量。
图2示出了符合IEEE 802.1D的RPR网桥的结构模型。MAC网桥的每个端口连接到单一网络。如图所示,网桥200包括互连网桥端口的网桥中继实体230,至少两个端口(210和220)以及更高层的实体240,例如网桥管理、网桥协议管理(例如生成树协议管理)等。网桥中继实体230处理与MAC方法无关的功能,即在网桥端口之间中继帧,过滤帧以及学习过滤信息(235)。过滤数据库(FDB)或表格237支持中继操作。网桥中继实体230还使用单独的MAC实体为每个端口提供的内部子层服务。每个网桥端口向其所连接的网络发送帧并从该网络接收帧。在网桥的示例200中,示出了两个端口,一个用于RPR网络,一个用于普通网络(例如另一个RPR环或各种其它的以太网网络)。每个端口都支持适当的依赖于MAC的功能215和225。
在RPR网络中,帧通常在其目的地被丢弃,即提供空间重用。这个策略一般不能用于远程帧,因为源/目的节点不在环上。RPR标准(见附录F)通过实现所谓的基本桥接来兼顾这种情况。在基本桥接中,所有远程帧被广播(“洪泛(flood)”)到环上,使得它们被所有网桥看到。利用这种方式,RPR仿效共享介质网络,其中所有帧对于所有节点都是可见的。但是,这种类型的洪泛阻碍了远程流量的空间重用,因此消耗了带宽资源。作为IEEE Project 802.17的一部分,目前正在努力研究对IEEEStandard 802.17-2004的修改建议,其定义了对802.17MAC的补充以支持空间感知桥接。这种修改将被称为802.17b,并且将规范空间感知或“高级”桥接。
虽然RPR网络中的一些网桥可以包括高级桥接功能,但是仍然希望那些网桥具有与基本网桥协同工作的能力。因此,希望有这样一种机制,通过该机制,基本网桥可以更高效地与高级网桥一起被使用。此外,希望这样的机制尽可能地在现有的和新兴的环形传输方案内工作。
通过参考下面的描述和附图,可以得到对本发明的更全面的理解及其优点,在附图中相似的标号表示相似的特征。
图1示出了弹性分组环RPR网络的环和站点结构的简化框图。
图2示出了也可以被修改用于实现本发明的技术的符合IEEE 802.1D的RPR网桥的简化框图。
图3示出了包括若干网桥的环形网络的简化框图。
图4A-4B是示出了本发明的与网络学习相关的技术的流程图。
图5示出了某些高级网桥组件的简化框图。
图6是示出了本发明附加的与网络学习相关的技术的流程图。
具体实施例方式
下面给出对用于执行这里所描述的一个或多个设备和/或处理的最佳预期模式的详细描述。本领域技术人员还将清楚,这里所公开的操作可以用多种方式来实现,并且在不脱离本发明及其更宽的方面的情况下可以进行这样的改变和修改。这些描述是为了示例,不应当被认为是限制性的。
应当注意图1中使用变量标识符“N”是为了更加简单地表示一系列相关或相似的元件中的最后一个元件(例如站点N160)。重复使用这样的变量标识符不意味着隐含有这样一系列元件的规模之间的相互关系,虽然可能存在这种相互关系。使用这样的变量标识符不要求每一系列的元件都具有与用相同的变量标识符界定的另一系列相同数目的元件。相反,在所使用的每个示例中,用“N”标识的变量可以具有与利用相同变量标识符的其它示例相同或不同的值。
另外,本申请中描述的系统、方法、设备和技术将着重于本领域技术人员所熟悉的某些网络通信概念。例如,这里所描述的站点一般可以是为了在网络上发送和/或接收信息而连接到该网络上的任何设备。这样的站点通常包括媒体访问控制(MAC)设备或实体,有时被简单地称为“MAC”,该设备或实体与IEEE所定义的数据链路层的两个子层中较低的层相关联并且负责管理对物理网络介质的协议访问等。MAC设备通常用硬件实现为一个或多个集成电路,例如ASIC、FPGA、PLD、微处理器、微控制器、嵌入式处理器、存储器等,也可以与在MAC设备硬件上执行的软件组合。一般来说,MAC客户端是调用MAC设备的服务接口的设备或实体。因而,MAC客户端通常包括利用一个或多个MAC设备的硬件和软件的某种组合。
本发明的系统、方法、设备和软件可以在被设计为符合IEEE 802.17弹性分组环(RPR)标准(IEEE 802.17-2004)的网络传输设备的上下文中来实现。但是,本发明的系统、方法、设备和软件不必局限于这个版本的RPR标准或局限于RPR实现方式。因而,本发明的系统、方法、设备和软件可以被用在新兴网络标准和/或对其的修改(例如IEEE 802.17b)的上下文中,也可以用在各种不同的网络结构和拓扑中。
在本申请中,重点是环形网络节点或站点。虽然这里大部分讨论集中的站点是网桥,但是本领域普通技术人员应当理解这里所公开的设备和技术可以用各种不同类型的网络设备来实现,例如路由器、交换机和网桥。一般来说,这些设备都是负责网络或网络区段之间的流量转发。因此,本申请中描述的各种桥接技术可以考虑利用路由器、交换机、网桥或它们的组合来实现。
如上所示,RPR标准规范了通过在目的地丢弃帧来提供空间重用的MAC层。但是,桥接的本质是提倡广播介质和帧的洪泛。在环形网络的上下文中,广播介质就隐含着所有帧被所有站点看到,这与空间重用是相矛盾的。RPR标准在帧头部中规范了特殊的指示,即洪泛指示,它迫使分组经过环上的每个站点,然后在源处被丢弃。更具体地说,RPR环上的网桥检查帧头部中的洪泛指示。如果洪泛指示被设置,则帧被复制并且被提供给网桥的中继部分。然后,中继决定是否在其所有端口或部分端口上转发帧。
回到图2,网桥200互连各种网络,每个网络都具有其自己的方式来控制对介质的访问。不同的MAC协议利用前面提到的内部子层服务(ISS)接口与网桥通信。帧从MAC通过这个接口被传送到中继230。然后,中继决定帧是否应当被转发,并利用ISS接口在正确的端口上将其转发。学习、过滤和转发过程(235)发生在中继230中,与在所连接的网络中使用的不同MAC协议无关。中继包含过滤数据库237,节点利用该数据库237上的信息被连接到网桥的不同端口。过滤数据库237可以包括静态和动态条目的混合。静态条目由管理员设置,而动态条目通过学习过程来管理。
洪泛也发生在网桥本身内,即当一个端口上接收到的帧被复制并在所有其它端口上被发送时。网桥内的洪泛一直持续到学习过程建立起过滤数据库为止,并且过滤数据库被用于限制洪泛的范围。通过检查经过中继230的帧的源地址,学习过程建立起哪些节点可以经不同的端口得到的图像。这个信息被用于提高网桥的效率,即通过最终只将单播帧传送到目的节点所在的网络。因而,RPR基本网桥所采用的洪泛规则可以被总结如下(1)如果帧的目的地址(DA)不是环上的站点,则帧被洪泛;(2)如果帧的DA是群组地址,则帧被洪泛;以及(3)如果帧的源地址(SA)不是发送帧的站点的源地址(即该站点是网桥),则帧被洪泛。
虽然存在实现高级桥接的各种不同方式,但是所提出的实现方式的共同目的是为了使环上的网桥学习环上的每个网桥后面有哪些主机(地址)被占用。通过允许端节点将远程帧直接送到负责向特定接收机转发流量的网桥,可以实现空间重用(至少在某些桥接情况下)。高级桥接可以被实现为设备内的中心网桥引擎的一部分(例如作为网桥中继230的一部分),作为RPR MAC之上或之下的附加过程,或者作为RPR MAC本身的一部分。因而,所执行的附加学习可以是现有网桥学习过程的一部分(即利用存储在诸如过滤数据库237的数据结构中的信息)或附加学习过程的一部分。一般来说,这里所公开的用于改进学习过程的技术可以用这些方式中的任一种方式来实现,因而下面讨论了不同的实现方式。
目前,IEEE 802.17b工作组计划将高级桥接特征放在所谓的空间感知子层(SAS)中的RPR MAC中。但是,在其它实现方式中,这种空间感知功能可以被放在系统中的任何地方,例如RPR MAC之上。必要的学习在针对每个节点的空间感知子层中被执行,并且将远程地址映射到本地(网桥)地址的表格或数据库被维护。这样的映射可以包括各种其它信息,例如详细的子端口映射和条目时效(aging)信息。虽然这个学习过程类似于网桥原本所需要的学习过程,但是它一般与那个学习过程相分离。网桥中继执行如上所述的对主机到端口的映射的学习,这使得它们能够决定哪些帧要在哪些端口上被转发。与此同时,对远程端站点地址和本地站点地址之间的映射的学习发生在支持高级桥接的节点中。
例如,SAS可以将远程客户端MAC地址和可选的VLAN信息与提供连接接口的RPR站点的本地(相对于环)MAC地址相关联。因而,MAC客户端要在环上发送帧的请求由SAS来处理(例如参见下面要讨论的图5)。当接收到这样的帧时,查询SAS数据库以确定目的地址(和潜在的VLAN标识符)是否具有相应的RPRMAC地址。如果是,则帧被直接发送到那个RPR站点,并且一旦被接收到就从环中去除这个帧。更具体地说,RPR帧头部内的DA字段被设置为被标识的RPRMAC地址,并且RPR帧头部中的洪泛指示符被设置为FI_NONE值(不进行洪泛)。如果没有与目的地址相对应的数据库条目,则帧在环上被洪泛。更具体地说,RPR帧头部内的DA字段被设置为RPR群组地址,并且RPR帧头部中的洪泛指示符被设置为FI_UNDIR(单向洪泛)值或FI_BIDIR(双向洪泛)值。
SAS所使用的学习过程通常观察接收到的帧的源MAC地址(和潜在的VLAN标识符)以及发起客户端帧的源RPR MAC地址。在以下情况下SAS数据库条目被动态地创建,即如果帧的源地址字段表示特定的端站点(即不是群组MAC地址),(2)得到的条目数不会超过过滤数据库的容量,并且(3)在RPR头部字段中找到的目的地址是特殊的RPR预留的群组地址,或者(4)在RPR头部中找到的目的地址是单播MAC地址并且洪泛指示字段被设置为FI_NONE。另外,可以实现各种其它的数据库维护特征。例如,可以程序式地核实本地/远程映射以确认没有变化,可以程序式地将本地/远程映射重新写入数据库中而不检查前面的条目,可以按照指定的或随机的间隔删除过期的条目,当检测到环拓扑的变化时可以清空条目等。本领域普通技术人员应当知道各种其它特征。
当在RPR环上这样的高级网桥与基本网桥协同工作时,SAS学习过程可能被防碍。参考图3,RPR网络300包括通过两个小环(301和302)互连的各个环站点(310-370)。RPR网络站点320、340和360操作为网桥,并且为了本示例的目的,站点340和360被实现为高级网桥,而站点320操作为基本网桥。与每个网桥相关联的是具有多个节点或远程客户端的相应的LAN(325、345和365)。当LAN 325上的远程客户端326发送去往LAN 365上的远程客户端366的帧时,帧首先被基本网桥320接收。因为站点320操作为基本网桥,所以遵照每个RPR标准对基本桥接的要求,接收到的帧被洪泛到环上。注意,附加的网桥中继或MAC逻辑可以被用于确定洪泛应当是单向的还是双向的。高级网桥340和360(以及RPR网络300上的所有其它站点)接收被洪泛的帧。因为站点340和360是高级网桥,所以它们有机会学习与基本网桥320相关联的远程客户端326。
一旦根据所采用的任何高级桥接方案(例如空间感知子层)学习了远程客户端326(和/或LAN 325上的其它远程客户端)的位置,高级网桥340和360就可以直接发送来自它们自己的远程客户端的帧。例如,当LAN 365上的远程客户端366发送去往LAN 325上的远程客户端326的帧时,帧首先被高级网桥360接收。当帧被网桥的SAS处理时,执行数据库查找,并且站点360确定远程客户端326与站点320相关联。然后,站点360可以通过单播目标寻址在环上将被传送的帧送到站点320,而不通过使用洪泛指示符的不定向传输。注意在大部分环桥接实现方式中,帧可以具有两个源和两个目的地址,即针对源和目的地中的每一个的一个本地地址和一个远程地址。
按照这种方式,实现了空间重用,其中在知道网桥为目的远程客户端提供连接接口的情况下,传输从高级网桥开始。而且,高级网桥可以选择用于传输的最佳小环(例如由于跳数较少所以选择小环0301),进而提高了带宽利用率。但是,这种从高级网桥360到基本网桥320的定向传输意味着环上的其它高级网桥(例如340)可能不能很快地学习到高级网桥360之后的远程客户端(例如LAN 365上的节点)。例如,因为高级网桥360不必洪泛去往远程客户端326的帧(因为高级网桥360“知道”远程客户端326与基本网桥320相关联),所以不存在以高级站点340可以从中学习的远程客户端366作为源地址的被洪泛的帧。当然,这不意味着高级网桥340将永远不能学习到高级网桥360的远程客户端;当LAN 365上的远程客户端发送去往LAN 345上的节点的帧时,高级网桥340将进行学习。作为LAN 365上的远程客户端,发送去往LAN 345上的节点的帧。但是,学习过程可能会被基本/高级网桥的交互所防碍。
图4A和4B示出了可以被用于加速学习过程的若干技术。图4A是示出了可以被执行用来建立用于加速网络学习的状态的第一过程的流程图。操作开始于400,其中假设诸如RPR网络300的环形网络正在工作并且该网络包括至少一个高级网桥和至少一个基本网桥。在下面的讨论中,将参考图3的网络,但是应当理解网络300只是可以实现本发明的技术的各种环形网络和环形网络配置中的一个示例。
在步骤405中,基本网桥接收来自该网桥所支持的网络上的远程客户端的帧。例如,基本网桥320可以接收来自LAN 325的远程客户端326的帧。因为这个帧由基本网桥接收,所以基本网桥将该帧洪泛到环(410)上。在RPR标准帧格式的上下文中,操作320可以包括各种步骤来准备用于传送到环上的帧。例如,这些步骤可以包括将帧头部源地址(SA)设置为基本网桥的MAC地址,将帧头部目的地址(DA)设置为由远程客户端指定的目的MAC地址或环群组地址,将帧头部扩展源地址(SAEXTENDED或ESA)设置为发起帧的远程客户端的MAC地址,将帧头部扩展目的地址(DAEXTENDED或EDA)设置为由远程客户端指定的目的MAC地址,以及将洪泛指示符(FI)设置为合适的洪泛值。本领域普通技术人员应当理解,根据RPR标准、对RPR标准的修改或类似的环传输协议,可以执行各种其它的映射和帧准备操作。
一旦帧被洪泛到环上,它最终被高级网桥(415)接受。再次参考图3,高级网桥例如站点360。通常,高级网桥选择基于帧指示的目的地址和/或洪泛指示符接受帧。在本示例中,因为帧被洪泛到环上,所以高级网桥将不丢弃帧,而是允许其顺着合适的小环被传送到下一个站点。接下来在步骤420中,高级网桥学习与基本网桥相关联的远程客户端。如上所示,执行该操作的逻辑可以存在于各种不同的站点实体(例如RPR MAC、网桥中继等)中。此外,可以包括各种步骤作为学习过程的一部分,例如学习附加信息、初始化(instantiate)时效定时器、将信息存储在表格/数据库中等。一般来说,实现高级桥接的方式将引申出可以被执行作为学习过程的一部分的各种操作。
除了常规的学习过程,在步骤425中执行附加操作。这里,与最新学习到的远程客户端/基本网桥映射相对应的专用的洪泛下次传输(FNT)指示符被设置。这个指示符通常针对于特定的被学习的数据库条目,虽然在某些实施例中,单个洪泛下次传输指示符可以对应于相应数据库中的多个映射对。洪泛下次传输指示符被设置为真值,以使得下一次高级网桥在其查找过程中找到用于将流量桥接到环上的条目时(例如远程客户端366经高级网桥360将帧传送到远程客户端326,并且高级网桥360在其数据库中找到远程客户端/基本网桥映射),它可以使得帧被洪泛到环上而不是直接被发送到基本网桥。因而,专门进行选择以洪泛可以被直接发送的帧,使得其它高级网桥可以更快地学习与高级网桥相关联的远程客户端的远程客户端/高级网桥映射。洪泛下次传输指示符可以用各种不同的方式来实现,但是通常按照与RPR标准中所规范洪泛指示符相同的方式被实现为一个或多个标记或位。任何附加的帧处理在步骤430中被处理(例如重传输、更新存在时间信息、如果高级站点是最后一个接收被洪泛的帧的站点,则丢弃该帧,洪泛被耦合到高级网桥的LAN等),并且该过程结束于435。
在图4B的流程图中示出了加速学习过程的接下来的部分,即使用洪泛下次传输信息。操作开始于450,其中假设上述学习已经发生,并且所讨论的高级网桥具有包括洪泛下次传输指示符信息的SAS类型的数据库。
在455中,高级网桥接收来自其远程客户端中的一个的帧,并且该帧去往基本网桥之后的远程客户端。一旦接收到这个帧,高级网桥就执行查找操作以确定它是否具有关于目的远程客户端(360)的SAS类型的信息。在本示例中,假设该信息确实存在,即高级网桥在其数据库中发现了针对目标远程客户端的远程客户端/基本网桥映射。另外,高级站点检查洪泛下次传输指示符的值。如果在465中确定FNT指示符不为真,即高级站点不应当故意将帧洪泛到环上,即使它具有足以直接传输的信息,则针对所形成的RPR帧的洪泛指示符被设置为“不洪泛”的值(470),并且操作转移到485,下面会进行描述。在一些实施例中,步骤470不必明确地执行,因为缺省的洪泛状态是“不洪泛”,因而不需要对缺省的状态进行改变。反之,如果FNT指示符具有真值,则操作转移到475。这里,针对所形成的RPR帧的洪泛指示符被设置为适当的洪泛值。另外,洪泛下次帧指示符被重置为假值(480)。这个操作被执行的原因是在很多实现方式中,优选的(如果不必要)洪泛只需要发生一次。在其它实施例中,洪泛下次传输指示符可以是计数器,允许进行所设置的若干次优选洪泛操作,并且执行计数器递减而不是重置指示符。与洪泛下次传输指示符相关联的各种其它技术可以被实现。
在步骤485中,根据任何其它协议要求完成帧的准备。帧被洪泛到环上(490),并且操作结束于495。在其它实施例中,洪泛下次传输指示符被用于执行帧的洪泛,只是为了告知其它高级网桥与所讨论的高级网桥相关联的远程客户端。因而,代替等待来自高级网桥之后的远程客户端的帧的发送,专用的学习帧可以基于网桥实体过滤数据库(例如图2中的FDB237)中的信息(立即、按照确定的间隔或按照随机的间隔)被发送。此外,虽然图4A和4B的过程在类似SAS的实现方式的上下文中被给出,但是它们同样可以用其它高级桥接方案来实施,例如网桥/端口映射和远程客户端/网桥映射被集成到单个处理、实体和/或数据库中的实现方式。
图5示出了某些高级网桥组件的简化框图。在本示例中,高级网桥500包括被实现为站点MAC的一部分或与站点MAC相分离的组件的空间感知子层510。高级网桥500的其它组件包括RPR MAC控制层520、RPRMAC数据路径层530、物理层服务接口540和550、MAC客户端560和网桥中继570。本领域普通技术人员应当理解各种其它组件也可以包括在高级网桥500中,并且在该图中为了清楚而省略掉了。
SAS510的基本操作包括将远程客户端地址和可选的附加VLAN标识符与提供到远程地址所标识的客户端的连接接口的RPR站点MAC相关联。当被请求的客户端目的地址是远程地址时,这个关联可以被用于支持环上的定向传输,从而提供高级网桥的功能。简单地说,SAS510支持高级网桥操作并且可以包括实现本申请中所公开的各种过程的逻辑。例如,学习模块516可以执行支持高级桥接所需要的学习操作以及上面结合图4A描述的至少一些增加的操作,例如确定何时设置洪泛下次传输指示符。被学习的信息(包括任何相关联的数据,例如洪泛下次传输指示符和条目时效信息)通常被存储在SAS数据库514中。高级桥接过滤操作,包括上面结合图4B描述的一些操作,由过滤逻辑512处理。
RPR MAC控制子层520提供了RPR标准中描述的各种RPR功能。示出了三种重要的RPR MAC控制功能类型,公平性模块522、拓扑&保护模块524以及操作、管理和维护(OAM)模块526。RPR MAC控制功能的其它示例(未示出)包括带宽分配控制,空间重用控制和帧排序。例如,公平性逻辑522操作为当站点将过多的数据引入到环上时减少可能的发生的拥塞。一般来说,不允许造成这种拥塞的站点使用多于可用容量的公平份额的容量以增加公平性合格流量,并且公平性逻辑522实现各种基于公平性的流量整形算法以在拥塞期间限制对可用容量的使用(至少针对符合条件的流量)。
拓扑&保护模块524提供与发现和维护环形拓扑相关的各种服务。例如,拓扑发现算法描述用于在环上广播包含在拓扑和保护(TP)帧中的拓扑信息的规则。这些帧包含关于起始站点以及构成该站点当前的拓扑图像的配置和容量的信息。当在环上站点周期性地变为活动的时并且当检测到站点或环状态的变化时,这些帧被产生。保护服务试图减少威胁环操作的情况,例如站点故障和网络跨区故障。保护一般包括引导或包装(wrap)流量以限制服务中断。
OAM模块526提供一组控制功能和指示来支持配置管理、故障管理和性能管理。与OAM模块526相关联的特殊的控制帧实现了在环层对故障的检测和隔离。这些帧可以在提供服务期间使用或者连续地使用来最小化异常操作的纠正时间。
RPR MAC数据路径子层530提供了客户端和物理层之间的交互以及相同环的其它MAC中的对等数据路径子层之间的通信。具体地说,RPRMAC数据路径子层530单独地支持两个小环,因此包括针对这两个小环的功能(534和536)。这个子层可以包括各种不同的逻辑,例如帧接收逻辑(例如检查、技术、过滤、丢弃、更新和排队帧)、帧转送(transit)逻辑和帧传输逻辑(例如小环选择、排队、服务类整形和包装)。
如上所示,包括本申请中所公开的技术的高级桥接功能可以用各种不同的方式来实现,并且高级网桥500只是一个示例。高级桥接功能可以被包括为设备内的中心网桥引擎的一部分(例如作为网桥中继230或570的一部分),作为RPR MAC之上或之下的附加过程,或者作为RPR MAC本身的一部分。
例如,在其中常规的网桥学习和过滤操作与用于执行加速学习的操作相结合的实现方式中,网桥过滤数据库(例如FDB 237)被增加了与每个条目相关联的额外的信息。正常情况下,FDB 237包含由48位的MAC地址和12位的VLAN标识符或标记构成的60位(或更大)的密钥。VLAN标记通常不是来自帧的12位的VLAN信息,而是取自于利用帧的VLAN进行索引的间接表格的值。存储在与密钥相关联的数据值中的信息是可以找到具有MAC地址/VLAN的站点的输出网桥端口。高级桥接增加了具有至少两个额外数据片段的密钥、指向可以找到MAC地址/VLAN的环上的站点的指针(某种类型的)以及可以被用于控制输出环上的洪泛以加速环学习的状态变量,例如洪泛下次传输指示符。
为了使各种查找数据库/表格实现方式的开销/功率消耗更低,散列法是对使用内容可寻址存储器(CAM)的替换方式。因此,可以利用MAC地址的组织唯一标识符(OUI)部分。48位MAC地址的OUI部分(22位)可能来自于一个小的OUI集合。余下的24位扩展标识符由制造商来分配。很多设备制造商只使用一个小的OUI集合。例如,Cisco Systems,Inc.目前大约有从00-00-0C到00-E0-FC的228个OUI值。选择散列算法时要注意保证所得到的散列不会偏离有限数目的OUI。可能的实现方式包括(1)其中密钥被重新安排以展开OUI值使得偏离被分散的单一散列;以及(2)其中OUI部分被散列化,然后与扩展的散列进行合并的两部分散列。
不管高级桥接功能(以及这里所描述的高级学习过程)是被集成到网桥中继逻辑中还是在空间感知子层被单独实现,相应数据库中的值的一致性对于正确的系统操作而言都是重要的。因而,可以执行各种数据库一致性检查操作。两种可能的一致性检查包括检查每个SA和ESA是否匹配,以及如果DA和EDA不是相同的值,则数据库是否与那些值一致。在一些实现方式中,可能希望基于DA和/或EDA(而不是SA/ESA)来学习。而且,当发现任何关于数据库一致性的问题时,一些实施例可以选择清理或“抛弃”数据库条目,例如在那些情况下避免帧的丢弃。例如,当帧的DA、EDA、SA和ESA已知但是在数据库和帧之间不一致时,条目可以从数据库中被删除并且处理帧的方式就像帧被洪泛了一样。因而,如果主机移动,则其影响被减轻并且新的拓扑结构被尽早地学习。在很多实施例中,可能只是可以更简单/更安全地重写数据库条目,而不是执行单独的一致性或有效性确认操作。
真实表格表1示出了在从介质中接收帧时的MAC实现方式的接收学习功能的示例。注意如果条目被核实,则不需要改变数据库(FDB)。如果核实失败,不执行核实而只是重写条目,或者条目不在数据库中,则条目应当被标记为向那个ESA洪泛下次传输。
表1
类似地,当从介质中接收帧时,MAC的接收路径复制/丢弃功能可以根据下面的真实表格(表2)来实现。搜索FDB以找到DA和/或EDA。还要注意在一些多播方案中,某些DA/EDA值可能表示多播帧。例如,不等于“myDA”的DA值可以被用于表示多播帧。最后,在一些实施例中,对于表1和表2的某些所描述的真实表格条目不需要实现。
表2
不管用于高级桥接的实现方式如何,可以实现更大的弹性,执行较少的洪泛,保证所有环站点上的数据库被清理和/或被重新学习。这个增加的弹性可能对于实现在高级网桥与基本网桥通信时可能发生的持续洪泛非常有用,并且其它的高级网桥已经(或将最终)使与正在与基本网桥通信的高级网桥相关联的条目变得过时。图6是示出了这种附加的关于网络学习的技术的流程图。注意在对图6的讨论中,将参考前面提到的过滤下一个传输指示符。虽然这个相同的指示符可以被用于下面所描述的附加的目的,但是也可以使用不同的指示符。
操作开始于600,其中假设诸如RPR网络300的环形网络正在工作并且该网络包括至少一个高级网桥和至少一个基本网桥。此外,所示出的过程对现有的SAS或FDB数据库进行操作,并且假设学习过程利用某些技术(例如上面结合图4A描述的)将洪泛下次传输(FNT)指示符放在数据库中。图6的过程监视数据库条目以确定是否需要执行洪泛。
在步骤610中,从数据库中选择条目。该条目通常包括远程客户端/网桥映射对和洪泛下次传输指示符。如果在620中确定洪泛下次传输指示符的值为真,则被发送到相应的远程客户端的下一个帧被洪泛以实现加速学习的目的,并且不需要采取附加的步骤。因此,操作返回到610,其中下一个条目被选择,并且该过程被重复。一般来说,该过程将循环经过所有的数据库条目并且根据处理逻辑中编码的所需要的模式重复进行。
如果在620中确定洪泛下次传输指示符的值为假,操作转移到630做进一步的判定。在这种情况下,步骤630试图确定与所选择的数据库条目相对应的定时器是否正在运行。所讨论的定时器被用于确定是否应当执行洪泛下次传输。这个定时器可以是用于数据库条目的现有的时效定时器(被用于周期性地刷新(flush)数据库条目),或者单独的定时器。在现有时效定时器在每次重新学习操作之后被重置的实现方式中,优选的是使用单独的定时器进行洪泛下次传输操作,因为传统的时效定时器不可能有机会触发洪泛下次传输操作。此外,定时器可以用多种不同的方式来实现。例如,数据库中(或相关的存储器中)开始时间值的存在可以表示定时器“正在运行”。在这些实现方式中,可以不像秒表那样定期地更新定时器的值,而是周期性将其与当前时间进行比较来确定所经过的时间是否满足某种条件或超过了阈值。在其它实现方式中,定时器的值可以被定期地更新。本领域技术人员还应当知道其它的实现方式。如果在630中确定没有相应的定时器正在运行,则在640中启动定时器,并且操作返回到610来选择下一个条目并且重复该过程。
如果在630中确定条目定时器正在运行,则操作转移到650,其中对定时器的期满(expiration)进行测试。确定期满的方式一般根据定时器的实现方式而改变。对于定时器机构和定时器是专用于这个功能还是用于多个功能而言,都是如此。例如,在使用现有的时效定时器的情况下,为了实现图6的过程的期满可以不同于时效期满,例如测试可能不是时效定时器是否已经期满,而是是否已经经过了小于时效间隔的某个间隔。此外,用于确定期满的间隔一般可以根据其它网络因素来设置,例如网络规模、所使用的定期时效间隔、数据库的规模等。在其它实施例中,不同的条目可以具有用于图6中所述过程的不同的期满间隔。如果在650中确定定时器没有期满,则操作返回到610来选择下一个条目并且重复该过程。如果定时器已经期满,则操作转移到660并且洪泛下次传输指示符被设置为其真值。然后,操作返回到610。
图6的过程一般会进行重复以使得在向与基本网桥相关联的远程客户端传输时可以发生附加的网络学习。本领域普通技术人员应当理解该过程的其它变形。例如,代替选择单一的数据库条目进行估计,可以选择一组条目。如果条目中的任一个满足所要求的标准(例如即将过期、单独的定时器已经期满等),则对于组中的所有条目,洪泛下次传输指示符可以被设置为真值。类似地,所使用的定时器可以对应于多个条目。在其它实施例中,所设置的指示符不是洪泛下次传输指示符,而是提示更加迅速的洪泛的指示符,例如专用学习帧的洪泛。
图4A、4B和6的流程图示出了本申请中所公开的加速学习过程的很多操作示例中的一些。本领域普通技术人员很容易意识到图4A、4B和6中所示出的某些步骤或操作可以被删掉或采用其它的顺序。此外,整个本申请中所描述的方法(包括图4A、4B和6)通常被实现为专用集成电路、可编程逻辑器件和/或被编码在计算机可读介质中作为可以在一个或多个处理器、FPGA、ASIC等上执行的一个或多个软件程序或微代码单元。计算机可读机制可以是电子存储介质、磁存储介质、光存储介质和传送对指令进行编码的信号的通信介质中的任意一个。这些模块、逻辑实体和程序的单独示例可以在单独的设备上被执行,与上述方法一致。因而,虽然某些步骤被描述为利用某些设备、软件程序、处理块或实体来执行,但是这是必须的,并且本领域普通技术人员应当理解各种替代的实现方式。
从最一般的意义上讲,这里所描述的网络和设备以帧的形式传输数据。帧是在传输介质上作为数据链路层单元被传送的信息的逻辑组。帧通常包括围绕包含在单元中的用户数据的头部和/或尾部信息,用于同步和错误控制。术语单元、数据报、消息、分组和片段也被用于描述在OSI参考模型的各个层和各种技术领域中的逻辑信息组。这里所使用的术语“帧”应当按照其最宽的意义来理解,并且可以包括诸如单元、数据报、消息、分组和分段之类的其它术语。
虽然针对特定的优选实施例描述了本发明,但是本领域技术人员可以引申出各种改变和修改,并且希望本发明包括落在所附权利要求范围内的这样的改变和修改。
权利要求
1.一种方法,包括在第一环形网络站点接收已由第二环形网络站点洪泛到环形网络上的帧;从所述帧中学习关于至少一个与所述帧相关联的源的信息;并且设置与所学习到的关于所述至少一个与所述帧相关联的源的信息相关联的洪泛下次传输指示符的值,其中所述洪泛下次传输指示符的值指示去往所述至少一个与所述帧相关联的源的后续传输应当被洪泛到所述环形网络。
2.如权利要求1所述的方法,其中所述环形网络为弹性分组环(RPR)网络。
3.如权利要求1所述的方法,其中所述第一环形网络站点是高级网桥并且所述第二环形网络站点是基本网桥。
4.如权利要求1所述的方法,其中所述至少一个与所述帧相关联的源还包括下列各项中的至少一个所述第二环站点和经第二网络耦合到所述第二环站点的远程客户端。
5.如权利要求1所述的方法,其中所述从所述帧中学习信息包括从所述帧读取第一源地址;从所述帧读取第二源地址;并且将所述第一源地址与所述第二源地址相关联。
6.如权利要求5所述的方法,其中所述第一源地址对应于所述第二环形网络站点的MAC地址,并且其中所述第二源地址对应于经第二网络耦合到所述第二环形网络站点的远程客户端的MAC地址。
7.如权利要求1所述的方法,还包括记录数据库中的条目,其中所述数据库中的条目包括来自所述帧的关于所述至少一个与所述帧相关联的源的信息和所述洪泛下次传输指示符的值。
8.如权利要求1所述的方法,还包括在所述第一环形网络站点接收来自经第二网络耦合到所述第一环形网络站点的远程客户端的第二帧;检索所述与所学习的关于所述至少一个与所述帧相关联的源的信息相关联的洪泛下次传输指示符的值;并且使第三帧被洪泛到所述环形网络上,其中所述第三帧包括来自所述第二帧的信息。
9.如权利要求8所述的方法,其中至少一个与所述第二帧相关联的目的地址是所述至少一个与所述帧相关联的源。
10.如权利要求8所述的方法,其中所述检索洪泛下次传输指示符的值还包括利用与所述第二帧相关联的至少一个目的地址搜索数据库。
11.如权利要求8所述的方法,还包括设置与所学习的关于所述至少一个与所述帧相关联的源的信息相关联的第二洪泛下次传输指示符的值,其中所述第二洪泛下次传输指示符的值指示去往所述至少一个与所述帧相关联的源的后续传输不应当被洪泛到所述环形网络。
12.如权利要求1所述的方法,其中所述学习和所述设置中的至少一个是利用所述第一环形网络站点的空间感知层和所述第一环形网络站点的网桥中继中的至少一个来执行的。
13.如权利要求1所述的方法被编码在计算机可读介质中作为可以在处理器上执行的指令,所述计算机可读介质是电子存储介质、磁存储介质、光存储介质和传送对所述指令进行编码的信号的通信介质中的一个。
14.一种设备,包括可操作为耦合到环形网络的第一媒体访问控制(MAC)设备,所述第一MAC设备包括被配置为在环形网络上发送和接收帧的控制逻辑;学习逻辑,其被耦合到所述第一MAC设备并且被配置为从第一个被接收的帧中读取至少一个源地址并且将所述至少一个源地址和相关联的洪泛下次传输指示符的值写入表格中,其中所述洪泛下次传输指示符的值指示去往所述至少一个与所述第一个被接收的帧相关联的源的后续传输应当被洪泛到所述环形网络;以及被耦合到所述学习逻辑的存储器,其中所述表格被存储在所述存储器中。
15.如权利要求14所述的设备,其中所述环形网络为弹性分组环(RPR)网络。
16.如权利要求14所述的设备,其中所述至少一个来自所述接收到的帧的源地址包括第一源地址和第二源地址,并且其中所述学习逻辑还被配置为读取所述第一源地址和所述第二源地址。
17.如权利要求16所述的设备,其中所述第一源地址对应于耦合到所述环形网络的基本网桥并且所述第二源地址对应于经第二网络耦合到所述基本网桥的远程客户端。
18.如权利要求14所述的设备,其中所述至少一个来自所述接收到的帧的源地址包括第一源地址和第二源地址,并且其中所述表格包括至少一个条目,所述至少一个条目包括所述第一源地址、所述第二源地址和所述洪泛下次传输指示符的值。
19.如权利要求14所述的设备,还包括过滤逻辑,其被耦合到所述存储器并且被配置为基于目的地址搜索所述表格来寻找第二帧,检索所述洪泛下次传输指示符的值并且使第三帧被洪泛在所述环形网络上,其中所述第三帧包括来自所述第二帧的信息。
20.如权利要求19所述的设备,其中与所述第二帧相关联的至少一个目的地址是所述至少一个来自所述第一个被接收的帧的源地址。
21.如权利要求19所述的设备,其中所述过滤逻辑还被配置为将所述洪泛下次传输指示符的值改变为指示去往所述至少一个与所述第一个被接收的帧相关联的源的后续传输不应当被洪泛到所述环形网络的值。
22.如权利要求14所述的设备,其中所述学习逻辑是环形网络站点的空间感知层。
23.如权利要求14所述的设备,还包括网桥中继实体。
24.如权利要求23所述的设备,其中所述学习逻辑是所述网桥中继实体的一部分。
25.一种设备,包括用于在第一环形网络站点接收已由第二环形网络站点洪泛到环形网络上的帧的装置;用于从所述帧中学习关于至少一个与所述帧相关联的源的信息的装置;以及用于设置与所学习的关于所述至少一个与所述帧相关联的源的信息相关联的洪泛下次传输指示符的值的装置,其中所述洪泛下次传输指示符的值指示去往所述至少一个与所述帧相关联的源的后续传输应当被洪泛到所述环形网络。
全文摘要
本发明提供的系统、方法、设备和技术可以用在包括弹性分组环形网络和其它类型的环形拓扑网络在内的网络中,以加速对网桥/客户端映射信息的学习。一旦学习到某些网桥/客户端映射信息,就可以设置指示符以使得去往特定客户端的后续传输被洪泛到环形网络上的所有站点而不是被直接传送到目标站点。另外,可以按照规则的或不规则的间隔触发强制洪泛的执行以进一步改进学习过程。
文档编号H04L12/40GK101019380SQ200580031043
公开日2007年8月15日 申请日期2005年10月31日 优先权日2004年11月9日
发明者迈克·塔克夫曼 申请人:思科技术公司