信息处理方法、装置及系统的制作方法

文档序号:7851596阅读:95来源:国知局
专利名称:信息处理方法、装置及系统的制作方法
技术领域
本发明涉及通信领域,具体而言,涉及一种信息处理方法、装置及系统。
背景技术
TRILL是多链接透明互连(Transparent Interconnection over Lots of Links)的英文缩写,也是IETF (互联网工程任务组)推荐的连接层(L2)网络标准,用于解决大型数据中心中STP (Spanning Tree protocol,生成树协议)的不足。在L2网络中,STP通过阻塞冗余链路来避免环路,但同时也造成了冗余链路带宽的浪费(被阻塞)。TRILL网络通过将 IS-IS (IntermediateSystemto Intermediate System,中间系统到中间系统)路由协议弓丨入L2网络,解决了 L2环路问题,同时保留了 L2多路径(或称为ECMP (Equivalent CostMultiple Path,等价多路径))。在TRILL网络中,运行TRILL协议的设备称为RBridge (路由网桥),并由一个Nickname(别名)唯一标识一台RBridge。在TRILL网络的入口,负责将端设备(End Station)的原始数据帧封装成TRILL格式(即在原始数据帧前面添加TRILL头和外部帧头,TRILL头中主要包括TRILL网络入口和出口路由网桥的Nickname和跳数)并注入TRILL网络的路由网桥称为入口处(Ingress)的路由网桥,简称为Ingress ;在TRILL网络的出口,负责将TRILL数据帧解封为原始数据帧并转发给端设备的路由网桥称为出口处(Egress)的路由网桥,简称为Egress,同时Egress还会学习该原始巾贞是从哪个Ingress导入TRILL网络的并形成MAC (MediaAccess Control,媒体接入控制)信息表{D_MAC, Ingress_
Nickname, ......}。因为Ingress和Egress路由网桥在TRILL网络中处在边缘部位,因此
又被称为边缘路由网桥(Edge RBridge)。为了避免环路,在TRILL网络的边界,在任何一个VLAN(VirtualLocalAreaNetwork,虚拟局域网)内只能由一个RBridge为一个端系统提供服务,这个RBridge称为这个端系统的服务提供者,假设在共享链路上的VLAN — x指定转发者(Appointed Forwarder,AF)。这种规定虽然能有效的避免环路,但是也带来了一些问题,假设共享链路上AF切换后,带来了远端Egress上某些MAC表项中Ingress_Nickname的变化(flip-flop);当端系统通过点对点链路多归属(Multi-homing,假设通过链路聚合组(Link Aggregation Group, LAG))到多个 RBridge 上时,为了避免引起远端 RBridge 上 MAC的flip-flop问题,这些链路只能工作在主备(Active-Standby)模式,从造成了带宽浪费,难以满足高性能数据中心的高吞吐量和高可靠性的需求。为此,TRILL工作组提出了路由网桥组(RBridge Group,RBG)或称为虚拟路由网桥(Virtual RBridge, RBv)的概念。在一个 RBG 内,组员共享一个Nickname,称为组Nickname,RBv成员会在TRILL网络中通告自己的组Nickname,来帮助其他RBridge计算通往该RBv的路径。在转发数据巾贞时,组员路由网桥用组Nickname而不是自己的设备Nickname来完成原始原始数据的TRILL封装,从而打破了上述规定并避免了 flip-flop问题。引入了 RBv概念以后,远端的路由网桥可以经过多个成员路由网桥到达该RBv。RBv和所述远端路由网桥的流量之间不同方向的流量存在经过不同成员路由网桥进、出TRILL网络的现象。假设,在附图I中,从Hl到H2的流量经过RBl- >..->RB3到达H2(假设通过SW (Short Wave,短波)通过负载分配将该流量分配给了 RB1),而从H2到Hl的流量经过RB3-->RB2到达Hl(假设RB3到RB2比RB3到RBl的路径更优),从而导致RBl始终无法通过自学习方式获取通过RB3可以到达H2的转发信息。在RBl不知道如何到达H2的情况下,RBl将会以未知(目的地)单播帧 的方式封装Hl发往H2的数据帧,并在TRILL网络中组播该流量。上述组播转发方式导致H1_>H2的流量到达无关的路由网桥RB5,不但浪费了网络带宽,而且还会消耗RB3的部分报文处理资源。如果Hl发往H2的流量巨大的话,上述转发信息缺失引起的带宽浪费和报文处理资源的消耗等问题是无法忍受的。为了避免上述问题,成员路由网桥之间需要一种高效的MAC信息分享机制。虽然端系统地址分发信息(EndStation Address Distribution Information,ESADI)协议提供了一种在不同路由网桥之间快速通告MAC地址信息的途径,但目前它只允许路由网桥通告本地MAC地址,即上述路由网桥不需要通过其他路由网桥就能到达端系统的MAC地址。除了本地MAC地址信息外,RBv成员之间还需要共享成员学习到远端MAC信息,即路由网桥必须通过其他路由网桥才能到达端系统的MAC地址。因此,目前的ESADI协议无法满足RBv成员之间的信息共享这一需求。相关技术中提及引入虚拟路由网桥组RBv,在引入以后,组员路由网桥必须能在组内共享彼此获取到的信息,假设MAC地址信息,以便组员能更好地为端系统提供服务,假设在跨越TRILL网络为端系统提供报文转发服务时,避免不必要的未知单播报文的组播转发。目前现有的技术不适合组内信息共享,假设MAC信息共享。在TRILL网络中,边缘路由网桥上的MAC地址信息格式与传统网络中的MAC地址信息格式不同(假设,远端MAC信息多了一个出口路由网桥的Nickname字段),因此,RBv之间的MAC地址是现有技术无法解决。现有的以VLAN为粒度的ESADI也无法保证将上述MAC地址信息和OAM消息的共享范围控制在组内。针对相关技术中目前的ESADI协议无法满足RBv成员之间的信息共享的需求的问题,目前尚未提出有效的解决方案。

发明内容
针对目前的ESADI协议无法满足RBv成员之间的信息共享的需求的问题,本发明提供了一种信息处理方法、装置及系统,以至少解决上述问题。根据本发明的一个方面,提供了一种信息处理方法,包括设备组内的第一成员在转发流量时学习转发信息,其中,所述设备组内的每个成员上创建有基于所述设备组的端系统地址分发信息ESADI实例;当所述第一成员学习到新的转发信息时,所述第一成员利用创建在该成员上的ESADI实例生成ESADI帧,其中,所述ESADI帧携带有所述新的转发信息;所述第一成员将所述ESADI帧发送至自身所在的多链接透明互连TRILL网络中。优选的,所述第一成员将所述ESADI帧发送到自身所在的TRILL网络中之后,还包括所述TRILL网络中,与所述第一成员在同一设备组内的其他成员接收所述ESADI帧;所述其他成员通过基于所述设备组的ESADI实例处理所述ESADI帧,学习到所述新的转发信肩、O优选的,所述ESADI帧的内部帧头中设置有特定标识,其中所述特定标识用于指示所述ESADI帧仅用于以组为单位的ESADI实例。优选的,所述特定标识为所述ESADI帧的帧头中的虚拟局域网标识VLAN ID字段时,所述特定标识的值为OxFFF或0x000。优选的,所述ESADI帧携带有设备组标识符,其中,所述设备组标识符用于指示所述ESADI帧的载荷信息能够在所述设备组标识符标识的设备组内共享。优选的,所述新的转发信息以类型、长度、值TLV格式存储在所述ESADI帧的载荷
信息中。优选的,所述新的转发信息包括媒体接入控制MAC信息和/或操作管理维护OAM 消息。优选的,所述新的转发信息为MAC信息时,所述第一成员将所述载荷信息中的设备标识符字段设置为所述MAC信息的出口路由网桥的别名Nickname。优选的,所述Nickname为0时,表示所述第一成员不经过其他路由网桥,直接到达所述MAC信息代表的设备。 优选的,所述新的转发信息为OAM消息时,所述第一成员将包括所述OAM消息中的TRILL头及其后续内容放入所述载荷信息中。优选的,所述设备组为一个虚拟路由网桥,或者,由多个路由网桥组成的逻辑单
J Li o根据本发明的另一个方面,提供了一种信息处理方法,包括设备组内的其他成员接收到同一设备组内的第一成员发送的端系统地址分发信息ESADI帧,其中,所述设备组内的每个成员上创建有基于所述设备组的ESADI实例,所述第一成员利用创建在该成员上的ESADI实例生成所述ESADI帧,其中,所述ESADI帧携带有所述第一成员学习到的新的转发信息;所述其他成员将所述ESADI帧发送到基于所述设备组的ESADI实例上处理,学习到所述新的转发信息。优选的,所述其他成员将所述ESADI帧送到基于所述设备组的ESADI实例上处理,包括所述其他成员根据所述ESADI帧中的特定标识和载荷信息中的设备组标识符,确定基于所述设备组的ESADI实例;所述其他成员将所述ESADI帧送到确定的ESADI实例上处理。根据本发明的另一个方面,提供了一种信息处理装置,位于设备组内的一个成员上,同一设备组内的每个成员上创建有基于所述设备组的端系统地址分发信息ESADI实例,所述装置包括第一学习模块,用于在转发流量时学习转发信息;生成模块,用于当所述第一学习模块学习到新的转发信息时,利用创建在本地的ESADI实例生成ESADI帧,其中,所述ESADI帧携带有所述新的转发信息;发送模块,用于将所述生成模块生成的所述ESADI帧发送到自身所在的多链接透明互连TRILL网络中。根据本发明的另一个方面,提供了一种信息处理装置,位于设备组内除第一成员外的其他成员上,同一设备组内的每个成员上创建有基于所述设备组的端系统地址分发信息ESADI实例,所述装置包括接收模块,用于接收到所述第一成员发送的ESADI帧,其中,所述第一成员利用创建在该成员上的ESADI实例生成所述ESADI帧,其中,所述ESADI帧携带有所述第一成员学习到的新的转发信息;第二学习模块,用于将所述ESADI帧发送到基于所述设备组的ESADI实例上处理,学习到所述新的转发信息。根据本发明的另一个方面,提供了一种信息处理系统,包括设备组内的第一成员,用于在转发流量时学习转发信息,其中,所述设备组内的每个成员上创建有基于所述设备组的端系统地址分发信息ESADI实例;当学习到新的转发信息时,利用创建在该成员上的ESADI实例生成ESADI帧,其中,所述ESADI帧携带有所述新的转发信息;将所述ESADI帧发送到自身所在的多链接透明互连TRILL网络中;与所述第一成员在同一设备组内的其他成员,用于接收到所述第一成员发送的ESADI帧;将所述ESADI帧发送到基于所述设备组的ESADI实例上处理,学习到所述新的转发信息。在本发明实施例中,设备组内的每个成员创建有基于设备组的ESADI实例,而不
是如同相关技术所提及的基于VLAN创建ESADI实例,第一成员学习到转发信息后,利用创建在该成员上的ESADI实例生成ESADI帧,并将生成的ESADI帧发送至TRILL网络中,借助ESADI帧将第一成员学习到的转发信息泛洪到网络中,供设备组中的其他成员学习,以达到设备组内所有成员共享转发信息的目的。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图I是根据相关技术的RBv成员对主机之间报文的不同转发路径示意图;图2是根据本发明实施例的第一种信息处理方法的处理流程图;图3是根据本发明实施例的第二种信息处理方法的处理流程图;图4是根据本发明实施例的第一种信息处理装置的结构示意图;图5是根据本发明实施例的第二种信息处理装置的结构示意图;图6是根据本发明实施例的信息处理系统的结构示意图;图7是根据本发明实施例的ESADI帧的内层帧头结构示意8是根据本发明实施例的ESADI参数数据TLV结构示意图;图9是根据本发明实施例的二层MAC地址信息可达性TLV结果示意图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。相关技术中提及,虽然ESADI协议提供了一种在不同路由网桥之间快速通告MAC地址信息的途径,但目前它只允许路由网桥通告本地MAC地址,即上述路由网桥不需要通过其他路由网桥就能到达端系统的MAC地址。除了本地MAC地址信息外,RBv成员之间还需要共享成员学习到远端MAC信息,即路由网桥必须通过其他路由网桥才能到达端系统的MAC地址。因此,目前的ESADI协议无法满足RBv成员之间的信息共享这一需求。虽然相关技术中提及引入虚拟路由网桥组RBv,在引入以后,组员路由网桥必须能在组内共享彼此获取到的信息,假设MAC地址信息,以便组员能更好地为端系统提供服务,假设在跨越TRILL网络为端系统提供报文转发服务时,避免不必要的未知单播报文的组播转发。但是现有的技术不适合组内信息共享,例如MAC信息共享。在TRILL网络中,边缘路由网桥上的MAC地址信息格式与传统网络中的MAC地址信息格式不同(假设,远端MAC信息多了一个出口路由网桥的Nickname字段),因此,RBv之间的MAC地址是现有技术无法解决。现有的以VLAN为粒度的ESADI也无法保证将上述MAC地址信息和OAM消息的共享范围控制在组内。为解决上述技术问题,本发明实施例提供了一种信息处理方法,其处理流程如图2所示,包括步骤S202、设备组内的第一成员在转发流量时学习转发信息,其中,设备组内的每个成员上创建有基于设备组的ESADI实例; 步骤S204、当第一成员学习到新的转发信息时,第一成员利用创建在该成员上的ESADI实例生成ESADI帧,其中,ESADI帧携带有新的转发信息;步骤S206、第一成员将生成的ESADI帧发送至自身所在的TRILL网络中。在本发明实施例中,设备组内的每个成员创建有基于设备组的ESADI实例,而不是如同相关技术所提及的基于VLAN创建ESADI实例,第一成员学习到转发信息后,利用创建在该成员上的ESADI实例生成ESADI帧,并将生成的ESADI帧发送至TRILL网络中,借助ESADI帧将第一成员学习到的转发信息泛洪到网络中,供设备组中的其他成员学习,以达到设备组内所有成员共享转发信息的目的。如图2所示流程,步骤S206在实施之后,即第一成员将生成ESADI帧发送到自身所在的TRILL网络中之后,与第一成员在同一设备组内的其他成员接收ESADI帧,并通过自身创建的基于设备组的ESADI实例处理ESADI帧,学习到新的转发信息。在本发明实施例中,设备组内的其他成员能够在设备组的单位内学习新的转发信息,达到设备组内成员共享转发信息的目的。为区分相关技术中提及的以VLAN为单元的ESADI实例和以设备组为单元的ESADI实例,实施时,在基于设备组生成的ESADI帧的内部帧头中设置有特定标识,该特定标识用于指示基于设备组生成的ESADI帧仅用于以组为单位的ESADI实例,而不用于以VLAN为单位的ESADI实例。后文使用的ESADI帧均为本发明实施例生成的ESADI帧,是基于设备组生成的ESADI实例生成的,与相关技术中的ESADI帧不同。为文为方便描述,将本发明实施例生成的ESADI帧简称为ESADI实例。在一个优选的实施例中,可以选择ESADI帧的帧头中的虚拟局域网标识(VLANID)字段作为特定标识,此时,特定标识的值为OxFFF (全I)或0x000 (全O)。另外,ESADI帧还可以携带有设备组标识符,其中,设备组标识符用于指示ESADI帧的载荷信息能够在设备组标识符标识的设备组内共享。即,利用设备组标识符指明了信息共享的设备组的范围,避免了设备组范围不清而导致的信息共享过程混乱、甚至信息丢失等问题。实施时,由于新的转发信息的信息量较大,可以对其存储规则进行限定,例如,一种优选的存储方式是将新的转发信息以TLV (Type-Length-Value,类型、长度、值)格式存储在ESADI帧的载荷信息中。若实际应用有变,根据实际应用情况选择TVL、VTL等方式或者还以其他的参数进行格式化存储均是可行的。上文任意一个优选的实施例中,优选的,新的转发信息可以包括MAC信息和/或OAM (Operation Administration Maintenance,操作管理维护)消息。根据实际情况不同,转发信息也可以包括其他能够达到转发目的的信息,在此不做赘述。转发信息目前包括MAC地址的原因在于,目前的ESADI协议是基于VLAN的粒度来分发端系统的MAC地址信息的,为了在不同VLAN之间隔离MAC信息共享,不同的VLAN创建不同的ESADI实例。在大型数据中心(Data Center,DC)中,会存在大量的具有MAC地址的虚拟机(Virtual Machine, VM)和物理服务器,即使通过VLAN划分,同一个VLAN也会存在大量的VM和服务器。另外,在DC中边缘路由网桥通常会作为TOR (Top ofRack,顶架)或EOR (End of Row,排端)等接入设备链接大量的VM和物理服务器,这些VM和服务器会分布在不同的VLAN内。因此,如果用以VLAN为粒度的ESADI方式在不同路由网桥之间共享MAC信息的话,一个RBv的成员路由网桥需要创建大量的ESADI实例,并在每个VLAN内与网络中其他路由网桥(及时不是RBv成员)共享该VLAN内的所有MAC信息,导致成员路由网桥上MAC信息的泛滥。因此,基于现有的基于VLAN的ESADI的MAC共享机制不适合RBv成员之间的信息共享,需要予以改进和优化。除了 MAC信息外,OAM消息也需要进行组内共享的原因是,假设在图I中,RBl(代表 RBv)将Hl发往H2的报文封装成TRILL报文时,在TRILL头中填入了不合适的TTUTimeToLive)值,导致上述TRILL报文到达RB3时,TTL已经被前面经过路由网桥减为O。此时,RB3需要向RBv发送OAM消息报告错误并丢弃报文。在RB2距RB2更近的情况下,该消息会被发送到RB2 (代表RBv)上。但是由于RB2没有发送所述TRILL报文,也不知道RBv内的哪个组员发送了上述错误的TRILL报文。如果不在组内共享该OAM消息的话,RBl将无法知道RB3通告的OAM消息,也无法知道发生了 TTL填写错误的事情。新的转发信息为MAC信息时,相关技术中ESADI协议只允许路由网桥通告本地MAC地址,而本例中的ESADI实例是基于设备组,因此,设备组内的其他成员除了本地的MAC信息外,RBv成员之间还能够共享成员学习到远端MAC信息,即路由网桥必须通过其他路由网桥才能到达端系统的MAC信息。并且,当新的转发信息为MAC信息时,第一成员可以将载荷信息中的设备标识符字段设置为MAC信息的出口路由网桥的别名(Nickname)。若Nickname为0时,则表示第一成员不经过其他路由网桥,直接到达MAC信息代表的设备。当新的转发信息为OAM消息时,第一成员可以将包括OAM消息中的TRILL头及其后续内容均放入载荷信息中。在上述任意一项优选实施例中,设备组可以为一个虚拟路由网桥,也可以由多个路由网桥组成的逻辑单元,根据实际情况而定。上述的信息处理方法是从优先学习到新的转发信息的第一成员一侧进行阐述,基于同一发明构思,本发明实施例还提供了另外一种信息处理方法,是与第一成员位于同一设备组的其他成员一侧出发,其处理流程图如图3所示,包括步骤S302、设备组内的其他成员接收到同一设备组内的第一成员发送的ESADI帧,其中,设备组内的每个成员上创建有基于设备组的ESADI实例,第一成员利用创建在该成员上的ESADI实例生成ESADI帧,其中,ESADI帧携带有第一成员学习到的新的转发信息;步骤S304、其他成员将接收的ESADI帧发送到基于设备组的ESADI实例上处理,学习到新的转发信息。如图3所示流程,步骤S304在实施时,其他成员将ESADI帧送到基于设备组的ESADI实例上处理,为保证能够准确的确定处理接收的ESADI帧的ESADI实例,则其他成员根据ESADI帧中的特定标识和载荷信息中的设备组标识符,确定基于设备组的ESADI实例,其他成员将ESADI帧送到确定的ESADI实例上处理。为支持上文任意一项优选的实施例,基于同一发明构思,本发明实施例还提供了一种信息处理装置,其结构示意图如图4所示,位于设备组内的一个成员上,同一设备组内的每个成员上创建有基于设备组的ESADI实例,该装置包括第一学习模块401,用于在转发流量时学习转发信息;生成模块402,与第一学习模块401相连,用于当第一学习模块401学习到新的转发信息时,利用创建在本地的ESADI实例生成ESADI巾贞,其中,ESADI帧携带有新的转发信息;发送模块403,与生成模块402相连,用于将生成模块402生成的ESADI帧发送到自身所在的TRILL网络中。为支持上文任意一项优选的实施例,基于同一发明构思,本发明实施例还提供了一种信息处理装置,其结构示意图如图5所示,位于设备组内除第一成员外的其他成员上,同一设备组内的每个成员上创建有基于设备组的ESADI实例,装置包括接收模块501,用于接收到第一成员发送的ESADI帧,其中,第一成员利用创建在该成员上的ESADI实例生成ESADI帧,其中,ESADI帧携带有第一成员学习到的新的转发信息;第二学习模块502,与接收模块501相连,用于将ESADI巾贞发送到基于设备组的ESADI实例上处理,学习到新的转发信息。为支持上文任意一项优选的实施例,基于同一发明构思,本发明实施例还提供了一种信息处理系统,其结构示意图如图6所示,包括设备组内的第一成员601,用于在转发流量时学习转发信息,其中,设备组内的每个成员上创建有基于设备组的ESADI实例;当学习到新的转发信息时,利用创建在该成员上的ESADI实例生成ESADI帧,其中,ESADI帧携带有新的转发信息;将ESADI帧发送到自身所在的TRILL网络中;与第一成员601在同一设备组内的其他成员602,用于接收到第一成员601发送的ESADI帧;将ESADI帧发送到基于设备组的ESADI实例上处理,学习到新的转发信息。综上可知,本发明实施例的目的在于,提供一种虚拟路由网桥组内组员设备以组为单位创建ESADI实例(为每一个组创建一个ESADI实例)的方法,用来在组内成员之间共
享信息的方法。为将本发明实施例提供的信息处理方法阐述地更清楚更明白,现以具体实施例对其进行说明。实施例一在同一个设备组的成员上,创建基于组的ESADI实例,用于在设备组的成员之间共享信息。其流程主要包括在ESADI帧的内层帧头中设置特殊标识,携带该标识的ESADI帧不用于以VLAN为、单位的ESADI实例;扩展ESADI帧,使其能携带设备组标识符,指明上述ESADI帧的载荷信息在设备组内共享;将需要在组内共享的消息以TLV格式放入ESADI帧的载荷中。具体的通过将ESADI帧的内层帧头中的VLAN ID置为特殊值来指明ESADI帧不再用于以VLAN为单位的ESADI实例,假设将VLAN ID中的有效bit位全部置I或置O。通过在ESADI帧的载荷中携带的设备组的Nickname信息,用来指明ESADI帧属于的设备组;在接收到ESADI巾贞后,设备组中的其他组员通过该Nickname信息定位处理ESADI帧的ESADI实例,从而实现组内信息共享。设备组可以是一个虚拟路由网桥,也可以 是其他类型的由多个路由网桥在一起构成的一个逻辑单元。对于MAC地址共享,在上述ESADI帧中,将需要共享的MAC信息放入MAC可行性TLV中,并将TLV中的Nickname字段设置为该MAC条目的出口路由网桥的Nickname,帧的发送者来共享远端MAC信息桥。特别的,如果上述TLV中的Nickname字段为0,则表示帧的发送者不经过其他路由网桥就可以直接到达MAC代表的设备。对于OAM消息共享,ESADI帧中,必须把包括原OAM消息中的TRILL头及其后续内容放入TLV中。与现有技术相比较,引入虚拟路由网桥组RBv以后,组员路由网桥必须能在组内共享彼此获取到的信息,假设MAC地址信息,以便组员能更好地为端系统提供服务,假设在跨越TRILL网络为端系统提供报文转发服务时,避免不必要的未知单播报文的组播转发。目前现有的技术不适合组内信息共享,假设MAC信息共享。在TRILL网络中,边缘路由网桥上的MAC地址信息格式与传统网络中的MAC地址信息格式不同(假设,远端MAC信息多了一个出口路由网桥的Nickname字段),因此,RBv之间的MAC地址是现有技术无法解决。现有的以VLAN为粒度的ESADI也无法保证将上述MAC地址信息和OAM消息的共享范围控制在组内。基于对现有ESADI协议的扩展,本发明实施例提出了一种创建基于路由网桥组的ESADI实例的方法,解决了 RBv成员之间MAC地址和OAM消息等信息的组内共享。实施例二图7是本发明实施例生成的ESADI帧的结构示意图,该帧结构中,内部VLAN标签信息(“Inner. VLAN Tag Information”)字段携带12比特的VLAN ID。在现有的ESADI协议中,该字段中的VLAN ID必须是一个有效值,它指明了该帧的ESADI载荷(ESADI Payload)中携带的信息仅在该ID指定的VLAN之内共享。在本发明实施例中,通过将该字段中的VLAN ID置为特殊值,假设保留的VLAN ID值OxFFF或0x000,指明该帧的ESADI载荷中携带的信息的共享范围不是VLAN。实际的共享范围是通过载荷中的TLV (Type-Length-Value)进一步指定的。在现有的ESADI协议中,ESADI载荷中携带的与该协议相关的TLV只有两个ESADI参数数据(ESADI Parameter Data) TLV (结构如图8所示)和MAC可达性(MAC-Reachabi I ity )TLV(结构如图9所示)。前者指明了一些参数,用来在共享信息的ESADI路由网桥之间选择指定路由网桥(Designated RBridge, DRB),控制共享信息的ESADI路由网桥之间的信息同步。后者包含共享的MAC条目。
本发明实施例通过在前一个TLV的预留扩展(Reserved for expansion)字段中包含RBv的Nickname信息(或者包括该Nickname信息的子TLV)的方式,进一步指定该ESADI帧的载荷中携带的信息是在指定的RBv组员之间共享的。除了将包含RBv的Nickname信息的TLV放在该预留扩展字段外,还可以直接将上述TLV直接放在载荷中,同样可以指明载荷中的信息的共享范围是是RBv的组员。 在现有的ESADI协议中,共享的MAC地址所属的VLAN是由ESADI帧的内层帧头中的VLAN ID指定。在帧头中的VLAN ID与载荷中MAC条目中的VLAN ID不同时,以前者为准,后者被忽略,即这些MAC地址是属于帧头指定的VLAN的。因此,通过一个ESADI帧,只能共享一个VLAN内的MAC信息。在本发明实施例中,上述MAC条目的VLAN完全由该条目的VLAN ID指定,在判断上述MAC条目的VLAN时,其内层帧头中的VLAN ID信息被忽略(因为该VLAN ID是个无效值)。因此,通过一个ESADI帧可以共享多个VLAN内的MAC信息。
在现有的ESADI协议中,ESADI帧产生路由网桥只能将本地MAC (即发送者不用经过其他路由网桥就可以直接到达的端系统的MAC地址)放在上述ESADI帧的载荷中予以共享,因此MAC可达性TLV中的Nickname字段通常被置0或者在接收端被忽略掉。在本发明实施例中,除了可以共享本地MAC外,还可以共享发送者学习到的远端MAC (即发送者必须经过其他路由网桥才能到达的端系统的MAC地址)信息。到达远端MAC地址的最后一跳路由网桥(包括虚拟路由网桥)的Nickname (即出口路由网桥的Nickname,记为Egress_Nickname)信息放置在上述TLV中的Nickname字段中。在ESADI巾贞的接收端,如果发现接收到的MAC可达性TLV中的Nickname非0,则表示MAC代表的端系统是最终可以通过Nickname代表的路由网桥到达,此时该Nickname不再被忽略。实施例三本实施例以图7为例,用实施例三为例描述一下RBl和RB2在RBv内的地址共享过程。本实施例中,Hl和H2的MAC地址分别为MACl和MAC2,位于VLAN I中。Hl和H2相互发送数据帧,从Hl到H2的帧,经过RBl处理(进行TRILL封装)后,进入TRILL网络,最终再由RB3处理(进行TRILL解封装)后到达H2。从H2到Hl的帧,经过RB3处理后,最终再由RB2处理后到达H1。通过自学习机制,RBl学习到本地的VLANl内存在MACl ;RB2学习到远端的VLANl内存在MAC2,通过RB3可以到达MAC2。下面描述一下RBl和RB3在RBv这个虚拟路由网桥组内共享MACl和MAC2的过程。步骤I :分别在RBl和RB2上配置并开启与RBv相关的ESADI实例;步骤2 =RBl学习到本地MACl的信息后,其上的上述ESADI实例封装一个ESADI帧,该帧的内层帧头的VLAN ID为OxFFF,ESADI载荷中的ESADI参数数据TLV的预留扩展字段中携带RBv的Nickname,产生一个包含MACl信息的MAC可达性TLV并放到上述ESADI载荷中。其中,所述MAC可达性TLV中,MAC字段为MACl,VLANID字段为I,Ni ckname字段为 RBv 的 Nickname。步骤3 =RBl上的ESADI实例将ESADI帧泛洪到TRILL网络中,从而保证所有路由网桥都能收到该ESADI帧。步骤4 RB3收到该ESADI帧后,发现内层帧头中的VLANID为OxFFF,因为自己只实现了 VLAN粒度的ESADI功能,或根本就没有启用ESADI功能,丢弃该帧。步骤5 RB2收到所述帧后,发现内层帧头中的VLAN ID为OxFFF,因为自身在RBv上启用了 ESADI实例,该帧将被进一步处理,从该帧的载荷中的ESADI参数数据TLV的预留扩展字段中解析出RBv的Nickname。然后将该帧上述与RBv关联的ESADI处理。步骤6 RB2上与RBv关联的ESADI实例通过解析载荷中的MAC可达性TLV,学习到通过RBv可以到达MACl,从而在本地建立了 MACl的转发条目。步骤7 :当RB2收到从RB3发往RBv后面的Hl的TRILL格式数据帧时,因为自己是RBv的成员之一,会将TRILL格式数据帧解封装为原始数据帧并发送给Hl。在RBv范围内,RB2和RBl共享远端MAC地址MAC2的流程与上述流程类似,区别在于RB2产生ESADI树帧时,载荷中的MAC可达性TLV中的MAC字段为MAC2,Nickname字段为RB3的Nickname。RBl收到该ESADI帧后,可以学习到通过RB3可以到达MAC2。 实施例四本实施例中,假设从RBl到RB3中间会经过N个传输路由网桥;从111到H2的帧,经过RBl处理(代表RBv对ESADI帧进行TRILL封装,TRILL头中的Engress为RB2,Ingress为RBv)后,进入TRILL网络,最终到达RB3。由于某种原因RBl在Hl的上述帧进行TRILL封装时,填写到TRILL头中的TTL〈N (假设N>255,超出了 TTL允许的最大值)。最终导致上述TRILL封装后的报文到达RB3时,TTL已经减小到了 0(在从RBl向RB3的传输过程中,每经过个路由网桥,报文中的TTL就会减1),RB3会认为是个不合法的TRILL报文予以丢弃。丢弃该报文前,RB3会给RBv发送OAM消息报告该错误。但是被丢弃的报文并不是RB2导A TRILL网络的,它只知道是RBv组内的某个成员导入的但不知道具体是哪个组员。为此,RB2需要在RBv组内共享该OAM消息。共享过程如下步骤I :RB2收到上述OAM消息后,解析OAM消息,发现引起错误的报文不是自己产生的,利用自己为RBv创建的ESADI实例,产生一个ESADI帧;步骤2 :该巾贞的内层巾贞头的VLAN ID为OxFFF,将包括RBv的Nickname的NicknameTLV放入ESADI帧的载荷中;并将OAM消息中TRILL头及后续内容放入到OAM信息共享TLV中,然后将封装好的ESADI帧发送出去;步骤3 RB3收到该ESADI帧后,发现内层帧头中的VLANID为OxFFF,因为自身只实现了 VLAN粒度的ESADI功能,或根本就没有启用ESADI功能,丢弃该帧。步骤4 :当RBl收到该数据帧后,发现内层帧头中的VLAN ID为OxFFF,因为自己在RBv上启用了 ESADI实例,该帧将被进一步处理,从该帧的载荷中的ESADI参数数据TLV的预留扩展字段中解析出RBv的Nickname。然后将该帧上述与RBv关联的ESADI处理。步骤6 : RB I上与RBv关联的ESADI实例通过解析载荷中的OAM消息TLV,获取OAM消息,并将OAM消息传递给OAM消息处理模块作进一步的处理。通过上述组内信息共享机制,RBl接收到RB3发送的OAM消息,就可以知道引起错误的原因并予以处理。本发明实施例提供的基于ESADI在设备组内共享信息的机制,通过在ESADI载荷中携带其他格式的TLV,也可以实现其他信息的组内共享。从以上的描述中,可以看出,本发明实现了如下技术效果在本发明实施例中,设备组内的每个成员创建有基于设备组的ESADI实例,而不是如同相关技术所提及的基于VLAN创建ESADI实例,第一成员学习到转发信息后,利用创建在该成员上的ESADI实例生成ESADI帧,并将生成的ESADI帧发送至TRILL网络中,借助ESADI帧将第一成员学习到的转发信息泛洪到网络中,供设备组中的其他成员学习,以达到设备组内所有成员共享转发信息的目的。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.ー种信息处理方法,其特征在于,包括 设备组内的第一成员在转发流量时学习转发信息,其中,所述设备组内的每个成员上创建有基于所述设备组的端系统地址分发信息ESADI实例; 当所述第一成员学习到新的转发信息时,所述第一成员利用创建在该成员上的ESADI实例生成ESADI帧,其中,所述ESADI帧携带有所述新的转发信息; 所述第一成员将所述ESADI帧发送至自身所在的多链接透明互连TRILL网络中。
2.根据权利要求I所述的方法,其特征在于,所述第一成员将所述ESADI帧发送到自身所在的TRILL网络中之后,还包括 所述TRILL网络中,与所述第一成员在同一设备组内的其他成员接收所述ESADI帧; 所述其他成员通过基于所述设备组的ESADI实例处理所述ESADI帧,学习到所述新的转发信息。
3.根据权利要求I所述的方法,其特征在于,所述ESADI帧的内部帧头中设置有特定标识,其中所述特定标识用于指示所述ESADI帧仅用于以组为单位的ESADI实例。
4.根据权利要求3所述的方法,其特征在于,所述特定标识为所述ESADI帧的帧头中的虚拟局域网标识VLAN ID字段时,所述特定标识的值为OxFFF或0x000。
5.根据权利要求I所述的方法,其特征在于,所述ESADI帧携带有设备组标识符,其中,所述设备组标识符用于指示所述ESADI帧的载荷信息能够在所述设备组标识符标识的设备组内共享。
6.根据权利要求I至5任一项所述的方法,其特征在于,所述新的转发信息以类型、长度、值TLV格式存储在所述ESADI帧的载荷信息中。
7.根据权利要求6述的方法,其特征在于,所述新的转发信息包括媒体接入控制MAC信息和/或操作管理维护OAM消息。
8.根据权利要求7所述的方法,其特征在于,所述新的转发信息为MAC信息时,所述第一成员将所述载荷信息中的设备标识符字段设置为所述MAC信息的出口路由网桥的别名Nickname。
9.根据权利要求8所述的方法,其特征在于,所述Nickname为O时,表示所述第一成员不经过其他路由网桥,直接到达所述MAC信息代表的设备。
10.根据权利要求9所述的方法,其特征在于,所述新的转发信息为OAM消息时,所述第一成员将包括所述OAM消息中的TRILL头及其后续内容放入所述载荷信息中。
11.根据权利要求I至5任一项所述的方法,其特征在于,所述设备组为ー个虚拟路由网桥,或者,由多个路由网桥组成的逻辑单元。
12.ー种信息处理方法,其特征在于,包括 设备组内的其他成员接收到同一设备组内的第一成员发送的端系统地址分发信息ESADI帧,其中,所述设备组内的每个成员上创建有基于所述设备组的ESADI实例,所述第一成员利用创建在该成员上的ESADI实例生成所述ESADI帧,其中,所述ESADI帧携带有所述第一成员学习到的新的转发信息; 所述其他成员将所述ESADI帧发送到基于所述设备组的ESADI实例上处理,学习到所述新的转发信息。
13.根据权利要求12所述的方法,其特征在于,所述其他成员将所述ESADI帧送到基于所述设备组的ESADI实例上处理,包括 所述其他成员根据所述ESADI帧中的特定标识和载荷信息中的设备组标识符,确定基于所述设备组的ESADI实例; 所述其他成员将所述ESADI帧送到确定的ESADI实例上处理。
14.ー种信息处理装置,其特征在于,位于设备组内的一个成员上,同一设备组内的姆个成员上创建有基于所述设备组的端系统地址分发信息ESADI实例,所述装置包括 第一学习模块,用于在转发流量时学习转发信息; 生成模块,用于当所述第一学习模块学习到新的转发信息时,利用创建在本地的ESADI实例生成ESADI帧,其中,所述ESADI帧携带有所述新的转发信息; 发送模块,用于将所述生成模块生成的所述ESADI帧发送到自身所在的多链接透明互连TRILL网络中。
15.ー种信息处理装置,其特征在于,位于设备组内除第一成员外的其他成员上,同一设备组内的每个成员上创建有基于所述设备组的端系统地址分发信息ESADI实例,所述装置包括 接收模块,用于接收到所述第一成员发送的ESADI帧,其中,所述第一成员利用创建在该成员上的ESADI实例生成所述ESADI帧,其中,所述ESADI帧携带有所述第一成员学习到的新的转发信息; 第二学习模块,用于将所述ESADI帧发送到基于所述设备组的ESADI实例上处理,学习到所述新的转发信息。
16.—种信息处理系统,其特征在于,包括 设备组内的第一成员,用于在转发流量时学习转发信息,其中,所述设备组内的每个成员上创建有基于所述设备组的端系统地址分发信息ESADI实例;当学习到新的转发信息时,利用创建在该成员上的ESADI实例生成ESADI帧,其中,所述ESADI帧携带有所述新的转发信息;将所述ESADI帧发送到自身所在的多链接透明互连TRILL网络中; 与所述第一成员在同一设备组内的其他成员,用于接收到所述第一成员发送的ESADI帧;将所述ESADI帧发送到基于所述设备组的ESADI实例上处理,学习到所述新的转发信ο
全文摘要
本发明公开了一种信息处理方法、装置及系统,该方法包括设备组内的第一成员在转发流量时学习转发信息,其中,设备组内的每个成员上创建有基于设备组的ESADI实例;当第一成员学习到新的转发信息时,第一成员利用创建在该成员上的ESADI实例生成ESADI帧,其中,ESADI帧携带有新的转发信息;第一成员将ESADI帧发送至自身所在的TRILL网络中。采用本发明能够解决相关技术中目前的ESADI协议无法满足RBv成员之间的信息共享的需求的问题。
文档编号H04L12/46GK102710510SQ20121015619
公开日2012年10月3日 申请日期2012年5月18日 优先权日2012年5月18日
发明者廖婷, 成明江, 翟洪军 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1