一种在虚拟设备间实现流量互通的方法和装置制造方法及图纸

技术编号:10052631 阅读:224 留言:0更新日期:2014-05-16 00:38
本发明专利技术公开了一种在虚拟设备间实现流量互通的方法和设备,技术方案为:为每个VD设置用于与其它VD互联的虚拟端口并将该虚拟端口配置成三层接口,利用该三层接口进行路由学习和虚拟端口的端口信息通告;当任一VD接收到需发往其它VD下属的用户设备的报文时,通过查找路由表以及ARP学习确定该其它VD的虚拟端口的IP地址和MAC地址,进而根据其它各VD通告的虚拟端口的端口信息确定该其它VD的虚拟端口的端口号,从而将报文发送到该虚拟端口,使得该其它VD可以转发报文至目的用户设备。本发明专利技术能够降低用户的组网成本。

【技术实现步骤摘要】
一种在虚拟设备间实现流量互通的方法和装置
本申请涉及通信
,特别涉及一种在虚拟设备间实现流量互通的方法和装置。
技术介绍
参见图1,图1是现有技术分布式交换路由系统的逻辑框图,包括四个转发芯片:PP1、PP2、PP3、PP4,以及一个交换网,每个都有一个对应的交换网端口fp和多个下属的用户端口up,其中,PP1、PP2、PP3、PP4对应的交换网端口分别为fp1、fp2、fp3、fp4,每个转发芯片上均有4个用户端口,用up1、up2、up3、up4表示。在现有技术中,转发芯片负责报文的转发处理,根据转发流程分析出报文的目的转发芯片和目的端口,以及在报文到达目的芯片后负责把报文送到目的用户端口,而交换网是负责转发芯片间的逻辑连接,即根据转发芯片发送过来的报文中携带的目的转发芯片号转发报文至目的转发芯片。以图1为例,若有单播报文从PP1下的用户端口up1上来,需要转发到PP3下的用户端口up1,那PP1把报文发送到交换网时会携带目的芯片号PP3,在交换网上,和PP3连接的交换网端口是fp3,交换网就会把报文发送到fp3,那么该单播报文就不会有被发送到PP2或PP4。在分布式交换路由系统中,可以采用网络设备虚拟化。网络设备虚拟化可以把一台大的物理设备虚拟成多台小设备,也即虚拟设备(VirtualDevice,VD)。各VD对于用户来说就像一台独立的小设备,有自己独立运行的路由进程、二三层协议、转发表项、接口、可以添加自己的用户、可以独自重启并读取自己的配置文件。各VD间的资源可以通过命令来进行分配管理,互不影响。即使VD占用的资源超过分配的资源限制时,也不能抢占其他的VD资源。当在分布式交换路由系统中采用网络设备虚拟化后,各VD之间的流量互相隔离,各用户端口对其他VD是不可见的。因此,在需要实现VD间流量的互通时,现有技术通常通过光纤或网线等外部连线把VD连接起来。这样的实现技术,给用户使用带来不便,而且还增加了用户组网成本。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种在虚拟设备间实现流量互通的方法,该方法能够降低用户的组网成本。为了达到上述目的,本专利技术提供了一种在虚拟设备间实现流量互通的方法,应用于分布式交换路由系统,所述分布式交换路由系统包括多个转发芯片和一个交换网,所述分布式交换路由系统以转发芯片为加入和退出VD的最小单元,并建立有转发芯片和VD的对应关系,该方法包括:为当前VD设置用于与其它VD互联的虚拟端口,将该虚拟端口配置为当前VD对其它VD的三层接口,发布当前VD的路由信息并学习其它各VD发布的路由信息;并向其它各VD通告该虚拟端口的端口信息和接收其它各VD通告的虚拟端口的端口信息;其中,所述端口信息包括虚拟端口的MAC地址和虚拟端口的端口号;当前VD接收需要发往其它VD下属的用户设备的报文时,通过查找路由表以及ARP学习确定该用户设备所属VD的虚拟端口的IP地址和MAC地址,并根据接收到其它各VD通告的虚拟端口的端口信息确定该用户设备所属VD的虚拟端口的端口号,根据IP地址、MAC地址和端口号,将该报文发往该用户设备所属VD的虚拟端口;当前VD在自身的虚拟端口接收到其它VD发来的报文时,在当前VD内将该报文转发至报文的目的用户设备。本申请还提供了一种VD,应用于分布式交换路由系统,所述分布式交换路由系统包括多个转发芯片和一个交换网,所述分布式交换路由系统以转发芯片为加入和退出VD的最小单元,并建立有转发芯片和VD的对应关系,该VD包括:配置单元、路由学习单元、端口通告单元、转发单元;所述配置单元,用于为本VD设置用于与其它VD互联的虚拟端口,将该虚拟端口配置为本VD对其它VD的三层接口;所述路由学习单元,用于在配置单元将本VD的虚拟端口配置为对其它VD的三层接口之后,发布本VD的路由信息并学习其它各VD发布的路由信息;所述端口通告单元,用于在配置单元将本VD的虚拟端口配置为对其它VD的三层接口之后,向其它各VD通告该虚拟端口的端口信息和接收其它各VD通告的虚拟端口的端口信息;其中,所述端口信息包括虚拟端口的MAC地址和虚拟端口的端口号;所述转发单元,用于接收需要发往其它VD下属的用户设备的报文时,通过查找路由表以及ARP学习确定该用户设备所属VD的虚拟端口的IP地址和MAC地址,并根据接收到其它各VD通告的虚拟端口的端口信息确定该用户设备所属VD的虚拟端口的端口号,根据IP地址、MAC地址和端口号,将该报文发往该用户设备所属VD的虚拟端口;用于在本VD的虚拟端口接收到其它VD发来的报文,在本VD内将该报文转发至报文的目的用户设备。。由上面的技术方案可知,本专利技术中,通过为分布式交换路由系统中的每个VD设置用于与其它各VD互联的虚拟端口并配置成三层接口,然后执行行路由信息的发布和接收、虚拟端口的端口信息的通告和接收;当某个VD接收到需发往其它VD下属的用户设备的报文时,通过查找路由表、ARP学习确定该用户设备所属VD的虚拟端口的IP地址和MAC地址,进而根据其它各VD通告的虚拟端口的端口信息确定相应的端口号,将报文发送到该端口号所代表的虚拟端口,使得报文的目的用户设备所属VD可以在自身的虚拟端口接收报文并在本VD内转发出去,从而不需要在VD之间增加光纤或网线等外部连线就可以实现VD间的流量互通,因此可以降低用户的组网成本。附图说明图1是现有技术分布式交换路由系统的逻辑框图;图2是本专利技术实施例在虚拟设备间实现流量互通的方法流程图;图3是本专利技术实施例报文在VD间的转发路径示意图。图4是本专利技术实施例提供的VD的结构示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,下面结合附图并举实施例,对本专利技术的技术方案进行详细说明。本专利技术中,为了在分布式交换路由系统中的各虚拟设备之间实现流量互通,在分布式交换路由系统中以转发芯片为加入和退出VD的最小单元,并建立有转发芯片和VD的对应关系。参见图2,图2是本专利技术实施例在虚拟设备间实现流量互通的方法流程图,主要包括以下步骤:步骤201、为当前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通告的虚拟端口的端口信息;其中,所述端口信息包括虚拟端口的MAC地址和虚拟端口的端口号;当前VD接收需要发往其它VD下属的用户设备的报文时,通过查找路由表以及ARP学习确定该用户设备所属VD的虚拟端口的IP地址和MAC地址,并根据接收到其它各VD通告的虚拟端口的端口信息确定该用户设备所属VD的虚拟端口的端口号,根据IP地址、MAC地址和端口号,将该报文发往该用户设备所属VD的虚拟端口;当前VD在自身的虚拟端口接收到其它VD发来的报文时,在当前VD内将该报文转发至报文的目的用户设备。

【技术特征摘要】
1.一种在虚拟设备VD间实现流量互通的方法,应用于分布式交换路由系统,所述分布式交换路由系统包括多个转发芯片和一个交换网,所述分布式交换路由系统以转发芯片为加入和退出VD的最小单元,并建立有转发芯片和VD的对应关系,其特征在于,该方法包括:为当前VD设置用于与其它VD互联的虚拟端口,将该虚拟端口配置为当前VD对其它VD的三层接口,发布当前VD的路由信息并学习其它各VD发布的路由信息;并向其它各VD通告该虚拟端口的端口信息和接收其它各VD通告的虚拟端口的端口信息;其中,所述端口信息包括虚拟端口的MAC地址和虚拟端口的端口号;所述虚拟端口为环回端口;当前VD接收需要发往其它VD下属的用户设备的报文时,通过查找路由表以及ARP学习确定该用户设备所属VD的虚拟端口的IP地址和MAC地址,并根据接收到其它各VD通告的虚拟端口的端口信息确定该用户设备所属VD的虚拟端口的端口号,根据IP地址、MAC地址和端口号,将该报文发往该用户设备所属VD的虚拟端口;当前VD在自身的虚拟端口接收到其它VD发来的报文时,在当前VD内将该报文转发至报文的目的用户设备。2.根据权利要求1所述的在VD间实现流量互通的方法,其特征在于,所述为当前VD设置用于与其它VD互联的虚拟端口的方法为:为当前VD设置一个环回端口并将该环回端口作为当前VD的虚拟端口;或者,如果当前VD的部分或全部转发芯片内置有环回端口,则选择其中一个转发芯片的环回端口作为当前VD的虚拟端口;或者,如果当前VD的部分或全部转发芯片内置有环回端口,则将各转发芯片的环回端口配置成聚合端口,将该聚合端口作为当前VD的虚拟端口。3.根据权利要求2所述的在VD间实现流量互通的方法,其特征在于,所述将该虚拟端口配置为当前VD对其它VD的三层接口的方法为:将该虚拟端口配置成路由器端口,包括:为该虚拟端口分配IP地址;或者,将该虚拟端口配置成交换机端口,包括:将该虚拟端口加入到当前VD对应的预设VLAN,并为该虚拟端口分配基于该预设VLAN的IP地址;所述将该虚拟端口配置为当前VD对其它VD的三层接口后,进一步包括:为该虚拟端口配置MAC地址;所述发布当前VD的路由信息的方法为:当前VD利用与其它所有VD共用的CPU生成携带当前VD的路由信息的路由协议报文,以使其它各VD利用所述CPU获取该路由协议报文并学习该路由协议报文中携带的路由信息;其中,所述路由协议报文的源IP地址、源MAC地址分别为当前VD的虚拟端口的IP地址、MAC地址;所述向其它各VD通告该虚拟端口的端口信息的方法为:将当前VD的虚拟端口信息设置为全局变量,或者,利用与其它所有VD共用的CPU生成携带当前VD的虚拟端口信息的信息通告报文,以使其它各VD利用所述CPU获取该信息通告报文并保存信息通告报文中携带的虚拟端口信息。4.根据权利要求3所述的在VD间实现流量互通的方法,其特征在于,通过查找路由表以及ARP学习确定报文的目的用户设备所属VD的虚拟端口的IP地址和MAC地址的方法为:查找路由表确定报文的下一跳IP地址,查找该下一跳IP地址对应的ARP表项,如果查找到,则确定该下一跳IP地址对应的MAC地址为查找到的ARP表项中的MAC地址,否则,向其它各VD发送目的IP地址为该下一跳IP地址的ARP请求报文,如果接收到任一VD返回的ARP响应报文,则确定ARP响应报文中的源MAC地址为该下一跳IP地址对应的MAC地址,并建立该下一跳IP地址对应的ARP表项;将报文的下一跳IP地址和该下一跳IP地址对应的MAC地址确定为报文的目的用户设备所属VD的虚拟端口的IP地址和MAC地址;该方法进一步包括:当前VD接收到其它VD发送的ARP请求报文时,如果ARP请求报文中的目的IP地址为当前VD的虚拟端口的IP地址,则返回源IP地址和源MAC地址分别为当前VD的虚拟端口的IP地址和MAC地址的ARP响应报文。5.根据权利要求4所述的在VD间实现流量互通的方法,其特征在于,所述向其它各VD发送目的IP地址为该下一跳IP地址的ARP请求报文的方法为:当前VD利用与其它所有VD共用的CPU生成目的IP地址为该下一跳IP地址的ARP请求报文,以使其它各VD利用所述CPU获取该ARP请求报文并在该ARP请求报文的目的IP地址是该其它VD的虚拟端口的IP地址时生成源IP地址和源MAC地址分别为该其它VD的虚拟端口的IP地址和MAC地址的ARP响应报文;当前VD接收到目的IP地址为当前VD的虚拟端口的IP地址的ARP请求报文后,返回源IP地址、源MAC地址分别为当前VD的虚拟端口的IP地址和MAC地址的ARP响应报文的方法为:当前VD利用与其它所有VD共用的CPU生成源IP地址、源MAC地址分别为当前VD的虚拟端口的IP地址和MAC地址的ARP响应报文,以使发送该ARP请求报文的VD利用所述CPU获取该ARP响应报文并确定该ARP请求报文的目的IP地址对应的MAC地址是该ARP响应报文中的源MAC地址。6.一种虚拟设备VD,应用于分布式交换路由系统,所述分布式交换路由系统包括多个转...

【专利技术属性】
技术研发人员:郑国良管树发
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1