CN110022263B - 一种数据传输的方法及相关装置 - Google Patents
一种数据传输的方法及相关装置 Download PDFInfo
- Publication number
- CN110022263B CN110022263B CN201810020503.3A CN201810020503A CN110022263B CN 110022263 B CN110022263 B CN 110022263B CN 201810020503 A CN201810020503 A CN 201810020503A CN 110022263 B CN110022263 B CN 110022263B
- Authority
- CN
- China
- Prior art keywords
- switch
- vxlan
- message
- address
- vtep
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种数据传输的方法,该方法应用于虚拟可扩展局域网VXLAN,VXLAN包括VXLAN隧道,VXLAN隧道用于第一交换机和第二交换机的通信。第一交换机接收第一以太报文,为第一以太报文封装第一VXLAN隧道头得到第一VXLAN报文,该第一VXLAN隧道头包括第一交换机的VXLAN隧道端点VTEP的网际协议IP地址。该第一交换机根据第一转发表和第一VXLAN报文确定第一指令集,其中,该第一转发表包括该第一交换机的VTEP的IP地址和第一指令集的对应关系。该第一交换机根据该第一指令集转发第一VXLAN报文以使得第一VXLAN报文通过VXLAN隧道发往第二交换机。通过上述方式,第一交换机可以根据该第一转发表转发具有相同的源IP地址(也就是VTEP的IP地址)的VXLAN报文,避免了根据VXLAN报文查找EMC表和DPCLS表的过程,提高了网络的转发性能。
Description
技术领域
本申请涉及通信领域,尤其涉及一种数据传输的方法及相关装置。
背景技术
软件定义组网(software-defined networking,SDN)是一种新型的网络架构,它的设计理念是将网络的控制平面与数据转发平面分离,并且控制平面是可直接编程的。SDN通过控制平面中软件平台的可编程化来控制底层硬件,实现对网络资源的灵活调配。在SDN网络中,转发平面中的网络设备例如交换机只负责单纯的数据转发。这种控制面和转发面分离的模式提高了转发数据的效率。
如图1所示,SDN网络通常包括业务呈现层101,控制层102,物理网络层103和服务器层104。业务呈现层101包括云数据中心运营管理平台(简称云平台),主要面向数据中心,实现数据中心内的计算、存储,也可对相应资源进行控制和管理,实现网络资源的虚拟化,并且通过控制层102提供的编程接口对底层设备例如交换机等进行编程。控制层102的中心部件是控制器,控制器能与底层网络设备高度融合。物理网络层103为SDN网络提供底层设备支持,提供业务承载的高速通道,物理网络层103中的网络设备可以包括叶节点,骨干节点和网关。服务器层104可以包括物理服务器109和支持虚拟化的服务器106。支持虚拟化的服务器106可以虚拟出虚拟机107和虚拟交换机108,并将虚拟机107通过虚拟交换机108接入物理网络层。为了满足能在大二层网络环境中标识大量用户群的需求,可采用虚拟可扩展局域网(virtual extensible local area network,VXLAN)在现有的三层网络上叠加大量二层网络,每个叠加网被称为一个VXLAN网段,每个VXLAN网段由一个24比特的VXLAN网络标识(VXLAN Network Identifier,VNI)进行识别,因此在一个管理域内最多可以同时存在16M个VXLAN网段。具体地,这种二层网络的扩展方式由VXLAN技术来实现,VXLAN技术是通过将虚拟机或服务器发出的原始数据包封装成VXLAN报文,然后在物理网络上传输。到达目的地后由VXLAN隧道端点(VXLAN tunnel end point,VTEP)对该VXLAN报文解封装得到该原始数据包,并将该原始数据包发送给目标虚拟机或服务器。正是由于这种封装,现有的三层网络上能够大量叠加二层网络。上述VTEP的功能可由物理设备来实现也可通过软件实现,如图1所示,虚拟交换机108包括VTEP 105。连接物理服务器109的叶节点和VXLAN网关也可以包括各自的VTEP。
当网络设备运行OpenFlow协议时,每个网络设备上存储有精确匹配缓存表(exactmatch cache,EMC)表和数据通道分类(datapath classifer,DPCLS)表。其中,EMC表又被称为microflow cache表,DPCLS表又被称为通配符匹配缓存表或megaflow cache表。EMC表存储在缓存中,具有较小的规格(即表项数),DPCLS表存储在内存中,具有较大的规格。EMC表的每个表项包括哈希值和对应的指令集,或哈希值和指向DPCLS表的索引。该DPCLS表的每个表项包括至少一个匹配项的通配符以及对应的指令集。该至少一个匹配项可以包括以下匹配项中的一个或多个:第一层(layer 1)的隧道(tunnel)标识(identifier,ID),输入端口(in port),服务质量(quality of service,QoS)优先级;第二层(layer 2)的源MAC地址、目的MAC地址,虚拟局域网标识(virtual local area network,VLAN)ID,以太类型(Ethernet type);第三层(layer 3)的源IPv4地址,目的IPv4,源IPv6地址,目的IPv6地址;第四层(layer 4)的传输控制协议(Transmission Control Protocol,TCP)端口号,用户数据报协议(User Datagram Protocol,UDP)端口号,因特网消息控制协议(InternetControl Message Protocol,ICMP)端口号。
具体地,在数据转发过程中,当网络设备(可以是物理网络设备或虚拟交换机)接收到以太报文(又称为以太帧)时,网络设备先根据该以太报文的待匹配字段生成哈希值,然后根据该哈希值查找EMC表,当根据该哈希值在该EMC表中没有找到对应的表项时,网络设备根据该以太报文的待匹配字段查找DPCLS表,当查找到的DPCLS表项中该以太报文的出接口为该网络设备的VTEP时,该以太报文被发送到该VTEP,该VTEP为该以太报文添加VXLAN隧道头,得到VXLAN报文,该VXLAN隧道头包括VXLAN头、用户数据报(User DatagramProtocol,UDP)头、外层网际协议(Internet Protocol,IP)头和外层以太头。该VXLAN报文会被认为是新的报文,因此网络设备会将该VXLAN报文环回到转发流程的入口,重新查找EMC表和DPCLS表。
现有技术中,每个VXLAN报文都会被重新环回到转发流程的入口并重新触发查询EMC表和DPCLS表的步骤,由于查找EMC表和DPLCS表需要耗费较多时间,上述过程影响了数据转发的效率。
发明内容
本申请提供了一种数据传输的方法及相关装置,本申请实施例可在VXLAN场景下,避免根据VXLAN报文查找EMC表和DPCLS表,直接查找映射关系较为简单的第一转发表,提高了网络的转发性能。此外,本申请实施例在更新EMC表和DPCLS表时动态更新第一转发表,确保了该第一转发表的内容能够实时更新,保证了转发过程的准确性。
本发明实施例的第一方面提供一种数据传输的方法,所述方法应用于虚拟可扩展局域网VXLAN中,所述VXLAN包括VXLAN隧道,所述VXLAN隧道用于第一交换机和第二交换机之间的通信。
首先,所述第一交换机接收第一以太报文。交换机对虚拟机需要发送的第一以太报文进行封装,对报文进行封装的交换机可以是物理交换机也可以是通过虚拟化技术虚拟出来的虚拟交换机。此外交换机除了可以对以太报文进行封装之外还可接收VXLAN报文对该VXLAN报文进行解封装。在这里可将第一交换机看成是源端的交换机,用来接收普通报文并进行封装的设备。
接着,所述第一交换机为所述第一以太报文封装第一VXLAN隧道头得到第一VXLAN报文。封装的第一VXLAN隧道头包括外层以太头、外层IP头、外层UDP头和VXLAN头,其中外层IP头中包含的源IP地址就是所述第一交换机的VTEP的IP地址。源端的VTEP和对端的VTEP组成了一条可用于封装的VXLAN报文传输的虚拟隧道。
根据第一转发表和所述第一VXLAN报文确定第一指令集,其中,所述第一转发表用于指示第一交换机的VTEP的IP地址和所述第一指令集的对应关系,所述第一交换机还包括精确匹配缓存EMC表和数据通道分类DPCLS表,所述第一转发表不同于所述EMC表和所述DPCLS表,EMC表用于指示的是通过待匹配字段计算出来的哈希值和指令集之间的对应关系,而DPCLS表利用的是通配符等信息来对报文进行匹配。
所述第一交换机根据所述第一指令集转发所述第一VXLAN报文以使得所述第一VXLAN报文通过所述VXLAN隧道发往所述第二交换机。第一指令集用于指示如何将第一VXLAN报文转发出去,具体可包括将第一VXLAN报文发往服务器的哪个端口。
通过上述方式,有着相同外层源IP地址(也就是VTEP的IP地址)的VXLAN报文可直接被基于该第一转发表转发,避免了根据VXLAN报文查找EMC表和DPCLS表的过程,提高了网络的转发性能。
结合本发明实施例的第一方面,在本发明实施例的第一方面的第一种实现方式中,所述第一交换机接收第一以太报文之前,所述方法还包括:
所述第一交换机在接收第一以太报文之前先接收第二以太报文,接收第二以太报文是为了根据后续根据第二以太报文生成第二VXLAN报文,再根据第二VXLAN报文得到第一交换机的VTEP的IP地址和所述第一指令集的对应关系,以此来建立第一转发表。
所述第一交换机为所述第二以太报文封装第二VXLAN隧道头得到第二VXLAN报文,第二以太报文封装过程与上述实现方式中封装第一以太报文的过程类似,第二VXLAN隧道头中的外层IP头中包含了源IP地址等重要信息,源IP地址也是指第一交换机的VXLAN隧道端点VTEP的IP地址。
当所述EMC表和DPCLS表均不包括所述第一交换机的VTEP的IP地址对应的表项时,所述第一交换机根据所述第二VXLAN报文生成所述第一交换机的VTEP的IP地址和所述第一指令集的对应关系,所述第一交换机根据所述第一交换机的VTEP的IP地址和所述第一指令集的对应关系生成所述第一转发表。
当所述EMC表和DPCLS表包括所述第一交换机的VTEP的IP地址对应的表项时,则根据第二VXLAN报文查询EMC表和DPCLS表得到的结果建立第一转发表,查询能够得到指令集意味着第二VXLAN报文中的源IP地址和服务器的目标输出端口之间具有一定的对应关系,又第二VXLAN报文中包含的源IP地址也是第一交换机的VTEP的IP地址,因此根据第二VXLAN报文可生成第一交换机的VTEP的IP地址和所述第一指令集的对应关系即转发表。
其次,本申请实施例中,在接收第一以太报文之前,先接收一个以太报文,并将其封装,根据封装后的VXLAN报文得到第一交换机的VTEP的IP地址和所述第一指令集的对应关系,据此建立第一转发表,此后与该VXLAN报文有着相同外层源IP地址的VXLAN报文就无需查询耗时耗资源的EMC表和DPCLS表,直接根据第一转发表转发VXLAN报文即可高效、快速地转发报文,提高了数据传输的效率。
结合本发明实施例的第一方面或第一方面的第一种实现方式,在本发明实施例的第一方面的第二种实现方式中,所述方法还包括:
每个交换机既可以作为发送VXLAN报文那一方的交换机,也可以作为接收VXLAN报文的交换机。在接收时,所述第一交换机通过所述VXLAN隧道接收所述第二交换机发送的第三VXLAN报文,第三VXLAN报文是经过对端的交换机也就是第二交换机对第三以太报文进行封装得到的报文,所述第三VXLAN报文包括第三VXLAN隧道头,所述第三VXLAN隧道头包括所述第二交换机的VTEP的IP地址;
接收第三VXLAN报文的第一交换机在VTEP处对该VXLAN报文进行解封装,也就是删除所述第三VXLAN报文的所述第三VXLAN隧道头,得到第三以太报文,第三以太报文为对端想要发送的报文。
所述第一交换机根据所述EMC表或所述DPCLS表转发所述第三以太报文,通过查询该交换机中的表项得到对应的指令集,用于指示如何将报文送给接收端的目的虚拟机。
本申请实施例中,第一交换机也可作为接收方接收对端发来的VXLAN报文,然后在VTEP对VXLAN报文解封装,封装VXLAN隧道头是为了使得以太报文能在VXLAN网络下顺利传输,一旦到达目的虚拟机所在的交换机,即可卸掉封装的隧道头。
结合本发明实施例的第一方面至第一方面的第二种实现方式中的任意一种实现方式,在本发明实施例的第一方面的第三种实现方式中,所述方法还包括:
所述第一交换机为部署在服务器上的虚拟交换机,虚拟交换机是通过虚拟化技术虚拟出来的可实现VTEP的封装和解封装功能的设备,交换机可以被配置用来管理一个由虚拟机组成的虚拟网络或子网中虚拟机之间的通信,虚拟机通过交换机连入到物理网络中。
所述第一指令集包括向所述服务器的目标端口发送所述第一VXLAN报文,第一指令集是根据VXLAN报文和转发表中指令集的共同决定的,一旦VXLAN报文中的待匹配字段与转发表中的匹配项对应上,就可以得出表项中对应的指令集。
本申请实施例中VTEP的封装和解封装功能可由交换机来实现,因此不需要增加其他网络设备来实现VTEP的功能,减少了网络中的设备数量,简化了网络拓扑。
结合本发明实施例的第一方面至第一方面的第三种实现方式中的任意一种实现方式,在本发明实施例的第一方面的第四种实现方式中,所述根据第一转发表和所述第一VXLAN报文确定第一指令集之前:
确定所述第一转发表为有效状态。
第一转发表中包含了使能标识,使能标识用于指示第一转发表当前是否使用,若第一转发表中的的有效位即使能标识为1,则说明可以将下一个同源IP报文直接通过第一转发表得到对应的指令集,该指令集用于指示通过服务器的物理端口转发VXLAN报文。若有效位为0,则说明第一转发表当前不能使用,则需要将封装的VXLAN报文经过EMC表和DPCLS表查询,根据指令集转发出去。
本申请实施例中,通过判断第一转发表中的有效位来断定第一转发表是否能使用,避免了VXLAN报文查询不可用或错误的第一转发表,一旦发现第一转发表不可用,可以利用EMC表和DPCLS表转发VLXAN报文,提高了数据传输的准确率。
结合本发明实施例的第一方面至第一方面的第四种实现方式中的任意一种实现方式,在本发明实施例的第一方面的第五种实现方式中,所述方法还包括:
若所述第一交换机的VTEP的IP地址改变,所述第一交换机根据改变后的VTEP的IP地址更新所述第一转发表、所述精确匹配缓存表和所述数据通道分类表。
第一交换机根据第二VXLAN报文生成第一交换机的VTEP的IP地址和所述第一指令集的对应关系,并建立第一转发表,接着第一VXLAN报文便可直接使用该第一转发表转发VXLAN报文,第一VXLAN报文和第二VXLAN报文有着相同的VTEP的IP地址也就是外层源IP地址。若第一交换机的VTEP的IP地址变化了,则第一转发表、所述精确匹配缓存表和所述数据通道分类表中的表项内容也需要动态地与VTEP的IP地址联系起来,同步进行刷新。当VTEP的IP地址变化时,首先EMC表和DPCLS表会相应进行更新,然后交换机会用第一个VXLAN报文查询EMC表和DPCLS表的结果得到新的VTEP的IP地址和对应指令集的对应关系,根据新的对应关系刷新第一转发表。
本申请实施例中,在VTEP的IP地址也就是源IP变化时,根据源IP地址对全局变量静态表、EMC表和DPCLS表的内容进行实时更新,保证了转发过程的准确性。
本发明实施例的第二方面提供一种数据传输的装置,所述装置应用于虚拟可扩展局域网VXLAN中,所述VXLAN包括VXLAN隧道,所述VXLAN隧道用于第一交换机和第二交换机之间的通信,所述装置为所述第一交换机,所述第一交换机包括:
第一接收模块,用于接收第一以太报文;
封装模块,用于为所述第一以太报文封装第一VXLAN隧道头得到第一VXLAN报文,所述第一VXLAN隧道头包括所述第一交换机的VXLAN隧道端点VTEP的网际协议IP地址;
确定模块,用于根据第一转发表和所述第一VXLAN报文确定第一指令集,其中,所述第一转发表包括所述第一交换机的VTEP的IP地址和所述第一指令集的对应关系;所述第一交换机还包括精确匹配缓存EMC表和数据通道分类DPCLS表,所述第一转发表不同于所述EMC表和所述DPCLS表;
第一转发模块,用于根据所述第一指令集转发所述第一VXLAN报文以使得所述第一VXLAN报文通过所述VXLAN隧道发往所述第二交换机。
通过上述方式,有着相同的源IP地址(也就是VTEP的IP地址)的VXLAN报文可直接被基于该第一转发表转发,避免了根据VXLAN报文查找EMC表和DPCLS表的过程,提高了网络的转发性能。此外,本申请实施例在更新EMC表和DPCLS表时动态更新全局变量静态表,确保了该全局变量静态表的内容能够实时更新,保证了转发过程的准确性。
结合本发明实施例的第二方面,在本发明实施例的第二方面的第一种实现方式中,
所述接收模块,还用于在接收所述第一以太报文之前接收第二以太报文;
所述封装模块,还用于为所述第二以太报文封装第二VXLAN隧道头得到第二VXLAN报文,所述第二VXLAN隧道头包括所述第一交换机的VXLAN隧道端点VTEP的IP地址。
所述数据传输装置还包括生成模块,用于当所述EMC表和DPCLS表均不包括所述第一交换机的VTEP的IP地址对应的表项时,根据所述第二VXLAN报文生成所述第一交换机的VTEP的IP地址和所述第一指令集的对应关系;并根据所述第一交换机的VTEP的IP地址和所述第一指令集的对应关系生成所述第一转发表。
其次,本申请实施例中,在接收第一以太报文之前,先接收一个以太报文,并将其封装,根据封装后的VXLAN报文建立第一转发表,此后在转发与该VXLAN报文有着相同外层源IP地址的VXLAN报文时就无需查询耗时耗费资源的EMC表和DPCLS表,直接根据第一转发表即可高效、快速地转发VXLAN报文,提高了数据传输的效率。
结合本发明实施例的第二方面或第二方面的第一种实现方式,在本发明实施例的第二方面的第二种实现方式中,所述装置还包括:第二接收模块,用于通过所述VXLAN隧道接收所述第二交换机发送的第三VXLAN报文,所述第三VXLAN报文包括第三VXLAN隧道头,所述第三VXLAN隧道头包括所述第二交换机的VTEP的IP地址;
删除模块,用于删除所述第三VXLAN报文的所述第三VXLAN隧道头,得到第三以太报文;
第二转发模块,用于根据所述EMC表或所述DPCLS表转发所述第三以太报文。
本申请实施例中,第一交换机也可作为接收方接收对端发来的VXLAN报文,然后在VTEP对该VXLAN报文解封装,封装VXLAN隧道头是为了使得以太报文能在VXLAN网络下顺利传输,一旦到达目的虚拟机所在的交换机,即可卸掉这些外层包头。
结合本发明实施例的第二方面至第二方面的第二种实现方式中的任意一种实现方式,在本发明实施例的第二方面的第三种实现方式中,所述数据传输装置包括:
所述确定模块,还用于在确定所述第一指令集之前确定所述第一转发表为有效状态。
本申请实施例中,通过判断第一转发表中的有效位来断定转发表是否能使用,避免了VXLAN报文查询不可用或错误的转发表,一旦发现转发表不可用,可以利用EMC表和DPCLS表转发VLXAN报文,提高了报文转发的准确率和效率。
结合本发明实施例的第二方面至第二方面的第四种实现方式中的任意一种实现方式,在本发明实施例的第二方面的第五种实现方式中,所述方法还包括:
更新模块,用于当所述第一交换机的VTEP的IP地址改变时,根据改变后的VTEP的IP地址更新所述第一转发表、所述精确匹配缓存表和所述数据通道分类表。
本申请实施例中,在VTEP的IP地址也就是源IP变化时,根据源IP地址对第一转发表、EMC表和DPCLS表的内容实时更新,保证了转发过程的准确性。
本申请第三方面提供了一种数据传输装置,所述数据传输装置包括处理器和存储器;所述存储器用于存储可执行的计算机程序代码;所述处理器用于读取所述计算机程序代码来运行与所述计算机程序代码对应的计算机程序,以用于执行如本申请第一方面的任一种可能的实施方式中的方法。
本申请第四方面提供一种计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第一方面的任一种可能的实施方式中的方法。
本申请第五方面提供一种计算机存储介质,用于储存为上述方法所用的计算机软件指令,当其在计算机上运行时,使得计算机可以执行上述第一方面的任一种可能的实施方式中的方法。
附图说明
图1为现有技术中SDN的网络架构图;
图2为本申请实施例中利用VXLAN技术的网络拓扑图;
图3为本申请实施例中VXLAN报文的结构示意图;
图4为本申请实施例中VXLAN报文在交换机内部的处理流程示意图;
图5为本申请实施例中数据传输方法的一个信令交互示意图;
图6为本申请实施例中数据传输方法的一个实施例示意图;
图7为本申请实施例中数据传输装置的一个实施例示意图;
图8为本申请实施例中数据传输装置的另一实施例示意图;
图9为本申请实施例中数据传输装置的另一实施例示意图;
图10为本申请实施例中数据传输装置的再一实施例示意图。
具体实施方式
本申请提供了一种数据传输的方法及相关装置,本申请实施例可在VXLAN场景下,避免根据VXLAN报文查找EMC表和DPCLS表,提高了网络的转发性能。此外,本申请实施例在更新的EMC表和DPCLS表时动态更新全局变量静态表,确保了该全局变量静态表的内容能够实时更新,保证了转发过程的准确性。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据作用的不同可将SDN网络分为四层,如图1所示,SDN网络包括101业务呈现层、102控制层、103物理网络层和104服务器层。
在SDN网络中,VXLAN技术可用于虚拟网络中的虚拟机之间的通信,VXLAN是建立在物理网络之上的虚拟以太网,VXLAN的核心技术是在VXLAN隧道的端点VTEP处对以太网帧进行封装,然后通过本端VTEP和对端VTEP之间的隧道传输VXLAN报文,再在对端VTEP进行解封装得到原始以太网帧,而VTEP对数据的封装或解封装的功能可由交换机实现。该交换机可以是虚拟交换机或物理交换机。
请参阅图2,图2为基于VXLAN的网络拓扑图,下面以图2来介绍利用VXLAN转发报文的过程:
首先介绍报文转发过程中的基本概念和各个设备的作用:
服务器:在虚拟化技术中,一台服务器上可以虚拟出多台交换机和多台虚拟机,(例如,服务器201上虚拟出虚拟机202和虚拟交换机203,服务器208上虚拟出虚拟机207和虚拟交换机206)。每个虚拟交换机可以被配置用来管理一个由虚拟机组成的虚拟网络或子网中虚拟机之间的通信,虚拟机通过虚拟交换机接入到网络。服务器可控制物理资源的虚拟化以及调度,供一个或者多个虚拟机使用。虚拟机将需要发送的报文送至虚拟交换机中,虚拟交换机中的VTEP(例如VTEP204或VTEP205)负责对该报文进行封装,虚拟交换机再将处理了的报文发送至下一个网络设备的VTEP,这两个VTEP组成了一条传输VXLAN报文的虚拟隧道。报文还可通过骨干节点和叶节点上的VTEP组成的隧道传输报文的方式转发报文。
VTEP:VXLAN隧道的端点,交换机上的VTEP可对报文进行封装或解封装,封装报文时,将该VTEP的IP地址作为外层源IP地址,将对端接收该报文的VTEP的IP地址作为外层目的IP地址。在本申请实施例的场景下,骨干节点和叶节点上的VTEP可仅仅用作转发报文,不对报文进行封装或解封装等操作。
骨干节点和叶节点:为VXLAN网络提供了基础网络设施,骨干节点和叶子节点在本方案中可仅仅用作转发,不对报文进行封装或解封装等操作。当用于不同VXLAN网络下虚拟机的通信时,节点上的VTEP还可以充当网关,接收上一个交换机发来的报文,并为该报文寻找路由,将该报文发往下一个网络设备的VTEP,以使得报文到达接收方虚拟机。
下面将以图2中的虚拟机202为发送方,虚拟机207为接收方,并且两个虚拟机处于同一VXLAN网络下为例,说明两个虚拟机的通信过程。
虚拟机202向虚拟机207发送报文,虚拟机202连接的VTEP 105收到了该报文,将该报文进行封装,封装报文时先为原始报文添加虚拟局域网扩展头即VXLAN头,之后依次添加外层用户数据报协议头即UDP头、外层网际协议头即IP头和外层以太头即MAC头,封装得到的VXLAN报文的结构如图3所示。封装之后的VXLAN隧道头中包含了外层源IP地址、外层目的IP地址、外层源MAC地址和外层目的MAC地址等重要信息。与虚拟机202连接的交换机中VTEP的IP地址作为外层源IP地址,与虚拟机207连接的交换机中VTEP的IP地址作为外层目的IP地址。。封装的VXLAN报文通过网络上骨干节点和叶节点上的VTEP之间组成的隧道传输。在该VXLAN报文到达虚拟机207对应的VTEP205后,该VTEP 205对该VXLAN报文解封装即拆掉该VXLAN报文的外层以太头、外层IP头部和外层UDP头部,检查报文的VNI以及原始报文携带的目的MAC地址,确认目的虚拟机207与本VTEP 205相连后,拆掉VXLAN头,留下的就是原始以太报文,再将该原始报文发送给虚拟机207,通信完成。
若处于不同网络下的虚拟机需要通信时,可以通过增加网关来连接两个网络,网关可部署在骨干节点或叶子节点上,每个骨干节点和叶节点可被配置用于路由。
图4为在VXLAN场景下VXLAN报文在交换机内部的处理流程示意图。VTEP将虚拟机发来的报文进行封装,封装之后的VXLAN报文会被交换机认为是个新的报文,因此该VXLAN报文会被交换机重新环回到转发的入口查表。传统的转发技术是将封装的VXLAN报文重新环回转发流程的入口再次查找EMC表和DPCLS表,然后根据查找结果将该VXLAN报文发出服务器,如图中虚线部分所经过的流程。本申请实施例中的数据传输方式中是将第二次环回查表的处理方式进行简化,如图中实线所示的流程,采用的方案是旁路一个快路径,建立一张不同于EMC表和DPCLS表的转发表,本申请中称为第一转发表。该第一转发表包括交换机的VTEP的IP地址和所述第一指令集的对应关系,该交换机接收虚拟机发送的以太报文并对该以太报文进行VXLAN封装。若图中的使能位置1,则说明可以对下一个外层源IP地址相同的VXLAN报文直接根据该转发表得到对应的指令集,该指令集用于指示向服务器的物理端口转发报文。该第一转发表可以看成是一个提供全局路由关系的转发表,由于表中的各个特征不会产生变化,因此又可以叫做全局变量静态表,具体名称此处不作限定。
请参考图5,图5为本发明实施例提供的一种数据传输方法的交互示意图,其中,数据传输的方法应用于VXLAN中,VXLAN包括VXLAN隧道,VXLAN隧道用于第一交换机和第二交换机之间的通信。
在301中,所述第一交换机接收第一以太报文。
第一交换机接收第一以太报文。交换机可对虚拟机需要发送的第一以太报文进行封装,第一交换机可以是物理交换机还可以是通过虚拟化技术虚拟出来的虚拟交换机。此外交换机可以对以太报文进行封装得到VXLAN报文,也可接收VXLAN报文对该VXLAN报文进行解封装得到以太报文。在这里可将第一交换机看成是源端对以太报文进行封装的交换机,用来接收以太报文并对该以太报文进行封装的设备。
在302中,所述第一交换机为所述第一以太报文封装第一VXLAN隧道头得到第一VXLAN报文,所述第一VXLAN隧道头包括所述第一交换机的VXLAN隧道端点VTEP的IP地址。
第一交换机在VTEP为第一以太报文封装VXLAN隧道头得到第一VXLAN报文,这里的第一交换机可称为源端交换机。封装VXLAN隧道头时依次在原始以太报文的前面加上VXLAN头,UDP头、外层IP头和外层以太头,这些组成了一个完整的VXLAN报文。如图3所示,图3为VXLAN报文的组成结构示意图。需要说明的是,外层IP头中包含的源IP地址是指源端交换机中的VTEP的IP地址,目的IP地址是指对端交换机中的VTEP的IP地址。
需要说明的是,VTEP只是交换机承担的一个角色而已,只是交换机功能的一部分。也就是说,并非所有进入到交换机的报文都会走VXLAN隧道,当通过报文查找到的表项中表明该以太报文的出接口为VTEP端口时,才会将该以太报文发送到该VTEP端口,为该以太报文添加VXLAN隧道头,如果表项内容表明以太报文的出接口为普通端口时,报文走的是普通的二三层转发流程。
在303中,根据第一转发表和所述第一VXLAN报文确定第一指令集,其中,所述第一转发表包括所述第一交换机的VTEP的IP地址和所述第一指令集的对应关系,所述第一交换机还包括精确匹配缓存EMC表和数据通道分类DPCLS表,所述第一转发表不同于所述EMC表和所述DPCLS表。
不管是发送VXLAN报文的交换机还是用来接收VXLAN报文的交换机,在交换机接收到VXLAN报文时,会先判断接收到的VXLAN报文中的源IP是否和本端交换机的VTEP的IP地址相同,如果相同则说明该交换机是用来转发VXLAN报文的交换机,接下来查表获取指令集,根据指令集转发该VXLAN报文,具体可以包括:将所述VXLAN报文发往服务器的目标端口,该目标端口为服务器的物理端口。如果判断出VXLAN报文中的源IP不是本端交换机的VTEP的IP地址,则删除VXLAN报文的隧道头。
第一交换机中包含EMC表、DPCLS表和第一转发表,第一转发表不同于EMC表和DPCLS表,EMC表中包含哈希值和指令集之间的映射关系,第一交换机会先根据该以太报文的待匹配字段生成哈希值,然后根据该哈希值查找EMC表,当根据该哈希值在该EMC表中没有找到对应的表项时,第一交换机将该报文传递给DPCLS表,根据该以太报文的待匹配字段查找DPCLS表,直到查到匹配的表项信息得到对应的指令集,通过EMC表和DPCLS表查询获取指令集的过程较为缓慢,并且需要耗费大量的资源,而第一转发表中包含的映射关系较为简单,并且其中包含的变量都为静态,因此匹配VXLAN报文中的源IP地址时变得便捷快速,根据VXLAN报文中的源IP地址查找第一转发表便可以快速获取对应的第一指令集,该指令集主要用于指示如何将第一VXLAN报文转发出去,具体可为:将第一VXLAN报文发往服务器的目标端口,送出端口的报文再通过物理网络层进行传输。
第一转发表的每个表项中包含了使能标识、出端口和源端的VTEP的IP地址,使能标识用于指示该表当前是否使用,出端口用于指示封装好VXLAN的报文需要发往哪个端口,源端的VTEP IP地址也就是用来发送报文的交换机中VTEP的IP地址,若第一转发表中的的使能标识即有效位为1,则说明可以将下一个同源IP报文直接通过该表得到对应的指令集,该指令集包括通过服务器的物理出端口转发报文,若第一转发表中的的有效位为0,则说明该转发表不可用,此时可根据EMC表和DPCLS表进行报文的转发。
如果第一交换机的VTEP的IP地址发生变化了,从该VTEP进行封装的报文便在原来的第一转发表中匹配不到相应的表项,这时需要根据改变后的VTEP的IP地址更新原始第一转发表、所述精确匹配缓存表和所述数据通道分类表。
在304中,所述第一交换机根据所述第一指令集转发所述第一VXLAN报文以使得所述第一VXLAN报文通过所述VXLAN隧道发往所述第二交换机。
将第一VXLAN报文与第一转发表进行匹配得到对应的指令集,由于第一转发表中包含的是交换机的VTEP的IP地址和对应指令集的对应关系,那么第一转发表中用来匹配的字段应为交换机的VTEP的IP地址,如果第一VXLAN报文中的源IP地址和第一转发表中某一表项的VTEP的IP地址一致,则说明该VXLAN报文匹配上了第一转发表,接着根据该表项中的指令集转发该VXLAN报文,该指令集包括但不仅仅限于指示将第一VXLAN报文发往哪个端口,还可以包括其他的用于指示报文转发的指令,例如当通信的两个交换机不处于同一个网络下时,可通过增加一个网关来连接两个网络,此时指令可以用于指示将VXLAN报文中的目的MAC地址修改为该网关的MAC地址。
在305中,第二交换机接收第一交换机发送的第一VXLAN报文。
第一交换机和第二交换机上的VTEP形成了一条逻辑上的虚拟VXLAN隧道,报文通过该隧道传输。正是由于对以太报文进行了VXLAN封装,因此封装后的VXLAN报文才能在VXLAN隧道中进行传输。
在306中,所述第二交换机删除所述第一VXLAN报文的所述第一VXLAN隧道头,得到第一以太报文。
第二交换机的VTEP接收到VXLAN报文后,对该报文进行解封装即拆掉报文的外层MAC头、外层IP头部和外层UDP头部,检查报文的VNI以及原始报文携带的目的MAC地址,确认目的虚拟机与本VTEP相连后,拆掉VXLAN首部,留下的就是发送方想要发送的原始以太报文,再将该原始报文交付给虚拟机,通信完成。
在307中,所述第二交换机根据所述EMC表或所述DPCLS表转发所述第一以太报文。
第二交换机也就是接收VXLAN报文的交换机,在VTEP对VXLAN报文解封装后得到原始的以太报文,再根据该以太报文匹配EMC表和DPCLS表,匹配出相应的表项内容,根据表项内容中的指令集执行该以太报文,具体包括如何将以太报文送入目的虚拟机。
本申请实施例中,当源端VTEP对交换机接收到的以太报文进行封装之后,交换机可得到该交换机的VTEP的IP地址和对应的指令集的对应关系,再根据该对应关系建立转发表,有着相同的源IP地址(也就是VTEP的IP地址)的VXLAN报文可直接被基于该第一转发表转发,避免了根据VXLAN报文查找EMC表和DPCLS表的过程,提高了网络的转发性能。
本申请实施例中数据传输方式的又一实施例中,所述第一交换机在执行图5所示的方法接收第一以太报文之前,还执行图6所示各步骤。
在401中,所述第一交换机接收第二以太报文。
在第一交换机接收第一以太报文之前,先要接收另一个以太报文即第二以太报文,对第二以太报文进行封装得到第二VXLAN报文,根据该VXLAN报文可得到建立第一转发表所需的VTEP的IP地址和对应的端口之间的对应关系,封装的VXLAN报文中外层IP头中的源IP地址是指第一交换机的VTEP的IP地址,因此第一转发表中包括了所述第一交换机的VTEP的IP地址和所述第一指令集的对应关系。
在402中,所述第一交换机为所述第二以太报文封装第二VXLAN隧道头得到第二VXLAN报文,所述第二VXLAN隧道头包括所述第一交换机的VXLAN隧道端点VTEP的IP地址。
第二VXLAN报文是由第一交换机中的VTEP进行VXLAN封装得到的,因此第二VXLAN报文的外层源IP地址和第一VXLAN报文中的外层源IP地址都是一样的,即第一交换机的VTEP的IP地址。根据第二VXLAN报文建立第一转发表之后,第一交换机才能根据该第一转发表转发该第一VXLAN报文。
本实施例中,所述第一交换机为所述第二以太报文封装第二VXLAN隧道头得到第二VXLAN报文的方式与上述实施例中步骤302所描述内容即所述第一交换机为所述第一以太报文封装第一VXLAN隧道头得到第一VXLAN报文类似,故此处不做赘述。
在403中,当所述EMC表和DPCLS表均不包括所述第一交换机的VTEP的IP地址对应的表项时,所述第一交换机根据所述第二VXLAN报文生成所述第一交换机的VTEP的IP地址和所述第一指令集的对应关系。
当EMC表中和DPCLS表中都不包括第一交换机的VTEP的IP地址对应的表项时意味着根据第二以太报文封装成的第二VXLAN报文在EMC表和DPCLS中都没有匹配项,不能根据这两个表得到相应的指令集转发该报文,此时第一交换机可以根据第二VXLAN报文生成第一交换机的VTEP的IP地址和所述第一指令集的对应关系,该对应关系也可用于指示下一个与第二VXLAN报文有着相同外层源IP的报文即第一VXLAN报文的转发。
当EMC表中或DPCLS表中包括第一交换机的VTEP的IP地址对应的表项时意味着第二VXLAN报文能匹配上EMC表或DPCLS表得出相应的指令集。第一交换机首先根据第二VXLAN查找EMC表,如果查找到匹配的EMC表项,则按照匹配上的EMC表项对应的指令集转发该报文。若在该EMC表中未查找到相应的EMC表项,则第一交换机会根据第二VXLAN报文查找DPCLS表,当查找到对应的DPCLS表项时,获取该DPCLS表项中的指令集,该指令集包括将报文发往哪个端口的动作。第一交换机可以根据查找到的EMC表项或DPCLS表项中的指令集建立第一转发表。
该第一转发表实质上主要是用来指示第二VXLAN报文中的外层源IP地址和服务器的出端口之间的对应关系,因此下一个有着相同外层源IP地址的VXLAN报文可匹配上该第一转发表,并被通过该第一转发表中的出端口转发出服务器。本申请中,第一交换机不需要对每个VXLAN报文都查找EMC表和DPCLS表,提高了转发数据的效率。
在404中,所述第一交换机根据所述第一交换机的VTEP的IP地址和所述第一指令集的对应关系生成所述第一转发表。
第一交换机的VTEP的IP地址和第一指令集之间具有对应关系,通常情况下,第一交换机仅有一个VTEP,因此,该第一转发表仅用于记录该VTEP的IP地址与第一指令集的对应关系。当第一交换机有多个VTEP时,该第一转发表可以包括多个表项,每个表项用于记录一个VTEP的IP地址与对应的指令集。该多个表项中的指令集可以对应同一个出端口,也可以对应不同的出端口。
本申请实施例中,在接收第一以太报文之前,交换机根据第二以太报文封装得到第二VXLAN报文,再根据第二VXLAN报文确定第一交换机的VTEP的IP地址和所述第一指令集的对应关系,用第一转发表保存这种对应关系,第一VXLAN报文可匹配这张转发表得到指令集,根据该指令集中的转发动作转发第一VXLAN报文,避免了VXLAN报文查找EMC表和DPCLS表的繁琐过程,大大提高了网络的转发性能。
下面对本发明中的数据传输装置进行详细描述,请参阅图7,本发明实施例中的数据传输装置50包括:
第一接收模块501,用于接收第一以太报文;
封装模块502,用于为所述第一以太报文封装第一VXLAN隧道头得到第一VXLAN报文,所述第一VXLAN隧道头包括所述第一交换机的VXLAN隧道端点VTEP的网际协议IP地址;
确定模块503,用于根据第一转发表和所述第一VXLAN报文确定第一指令集,其中,所述第一转发表包括所述第一交换机的VTEP的IP地址和所述第一指令集的对应关系;所述第一交换机还包括精确匹配缓存EMC表和数据通道分类DPCLS表,所述第一转发表不同于所述EMC表和所述DPCLS表;
第一转发模块504,用于根据所述第一指令集转发所述第一VXLAN报文以使得所述第一VXLAN报文通过所述VXLAN隧道发往所述第二交换机。
通过上述方式,有着相同的源IP地址(也就是VTEP的IP地址)的VXLAN报文可直接被基于该第一转发表转发,避免了根据VXLAN报文查找EMC表和DPCLS表的过程,提高了网络的转发性能。此外,本申请实施例在更新EMC表和DPCLS表时动态更新全局变量静态表,确保了该全局变量静态表的内容能够实时更新,保证了转发过程的准确性。
在一个实施方式中,所述第一接收模块501还用于在接收所述第一以太报文之前接收第二以太报文,所述封装模块502还用于为所述第二以太报文封装第二VXLAN隧道头得到第二VXLAN报文,所述第二VXLAN隧道头包括所述第一交换机的VXLAN隧道端点VTEP的IP地址。
基于上述图7对应的实施例,请参阅图8,本发明实施例中的数据传输装置50还包括:
生成模块505,用于根据所述第二VXLAN报文生成所述第一交换机的VTEP的IP地址和所述第一指令集的对应关系,并根据所述第一交换机的VTEP的IP地址和所述第一指令集的对应关系生成所述第一转发表。
其次,本申请实施例中,在接收第一以太报文之前,先接收一个以太报文,并将其封装,根据封装后的VXLAN报文得到第一交换机的VTEP的IP地址和所述第一指令集的对应关系,据此建立第一转发表,此后与该VXLAN报文有着相同外层源IP地址的VXLAN报文就无需查询耗时耗资源的EMC表和DPCLS表,直接根据该第一转发表即可高效、快速地转发报文,提高了数据传输的效率。
本申请实施例中的又一可选实施例请参阅图9,数据传输装置50还包括:
第二接收模块506,用于通过所述VXLAN隧道接收所述第二交换机发送的第三VXLAN报文,所述第三VXLAN报文包括第三VXLAN隧道头,所述第三VXLAN隧道头包括所述第二交换机的VTEP的IP地址;
删除模块507,用于删除所述第三VXLAN报文的所述第三VXLAN隧道头,得到第三以太报文;
第二转发模块508,用于根据所述EMC表或所述DPCLS表转发所述第三以太报文。
进一步地,在本发明一个实施方式中,所述确定模块503还用于在确定所述第一指令集之前确定所述第一转发表为有效状态。
在另一个实施方式中,所述数据传输装置还包括:
更新模块,用于当所述第一交换机的VTEP的IP地址改变时,根据改变后的VTEP的IP地址更新所述第一转发表、所述精确匹配缓存表和所述数据通道分类表。
本申请实施例中,第一交换机也可作为接收方接收对端发来的VXLAN报文,然后在VTEP对VXLAN报文解封装,封装VXLAN隧道头是为了使得以太报文能在VXLAN网络下顺利传输,一旦到达目的虚拟机所在的交换机,即可卸掉封装的隧道头。
本申请另一个实施例提供了一种数据通信装置,如图10所示,该数据通信装置包括处理器1001和存储器1002。
报文的处理方法存储器1002用于存储指令,报文的处理方法处理器1001用于执行报文的处理方法存储器1002存储的指令,当处理器1001执行报文的处理方法存储器1002存储的指令时,报文的处理方法设备用于执行图5和图6所示的方法。
可选地,如图10所示,该数据通信装置还可以包括通信接口1003,其中,通信接口1003包括一个或多个通信接口,用于向其它的设备发送数据,或接收其它设备发送的数据。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (12)
1.一种数据传输的方法,其特征在于,所述方法应用于虚拟可扩展局域网VXLAN中,所述VXLAN包括VXLAN隧道,所述VXLAN隧道用于第一交换机和第二交换机之间的通信,所述方法包括:
所述第一交换机接收第一以太报文;
所述交换机为所述第一以太报文封装第一VXLAN隧道头得到第一VXLAN报文,所述第一VXLAN隧道头包括所述第一交换机的VXLAN隧道端点VTEP的网际协议IP地址;
根据第一转发表和所述第一VXLAN报文确定第一指令集,其中,所述第一转发表包括所述第一交换机的VTEP的IP地址和所述第一指令集的对应关系,所述第一交换机还包括精确匹配缓存EMC表和数据通道分类DPCLS表,所述第一转发表不同于所述EMC表和所述DPCLS表;
所述第一交换机根据所述第一指令集转发所述第一VXLAN报文以使得所述第一VXLAN报文通过所述VXLAN隧道发往所述第二交换机。
2.根据权利要求1所述的方法,其特征在于,所述第一交换机接收第一以太报文之前,所述方法还包括:
所述第一交换机接收第二以太报文;
所述第一交换机为所述第二以太报文封装第二VXLAN隧道头得到第二VXLAN报文,所述第二VXLAN隧道头包括所述第一交换机的VXLAN隧道端点VTEP的IP地址;
当所述EMC表和DPCLS表均不包括所述第一交换机的VTEP的IP地址对应的表项时,所述第一交换机根据所述第二VXLAN报文生成所述第一交换机的VTEP的IP地址和所述第一指令集的对应关系;
所述第一交换机根据所述第一交换机的VTEP的IP地址和所述第一指令集的对应关系生成所述第一转发表。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述第一交换机通过所述VXLAN隧道接收所述第二交换机发送的第三VXLAN报文,所述第三VXLAN报文包括第三VXLAN隧道头,所述第三VXLAN隧道头包括所述第二交换机的VTEP的IP地址;
所述第一交换机删除所述第三VXLAN报文的所述第三VXLAN隧道头,得到第三以太报文;
所述第一交换机根据所述EMC表或所述DPCLS表转发所述第三以太报文。
4.根据权利要求1或2所述的方法,其特征在于,
所述第一交换机为部署在服务器上的虚拟交换机;
所述第一指令集包括向所述服务器的目标端口发送所述第一VXLAN报文。
5.根据权利要求1或2所述的方法,其特征在于,所述根据第一转发表和所述第一VXLAN报文确定第一指令集之前,所述方法还包括:
确定所述第一转发表为有效状态。
6.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
若所述第一交换机的VTEP的IP地址改变,所述第一交换机根据改变后的VTEP的IP地址更新所述第一转发表、所述精确匹配缓存表和所述数据通道分类表。
7.一种数据传输的装置,其特征在于,所述装置应用于虚拟可扩展局域网VXLAN中,所述VXLAN包括VXLAN隧道,所述VXLAN隧道用于第一交换机和第二交换机之间的通信,所述装置为所述第一交换机,所述装置包括:
第一接收模块,用于接收第一以太报文;
封装模块,用于为所述第一以太报文封装第一VXLAN隧道头得到第一VXLAN报文,所述第一VXLAN隧道头包括所述第一交换机的VXLAN隧道端点VTEP的网际协议IP地址;
确定模块,用于根据第一转发表和所述第一VXLAN报文确定第一指令集,其中,所述第一转发表包括所述第一交换机的VTEP的IP地址和所述第一指令集的对应关系;所述第一交换机还包括精确匹配缓存EMC表和数据通道分类DPCLS表,所述第一转发表不同于所述EMC表和所述DPCLS表;
第一转发模块,用于根据所述第一指令集转发所述第一VXLAN报文以使得所述第一VXLAN报文通过所述VXLAN隧道发往所述第二交换机。
8.根据权利要求7所述的装置,其特征在于,
所述接收模块,还用于在接收所述第一以太报文之前接收第二以太报文;
所述封装模块,还用于为所述第二以太报文封装第二VXLAN隧道头得到第二VXLAN报文,所述第二VXLAN隧道头包括所述第一交换机的VXLAN隧道端点VTEP的IP地址;
所述数据传输装置还包括:
生成模块,用于当所述EMC表和DPCLS表均不包括所述第一交换机的VTEP的IP地址对应的表项时,根据所述第二VXLAN报文生成所述第一交换机的VTEP的IP地址和所述第一指令集的对应关系;并根据所述第一交换机的VTEP的IP地址和所述第一指令集的对应关系生成所述第一转发表。
9.根据权利要求7或8所述的装置,其特征在于,所述数据传输装置还包括:
第二接收模块,用于通过所述VXLAN隧道接收所述第二交换机发送的第三VXLAN报文,所述第三VXLAN报文包括第三VXLAN隧道头,所述第三VXLAN隧道头包括所述第二交换机的VTEP的IP地址;
删除模块,用于删除所述第三VXLAN报文的所述第三VXLAN隧道头,得到第三以太报文;
第二转发模块,用于根据所述EMC表或所述DPCLS表转发所述第三以太报文。
10.根据权利要求7或8所述的装置,其特征在于,
所述确定模块,还用于在确定所述第一指令集之前确定所述第一转发表为有效状态。
11.根据权利要求7或8所述的装置,其特征在于,所述数据传输装置还包括:
更新模块,用于当所述第一交换机的VTEP的IP地址改变时,根据改变后的VTEP的IP地址更新所述第一转发表、所述精确匹配缓存表和所述数据通道分类表。
12.一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至6中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810020503.3A CN110022263B (zh) | 2018-01-08 | 2018-01-08 | 一种数据传输的方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810020503.3A CN110022263B (zh) | 2018-01-08 | 2018-01-08 | 一种数据传输的方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110022263A CN110022263A (zh) | 2019-07-16 |
CN110022263B true CN110022263B (zh) | 2020-12-15 |
Family
ID=67187869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810020503.3A Active CN110022263B (zh) | 2018-01-08 | 2018-01-08 | 一种数据传输的方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110022263B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112887185B (zh) * | 2019-11-29 | 2024-03-15 | 华为云计算技术有限公司 | 一种叠加网络的通信方法及装置 |
CN113225376B (zh) * | 2021-03-29 | 2022-07-08 | 桂林电子科技大学 | 一种基于fpga的以太网帧与sdn数据帧的适配方法 |
CN115134315B (zh) * | 2022-09-01 | 2022-12-02 | 珠海星云智联科技有限公司 | 报文转发方法及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104954218A (zh) * | 2014-03-24 | 2015-09-30 | 杭州华三通信技术有限公司 | 分布式虚拟交换装置及转发方法 |
CN106209553A (zh) * | 2015-04-30 | 2016-12-07 | 华为技术有限公司 | 报文处理方法、设备及系统 |
US9621508B2 (en) * | 2013-08-20 | 2017-04-11 | Arista Networks, Inc. | System and method for sharing VXLAN table information with a network controller |
CN106911547A (zh) * | 2017-02-10 | 2017-06-30 | 新华三技术有限公司 | 一种报文转发方法及装置 |
-
2018
- 2018-01-08 CN CN201810020503.3A patent/CN110022263B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9621508B2 (en) * | 2013-08-20 | 2017-04-11 | Arista Networks, Inc. | System and method for sharing VXLAN table information with a network controller |
CN104954218A (zh) * | 2014-03-24 | 2015-09-30 | 杭州华三通信技术有限公司 | 分布式虚拟交换装置及转发方法 |
CN106209553A (zh) * | 2015-04-30 | 2016-12-07 | 华为技术有限公司 | 报文处理方法、设备及系统 |
CN106911547A (zh) * | 2017-02-10 | 2017-06-30 | 新华三技术有限公司 | 一种报文转发方法及装置 |
Non-Patent Citations (2)
Title |
---|
SDN Based VxLAN Optimization in Cloud Computing Networks;Zhifeng Zhao;Feng Hong;Rongpeng Li;《IEEE Access》;20171012;全文 * |
面向数据中心的VXLAN系统设计与实现;齐保社;《中国优秀硕士学位论文全文数据库(电子期刊)》;20170815;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110022263A (zh) | 2019-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11570285B2 (en) | Packet processing method, network node, and system | |
US10116559B2 (en) | Operations, administration and management (OAM) in overlay data center environments | |
US10237177B2 (en) | Transfer device and transfer system | |
US9935882B2 (en) | Configuration of network elements for automated policy-based routing | |
US9590820B1 (en) | Methods and apparatus for improving load balancing in overlay networks | |
US8750288B2 (en) | Physical path determination for virtual network packet flows | |
CN112671628B (zh) | 业务服务提供方法及系统 | |
CN108429680B (zh) | 一种基于虚拟私有云的路由配置方法、系统、介质及设备 | |
EP4113919A1 (en) | Method for forwarding message in srv6 service function chain, sff and sf device | |
CN107113241B (zh) | 路由确定方法、网络配置方法以及相关装置 | |
CN112671938B (zh) | 业务服务提供方法及系统、远端加速网关 | |
US11362954B2 (en) | Tunneling inter-domain stateless internet protocol multicast packets | |
EP3913870A1 (en) | Packet forwarding method and network device | |
CN110022263B (zh) | 一种数据传输的方法及相关装置 | |
US11706140B2 (en) | Packet forwarding method and network device | |
CN107135118B (zh) | 一种单播通信方法、网关以及vxlan接入设备 | |
CN112532563B (zh) | 报文的发送方法和装置 | |
EP3902211A1 (en) | Packet forwarding method and network device | |
CN114422415B (zh) | 在分段路由中的出口节点处理流 | |
WO2023088145A1 (zh) | 一种报文处理方法、装置及设备 | |
WO2023231438A1 (zh) | 报文发送的方法、网络设备及系统 | |
CN109167731B (zh) | 报文发送方法及装置 | |
CN117097818A (zh) | 一种报文处理的方法及相关设备 | |
CN117376233A (zh) | 数据处理方法、装置及系统 | |
CN117914820A (zh) | 算力路由方法、装置及系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220117 Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province Patentee after: Super fusion Digital Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |