CN107360096B - 一种vxlan报文的转发方法及系统 - Google Patents

一种vxlan报文的转发方法及系统 Download PDF

Info

Publication number
CN107360096B
CN107360096B CN201710693669.7A CN201710693669A CN107360096B CN 107360096 B CN107360096 B CN 107360096B CN 201710693669 A CN201710693669 A CN 201710693669A CN 107360096 B CN107360096 B CN 107360096B
Authority
CN
China
Prior art keywords
vxlan
vxlan message
message
address
virtual network
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.)
Active
Application number
CN201710693669.7A
Other languages
English (en)
Other versions
CN107360096A (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.)
Beijing Qingyun Science And Technology Co ltd
Original Assignee
Beijing Qingyun Science And Technology 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 Beijing Qingyun Science And Technology Co ltd filed Critical Beijing Qingyun Science And Technology Co ltd
Priority to CN201710693669.7A priority Critical patent/CN107360096B/zh
Publication of CN107360096A publication Critical patent/CN107360096A/zh
Application granted granted Critical
Publication of CN107360096B publication Critical patent/CN107360096B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种VXLAN报文的转发方法及系统,该方法包括以下步骤:物理网卡获取待转发的VXLAN报文,提取VXLAN报文的五元组信息和目标MAC地址,并根据VXLAN报文的五元组信息和目标MAC地址进行哈希计算,得到哈希值,并当匹配到相同的哈希值时,根据哈希值提取对应的虚拟网络的地址信息,并根据地址信息对VXLAN报文进行修改,并发送给对应的物理交换机。本发明提供的一种VXLAN报文的转发方法及系统,极大地减少了发送到目标服务器进行处理的VXLAN报文,减少了对目标服务器的cpu资源的占用,提高了网络性能。

Description

一种VXLAN报文的转发方法及系统
技术领域
本发明涉及网络通信领域,尤其涉及一种VXLAN报文的转发方法及系统。
背景技术
虚拟网络是SDN技术的基础,虚拟网络的通信主要是使用VXLAN协议把云平台租户的流量封装网络报文(即VXLAN报文),再把VXLAN报文放在物理网络中传输。在VXLAN报文的传输过程中,需要经过目标服务器进行处理,包括:VXLAN报文的包头修改和VXLAN封装等步骤,这些步骤会消耗目标服务器的cpu资源,影响系统性能,并且当VXLAN报文的数量很大时,目标服务器的处理速度慢,导致VXLAN报文的传输速度变慢。
而目前通常使用具有VXLAN硬件卸载功能的网卡来进行VXLAN报文的传输。目前,支持VXLAN硬件卸载的网卡功能只包括gro,gso,rx checksum等,对于网络性能和传输速度的提升有限。例如,gro/gso作用是在网卡上把同一个数据流的报文进行合并或拆分,减少cpu处理的报文数量,对性能有小幅提升,但依然无法满足提升网络性能的需求,同时对于VXLAN报文传输速度的提升也很有限,而且对于不能合并拆分的报文,对于提高网络性能、提升传输速度则无显著效果。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供一种VXLAN报文的转发方法及系统。
本发明解决上述技术问题的技术方案如下:
一种VXLAN报文的转发方法,包括以下步骤:
步骤1,物理网卡获取待转发的VXLAN报文;
步骤2,所述物理网卡提取所述VXLAN报文的五元组信息和目标MAC地址;
步骤3,所述物理网卡根据所述VXLAN报文的五元组信息和目标MAC地址进行哈希计算,得到哈希值;
步骤4,当所述物理网卡匹配到相同的哈希值时,根据所述哈希值提取对应的虚拟网络的地址信息;
步骤5,所述物理网卡根据所述地址信息对所述VXLAN报文进行修改,并发送给对应的物理交换机。
本发明的有益效果是:本发明提供的一种VXLAN报文的转发方法,通过物理网卡计算VXLAN报文的哈希值,并当匹配到已有的哈希值时,提取该哈希值对应的虚拟网络的地址信息,物理网卡根据地址信息自行对VXLAN报文进行修改,极大地减少了发送到目标服务器进行处理的VXLAN报文,减少了对目标服务器的cpu资源的占用,提高了网络性能,当匹配到相同的哈希值,物理网卡就自动修改并转发,能够提高VXLAN报文的传输速度,而且通过物理网卡实现对VXLAN报文的转发,不需要目标服务器的系统软件做相应适配,实用性更强。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步地,所述转发方法还包括:
步骤6,当所述物理网卡未匹配到相同的哈希值时,通知目标服务器去掉所述VXLAN报文的VXLAN封装,并发送给虚拟网络设备;
步骤7,所述虚拟网络设备对去掉VXLAN封装的所述VXLAN报文的MAC帧头和IP头进行修改,并将修改后的所述VXLAN报文发送给VTEP;
步骤8,所述VTEP给所述VXLAN报文增加新的VXLAN封装,得到新VXLAN报文;
步骤9,所述物理网卡将所述新VXLAN报文发送给所述物理交换机。
进一步地,步骤6中,具体包括:
步骤6.1,当所述物理网卡未匹配到相同的哈希值时,触发硬中断,将所述VXLAN报文发送给所述目标服务器;
步骤6.2,所述目标服务器去掉所述VXLAN报文的VXLAN封装,并将去掉VXLAN封装的所述VXLAN报文通过虚拟交换机发送给所述虚拟网络设备。
进一步地,步骤6.2中,具体包括:
步骤6.2.1,所述目标服务器去掉所述VXLAN报文的VXLAN封装,并根据所述VXLAN报文的VNI,将所述VXLAN报文发送给所述虚拟交换机;
步骤6.2.2,所述虚拟交换机根据所述目标MAC地址,将所述VXLAN报文发送给所述虚拟网络设备。
进一步地,步骤7中,具体包括:
步骤7.1,所述虚拟网络设备对去掉VXLAN封装的所述VXLAN报文的MAC帧头和IP头进行修改,并发送给虚拟交换机;
步骤7.2,所述虚拟交换机根据所述目标MAC地址,将所述VXLAN报文发送给所述VTEP。
进一步地,步骤7.1中,具体包括:
步骤7.1.1,所述虚拟网络设备根据所述VXLAN报文的目标IP地址,查找路由表,得到下一跳MAC地址;
步骤7.1.2,所述虚拟网络设备将所述MAC帧头的所述目标MAC地址修改为所述下一跳MAC地址;
步骤7.1.3,所述虚拟网络设备将所述MAC帧头的的源MAC地址修改为所述虚拟网络设备的MAC地址;
步骤7.1.4,所述虚拟网络设备减小所述IP头的TTL;
步骤7.1.5,所述虚拟网络设备计算得到所述IP头的checksum,并替换原有的checksum。
进一步地,步骤8中,所述VTEP根据预设的虚拟网络转发规则,给所述VXLAN报文增加新的VXLAN封装,得到新VXLAN报文,并发送给所述物理网卡。
进一步地,所述转发方法还包括:
步骤10,所述物理网卡提取所述新VXLAN报文的地址信息,与所述哈希值进行关联并存储。
进一步地,所述地址信息包括:目标MAC地址、目标IP地址、目标端口、源IP地址、源端口和VNI。
本发明解决上述技术问题的另一种技术方案如下:
一种VXLAN报文的转发系统,用于使用如上述技术方案中所述的转发方法对VXLAN报文进行转发。
本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明实践了解到。
附图说明
图1为本发明实施例一提供的一种VXLAN报文的转发方法的流程示意图;
图2为本发明实施例二提供的一种VXLAN报文的转发方法的流程示意图;
图3为本发明实施例二提供的一种通过虚拟网络设备转发VXLAN报文时的修改方法的流程示意图;
图4为本发明实施例三提供的一种VXLAN报文的转发系统的结构框架图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,为本发明实施例一提供的一种VXLAN报文的转发方法的流程示意图,该方法包括以下步骤:
S1,物理网卡获取待转发的VXLAN报文,这里的VXLAN报文指的是已封装好的VXLAN报文,包括:VXLAN封装和虚拟网络报文头,其中,VXLAN封装包括物理网络报文头和VXLAN头,虚拟网络报文头中包含有MAC帧头、IP头、目标MAC地址、目标IP地址等信息。
S2,物理网卡提取VXLAN报文的五元组信息和目标MAC地址,五元组信息指的是源IP地址,源端口,目标IP地址,目标端口和传输层协议。
S3,物理网卡根据VXLAN报文的五元组信息和目标MAC地址进行哈希计算,得到哈希值。
S4,当物理网卡匹配到相同的哈希值时,根据哈希值提取对应的虚拟网络的地址信息,例如,可以将得到的哈希值都存储在任意一个或多个可读存储介质中,并且每个哈希值都对应着虚拟网络的地址信息,这里的虚拟网络地址信息指的就是VXLAN报文的五元组信息和目标MAC地址,包含了待转发的VXLAN报文需要被转发到的位置信息。
S5,物理网卡根据地址信息对VXLAN报文进行修改,并发送给对应的物理交换机,这里的修改指的就是按预设的修改规则对VXLAN报文进行修改,可以根据实际需求设定。预设的修改规则可以与未匹配到相同的哈希值时,通过虚拟网络设备转发VXLAN报文时的修改过程相同。
由于已经得知这个报文的五元组信息和目标MAC地址,因此,可以由物理网卡实现对VXLAN报文的修改和转发,例如,对VXLAN报文的修改可以包括以下步骤:
去掉VXLAN报文的VXLAN封装,根据VXLAN报文的目标IP地址,查找路由表,得到下一跳MAC地址,将MAC帧头的目标MAC地址修改为下一跳MAC地址,将MAC帧头的的源MAC地址修改为虚拟网络设备的MAC地址,减小IP头的TTL,计算得到IP头的checksum,并替换原有的checksum,给VXLAN报文增加新的VXLAN封装,得到新VXLAN报文。
下面结合转发VXLAN报文的具体实例来进行说明。
假设在本实施例提供的步骤之前,接收到了如下VXLAN报文的报文头:
物理网络报文头:
68:91:d0:60:84:54>68:91:d0:60:7d:d2,172.31.20.21.54694>172.31.20.29.4789,proto UDP
VNI 18795
虚拟网络报文头:
02:54:cd:d8:f3:22>52:54:d1:f2:8e:38,172.17.0.3.53794>172.17.1.2.22,ttl63,proto TCP
对该报文进行去封装、修改MAC帧头和IP头、加封装处理后,得到了以下报文:
86:91:d0:60:7d:d2>68:91:d0:60:7d:54,172.31.20.29.58637>172.31.20.20.4789,proto UDP
VNI 8649389
52:54:d1:f2:8e:38>52:54:56:3c:7a:4f,172.17.0.3.53794>172.17.1.2.22,ttl 62,proto TCP
然后,对以下报文内容进行哈希计算:
52:54:d1:f2:8e:38,172.17.0.3.53794,172.17.1.2.22,6(TCP协议号)
计算得到哈希值2293368848795334559,并将以下内容与该哈希值对应存储在物理网卡中。
虚拟网络目标MAC地址=52:54:56:3c:7a:4f
物理网络目标IP地址及端口=172.31.20.20.4789
物理网络源IP地址及端口=172.17.0.3.53794
VNI=8649389
也就是说,上述过程给出了一种物理网卡预存哈希值的过程,下面基于上述存储的哈希值,对本实施提供的VXLAN报文转发方法进行说明。
该物理网卡获取到了一个待转发的VXLAN报文,经过提取虚拟网络的目标MAC地址、虚拟网络目标IP地址及端口、虚拟网络源IP地址及端口和协议号,经过哈希计算,假设得到的哈希值为2293368848795334559,那么通过与物理网卡中存储的哈希值进行比较,发现哈希值相同,那么物理网卡就根据与该哈希值对应的虚拟网络目标MAC地址、物理网络目标IP地址及端口、物理网络源IP地址及端口以及VNI等信息,自行对该VXLA N报文进行去封装、修改MAC帧头和IP头、加封装处理,得到以下报文头:
86:91:d0:60:7d:d2>68:91:d0:60:7d:54,172.31.20.29.58637>172.31.20.20.4789,proto UDP
VNI 8649389
52:54:d1:f2:8e:38>52:54:56:3c:7a:4f,172.17.0.3.53794>172.17.1.2.22,ttl 62,proto TCP
然后,物理网卡就可以将上述构造的报文直接发送给交换机端口,不用经过目标服务器操作系统,可以大幅提升网络的性能。减少cpu资源的占用。
本实施例提供的一种VXLAN报文的转发方法,通过物理网卡计算VXLAN报文的哈希值,并当匹配到已有的哈希值时,提取该哈希值对应的虚拟网络的地址信息,物理网卡根据地址信息自行对VXLAN报文进行修改,极大地减少了发送到目标服务器进行处理的VXLAN报文,减少了对目标服务器的cpu资源的占用,提高了网络性能,当匹配到相同的哈希值,物理网卡就自动修改并转发,能够提高VXLAN报文的传输速度,而且通过物理网卡实现对VXLAN报文的转发,不需要目标服务器的系统软件做相应适配,实用性更强。
如图2所示,为本发明实施例二提供的一种VXLAN报文的转发方法的流程示意图,该方法包括以下步骤:
S1,物理网卡获取待转发的VXLAN报文,这里的VXLAN报文指的是已封装好的VXLAN报文,包括:VXLAN封装和虚拟网络报文头,其中,VXLAN封装包括物理网络报文头和VXLAN头,虚拟网络报文头中包含有MAC帧头、IP头、目标MAC地址、目标IP地址等信息。
S2,物理网卡提取VXLAN报文的五元组信息和目标MAC地址,五元组信息指的是源IP地址,源端口,目标IP地址,目标端口和传输层协议。
S3,物理网卡根据VXLAN报文的五元组信息和目标MAC地址进行哈希计算,得到哈希值。
S4,当物理网卡匹配到相同的哈希值时,根据哈希值提取对应的虚拟网络的地址信息,例如,可以将得到的哈希值都存储在任意一个或多个可读存储介质中,并且每个哈希值都对应着虚拟网络的地址信息,这里的虚拟网络地址信息指的就是VXLAN报文的五元组信息和目标MAC地址,包含了待转发的VXLAN报文需要被转发到的位置信息。
S5,物理网卡根据地址信息对VXLAN报文进行修改,并发送给对应的物理交换机,这里的修改指的就是按预设的修改规则对VXLAN报文进行修改,可以根据实际需求设定。预设的修改规则可以与未匹配到相同的哈希值时,通过虚拟网络设备转发VXLAN报文时的修改过程相同,下面通过未匹配到相同的哈希值时的处理步骤,对通过虚拟网络设备转发VXLAN报文时的修改过程进行说明。
S6,当物理网卡未匹配到相同的哈希值时,通过虚拟网络设备和目标服务器对VXLAN报文进行修改和转发。
下面对步骤S6进行详细说明,如图3所示,提供了一种通过虚拟网络设备转发VXLAN报文时的修改方法,包括以下步骤:
S61,当物理网卡未匹配到相同的哈希值时,通知目标服务器去掉VXLAN报文的VXLAN封装,并发送给虚拟网络设备。需要说明,这里的虚拟网络设备是基于虚拟网络的设备,可以包括虚拟网关、虚拟负载均衡器、虚拟防火墙等。
优选地,步骤S61可以细化为以下几个步骤:
S611,当物理网卡未匹配到相同的哈希值时,触发硬中断,将VXLAN报文发送给目标服务器,通知目标服务器的操作系统处理该VXLAN报文,通常情况下,目标服务器为物理机。
S612,物理机的操作系统去掉VXLAN报文的VXLAN封装,并将去掉VXLAN封装的VXLAN报文通过虚拟交换机发送给虚拟网络设备。
具体地,下面对步骤S612进行详细说明。
物理机的操作系统首先根据报文包头,判断出是VXLAN报文,然后去掉VXLAN报文的VXLAN封装,并根据VXLAN报文的VNI,将VXLAN报文发送给虚拟交换机,虚拟交换机根据目标MAC地址,将VXLAN报文发送给该虚拟网络设备。
需要说明的是,虚拟交换机接收到的是去掉VXLAN封装且还未修改的VXLAN报文,是根据修改前VXLAN头的VNI确定的。
S62,虚拟网络设备对去掉VXLAN封装的VXLAN报文的MAC帧头和IP头进行修改,并将修改后的VXLAN报文发送给VTEP。
需要说明的是,在步骤S62中,VTEP接收到的是修改MAC帧头和IP头后且还未加封装VXLAN报文,是根据修改后MAC帧头的目标MAC地址确定的VTEP,这里的VTEP还可以根据实际需求设置为2个。
优选地,步骤S62可以细化为以下几个步骤:
S621,虚拟网络设备对去掉VXLAN封装的VXLAN报文的MAC帧头和IP头进行修改,并发送给虚拟交换机。
具体地,下面对步骤S7621进行详细说明。
虚拟网络设备根据VXLAN报文的目标IP地址,查找路由表,得到下一跳MAC地址,然后将MAC帧头的目标MAC地址修改为下一跳MAC地址,然后将MAC帧头的的源MAC地址修改为虚拟网络设备的MAC地址,然后减小IP头的TTL,最后计算得到IP头的checksum,并替换原有的checksum。
S622,虚拟交换机根据目标MAC地址,将VXLAN报文发送给VTEP。
S63,VTEP给VXLAN报文增加新的VXLAN封装,得到新VXLAN报文。需要说明的是,VTEP接收到VXLAN报文后,根据目标MAC地址,得到对应的VNI,再生成VXLAN封装加在VXLAN报文上,得到新VXLAN报文,并发送给物理网卡。具体地,步骤S63中,VTEP根据预设的虚拟网络转发规则,给VXLAN报文增加新的VXLAN封装,得到新VXLAN报文,并发送给物理网卡。
S64,物理网卡将新VXLAN报文发送给物理交换机。
以上的步骤S61至S64可以认为是一种预设的修改规则,在转发完成后,还可以通过物理网卡提取新VXLAN报文的地址信息,与哈希值进行关联并存储。当后续再遇到哈希值相同的VXLAN报文时,就可以由物理网卡根据上述转发规则,自动地对VXLAN报文进行修改与转发。
也就是说,这里的哈希值是通过物理网卡接收到的未经修改的VXLAN报文计算得到的哈希值,而地址信息是经过修改后的新VXLAN报文的地址信息。当再次接收到哈希值相同的VXLAN报文时,就可以根据与该哈希值对应的,修改后的VXLAN报文的新的地址信息,对报文进行自动地修改与转发。
需要说明的是,地址信息包括:目标MAC地址、目标IP地址、目标端口、源IP地址、源端口和VNI。
下面结合转发VXLAN报文的具体实例来进行说明。
假设某物理网卡(MAC地址为68:91:d0:60:7d:d2)接收到了如下VXLAN报文的报文头:
68:91:d0:60:84:54>68:91:d0:60:7d:d2,172.31.20.21.54694>172.31.20.29.4789,proto UDP
VNI 18795
02:54:cd:d8:f3:22>52:54:d1:f2:8e:38,172.17.0.3.53794>172.17.1.2.22,ttl63,proto TCP
从中提取虚拟网络的五元组信息(源IP地址、源端口、目标IP地址、目标端口和传输层协议)和目标MAC地址,得到:
源IP地址及源端口:172.17.0.3.53794
目标IP地址及目标端口:172.17.1.2.22
TCP协议号:6
目标MAC地址:52:54:d1:f2:8e:38
根据上述五元组信息和目标MAC地址进行哈希计算,得到哈希值2293368848795334559,从数据表中查找是否有与其相同的值,下面首先对未查找到相同哈希值的情况进行说明。
通过硬中断,物理机收到上述报文,去掉VXLAN封装,并转发给虚拟网关的网卡,得到报文头如下:
02:54:cd:d8:f3:22>52:54:d1:f2:8e:38,172.17.0.3.53794>172.17.1.2.22,ttl 63,proto TCP
然后虚拟网关根据路由表,修改报文的目标MAC地址,减小ttl,计算checksum,得到报文头如下:
52:54:d1:f2:8e:38>52:54:56:3c:7a:4f,172.17.0.3.53794>172.17.1.2.22,ttl 62,proto TCP
假设转发规则如下:
目标MAC地址52:54:56:3c:7a:4f应该发送到目标IP 172.31.20.20,端口4789,MAC 68:91:d0:60:7d:54,VNI 8649389。
根据上述转发规则,对报文增加VXLAN封装,发送到物理网卡,得到报文头如下:
86:91:d0:60:7d:d2>68:91:d0:60:7d:54,172.31.20.29.58637>172.31.20.20.4789,proto UDP
VNI 8649389
52:54:d1:f2:8e:38>52:54:56:3c:7a:4f,172.17.0.3.53794>172.17.1.2.22,ttl 62,proto TCP
然后物理网卡将修改报文头后的新VXLAN报文发送到物理交换机端口,完成转发。
然后再提取新VXLAN报文的报文头中的以下内容:
虚拟网络目标MAC地址=52:54:56:3c:7a:4f
物理网络目标IP地址及目标端口=172.31.20.20.4789
物理网络源IP地址及源端口=172.17.0.3.53794
VNI=8649389
将上述内容与哈希值2293368848795334559关联,存储在物理网卡的数据表里。
然后再对查找到相同哈希值的情况进行说明。
当在数据表中查找到相同的哈希值后,得到了与该哈希值关联的以下内容:
虚拟网络目标MAC地址=52:54:56:3c:7a:4f
物理网络目标IP地址及目标端口=172.31.20.20.4789
物理网络源IP地址及源端口=172.17.0.3.53794
VNI=8649389
物理网卡根据上述内容,自行自行修改虚拟网络报文,并增加VXLAN封装,得到报文头如下:
86:91:d0:60:7d:d2>68:91:d0:60:7d:54,172.31.20.29.58637>172.31.20.20.4789,proto UDP
VNI 8649389
52:54:d1:f2:8e:38>52:54:56:3c:7a:4f,172.17.0.3.53794>172.17.1.2.22,ttl 62,proto TCP
然后,物理网卡就可以将上述构造的报文直接发送给物理交换机端口,完成转发,不用经过目标服务器操作系统,可以大幅提升网络的性能,减少cpu资源的占用。
如图4所示,为本发明实施例三提供的一种VXLAN报文的转发系统的结构框架图,该转发系统包括:
物理网卡1,用于获取待转发的VXLAN报文,并提取VXLAN报文的五元组信息和目标MAC地址,并根据VXLAN报文的五元组信息和目标MAC地址进行哈希计算,得到哈希值,并当匹配到相同的哈希值时,根据哈希值提取对应的虚拟网络的地址信息,并根据地址信息对VXLAN报文进行修改,并发送给对应的物理交换机5;当未匹配到相同的哈希值时,通知目标服务器2去掉VXLAN报文的VXLAN封装。
目标服务器2,用于去掉VXLAN报文的VXLAN封装,并通过虚拟交换机6发送给虚拟网络设备3。
虚拟网络设备3,用于对去掉VXLAN封装的VXLAN报文的MAC帧头和IP头进行修改,并将修改后的VXLAN报文通过虚拟交换机6发送给VTEP4。
VTEP4,用于给VXLAN报文增加新的VXLAN封装,得到新VXLAN报文。
物理网卡1还用于将新VXLAN报文发送给物理交换机5。
优选地,物理网卡1具体用于当未匹配到相同的哈希值时,触发硬中断,将VXLAN报文发送给目标服务器2。
优选地,目标服务器2具体用于去掉VXLAN报文的VXLAN封装,并将去掉VXLAN封装的VXLAN报文通过虚拟交换机6发送给虚拟网络设备3。
优选地,目标服务器2具体用于去掉VXLAN报文的VXLAN封装,并根据VXLAN报文的VNI,将VXLAN报文发送给虚拟交换机6。
优选地,虚拟交换机6具体用于根据目标MAC地址,将VXLAN报文发送给虚拟网络设备3。
优选地,虚拟网络设备3具体用于对去掉VXLAN封装的VXLAN报文的MAC帧头和IP头进行修改,并发送给虚拟交换机6。
优选地,虚拟交换机6具体用于根据目标MAC地址,将VXLAN报文发送给VTEP4。
优选地,虚拟网络设备3具体用于虚拟网络设备3根据VXLAN报文的目标IP地址,查找路由表,得到下一跳MAC地址,并将MAC帧头的目标MAC地址修改为下一跳MAC地址,并将MAC帧头的的源MAC地址修改为虚拟网络设备3的MAC地址,并减小IP头的TTL,并计算得到IP头的checksum,并替换原有的checksum。
优选地,VTEP4具体用于根据预设的虚拟网络转发规则,给VXLAN报文增加新的VXLAN封装,得到新VXLAN报文,并通过目标服务器2发送给物理网卡1。
优选地,物理网卡1还用于提取新VXLAN报文的地址信息,与哈希值进行关联并存储。地址信息包括:目标MAC地址、目标IP地址、目标端口、源IP地址、源端口和VNI。
读者应理解,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种VXLAN报文的转发方法,其特征在于,包括以下步骤:
步骤1,物理网卡获取待转发的VXLAN报文;
步骤2,所述物理网卡提取所述VXLAN报文的五元组信息和目标MAC地址;
步骤3,所述物理网卡根据所述VXLAN报文的五元组信息和目标MAC地址进行哈希计算,得到哈希值;
步骤4,当所述物理网卡匹配到相同的哈希值时,根据所述哈希值提取对应的虚拟网络的地址信息;
步骤5,所述物理网卡根据所述地址信息对所述VXLAN报文进行修改,并发送给对应的物理交换机。
2.根据权利要求1所述的转发方法,其特征在于,还包括:
步骤6,当所述物理网卡未匹配到相同的哈希值时,通知目标服务器去掉所述VXLAN报文的VXLAN封装,并发送给虚拟网络设备;
步骤7,所述虚拟网络设备对去掉VXLAN封装的所述VXLAN报文的MAC帧头和IP头进行修改,并将修改后的所述VXLAN报文发送给VTEP;
步骤8,所述VTEP给所述VXLAN报文增加新的VXLAN封装,得到新VXLAN报文;
步骤9,所述物理网卡将所述新VXLAN报文发送给所述物理交换机。
3.根据权利要求2所述的转发方法,其特征在于,步骤6中,具体包括:
步骤6.1,当所述物理网卡未匹配到相同的哈希值时,触发硬中断,将所述VXLAN报文发送给所述目标服务器;
步骤6.2,所述目标服务器去掉所述VXLAN报文的VXLAN封装,并将去掉VXLAN封装的所述VXLAN报文通过虚拟交换机发送给所述虚拟网络设备。
4.根据权利要求3所述的转发方法,其特征在于,步骤6.2中,具体包括:
步骤6.2.1,所述目标服务器去掉所述VXLAN报文的VXLAN封装,并根据所述VXLAN报文的VNI,将所述VXLAN报文发送给所述虚拟交换机;
步骤6.2.2,所述虚拟交换机根据所述目标MAC地址,将所述VXLAN报文发送给所述虚拟网络设备。
5.根据权利要求2所述的转发方法,其特征在于,步骤7中,具体包括:
步骤7.1,所述虚拟网络设备对去掉VXLAN封装的所述VXLAN报文的MAC帧头和IP头进行修改,并发送给虚拟交换机;
步骤7.2,所述虚拟交换机根据所述目标MAC地址,将所述VXLAN报文发送给所述VTEP。
6.根据权利要求5所述的转发方法,其特征在于,步骤7.1中,具体包括:
步骤7.1.1,所述虚拟网络设备根据所述VXLAN报文的目标IP地址,查找路由表,得到下一跳MAC地址;
步骤7.1.2,所述虚拟网络设备将所述MAC帧头的所述目标MAC地址修改为所述下一跳MAC地址;
步骤7.1.3,所述虚拟网络设备将所述MAC帧头的的源MAC地址修改为所述虚拟网络设备的MAC地址;
步骤7.1.4,所述虚拟网络设备减小所述IP头的TTL;
步骤7.1.5,所述虚拟网络设备计算得到所述IP头的checksum,并替换原有的checksum。
7.根据权利要求2所述的转发方法,其特征在于,步骤8中,所述VTEP根据预设的虚拟网络转发规则,给所述VXLAN报文增加新的VXLAN封装,得到新VXLAN报文,并发送给所述物理网卡。
8.根据权利要求2至7中任一项所述的转发方法,其特征在于,还包括:
步骤10,所述物理网卡提取所述新VXLAN报文的地址信息,与所述哈希值进行关联并存储。
9.根据权利要求8所述的转发方法,其特征在于,所述地址信息包括:目标MAC地址、目标IP地址、目标端口、源IP地址、源端口和VNI。
10.一种VXLAN报文的转发系统,其特征在于,用于使用如权利要求1至9中任一项所述的转发方法对VXLAN报文进行转发。
CN201710693669.7A 2017-08-14 2017-08-14 一种vxlan报文的转发方法及系统 Active CN107360096B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710693669.7A CN107360096B (zh) 2017-08-14 2017-08-14 一种vxlan报文的转发方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710693669.7A CN107360096B (zh) 2017-08-14 2017-08-14 一种vxlan报文的转发方法及系统

Publications (2)

Publication Number Publication Date
CN107360096A CN107360096A (zh) 2017-11-17
CN107360096B true CN107360096B (zh) 2020-08-25

Family

ID=60286505

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710693669.7A Active CN107360096B (zh) 2017-08-14 2017-08-14 一种vxlan报文的转发方法及系统

Country Status (1)

Country Link
CN (1) CN107360096B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109756412B (zh) * 2018-12-24 2020-12-25 华为技术有限公司 一种数据报文转发方法以及设备
CN110147344B (zh) * 2019-05-21 2022-02-11 优刻得科技股份有限公司 在多个物理机之间通信的方法、装置、存储介质和系统
CN113225258B (zh) * 2020-02-06 2023-04-07 阿里巴巴集团控股有限公司 一种报文转发方法、装置、网络设备及系统
CN111614540B (zh) * 2020-06-04 2022-04-08 北京百度网讯科技有限公司 用于传递信息的方法及装置
CN112866115B (zh) * 2020-12-31 2023-04-07 杭州迪普科技股份有限公司 一种实现透明串接的方法、装置、电子设备及存储介质
CN113098774B (zh) * 2021-03-25 2023-01-03 北京金山云网络技术有限公司 一种报文转发方法及装置
CN113225264B (zh) * 2021-04-30 2023-01-20 中国工商银行股份有限公司 一种报文处理系统、方法、装置和计算机设备
CN114785737B (zh) * 2022-04-11 2024-07-02 阿里巴巴(中国)有限公司 报文处理方法、网关设备、服务器及存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101572670A (zh) * 2009-05-07 2009-11-04 成都市华为赛门铁克科技有限公司 一种基于流表的数据包处理方法、装置和网络系统
CN102904975A (zh) * 2012-09-28 2013-01-30 华为技术有限公司 报文处理的方法和相关装置
CN103200085A (zh) * 2013-04-16 2013-07-10 中航网信(北京)科技有限公司 一种实现vxlan报文线速收发的方法及系统
WO2014111767A1 (en) * 2013-01-15 2014-07-24 International Business Machines Corporation Scalable network overlay virtualization using conventional virtual switches
CN104283785A (zh) * 2014-10-29 2015-01-14 杭州华三通信技术有限公司 一种快速处理流表的方法和装置
CN104378300A (zh) * 2014-11-27 2015-02-25 盛科网络(苏州)有限公司 一种在芯片中实现Vxlan二层转发表的处理方法
CN105162674A (zh) * 2015-10-16 2015-12-16 上海斐讯数据通信技术有限公司 一种物理机访问虚拟网络的方法及网卡
WO2016003489A1 (en) * 2014-06-30 2016-01-07 Nicira, Inc. Methods and systems to offload overlay network packet encapsulation to hardware
CN105376099A (zh) * 2015-12-02 2016-03-02 盛科网络(苏州)有限公司 采集数据交换机中虚拟网络流量的方法及系统
CN105827495A (zh) * 2016-01-05 2016-08-03 杭州华三通信技术有限公司 Vxlan网关的报文转发方法和设备
CN106559325A (zh) * 2015-09-25 2017-04-05 华为技术有限公司 路径检测方法和装置
CN106612224A (zh) * 2015-10-26 2017-05-03 杭州华三通信技术有限公司 应用于vxlan的报文转发方法和装置

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101572670A (zh) * 2009-05-07 2009-11-04 成都市华为赛门铁克科技有限公司 一种基于流表的数据包处理方法、装置和网络系统
CN102904975A (zh) * 2012-09-28 2013-01-30 华为技术有限公司 报文处理的方法和相关装置
WO2014111767A1 (en) * 2013-01-15 2014-07-24 International Business Machines Corporation Scalable network overlay virtualization using conventional virtual switches
CN103200085A (zh) * 2013-04-16 2013-07-10 中航网信(北京)科技有限公司 一种实现vxlan报文线速收发的方法及系统
WO2016003489A1 (en) * 2014-06-30 2016-01-07 Nicira, Inc. Methods and systems to offload overlay network packet encapsulation to hardware
CN104283785A (zh) * 2014-10-29 2015-01-14 杭州华三通信技术有限公司 一种快速处理流表的方法和装置
CN104378300A (zh) * 2014-11-27 2015-02-25 盛科网络(苏州)有限公司 一种在芯片中实现Vxlan二层转发表的处理方法
CN106559325A (zh) * 2015-09-25 2017-04-05 华为技术有限公司 路径检测方法和装置
CN105162674A (zh) * 2015-10-16 2015-12-16 上海斐讯数据通信技术有限公司 一种物理机访问虚拟网络的方法及网卡
CN106612224A (zh) * 2015-10-26 2017-05-03 杭州华三通信技术有限公司 应用于vxlan的报文转发方法和装置
CN105376099A (zh) * 2015-12-02 2016-03-02 盛科网络(苏州)有限公司 采集数据交换机中虚拟网络流量的方法及系统
CN105827495A (zh) * 2016-01-05 2016-08-03 杭州华三通信技术有限公司 Vxlan网关的报文转发方法和设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SDN架构下VXLAN技术的研究与实现;高扬;《中国优秀硕士学位论文全文数据库(电子期刊)》;20160515;全文 *

Also Published As

Publication number Publication date
CN107360096A (zh) 2017-11-17

Similar Documents

Publication Publication Date Title
CN107360096B (zh) 一种vxlan报文的转发方法及系统
CN107113240B (zh) 可扩展虚拟局域网报文发送方法、计算机设备和可读介质
EP3076612B1 (en) Packet processing methods and nodes
CN108141416B (zh) 一种报文处理方法、计算设备以及报文处理装置
CN113326228B (zh) 基于远程直接数据存储的报文转发方法、装置及设备
US11496393B2 (en) Method and apparatus for forwarding packet based on integrated flow table
CN108600109B (zh) 一种报文转发方法和装置
US11102133B2 (en) Service packet processing method, apparatus, and system
CN109936492B (zh) 一种通过隧道传输报文的方法、装置和系统
US20220255772A1 (en) Packet sending method, apparatus, and system
CN108076066B (zh) 一种防护gre报文的方法及装置
WO2014154124A1 (en) Packet forwarding
KR20220047854A (ko) Sr 네트워크에서의 패킷 포워딩 방법, 장치 및 시스템
CN111866202B (zh) 报文发送方法、装置、电子设备和存储介质
EP3258665A1 (en) Network storage method, switch device, and controller
US20160080532A1 (en) Method for generating input parameter and device
US10284426B2 (en) Method and apparatus for processing service node ability, service classifier and service controller
CN108156066B (zh) 报文转发方法和装置
EP2938026B1 (en) Cluster and forwarding method
CN111147379A (zh) 数据传输方法、系统和相关设备
CN111866046A (zh) 一种实现集群的方法及相关设备
WO2023005620A1 (zh) 报文处理方法、装置及通信系统
CN118138542A (zh) 一种数据处理的方法和相关设备
CN117596205A (zh) 报文处理方法、装置、电子设备及可读介质
CN114268630A (zh) 基于静态arp表项实现随机负载均衡访问方法、装置及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 100020 601, 6 floor, 16 building, No. 36 Chuang Yuan Road, Chaoyang District, Beijing.

Applicant after: Beijing Qingyun Science and Technology Co.,Ltd.

Address before: 100020 601, 6 floor, 16 building, No. 36 Chuang Yuan Road, Chaoyang District, Beijing.

Applicant before: BEIJING YOUFAN TECHNOLOGY CO.,LTD.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder

Address after: 100000 Unit 501A, Floor 5, 101, Building 1, Yard 5, Laiguangying West Road, Chaoyang District, Beijing

Patentee after: Beijing Qingyun Science and Technology Co.,Ltd.

Address before: 100020 601, 6 floor, 16 building, No. 36 Chuang Yuan Road, Chaoyang District, Beijing.

Patentee before: Beijing Qingyun Science and Technology Co.,Ltd.

CP02 Change in the address of a patent holder