一种虚拟路由器实现方法技术

技术编号:16195120 阅读:43 留言:0更新日期:2017-09-15 04:57
本发明专利技术公开了一种虚拟路由器实现方法,解决了虚拟化中的“转发件瓶颈”问题。虚拟路由器内所有的外部端口全部集中至交换组件之上,这样设计的好处在于:虚拟路由器为满足虚拟网的包处理能力需求而使用多个转发件时,虚拟路由器中任意两个端口之间的包转发,将不会再出现数据包“串行”穿过两个转发件的情况;交换组件会将数据包分发到这两个转发件进行并行处理,这种情形下虚拟路由器的转发速率等于这两个转发件的转发速率之和。

Method for realizing virtual router

The invention discloses a method for realizing a virtual router, and solves the problem of \forwarding bottleneck\ in virtualization. Virtual router all external port to exchange all the components above, the benefits of this design is to meet the needs of the virtual router packet processing ability of virtual network and using multiple forwarding elements, forwarding packets between any virtual router in two ports, will not appear packet \serial\ through two forwarding the situation; exchange component of the packets will be distributed to the two forwarding element for parallel processing, forwarding rate of virtual router in this case is equal to the two parts of the forwarding rate and forwarding.

【技术实现步骤摘要】

本专利技术属于网络通信
,尤其涉及一种虚拟路由器实现方法
技术介绍
计算机网络通常由大量的路由器、交换机和功能各异的网络中间件组成。为了有效管理网络,管理员根据当前网络所承载的业务(如:视频、语言、Web等)来制定各种策略,由于缺少可用工具,管理员需要将这些高级策略手动地转化为可被网络设备识别的低级配置命令,这项工作富有挑战性且极易出错。对网络从业和研究人员而言,另一个几乎不能被克服的困难就是互联网的“僵化”问题。互联网的庞大部署规模,使得其成为社会中的关键基础设施,部署规模的不断扩张,随之而来的是互联网自身的演进和变革越来越困难,几十年前为解决基础互联问题而设计的互联网面对当前日新月异的各种显得越来越力不从心。上述背景下,以IETFForCES(ForwardingandControlSeperation,ForCES)为代表的可编程网络作为一种促进网络演化的手段被提出。而软件定义网络(SoftwareDefinedNetwork,SDN)是可编程网络的新形式,提供了一种新型的网络架构。SDN通过分离网络中的转发平面和控制平面,旨在简化网络管理、支持网络创新和演进,有望从根本上解决互联网的“僵化”问题。网络虚拟化是转发与控制分离技术实现网络可编程的基础,它们一直来都是研究者重点关注的对象。作为转发与控制分离思想的倡导者,IETFForCES当初是为打破单一网络设备的黑盒现象而提出的一种新型网络设备体系架构。根据IETFForCES的定义,网络件(NetworkElement,NE)(通常意义上的网络节点)由一个控制件(ControlElement,CE)和多个转发件(ForwardingElement,FE)组合而成,组合关系可以通过软件定义的方式进行设定。ForCESNE不强调CE和FE的地理位置和物理形态,换而言之NE只是一个逻辑上的概念,如果NE所实现的功能是路由器,那么该路由器就是一个虚拟路由器(VirtualRouter,VR),这和网络虚拟化研究中的节点虚拟化在思想上不谋而合。将虚拟机技术应用到CE和FE的虚拟化,在CE和FE物理机之上生成多个CE虚拟机和FE虚拟机,CE虚拟机和FE虚拟机分别是虚拟的控制件(VirtualCE,vCE)和虚拟的转发件(VirtualFE,vFE),这些vCE和vFE彼此组合构成了多个vNE(VirtualNE,vNE)。如前所述,如果这些vNE所实现的功能是路由器,那么一个NE中就会出现多个VR。由于构成vNE的vCE和vFE彼此是隔离的,因此同一个NE内的多个vNE之间也彼此隔离。当在一个NE之上需要同时运行多个虚拟网时,NE可以为每个虚拟网分配一个专属的VR(即vNE),这些彼此隔离的VR保证了虚拟网之间的隔离性。然而,传统的ForCES路由器中外部端口分布在FE之上,在进行虚拟化的过程中原有的端口分布模式会导致“FE瓶颈”问题的出现。所谓“FE瓶颈”问题指的是:当VR为满足虚拟网的包处理能力需求而使用多个vFE时,为实现其中两个vFE的外部端口(即VR的两个端口)之间的包转发,数据包会以“串行”的方式穿过这两个vFE,最终的包转发速率取决于转发速率较小的vFE,从而使VR根本无法提供预期的包处理能力。
技术实现思路
本专利技术的目的是克服现有技术的不足,提出一种虚拟路由器实现方法。本专利技术的目的通过以下技术方案实现:一种虚拟路由器实现方法,包含如下步骤:步骤(1)每一个虚拟路由器(VR)由一个虚拟控制器(vCE)和若干个虚拟转发器(vFE)组成,vCE运行路由协议并维护路由表,vFE针对数据包进行路由查表、确定输出端口;所述vCE和vFE都是物理机器上的一个虚拟机,同属于一个VR的vCE和vFE可以位于不同物理机器之上。vFE对数据包的处理能力由其所在虚拟机的CPU和内存数量决定;步骤(2)所有进出VR的数据包都通过交换组件(SE)进行调度;所述SE是一个多端口的交换机,SE上的端口分为外部端口(extraPort)和内部端口(intraPort)两种,intraPort用于vCE和vFE之间以及vFE和vFE之间的通信,extraPort用于进出VR的数据包的输入和输出;SE维护了一张“VR→vCE→vFE”的虚拟映射关系表(vMap),vMap表的每一行表示一个VR的虚拟映射关系,由五部分组成,分别是VR-vCE-vFE、vCE到SE的intraPort、vFE到SE的intraPort;步骤(3)当一个数据包(P1)进入SE时,检查P1的输入端口,如果输入端口为extraPort,进入步骤(4);如果输入端口为intraPort,进入步骤(5);步骤(4)SE检查数据包P1的目的地址,如果P1的目的地址为vCE,SE查找vMap表确定vCE到SE的intraPort(intraPorti),通过intraPorti直接将P1发送至vCE;否则,SE查找vMap表、选取负载轻的vFE(vFEj),同时确定vFEj到SE的intraPort(intraPortj),通过intraPortj直接将P1发送至vFEj;步骤(5)SE检查数据包P1的源地址和目的地址,如果源地址为vCE且目的地址为vFE(vFEk),SE查找vMap表确定vFEk到SE的intraPort(intraPortk),通过intraPortk直接将P1发送至vFEk;如果源地址为vCE且目的地址为另一个VR,SE将根据P1所携带的外部端口标记,选择一个extraPort发送P1;如果源地址和目的地址均不是vCE和vFE中任何一个,SE将根据P1所携带的外部端口标记,选择一个extraPort发送P1;如果源地址为vFE且目的地址为vCE,SE查找vMap表确定vCE到SE的intraPort(intraPorti),通过intraPorti将P1发送至vCE。本专利技术有益效果如下:为了解决虚拟化中的“转发件瓶颈”问题,本专利技术提出了一种虚拟路由器实现方法。虚拟路由器内所有的外部端口全部集中至交换组件之上,这样设计的好处在于:虚拟路由器为满足虚拟网的包处理能力需求而使用多个转发件时,虚拟路由器中任意两个端口之间的包转发,将不会再出现数据包“串行”穿过两个转发件的情况;交换组件会将数据包分发到这两个转发件进行并行处理,这种情形下虚拟路由器的转发速率等于这两个转发件的转发速率之和。附图说明图1基于转发与控制分离的网络虚拟化方法;图2基于转发与控制分离的网络虚拟化平台设计;图3交换组件的内部结构及数据分发示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步说明。本专利技术提出的一种虚拟路由器实现方法,包含如下步骤:步骤(1)每一个虚拟路由器(VR)由一个虚拟控制器(vCE)和若干个虚拟转发器(vFE)组成,vCE运行路由协议并维护路由表,vFE针对数据包进行路由查表、确定输出端口;所述vCE和vFE都是物理机器上的一个虚拟机,同属于一个VR的vCE和vFE可以位于不同物理机器之上。vFE对数据包的处理能力由其所在虚拟机的CPU和内存数量决定;步骤(2)所有进出VR的数据包都通过交换组件(SE)进行调度;所述SE是一个多端口的交换机,SE上的端口分为外部端口(extraPort本文档来自技高网
...
一种虚拟路由器实现方法

【技术保护点】
一种虚拟路由器实现方法,其特征在于,包括如下步骤:步骤(1)每一个虚拟路由器(VR)由一个虚拟控制器(vCE)和若干个虚拟转发器(vFE)组成,vCE运行路由协议并维护路由表,vFE针对数据包进行路由查表、确定输出端口;所述vCE和vFE都是物理机器上的一个虚拟机,同属于一个VR的vCE和vFE可以位于不同物理机器之上;vFE对数据包的处理能力由其所在虚拟机的CPU和内存数量决定;步骤(2)所有进出VR的数据包都通过交换组件(SE)进行调度;所述SE是一个多端口的交换机,SE上的端口分为外部端口(extraPort)和内部端口(intraPort)两种,intraPort用于vCE和vFE之间以及vFE和vFE之间的通信,extraPort用于进出VR的数据包的输入和输出;SE维护了一张“VR→vCE→vFE”的虚拟映射关系表(vMap),vMap表的每一行表示一个VR的虚拟映射关系,由五部分组成,分别是VR‑vCE‑vFE、vCE到SE的intraPort、vFE到SE的intraPort;步骤(3)当一个数据包(P1)进入SE时,检查P1的输入端口,如果输入端口为extraPort,进入步骤(4);如果输入端口为intraPort,进入步骤(5);步骤(4)SE检查数据包P1的目的地址,如果P1的目的地址为vCE,SE查找vMap表确定vCE到SE的intraPort(intraPorti),通过intraPorti直接将P1发送至vCE;否则,SE查找vMap表、选取负载轻的vFE(vFEj),同时确定vFEj到SE的intraPort(intraPortj),通过intraPortj直接将P1发送至vFEj;步骤(5)SE检查数据包P1的源地址和目的地址,如果源地址为vCE且目的地址为vFE(vFEk),SE查找vMap表确定vFEk到SE的intraPort(intraPortk),通过intraPortk直接将P1发送至vFEk;如果源地址为vCE且目的地址为另一个VR,SE将根据P1所携带的端口标记,选择一个extraPort发送P1;如果源地址和目的地址均不是vCE和vFE中任何一个,SE将根据P1所携带的外部端口标记,选择一个extraPort发送P1;如果源地址为vFE且目的地址为vCE,SE查找vMap表确定vCE到SE的intraPort(intraPorti),通过intraPorti将P1发送至vCE。...

【技术特征摘要】
1.一种虚拟路由器实现方法,其特征在于,包括如下步骤:步骤(1)每一个虚拟路由器(VR)由一个虚拟控制器(vCE)和若干个虚拟转发器(vFE)组成,vCE运行路由协议并维护路由表,vFE针对数据包进行路由查表、确定输出端口;所述vCE和vFE都是物理机器上的一个虚拟机,同属于一个VR的vCE和vFE可以位于不同物理机器之上;vFE对数据包的处理能力由其所在虚拟机的CPU和内存数量决定;步骤(2)所有进出VR的数据包都通过交换组件(SE)进行调度;所述SE是一个多端口的交换机,SE上的端口分为外部端口(extraPort)和内部端口(intraPort)两种,intraPort用于vCE和vFE之间以及vFE和vFE之间的通信,extraPort用于进出VR的数据包的输入和输出;SE维护了一张“VR→vCE→vFE”的虚拟映射关系表(vMap),vMap表的每一行表示一个VR的虚拟映射关系,由五部分组成,分别是VR-vCE-vFE、vCE到SE的intraPort、vFE到SE的intraPort;步骤(3)当一个数据包(P1)进入SE时,检查P1的输入端口,如果输入端口为extraPort,进入步骤(4);如果输入端口...

【专利技术属性】
技术研发人员:蔡伸高明于鑫黄玉才徐冰靓
申请(专利权)人:浙江工商大学
类型:发明
国别省市:浙江;33

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

1