一种虚拟化数据中心的数据转发方法及其实现设备技术

技术编号:8536657 阅读:185 留言:0更新日期:2013-04-04 21:28
本发明专利技术提供了一种虚拟化数据中心的数据转发方法及其实现设备,其中的方法具体包括:预置虚拟机群组;每个虚拟机群组包括多个虚拟机,且每个虚拟机群组对应一个介质访问控制MAC地址;接收来自虚拟机的上行报文,并依据所述上行报文的虚拟局域网VLAN和目的MAC地址查找通往三层交换机的虚拟端口;将所述上行报文的源MAC地址替换为该虚拟机所在虚拟机群组的MAC地址;通过所述查找得到的虚拟端口将所述上行报文发送至三层交换机。本发明专利技术用以降低硬件表项存储空间的占用。

【技术实现步骤摘要】
一种虚拟化数据中心的数据转发方法及其实现设备
本专利技术涉及通信
,特别是涉及一种虚拟化数据中心的数据转发的技术方案。
技术介绍
随着企业网络规模的不断增长和基于云计算网络环境的大量部署,数据中心网络也显著地变得更加复杂。在数据中心网络中,由于所需的网桥的数量急剧增长,虚拟化技术更增加了数据中心网络的复杂性,并改变了数据中心的网络部署方式。在数据中心网络的一台终端站中,存在着软件实体,基于该软件实体,在一台物理服务器上,可以允许多虚拟机(VM,VirtualMachine)共享同一套硬件系统。每个虚拟机通过该软件实体与该台物理服务器的物理网卡相连。虚拟机能够提高数据中心网络的资源利用率。现有的虚拟机通过虚拟交换机(VSwitch,VirtualSwitch)进行数据交互,通常的VSwitch具有多个虚拟端口(vPort),以分别连接虚拟机及物理服务器内部的物理网卡。目前,VSwitch在物理服务器内部实现了一个二层交换功能,具体而言,其在内部维护了VLAN(虚拟局域网,VirtualLocalAreaNetwork)+MAC地址+vPort的转发表,其中,每个VM对应一个vPort,每个VM具有各自的介质访问控制(MAC,MediumAccessControl)地址。通过VSwitch可以实现物理服务器内部的各VM之间互相访问。例如,VM1访问VM2的实现过程可以包括:VM1发送源MAC地址为MAC地址1,目的MAC地址为MAC地址2的报文,该报文在VSwitch上经二层转发即可到达VM2。但是,VM与外部网络的通信需要借助于三层交换机,三层交换机的转发具有以下特点:首包通过CPU转发,同时建立交换芯片硬件三层表项;后续包由交换芯片利用硬件三层表项进行硬件转发。所述硬件三层表项用于保存报文的目的IP地址对应的网段地址前缀(Prefix)、下一条(NextHop)、地址解析协议(ARP,AddressResolutionProtocol)三种表项的对应关系。参照图1,示出了现有技术一种主机路由的硬件三层表项的组织示意图,其中的一个主机路由需要各对应一个Prefix、Nexthop和ARP表项,Prefix表项用于存放路由最长匹配信息,指明路由对应的IP地址和掩码;Nexthop表项用于存放路由对应下一跳信息,Nexthop表项在硬件上主要表现为出端口和ARP指针;ARP表项主要用于封装三层转发报文的目的MAC地址(DMAC地址,destinationMAC地址)的封装信息,一般由Nexthop表指向。为了说明VM与外部网络的通信过程,参照图2,示出了现有技术一种VM与外部网络的通信链路示意图,该通信链路具体可以包括VM、VSwitch、物理网卡、三层交换机和外部网络;相应的VM与外部网络的通信过程具体可以包括:当VM需要访问外部网络时,需要依据报文的VLAN和目的MAC地址查找VSwitch上通往三层交换机的vPort,报文通过查找得到的vPort经物理网卡达到三层交换机,由三层交换机将相应的报文三层转发到外部网络。当外部网络需要访问某个VM时,需要查找三层交换机上的硬件三层表项,找到对应的ARP表项,查找过程的一个示例为:首先按照最长匹配原则查找到与报文的目的IP地址最为匹配的网络地址前缀,再通过该网络地址前缀查找到下一条表项,再通过该下一条表项查找到对应的ARP表项;然后将报文转发到ARP表项对应的VM,例如若要访问VM3,则可以查找三层交换机的硬件三层表项得到相应的ARP表项,该ARP表项中封装的目的MAC地址就是VM3的MAC地址3。可以看出,为了实现VM与外部网络的通信,现有技术中需要将各VM的三层转发信息添加至硬件三层表项(Prefix、Nexthop和ARP表项);在数据中心使用大量VM的情况下,更是需要向交换芯片中集成的表项存储空间添加大量的硬件表项,这无疑增加了表项存储空间的占用,从而增加了交换芯片的成本。
技术实现思路
本专利技术所要解决的技术问题是提供一种用于三层交换机的数据处理方法、一种用于虚拟交换机的数据处理方法、一种三层交换机、一种虚拟交换机及一种虚拟机与外部网络的通信方法,以降低硬件表项存储空间的占用。为了解决上述问题,本专利技术公开了一种用于虚拟交换机的数据处理方法,包括:虚拟交换机预置虚拟机群组;每个虚拟机群组包括多个虚拟机,且每个虚拟机群组对应一个介质访问控制MAC地址;虚拟交换机接收来自虚拟机的上行报文,并依据所述上行报文的虚拟局域网VLAN和目的MAC地址查找通往三层交换机的虚拟端口;虚拟交换机将所述上行报文的源MAC地址替换为该虚拟机所在虚拟机群组的MAC地址;虚拟交换机通过所述查找得到的虚拟端口将所述上行报文发送至三层交换机;虚拟交换机接收来自三层交换机的下行报文;虚拟交换机依据所述下行报文的VLAN、目的MAC地址和目的IP,查找得到所述下行报文的目的虚拟机所对应的虚拟端口;所述目的IP为所述下行报文的目的虚拟机对应的IP;虚拟交换机将所述下行报文的目的MAC地址替换为该目的虚拟机的MAC地址,并通过查找得到的虚拟端口将所述下行报文发送至对应的目的虚拟机。优选的,通过如下步骤得到所述虚拟机群组对应的MAC地址:虚拟交换机在为物理服务器上虚拟机配置MAC地址时,预留若干个MAC地址;虚拟交换机从所述预留的若干个MAC地址中,选择所述虚拟机群组对应的MAC地址。另一方面,本专利技术实施例还公开了一种虚拟交换机,包括:组预置模块,用于预置虚拟机群组;每个虚拟机群组包括多个虚拟机,且每个虚拟机群组对应一个介质访问控制MAC地址;第一查找模块,用于接收来自虚拟机的上行报文,并依据所述上行报文的虚拟局域网VLAN和目的MAC地址查找通往三层交换机的虚拟端口;替换模块,用于将所述上行报文的源MAC地址替换为该虚拟机所在虚拟机群组的MAC地址;第一发送模块,用于通过所述查找得到的虚拟端口将所述上行报文发送至三层交换机;第二查找模块,用于在接收到来自三层交换机的下行报文时,依据所述下行报文的VLAN、目的MAC地址和目的IP,查找得到所述下行报文的目的虚拟机所对应的虚拟端口;所述目的IP为所述下行报文的目的虚拟机对应的IP;第二发送模块,用于将所述下行报文的目的MAC地址替换为该目的虚拟机的MAC地址,并通过查找得到的虚拟端口将所述下行报文发送至对应的目的虚拟机。优选的,所述虚拟交换机还包括:用于获取所述虚拟机群组对应的MAC地址的获取模块;所述获取模块包括:预留子模块,用于在为物理服务器上虚拟机配置MAC地址时,预留若干个MAC地址;选择子模块,用于从所述预留的若干个MAC地址中,选择所述虚拟机群组对应的MAC地址。另一方面,本专利技术实施例还公开了一种用于三层交换机的数据处理方法,包括:在接收到虚拟交换机发送的报文时,通过地址解析协议ARP表项信息学习过程学习得到ARP表项信息;所述ARP表项信息中包括有虚拟机所在虚拟机群组的MAC地址;在依据所述ARP表项信息生成硬件表项的过程中,将所述ARP表项信息中虚拟机所在虚拟机群组的MAC地址与已生成硬件表项中ARP表项进行匹配,若匹配失败,则在生成的硬件表项中,依据所述ARP表项信息中虚拟机所在虚拟机群组的MAC地址封装得到ARP本文档来自技高网
...
一种虚拟化数据中心的数据转发方法及其实现设备

【技术保护点】
一种用于虚拟交换机的数据处理方法,其特征在于,包括:虚拟交换机预置虚拟机群组;每个虚拟机群组包括多个虚拟机,且每个虚拟机群组对应一个介质访问控制MAC地址;虚拟交换机接收来自虚拟机的上行报文,并依据所述上行报文的虚拟局域网VLAN和目的MAC地址查找通往三层交换机的虚拟端口;虚拟交换机将所述上行报文的源MAC地址替换为该虚拟机所在虚拟机群组的MAC地址;虚拟交换机通过所述查找得到的虚拟端口将所述上行报文发送至三层交换机;虚拟交换机接收来自三层交换机的下行报文;虚拟交换机依据所述下行报文的VLAN、目的MAC地址和目的IP,查找得到所述下行报文的目的虚拟机所对应的虚拟端口;所述目的IP为所述下行报文的目的虚拟机对应的IP;虚拟交换机将所述下行报文的目的MAC地址替换为该目的虚拟机的MAC地址,并通过查找得到的虚拟端口将所述下行报文发送至对应的目的虚拟机。

【技术特征摘要】
1.一种用于虚拟交换机的数据处理方法,其特征在于,包括:虚拟交换机预置虚拟机群组;每个虚拟机群组包括多个虚拟机,且每个虚拟机群组对应一个介质访问控制MAC地址;虚拟交换机接收来自虚拟机的上行报文,并依据所述上行报文的虚拟局域网VLAN和目的MAC地址查找通往三层交换机的虚拟端口;虚拟交换机将所述上行报文的源MAC地址替换为该虚拟机所在虚拟机群组的MAC地址;虚拟交换机通过所述查找得到的虚拟端口将所述上行报文发送至三层交换机;虚拟交换机接收来自三层交换机的下行报文;虚拟交换机依据所述下行报文的VLAN、目的MAC地址和目的IP,查找得到所述下行报文的目的虚拟机所对应的虚拟端口;所述目的IP为所述下行报文的目的虚拟机对应的IP;虚拟交换机将所述下行报文的目的MAC地址替换为该目的虚拟机的MAC地址,并通过查找得到的虚拟端口将所述下行报文发送至对应的目的虚拟机。2.如权利要求1所述的方法,其特征在于,通过如下步骤得到所述虚拟机群组对应的MAC地址:虚拟交换机在为物理服务器上虚拟机配置MAC地址时,预留若干个MAC地址;虚拟交换机从所述预留的若干个MAC地址中,选择所述虚拟机群组对应的MAC地址。3.一种虚拟交换机,其特征在于,包括:组预置模块,用于预置虚拟机群组;每个虚拟机群组包括多个虚拟机,且每个虚拟机群组对应一个介质访问控制MAC地址;第一查找模块,用于接收来自虚拟机的上行报文,并依据所述上行报文的虚拟局域网VLAN和目的MAC地址查找通往三层交换机的虚拟端口;替换模块,用于将所述上行报文的源MAC地址替换为该虚拟机所在虚拟机群组的MAC地址;第一发送模块,用于通过所述查找得到的虚拟端口将所述上行报文发送至三层交换机;第二查找模块,用于在接收到来自三层交换机的下行报文时,依据所述下行报文的VLAN、目的MAC地址和目的IP,查找得到所述下行报文的目的虚拟机所对应的虚拟端口;所述目的IP为所述下行报文的目的虚拟机对应的IP;第二发送模块,用于将所述下行报文的目的MAC地址替换为该目的虚拟机的MAC地址,并通过查找得到的虚拟端口将所述下行报文发送至对应的目的虚拟机。4.如权利要求3所述的虚拟交换机,其特征在于,还包括:用于获取所述虚拟机群组对应的MAC地址的获取模块;所述获取模块包括:预留子模块,用于在为物理服务器上虚拟机配置MAC地址时,预留若干个MAC地址;选择子模块,用于从所述预留的若干个MAC地址中,选择所述虚拟机群组对应的MAC地址。5.一种用于三层交换机的数据处理方法,其特征在于,包括:在接收到虚拟交换机发送的报文时,通过地址解析协议ARP表项信息学习过程学习得到ARP表项信息;所述ARP表项信息中包括有虚拟机所在虚拟机群组的MAC地址;在依据所述ARP表项信息生成硬件表项的过程中,将所述ARP表项信息中虚拟机所在虚拟机群组的MAC地址与已生成硬件表项中ARP表项进行匹配,若匹配失败,则在生成的硬件表项中,依据所述ARP表项信息中虚拟机所在虚拟机群组的MAC地址封装得到ARP表项,若匹配成功,则在生成的硬件表项中共用与所述匹配成功的硬件表项相同的ARP表项;在接收来自外部网络的下行报文时,依据所述下行报文的目的IP查找本地的硬件表项,找到所述下行报文对应的ARP表项,并将所述ARP表项中封装的虚拟机所在虚拟机群组的MAC地址作为所述下行报文的目的M...

【专利技术属性】
技术研发人员:游君平郑国良赵海峰翟颖颖
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:

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

1