CN104935516A - 基于软件定义网络的通信系统及方法 - Google Patents

基于软件定义网络的通信系统及方法 Download PDF

Info

Publication number
CN104935516A
CN104935516A CN201510337341.2A CN201510337341A CN104935516A CN 104935516 A CN104935516 A CN 104935516A CN 201510337341 A CN201510337341 A CN 201510337341A CN 104935516 A CN104935516 A CN 104935516A
Authority
CN
China
Prior art keywords
virtual machine
address
message
vtep
arp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510337341.2A
Other languages
English (en)
Other versions
CN104935516B (zh
Inventor
郝俊瑞
向智宇
刘方磊
许德玮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Research Institute of Posts and Telecommunications Co Ltd
Original Assignee
Wuhan Research Institute of Posts and Telecommunications Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Research Institute of Posts and Telecommunications Co Ltd filed Critical Wuhan Research Institute of Posts and Telecommunications Co Ltd
Priority to CN201510337341.2A priority Critical patent/CN104935516B/zh
Publication of CN104935516A publication Critical patent/CN104935516A/zh
Application granted granted Critical
Publication of CN104935516B publication Critical patent/CN104935516B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

本发明提供一种基于软件定义网络的通信系统,其用于在虚拟机之间进行报文转发,该通信系统包括上报模块及控制模块,上报模块在每个虚拟机加入VXLAN网络时获取并上报虚拟机的IP地址、MAC地址、VNI编号及虚拟机所在VETP的IP地址,控制模块接收上报的虚拟机IP地址、MAC地址、VNI编号及虚拟机所在VTEP的IP地址并存储至ARP表,并在请求虚拟机发送报文时根据目的虚拟机MAC地址及目的虚拟机所在VTEP的IP地址在所存储的ARP表中查找并在查到时根据所查地址发送报文。该通信系统获取虚拟机的IP地址、MAC地址以及虚拟机所在VTEP的IP地址上报至控制模块,避免了组播协议的复杂,并利用控制模块中存储的ARP表进行ARP解析,避免了ARP洪泛引起的带宽浪费。本发明还提供了一种通信方法。

Description

基于软件定义网络的通信系统及方法
技术领域
本发明涉及网络通信技术领域,尤其涉及一种基于软件定义网络的通信系统及方法。
背景技术
目前,虚拟扩展局域网(Virtual eXtensible Local Area Network,VXLAN)是一种进行大二层虚拟网络扩展的隧道封装技术,这个技术在IETF已经是标准草案,并已经成为业界主流的虚拟网络技术之一,VXLAN定义了一个VXLAN隧道终点(VXLAN Tunnel End Point,VTEP)的实体,VTEP将虚拟机产生的数据封装到用户数据包协议(User Datagram Protocol,UDP)包头内再发送出去,虚拟机本身的媒介访问控制(Media Access Control,MAC)地址和VLAN信息在经过封装后已经不作为数据转发的依据。VXLAN为虚拟机的数据包加上了层层包头,这些新的包头只有在数据到达目的地后才会被去掉。中间路径的网络设备只会根据外层包头内的目的地址进行数据转发,对于转发路径上的网络设备来说,一个VXLAN数据包跟一个普通数据包没有区别。由于虚拟机本身的VLAN信息对外已不可见,VXLAN添加了一个新的标签VXLAN网络标识符(VXLAN NetworkIdentifier,VNI),VNI取代VLAN用来表示不同的VXLAN网段,只有具有相同VNI,处于同一VXLAN网段内的虚拟机才能互相通信。
VXLAN在学习地址的时候仍然保存着二层协议的特征,节点之间不会周期性地交换各自掌握的路由表,对于不认识的MAC地址,VXLAN仍然依靠类似广播的行为来获取路径信息。由于VXLAN是一个基于IP传输的协议,VXLAN选择了使用IP组播来承载二层的广播流量。每一个VXLAN节点都会加入一个特定的组播组,这个组播组就好像以太网环境中的广播域。当一个虚拟机发出地址解析协议(Address Resolution Protocol,ARP)请求,这个请求通过VXLAN封装后被发送到这个组播组内,只有加入这个组的VTEP才会收到这个ARP请求,继而完成二层的地址学习过程。
然而,VXLAN这种类似传统二层协议的控制平面存在着以下问题:需要节点支持组播协议,并且必须加入组播组,在大规模部署时显得过于复杂,现在云数据中心的环境中已经趋向于采用在控制模块的层面采用软件定义网络(Software Defined Networking,SDN)的方式来进行网络的控制,SDN网络中由一个SDN控制模块对网络设备如交换机进行集中控制,比较典型的是OpenFlow(开放流网络),而VXLAN这种类似传统二层协议的控制平面无法有效的和现在的控制模块进行融合,不能实现软件定义的数据中心网络的需求,也没有解决VXLAN之间路由的问题。
发明内容
有鉴于此,本发明提供一种能避免组播协议的复杂的通信系统及方法。
一种基于软件定义网络的通信系统,其用于在虚拟机之间进行报文转发,所述基于软件定义网络的通信系统包括一个上报模块及一个控制模块,所述上报模块用于在每个虚拟机加入VXLAN网络时获取并上报虚拟机的IP地址、MAC地址、VNI编号及虚拟机所在VETP的IP地址,所述控制模块用于接收上报的虚拟机的IP地址、MAC地址、VNI编号及虚拟机所在VTEP的IP地址并存储至ARP表,并在一个请求虚拟机发送报文至一个目的虚拟机时根据目的虚拟机的MAC地址及目的虚拟机所在的VTEP的IP地址在所存储的ARP表中进行查找并在查找到时根据所查找的目的虚拟机的MAC地址及目的虚拟机所在VTEP的IP地址发送报文。
一种基于软件定义网络的通信方法,其用于在虚拟机之间进行报文转发,所述基于软件定义网络的通信方法包括以下步骤:
在每个虚拟机加入VXLAN网络时获取并上报虚拟机的IP地址、MAC地址、VNI编号及虚拟机所在VTEP的IP地址;
接收上报的虚拟机的IP地址、MAC地址、VNI编号及虚拟机所在的VTEP的IP地址并存储至ARP表;
在一个请求虚拟机发送报文至一个目的虚拟机时根据目的虚拟机的MAC地址及目的虚拟机所在的VTEP的IP地址在所存储的ARP表中进行查找并在查找到时根据所查找的目的虚拟机的MAC地址及目的虚拟机所在的VTEP的IP地址发送报文。
与现有技术相比,本发明提供的基于软件定义网络的通信系统及方法中,采用软件定义网络的方式获取虚拟机的IP地址、MAC地址以及虚拟机所在VTEP的IP地址并上报至控制模块,避免了组播协议的复杂,使不支持组播的节点加入到云网络,同时利用控制模块中的ARP表进行ARP地址解析,避免了ARP洪泛引起的带宽浪费。
附图说明
图1是本发明第一实施方式提供的VXLAN组网示意图。
图2是本发明第一实施方式提供的基于软件定义网络的通信系统的模块示意图。
图3是本发明第二实施方式提供的VXLAN组网示意图。
图4是本发明第二实施方式提供的基于软件定义网络的通信系统的模块示意图。
图5是图2的基于软件定义网络的通信系统的通信方法流程图。
图6是图4的基于软件定义网络的通信系统的通信方法流程图。
主要元件符号说明
基于软件定义网络的通信系统                100、200
第一上报模块                              110
第一请求模块                              120
第二请求模块                              140
第一控制模块                              160
ARP响应模块                               180
第一发送模块                              190
第二上报模块                              210
配置模块                                  220
第二控制模块                              240
报文发送模块                              250
查找模块                                  260
ARP请求模块                               270
第二发送模块                              280
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
请参阅图1及图2,其为本发明第一实施方式提供的一种基于软件定义网络的通信系统100,其用于在虚拟机之间进行报文转发,本实施方式中,基于软件定义网络的通信系统100在相同虚拟扩展局域网(Virtual eXtensible Local Area Network,VXLAN)的虚拟机之间进行报文转发,也即请求虚拟机VM1与目的虚拟机VM2的VXLAN网络标识符(VXLAN Network Identifier,VNI)相同,如VNI为8001。
所述基于软件定义网络的通信系统100包括一个第一上报模块110、一个第一请求模块120、一个第二请求模块140、一个第一控制模块160、一个ARP响应模块180及一个第一发送模块190。
所述第一上报模块110设置在请求虚拟机中用于在每个虚拟机加入VXLAN网络时获取虚拟机的网际协议地址(Internet ProtocolAddress,IP)、介质访问控制地址(Media Access Control,MAC)、VNI编号及虚拟机所在VXLAN隧道终点(VXLAN Tunnel End Point,VTEP)的IP地址并上报至所述第一控制模块160,本实施方式中,请求虚拟机VM1与目的虚拟机VM2加入VNI 8001的VXLAN网络时需上报各自的虚拟机的IP地址、MAC地址、VNI编号及虚拟机所在VETP的IP地址,如VM1上报192.10.10.10、MAC1、8001、10.10.10.10到第一控制模块160,VM2上报192.10.10.11、MAC2、8001、20.20.20.20到第一控制模块160。
所述第一请求模块120设置在请求虚拟机中用于根据发送报文的目的虚拟机MAC地址及目的虚拟机所在VTEP的IP地址发送ARP请求至请求虚拟机所在的VTEP,本实施方式中,请求虚拟机所在的VTEP为VTEP1,目的虚拟机所在VTEP为VTEP2,VM1需发送报文至VM2时,第一请求模块120根据VM2的MAC地址MAC2及VM2所在的VTEP的IP地址20.20.20.20发送ARP请求到VTEP1。
所述第二请求模块140设置在请求虚拟机所在VTEP中用于根据所述ARP请求发送ARP消息至第一控制模块160,本实施方式中,第二请求模块140根据第一请求模块120发送过来的ARP请求发送ARP消息到第一控制模块160。
第一控制模块160包括一个第一接收单元162、一个第一查找单元164及一个第一响应单元166,所述第一接收单元162用于接收第一上报模块110上报的虚拟机的IP地址、MAC地址、VNI编号及虚拟机所在VTEP的IP地址并存储至ARP表,所述第一查找单元164用于根据所发送的ARP消息在第一接收单元162中存储的ARP表中查找目的虚拟机MAC地址及目的虚拟机所在VTEP的IP地址,所述第一响应单元166用于在查找到时根据目的虚拟机的MAC地址及目的虚拟机所在VTEP的IP地址发送ARP响应到VTEP1以记录存储。
本实施方式中,第一查找单元164在第一接收单元162中查找,第一响应单元166在查找到后根据找到的VM2的MAC2及VTEP2的IP地址20.20.20.20发送ARP响应到VTEP1的IP地址10.10.10.10。
所述ARP响应模块180设置在请求虚拟机所在的VTEP中并用于根据ARP响应发送一个代表目的虚拟机的ARP响应消息,也即源地址为目的虚拟机的MAC地址的ARP响应消息至请求虚拟机,本实施方式中,ARP响应模块180发送一个源地址为MAC2的ARP响应到VM1,也即VM1认为ARP响应从VM2发送过来。
所述第一发送模块190用于根据所响应的目的虚拟机的MAC地址及目的虚拟机所在VTEP的IP地址发送报文,本实施方式中,第一发送模块190根据响应的MAC2及VTEP2的IP地址20.20.20.20将报文从VM1发送至VM2。
请参阅图3及图4,其为本发明第二实施方式提供的基于软件定义网络的通信系统200,基于软件定义网络的通信系统200在不同VXLAN的虚拟机之间进行报文转发,也即请求虚拟机VM3与目的虚拟机VM2的VNI不相同,如VM3的VNI为8001,VM4的VNI为8002。
所述基于软件定义网络的通信系统200包括一个第二上报模块210、一个配置模块220、一个第二控制模块240、一个报文发送模块250、一个查找模块260、一个ARP请求模块270及一个第二发送模块280。
所述第二上报模块210设置在请求虚拟机中用于在每个虚拟机加入VXLAN网络时获取虚拟机的IP地址、MAC地址、VNI编号及虚拟机所在VETP的IP地址并上报至所述第二控制模块240,本实施方式中,请求虚拟机所在VETP为VTEP3,目的虚拟机所在VTEP为VTEP4,请求虚拟机VM3加入VNI为8001的VXLAN网络时需上报请求虚拟机的IP地址、MAC地址、VNI编号及VETP3的IP地址,如VM3上报192.10.10.10、MAC3、8001、10.10.10.10到第一控制模块160,目的虚拟机VM4加入VNI为8002的VXLAN网络时需上报目的虚拟机的IP地址、MAC地址、VNI编号及VETP4的IP地址,如VM4上报192.20.20.20、MAC4、8002、20.20.20.20到第二控制模块240。
所述配置模块220用于分别为两个不同的VNI配置两个对应的缺省网关并将所配置的每个缺省网关的对应的子网地址、所对应VNI及缺省网关接口信息上报至第二控制模块240。本实施方式中,配置模块220为VM3所在的VNI 8001配置的子网地址为192.10.10.0,缺省网关为LIF1,配置模块220为VM4所在的VNI 8002配置的子网地址为192.20.20.0,缺省网关为LIF2。
所述控制模块240包括一个第二接收单元242、一个第三接收单元244、一个下发单元246,一个第二查找单元248及一个第二响应单元249。
所述第二接收单元242用于接收第二上报模块210上报的虚拟机的IP地址、MAC地址、VNI编号及虚拟机所在VTEP的IP地址并存储至ARP表,所述第三接收单元244用于接收配置模块220上报的每个缺省网关对应的子网地址、所对应VNI及缺省网关接口信息并存储至路由表,所述下发单元246用于下发路由表至配置的每个缺省网关。本实施方式中,第三接收单元244接收配置模块220为VM3配置的192.10.10.0、VNI 8001、LIF1及配置模块220为VM4配置的192.20.20.0、VNI 8002、LIF2并存储至路由表,也即路由表中包括了所有缺省网关的子网地址、对应的VNI编号及对应缺省网关接口信息。
所述报文发送模块250设置在请求虚拟机中并在请求虚拟机VM3发送报文到VM4时先将报文发送至请求虚拟机所在VTEP对应的缺省网关,查找模块260在请求虚拟机对应的缺省网关的路由表中按照目的子网地址进行查找并在查找到时根据目的子网地址对应的ARP表查找目的虚拟机的MAC地址及目的虚拟机所在VTEP的IP地址,本实施方式中,VM3先将报文发送至子网LIF1,查找模块260在子网LIF1的路由表中查找目的子网地址192.20.20.0,并在查找到时根据192.20.20.0对应的ARP表中查找VM4的MAC4及VTEP4的IP地址20.20.20.20。可以理解的是,查找模块260未查找到VM3对应的路由表时说明目的子网不可达。
若目的虚拟机VM4是在第二控制模块240下发路由表后重新加入到VNI 8002的VXLAN中,此时查找模块260无法在目的子网地址对应的ARP表中找到目的虚拟机的MAC地址及目的虚拟机所在VTEP的IP地址时,所述ARP请求模块270发送ARP请求到第二控制模块240的第二查找单元248,所述第二查找单元248根据ARP请求在第二接收单元242接收并存储的虚拟机的IP地址、MAC地址、VNI编号及虚拟机所在的VTEP的IP地址的ARP表中查找,所述第二响应单元249在查找到时发送ARP响应信息到第二发送模块280。
第二发送模块280用于在查找模块260查找到目的虚拟机的MAC地址及目的虚拟机所在VTEP的IP地址时根据目的虚拟机的MAC地址及目的虚拟机所在VTEP的IP地址发送报文,第二发送模块280还包括一个判断单元282、一个封装单元284、一个解封装单元286及一个发送单元288。
所述判断单元283用于判断第二查找单元248所查找的目的虚拟机所在VTEP的IP地址是否为本地的请求虚拟机所在的VTEP的IP地址,若是,则发送单元288将报文直接发送至本地请求虚拟机,若否,则所述封装单元284将目的虚拟机的MAC地址作为内层目的MAC地址且将目的虚拟机所在的VTEP的IP地址作为外层隧道的目的IP地址封装后发送到传送平面,封装后的数据包在传输平面被发送到目的虚拟机所在的VTEP的IP地址,所述解封装单元286将解封装后通过发送单元288先将数据包发送到目的虚拟机所对应VNI,并将包按照内层目的IP地址发送。
本实施方式中,封装单元284将目的虚拟机VM4的IP地址192.20.20.20作为MAC4的内层目的地址,将VTEP4的IP地址20.20.20.20外层隧道的目的IP地址进行封装,解封装单元286解封装后先将包发送到VNI 8002,然后剥掉外层包头将包安装内层目的IP地址192.20.20.20发送到VM4。
请参阅图5,其为本发明提供的基于软件定义网络的通信系统100的通信方法,所述基于软件定义网络的通信方法包括以下步骤:
S110:在每个虚拟机加入VXLAN网络时获取并上报虚拟机的IP地址、MAC地址、VNI编号及虚拟机所在VTEP的IP地址;
S120:接收上报的虚拟机的IP地址、MAC地址、VNI编号及虚拟机所在的VTEP的IP地址并存储至ARP表;
S130:根据报文对应的目的虚拟机MAC地址及目的虚拟机所在VTEP的IP地址发送ARP请求;
S140:发送ARP消息;
S150:在所存储的ARP表中查找并在查找到时根据目的虚拟机的MAC地址及目的虚拟机所在VTEP的IP地址发送ARP响应;
S160:根据ARP响应发送一个源地址为目的虚拟机的MAC地址的ARP响应消息;
S170:请求虚拟机根据所响应的目的虚拟机的MAC地址及目的虚拟机所在VTEP的IP地址发送报文。
在步骤S110中,利用第一上报模块110在每个虚拟机加入VXLAN网络时获取虚拟机的IP地址、MAC地址、VNI编号及虚拟机所在VTEP的IP地址并上报至第一控制模块160的第一接收单元162。
在步骤S120中,利用第一接收单元162接收第一上报模块110上报的虚拟机的IP地址、MAC地址、VNI编号及虚拟机所在VTEP的IP地址并存储至ARP表。
在步骤S130中,在请求虚拟机发送报文到目的虚拟机时请求虚拟机根据利用第一请求模块120根据发送报文的目的虚拟机MAC地址及目的虚拟机所在VTEP的IP地址发送ARP请求至请求虚拟机所在的VTEP。
在步骤S140中,利用第二请求模块140用于根据所述ARP请求发送ARP消息至第一控制模块160的第一查找单元164。
在步骤S150中,利用第一查找单元164根据所发送的ARP消息在第一接收单元162中存储的ARP表中查找目的虚拟机MAC地址及目的虚拟机所在VTEP的IP地址,第一响应单元166在查找到时根据目的虚拟机的MAC地址及目的虚拟机所在VTEP的IP地址发送ARP响应到所述请求虚拟机所在的VTEP以记录存储。
在步骤S160中,利用ARP响应模块180根据ARP响应发送一个源地址为目的虚拟机的MAC地址的ARP响应消息至请求虚拟机。
在步骤S170中,利用第一发送模块190用于根据所响应的目的虚拟机的MAC地址及目的虚拟机所在VTEP的IP地址发送报文。
请参阅图6,其为本发明提供的基于软件定义网络的通信系统200的通信方法,所述基于软件定义网络的通信方法包括以下步骤:
S210:在每个虚拟机加入VXLAN网络时获取并上报虚拟机的IP地址、MAC地址、VNI编号及虚拟机所在VTEP的IP地址;
S220:接收上报的虚拟机的IP地址、MAC地址、VNI编号及虚拟机所在的VTEP的IP地址并存储至ARP表;
S230:分别为两个不同的VNI配置两个对应的缺省网关并上报所配置的每个缺省网关的对应的子网地址、所对应VNI及缺省网关接口信息;
S240:接收所上报的每个缺省网关的对应的子网地址、所对应VNI及缺省网关接口信息并存储至路由表;
S250:下发所述路由表至每个缺省网关;
S260:请求虚拟机发送报文时先将报文发送至请求虚拟机所在VTEP对应的缺省网关;
S270:缺省网关在对应路由表中查找报文的目的子网地址并根据目的子网地址对应的ARP表查找目的虚拟机的MAC地址及目的虚拟机所在VTEP的IP地址,若在ARP表中未查找到,则进入步骤S280;若在ARP表中查找到,则进入步骤S290;
S280:发送ARP请求查找,并在查找到后进入步骤S290。
S290:根据目的虚拟机的MAC地址及目的虚拟机所在VTEP的IP地址发送报文。
在步骤S210中,利用第二上报模块210在每个虚拟机加入VXLAN网络时获取虚拟机的IP地址、MAC地址、VNI编号及虚拟机所在VETP的IP地址并上报至所述第二控制模块240的第二接收单元242。
在步骤S220中,利用第二接收单元242接收第二上报模块210上报的虚拟机的IP地址、MAC地址、VNI编号及虚拟机所在VTEP的IP地址并存储至ARP表。
在步骤S230中,利用配置模块220分别为两个不同的VNI配置两个对应的缺省网关并将所配置的每个缺省网关的对应的子网地址、所对应VNI及缺省网关接口信息上报至第二控制模块240的第三接收单元244。
在步骤S240中,利用第三接收单元244接收配置模块220上报的每个缺省网关对应的子网地址、所对应VNI及缺省网关接口信息并存储至路由表。
在步骤S250中,利用下发单元246下发存储的路由表至每个缺省网关,也即路由表中包括了所有缺省网关的子网地址、对应的VNI编号及对应缺省网关接口信息。
在步骤S260中,利用报文发送模块250先将报文从请求虚拟机发送至请求虚拟机所在VTEP对应的缺省网关。
在步骤S270中,利用查找模块260在请求虚拟机对应的缺省网关的路由表中按照目的子网地址进行查找并在查找到时根据目的子网地址对应的ARP表查找目的虚拟机的MAC地址及目的虚拟机所在VTEP的IP地址。
在步骤S280中,利用ARP请求模块270发送ARP请求到第二控制模块240的第二查找单元248,第二查找单元248根据ARP请求在第二接收单元242接收并存储的虚拟机的IP地址、MAC地址、VNI编号及虚拟机所在的VTEP的IP地址的ARP表中查找,所述第二响应单元249在查找到时发送ARP响应信息到第二发送模块280进行报文发送。
在步骤S290中包括以下步骤:
S291:判断所查找的目的虚拟机所在VTEP的IP地址是否为本地的所述请求虚拟机所在的VTEP的IP地址,若是,则进入步骤S292,若否,则进入步骤S293;
S292:将报文发送至所述请求虚拟机;
S293:将所述目的虚拟机的MAC地址作为内层目的MAC地址且将所述目的虚拟机所在的VTEP的IP地址作为外层隧道的目的IP地址封装后发送;
S294:解封装并将报文发送至外层隧道的目的IP地址对应的VNI并按内层MAC地址发送报文。
在步骤S291中,利用判断单元283判断第二查找单元248所查找的目的虚拟机所在VTEP的IP地址是否为本地的请求虚拟机所在的VTEP的IP地址。
在步骤S292中,利用发送单元288将报文直接发送至本地请求虚拟机。
在步骤S293中,利用封装单元284将目的虚拟机的MAC地址作为内层目的MAC地址且将目的虚拟机所在的VTEP的IP地址作为外层隧道的目的IP地址封装后发送。
在步骤S293中,利用解封装单元286将发送过来的数据包解封装后通过发送单元288先将数据包发送到目的虚拟机所对应VNI,并将包按照内层目的IP地址发送。
本发明提供的基于软件定义网络的通信系统及方法中,采用软件定义网络的方式通过第一上报模块110及第二上报模块210获取虚拟机的IP地址、MAC地址以及虚拟机所在VTEP的IP地址上报至第一控制模块160及第二控制模块240,避免了组播协议的复杂,使不支持组播的节点加入到云网络中,同时利用第一控制模块160及第二控制模块240中存储的ARP表进行ARP地址解析,避免了ARP洪泛引起的带宽浪费,通信系统与第一控制模块160及第二控制模块240很好的进行融合,实现软件定义的数据中心网络的需求,同时采用了基于第一控制模块160及第二控制模块240的分布式路由技术,使得VXLAN之间的三层路由更加高效。
可以理解的是,对于本领域的普通技术人员来说,可以根据本发明的技术构思做出其他各种相应的改变与变形,而所有这些改变与变形都应属于本发明权利要求的保护范围。

Claims (10)

1.一种基于软件定义网络的通信系统,其用于在虚拟机之间进行报文转发,所述基于软件定义网络的通信系统包括:
一个上报模块,其用于在每个虚拟机加入VXLAN网络时获取并上报虚拟机的IP地址、MAC地址、VNI编号及虚拟机所在VETP的IP地址;
一个控制模块,其用于接收上报的虚拟机的IP地址、MAC地址、VNI编号及虚拟机所在VTEP的IP地址并存储至ARP表,并在一个请求虚拟机发送报文至一个目的虚拟机时根据目的虚拟机的MAC地址及目的虚拟机所在的VTEP的IP地址在所存储的ARP表中进行查找并在查找到时根据所查找的目的虚拟机的MAC地址及目的虚拟机所在VTEP的IP地址发送报文。
2.如权利要求1所述的基于软件定义网络的通信系统,其特征在于,在两个相同的VNI之间通信时,所述控制模块包括一个第一接收单元、一个第一查找单元及一个第一响应单元,所述通信系统还包括一个第一请求模块、一个第二请求模块、一个ARP响应模块及一个第一发送模块,所述第一请求模块用于根据发送报文对应的目的虚拟机MAC地址及目的虚拟机所在VTEP的IP地址发送ARP请求至所述请求虚拟机所在的VTEP,所述第二请求模块用于根据所述ARP请求发送ARP消息至所述控制模块,所述第一接收单元用于接收所述上报模块上报的虚拟机的IP地址、MAC地址、VNI编号及虚拟机所在VTEP的IP地址并存储至ARP表,所述第一查找单元用于根据所发送的ARP消息在所述第一接收单元中存储的ARP表中查找目的虚拟机MAC地址及目的虚拟机所在VTEP的IP地址,所述第一响应单元用于在查找到时根据所述目的虚拟机的MAC地址及目的虚拟机所在VTEP的IP地址发送ARP响应到所述请求虚拟机所在的VTEP,所述ARP响应模块用于根据ARP响应发送一个源地址为目的虚拟机的MAC地址的ARP响应消息至所述请求虚拟机,所述第一发送模块用于根据所响应的目的虚拟机的MAC地址及目的虚拟机所在VTEP的IP地址发送报文。
3.如权利要求1所述的基于软件定义网络的通信系统,其特征在于,在两个不同的VNI之间通信时,所述通信系统还包括一个配置模块、一个报文发送模块、一个查找模块及一个第二发送模块,所述控制模块包括一个第二接收单元、一个第三接收单元及一个下发单元,所述配置模块用于分别为两个不同的VNI配置两个对应的缺省网关并将所配置的每个缺省网关的对应的子网地址、所对应VNI及缺省网关接口信息上报至所述控制模块,所述第二接收单元用于接收所述上报模块上报的虚拟机的IP地址、MAC地址、VNI编号及虚拟机所在VTEP的IP地址并存储至ARP表所述第三接收单元用于接收所述配置模块上报的每个缺省网关的对应的子网地址、所对应VNI及缺省网关接口信息并存储至路由表,所述下发单元用于下发所述路由表至所述每个缺省网关,所述报文发送模块用于在所述请求虚拟机发送报文时将报文发送至所述请求虚拟机所在VTEP对应的缺省网关,所述查找模块用于在缺省网关对应的路由表中查找报文的目的子网地址并根据目的子网地址对应的ARP表查找目的虚拟机的MAC地址及目的虚拟机所在VTEP的IP地址,所述第二发送模块用于在查找到时根据目的虚拟机的MAC地址及目的虚拟机所在VTEP的IP地址发送报文。
4.如权利要求3所述的基于软件定义网络的通信系统,其特征在于,所述通信系统还包括一个ARP请求模块,所述控制模块还包括一个第二查找单元及一个第二响应单元,所述ARP请求单元在目的子网地址对应的ARP表中未找到目的虚拟机的MAC地址及目的虚拟机所在VTEP的IP地址时发送ARP请求到所述控制模块,所述第二查找单元根据ARP请求在所述第三接收单元接收并存储的虚拟机的IP地址、MAC地址、VNI编号及虚拟机所在的VTEP的IP地址的ARP表中查找,所述第二响应单元在查找到时发送ARP响应信息到所述第二发送模块。
5.如权利要求3所述的基于软件定义网络的通信系统,其特征在于,所述第二发送模块还包括一个判断单元、一个封装单元、一个解封装单元及一个发送单元,所述判断单元用于判断所查找的目的虚拟机所在VTEP的IP地址是否为本地的请求虚拟机所在的VTEP的IP地址,若是,则所述发送单元将报文发送至所述请求虚拟机,若否,则所述封装单元将所述目的虚拟机的MAC地址作为内层目的MAC地址且将所述目的虚拟机所在的VTEP的IP地址作为外层隧道的目的IP地址封装后发送,所述解封装单元将所述封装单元发送的地址解封装后通过所述发送单元将报文发送至内层MAC地址。
6.一种基于软件定义网络的通信方法,其用于在虚拟机之间进行报文转发,所述基于软件定义网络的通信方法包括以下步骤:
在每个虚拟机加入VXLAN网络时获取并上报虚拟机的IP地址、MAC地址、VNI编号及虚拟机所在VTEP的IP地址;
接收上报的虚拟机的IP地址、MAC地址、VNI编号及虚拟机所在的VTEP的IP地址并存储至ARP表;
在一个请求虚拟机发送报文至一个目的虚拟机时根据目的虚拟机的MAC地址及目的虚拟机所在的VTEP的IP地址在所存储的ARP表中进行查找并在查找到时根据所查找的目的虚拟机的MAC地址及目的虚拟机所在的VTEP的IP地址发送报文。
7.如权利要求6所述的基于软件定义网络的通信方法,其特征在于,在两个相同的VNI之间通信时,在所述请求虚拟机发送报文至所述目的虚拟机的步骤中包括以下步骤:
发送报文对应的目的虚拟机MAC地址及目的虚拟机所在VTEP的IP地址发送ARP请求;
根据ARP请求发送ARP消息;
在所存储的ARP表中查找并在查找到时根据所述目的虚拟机的MAC地址及目的虚拟机所在VTEP的IP地址发送ARP响应;
根据ARP响应发送一个源地址为目的虚拟机的MAC地址的ARP响应消息;
根据所响应的目的虚拟机的MAC地址及目的虚拟机所在VTEP的IP地址发送报文。
8.如权利要求6所述的基于软件定义网络的通信方法,其特征在于,在两个不同的VNI之间通信时,在所述请求虚拟机发送报文至所述目的虚拟机的步骤中还包括以下步骤:
分别为两个不同的VNI配置两个对应的缺省网关并上报所配置的每个缺省网关的对应的子网地址、所对应VNI及缺省网关接口信息;
接收所上报的每个缺省网关的对应的子网地址、所对应VNI及缺省网关接口信息并存储至路由表;
下发所述路由表至所述每个缺省网关;
发送报文至所述请求虚拟机所在VTEP对应的缺省网关;
缺省网关在路由表中查找报文的目的子网地址并根据目的子网地址对应的ARP表查找目的虚拟机的MAC地址及目的虚拟机所在VTEP的IP地址;
在查找到时根据目的虚拟机的MAC地址及目的虚拟机所在VTEP的IP地址发送报文。
9.如权利要求8所述的基于软件定义网络的通信方法,其特征在于,在根据目的子网地址对应的ARP表查找步骤中包括以下步骤:若在目的子网地址对应的ARP表中未找到目的虚拟机的MAC地址及目的虚拟机所在VTEP的IP地址,则在所上报并存储的虚拟机的IP地址、MAC地址、VNI编号及虚拟机所在的VTEP的IP地址中查找。
10.如权利要求8所述的基于软件定义网络的通信方法,其特征在于,在根据目的虚拟机的MAC地址及目的虚拟机所在VTEP的IP地址发送报文步骤中包括以下步骤:
判断所查找的目的虚拟机所在VTEP的IP地址是否是本地的所述请求虚拟机所在的VTEP的IP地址,若是,则将报文发送至所述请求虚拟机,若否,则将所述目的虚拟机的MAC地址作为内层目的MAC地址且将所述目的虚拟机所在的VTEP的IP地址作为外层隧道的目的IP地址封装成数据包后发送,接收数据包并解封装后将报文发送至外层隧道的目的IP地址对应的VNI并按内层MAC地址发送报文。
CN201510337341.2A 2015-06-17 2015-06-17 基于软件定义网络的通信系统及方法 Active CN104935516B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510337341.2A CN104935516B (zh) 2015-06-17 2015-06-17 基于软件定义网络的通信系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510337341.2A CN104935516B (zh) 2015-06-17 2015-06-17 基于软件定义网络的通信系统及方法

Publications (2)

Publication Number Publication Date
CN104935516A true CN104935516A (zh) 2015-09-23
CN104935516B CN104935516B (zh) 2018-05-11

Family

ID=54122490

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510337341.2A Active CN104935516B (zh) 2015-06-17 2015-06-17 基于软件定义网络的通信系统及方法

Country Status (1)

Country Link
CN (1) CN104935516B (zh)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105554182A (zh) * 2016-01-27 2016-05-04 联想(北京)有限公司 信息处理方法及电子设备
CN106209616A (zh) * 2016-07-06 2016-12-07 杭州华三通信技术有限公司 一种泛洪抑制方法及装置
WO2017113231A1 (zh) * 2015-12-30 2017-07-06 华为技术有限公司 一种报文传输的方法、装置和系统
CN107147580A (zh) * 2017-06-23 2017-09-08 北京佰才邦技术有限公司 一种隧道建立的方法及通信系统
CN107294743A (zh) * 2016-03-30 2017-10-24 华为技术有限公司 一种网络路径探测方法、控制器及网络设备
WO2017197885A1 (zh) * 2016-05-19 2017-11-23 华为技术有限公司 用于虚拟可扩展局域网的通信方法和装置
WO2017206076A1 (zh) * 2016-05-31 2017-12-07 华为技术有限公司 一种多网关扩容方法及装置
CN107786677A (zh) * 2016-08-24 2018-03-09 迈普通信技术股份有限公司 一种arp表项更新方法及vtep设备
CN107800625A (zh) * 2016-08-30 2018-03-13 新华三技术有限公司 一种报文转发方法及装置
CN107846290A (zh) * 2016-09-18 2018-03-27 中兴通讯股份有限公司 一种拓补关系管理方法和管理设备
CN108270878A (zh) * 2016-12-31 2018-07-10 中国移动通信集团江西有限公司 在vxlan中发送arp报文的方法、vtep设备
CN108322393A (zh) * 2017-01-18 2018-07-24 阿里巴巴集团控股有限公司 路由链路管理方法和系统、虚拟路由网关和宿主机网关
CN108667735A (zh) * 2017-03-29 2018-10-16 中兴通讯股份有限公司 一种组播数据的转发方法和装置
CN108900414A (zh) * 2018-06-08 2018-11-27 新华三技术有限公司 转发表生成方法及装置
CN109040160A (zh) * 2017-06-12 2018-12-18 中兴通讯股份有限公司 标识获取方法及装置
CN109257265A (zh) * 2018-08-10 2019-01-22 锐捷网络股份有限公司 一种泛洪抑制方法、vxlan网桥、网关及系统
CN109842560A (zh) * 2019-04-17 2019-06-04 中国联合网络通信集团有限公司 一种发送VxLAN报文的方法及装置
CN110620715A (zh) * 2018-06-20 2019-12-27 中国电信股份有限公司 虚拟扩展局域网通信方法、隧道端点和控制器
CN107770072B (zh) * 2016-08-18 2021-01-08 阿里巴巴集团控股有限公司 一种发送和接收报文的方法和设备
CN112383645A (zh) * 2020-11-02 2021-02-19 中国联合网络通信集团有限公司 一种arp代理方法、设备及装置
CN112702252A (zh) * 2019-10-23 2021-04-23 华为技术有限公司 一种报文处理方法、系统及相关设备
CN113794615A (zh) * 2021-08-05 2021-12-14 新华三信息安全技术有限公司 一种报文转发方法及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102857416A (zh) * 2012-09-18 2013-01-02 中兴通讯股份有限公司 一种实现虚拟网络的方法和虚拟网络
CN103503413A (zh) * 2012-12-28 2014-01-08 华为技术有限公司 传输网络信息的方法及装置
CN104320267A (zh) * 2014-10-29 2015-01-28 武汉绿色网络信息服务有限责任公司 基于SDN框架实现VxLAN的ARP广播抑制系统及方法
US20150063353A1 (en) * 2013-09-04 2015-03-05 Cisco Technology, Inc. Implementation of virtual extensible local area network (vxlan) in top-of-rack switches in a network environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102857416A (zh) * 2012-09-18 2013-01-02 中兴通讯股份有限公司 一种实现虚拟网络的方法和虚拟网络
CN103503413A (zh) * 2012-12-28 2014-01-08 华为技术有限公司 传输网络信息的方法及装置
US20150063353A1 (en) * 2013-09-04 2015-03-05 Cisco Technology, Inc. Implementation of virtual extensible local area network (vxlan) in top-of-rack switches in a network environment
CN104320267A (zh) * 2014-10-29 2015-01-28 武汉绿色网络信息服务有限责任公司 基于SDN框架实现VxLAN的ARP广播抑制系统及方法

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108293022A (zh) * 2015-12-30 2018-07-17 华为技术有限公司 一种报文传输的方法、装置和系统
WO2017113231A1 (zh) * 2015-12-30 2017-07-06 华为技术有限公司 一种报文传输的方法、装置和系统
US10757072B2 (en) 2015-12-30 2020-08-25 Huawei Technologies Co., Ltd. Packet transmission method, apparatus, and system
CN105554182A (zh) * 2016-01-27 2016-05-04 联想(北京)有限公司 信息处理方法及电子设备
CN107294743B (zh) * 2016-03-30 2020-02-14 华为技术有限公司 一种网络路径探测方法、控制器及网络设备
CN107294743A (zh) * 2016-03-30 2017-10-24 华为技术有限公司 一种网络路径探测方法、控制器及网络设备
WO2017197885A1 (zh) * 2016-05-19 2017-11-23 华为技术有限公司 用于虚拟可扩展局域网的通信方法和装置
WO2017206076A1 (zh) * 2016-05-31 2017-12-07 华为技术有限公司 一种多网关扩容方法及装置
CN106209616A (zh) * 2016-07-06 2016-12-07 杭州华三通信技术有限公司 一种泛洪抑制方法及装置
CN106209616B (zh) * 2016-07-06 2020-11-06 新华三技术有限公司 一种泛洪抑制方法及装置
CN107770072B (zh) * 2016-08-18 2021-01-08 阿里巴巴集团控股有限公司 一种发送和接收报文的方法和设备
CN107786677A (zh) * 2016-08-24 2018-03-09 迈普通信技术股份有限公司 一种arp表项更新方法及vtep设备
CN107786677B (zh) * 2016-08-24 2021-06-22 迈普通信技术股份有限公司 一种arp表项更新方法及vtep设备
CN107800625A (zh) * 2016-08-30 2018-03-13 新华三技术有限公司 一种报文转发方法及装置
CN107846290A (zh) * 2016-09-18 2018-03-27 中兴通讯股份有限公司 一种拓补关系管理方法和管理设备
CN108270878A (zh) * 2016-12-31 2018-07-10 中国移动通信集团江西有限公司 在vxlan中发送arp报文的方法、vtep设备
CN108322393A (zh) * 2017-01-18 2018-07-24 阿里巴巴集团控股有限公司 路由链路管理方法和系统、虚拟路由网关和宿主机网关
CN108322393B (zh) * 2017-01-18 2021-03-16 阿里巴巴集团控股有限公司 路由链路管理方法和系统、虚拟路由网关和宿主机网关
CN108667735A (zh) * 2017-03-29 2018-10-16 中兴通讯股份有限公司 一种组播数据的转发方法和装置
CN108667735B (zh) * 2017-03-29 2021-03-16 中兴通讯股份有限公司 一种组播数据的转发方法和装置
CN109040160A (zh) * 2017-06-12 2018-12-18 中兴通讯股份有限公司 标识获取方法及装置
CN107147580B (zh) * 2017-06-23 2020-09-25 北京佰才邦技术有限公司 一种隧道建立的方法及通信系统
CN107147580A (zh) * 2017-06-23 2017-09-08 北京佰才邦技术有限公司 一种隧道建立的方法及通信系统
CN108900414A (zh) * 2018-06-08 2018-11-27 新华三技术有限公司 转发表生成方法及装置
CN110620715B (zh) * 2018-06-20 2021-10-22 中国电信股份有限公司 虚拟扩展局域网通信方法、隧道端点和控制器
CN110620715A (zh) * 2018-06-20 2019-12-27 中国电信股份有限公司 虚拟扩展局域网通信方法、隧道端点和控制器
CN109257265A (zh) * 2018-08-10 2019-01-22 锐捷网络股份有限公司 一种泛洪抑制方法、vxlan网桥、网关及系统
CN109257265B (zh) * 2018-08-10 2021-04-20 锐捷网络股份有限公司 一种泛洪抑制方法、vxlan网桥、网关及系统
CN109842560A (zh) * 2019-04-17 2019-06-04 中国联合网络通信集团有限公司 一种发送VxLAN报文的方法及装置
CN112702252A (zh) * 2019-10-23 2021-04-23 华为技术有限公司 一种报文处理方法、系统及相关设备
CN112702252B (zh) * 2019-10-23 2024-02-02 华为云计算技术有限公司 一种报文处理方法、系统及相关设备
CN112383645A (zh) * 2020-11-02 2021-02-19 中国联合网络通信集团有限公司 一种arp代理方法、设备及装置
CN113794615A (zh) * 2021-08-05 2021-12-14 新华三信息安全技术有限公司 一种报文转发方法及设备

Also Published As

Publication number Publication date
CN104935516B (zh) 2018-05-11

Similar Documents

Publication Publication Date Title
CN104935516A (zh) 基于软件定义网络的通信系统及方法
EP2600573B1 (en) Method for transmitting addresses correspondence relationship in second-layer protocol using link status routing
US10050840B2 (en) Method and system for an internet of things (IOT) device access in a software-defined networking (SDN) system
CN104283980B (zh) 一种地址解析协议代答方法和装置
US8724583B2 (en) Neighbor discovery message handling to support roaming of wireless mobile client devices
US8982707B2 (en) Interoperability of data plane based overlays and control plane based overlays in a network environment
CN103944826B (zh) Spbm网络中的表项聚合方法及设备
US20120287932A1 (en) Label Switched Routing To Connect Low Power Network Domains
US20170208032A1 (en) Method and apparatus for forwarding generic routing encapsulation packets at a network address translation gateway
CN104871495A (zh) 用于叠加网络的虚拟叠加网关
CN111541616A (zh) 一种流量控制方法及装置
CN106209616B (zh) 一种泛洪抑制方法及装置
WO2020220459A1 (zh) 基于VXLAN和OpenFlow的虚拟家庭网络共享方法及系统
CN113271255A (zh) 一种网络地址转换回环的方法、装置
CN105227466A (zh) 通信处理方法和装置
WO2014132958A1 (ja) 通信システム、制御装置、通信方法およびプログラム
di Lallo et al. How to handle ARP in a software-defined network
US20150032898A1 (en) Method for establishing a virtual community network connection and a system for implementing said method
CN104378302B (zh) 地址对应关系发送方法和路由桥设备
JP2017229027A (ja) スイッチ装置および中継システム
CN110620715B (zh) 虚拟扩展局域网通信方法、隧道端点和控制器
CN107547691B (zh) 地址解析协议报文代理方法和装置
CN112995038A (zh) Profinet协议在工业sdn中的接入方法
CN104468305B (zh) 实现三层虚拟专用网方法和设备
Menachi et al. Scalable, hierarchical, Ethernet transport network architecture (HETNA)

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 430074, No. 88, postal academy road, Hongshan District, Hubei, Wuhan

Patentee after: Wuhan post and Telecommunications Science Research Institute Co., Ltd.

Address before: 430074, No. 88, postal academy road, Hongshan District, Hubei, Wuhan

Patentee before: Wuhan Inst. of Post & Telecom Science