当前位置: 首页 > 专利查询>清华大学专利>正文

虚拟路由系统及方法技术方案

技术编号:8388975 阅读:217 留言:0更新日期:2013-03-07 20:47
本发明专利技术公开了一种虚拟路由系统及方法,涉及互联网技术领域,所述系统包括:数据平面,所述数据平面包括:MAC输入/输出端口、输入仲裁模块、以及至少两个数据转发平面;所述MAC输入/输出端口,用于接收数据包,并发送至所述输入仲裁模块;所述输入仲裁模块,用于解析所述数据包,并通过所述数据包中的VLAN标签,将所述数据包发送至相应的数据转发平面;所述数据转发平面,用于对所述数据包进行解析,通过解析获得所述数据包相应的目的MAC地址,将所述数据包发送至相应的MAC输入/输出端口并转发。本发明专利技术通过对数据包的VLAN标签做处理,使具有不同VLAN标签的数据包在不同的转发平面中进行处理,实现了连接虚拟路由器各个虚拟网络之间的完全隔离。

【技术实现步骤摘要】

本专利技术涉及互联网
,特别涉及一种虚拟路由系统及方法
技术介绍
互联网在过去几十年的产生与发展过程中,取得了举世瞩目的成功,随着互联网的发展,出现了越来越多的用户,越来越多的应用,越来越多的服务。互联网的快速发展使得现有的网络架构难以满足用户的迫切需求,同时,固有的弊端和新生的缺陷不断涌现。因此,这就迫使研究人员不得不考虑下一代网络的架构,并产生了一系列研究成果。然而,大量的研究成果没有一个行之有效的大规模的平台来验证其正确性。因此,未来互联网的研究迫切需要一个创新实验平台。这个创新实验平台,需要在不影响现有网络的前提下,并行进行各种互联网的创新研究和实验。网络虚拟化技术允许在同一个底层网络资源上同时并行运行多个虚拟网络,被认为是搭建未来创新网络实验平台的一种重要和有效的技术。网络虚拟化通过节点虚拟化技术和链路虚拟化技术在同一底层物理网络上虚拟出多个虚拟网络,不同的虚拟网络提供不同的服务,运行不同的协议和应用。例如不同虚拟网络可以运行特点鲜明的不同应用:网络电话(Voice over Internet Protocol,VoIP)、视频点播、组播、文件共享等。支持虚拟化的路由器是虚拟化网络的关键设备,所以在网络虚拟化这一课题中,虚拟路由器的研究便显得格外重要。为了突破基于软件转发的虚拟路由器的转发速率低的瓶颈:研究人员提出了基于硬件的虚拟路由器,主要分为两类,一种为基于网络处理器(Network Processor),虽然它可以达到较高的转发速率,但是对于研究人员而言,网络处理器的内部结构无法改变,对它的开发只能局限于设备厂商提供的接口,在可编程性上有较大的局限性。另一种方案是基于现场可编程门阵列(Field-Programmable Gate Array,FPGA),其最大的特点在于不仅可以达到高的转发速率,同时提供完全的可编程性,内部结构可以任意更改。然而,目前关于硬件虚拟路由器的方案隔离性上仍存在缺陷,各个虚拟网络之间无法做到完全的隔离。
技术实现思路
(一)要解决的技术问题本专利技术要解决的技术问题是:如何实现连接虚拟路由器的各个虚拟网络之间的完全隔离。(二)技术方案为解决上述技术问题,本专利技术提供了一种虚拟路由系统,所述系统包括:数据平面,所述数据平面包括:MAC输入/输出端口、输入仲裁模块、以及至少两个数据转发平面;所述MAC输入/输出端口,用于接收数据包,并发送至所述输入仲裁模块;所述输入仲裁模块,用于解析所述数据包,并通过所述数据包中的VLAN标签,将所述数据包发送至相应的数据转发平面;所述数据转发平面,用于对所述数据包进行解析,通过解析获得所述数据包相应的目的MAC地址,将所述数据包发送至相应的MAC输入/输出端口并转发。优选地,所述系统还包括:控制平面,与所述数据平面连接,所述控制平面包括与所述数据转发平面数量相同个数的虚拟机,且与所述数据转发平面一一对应,每个虚拟机包括虚拟网卡、控制模块和路由配置输出端,所述虚拟网卡的数量与所述MAC输入/输出端口的数量相同,且一一对应,相对应的虚拟网卡和MAC输出/输出端口的MAC地址和IP地址相同;所述虚拟网卡,用于接收对应数据转发平面发送来的数据包,并转发至所述控制模块;所述控制模块,用于接收由所述虚拟网卡转发来的数据包,并对所述数据包进行解析,以调整与本虚拟机对应的数据转发平面的路由表、ARP表、以及端口映射表,所述端口映射表为存储了所属数据转发平面对应的虚拟机上所有虚拟网卡的MAC地址和IP地址;所述路由配置输出端,用于将所述路由表、ARP表、以及端口映射表发送至与所述虚拟机对应的数据转发平面,以更新与所述虚拟机对应的数据转发平面上的路由表、ARP表、以及端口映射表。优选地,每个数据转发平面均包括:端口映射地址匹配模块和输出端口查找模块,并设有路由表、ARP表、以及端口映射表;所述端口映射地址匹配模块,用于解析所述数据包,判断所述数据包的包类型,若包类型为单播包,则获取所述数据包的目的MAC地址,根据所述端口映射表判断所述目的MAC地址是否属于本数据转发平面,若所述目的MAC地址不属于本数据转发平面,则丢弃所述数据包,若所述目的MAC地址属于本数据转发平面或所述包类型为组播包或广播包,则获取所述数据包的目的IP地址,根据所述端口映射表判断所述目的IP地址是否与该数据转发平面对应的虚拟机的虚拟网卡的IP地址匹配,若所述目的IP地址与所述虚拟网卡的IP地址匹配,则将所述数据包发送至对应的虚拟机,若所述目的IP地址与所述虚拟网卡的IP地址不匹配,则判断所述数据包是否为IPV4包以及所述数据包中是否有选项,若所述数据包是IPV4包且没有选项,则将所述数据包发送至所述输出端口查找模块,若所述数据包不是IPV4包或所述数据包有选项,则将所述数据包发送至对应的虚拟机;所述输出端口查找模块,用于根据所述路由表进行查找匹配,若在路由表中未查找到目的IP地址,则将所述数据包发送至对应的虚拟机,若在路由表中查找到了目的IP地址,则根据路由表获得路由路径,获得下一跳的IP地址,根据所述ARP表进行查找匹配,在所述ARP表中未查找到下一跳的IP地址,则将所述数据包发送至对应的虚拟机,若在所述ARP表中查找到下一跳的IP地址,则将所述下一跳的IP地址转换为所述下一跳IP地址对应的MAC地址,将所述目的MAC地址替换为数据包的源MAC地址,将根据查找获得的下一跳的MAC地址替换为数据包的目的MAC地址,并将所述数据包发送至替换前的目的MAC地址相应的MAC输入/输出端口。优选地,每个数据转发平面还包括:时序调整模块,用于对所述数据包进行调整,以使得包括VLAN标签的数据包和不包括VLAN标签的普通数据包的处理时序同步。优选地,所述MAC输入/输出端口为至少两个;优选地,所述MAC输入/输出端口通过队列的方式进行数据交互。优选地,所述数据平面通过FPGA板卡实现。优选地,所述控制平面通过主机和安装于所述主机中的虚拟机实现。本方面还公开了一种基于所述虚拟路由系统的方法,包括以下步骤:S1:MAC输入/输出端口接收数据包;S2:解析所述数据包,并通过所述数据包中的VLAN标签,将所述数据包发送至相应的数据转发平面;S3:所述数据转发平本文档来自技高网
...

【技术保护点】
一种虚拟路由系统,其特征在于,所述系统包括:数据平面,所述数据平面包括:MAC输入/输出端口、输入仲裁模块、以及至少两个数据转发平面;所述MAC输入/输出端口,用于接收数据包,并发送至所述输入仲裁模块;所述输入仲裁模块,用于解析所述数据包,并通过所述数据包中的VLAN标签,将所述数据包发送至相应的数据转发平面;所述数据转发平面,用于对所述数据包进行解析,通过解析获得所述数据包相应的目的MAC地址,将所述数据包发送至相应的MAC输入/输出端口并转发。

【技术特征摘要】
1.一种虚拟路由系统,其特征在于,所述系统包括:数据平面,
所述数据平面包括:MAC输入/输出端口、输入仲裁模块、以及至少
两个数据转发平面;
所述MAC输入/输出端口,用于接收数据包,并发送至所述输入
仲裁模块;
所述输入仲裁模块,用于解析所述数据包,并通过所述数据包中
的VLAN标签,将所述数据包发送至相应的数据转发平面;
所述数据转发平面,用于对所述数据包进行解析,通过解析获得
所述数据包相应的目的MAC地址,将所述数据包发送至相应的MAC
输入/输出端口并转发。
2.如权利要求1所述的系统,其特征在于,所述系统还包括:
控制平面,与所述数据平面连接,所述控制平面包括与所述数据转发
平面数量相同个数的虚拟机,且与所述数据转发平面一一对应,每个
虚拟机包括虚拟网卡、控制模块和路由配置输出端,所述虚拟网卡的
数量与所述MAC输入/输出端口的数量相同,且一一对应,相对应的
虚拟网卡和MAC输出/输出端口的MAC地址和IP地址相同;
所述虚拟网卡,用于接收对应数据转发平面发送来的数据包,并
转发至所述控制模块;
所述控制模块,用于接收由所述虚拟网卡转发来的数据包,并对
所述数据包进行解析,以调整与本虚拟机对应的数据转发平面的路由
表、ARP表、以及端口映射表,所述端口映射表为存储了所属数据
转发平面对应的虚拟机上所有虚拟网卡的MAC地址和IP地址;
所述路由配置输出端,用于将所述路由表、ARP表、以及端口映
射表发送至与所述虚拟机对应的数据转发平面,以更新与所述虚拟机
对应的数据转发平面上的路由表、ARP表、以及端口映射表。
3.如权利要求2所述的系统,其特征在于,每个数据转发平面均

\t包括:端口映射地址匹配模块和输出端口查找模块,并设有路由表、
ARP表、以及端口映射表;
所述端口映射地址匹配模块,用于解析所述数据包,判断所述数
据包的包类型,若包类型为单播包,则获取所述数据包的目的MAC
地址,根据所述端口映射表判断所述目的MAC地址是否属于本数据
转发平面,若所述目的MAC地址不属于本数据转发平面,则丢弃所
述数据包,若所述目的MAC地址属于本数据转发平面或所述包类型
为组播包或广播包,则获取所述数据包的目的IP地址,根据所述端口
映射表判断所述目的IP地址是否与该数据转发平面对应的虚拟机的
虚拟网卡的IP地址匹配,若所述目的IP地址与所述虚拟...

【专利技术属性】
技术研发人员:刘中金杨懋李勇苏厉金德鹏曾烈光
申请(专利权)人:清华大学
类型:发明
国别省市:

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

1