一种报文传输方法、通信设备及介质与流程

文档序号:25991775发布日期:2021-07-23 21:03阅读:97来源:国知局
一种报文传输方法、通信设备及介质与流程

本发明涉及无线通信技术领域,特别涉及一种报文传输方法、通信设备及介质。



背景技术:

图1为通过gtp隧道传输报文的网络结构示意图,如图所示,基站和upf(用户面功能,userplanefunction)之间或upf和upf之间的传输网络mtu(最大传递单元,maximumtransferunit)值大小各异,大的报文经gtp(gprs隧道协议,gprstunnelingprotocol;gprs:通用无线分组业务,generalpacketradioservice)隧道传输时在mtu值小的传输节点会进行分片。

目前upf通信采用如下几种方法解决mtu值问题:

upf不采取任何措施,当传送的报文超过链路传输节点的mtu值时在该节点进行分片,在gtp隧道的接收端upf进行报文重组;

在gtp隧道的发端基站或upf上设置一个小的保守的mtu值(比如1280字节),确保传输时不会操过任何节点的mtu值,防止分片和重组行为产生。

现有技术的不足在于:传输效率低下。



技术实现要素:

本发明提供了一种报文传输方法、通信设备及介质,用以解决upf通信中存在的传输效率低下的问题。

本发明实施例中提供了一种报文传输方法,包括:

获取报文传输途径中本节点与下一跳节点之间各通信设备的mtu值中最小的mtu值,其中,所述报文是通过gtp隧道进行传输的报文;

将在本节点上接收到的报文按所述最小的mtu值组包;

将组包后的报文传输至下一跳节点。

实施中,获取报文传输途径中下一跳节点的,是从报文传输途径中的上一跳节点获取所述最小的mtu值。

实施中,从报文传输途径中的上一跳节点获取所述最小的mtu值,是从上一跳节点扩展gtu-u报文头中携带的mtu值中获取所述最小的mtu值的。

实施中,还包括:

向下一跳节点发送gtu-u报文,其中,所述gtu-u报文的扩展gtu-u报文头中携带有从上一跳节点获取的mtu值。

实施中,向下一跳节点发送的gtu-u报文的扩展gtu-u报文头中携带的mtu值,是下一跳节点的下一跳节点至目的节点的途径上的各节点的mtu值。

实施中,还包括:

报文传输途径上的源节点获取报文传输途径中所有节点的mtu值。

本发明实施例中提供了一种通信设备,包括:

处理器,用于读取存储器中的程序,执行下列过程:

获取报文传输途径中本节点与下一跳节点之间各通信设备的mtu值中最小的mtu值,其中,所述报文是通过gtp隧道进行传输的报文;

将在本节点上接收到的报文按所述最小的mtu值组包;

将组包后的报文传输至下一跳节点;

收发机,用于在处理器的控制下接收和发送数据。

实施中,获取报文传输途径中本节点与下一跳节点之间各通信设备的mtu值中最小的mtu值,是从报文传输途径中的上一跳节点获取的。

实施中,从报文传输途径中的上一跳节点获取所述最小的mtu值,是从上一跳节点扩展gtu-u报文头中携带的mtu值中获取所述最小的mtu值的。

实施中,还包括:

向下一跳节点发送gtu-u报文,其中,所述gtu-u报文的扩展gtu-u报文头中携带有从上一跳节点获取的mtu值。

实施中,向下一跳节点发送的gtu-u报文的扩展gtu-u报文头中携带的mtu值,是下一跳节点的下一跳节点至目的节点的途径上的各节点的mtu值。

实施中,mtu值是报文传输途径中的源节点获取的。

本发明实施例中提供了一种通信设备,包括:

获取模块,用于获取报文传输途径中本节点与下一跳节点之间各通信设备的mtu值中最小的mtu值,其中,所述报文是通过gtp隧道进行传输的报文;

组包模块,用于将在本节点上接收到的报文按所述最小的mtu值组包;

传输模块,用于将组包后的报文传输至下一跳节点。

实施中,获取模块还用于从报文传输途径中的上一跳节点获取报文传输途径中本节点与下一跳节点之间各通信设备的mtu值中最小的mtu值。

实施中,获取模块还用于从报文传输途径中的上一跳节点获取所述最小的mtu值,是从上一跳节点扩展gtu-u报文头中携带的mtu值中获取所述最小的mtu值的。

实施中,还包括:

发送模块,用于向下一跳节点发送gtu-u报文,其中,所述gtu-u报文的扩展gtu-u报文头中携带有从上一跳节点获取的mtu值。

实施中,发送模块还用于向下一跳节点发送的gtu-u报文的扩展gtu-u报文头中携带的mtu值,是下一跳节点的下一跳节点至目的节点的途径上的各节点的mtu值。

实施中,源节点上的获取模块还用于获取报文传输途径中所有节点的mtu值。

本发明实施例中提供了一种通信设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述报文传输方法。

本发明实施例中提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述报文传输方法的计算机程序。

本发明有益效果如下:

在本发明实施例提供的技术方案中,由于报文在通过gtp隧道进行传输时,涉及到的每一个节点,不管是基站还是upf都能获知报文传输途径中本节点与下一跳节点之间各通信设备的mtu值中最小的mtu值,因此能够有针对性的进行组包,能够避免基站和upf之间或upf和upf之间通信时因为传输链路上节点mtu值问题而出现的频繁分片和重组,从而提高了通信效率;

由于是针对本节点与下一跳节点之间各通信设备的mtu值中最小的mtu值进行组包,因此能够避免upf或基站通过gtp隧道传输报文时mtu设置的太小引入额外的报文头的问题,从而提高了通信效率;

进一步的,由于各节点是通过扩展gtu-u报文头来携带的mtu值,告知下一跳节点的,而通过扩展标准gtp报文的扩展头类型来实现的难度小,因此使得本方案容易实施。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为背景技术中通过gtp隧道传输报文的网络结构示意图;

图2为本发明实施例中报文传输方法实施流程示意图;

图3为本发明实施例中各节点协同下的报文传输方法实施流程示意图;

图4为本发明实施例中gtp-u报文头的报文格式结构示意图;

图5为本发明实施例中gtp-u扩展头的报文格式结构示意图;

图6为本发明实施例中通信设备结构示意图。

具体实施方式

发明人在发明过程中注意到:

upf不采取任何措施,当传送的报文超过链路传输节点的mtu值时在该节点进行分片,在gtp隧道的接收端upf进行报文重组;

在gtp隧道的发端基站或upf上设置一个小的保守的mtu值(比如1280字节),确保传输时不会操过任何节点的mtu值,防止分片和重组行为产生。

当采用上述方案时,至少会存在以下问题之一:

通过传输节点ip(因特网(互联网)协议,internetprotocol)层的分片重组方式传输时效率很低,因为分片后引入了额外的包头,且某一个分片丢包整个原始大报文就会丢弃;

通过传输节点ip层的分片重组方式传输对传输网络节点的性能要求很高,因为需要mtu值小的节点进行分片重组之类的计算;

通过gtp隧道发端的基站或upf设置一个小的保守mtu值方式传输,对一些mtu值大的传输链路利用率不高,传输效率低下。

基于此,本发明实施例中提供了报文传输方案,用以解决在通过gtp隧道传输报文是存在的效率低下的问题。

下面结合附图对本发明的具体实施方式进行说明。

在说明过程中,将会涉及到各节点的实施说明,例如,基站和upf之间,或者upf和upf之间的传输,然后还将给出各节点配合实施的实例以更好地理解本发明实施例中给出的方案的实施。然而这样的说明方式并不意味着所有的节点必须配合实施、或者必须单独实施,实际上,当它们分开实施时,其也各自解决自身节点上的问题,而它们结合使用时,会获得更好的技术效果。

图2为报文传输方法实施流程示意图,如图所示,包括:

步骤201、获取报文传输途径中本节点与下一跳节点之间各通信设备的mtu值中最小的mtu值,其中,所述报文是通过gtp隧道进行传输的报文;

具体的,如图所示,在各upf之间是通过由各通信设备构成的传送网来传输报文的,这些通信设备是路由器等设备,这些设备会有自身的mtu值,本步骤中,获取的是这些通信设备中最小的mtu值,采用最小的mtu在可以避免在两个upf之间因额外的分片重组等出现效率上的损耗。

步骤202、将在本节点上接收到的报文按所述最小的mtu值组包;

步骤203、将组包后的报文传输至下一跳节点。

本发明实施例中的节点可以是基站,也可以是upf,节点可以根据报文在通过gtp隧道传输时经过的路径来确定。

实施中,获取报文传输途径中本节点与下一跳节点之间各通信设备的mtu值中最小的mtu值,是从报文传输途径中的上一跳节点获取的。

实施中,从报文传输途径中的上一跳节点获取所述最小的mtu值,是从上一跳节点扩展gtu-u报文头中携带的mtu值中获取所述最小的mtu值的。

实施中,还可以还包括:

向下一跳节点发送gtu-u报文,其中,所述gtu-u报文的扩展gtu-u报文头中携带有从上一跳节点获取的mtu值。

实施中,由于下一跳节点并不需要获悉传输路径上之前的节点以及其自身的mtu值,因此,向下一跳节点发送的gtu-u报文的扩展gtu-u报文头中携带的mtu值,是下一跳节点的下一跳节点至目的节点的途径上的各节点的mtu值。

实施中,还包括:

报文传输途径上的源节点获取报文传输途径中所有节点的mtu值。

也即,实施中,当节点作为源节点时,不再从上一跳节点获取mtu值,而是获取传输途径中所有节点的mtu值,并将其传递至路径上的每一个节点。

具体的,可以通过源节点(基站或upf)来探测到目的节点(基站或upf)经过的各跳upf间mtu的值,并通过gtu-u(用户面-gtu;u:用户面,userplane)报文的扩展gtu-u报文头将路径上的各节点的mtu值告知各节点。

上面从一个节点的角度说明了每一个节点如何实施,下面给出各节点协同时的实施实例来进行说明。

图3为各节点协同下的报文传输方法实施流程示意图,如图所示,包括:

步骤301、通过源节点(基站或upf)探测到目的节点(基站或upf)经过的各跳upf间mtu的值;

步骤302、通过扩展gtu-u报文头,使后续通过gtu-u隧道发送的业务包携带步骤301中探测到的各跳的mtu值(到第一跳的mtu不携带);

步骤303、源节点按照到第一跳的mtu值进行组包(包含gtp-u头后不超过这个mtu值)并发给第一跳;

步骤304、第一跳upf终结第一段隧道的同时复制扩展头中的mtu值(第一个mtu值不需要携带)到第二段隧道的gtp-u扩展头中;

步骤305、第一跳upf按照步骤304中gtu-u扩展头中的第一个mtu值进行组包(包含gtp-u头后不超过这个mtu值)并发给第二跳;

步骤306、第二跳终结gtu-u隧道时执行和步骤304、步骤305同样的动作继续向后续节点转发直到最后一跳。

下面对gtp-u报文及格式的实施进行说明。

图4为gtp-u报文头的报文格式结构示意图,图5为gtp-u扩展头的报文格式结构示意图,图中涉及的英文分别为:

messagetype:消息类型;

length:长度;

tunnelendpointidentifier:隧道终结点标识符;

sequencenumber:序列号;

n-pdunumber:n-pdu(pdu:协议数据单元,protocoldataunit)号;

nextextensionheadertype:下一扩展头类型;

extensionheaderlength:扩展头长度;

extensionheadercontent:扩展头内容。

如图所示,基站和upf之间或upf与upf之间通过gtu-u隧道进行数据转发,gtp-u隧道承载在udp(用户数据包协议,userdatagramprotocol)协议上;

gtu-u报文头及gtu-u扩展头的报文格式如图4和图5所示;

gtp-u扩展头包含长度、内容及下一个扩展头三部分。

对于mtu,实施中可以自定义mtu。

3gpp(3代合作项目,3rdgenerationpartnershipproject)规定了一些扩展头的类型和相应的值如表1所示:

表1:标准扩展头类型

实施中可以定义扩展头类型mtunum(mtu号码),详细定义如表2所示:

表2:自定义扩展头类型

本方案定义扩展头的长度及内容根据报文要经过的upf跳数确定,设有n跳节点,则可将length部分的值设为n-1,在内容部分则为对应的第n-1个节点的mtu值。

基于同一发明构思,本发明实施例中还提供了一种通信设备、计算机可读存储介质,由于这些设备解决问题的原理与报文传输方法相似,因此这些设备的实施可以参见方法的实施,重复之处不再赘述。

在实施本发明实施例提供的技术方案时,可以按如下方式实施。

图6为通信设备结构示意图,如图所示,包括:

处理器600,用于读取存储器620中的程序,执行下列过程:

获取报文传输途径中本节点与下一跳节点之间各通信设备的mtu值中最小的mtu值,其中,所述报文是通过gtp隧道进行传输的报文;

将在本节点上接收到的报文按所述最小的mtu值组包;

将组包后的报文传输至下一跳节点;

收发机610,用于在处理器600的控制下接收和发送数据。

实施中,获取报文传输途径中本节点与下一跳节点之间各通信设备的mtu值中最小的mtu值,是从报文传输途径中的上一跳节点获取的。

实施中,从报文传输途径中的上一跳节点获取所述最小的mtu值,是从上一跳节点扩展gtu-u报文头中携带的mtu值中获取所述最小的mtu值的。

实施中,还包括:

向下一跳节点发送gtu-u报文,其中,所述gtu-u报文的扩展gtu-u报文头中携带有从上一跳节点获取的mtu值。

实施中,向下一跳节点发送的gtu-u报文的扩展gtu-u报文头中携带的mtu值,是下一跳节点的下一跳节点至目的节点的途径上的各节点的mtu值。

实施中,mtu值是报文传输途径中的源节点获取的。

其中,在图6中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器600代表的一个或多个处理器和存储器620代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机610可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。处理器600负责管理总线架构和通常的处理,存储器620可以存储处理器600在执行操作时所使用的数据。

本发明实施例中提供了一种通信设备,包括:

获取模块,用于获取报文传输途径中本节点与下一跳节点之间各通信设备的mtu值中最小的mtu值,其中,所述报文是通过gtp隧道进行传输的报文;

组包模块,用于将在本节点上接收到的报文按所述最小的mtu值组包;

传输模块,用于将组包后的报文传输至下一跳节点。

实施中,获取模块还用于从报文传输途径中的上一跳节点获取报文传输途径中本节点与下一跳节点之间各通信设备的mtu值中最小的mtu值。

实施中,获取模块还用于从上一跳节点扩展gtu-u报文头中携带的mtu值中获取所述最小的mtu值。

实施中,还包括:

发送模块,用于向下一跳节点发送gtu-u报文,其中,所述gtu-u报文的扩展gtu-u报文头中携带有从上一跳节点获取的mtu值。

实施中,发送模块还用于向下一跳节点发送的gtu-u报文的扩展gtu-u报文头中携带的mtu值,是下一跳节点的下一跳节点至目的节点的途径上的各节点的mtu值。

实施中,源节点上的获取模块还用于获取报文传输途径中所有节点的mtu值。

为了描述的方便,以上所述装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。

本发明实施例中提供了一种通信设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述报文传输方法。

具体实施可以参见报文传输方法的实施。

本发明实施例中提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述报文传输方法的计算机程序。

具体实施可以参见报文传输方法的实施。

综上所述,采用本发明实施例中提供的技术方案,能够避免基站和upf之间或upf和upf之间通信时因为传输链路上节点mtu值问题进行频繁的分片和重组,提高通信效率;

避免upf或基站通过gtp隧道传输数据时mtu设置的太小引入额外的报文头,提高通信效率;

充分利用通信路径上各跳间传输路径的mtu大小,避免传输路径上不必要的分片重组或mtu设置太小引入额外的报文头开销降低通信效率。

通过扩展标准gtp报文的扩展头类型进行实现,实现难度小。

进一步的,由上述实施例提供的技术方案可知,由于采用了扩展标准gtp-u报文头扩展头类型实现,开发难度和成本较低,且能充分利用传输路径的mtu值大小,能够显著提升通信效率。

方案可以应用在5gupf设备上,从而提升upf和upf之间或upf和基站之间的通信效率。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1