【技术实现步骤摘要】
一种在虚拟设备间实现流量互通的方法和装置
本申请涉及通信
,特别涉及一种在虚拟设备间实现流量互通的方法和装置。
技术介绍
参见图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通告的虚拟端口的端口信息;其中,所述端口信息包括虚拟端口的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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。