CN111917786A - 基于gre隧道的数据包分片方法、数据包重组方法 - Google Patents
基于gre隧道的数据包分片方法、数据包重组方法 Download PDFInfo
- Publication number
- CN111917786A CN111917786A CN202010784592.6A CN202010784592A CN111917786A CN 111917786 A CN111917786 A CN 111917786A CN 202010784592 A CN202010784592 A CN 202010784592A CN 111917786 A CN111917786 A CN 111917786A
- Authority
- CN
- China
- Prior art keywords
- data packet
- packet
- target
- target data
- length
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000013467 fragmentation Methods 0.000 title claims abstract description 38
- 238000006062 fragmentation reaction Methods 0.000 title claims abstract description 38
- 230000006798 recombination Effects 0.000 title description 3
- 238000005215 recombination Methods 0.000 title description 3
- 239000012634 fragment Substances 0.000 claims abstract description 144
- 230000005540 biological transmission Effects 0.000 claims abstract description 40
- 238000004891 communication Methods 0.000 claims abstract description 22
- 230000015654 memory Effects 0.000 claims description 19
- 238000000605 extraction Methods 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 3
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 230000008521 reorganization Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 6
- 238000005538 encapsulation Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/166—IP fragmentation; TCP segmentation
-
- 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
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
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
本发明公开了一种基于GRE隧道的数据包分片方法、数据包重组方法及装置,其中,该数据包分片方法包括:获取在目标隧道中传输的目标数据包;根据预设通信协议解析目标数据包,确定目标数据包的数据帧长度以及目的地地址;根据目的地地址,确定目标数据包的下一跳路由接收端口以及接收端口的最大传输单元长度;当目标数据包的数据帧长度大于接收端口的最大传输单元长度时,对目标数据包进行分片,生成多个数据包分片。通过实施本发明,解决了现有技术中存在的无法在企业专线上可靠传输大数据单元的用户信号的问题,在企业专线上传输数据帧时不受MTU容量限制,且保证传输数据帧的可靠性,为用户提供更好的专线服务,提高了用户的体验。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种基于GRE隧道的数据包分片方法、数据包重组方法及装置。
背景技术
在通信领域中,用户一般通过通信链路与其他用户进行通信,而在企业局域网下,用户之间进行通信时,一般借助专设的企业专线进行通信,实际上,企业专线其实就是运营商为企业用户提供的专属通道服务,用户的通信数据包可以通过企业专线进行传输,但是企业专线的承载量是有限制条件的,而用户的通信数据包一般较大,企业专线无法承载,强行传输时,企业专线的可靠性就会变低,导致用户之间通信的数据包丢失,影响用户体验。
发明内容
因此,本发明要解决的技术问题在于克服现有技术中的无法在企业专线上可靠传输数据包较大的用户信号的缺陷,从而提供一种基于GRE隧道的数据包分片方法、以及一种基于GRE隧道的数据包重组方法。
根据第一方面,本发明实施例提供了一种基于GRE隧道的数据包分片方法,包括:获取目标数据包;根据预设通信协议解析所述目标数据包,确定所述目标数据包的数据帧长度以及目的地地址;根据所述目的地地址,确定所述目标数据包下一跳路由的接收端口以及所述接收端口的最大传输单元长度;当所述目标数据包的数据帧长度大于所述接收端口的最大传输单元长度时,对所述目标数据包进行分片,生成多个数据包分片。
结合第一方面,在第一方面第一实施方式中,该方法还包括:在所述GRE隧道中传输多个数据包分片。
结合第一方面,在第一方面第二实施方式中,所述对所述目标数据包进行分片,生成多个数据包分片的步骤,具体包括:获取所述目标数据包的标识符长度;根据所述最大传输单元长度、所述标识符长度以及预设条件,分别确定多个片偏移值,所述预设条件为片偏移值为预设量的倍数;根据所述数据帧长度以及多个数据包分片的片偏移值,生成多个数据包分片。
结合第一方面,在第一方面第三实施方式中,所述根据所述数据帧长度以及多个数据包分片的片偏移值,生成多个数据包分片,具体包括:根据所述数据帧长度以及多个数据包分片的片偏移值,分别生成多个标识信息;根据所述标识信息以及所述目标数据包,生成多个数据包分片。
结合第一方面,在第一方面第四实施方式中,所述获取目标数据包的步骤,包括:获取原始数据包;根据PWE3方式对所述原始数据包进行封装处理,生成目标数据包;将预设标识符输入至所述目标数据包,生成具备标识符的目标数据包,所述预设标识符包括CW控制字段、PW标签、GRE头部、IP头部报文以及二层头部。
结合第一方面,在第一方面第五实施方式中,在获取目标数据包的步骤之后,该方法还包括:将所述目标数据包存储于预设缓存芯片中。
根据第二方面,本发明实施例提供了一种基于GRE隧道的数据包重组方法,包括:接收多个数据包分片,所述数据包分片是根据第一方面或第一方面任一实施方式所述的基于GRE隧道的数据包分片方法生成的;分别提取所述数据包分片的标识信息;根据所述数据包分片的标识符信息,生成重组数据包。
结合第二方面,在第二方面第一实施方式中,在生成目标数据包的步骤之后,该方法还包括:剔除所述重组数据包中的标识信息,生成目标数据包。
根据第三方面,本发明实施例提供了一种基于GRE隧道的数据包分片装置,包括:目标数据包获取模块,用于获取目标数据包;目标数据包解析模块,用于根据预设通信协议解析所述目标数据包,确定所述目标数据包的数据帧长度以及目的地地址;接收端口确定模块,用于根据所述目的地地址,确定所述目标数据包下一跳路由的接收端口以及所述接收端口的最大传输单元长度;数据包分片生成模块,用于当所述目标数据包的数据帧长度大于所述接收端口的最大传输单元长度时,对所述目标数据包进行分片,生成多个数据包分片。
根据第四方面,本发明实施例提供了一种基于GRE隧道的数据包重组装置,包括:数据包分片接收模块,用于接收多个数据包分片,所述数据包分片是根据第一方面或第一方面任一实施方式所述的基于GRE隧道的数据包分片方法生成的;提取模块,用于分别提取所述数据包分片的标识信息;目标数据包生成模块,用于根据所述数据包分片的标识符信息,生成重组数据包。
根据第五方面,本发明实施例提供了一种计算机设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如第一方面或第一方面任一实施方式所述的基于GRE隧道的数据包分片方法的步骤,或者执行如第二方面或第二方面第一实施方式所述的基于GRE隧道的数据包重组方法的步骤。
根据第六方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第一方面任一实施方式所述的基于GRE隧道的数据包分片方法的步骤,或者,实现如第二方面或第二方面第一实施方式所述的基于GRE隧道的数据包重组方法的步骤。
本发明技术方案,具有如下优点:
1.本发明实施例提供的一种基于GRE隧道的数据包分片方法及装置,其中,该基于GRE隧道的数据包分片方法包括:获取在目标隧道中传输的目标数据包;根据预设通信协议解析目标数据包,确定目标数据包的数据帧长度以及目的地地址;根据目的地地址,确定目标数据包下一跳路由的接收端口以及接收端口的最大传输单元长度;当目标数据包的数据帧长度大于接收端口的最大传输单元长度时,对目标数据包进行分片,生成多个数据包分片。通过实施本发明,解决了现有技术中存在的无法在企业专线上可靠传输数据包较大的用户信号的问题,在企业专线上传输数据帧时不受接收端口的MTU限制,且保证传输数据帧时的可靠性,避免数据丢帧,为用户提供更好的专线服务,提高了用户的体验。
2.本发明实施例提供的一种基于GRE隧道的数据包重组方法及装置,其中,该基于GRE隧道的数据包重组方法包括:接收多个数据包分片,数据包分片是根据上述任一实施例基于GRE隧道的数据包分片方法生成的;分别提取数据包分片的标识信息;根据数据包分片的标识符信息,生成重组数据包。通过实施本发明,解决了现有技术中存在的无法在企业专线上可靠传输数据包较大的用户信号的问题,在企业专线上传输数据帧时不受MTU限制,且保证传输数据帧时的可靠性,避免数据丢帧,为用户提供更好的专线服务,提高了用户的体验。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中基于GRE隧道的数据包分片方法的一个具体示例的流程图;
图2为本发明实施例中目标数据包的结构示意图;
图3为本发明实施例中各数据包分片的结构示意图;
图4为本发明实施例中GRE头部的结构示意图;
图5为本发明实施例中基于GRE隧道的数据包重组方法的一个具体示例的流程图;
图6为本发明实施例中基于GRE隧道的数据包分片装置的一个具体示例的原理框图;
图7为本发明实施例中基于GRE隧道的数据包重组装置的一个具体示例的原理框图;
图8为本发明实施例中计算机设备的一个具体示例图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
在通信领域中,用户信号的封装方式有多种,其中边缘到边缘的伪线仿真(Pseudo-Wire Emulation Edge to Edge,PWE3)方式是应用最为广泛的。PWE3是指在分组交换网络(Packet Switched Network,PSN)中尽可能真实地模仿异步传输模式(Asynchronous Transfer Mode,ATM)、帧中继、以太网、低速时分复用(Time DivisionMultiplexing,TDM)电路和同步光纤网络(Synchronous Optical Network,SONET)/同步数字体系(Synchronous Digital Hierarchy,SDH)等业务的基本行为和特征的一种二层业务承载技术。通过PWE3方式对用户信号进行封装,生成封装模型,此时,需要PSN隧道来承载封装后的PWE3信号,GRE隧道即为PSN隧道中的一种。
为了解决现有技术中存在的无法在企业专线上可靠传输数据量较大的用户信号的问题,本发明实施例提供了一种基于GRE隧道的数据包分片方法及装置、一种基于GRE隧道的数据包重组方法及装置。
如图1所示,本发明实施例提供了一种基于GRE隧道的数据包分片方法,包括:
步骤S11:获取目标数据包;在本实施例中,目标数据包可以是需要在GRE隧道中传输的用户信号,也就是需要经过企业专线在用户之间传输的数据包。获取目标数据包,在实际应用场景中,可以是路由器接收到外部设备发送的数据包。
步骤S12:根据预设通信协议解析目标数据包,确定目标数据包的数据帧长度以及目的地地址;在本实施例中,预设通信协议可以是ICMP协议,即为Internet控制报文协议;为TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。本发明对预设通信协议的种类不作限制,本领域技术人员可以根据实际需求选择合适的通信协议解析数据包。数据帧长度可以是目标数据包的总长度包括标识符信息长度以及IP数据帧长度,即为目标数据包的大小;目的地地址可以是目的地端口地址。具体地,当本地路由器接收到外部设备,可以是其他IP主机或者是其他路由器发送的数据包时,可以根据ICMP协议解析该数据包,进而确定该目标数据包的数据帧长度,以及数据包的目的地地址。
步骤S13:根据目的地地址,确定目标数据包的下一跳路由接收端口以及接收端口的最大传输单元长度;在本实施例中,目标数据包的下一跳路由接收端口可以是目的路由器中的接收端口,在政企专线业务实际应用场景中,可以是GRE隧道中的路由器端口,例如,网络侧网络节点接口(Network to Network Interface,NNI)。接收端口的最大传输单元长度(Maximum Transmission Unit,MTU)用以表征在GRE隧道可以传输数据的最大尺寸,也就是隧道能够接受的有效载荷的最大值。具体地,根据目标数据包的目的地地址,确定相应的接收路由器的端口及端口MTU值,并判断目标数据包的数据帧长度与MTU值的大小关系,也就是判断在GRE隧道中能否可靠传输目标数据包。
步骤S14:当目标数据包的数据帧长度大于接收端口的最大传输单元长度时,对目标数据包进行分片,生成多个数据包分片。在本实施例中,当判断目标数据包的数据帧长度大于接收端口的MTU值时,也就是判断在GRE隧道中无法可靠地传输目标数据包时,此时,需对目标数据包进行分片处理,将目标数据包切分为多个数据包分片。具体地,可以是根据MTU值确定数据包分片数量。当判断目标数据包的数据帧长度小于或者等于接收端口的MTU值时,将接收到的目标数据包转发至接收端口。
本发明实施例提供的一种基于GRE隧道的数据包分片方法,包括:获取在目标隧道中传输的目标数据包;根据预设通信协议解析目标数据包,确定目标数据包的数据帧长度以及目的地地址;根据目的地地址,确定目标数据包下一跳路由的接收端口以及接收端口的最大传输单元长度;当目标数据包的数据帧长度大于接收端口的最大传输单元长度时,对目标数据包进行分片,生成多个数据包分片。在目标隧道中传输的数据包存在容量限制,当在目标隧道中传输较大容量的数据包时,容易因为容量不足造成部分数据包丢失。结合本发明实施例提供的根据接收端口的最大传输单元长度将目标数据包切片生成多个数据包分片,解决了现有技术中存在的无法在企业专线上可靠传输数据包较大的用户信号的问题,此时传输数据时由于可进行切片,因此不受MTU限制,且能保证传输数据帧的可靠性,避免数据丢帧,为用户提供更好的专线服务,提高了用户的体验。
作为本发明一个可选的实施例,该基于GRE隧道的数据包分片方法,还包括:在GRE隧道中传输多个数据包分片。在本实施例中,根据上述实施例所述方法生成的多个数据包分片,此时满足接收端口的MTU值限制,可以将生成的多个数据包分片在GRE隧道传输至NNI网络侧,继而发送至IP承载网中的上游路由器,可以保证用户数据在GRE隧道中的可靠传输。
作为本发明一个可选的实施例,上述步骤S14,对目标数据包进行分片,生成多个数据包分片的过程,具体包括:
首先,获取目标数据包的标识符长度;在本实施例中,标识符长度可以是源报文的IP报文位置,也就是目标数据包除IP数据之外的报文信息,也就是目标数据包的标识信息。
其次,根据最大传输单元长度、标识符长度以及预设条件,分别确定多个片偏移值,预设条件为片偏移值为预设量的倍数;在本实施例中,片偏移值表示应从源报文IP数据部分第一位后多少位开始切片。具体地,根据目标数据包的数据帧长度、端口的MTU值、标识符长度以及分片时对片偏移值的要求,确定在源报文IP数据的哪些位置点进行切片。
例如,目标数据包的结构示意图如图2所示,目标数据包的数据帧长度为5140B,DF=0表示所述目标数据包可以被分片,MF=0表示所述目标数据包后不存在其他数据包。又根据预设的标识符信息的长度为20B,因此可以计算得出目标数据包的IP数据长度为5120B。
根据所述目标数据包的目的地地址,确定路由器的接收端口MTU值为1500,因此,此时需要对目标数据包进行分片,又由于所述目标数据需在GRE隧道中传输,因此,片偏移值需要是8的倍数,即预设条件为片偏移值为8的倍数。
通过上述条件,可以计算多个片偏移值,由于预设标识符长度为20B,因此,符合端口MTU值要求的最大IP数据长度为1500-20=1480B,又因为片偏移值需要为8的倍数,计算得到第一片偏移值为1480/8=185,也就是说,第一数据包分片的是从源报文IP数据部分第一位起,至第185位。相应的,第二片偏移值为370,第三片偏移值为555,具体计算方法在此不再赘述。
再次,根据数据帧长度以及多个数据包分片的片偏移值,生成多个数据包分片。在本实施例中,具体的多个数据包分片的结构如图3所示,根据计算得到的多个片偏移值,对目标数据包进行分片,生成第一数据包分片、第二数据包分片、第三数据包分片以及第四数据包分片。另外,在生成的多个数据包分片上需添加原始数据包的IP头部内容,包括原始数据包的源地址、目的地地址以及原始数据包的ID号;相应地修改各个标志位的信息,以及添加二层头部,在政企业务专线的具体应用场景中,二层头部长度为18字节。
作为本发明一个可选的实施例,上述步骤S14中,根据数据帧长度以及多个数据包分片的片偏移值,生成多个数据包分片的过程,具体包括:
首先,根据数据帧长度以及多个数据包分片的片偏移值,分别生成多个标识信息;在本实施例中,数据帧长度可以是目标数据包的总帧长,数据包分片的片偏移值可以是确定多个数据包分片的切片点,标识信息可以包括IP头部信息、GRE头部信息、DF标志位、MF标志位、Fragment offset标志位以及Identification字段。
示例性地,由于DF标志位用以表征所述数据包是否能够被分片,当DF=0时,说明数据包可以被分片;当DF=1时,说明数据包不可被分片;MF标志位用以表征此数据包分片是否为最后一片,当MF=0时,说明数据包为最后一个分片;当MF=1时,说明数据包后还存在其他数据包分片,此数据包分片不为最后一个分片;Fragment offset标志位用以表征该数据包分片是从源报文的IP数据部分第一位开始偏移多少位后得到的片段;Identification字段即为ID号,具体地,可以是表示数据包分片是否属于同一组源包;不同ID的分片包,无法重组成同一业务包。
例如,在切分得到第一数据包分片时,也就是得到第一分片数据帧时,将预设的IP头部信息、GRE头部信息添加至所述第一数据包分片的头部,此时,应将DF标志位置零,MF标志位置一,将Fragment offset标志位置零,表示此数据包分片可以被切分,此数据包分片后还存在其他数据包分片,以及所述第一数据包分片是从源报文的IP数据部分第一位开始,偏移零位得到的,也就是从源报文的IP数据部分第一位开始切分的。
再例如,在切分得到第二数据包分片时,也就是得到第二分片数据帧时,将预设的IP头部信息、GRE头部信息添加至所述第二数据包分片的头部,此时,应将DF标志位置零,MF标志位置一,将Fragment offset标志位置185,表示此数据包分片可以被切分,此数据包分片后还存在其他数据包分片,以及所述第一数据包分片是从源报文的IP数据部分第一位开始,偏移185位得到的,也就是从源报文的IP数据部分第一位后第185位开始切分的。
其次,根据标识信息以及目标数据包,生成多个数据包分片。在本实施例中,根据多个标识信息以及目标数据包,对该数据包进行切分,生成多个数据包分片。
作为本发明一个可选的实施例,步骤S11,获取目标数据包的过程,具体包括:
获取原始数据包;根据PWE3方式对原始数据包进行封装处理,生成目标数据包;将预设标识符输入至目标数据包,生成具备标识符的目标数据包,预设标识符包括CW控制字段、PW标签、GRE头部、IP头部报文及二层头部。在本实施例中,GRE头部结构可以是如图4所示,GRE头部结构遵从RFC2784协议,默认前16个比特置0,后面2各个字节代表GRE隧道的封装类型,在政企专线具体应用场景中,默认GRE隧道的封装类型为0X8847,也就是MPLS封装类型。
作为本发明一个可选的实施例,该基于GRE隧道的数据包分片方法,在获取目标数据包的步骤之后,还包括:将目标数据包存储于预设缓存芯片中。在本实施例中,预设缓存芯片可以是DDR缓存芯片,用于在路由器接收到目标数据包时就进行存储,保证用户之间传输数据的可靠性。
本发明实施例提供了一种基于GRE隧道的数据包重组方法,如图5所示,包括:
步骤S21:接收多个数据包分片,数据包分片是根据上述任一实施例所述的基于GRE隧道的数据包分片方法生成的;在本实施例中,接收在GRE隧道中传输的多个数据包分片,可以是根据上述任一实施例所述的方法切片而成的。在接收到多个数据包分片时,可以直接将多个数据包分片传输至DDR缓存芯片中,进行备份储存。
步骤S22:分别提取数据包分片的标识信息;在本实施例中,根据接收到多个数据包分片,根据预设的通信协议解析所述多个数据包分片,提取各数据包分片的标识信息,包括目的地地址信息以及ID号信息。
步骤S23:根据数据包分片的标识符信息,生成重组数据包,在本实施例中,根据提取出的各数据包分片的标识信息,筛选出目的地地址相同且IP号信息也相同的数据包分片,根据各标志位信息,例如,DF标志位信息、MF标志位信息、Fragment offset标志位信息,将多个目的地地址相同且IP号信息也相同的数据包分片进行排序,进行重组生成重组数据包。
本发明实施例提供的一种基于GRE隧道的数据包重组方法,包括:接收多个数据包分片,数据包分片是根据上述任一实施例基于GRE隧道的数据包分片方法生成的;分别提取数据包分片的标识信息;根据数据包分片的标识符信息,生成重组数据包。通过实施本发明,解决了现有技术中存在的无法在企业专线上可靠传输数据包较大的用户信号的问题,在企业专线上传输数据帧时不受MTU限制,且保证传输数据帧时的可靠性,避免数据丢帧,为用户提供更好的专线服务,提高了用户的体验。
作为本发明一个可选的实施例,该基于GRE隧道的数据包重组方法,在步骤23之后,还包括:剔除重组数据包中的标识信息,生成目标数据包在本实施例中,在重组数据包中剔除掉新增的IP头部、GRE头部,继而进行PWE3解封装处理,还原生成原始数据包,发送至交换芯片即为转发至相应的用户侧UNI接口。
本发明实施例提供一种基于GRE隧道的数据包分片装置,如图6所示,包括:
目标数据包获取模块31,用于获取目标数据包;详细实施内容可参见上述方法实施例中步骤S11的相关描述。
目标数据包解析模块32,用于根据预设通信协议解析目标数据包,确定目标数据包的数据帧长度以及目的地地址;详细实施内容可参见上述方法实施例中步骤S12的相关描述。
接收端口确定模块33,用于根据目的地地址,确定目标数据包的接收端口以及接收端口的最大传输单元长度;详细实施内容可参见上述方法实施例中步骤S13的相关描述。
数据包分片生成模块34,用于当目标数据包的数据帧长度大于接收端口的最大传输单元长度时,对目标数据包进行分片,生成多个数据包分片,详细实施内容可参见上述方法实施例中步骤S14的相关描述。
本发明实施例提供的一种基于GRE隧道的数据包分片装置,该装置包括:通过目标数据包获取模块31,获取在目标隧道中传输的目标数据包;通过目标数据包解析模块32,根据预设通信协议解析目标数据包,确定目标数据包的数据帧长度以及目的地地址;通过接收端口确定模块33,根据目的地地址,确定目标数据包的接收端口以及接收端口的最大传输单元长度;通过数据包分片生成模块34,当目标数据包的数据帧长度大于接收端口的最大传输单元长度时,对目标数据包进行分片,生成多个数据包分片。在目标隧道中传输的数据包存在容量限制,当在目标隧道中传输较大容量的数据包时,容易因为容量不足造成部分数据包丢失。结合本发明实施例提供的根据接收端口的最大传输单元长度将目标数据包切片生成多个数据包分片,解决了现有技术中存在的无法在企业专线上可靠传输数据量较大的用户信号的问题,此时传输数据时由于可进行切片,因此不受容量限制,且能保证传输数据帧的可靠性,避免数据丢帧,为用户提供更好的专线服务,提高了用户的体验。
本发明实施例提供一种基于GRE隧道的数据包重组装置,如图7所示,包括:
数据包分片接收模块41,用于接收多个数据包分片,数据包分片是根据上述任一实施例所述的基于GRE隧道的数据包分片方法生成的;详细实施内容可参见上述方法实施例中步骤S21的相关描述。
提取模块42,用于分别提取数据包分片的标识信息;详细实施内容可参见上述方法实施例中步骤S22的相关描述。
目标数据包生成模块43,用于根据数据包分片的标识符信息,生成重组数据包,详细实施内容可参见上述方法实施例中步骤S23的相关描述。
本发明实施例提供的一种基于GRE隧道的数据包重组装置,该装置包括:通过数据包分片接收模块41,接收多个数据包分片,数据包分片是根据上述任一实施例基于GRE隧道的数据包分片方法生成的;通过提取模块42,分别提取数据包分片的标识信息;通过目标数据包生成模块43,根据数据包分片的标识符信息,生成重组数据包。通过实施本发明,解决了现有技术中存在的无法在企业专线上可靠传输数据量较大的用户信号的问题,在企业专线上传输数据帧时不受容量限制,且保证传输数据帧时的可靠性,避免数据丢帧,为用户提供更好的专线服务,提高了用户的体验。
本发明实施例还提供了一种计算机设备,如图8所示,该计算机设备可以包括处理器51和存储器52,其中处理器51和存储器52可以通过总线或者其他方式连接,图8中以通过总线连接为例。
处理器51可以为中央处理器(Central Processing Unit,CPU)。处理器51还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器52作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的基于GRE隧道的数据包分片方法、以及一种基于GRE隧道的数据包重组方法对应的程序指令/模块(例如,图6所示的目标数据包获取模块31、目标数据包解析模块32、接收端口确定模块33、数据包分片生成模块34以及图7所示的数据包分片接收模块41、提取模块42、目标数据包生成模块43)。处理器51通过运行存储在存储器52中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的基于GRE隧道的数据包分片方法以及基于GRE隧道的数据包重组方法。
存储器52可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器51所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器52可选包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至处理器51。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器52中,当被所述处理器51执行时,执行如图1所示实施例中的基于GRE隧道的数据包分片方法以及如图5所示实施例中的基于GRE隧道的数据包重组方法。
上述计算机设备具体细节可以对应参阅图1以及图5所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
可选地,本发明实施例还提供了一种非暂态计算机可读介质,非暂态计算机可读存储介质存储计算机指令,计算机指令用于使计算机执行如上述实施例中任意一项描述的基于GRE隧道的数据包分片方法以及基于GRE隧道的数据包重组方法,其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random AccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (12)
1.一种基于GRE隧道的数据包分片方法,其特征在于,包括:
获取目标数据包;
根据预设通信协议解析所述目标数据包,确定所述目标数据包的数据帧长度以及目的地地址;
根据所述目的地地址,确定所述目标数据包下一跳路由的接收端口以及所述接收端口的最大传输单元长度;
当所述目标数据包的数据帧长度大于所述接收端口的最大传输单元长度时,对所述目标数据包进行分片,生成多个数据包分片。
2.根据权利要求1所述的基于GRE隧道的数据包分片方法,其特征在于,还包括:
在所述GRE隧道中传输多个数据包分片。
3.根据权利要求1所述的基于GRE隧道的数据包分片方法,其特征在于,所述对所述目标数据包进行分片,生成多个数据包分片的步骤,具体包括:
获取所述目标数据包的标识符长度;
根据所述最大传输单元长度、所述标识符长度以及预设条件,分别确定多个片偏移值,所述预设条件为片偏移值为预设量的倍数;
根据所述数据帧长度以及多个数据包分片的片偏移值,生成多个数据包分片。
4.根据权利要求1所述的基于GRE隧道的数据包分片方法,其特征在于,所述根据所述数据帧长度以及多个数据包分片的片偏移值,生成多个数据包分片,具体包括:
根据所述数据帧长度以及多个数据包分片的片偏移值,分别生成多个标识信息;
根据所述标识信息以及所述目标数据包,生成多个数据包分片。
5.根据权利要求1所述的基于GRE隧道的数据包分片方法,其特征在于,所述获取目标数据包的步骤,包括:
获取原始数据包;
根据PWE3方式对所述原始数据包进行封装处理,生成目标数据包;
将预设标识符输入至所述目标数据包,生成具备标识符的目标数据包,所述预设标识符包括CW控制字段、PW标签、GRE头部、IP头部报文以及二层头部。
6.根据权利要求1所述的基于GRE隧道的数据包分片方法,其特征在于,在获取目标数据包的步骤之后,还包括:将所述目标数据包存储于预设缓存芯片中。
7.一种基于GRE隧道的数据包重组方法,其特征在于,包括:
接收多个数据包分片,所述数据包分片是根据权利要求1-6中任一项所述的基于GRE隧道的数据包分片方法生成的;
分别提取所述数据包分片的标识信息;
根据所述数据包分片的标识符信息,生成重组数据包。
8.根据权利要求7所述的基于GRE隧道的数据包重组方法,其特征在于,在生成目标数据包的步骤之后,还包括:剔除所述重组数据包中的标识信息,生成目标数据包。
9.一种基于GRE隧道的数据包分片装置,其特征在于,包括:
目标数据包获取模块,用于获取目标数据包;
目标数据包解析模块,用于根据预设通信协议解析所述目标数据包,确定所述目标数据包的数据帧长度以及目的地地址;
接收端口确定模块,用于根据所述目的地地址,确定所述目标数据包下一跳路由的接收端口以及所述接收端口的最大传输单元长度;
数据包分片生成模块,用于当所述目标数据包的数据帧长度大于所述接收端口的最大传输单元长度时,对所述目标数据包进行分片,生成多个数据包分片。
10.一种基于GRE隧道的数据包重组装置,其特征在于,包括:
数据包分片接收模块,用于接收多个数据包分片,所述数据包分片是根据权利要求1-6中任一项所述的基于GRE隧道的数据包分片方法生成的;
提取模块,用于分别提取所述数据包分片的标识信息;
目标数据包生成模块,用于根据所述数据包分片的标识符信息,生成重组数据包。
11.一种计算机设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如权利要求1-6中任一项所述的基于GRE隧道的数据包分片方法的步骤,或者执行如权利要求7或8所述的基于GRE隧道的数据包重组方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的基于GRE隧道的数据包分片方法的步骤,或者,实现如权利要求7或8所述的基于GRE隧道的数据包重组方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010784592.6A CN111917786A (zh) | 2020-08-06 | 2020-08-06 | 基于gre隧道的数据包分片方法、数据包重组方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010784592.6A CN111917786A (zh) | 2020-08-06 | 2020-08-06 | 基于gre隧道的数据包分片方法、数据包重组方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111917786A true CN111917786A (zh) | 2020-11-10 |
Family
ID=73287957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010784592.6A Pending CN111917786A (zh) | 2020-08-06 | 2020-08-06 | 基于gre隧道的数据包分片方法、数据包重组方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111917786A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114390096A (zh) * | 2021-12-29 | 2022-04-22 | 中国电信股份有限公司 | 一种基于NB-IoT的数据传输方法、设备及装置 |
CN116846517A (zh) * | 2023-08-31 | 2023-10-03 | 之江实验室 | 一种网络数据的传输方法、装置、存储介质及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1561049A (zh) * | 2004-03-10 | 2005-01-05 | 中兴通讯股份有限公司 | 一种隧道包的分片发送方法 |
CN101827031A (zh) * | 2010-04-22 | 2010-09-08 | 中兴通讯股份有限公司 | 一种用户数据包协议udp隧道中传输报文的方法及装置 |
CN106411783A (zh) * | 2016-09-30 | 2017-02-15 | 杭州华三通信技术有限公司 | 一种报文发送方法及装置 |
CN107395504A (zh) * | 2017-07-28 | 2017-11-24 | 江西山水光电科技股份有限公司 | 一种超长帧业务报文转发的方法及装置 |
-
2020
- 2020-08-06 CN CN202010784592.6A patent/CN111917786A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1561049A (zh) * | 2004-03-10 | 2005-01-05 | 中兴通讯股份有限公司 | 一种隧道包的分片发送方法 |
CN101827031A (zh) * | 2010-04-22 | 2010-09-08 | 中兴通讯股份有限公司 | 一种用户数据包协议udp隧道中传输报文的方法及装置 |
CN106411783A (zh) * | 2016-09-30 | 2017-02-15 | 杭州华三通信技术有限公司 | 一种报文发送方法及装置 |
CN107395504A (zh) * | 2017-07-28 | 2017-11-24 | 江西山水光电科技股份有限公司 | 一种超长帧业务报文转发的方法及装置 |
Non-Patent Citations (1)
Title |
---|
谢希仁: "《计算机网络(第5版)》", 31 January 2008 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114390096A (zh) * | 2021-12-29 | 2022-04-22 | 中国电信股份有限公司 | 一种基于NB-IoT的数据传输方法、设备及装置 |
CN116846517A (zh) * | 2023-08-31 | 2023-10-03 | 之江实验室 | 一种网络数据的传输方法、装置、存储介质及电子设备 |
CN116846517B (zh) * | 2023-08-31 | 2024-01-02 | 之江实验室 | 一种网络数据的传输方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9906457B2 (en) | Operations, administration and management fields for packet transport | |
US9178831B2 (en) | Methods and apparatus for RBridge hop-by-hop compression and frame aggregation | |
KR102342286B1 (ko) | Dcn 메시지 처리 방법, 네트워크 디바이스, 및 네트워크 시스템 | |
EP1968249A1 (en) | A method for bearing the frame relay in ethernet | |
US8599692B2 (en) | System, apparatus and method for removing unwanted information from captured data packets | |
CN107370654B (zh) | 一种伪线数据报文的封装、解封装方法和相关装置 | |
US20220255857A1 (en) | Packet Processing Method, Network Node, and System | |
US9065764B2 (en) | Method, apparatus and system for maintaining quality of service QoS | |
CN111917786A (zh) | 基于gre隧道的数据包分片方法、数据包重组方法 | |
EP4057576A1 (en) | Packet encapsulating method and apparatus, and packet decapsulating method and apparatus | |
CN112333094A (zh) | 数据传输处理方法、装置、网络设备及可读存储介质 | |
US10880122B2 (en) | Forwarding packet | |
EP4274123A1 (en) | Packet encapsulation and de-encapsulation method and device, storage medium, and electronic device | |
US8149731B2 (en) | Technique for transferring data over a packet switched network | |
EP2996303A1 (en) | Input parameter generation method and device | |
EP2600569B1 (en) | Method, apparatus and system for processing a tunnel packet | |
CN114363955A (zh) | 报文转发方法、报文发送方法、设备和计算机可读介质 | |
CN111277426B (zh) | 一种ioam信息的处理方法和装置 | |
US20100329245A1 (en) | Transparent Mapping of Cell Streams to Packet Services | |
CN113691421B (zh) | 一种报文生成方法和装置 | |
EP4160997A1 (en) | Bier oam detection method, and device and system | |
CN114629843A (zh) | 一种报文处理方法及装置 | |
CN114143142B (zh) | 一种报文传输方法及装置 | |
WO2023024755A1 (zh) | Mpls报文的封装方法及装置、存储介质及电子装置 | |
CN111182016B (zh) | 一种PPPoE拨号报文传输方法及装置 |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20201126 Address after: 303, 3 / F, building 2, yard 15, Guanghua Road, Chaoyang District, Beijing 100026 Applicant after: Beijing yiruilian Technology Co.,Ltd. Address before: 100026 Tongniu international building, Guanghua Road, Chaoyang District, Beijing 302 Applicant before: Feng Tianwang |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201110 |