CN106254243B - 一种报文转发方法及装置 - Google Patents
一种报文转发方法及装置 Download PDFInfo
- Publication number
- CN106254243B CN106254243B CN201610873230.8A CN201610873230A CN106254243B CN 106254243 B CN106254243 B CN 106254243B CN 201610873230 A CN201610873230 A CN 201610873230A CN 106254243 B CN106254243 B CN 106254243B
- Authority
- CN
- China
- Prior art keywords
- message
- tag
- forwarding
- parent
- table item
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/58—Association of routers
- H04L45/583—Stackable routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/44—Distributed routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
Abstract
本发明提供一种报文转发方法及装置,该方法包括:向系统中其它父设备同步自身生成的转发表项,并接收其它父设备同步的转发表项;当接收到非父设备发送的第一报文时,根据所述第一报文查询本地维护的转发表项;若本地存在所述第一报文的出端口,则将所述第一报文从所述出端口转发;若其它父设备上存在所述第一报文的出端口,则对所述第一报文封装E‑TAG,所述E‑TAG中携带有其它父设备上的出端口对应的E‑CID,并将封装E‑TAG的第一报文转发给其它父设备。应用本发明实施例可以实现父设备的横向堆叠,且将数据层面由集中转发模式转换为分布式转发模式,提高数据层面处理效率。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种报文转发方法及装置。
背景技术
IRF3(the 3rd Intelligent Resilient Framework,第三代智能弹性架构)组网中设备按照功能不同,分为两种角色:
父设备:作为所有PEX(Port Extender device,端口扩展设备)设备的主控设备,负责配置和管理PEX设备。
PEX设备:作为父设备的远程业务板,负责将用户发送的报文传送到父设备处理。同时,通过PEX设备能够按需灵活地增加父设备上可用端口的数量。
发明内容
本发明提供一种报文转发方法及装置,以实现父设备的横向堆叠。
根据本发明实施例的第一方面,提供一种报文转发方法,应用于包括多个父设备的堆叠系统中的目标父设备,所述多个父设备属于处于同一命名空间namespace,所述多个父设备分别维护有自身以及其它父设备上各端口的E-CID,该方法包括:
向系统中其它父设备同步自身生成的转发表项,并接收其它父设备同步的转发表项;其中,所述转发表项包括二层转发表项和三层转发表项;
当接收到非父设备发送的第一报文时,根据所述第一报文查询本地维护的转发表项;
若本地存在所述第一报文的出端口,则将所述第一报文从所述出端口转发;
若其它父设备上存在所述第一报文的出端口,则对所述第一报文封装E-TAG,所述E-TAG中携带有其它父设备上的出端口对应的E-CID,并将封装E-TAG的第一报文转发给其它父设备,以使其它父设备根据所述E-TAG中携带的E-CID确定本地存在所述第一报文的出端口时,将所述封装E-TAG的第一报文解除E-TAG封装后,从该出端口转发。
根据本发明实施例的第二方面,提供一种报文转发装置,应用于包括多个父设备的堆叠系统中的目标父设备,所述多个父设备属于处于同一命名空间namespace,所述多个父设备分别维护有自身以及其它父设备上各端口的E-CID,该装置包括:
同步单元,用于向系统中其它父设备同步自身生成的转发表项,并接收其它父设备同步的转发表项;其中,所述转发表项包括二层转发表项和三层转发表项;
接收单元,用于接收非父设备发送的第一报文;
查询单元,用于当所述接收单元接收到的非父设备发送的第一报文时,根据所述第一报文查询本地维护的转发表项;
发送单元,用于若本地存在所述第一报文的出端口,则将所述第一报文从所述出端口转发;若其它父设备上存在所述第一报文的出端口,则对所述第一报文封装E-TAG,所述E-TAG中携带有其它父设备上的出端口对应的E-CID,并将封装E-TAG的第一报文转发给其它父设备,以使其它父设备根据所述E-TAG中携带的E-CID确定本地存在所述第一报文的出端口时,将所述封装E-TAG的第一报文解除E-TAG封装后,从该出端口转发。
应用本发明实施例,目标父设备通过向系统中其它父设备同步自身生成的转发表项,并接收其它父设备同步的转发表项,当接收到非父设备发送的第一报文时,根据该第一报文查询本地维护的转发表项,若本地存在第一报文的出端口,则将第一报文从该出端口转发,若其它父设备上存在第一报文的出端口,则对该第一报文封装E-TAG,该E-TAG中携带有其它父设备上的出端口对应的E-CID,并将封装E-TAG的第一报文转发给其它父设备,以使其它父设备根据E-TAG中携带的E-CID确定本地存在第一报文的出端口时,将该封装E-TAG的第一报文解除E-TAG封装后,从该出端口转发,从而实现了父设备的横向堆叠,且将数据层面由集中转发模式转换为了分布式转发模式,提高了数据层面处理效率。
附图说明
图1是本发明实施例提供的一种报文转发方法的流程示意图;
图2是本发明实施例提供的一种具体应用场景的架构示意图;
图3是本发明实施例提供的一种报文转发装置的结构示意图;
图4是本发明实施例提供的另一种报文转发装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
请参见图1,为本发明实施例提供的一种报文转发方法的流程示意图,如图1所示,该方法可以包括以下步骤:
需要说明的是,在本发明实施例中,步骤101~步骤104的执行主体可以为包括多个父设备的堆叠系统中的任一父设备(本文中称为目标父设备),该多个父设备处于同一namespace(命中空间),多个父设备分别维护有自身以及其它父设备上各端口的E-CID,为便于描述,以下以步骤101~步骤104的执行主体为目标父设备为例进行说明。
步骤101、向系统中其它父设备同步自身生成的转发表项,并接收其它父设备同步的转发表项;其中,该转发表项包括二层转发表项和三层转发表项。
本发明实施例中,为了实现父设备之间的横向堆叠,将堆叠系统的数据转发模式由集中转发模式转换为分布式转发模式,形成横向堆叠的多个父设备之间需要相互同步自身生成的转发表项,该转发表项包括二层转发表项(可以包括MAC(Media Access Control,媒体访问控制)、VLAN(Virtual Local Area Network,虚拟局域网)信息以及端口的E-CID(E-channel Identifier,扩展通道标识符)等信息)以及三层转发表项(可以包括ARP(Address Resolution Protocol,地址解析协议)表项以及路由转发表项等)。
作为一种可选的实施方式,在本发明实施例中,向系统中其它父设备同步自身生成的转发表项,可以包括:
通过扩展的TLV向其它父设备同步自身生成的转发表项。
在该实施方式中,可以通过对802.1br协议进行扩展的方式实现各父设备之间的转发表项的同步。
具体地,可以对802.1br协议中TLV(Type,Length,Value,类型、长度、值)进行扩展,并通过扩展的TLV实现各父设备之间的转发表项的同步。
举例来说,以二层转发表项同步为例,当目标父设备从某端口新学习到一条MAC时,目标父设备可以将该MAC地址、该端口对应的VLAN信息以及该端口对应的E-CID携带在扩展的TLV中,并发送给其它父设备,以使其它父设备在本地维护对应的转发表项,进而,当其它父设备接收到目的MAC地址为该MAC地址的报文时,可以根据该转发表项确定报文的出端口在目标父设备上。
作为一种可选的实施方式,在本发明实施例中,向系统中其它父设备同步自身生成的转发表项,可以包括:
当确定满足预设触发条件时,向系统中其它父设备同步自身生成的转发表项;
其中,该预设触发条件包括未同步的转发表项的数量达到预设数量阈值,或到达预设同步时间。
在该实施方式中,为了避免堆叠系统中各父设备之间同步转发表项的报文数量过多,可以预先设定一个数量阈值(可以根据实际场景设定,如1000、2000等),堆叠系统中各父设备可以在自身生成的且未同步的转发表项数量达到该预设数量阈值时,将该预设数量阈值的转发表项统一向其它父设备同步。
进一步地,又考虑到若父设备每次都需要在自身生成的且未同步的转发表项数量达到预设数量阈值时再进行转发表项同步,可能会出现转发表项数量不足,导致无法进行同步的情况,因此,还可以预设设定同步时间(可以根据实际场景设定,如每15分钟、30分钟等),当各父设备确定到达预设同步时间时,则无论当前未同步的转发表项的数量是否达到预设数量阈值,均进行转发表项同步。
相应地,在该实施方式中,当目标父设备确定未同步的转发表项的数量达到预设数量阈值,或到达预设同步时间时,目标父设备均需要向其它父设备同步转发表项。
值得说明的是,在本发明实施例中,对于不同的转发表项,可以分别设置不同的数量阈值和/或同步时间,例如,对于三层转发表项和二层转发表项,可以分别设置不同的数量阈值和/或同步时间;对于ARP表项和路由转发表项,也可以分别设置不同的数量阈值和/或同步时间,其具体实现在此不再赘述。
步骤102、当接收到非父设备发送的第一报文时,根据第一报文查询本地维护的转发表项。
本发明实施例中,当目标父设备接收到非父设备(即非堆叠系统内其它父设备)发送的报文(本文中称为第一报文)时,目标父设备需要根据该第一报文的目标IP地址(或目的MAC地址)查询本地维护的转发表项(包括自身生成的转发表项,以及其它父设备同步的转发表项),以确定第一报文的出端口。
步骤103、若本地存在第一报文的出端口,则将第一报文从该出端口转发。
本发明实施例中,若目标父设备根据第一报文查询本地维护的转发表项确定本地存在该第一报文的出端口,则目标父设备可以直接将该第一报文从该出端口转发。
步骤104、若其它父设备上存在该第一报文的出端口,则对该第一报文封装E-TAG(扩展标签),该E-TAG中携带有其它父设备上的出端口对应的E-CID,并将封装E-TAG的第一报文转发给其它父设备,以使其它父设备根据该E-TAG中携带的E-CID确定本地存在第一报文的出端口时,将该封装E-TAG的第一报文解除E-TAG封装后,从该出端口转发。
本发明实施例中,若目标父设备根据第一报文查询本地维护的转发表项确定其它父设备上存在第一报文的出端口,则目标父设备需要对该第一报文封装E-TAG,该E-TAG需要携带该第一报文在其它父设备上的出端口对应的E-CID,进而,目标父设备可以通过自身与其它父设备之间的堆叠链路将该封装E-TAG的第一报文转发给其它父设备。
相应地,当其它父设备接收到该E-TAG封装的第一报文时,可以根据E-TAG中携带的E-CID确定本地是否存在第一报文的出端口,若存在,则将该封装E-TAG的第一报文解除E-TAG封装后,从该出端口转发。
相应地,本发明实施例提供的技术方案还可以包括以下步骤:
11)、当接收到其它父设备发送的封装E-TAG的报文时,根据该封装E-TAG的报文的E-TAG中携带的E-CID确定报文的出端口;
12)、若本地存在报文的出端口,则将该封装E-TAG的报文解除E-TAG封装后,从该出端口转发;
13)、若其它父设备上存在报文的出端口,则将该封装E-TAG的报文发送给对应的其它父设备,以使其它父设备根据该E-TAG中携带的E-CID确定本地存在报文的出端口时,将封装E-TAG的报文解除E-TAG封装后,从该出端口转发。
具体地,在本发明实施例中,若目标父设备接收到其它父设备发送的封装E-TAG的报文时,目标父设备可以根据该封装E-TAG的报文的E-TAG中携带的E-CID确定该报文的出端口。
若目标父设备确定本地存在该报文的出端口(即该E-TAG中携带有本地端口对应的E-CID),则目标父设备可以将该封装E-TAG的报文解除E-TAG封装后,从该出端口转发;
若目标父设备确定其它父设备上存在该报文的出端口(即该E-TAG中携带有本地端口对应的E-CID),则目标父设备可以将该封装E-TAG的报文通过与其它父设备的堆叠链路转发给其它父设备;该其它父设备接收到该封装E-TAG的报文后,可以按照上述步骤11)~13)所描述的处理流程进行处理。
值得说明的是,在本发明实施例中,若目标父设备接收到的第一报文为组播/广播报文,或,目标父设备接收到的封装E-TAG的报文为组播/广播报文时,会存在本地以及其它父设备上同时存在报文的出端口的情况,在该情况下,目标父设备一方面需要将该报文从本地出端口转发,另一方面,还需要将其转发给其它父设备。
举例来说,假设目标父设备接收到的第一报文为组播报文,且目标父设备本地以及其它父设备上均存在报文的出端口,则目标父设备一方面需要将该第一报文从本地的出端口转发;另一方面需要对该第一报文封装E-TAG,并将该封装E-TAG的第一报文转发给其它父设备。例如,目标父设备可以将该第一报文复制为2份,一份从本地的出端口转发,另一份封装E-TAG后转发给其它父设备。
又举例来说,假设目标父设备接收到的封装E-TAG的报文为组播报文,且目标父设备以及其它父设备上均存在报文的出端口,则目标父设备一方面需要将该封装E-TAG的报文解除E-TAG封装后从本地出端口转发;另一方面,需要将该封装E-TAG的报文转发给其它父设备。例如,目标父设备可以将该封装E-TAG的报文复制为2份,一份解除E-TAG封装后从本地出端口转发,另一份转发给其它父设备。
进一步地,在本发明实施例中,当多个父设备形成环形堆叠拓扑时,该多个父设备中的指定设备与框号较小或较大的邻居之间的直连链路禁止传输组播和广播报文。
具体地,当多个父设备形成的横向堆叠系统为环形堆叠拓扑时,为了避免组播/广播报文在该环形堆叠系统中转发时产生环路,可以从该多个父设备中指定一个父设备作为指定设备,并禁止该指定设备与框号较小(或较大)的邻居之间的直连链路传输组播/广播报文。
其中,从多个父设备中指定一个父设备作为指定设备可以根据框号指定,如指定框号最小的父设备为指定设备,或指定框号最大的父设备为指定设备;或者,也可以随机从多个父设备中指定一个父设备作为指定设备。
举例来说,假设父设备1、2和3(假设框号分别为1、2和3)形成环形横向堆叠,即父设备1与父设备2之间存在堆叠链路、父设备2与父设备3之间存在堆叠链路,父设备3和父设备1之间也存在堆叠链路,则可以将父设备1、2和3中框号最小的父设备(即父设备1)为指定设备,并禁止父设备1与框号较大的邻居之间的直连链路传输组播和广播报文(父设备1的邻居包括父设备2和父设备3,框号较大的邻居即为父设备3),即父设备1与父设备3之间的直连链路禁止传输组播和广播报文,从而,在逻辑层面上将环形拓扑虚拟为链形拓扑,避免了组播和广播报文转发环路的产生。
本发明实施例中,为了实现父设备根据端口对应的E-CID确定端口所属的父设备,各父设备可以分别维护自身以及其它父设备上各端口的E-CID。
其中,各父设备上维护的其它父设备上各端口的E-CID可以由用户(如管理员)手工配置在父设备上,也可以由各父设备之间相互通知。
为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体应用场景对本发明实施例提供的技术方案进行描述。
请参见图2,为本发明实施例提供的一种具体应用场景的架构示意图,如图2所示,在该应用场景中,父设备201、父设备202、父设备203和父设备204形成横向堆叠系统,框号分别为1、2、3和4(框号与堆叠口的配置可以参见现有802.1br协议中的相关处理),父设备201、父设备202、父设备203和父设备204处于同一namespace,各父设备预留1000个端口,每个父设备上各端口的E-CID范围从(框号-1)*1000+1到框号*1000,例如,父设备201上各端口的E-CID范围从1000~2000,以此类推,基于该应用场景,本发明实施例提供的报文转发方案实现流程如下:
1、各父设备之间使用LLDP(Link Layer Discovery Protocol,链路层发现协议)协议发现邻居,并通知邻居自身所知的E-CID;
例如,父设备201通知父设备202和父设备204自身的E-CID,父设备202通知父设备201和父设备203自身的E-CID,同时,父设备202还可以将父设备201的E-CID通知给父设备203,以此类推。
2、对802.1br协议进行扩展,新增用于进行转发表项的扩展的TLV。
例如,当父设备201从本地某端口(如端口A)新学习到一条MAC地址时,父设备201可以通过扩展的TLV将对应的二层转发表项(包括MAC地址、该端口的VLAN信息以及该端口对应的E-CID)通知给父设备202和父设备204。
为了减少转发表项同步的协议报文的数量,二层转发表项采用打包发送的方式进行同步,每1000条MAC地址发送一次。同时,还可以设定二层转发表项同步时间,如每隔20分钟同步一次,这样在不足1000条MAC地址时也可以进行二层转发表项同步。
ARP表项以及路由转发表项等也可以采用类似的方式同步。
3、单播报文转发-以父设备201接收到出端口在父设备203上的报文为例
父设备201接收到报文后,查找本地维护的转发表项,发现出端口在父设备203上,从而,父设备201可以对该报文封装E-TAG,该E-TAG中携带的E-CID为父设备203上的出端口对应的E-CID;
父设备202接收到该封装E-TAG的报文,根据该E-TAG中携带的E-CID发现出端口在父设备203上,从而,将该封装E-TAG的报文发送给父设备203;
父设备203接收到该封装E-TAG的报文,根据该E-TAG中携带的E-CID发现出端口在本地,从而,父设备203可以对该封装E-TAG的报文解除E-TAG封装后,从本地出端口转发。
4、组播报文转发-以父设备201接收到在父设备201、父设备202和父设备203上都有成员端口的组播报文为例
由于父设备201、父设备202、父设备203和父设备204处于同一个namespace,因此,同一个组播E-CID在各个父设备上表示同一个组播组。
当父设备201接收到组播报文时,根据该组播报文查询转发表项,发现本地、父设备202和父设备203上均存在出端口,从而,父设备201可以将该组播报文复制为2份,1份通过本地的出端口转发,另1份封装E-TAG后,转发给父设备203,其中,该E-TAG中分别携带了父设备202和父设备203上的出端口对应的E-CID;
父设备202接收到该封装E-TAG的报文后,根据该E-TAG中携带的E-CID发现本地和父设备203上均存在出端口,从而,父设备202可以将该封装E-TAG的报文复制为2份,1份解除E-TAG封装后通过本地的出端口转发,另1份转发给父设备203;
父设备203接收到该封装E-TAG的报文后,根据该E-TAG中携带的E-CID发现本地和父设备202上均存在出端口,而由于该报文是由父设备202发送给父设备203的,因此,父设备203不需要再将该报文转发给父设备202,从而,父设备203可以对该封装E-TAG的报文进行解除E-TAG封装处理,并将解除E-TAG封装后的报文从本地的出端口转发。
在该实施例中,为了防止环路产生,可以禁止框号最小的父设备(即父设备201)与框号较大的邻居(即父设备204)之间的直连链路传输组播和广播数据报文。
通过以上描述可以看出,在本发明实施例提供的技术方案中,目标父设备通过向系统中其它父设备同步自身生成的转发表项,并接收其它父设备同步的转发表项,当接收到非父设备发送的第一报文时,根据该第一报文查询本地维护的转发表项,若本地存在第一报文的出端口,则将第一报文从该出端口转发,若其它父设备上存在第一报文的出端口,则对该第一报文封装E-TAG,该E-TAG中携带有其它父设备上的出端口对应的E-CID,并将封装E-TAG的第一报文转发给其它父设备,以使其它父设备根据E-TAG中携带的E-CID确定本地存在第一报文的出端口时,将该封装E-TAG的第一报文解除E-TAG封装后,从该出端口转发,从而实现了父设备的横向堆叠,且将数据层面由集中转发模式转换为了分布式转发模式,提高了数据层面处理效率。
请参见图3,为本发明实施例提供的一种报文转发装置的结构示意图,其中,该装置可以应用于上述方法实施例中的目标父设备,如图3所示,该装置可以包括:
同步单元310,用于向系统中其它父设备同步自身生成的转发表项,并接收其它父设备同步的转发表项;其中,所述转发表项包括二层转发表项和三层转发表项;
接收单元320,用于接收非父设备发送的第一报文;
查询单元330,用于当所述接收单元320接收到的非父设备发送的第一报文时,根据所述第一报文查询本地维护的转发表项;
发送单元340,用于若本地存在所述第一报文的出端口,则将所述第一报文从所述出端口转发;若其它父设备上存在所述第一报文的出端口,则对所述第一报文封装E-TAG,所述E-TAG中携带有其它父设备上的出端口对应的E-CID,并将封装E-TAG的第一报文转发给其它父设备,以使其它父设备根据所述E-TAG中携带的E-CID确定本地存在所述第一报文的出端口时,将所述封装E-TAG的第一报文解除E-TAG封装后,从该出端口转发。
请一并参见图4,为本发明实施例提供的另一种报文转发装置的结构示意图,如图4所示,该图3所示报文转发装置的基础上,图4所示的报文转发装置还可以包括:
确定单元350,用于当所述接收单元320接收到其它父设备发送的封装E-TAG的报文时,根据该封装E-TAG的报文的E-TAG中携带的E-CID确定报文的出端口;
所述发送单元340,还用于若本地存在报文的出端口,则将该封装E-TAG的报文解除E-TAG封装后,从该出端口转发;若其它父设备上存在报文的出端口,则将该封装E-TAG的报文发送给对应的其它父设备,以使其它父设备根据该E-TAG中携带的E-CID确定本地存在报文的出端口时,将封装E-TAG的报文解除E-TAG封装后,从该出端口转发。
在可选实施例中,所述同步单元310,具体用于通过扩展的类型长度值TLV中向系统中其它父设备同步自身生成的转发表项。
在可选实施例中,所述同步单元310,具体用于当确定满足预设触发条件时,向系统中其它父设备同步自身生成的转发表项;
其中,所述预设触发条件包括未同步的转发表项的数量达到预设数量阈值,或到达预设同步时间。
在可选实施例中,当所述多个父设备形成环形堆叠拓扑时,所述多个父设备中的指定设备与框号较小或框号较大的邻居之间的直连链路禁止传输组播和广播数据报文。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上述实施例可见,目标父设备通过向系统中其它父设备同步自身生成的转发表项,并接收其它父设备同步的转发表项,当接收到非父设备发送的第一报文时,根据该第一报文查询本地维护的转发表项,若本地存在第一报文的出端口,则将第一报文从该出端口转发,若其它父设备上存在第一报文的出端口,则对该第一报文封装E-TAG,该E-TAG中携带有其它父设备上的出端口对应的E-CID,并将封装E-TAG的第一报文转发给其它父设备,以使其它父设备根据E-TAG中携带的E-CID确定本地存在第一报文的出端口时,将该封装E-TAG的第一报文解除E-TAG封装后,从该出端口转发,从而实现了父设备的横向堆叠,且将数据层面由集中转发模式转换为了分布式转发模式,提高了数据层面处理效率。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (8)
1.一种报文转发方法,其特征在于,应用于包括多个父设备的堆叠系统中的目标父设备,所述多个父设备属于处于同一命名空间namespace,所述多个父设备分别维护有自身以及其它父设备上各端口的扩展通道标识符E-CID,该方法包括:
向系统中其它父设备同步自身生成的转发表项,并接收其它父设备同步的转发表项;其中,所述转发表项包括二层转发表项和三层转发表项;
当接收到非父设备发送的第一报文时,根据所述第一报文查询本地维护的转发表项;
若本地存在所述第一报文的出端口,则将所述第一报文从所述出端口转发;
若其它父设备上存在所述第一报文的出端口,则对所述第一报文封装扩展标签E-TAG,所述E-TAG中携带有其它父设备上的出端口对应的E-CID,并将封装E-TAG的第一报文转发给其它父设备,以使其它父设备根据所述E-TAG中携带的E-CID确定本地存在所述第一报文的出端口时,将所述封装E-TAG的第一报文解除E-TAG封装后,从该出端口转发;其中,所述方法还包括:
当接收到其它父设备发送的封装E-TAG的报文时,根据该封装E-TAG的报文的E-TAG中携带的E-CID确定报文的出端口;
若本地存在报文的出端口,则将该封装E-TAG的报文解除E-TAG封装后,从该出端口转发;
若其它父设备上存在报文的出端口,则将该封装E-TAG的报文发送给对应的其它父设备,以使其它父设备根据该E-TAG中携带的E-CID确定本地存在报文的出端口时,将封装E-TAG的报文解除E-TAG封装后,从该出端口转发。
2.根据权利要求1所述的方法,其特征在于,所述向系统中其它父设备同步自身生成的转发表项,包括:
通过扩展的类型长度值TLV中向系统中其它父设备同步自身生成的转发表项。
3.根据权利要求1所述的方法,其特征在于,所述向系统中其它父设备同步自身生成的转发表项,包括:
当确定满足预设触发条件时,向系统中其它父设备同步自身生成的转发表项;
其中,所述预设触发条件包括未同步的转发表项的数量达到预设数量阈值,或到达预设同步时间。
4.根据权利要求1所述的方法,其特征在于,当所述多个父设备形成环形堆叠拓扑时,所述多个父设备中的指定设备与框号较小或框号较大的邻居之间的直连链路禁止传输组播和广播数据报文。
5.一种报文转发装置,其特征在于,应用于包括多个父设备的堆叠系统中的目标父设备,所述多个父设备属于处于同一命名空间namespace,所述多个父设备分别维护有自身以及其它父设备上各端口的扩展通道标识符E-CID,该装置包括:
同步单元,用于向系统中其它父设备同步自身生成的转发表项,并接收其它父设备同步的转发表项;其中,所述转发表项包括二层转发表项和三层转发表项;
接收单元,用于接收非父设备发送的第一报文;
查询单元,用于当所述接收单元接收到的非父设备发送的第一报文时,根据所述第一报文查询本地维护的转发表项;
发送单元,用于若本地存在所述第一报文的出端口,则将所述第一报文从所述出端口转发;若其它父设备上存在所述第一报文的出端口,则对所述第一报文封装扩展标签E-TAG,所述E-TAG中携带有其它父设备上的出端口对应的E-CID,并将封装E-TAG的第一报文转发给其它父设备,以使其它父设备根据所述E-TAG中携带的E-CID确定本地存在所述第一报文的出端口时,将所述封装E-TAG的第一报文解除E-TAG封装后,从该出端口转发;
其中,所述装置还包括:
确定单元,用于当所述接收单元接收到其它父设备发送的封装E-TAG的报文时,根据该封装E-TAG的报文的E-TAG中携带的E-CID确定报文的出端口;
所述发送单元,还用于若本地存在报文的出端口,则将该封装E-TAG的报文解除E-TAG封装后,从该出端口转发;若其它父设备上存在报文的出端口,则将该封装E-TAG的报文发送给对应的其它父设备,以使其它父设备根据该E-TAG中携带的E-CID确定本地存在报文的出端口时,将封装E-TAG的报文解除E-TAG封装后,从该出端口转发。
6.根据权利要求5所述的装置,其特征在于,
所述同步单元,具体用于通过扩展的类型长度值TLV中向系统中其它父设备同步自身生成的转发表项。
7.根据权利要求5所述的装置,其特征在于,
所述同步单元,具体用于当确定满足预设触发条件时,向系统中其它父设备同步自身生成的转发表项;
其中,所述预设触发条件包括未同步的转发表项的数量达到预设数量阈值,或到达预设同步时间。
8.根据权利要求5所述的装置,其特征在于,当所述多个父设备形成环形堆叠拓扑时,所述多个父设备中的指定设备与框号较小或框号较大的邻居之间的直连链路禁止传输组播和广播数据报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610873230.8A CN106254243B (zh) | 2016-09-30 | 2016-09-30 | 一种报文转发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610873230.8A CN106254243B (zh) | 2016-09-30 | 2016-09-30 | 一种报文转发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106254243A CN106254243A (zh) | 2016-12-21 |
CN106254243B true CN106254243B (zh) | 2019-09-06 |
Family
ID=57612261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610873230.8A Active CN106254243B (zh) | 2016-09-30 | 2016-09-30 | 一种报文转发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106254243B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106899506B (zh) * | 2017-01-25 | 2019-12-06 | 新华三技术有限公司 | 一种协议报文转发的方法和装置 |
CN107342943B (zh) * | 2017-06-15 | 2019-09-06 | 烽火通信科技股份有限公司 | 一种在SPTN系统Overlay场景下建立SCN通道的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7974272B2 (en) * | 2004-07-29 | 2011-07-05 | Conexant Systems, Inc. | Remote control of a switching node in a stack of switching nodes |
CN101599909B (zh) * | 2009-07-08 | 2012-02-08 | 杭州华三通信技术有限公司 | 一种流量转发的方法和装置 |
CN104283811A (zh) * | 2013-07-09 | 2015-01-14 | 杭州华三通信技术有限公司 | 报文转发方法和装置 |
CN103220218B (zh) * | 2013-04-28 | 2016-03-30 | 杭州华三通信技术有限公司 | 纵向堆叠组网中防止环路的方法和装置 |
CN105530179A (zh) * | 2014-09-29 | 2016-04-27 | 杭州华三通信技术有限公司 | 数据报文处理方法以及网络设备 |
CN103414801B (zh) * | 2013-08-12 | 2016-08-17 | 杭州华三通信技术有限公司 | 一种堆叠系统中媒质访问控制地址同步的方法和设备 |
-
2016
- 2016-09-30 CN CN201610873230.8A patent/CN106254243B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7974272B2 (en) * | 2004-07-29 | 2011-07-05 | Conexant Systems, Inc. | Remote control of a switching node in a stack of switching nodes |
CN101599909B (zh) * | 2009-07-08 | 2012-02-08 | 杭州华三通信技术有限公司 | 一种流量转发的方法和装置 |
CN103220218B (zh) * | 2013-04-28 | 2016-03-30 | 杭州华三通信技术有限公司 | 纵向堆叠组网中防止环路的方法和装置 |
CN104283811A (zh) * | 2013-07-09 | 2015-01-14 | 杭州华三通信技术有限公司 | 报文转发方法和装置 |
CN103414801B (zh) * | 2013-08-12 | 2016-08-17 | 杭州华三通信技术有限公司 | 一种堆叠系统中媒质访问控制地址同步的方法和设备 |
CN105530179A (zh) * | 2014-09-29 | 2016-04-27 | 杭州华三通信技术有限公司 | 数据报文处理方法以及网络设备 |
Also Published As
Publication number | Publication date |
---|---|
CN106254243A (zh) | 2016-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103929461B (zh) | 堆叠系统中的mac地址信息同步方法及装置 | |
CN109478179A (zh) | IoT设备连接、发现和联网 | |
CN109660441B (zh) | Overlay网络中组播复制的方法及装置 | |
CN105099847B (zh) | 一种多归属接入方法和装置 | |
CN104022960A (zh) | 基于OpenFlow协议实现PVLAN的方法和装置 | |
CN103763310A (zh) | 基于虚拟网络的防火墙服务系统及方法 | |
US20140122704A1 (en) | Remote port mirroring | |
US9294292B2 (en) | Optimized multicast routing in a Clos-like network | |
CN104301417B (zh) | 一种负载均衡方法及装置 | |
CN106941437B (zh) | 一种信息传输方法及装置 | |
CN103401774A (zh) | 一种基于堆叠系统的报文转发方法和设备 | |
CN109474507A (zh) | 一种报文转发方法及装置 | |
CN102984070B (zh) | 一种以太网无编号接口实现数据转发的方法 | |
CN103581274A (zh) | 一种堆叠系统中报文转发方法和装置 | |
CN104601428A (zh) | 虚拟机之间的通信方法 | |
CN106254243B (zh) | 一种报文转发方法及装置 | |
CN104980302A (zh) | 一种在sdn框架下基于stp消除冗余链路的方法 | |
CN107465621A (zh) | 一种路由器发现方法、sdn控制器、路由器和网络系统 | |
CN105049351A (zh) | 基于sdn的多链接透明互联算法 | |
CN104363185B (zh) | 一种微型复合网络数据交换系统 | |
CN106302191B (zh) | 一种报文转发方法及装置 | |
CN110460579A (zh) | 一种飞行数据显示方法、系统、装置及可读存储介质 | |
CN115914116A (zh) | 一种弹性分组环报文转发方法及设备 | |
CN106685788B (zh) | 堆叠模式下pvlan的芯片实现方法 | |
CN104702510A (zh) | 一种rpr网络中的报文转发方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |