CN103684965B - 基于虚拟设备配置的交换设备和报文转发方法 - Google Patents
基于虚拟设备配置的交换设备和报文转发方法 Download PDFInfo
- Publication number
- CN103684965B CN103684965B CN201310658835.1A CN201310658835A CN103684965B CN 103684965 B CN103684965 B CN 103684965B CN 201310658835 A CN201310658835 A CN 201310658835A CN 103684965 B CN103684965 B CN 103684965B
- Authority
- CN
- China
- Prior art keywords
- chip
- exchange
- forwarding
- agent
- message
- 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
Abstract
本发明公开了一种基于虚拟设备配置的交换设备和报文转发方法。本发明在交换设备中引入了按照VD划分的代理芯片组、并由每个VD的代理芯片组分别为未下发该VD的转发配置的交换芯片实现代理转发,因此,即便有交换芯片中的物理端口被划分至不同的VD,也无需将不同VD的转发配置均下发至该交换芯片,因而不会在该交换芯片中发生无法被交换芯片解决的VD间的转发配置冲突,从而,能够支持交换设备中以物理端口为粒度划分VD。
Description
技术领域
本发明涉及VD(Virtual Device,虚拟设备)技术,特别涉及一种基于VD配置的交换设备、以及一种基于VD配置的报文转发方法。
背景技术
通过虚拟化技术可以将一台物理设备划分为多台逻辑设备,每台逻辑设备就称为一台VD。在同一台物理设备中,每台VD都有支撑自身系统运行的硬件资源和软件资源,而且,不同的VD在物理设备内部相互隔离、不能直接通信,从而保证每台VD的创建、运行、重启、删除都不会影响其它VD。
由于VD具有划分灵活、提高资源利用率等优势,因而现有的路由设备、交换设备中常通过虚拟化技术被划分为多个VD,以适应网络扩容、接入组群变化等情况。
如图1所示,以VD技术应用在路由设备为例,一台路由设备中划分有三台VD,即VD1、VD2和VD3,VD1、VD2和VD3分别负责三个局域网LAN1、LAN2、LAN3的网络接入和控制。由于VD1具有支撑自身系统运行的硬件资源和软件资源,且VD1与VD2和VD3相互隔离,因而,LAN1的网络管理员能够、且只能够登录到负责LAN1的VD1进行配置、保存、重启等操作,从而就能够确保LAN1不会影响LAN2和LAN3的使用。LAN2和LAN3也是同理。这样,如图2所示,图1中示出的VD组网的效果等同于VD1、VD2和VD3分别作为的网关Gateway1、Gateway2、Gateway3,并使LAN1、LAN2和LAN3分别通过各自的网关Gateway1、Gateway2、Gateway3接入Internet。
在实际应用中,不同VD的转发配置之间有可能存在冲突,例如,两个VD中都有IP地址为10.10.10.2的ARP(Address Resolution Protocol,地址解析协议)表项,且其中一个VD的ARP表项对应的MAC(Media Access Control,媒体接入控制)地址为0000-0000-0001,而另一个VD的ARP表项对应的MAC地址为0000-0000-0002。
对于VD之间的转发配置冲突,路由设备中可以由CPU等处理器器件予以解决,但交换设备中的交换芯片并不具备解决转发配置冲突的能力、且通常并不具有例如CPU等高处理能力的器件。因此,若将VD技术应用在交换设备,则需要避免不同VD的配置下发至同一块交换芯片中,即,一块交换芯片不能同时归属于两个不同的VD,从而使得交换设备中的VD划分只能以交换芯片为划分粒度、而不能以交换芯片的物理端口为划分粒度。
发明内容
有鉴于此,本发明提供一种基于VD配置的交换设备、以及一种基于VD配置的报文转发方法。
本发明提供的一种基于VD配置的交换设备,该交换设备包括至少两块交换芯片,每块交换芯片的各物理端口被划分在至少一个VD、且每块交换芯片中最多只下发有一个VD的转发配置,其中:
对于每个VD,下发有该VD的转发配置的至少一块交换芯片形成该VD的一个代理芯片组;
对于每个VD,未下发该VD的转发配置的每块交换芯片将属于该VD的物理端口接收到的报文重定向至该VD的代理芯片组进行转发。
可选地,对于包含有至少两块交换芯片的每个代理芯片组,该代理芯片组中的所有交换芯片之间保持MAC地址同步。
可选地,每块交换芯片针对未在本芯片下发转发配置的每个VD,设置有用于将属于该VD的物理端口接收到的报文指向该VD对应的ECMP的ACL表项;每个VD对应的ECMP设置在未下发该VD的转发配置、但物理端口被划分在该VD的至少一块交换芯片中,用于将指向该ECMP的报文重定向至该VD的代理芯片组。
可选地,该交换设备包括至少两个机框,至少一个代理芯片组中的至少两块交换芯片分布在不同机框内。
可选地,对于每个VD,若一个机框内同时具有未下发该VD的转发配置的交换芯片、以及该VD的代理芯片组中的交换芯片,则该机框内未下发该VD的转发配置的交换芯片,将属于该VD的物理端口接收到的报文优先重定向至该VD的代理芯片组中位于该机框内的交换芯片进行转发;对于每个VD,若一个机框内具有未下发该VD的转发配置的交换芯片、但未分布有该VD的代理芯片组中的交换芯片,则该机框内未下发该VD的转发配置的交换芯片,将属于该VD的物理端口接收到的报文重定向至该VD的代理芯片组中位于其他机框内的交换芯片进行转发。
可选地,每块交换芯片针对未在本芯片下发转发配置的每个VD,设置有用于将属于该VD的物理端口接收到的报文指向该VD对应的ECMP的ACL表项;并且:若一个机框内同时具有未下发该VD的转发配置的交换芯片、以及该VD的代理芯片组中的交换芯片,则在该机框内未下发该VD的转发配置的交换芯片中,至少设置有指向该VD的代理芯片组中位于该机框内的交换芯片的ECMP;若一个机框内具有未下发该VD的转发配置的交换芯片、但未分布有该VD的代理芯片组中的交换芯片,则在该机框内未下发该VD的转发配置的交换芯片中,设置有指向该VD的代理芯片组中位于其他机框内的交换芯片的ECMP。
本发明提供的一种基于VD配置的报文转发方法,该报文转发方法应用于包括多块交换芯片的交换设备,该交换设备中的每块交换芯片的各物理端口被划分在至少一个VD、且该交换设备中的每块交换芯片中最多只下发有一个VD的转发配置,其中:
对于每个VD,该报文转发方法利用下发有该VD的转发配置的至少一块交换芯片形成该VD的一个代理芯片组;
对于每个VD,该报文转发方法令未下发该VD的转发配置的每块交换芯片将属于该VD的物理端口接收到的报文重定向至该VD的代理芯片组进行转发。
可选地,对于包含有至少两块交换芯片的每个代理芯片组,该报文转发方法在该代理芯片组中的所有交换芯片之间实现MAC地址同步。
可选地,该报文转发方法针对每块交换芯片中未下发转发配置的每个VD,在该交换芯片中设置用于将属于该VD的物理端口接收到的报文指向该VD对应的ECMP的ACL表项;该报文转发方法还将每个VD对应的ECMP设置在未下发该VD的转发配置、但物理端口被划分在该VD的至少一块交换芯片中,用于将指向该ECMP的报文重定向至该VD的代理芯片组。
可选地,该报文转发方法将至少一个代理芯片组中的至少两块交换芯片分布在交换设备中的不同机框内。
可选地,对于每个VD,若一个机框内同时具有未下发该VD的转发配置的交换芯片、以及该VD的代理芯片组中的交换芯片,则该报文转发方法令该机框内未下发该VD的转发配置的交换芯片,将属于该VD的物理端口接收到的报文优先重定向至该VD的代理芯片组中位于该机框内的交换芯片进行转发;对于每个VD,若一个机框内具有未下发该VD的转发配置的交换芯片、但未分布有该VD的代理芯片组中的交换芯片,则该报文转发方法令该机框内未下发该VD的转发配置的交换芯片,将属于该VD的物理端口接收到的报文重定向至该VD的代理芯片组中位于其他机框内的交换芯片进行转发。
可选地,该报文转发方法针对每块交换芯片中未下发转发配置的每个VD,在该交换芯片中设置用于将属于该VD的物理端口接收到的报文指向该VD对应的ECMP的ACL表项;并且:若一个机框内同时具有未下发该VD的转发配置的交换芯片、以及该VD的代理芯片组中的交换芯片,则该报文转发方法在该机框内未下发该VD的转发配置的交换芯片中,至少设置有指向该VD的代理芯片组中位于该机框内的交换芯片的ECMP;若一个机框内具有未下发该VD的转发配置的交换芯片、但未分布有该VD的代理芯片组中的交换芯片,则该报文转发方法在该机框内未下发该VD的转发配置的交换芯片中,设置有指向该VD的代理芯片组中位于其他机框内的交换芯片的ECMP。
如上可见,本发明在交换设备中引入了按照VD划分的代理芯片组、并由每个VD的代理芯片组分别为未下发该VD的转发配置的交换芯片实现代理转发,因此,即便有交换芯片中的物理端口被划分至不同的VD,也无需将不同VD的转发配置均下发至该交换芯片,因而不会在该交换芯片中发生无法被交换芯片解决的VD间的转发配置冲突,从而,能够支持交换设备中以物理端口为粒度划分VD。
附图说明
图1为现有技术中基于交换设备的一种VD组网的实例示意图;
图2为如图1所示的VD组网方式的等效示意图;
图3为本发明实施例中基于VD配置的交换设备的代理转发架构的原理性示意图;
图4为基于如图3所示的代理转发架构的代理芯片组的组内同步的原理性示意图;
图5为基于如图3所示的代理转发架构的代理芯片组的组间迁移的原理性示意图;
图6为基于如图3所示的代理转发架构的代理芯片组离散分布结构的原理性示意图;
图7为基于如图3所示的代理转发架构的交换芯片的重定向机制的原理性示意图;
图8为基于如图3所示的代理转发架构和如图6所示的代理芯片组离散分布结构的框内优先策略的原理性示意图;
图9为采用如图8所示的框内优先策略的重定向机制的原理性示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
在本实施例中,为了交换设备中可以按照物理端口划分VD,在交换设备中引入了按照VD划分的代理芯片组的概念,本发明将多个下发同一VD的转发配置的芯片构成的芯片组称为该VD的代理芯片组,每个VD的代理芯片组分别为未下发该VD的转发配置的交换芯片实现代理转发,因此,即便有交换芯片中的物理端口被划分至不同的VD,也无需将不同VD的转发配置均下发至该交换芯片,因而不会在该交换芯片中发生无法被交换芯片解决的VD间的转发配置冲突,从而,能够支持在交换设备中以物理端口为粒度划分VD。
具体说,在本实施例的基于虚拟设备VD配置的交换设备中,包括至少两块交换芯片,每块交换芯片的各物理端口被划分在至少一个VD、且每块交换芯片中最多只下发有一个VD(可以与该交换芯片的物理端口所在的其中一个VD相同、也可以与该交换芯片的物理端口所在的每个VD均不同)的转发配置,其中:
在每个VD中,对于未下发该VD的转发配置、但物理端口又被划分在该VD的每块交换芯片来说,下发有该VD的转发配置的其他至少一块交换芯片在逻辑上就形成了该VD的一个代理芯片组;
相应地,在每个VD中,对于未下发该VD的转发配置、但物理端口又被划分在该VD的每块交换芯片来说,未下发该VD的转发配置、但物理端口又被划分在该VD的每块交换芯片将属于该VD的物理端口接收到的报文重定向至该VD的代理芯片组进行转发。
也就是说:
只要交换芯片中下发有任一个VD的转发配置,该交换芯片既可以在该VD内作为其他未下发该VD的转发配置的其他交换芯片的代理芯片进行代理转发,又可以在除该VD之外的其他VD内将下发有其他VD的转发配置的其他交换芯片看作代理芯片、并将其他VD内的报文重定向至代理芯片进行代理转发,其中,所谓的“代理”不一定是绝对的,而是相对于转发配置的下发状况而言;这样的交换芯片除了传统转发功能之外,还需要实现重定向和代理转发功能;
对于本芯片的所有物理端口同属于一个VD、且本芯片内下发了该VD的转发配置的交换芯片来说,可以在该VD内作为其他未下发该VD的转发配置的其他交换芯片的代理芯片进行代理转发,而且不需要在除该VD之外的其他VD内将下发有其他VD的转发配置的其他交换芯片看作代理芯片;这样的交换芯片除了传统转发功能之外,只需要进一步实现代理转发功能;
对于未下发任何VD的转发配置的交换芯片来说,则无法在任何VD内作为其他交换芯片的代理芯片,而只能在每一个VD内都将下发有该VD的转发配置的其他交换芯片看作代理芯片、并将该VD内的报文重定向至代理芯片进行转发,这样的交换芯片除了传统转发功能之外,只需进一步实现重定向功能。
基于上述说明,本领域技术人员能够理解,除了传统转发功能之外,同一块交换芯片还可以包括重定向和/或代理转发的功能。
请参见图3,以交换设备中包括交换芯片1和2、交换芯片m和n(m和n为大于2的正整数且m和n互不相同)、以及交换芯片p和q(p和q为大于2的不同于m和n中任意一个的正整数、且p和q互不相同),其中:
交换芯片1的一个物理端口VD1_Port1被划分至VD1、另一个物理端口VD2_Port1被划分至VD2,交换芯片2的一个物理端口VD1_Port2被划分至VD1、另一个物理端口VD2_Port2被划分至VD2,但交换芯片1和2中都没有下发VD1和VD2的转发配置;
交换芯片m和n中下发有VD1的转发配置,因此,对于交换芯片1和2来说,交换芯片m和n就形成了VD1的代理芯片组;
交换芯片p和q中下发有VD2的转发配置,因此,对于交换芯片1和2来说,交换芯片p和q就形成了VD2的代理芯片组。
相应地,当交换芯片1的物理端口VD1_Port1接收到报文后,并不会在本芯片对VD1的报文进行查表转发,而是将报文重定向至同属于VD1的代理芯片组中的一块交换芯片m或n进行查表转发,然后,根据转发表项的出端口,该报文可能会再从位于交换芯片2中同属于VD1的物理端口VD1_Port2发出(图3中仅仅是以该报文从物理端口VD1_Port2发出为例,但实际应用中,该报文可以被代理转发至任何一个属于VD1的物理端口发出)。同理,当交换芯片1的物理端口VD2_Port1接收到报文后,也不会在本芯片对VD2的报文进行查表转发,而是将报文重定向至同属于VD2的代理芯片组中的一块交换芯片p或q进行查表转发,根据转发表项的出端口,该报文可能会从交换芯片2中同属于VD2的物理端口VD2_Port2发出(图3中仅仅是以该报文从物理端口VD2_Port2发出为例,但实际应用中,该报文可以被代理转发至任何一个属于VD2的物理端口发出)。
以上是对本实施例中基于虚拟设备VD配置的交换设备的代理转发架构的说明,下面,分别对实现该代理转发架构所需的代理芯片组、以及专用于报文重定向的交换芯片进行详细说明。
1)关于在逻辑上形成代理芯片组的交换芯片:
形成一个代理芯片组的交换芯片的数量可以按照所属VD在所有交换芯片的物理端口的总数、以及带宽需求来设定,理论上,代理芯片组中的交换芯片的数量最少可以为1、最多则可以不限,但无论每个代理芯片组中的交换芯片的数量是多少,均需要向一个代理芯片组中的所有交换芯片下发所属VD的转发配置、并需要代理芯片组中的各交换芯片进行MAC地址学习,以使该代理芯片组中的所有交换芯片都包含有所属VD的所有转发表项。
其中,对于代理芯片组中的交换芯片数量为至少两个的情况,有可能会出现组内的各交换芯片所学习到的MAC地址不同步。
为了避免这样的情况出现,本实施例为代理芯片组提供了一种可以在代理芯片组中的所有代理芯片之间实现MAC地址同步的组内同步机制,即:代理芯片组中的每个代理芯片在学习到新的MAC地址后,均向同组的其他所有代理芯片同步该MAC地址。
请参见图4,基于如图3所示的代理转发架构,当VD1的代理芯片组中的一块交换芯片m由于转发物理端口VD1_Port1接收到的报文而学习到MAC地址1之后,该交换芯片m会向VD1的代理芯片组中的其他交换芯片n同步MAC地址1;VD2的代理芯片组也是同理。
而且,随着所属VD所包括的物理端口的总数、以及带宽需求的变化,每个VD的代理芯片组中的交换芯片的数量也可以是适应性动态变化的。
为了实现代理芯片组中的交换芯片数量的适应性动态变化,本实施例为代理芯片组提供了一种组件迁移机制,即:通过更改交换芯片中的转发配置来实现交换芯片在不同的代理芯片组之间的迁移。
请参见图5,基于如图3所示的代理转发架构,可以将原本属于VD1的代理芯片组的某块交换芯片n中的VD1的转发配置删除、然后重新向该交换芯片n下发VD2的转发配置,即可使该交换芯片n中的VD1的转发表项变更为VD2的转发表项,从而实现该交换芯片n从VD1的代理芯片组向VD2的代理芯片组的迁移。
另外,对于某些交换设备来说,可能会包含有至少两个具有交换芯片的机框,对于这种情况,若将每个代理芯片组中的所有交换芯片都设置在同一个机框,则有可能会由于一个机框的失效或拔出而导致整个代理芯片组的全体失效。
为了避免由于一个机框的失效而导致整个代理芯片组全体失效、以提高代理芯片组的健壮性,本实施例优选地采用代理芯片组离散分布的配置方式,即:同一代理芯片组中的多于一块的交换芯片分布在不同机框中。
请参见图6,基于如图3所示的代理转发架构,以交换设备包括三个机框1~3为例,VD1的代理芯片组中的一块交换芯片m布置在交换芯片1所在的机框1、另一块交换芯片n布置在机框3,VD2的代理芯片组中的一块交换芯片p布置在交换芯片1所在的机框2、另一块交换芯片q布置在机框3。这样,对于VD1的代理芯片组和VD2的代理芯片组来说,在交换设备中的不同机框内均设置有属于本组的交换芯片,因此,即便机框1和2失效,布置机框3中的交换芯片n和q也不会导致VD1和VD2的代理芯片组整体失效。
2)、关于需要向代理芯片组重定向报文的交换芯片:
向代理芯片组重定向报文的交换芯片在本实施例中的主要作用不再是查表转发,而是对报文的重定向。为此,本实施例就为交换芯片提供了一种完全不同于查表转发原理的重定向机制,即:对于每块交换芯片来说,若本芯片的物理端口被划分在某个VD、且本芯片内未下发该VD的转发配置,则针对该VD可以设置有用于将属于该VD的物理端口接收到的报文指向该VD对应的ECMP(Equal-Cost Multipath Routing,等价多路径)的ACL(AccessControl List,访问控制列表)表项;每个VD对应的ECMP设置在未下发该VD的转发配置、但物理端口被划分在该VD的至少一块交换芯片中,用于将指向该ECMP的报文重定向至该VD的代理芯片组。
具体说,从属于某个VD的物理端口进入的报文,先通过该物理端口所在交换芯片中的ACL被指向至作为下一跳(NextHop)的ECMP,该ECMP对应于物理端口及其接收到的报文所属的VD、且该ECMP中包含属于该VD的代理芯片组中的各交换芯片的端口号,此时,通过ECMP向报文所属VD的代理芯片组的重定向,报文即可被Hash(哈希)至所属VD的代理芯片组中的一块交换芯片进行代理查表转发。
请参见图7,基于如图3所示的代理转发架构,在交换芯片1中设置有对应VD1的VD1_ECMP、对应VD2的VD2_ECMP,以及,能够将物理端口VD1_Port1的报文指向VD1_ECMP、将物理端口VD2_Port1的报文指向VD2_ECMP的ACL。虽然未在图7示出交换芯片2中的ECMP和ACL,但交换芯片2中也是同理。
也就是说,交换芯片中所设置的ACL决定了被重定向的报文能否正确地被指向所属VD的代理芯片组,交换芯片中所设置的ECMP则决定了被重定向的报文能否准确地到达所属VD的代理芯片组、并在所属VD的代理芯片组中的各代理芯片之间实现负载分担。
那么,对于前文所述的代理芯片组的组间迁移、以及代理芯片组离散分布的情况,交换芯片中的ECMP均需要随着代理芯片组的组间迁移、以及由于机框失效或拔出所导致的代理芯片组中的某块交换芯片丢失而及时更新,具体说:
当某个VD的代理芯片组中的交换芯片迁移至其他VD的代理芯片组时,除了对发生迁移的交换芯片需要被删除其原VD的转发配置、并重新下发新VD的转发配置之外,对于其原VD的代理芯片组所服务(即代理转发功能的服务)的其他交换芯片来说,还需要更新所有这些交换芯片中对应上述原VD和上述新VD的ECMP,以使更新后的上述原VD的ECMP不会将原VD的报文通过重定向而Hash至已从上述原VD的代理芯片组中迁出交换芯片、而更新后的新VD的ECMP则能够将上述新VD的报文通过重定向而Hash至已迁入至上述新VD的代理芯片组的交换芯片;
当某个VD的代理芯片组中的交换芯片由于所在机框失效或被拔出,对于该VD的代理芯片组所服务(即代理转发功能的服务)的其他交换芯片来说,需要更新所有这些交换芯片中对应该VD的ECMP,以使该VD的ECMP不会将该VD的报文通过重定向而Hash至已由于所在机框失效或拔出而消失的交换芯片。
另外,对于代理芯片组离散分布的情况,为了避免报文的转发能力和带宽利用率由于代理芯片组的离散分布而下降,本实施例为重定向机制提供了一种本框优先策略,即:只要需要重定向报文的交换芯片所在机框内布置有上述需要重定向的报文所属VD的代理芯片组中的交换芯片,则需要重定向报文的交换芯片优先选择该代理芯片组在同机框内分布的交换芯片进行代理转发。
若与任意一个物理端口同属一个VD的代理芯片组在该物理端口所属交换芯片所在的机框内分布有用于代理转发的交换芯片,则从该物理端口接收到的报文均优先被重定向至该报文所属VD的代理芯片组中与该物理端口所在交换芯片同处一个机框的一块交换芯片进行代理转发;
若与任意一个物理端口同属一个VD的代理芯片组在该物理端口所属交换芯片所在的机框内未分布用于代理转发的交换芯片,则从该物理端口接收到的报文均被通过跨机框转发(例如通过机框之间互连的堆叠口)重定向至该报文所属VD的代理芯片组中在其他机框内的一块交换芯片进行代理转发。
请参见图8,基于如图3所示的代理转发架构,假设VD1的代理芯片组和VD2的代理芯片组按照如图6所示的方式在机框1~3中分布,则:
机框1中的交换芯片1会将其物理端口VD1_Port1接收到的报文优先重定向至VD1的代理芯片组中同样位于机框1内的交换芯片m进行代理转发,但是,由于VD2的代理芯片组在机框1中未分布交换芯片,因此,机框1中的交换芯片1会将物理端口VD2_Port1接收到的报文跨机框重定向至VD2的代理芯片组中位于机框3内的交换芯片q(图8中仅以跨机框至机框3为例、或者也可以跨机框重定向至位于机框2内的交换芯片p)进行代理转发;
同理,机框2中的交换芯片2会将其物理端口VD2_Port2接收到的报文重定向至VD2的代理芯片组中同样位于机框2内的交换芯片p进行代理转发,但是,由于VD1的代理芯片组在机框2中未分布交换芯片,因此,机框2中的交换芯片2会将其物理端口VD1_Port2接收到的报文会重定向至VD1的代理芯片组中位于机框3内的交换芯片n(图8中仅以跨机框至机框3为例、或者也可以跨机框重定向至位于机框1内的交换芯片m)进行代理转发。
进而,当采用本框优先策略时,对于一块交换芯片的某个物理端口所属VD:
若一个机框内同时具有未下发该VD的转发配置的交换芯片、以及该VD的代理芯片组中的交换芯片,则在该机框内未下发该VD的转发配置的交换芯片中,至少设置有能够指向该VD的代理芯片组中位于该机框内的交换芯片的ECMP,并且可选地进一步设置有能够指向该VD的代理芯片组中位于其他机框内的交换芯片的ECMP,从而能够优先地实现本框代理转发;
若一个机框内具有未下发该VD的转发配置的交换芯片、但未分布有该VD的代理芯片组中的交换芯片,则在该机框内未下发该VD的转发配置的交换芯片中,只需设置能够指向该VD的代理芯片组中位于其他机框内的交换芯片的ECMP,从而在无法实现本框代理转发的情况下实现跨框代理转发。
请参见图9,基于如图3所示的代理转发架构、以及如图8所示的本框优先转发策略,机框1中的交换芯片1中设置有VD1_ECMP和VD2_ECMP、以及指向本芯片内设置的VD1_ECMP和VD2_ECMP的ACL,机框2中的交换芯片2中设置有VD1_ECMP和VD2_ECMP、以及指向本芯片内设置的VD1_ECMP和VD2_ECMP的ACL,其中:
机框1中的交换芯片1中设置的VD1_ECMP指向VD1的代理芯片组中分布在机框1内的交换芯片m,但机框2中的交换芯片2中VD1_ECMP则指向VD1的代理芯片组中分布在机框3内的交换芯片n(图9仅仅是以交换芯片2中VD1_ECMP指向机框3内的交换芯片n为例进行的图示说明,交换芯片2中VD1_ECMP同样也可以指向VD1的代理芯片组中分布在机框1内的交换芯片m);
机框1中的交换芯片1中设置的VD2_ECMP指向VD2的代理芯片组中分布在机框3内的交换芯片q(图9仅仅是以交换芯片1中VD2_ECMP指向机框3内的交换芯片q为例进行的图示说明,交换芯片1中VD2_ECMP同样也可以指向VD1的代理芯片组中分布在机框2内的交换芯片p),但机框2中的交换芯片2中VD2_ECMP则指向VD2的代理芯片组中分布在机框2内的交换芯片p。
也就是说,即便某个VD的代理芯片组在多个机框内都分布有交换芯片,但由于一个VD的代理芯片组在不同机框内所分布的交换芯片是不同的,因此,在不同机框内所设置的对应该VD的ECMP所包含的内容也是不同的。
以上是对本实施例中基于VD的交换设备的详细说明。除了该交换设备之外,本实施例还提供了一种应用于该交换设备的报文转发方法,其中:
对于每个VD,该报文转发方法利用下发有该VD的转发配置的至少一块交换芯片形成该VD的一个代理芯片组;
对于每个VD,该报文转发方法令未下发该VD的转发配置的每块交换芯片将属于该VD的物理端口接收到的报文重定向至该VD的代理芯片组进行转发。
为了确保代理芯片组中的MAC地址同步,对于包含有至少两块交换芯片的每个代理芯片组,该报文转发方法可以在代理芯片组中的所有交换(即代理芯片)之间实现MAC地址同步。
为了确保交换芯片准确地实现重定向,该报文转发方法针对每块交换芯片中未下发转发配置的每个VD,在该交换芯片中设置用于将属于该VD的物理端口接收到的报文指向该VD对应的ECMP的ACL表项;以及,该报文转发方法还将每个VD对应的ECMP设置在未下发该VD的转发配置、但物理端口被划分在该VD的至少一块交换芯片中,用于将指向该ECMP的报文重定向至该VD的代理芯片组。
为了提高代理芯片组的健壮性,该报文转发方法可以预先将至少一个代理芯片组中的至少两块交换芯片(即代理芯片)分别设置在交换设备中的不同机框内,此时,交换芯片将接收到的报文重定向至该报文所属VD的代理芯片组进行转发的方式可以为:
对于每个VD,若一个机框内同时具有未下发该VD的转发配置的块交换芯片、以及该VD的代理芯片组中的交换芯片(即代理芯片),则该报文转发方法令该机框内未下发该VD的转发配置的块交换芯片,优先将属于该VD的物理端口接收到的报文重定向至该VD的代理芯片组中位于该机框内的交换芯片(即代理芯片)进行转发;
对于每个VD,若一个机框内具有未下发该VD的转发配置的块交换芯片、但未分布有该VD的代理芯片组中的交换芯片(即代理芯片),则该报文转发方法令该机框内未下发该VD的转发配置的块交换芯片,将属于该VD的物理端口接收到的报文重定向至该VD的代理芯片组中位于其他机框内的交换芯片(即代理芯片)进行转发。
相应地:
若一个机框内同时具有未下发该VD的转发配置的交换芯片、以及该VD的代理芯片组中的交换芯片,则该报文转发方法在该机框内未下发该VD的转发配置的交换芯片中,至少设置能够指向该VD的代理芯片组中位于该机框内的交换芯片的ECMP,并且可选地进一步设置有能够指向该VD的代理芯片组中位于其他机框内的交换芯片的ECMP;
若一个机框内具有未下发该VD的转发配置的交换芯片、但未分布有该VD的代理芯片组中的交换芯片,则该报文转发方法在该机框内未下发该VD的转发配置的交换芯片中,设置能够指向该VD的代理芯片组中位于其他机框内的交换芯片的ECMP。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种基于虚拟设备VD配置的交换设备,其特征在于,该交换设备包括至少两块交换芯片,每块交换芯片的各物理端口被划分在至少一个VD、且每块交换芯片中最多只下发有一个VD的转发配置,其中:
在每个VD中,对于未下发该VD的转发配置、但物理端口又被划分在该VD的每块交换芯片,下发有该VD的转发配置的至少一块交换芯片形成该VD的一个代理芯片组;
在每个VD中,未下发该VD的转发配置、但物理端口又被划分在该VD的每块交换芯片将属于该VD的物理端口接收到的报文重定向至该VD的代理芯片组进行转发;
每块交换芯片针对未在本芯片下发转发配置的每个VD,设置有用于将属于该VD的物理端口接收到的报文指向该VD对应的ECMP的ACL表项;
每个VD对应的ECMP设置在未下发该VD的转发配置、但物理端口被划分在该VD的至少一块交换芯片中,用于将指向该ECMP的报文重定向至该VD的代理芯片组,其中,该ECMP对应于物理端口及其接收到的报文所属的VD、且该ECMP中包含属于该VD的代理芯片组中的各交换芯片的端口号,属于该VD的物理端口接收到的报文,并通过该VD的物理端口所在交换芯片中的ACL被指向至作为下一跳的ECMP,以使报文被Hash至所属VD的代理芯片组中的一块交换芯片进行代理查表转发。
2.根据权利要求1所述的交换设备,其特征在于,对于包含有至少两块交换芯片的每个代理芯片组,该代理芯片组中的所有交换芯片之间保持MAC地址同步。
3.根据权利要求1所述的交换设备,其特征在于,该交换设备包括至少两个机框,至少一个代理芯片组中的至少两块交换芯片分布在不同机框内。
4.根据权利要求3所述的交换设备,其特征在于,
对于每个VD,若一个机框内同时具有未下发该VD的转发配置的交换芯片、以及该VD的代理芯片组中的交换芯片,则该机框内未下发该VD的转发配置的交换芯片,将属于该VD的物理端口接收到的报文优先重定向至该VD的代理芯片组中位于该机框内的交换芯片进行转发;
对于每个VD,若一个机框内具有未下发该VD的转发配置的交换芯片、但未分布有该VD的代理芯片组中的交换芯片,则该机框内未下发该VD的转发配置的交换芯片,将属于该VD的物理端口接收到的报文重定向至该VD的代理芯片组中位于其他机框内的交换芯片进行转发。
5.根据权利要求4所述的交换设备,其特征在于,
若一个机框内同时具有未下发该VD的转发配置的交换芯片、以及该VD的代理芯片组中的交换芯片,则在该机框内未下发该VD的转发配置的交换芯片中,至少设置有指向该VD的代理芯片组中位于该机框内的交换芯片的ECMP;
若一个机框内具有未下发该VD的转发配置的交换芯片、但未分布有该VD的代理芯片组中的交换芯片,则在该机框内未下发该VD的转发配置的交换芯片中,设置有指向该VD的代理芯片组中位于其他机框内的交换芯片的ECMP。
6.一种基于虚拟设备配置的报文转发方法,其特征在于,该报文转发方法应用于包括多块交换芯片的交换设备,该交换设备中的每块交换芯片的各物理端口被划分在至少一个VD、且该交换设备中的每块交换芯片中最多只下发有一个VD的转发配置,其中:
在每个VD中,对于未下发该VD的转发配置、但物理端口又被划分在该VD的每块交换芯片,该报文转发方法利用下发有该VD的转发配置的至少一块交换芯片形成该VD的一个代理芯片组;
在每个VD中,该报文转发方法令未下发该VD的转发配置、但物理端口又被划分在该VD的每块交换芯片将属于该VD的物理端口接收到的报文重定向至该VD的代理芯片组进行转发;
每块交换芯片针对未在本芯片下发转发配置的每个VD,设置有用于将属于该VD的物理端口接收到的报文指向该VD对应的ECMP的ACL表项;
每个VD对应的ECMP设置在未下发该VD的转发配置、但物理端口被划分在该VD的至少一块交换芯片中,用于将指向该ECMP的报文重定向至该VD的代理芯片组,其中,该ECMP对应于物理端口及其接收到的报文所属的VD、且该ECMP中包含属于该VD的代理芯片组中的各交换芯片的端口号,属于该VD的物理端口接收到的报文,并通过该VD的物理端口所在交换芯片中的ACL被指向至作为下一跳的ECMP,以使报文被Hash至所属VD的代理芯片组中的一块交换芯片进行代理查表转发。
7.根据权利要求6所述的报文转发方法,其特征在于,对于包含有至少两块交换芯片的每个代理芯片组,该报文转发方法在该代理芯片组中的所有交换芯片之间实现MAC地址同步。
8.根据权利要求6所述的报文转发方法,其特征在于,该报文转发方法将至少一个代理芯片组中的至少两块交换芯片分布在交换设备中的不同机框内。
9.根据权利要求8所述的报文转发方法,其特征在于,
对于每个VD,若一个机框内同时具有未下发该VD的转发配置的交换芯片、以及该VD的代理芯片组中的交换芯片,则该报文转发方法令该机框内未下发该VD的转发配置的交换芯片,将属于该VD的物理端口接收到的报文优先重定向至该VD的代理芯片组中位于该机框内的交换芯片进行转发;
对于每个VD,若一个机框内具有未下发该VD的转发配置的交换芯片、但未分布有该VD的代理芯片组中的交换芯片,则该报文转发方法令该机框内未下发该VD的转发配置的交换芯片,将属于该VD的物理端口接收到的报文重定向至该VD的代理芯片组中位于其他机框内的交换芯片进行转发。
10.根据权利要求9所述的报文转发方法,其特征在于,
若一个机框内同时具有未下发该VD的转发配置的交换芯片、以及该VD的代理芯片组中的交换芯片,则该报文转发方法在该机框内未下发该VD的转发配置的交换芯片中,至少设置有指向该VD的代理芯片组中位于该机框内的交换芯片的ECMP;
若一个机框内具有未下发该VD的转发配置的交换芯片、但未分布有该VD的代理芯片组中的交换芯片,则该报文转发方法在该机框内未下发该VD的转发配置的交换芯片中,设置有指向该VD的代理芯片组中位于其他机框内的交换芯片的ECMP。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310658835.1A CN103684965B (zh) | 2013-12-06 | 2013-12-06 | 基于虚拟设备配置的交换设备和报文转发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310658835.1A CN103684965B (zh) | 2013-12-06 | 2013-12-06 | 基于虚拟设备配置的交换设备和报文转发方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103684965A CN103684965A (zh) | 2014-03-26 |
CN103684965B true CN103684965B (zh) | 2017-07-14 |
Family
ID=50321338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310658835.1A Active CN103684965B (zh) | 2013-12-06 | 2013-12-06 | 基于虚拟设备配置的交换设备和报文转发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103684965B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104038566B (zh) * | 2014-06-12 | 2017-11-03 | 福建星网锐捷网络有限公司 | 一种虚拟交换设备地址学习的方法、装置及系统 |
CN104202267B (zh) * | 2014-09-19 | 2017-06-23 | 福建星网锐捷网络有限公司 | 网络设备的配置方法及vsd |
CN105487990A (zh) * | 2014-09-19 | 2016-04-13 | 中兴通讯股份有限公司 | 一种cpu与芯片之间传输消息报文的方法及装置 |
CN109194589B (zh) * | 2018-08-31 | 2021-01-26 | 新华三技术有限公司 | 一种mdc实现方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110071779A (ko) * | 2009-12-21 | 2011-06-29 | 한국전자통신연구원 | 가상머신 간의 데이터 공유 시스템 및 그 방법 |
CN102215152A (zh) * | 2010-04-01 | 2011-10-12 | 杭州华三通信技术有限公司 | 一种在虚拟设备之间实现流量间隔的方法和系统 |
CN102469021A (zh) * | 2010-11-18 | 2012-05-23 | 杭州华三通信技术有限公司 | 一种智能弹性框架系统中转发业务流量的方法和成员设备 |
CN102710529A (zh) * | 2012-06-21 | 2012-10-03 | 杭州华三通信技术有限公司 | 基于虚拟设备的报文转发方法和设备 |
CN102752219A (zh) * | 2012-07-18 | 2012-10-24 | 杭州华三通信技术有限公司 | 用于实现vd互连的方法和交换设备 |
-
2013
- 2013-12-06 CN CN201310658835.1A patent/CN103684965B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110071779A (ko) * | 2009-12-21 | 2011-06-29 | 한국전자통신연구원 | 가상머신 간의 데이터 공유 시스템 및 그 방법 |
CN102215152A (zh) * | 2010-04-01 | 2011-10-12 | 杭州华三通信技术有限公司 | 一种在虚拟设备之间实现流量间隔的方法和系统 |
CN102469021A (zh) * | 2010-11-18 | 2012-05-23 | 杭州华三通信技术有限公司 | 一种智能弹性框架系统中转发业务流量的方法和成员设备 |
CN102710529A (zh) * | 2012-06-21 | 2012-10-03 | 杭州华三通信技术有限公司 | 基于虚拟设备的报文转发方法和设备 |
CN102752219A (zh) * | 2012-07-18 | 2012-10-24 | 杭州华三通信技术有限公司 | 用于实现vd互连的方法和交换设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103684965A (zh) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10333836B2 (en) | Convergence for EVPN multi-homed networks | |
US8948181B2 (en) | System and method for optimizing next-hop table space in a dual-homed network environment | |
CN105453487B (zh) | 用于数据中心环境中的双归属部署的方法、装置及介质 | |
CN105706400B (zh) | 在网络上转发分组的方法和装置 | |
US9660941B2 (en) | Techniques for scalable and foolproof virtual machine move handling with virtual port channels | |
US8694664B2 (en) | Active-active multi-homing support for overlay transport protocol | |
US8831000B2 (en) | IP multicast service join process for MPLS-based virtual private cloud networking | |
US8953618B2 (en) | IP multicast service leave process for MPLS-based virtual private cloud networking | |
US9143444B2 (en) | Virtual link aggregation extension (VLAG+) enabled in a TRILL-based fabric network | |
CN104272668B (zh) | 层3覆盖网关 | |
US8560663B2 (en) | Using MPLS for virtual private cloud network isolation in openflow-enabled cloud computing | |
US10237179B2 (en) | Systems and methods of inter data center out-bound traffic management | |
CN107612808B (zh) | 隧道建立方法和装置 | |
CN101938370B (zh) | 用于基于边界网关巡逻的虚拟专用局域网业务多宿主机环境的冗余伪线 | |
US20140156906A1 (en) | Virtual Trunking Over Physical Links | |
US9258267B1 (en) | Highly scalable data center architecture with address resolution protocol (ARP)-free servers | |
EP3301868B1 (en) | Symmetric intersubnet traffic load balancing in multihomed networks | |
CN108259302B (zh) | 一种集中式网关组网实现方法及装置 | |
CN103684965B (zh) | 基于虚拟设备配置的交换设备和报文转发方法 | |
US20160205033A1 (en) | Pool element status information synchronization method, pool register, and pool element | |
EP3605960B1 (en) | Mac address synchronization | |
CN108540386A (zh) | 一种防止业务流中断方法及装置 | |
Subedi et al. | OpenFlow-based in-network Layer-2 adaptive multipath aggregation in data centers | |
CN106789523B (zh) | 一种逻辑隧道的创建方法及装置 | |
CN106209634B (zh) | 地址映射关系的学习方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Applicant before: Huasan Communication Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |