一种VXLAN报文分片方法和装置制造方法及图纸

技术编号:18449100 阅读:632 留言:0更新日期:2018-07-14 12:04
本申请提供一种VXLAN报文分片方法和装置,该方法为:本端VTEP针对需要通过VXLAN隧道转发的报文,判断所述报文添加VXLAN封装后的报文长度是否超过VXLAN隧道的MTU;如果超过,则先对所述报文进行分片,再为分片得到的每个报文添加相同的VXLAN封装。通过上述方法,每个分片报文可以具有相同的VXLAN头,这样添加VXLAN封装后的各个分片报文从本端VTEP发出后,可以经过P设备到达对端VTEP,对端VTEP对各个分片报文进行VXLAN解封装后继续转发到目的VM,最终由目的VM对解封装后的各个分片报文进行重组得到原始的超大报文,如此便实现了超大报文在VXLAN组网中的正常转发。

【技术实现步骤摘要】
一种VXLAN报文分片方法和装置
本申请涉及通信
,尤其涉及一种VXLNA报文分片方法和装置。
技术介绍
所谓分片报文是指在物理层会限制通过的每个数据帧的最大长度。当IP(InternetProtocol,互联网协议)层收到一个IP报文需要发送时,首先要查询出接口的MTU(MaximumTransmissionUnit,最大传输单元)的值,并将MTU与数据报文的长度相比较,如果报文长度超过MTU,则需要对该IP报文进行分片。VXLAN(VirtualeXtensibleLAN,可扩展虚拟局域网络)报文走IP转发时也有可能会出现因报文超大而分片的情况。
技术实现思路
有鉴于此,本申请提供一种VXLAN报文分片方法和装置,用以解决超大报文在VXLAN组网中转发可能会被丢弃的问题。具体地,本申请是通过如下技术方案实现的:本申请第一方面,提供了一种VXLAN报文分片方法,应用于本端VTEP,所述方法包括:针对需要通过VXLAN隧道转发的报文,判断所述报文添加VXLAN封装后的报文长度是否超过VXLAN隧道的MTU;如果超过,则先对所述报文进行分片,再为分片得到的每个报文添加相同的VXLAN封装。本申请第二方面,提供了一种VXLAN报文分片装置,应用于本端VTEP,所述装置包括:判断单元,用于针对需要通过VXLAN隧道转发的报文,判断所述报文添加VXLAN封装后的报文长度是否超过VXLAN隧道的MTU;处理单元,用于如果所述报文添加VXLAN封装后的报文长度超过VXLAN隧道的MTU时,则先对所述报文进行分片,再为分片得到的每个报文添加相同的VXLAN封装。由以上技术方案可以看出,本申请通过调整VXLAN封装和报文分片的顺序,对超大报文先进行报文分片后进行VXLAN封装,使得每个分片报文可以具有相同的VXLAN头,这样添加VXLAN封装后的各个分片报文从本端VTEP发出后,可以经过P设备到达对端VTEP,对端VTEP对各个分片报文进行VXLAN解封装后继续转发到目的VM,最终由目的VM对解封装后的各个分片报文进行重组得到原始的超大报文,如此便实现了超大报文在VXLAN组网中的正常转发。附图说明图1是现有技术中VXLAN报文的分片和转发过程示意图;图2是本申请实施例提供的一种VXLAN报文分片方法的流程图;图3是本申请实施例提供的一种VXLAN隧道的MTU协商流程图;图4是本申请实施例提供的一种VXLAN隧道的MTU协商的详细流程图;图5是本申请实施例提供的VXLAN报文的分片和转发过程示意图;图6是本申请实施例提供的装置结构图;图7是本申请实施例提供的图6所示装置的硬件结构图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。以下,首先对本申请中的部分概念进行解释说明。MTU:由于以太网最大的数据帧是1518字节,刨去14字节的以太网帧头和4字节的帧尾CRC(CyclicRedundancyCheck,CRC)校验部分,那么剩下承载上层协议的地方也就是DATA域,最大只有1500字节。这个值我们把它称之为MTU。MSS(MaximumSegmentSize,最大分段大小):MSS就是TCP(TransmissionControlProtocol,传输控制协议)数据包每次能够传输的最大数据分段,为了达到最佳的传输效能,TCP协议在建立连接的时候通常要协商双方的MSS值。通讯双方会将双方提供的MSS值中的较小值确定为这次连接的MSS值。通常,TCP协议在实现的时候,往往会用MTU值来计算MSS值,只要用MTU值减去20字节的IP头和20字节的TCP头即可。例如,MTU为1500字节,则MSS为1460字节。下面结合说明书附图和各实施例对本申请技术方案进行说明。图1显示了一种VXLAN的组网情况,包括了以下类型的设备:VM(VirtualMachine,虚拟机),VTEP(VXLANTunnelEndPoint,VXLAN隧道端点)和P设备(核心设备)。以下以图1中VM1向VM2发送报文为例,说明VXLAN报文的分片和转发过程:1)VM1发送目标是VM2的报文;2)在VXLAN隧道起始点,VTEP1收到上述报文,根据报文的VLAN(VirtualLocalAreaNetwork,虚拟局域网)信息和AC(AttachmentCircuit,接入电路)口确定该报文的VXLAN隧道出接口;3)VTEP1为报文封装VXLAN头、UDP(UserDatagramProtocol,用户数据报协议)头和IP头;4)如果封装后的报文的大小超过出接口的MTU,则VTEP1需要对报文进行分片,得到的多个分片报文中只有一个报文有VXLAN头、UDP头和以太网(Ethernet)头,剩余报文皆没有;这里假设得到2个分片报文,报文格式可参见图1中所示,其中一个报文包括IP头、UDP头、VXLAN头、Ethernet头和Data1,另一个报文仅包括IP头和Data2,Data1加Data2等于分片前报文的原始Data;5)分片报文从VTEP1发出,经过P设备到达VTEP2;其中P设备不参与VXLAN处理,仅需要根据分片报文的目的IP地址对分片报文进行三层转发;6)在VXLAN隧道终结点,VTEP2针对其中有VXLAN头的分片报文进行VXLAN解封装后继续转发到VM2,针对剩余没有VXLAN头的分片报文在去掉报文外层的Ethernet头和IP头后,此时报文只剩下DATA域,比如图1中没有VXLAN头的分片报文最终只剩下Data2,VTEP2会丢弃此报文;7)分片报文被发送到最终目标VM2后,由于该分片报文不完整,VM2会丢弃该分片报文或者返回异常。由上述过程可以看到,超大报文在VXLAN组网中转发可能会被丢弃,这将导致部分业务不能正常运行,例如PING(PacketInternetGroper)外网地址能通但打不开网页,就可能是HTTP(HyperTextTransferProtocol,超文本传输协议)报文超大被丢弃导致的。针对上述问题,一种解决方案是:通过改小VM出接口的MTU来避免VXLAN报文因超大被分片。但此方案需要手工修改VM的出接口MTU,增加了使用VXLA本文档来自技高网...

【技术保护点】
1.一种可扩展虚拟局域网络VXLAN报文分片方法,其特征在于,应用于本端VTEP,所述方法包括:针对需要通过VXLAN隧道转发的报文,判断所述报文添加VXLAN封装后的报文长度是否超过VXLAN隧道的最大传输单元MTU;如果超过,则先对所述报文进行分片,再为分片得到的每个报文添加相同的VXLAN封装。

【技术特征摘要】
1.一种可扩展虚拟局域网络VXLAN报文分片方法,其特征在于,应用于本端VTEP,所述方法包括:针对需要通过VXLAN隧道转发的报文,判断所述报文添加VXLAN封装后的报文长度是否超过VXLAN隧道的最大传输单元MTU;如果超过,则先对所述报文进行分片,再为分片得到的每个报文添加相同的VXLAN封装。2.如权利要求1所述的方法,其特征在于,分片得到的每个报文的DATA域的长度,均不大于所述VXLAN隧道的MTU减去14字节的Ethernet头、8字节的VXLAN头、8字节的UDP头和20字节的IP头后的剩余字节数。3.如权利要求1所述的方法,其特征在于,所述VXLAN隧道的MTU通过以下步骤协商得到:当所述VXLAN隧道的状态从down变为up时,向所述VXLAN隧道的对端VTEP发送最大分段大小MSS协商报文,MSS协商报文中携带本端VTEP负责发送所述MSS协商报文的接口的MSS;接收对端VTEP针对所述MSS协商报文返回的MSS确认报文,所述MSS确认报文中携带一MSS,所述一MSS为本端VTEP负责发送所述MSS协商报文的接口的MSS、核心设备负责接收和发送所述MSS协商报文的接口的MSS、对端VTEP负责接收所述MSS协商报文的接口的MSS四者中的MSS最小值;根据所述MSS确认报文中携带的MSS计算所述VXLAN隧道的MTU。4.如权利要求3所述的方法,其特征在于,所述向所述VXLAN隧道的对端VTEP发送MSS协商报文,包括:向所述VXLAN隧道的对端VTEP发送MSS协商报文,以便核心设备将MSS协商报文中携带的MSS与核心设备负责接收和发送所述MSS协商报文的接口的MSS进行比较得到最小值,并将该最小值携带在所述MSS协商报文中转发给对端VTEP;对端VTEP将MSS协商报文中携带的MSS与对端VTEP负责接收所述MSS协商报文的接口的MSS进行比较得到较小值,并将该较小值携带在MSS确认报文中返回给本端VTEP;核心设备收到MSS确认报文后直接转发给本端VTEP。5.如权利要求3或4所述的方法,其特征在于,所述MSS协商报文为SYN报文,所述MSS确认报文为SYN/ACK报文。6.一种可扩展虚拟局域网络VXLAN报文分片...

【专利技术属性】
技术研发人员:张帝民
申请(专利权)人:新华三技术有限公司
类型:发明
国别省市:浙江,33

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

1