CN102036304B - 为终端提供最大传输单元长度的方法及分组交换网关 - Google Patents
为终端提供最大传输单元长度的方法及分组交换网关 Download PDFInfo
- Publication number
- CN102036304B CN102036304B CN 200910177420 CN200910177420A CN102036304B CN 102036304 B CN102036304 B CN 102036304B CN 200910177420 CN200910177420 CN 200910177420 CN 200910177420 A CN200910177420 A CN 200910177420A CN 102036304 B CN102036304 B CN 102036304B
- Authority
- CN
- China
- Prior art keywords
- packet
- terminal
- length
- packet switching
- mtu
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供一种为终端提供MTU长度的方法,包括:分组交换网关获取当前终端MTU长度;上述分组交换网关将上述当前终端MTU长度提供给终端,用于上述终端根据上述当前终端MTU长度发送数据包。本发明还提供一种分组交换网关。在本发明中,分组交换网关将当前终端MTU长度提供给终端,这样,终端能够确定当前终端MTU长度,并根据当前终端MTU长度发送数据包,保证了终端发送的数据包的长度与终端MTU长度保持一致,避免了数据包在分组交换承载网络中被分片、重组,从而提高了通信效率。
Description
技术领域
本发明涉及无线通信技术,尤其涉及为终端提供最大传输单元(MTU,Maximum Transmission Unit)长度的方法及分组交换(PS,Packet Switch)网关(Gateway)。
背景技术
随着通信技术的发展,无线通信带宽逐渐增加,为支持高速发展的无线带宽应用,运营商对分组交换承载网络提出了更高的要求,即,支持大容量、高性能的吞吐业务处理。并且,随着分组业务和终端发展的多样化,数据包的长度也在发生改变。例如,对于点对点(P2P,peer-to-peer)业务,上行的数据包的长度逐渐增大。而以IP为基础的分组交换承载网络,会存在一些固有的缺陷,例如,当IP网络中的MTU的长度设置不当,那么通信质量会大大降低,甚至会发生通信中断。
MTU是指网络上传送的最大数据包,单位是字节。在路由过程中,如果一个IP数据包的长度大于路由器发送接口的MTU的长度,那么这个IP数据包就会被分成多个长度均不大于上述MTU的长度的IP数据包进行发送,这些长度均不大于上述MTU的长度的IP数据包中都带有一个相同的16比特标识,用以表明这些IP数据包是属于同一个IP数据包的分片。在这些IP数据包到达接收端后,接收端会根据标识将这些IP数据包重新拼装成上述的被分片的IP数据包。通常,将一个长度较长的IP数据包分成多个长度较短的IP数据包的过程称为分片(Fragment),将这些长度较短的IP数据包重新拼装成上述长度较长的IP数据包的过程称为重组(Deffagment)。
现有技术中,出于网络安全等方面的原因,终端发送的数据包的长度与终端MTU长度不能保持一致,数据包在分组交换承载网络中一般会被分片、重组,导致通信效率的降低。
发明内容
本发明实施例提供为终端提供MTU长度的方法及分组交换网关,用以保证终端发送的数据包的长度与终端MTU长度保持一致,避免数据包在分组交换承载网络中被分片、重组,从而提高通信效率。
本发明实施例提供一种为终端提供MTU长度的方法,包括:分组交换网关获取当前终端MTU长度;上述分组交换网关将上述当前终端MTU长度提供给终端,用于上述终端根据上述当前终端MTU长度发送数据包。
本发明实施例还提供一种分组交换网关,包括:获取单元,用于获取当前终端MTU长度;提供单元,用于将获取单元获取的上述当前终端MTU长度提供给终端,用于上述终端根据上述当前终端MTU长度发送数据包。
在本发明实施例中,分组交换网关将当前终端MTU长度提供给终端,这样,终端能够确定当前终端MTU长度,并根据当前终端MTU长度发送数据包,保证了终端发送的数据包的长度与终端MTU长度保持一致,避免了数据包在分组交换承载网络中被分片、重组,从而提高了通信效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的无线分组接入网络的逻辑结构图;
图2为本发明实施例的一种为终端提供MTU长度的方法的流程图;
图3为本发明实施例的MTU在消息中的格式示意图;
图4为本发明实施例的MTU在协议配置选项(PCO,ProtocolConfiguration Options)中的格式示意图;
图5为本发明实施例的激活附着场景下的为终端提供MTU长度的流程图;
图6为本发明实施例的更新分组数据协议(PDP,Packet Data Protocol)上下文场景下的为终端提供MTU长度的流程图;
图7为本发明实施例的一种分组交换网关的逻辑结构示意图;
图8为本发明实施例的另一种分组交换网关的逻辑结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本领域技术人员清楚的理解本发明实施例,首先介绍本发明实施例涉及到的一些专业知识。
图1为无线分组接入网络的逻辑结构图。如图1所示,无线分组接入网络包括无线接入网络12、分组交换承载网络11和公共数据网络(PDN,PublicData NetWork)13。终端14通过无线接入网络12和分组交换承载网络11与公共数据网络13交互数据。分组交换承载网络11中设置有分组交换网关。分组交换网关在宽带码分多址接入(WCDMA,Wideband Code DivisionMultiple Access)、时分-同步码分多址接入(TD-SCDMA,TimeDivision-Synchornization Code Division Multiple Access)等第三代移动通信网络(3G,The third Generation Mobile Telecommunication)中可以是指通用分组无线服务(GPRS,General Packet Radio Service)网关支持节点(GGSN,GPRSGateway Support Nodes),在系统架构演进(SAE,System ArchitectureEvolution)等演进网络中可以是指服务网关(S-GW,Serving Gateway)或公共数据网络网关(PDN GW,PDN Gateway)。另外,终端在3G和演进网络中是指用户设备(UE,User Equipment)。
在分组交换承载网络11中,如果终端14发送的数据包的长度大于终端14支持正常数据通信、在分组交换承载网络11中不产生分片所发送的最大数据包的长度,并且终端14设置了不允许分片的标记,那么分组交换承载网络11中的节点通常会丢弃数据包,这样,通信就会发生中断。为便于描述,这里将终端14支持正常数据通信、在分组交换承载网络11中不产生分片所发送的最大数据包称为终端MTU。如果终端14发送的数据包的长度大于终端MTU长度,那么终端14发送的数据包会在分组交换承载网络11中的节点上被多次分片、重组,这样,通信性能就会下降;如果终端14发送的数据包的长度远小于终端MTU长度,那么在3GPP接入情况下,每个数据包都需要具有GPRS隧道协议-用户面(GTP-U,GTP-User Plane)封装,这样,每个数据包的有效负荷较少,通信带宽浪费严重。所以,只有当终端14发送的数据包的长度与终端MTU长度尽量保持一致时,通信效率和性能才会得到提高。需要说明的是,终端MTU长度等于经过分组交换承载网络11中分组业务链路的最大数据包的长度与数据包在分组交换承载网络11中的封装头的长度的差值。为便于描述,这里将经过分组交换承载网络11中分组业务链路的最大数据包称为分组交换承载网络中分组业务链路MTU,将数据包在分组交换承载网络11中的封装头称为分组交换承载网络中分组业务封装头。
现有技术的一种路径MTU发现(Path MTU Discovery)机制为,终端(主机)为确定最合适的MTU长度,先发送长度与出口MTU长度(缺省的MTU长度或最大的MTU长度)相等的IP数据包,其中,在IP数据包的头部设置有不分片标志字段(DF),如果收到网际控制信息协议(ICMP,Internet ControlMessage Protocol)不能分片错误消息,则再发送长度与较短的MTU长度相等的IP数据包,同样,在IP数据包的头部设置有不分片标志字段,如果再次收到ICMP不能分片错误消息,则再发送长度与更短的MTU长度相等的IP数据包,同样,在IP数据包的头部设置有不分片标志字段,以此类推。由于MTU长度的个数总是有限的,所以,总可以找到链路中最短的MTU长度。这样,终端发送的长度与最短的MTU长度相等的IP数据包就不会被分组交换承载网络中的节点分片、重组,提高了通信的效率。
然而,路径MTU发现机制要求链路上所有的路由节点都支持网际控制信息协议(ICMP,Internet Control Message Protocol)功能,但是,在实际应用中,出于防止Dos攻击等安全原因,一些路由节点会关闭ICMP功能,这样,路径MTU发现机制在实际中就不能得到应用。
另外,在上述路径MTU发现机制方案中,终端需要发送具有探测性质的数据包来确定终端MTU长度,这样会占用大量的无线带宽资源,甚至会导致无线接入成为通信瓶颈。
此外,在上述路径MTU发现机制方案中,如果终端MTU长度发生变化,那么终端需要重新探测MTU长度,但是,更新MTU长度的流程很复杂。
为解决现有技术存在的上述缺陷,本发明实施例提供了一种为终端提供MTU长度的方法。如图2所示,这种方法包括:
S201:分组交换网关获取当前终端MTU长度。
在实际应用中,分组交换网关可以通过多种方式获取当前终端MTU长度。例如,分组交换网关可以获取分组交换承载网络中分组业务链路MTU长度,并获取分组交换承载网络中分组业务封装头的长度,之后,获取分组交换承载网络中分组业务链路MTU长度与分组交换承载网络中分组业务封装头的长度的差值,差值即为当前终端MTU长度。
在实际应用中,分组交换网关可以通过多种方式获取分组交换承载网络中分组业务链路MTU长度。例如,可以预先在分组交换网关中配置分组交换承载网络中分组业务链路MTU长度,当分组交换网关需要时,可以直接在本地获得分组交换承载网络中分组业务链路MTU长度;例如,分组交换网关可以与分组交换承载网络中的其他设备通过路径MTU发现方式,获得分组交换承载网络中分组业务链路MTU长度;例如,分组交换网关可以监控分组交换承载网络中分组业务链路上的长度最大的分片的数据包,将长度最大的分片的数据包的长度作为分组交换承载网络中分组业务链路MTU长度;再例如,分组交换网关可以与分组交换承载网络中的其他设备通过协商,获取分组交换承载网络中分组业务链路MTU长度。
另外,分组交换承载网络中分组业务封装头的长度一般是固定的值,当然,不同版本的标准定义的封装头的长度可能会不同,在实际应用中,封装头的长度具体是哪个值,可以根据具体的网络环境符合哪个版本的标准来确定。
执行S201之后,执行S202:分组交换网关将上述当前终端MTU长度提供给终端,用于上述终端根据上述当前终端MTU长度发送数据包。
在实际应用中,分组交换网关可以根据接收到终端发出的消息或者在终端MTU长度发生更新时,将当前终端MTU长度提供给终端。
在实际应用中,分组交换网关可以通过多种方式将当前终端MTU长度提供给终端。例如,分组交换网关可以构造一个与现有技术中的任何一个消息不同的消息,这个消息携带有当前终端MTU长度,分组交换网关在适当的时机将这个消息发送出去,分组交换网关通过发送这个消息将当前终端MTU长度提供给终端。再例如,分组交换网关可以将当前终端MTU长度携带在现有技术中的一个消息中,并将这个消息发送出去,分组交换网关通过发送这个消息将当前终端MTU长度提供给终端。在实际应用中,分组交换网关可能不会直接将消息发送给终端,而是将消息发送给另外一个网络实体,另外一个网络实体收到分组交换网关发送的消息后,从分组交换网关发送的消息中提取当前终端MTU长度,之后,该另外一个网络实体将当前终端MTU长度携带在一个消息中,将这个消息发送给终端或者其他网络实体。如果该另外一个网络实体将消息发送给终端,那么终端可以直接从消息中提取当前终端MTU长度;如果该另外一个网络实体将消息发送给其他网络实体,那么该其他网络实体在提取当前终端MTU长度后,可能还会将当前终端MTU长度携带在又一个消息中,并将这个消息发送给终端或又一个网络实体,以此类推,直至终端收到携带有当前终端MTU长度的消息。以分组交换网关为GGSN为例,GGSN将当前终端MTU长度提供给UE时,GGSN可以将当前终端MTU长度携带在发给SGSN的一个消息中,并将这个消息发给SGSN,SGSN提取当前终端MTU长度后,再将当前终端MTU长度携带在发给UE的另一个消息中,并将这个消息发给UE。
在实际应用中,分组交换网关可以将当前终端MTU长度携带在激活附着场景下的消息中,通过发送这个消息将当前终端MTU长度提供给终端。例如,如果分组交换网关为GGSN,那么在激活附着场景下的消息可以是创建PDP上下文响应(Create PDP Context Response)消息。
在实际应用中,分组交换网关也可以将当前终端MTU长度携带在更新PDP上下文场景下的消息中,通过发送这个消息将当前终端MTU长度提供给终端。例如,如果分组交换网关为GGSN,那么在更新PDP上下文场景下的消息可以是更新PDP上下文请求(Update PDP Context Request)消息。
无论是Create PDP Context Response消息,还是Update PDP ContextRequest消息,其中都会具有PCO。在实际应用中,分组交换网关可以将当前终端MTU长度携带在Create PDP Context Response消息中的PCO中或UpdatePDP Context Request消息中的PCO中。
MTU在消息中的格式可以如图3所示。如图3所示,Maximum-Transmission-Unit这个字段占两个字节,用于表示终端MTU,Type的值为1,Uength的值为4。
MTU在PCO中的格式如图4所示。
在上述方法实施例中,分组交换网关将当前终端MTU长度提供给终端,这样,终端能够确定当前终端MTU长度,并根据当前终端MTU长度发送数据包,保证了终端发送的数据包的长度与终端MTU长度保持一致,避免了数据包在分组交换承载网络中被分片、重组,从而提高了通信效率。
在上述方法实施例中,分组交换网关将当前终端MTU长度提供给终端,这样,终端能够确定当前终端MTU长度。另外,分组交换网关可以通过将当前终端MTU长度携带在现有的消息中等方式,将当前终端MTU长度提供给终端。由此可见,在上述方法实施例中,不需要分组交换承载网络中的所有节点都支持ICMP功能,所以,本发明实施例提供的为终端提供MTU长度的方法在实际中完全可以得到应用。
在现有的路径MTU发现机制方案中,终端需要发送具有探测性质的数据包来确定终端MTU长度,这样会占用大量的无线带宽资源,甚至会导致无线接入成为通信瓶颈。而在上述方法实施例中,分组交换网关可以通过将当前终端MTU长度携带在现有的消息中的方式,将当前终端MTU提供给终端,这样可以节省无线宽带资源,同时,也不会给使用终端的用户增加通信费用。
在上述方法实施例中,当终端MTU长度发生变化时,分组交换网关可以主动的将更新后的终端MTU长度提供给终端,终端可以因此及时调整发送的数据包的长度,从而尽量的避免了分组交换承载网络中的节点为此进行的分片、重组等操作,进一步的提高了通信效率。
为使本领域技术人员更加清楚的理解本发明实施例的为终端提供MTU长度的方法,下面再分别介绍激活附着场景和更新PDP上下文场景下的具体实施例。
如图5所示,激活附着场景下的为终端提供MTU长度的流程包括:
S501:当UE附着到分组承载网络中时,UE向服务GPRS支持节点(SGSN,Serving GPRS Support Nodes)发出激活PDP上下文请求(Activate PDP ContextRequest)消息;
S502:SGSN在验证Activate PDP Context Request消息合法性后,向GGSN发出创建PDP上下文请求(Create PDP Context Request)消息;
S503:GGSN在为UE创建记录、分配相应的资源后,向SGSN返回创建PDP上下文响应(Create PDP Context Response)消息,这个消息的PCO中携带有终端MTU长度,其中,GGSN作为上面提到的分组交换网关,GGSN可以先获取分组交换承载网络中分组业务链路MTU长度,并获取分组交换承载网络中分组业务封装头的长度,之后,再计算分组交换承载网络中分组业务链路MTU长度与分组交换承载网络中分组业务封装头的长度的差值,最后,将这个差值作为上述当前终端MTU长度;
S504:SGSN在收到携带有终端MTU长度的Create PDP Context Response消息后,向UE返回创建PDP上下文接受(Activate PDP Context Accept)消息,这个消息的PCO中也携带有终端MTU长度;
S505:UE在收到携带有终端MTU长度的Activate PDP Context Accept消息后,保存Activate PDP Context Accept消息携带的终端MTU长度,或者用Activate PDP Context Accept消息携带的终端MTU长度更新之前保存的终端MTU长度。
图6为更新PDP上下文场景下的为终端提供MTU长度的流程图。如图6所示,流程包括:
S601:当终端MTU长度发生更新时,GGSN向SGSN发出更新PDP上下文请求(Update PDP Context Request)消息,这个消息的PCO中携带有更新后的终端MTU长度,其中,GGSN作为上面提到的分组交换网关,GGSN可以从其他网络实体获得终端MTU长度发生更新的信息,也可以自己监控终端MTU长度是否发生变化,例如,由于分组交换承载网络中分组业务链路MTU长度和分组交换承载网络中分组业务封装头的长度都是影响终端MTU长度的因素,当GGSN确定其中的任何一个因素发生变化时,都可以确定终端MTU长度发生更新,当然,GGSN还可以通过其他方式确定终端MTU长度发生更新,这里不再一一举例说明;
S602:SGSN在收到Update PDP Context Request消息后,向UE发出更改PDP上下文请求(Modify PDP Context Request)消息,这个消息的PCO中也携带有更新后的终端MTU长度;
S603:UE在收到Modify PDP Context Request消息后,用Modify PDPContext Request消息携带的更新后的终端MTU长度更新之前保存的终端MTU长度;
S604:UE向SGSN发出更改PDP上下文接受(Modify PDP Context Accept)消息;
S605:SGSN在收到Modify PDP Context Accept消息后,向GGSN发出更新PDP上下文响应(Update PDP Context Response)消息。
需要说明的是,图5和图6中的消息都是基于GPRS隧道协议(GTP,GPRS Tunneling Protocol)的。当然,本发明实施例的为终端提供MTU的方法还可以应用于基于其他协议的网络中,例如移动IP(MIP,Mobile IP)网络,在具体实现时,将终端MTU长度携带在移动IP信令中即可,这里不再赘述。
由上述几个实施例可以看出,终端MTU长度都是由分组交换网关提供给终端的,对此,本发明实施例还提供了一种分组交换网关。
如图7所示,这种分组交换网关可以包括:获取单元701,用于获取当前终端MTU长度;提供单元702,用于将获取单元701获取的当前终端MTU长度提供给终端,用于上述终端根据上述当前终端MTU长度发送数据包。
在实际应用中,获取单元701可以通过多种方式获取当前终端MTU长度。例如,获取单元701可以获取分组交换承载网络中分组业务链路MTU长度,并获取分组交换承载网络中分组业务封装头的长度,之后,计算分组交换承载网络中分组业务链路MTU长度与分组交换承载网络中分组业务封装头的长度的差值,差值即为上述当前终端MTU长度。
在实际应用中,获取单元701可以通过多种方式获取分组交换承载网络中分组业务链路MTU长度。例如,可以预先在分组交换网关中配置分组交换承载网络中分组业务链路MTU长度,当获取单元701需要时,获取单元701可以直接在分组交换网关本地获得分组交换承载网络中分组业务链路MTU长度;例如,获取单元701可以与分组交换承载网络中的其他设备通过路径MTU发现方式,获得分组交换承载网络中分组业务链路MTU长度;例如,获取单元701可以监控分组交换承载网络中分组业务链路上的长度最大的分片的数据包,将长度最大的分片的数据包的长度作为分组交换承载网络中分组业务链路MTU长度;再例如,获取单元701可以与分组交换承载网络中的其他设备通过协商,获取分组交换承载网络中分组业务链路MTU长度。
另外,分组交换承载网络中分组业务封装头的长度一般是固定的值,当然,不同版本的标准定义的封装头的长度可能会不同,在实际应用中,封装头的长度具体是哪个值,可以根据具体的网络环境符合哪个版本的标准来确定。
在实际应用中,提供单元702可以根据接收到终端发出的消息或者在终端MTU长度发生更新时,将当前终端MTU长度提供给终端。
在实际应用中,提供单元702可以通过多种方式将当前终端MTU长度提供给终端。如图8所示,提供单元702可以包括消息构造子单元7021和提供子单元7022,消息构造子单元7021可以构造一个与现有技术中的任何一个消息不同的消息,这个消息携带有当前终端MTU长度,提供子单元7022在适当的时机将这个消息发送出去,提供子单元7022通过发送这个消息将当前终端MTU长度提供给终端。再例如,消息构造子单元7021可以将当前终端MTU长度携带在现有技术中的一个消息中,提供子单元7022将这个消息发送出去,提供子单元7022通过发送这个消息将当前终端MTU长度提供给终端。在实际应用中,提供子单元7022可能不会直接将消息发送给终端,而是将消息发送给另外一个网络实体,该另外一个网络实体收到分组交换网关发送的消息后,从提供子单元7022发送的消息中提取当前终端MTU长度,之后,该另外一个网络实体将当前终端MTU长度携带在一个消息中,将这个消息发送给终端或者其他网络实体。如果该另外一个网络实体将消息发送给终端,那么终端可以直接从消息中提取当前终端MTU长度;如果该另外一个网络实体将消息发送给其他网络实体,那么其他网络实体在提取当前终端MTU长度后,可能还会将当前终端MTU长度携带在又一个消息中,并将这个消息发送给终端或又一个网络实体,以此类推,直至终端收到携带有当前终端MTU长度的消息。
在实际应用中,消息构造子单元7021可以将获取单元701获取的当前终端MTU长度携带在激活附着场景下的消息中,提供子单元7022可以通过发送这个消息将当前终端MTU长度提供给终端。例如,如果图7或图8所示的分组交换网关为GGSN,那么在激活附着场景下的消息可以是创建PDP上下文响应(Create PDP Context Response)消息。
在实际应用中,消息构造子单元7021也可以将获取单元701获取的当前终端MTU长度携带在更新PDP上下文场景下的消息中,提供子单元7022可以通过发送这个消息将当前终端MTU长度提供给终端。例如,如果图7或图8所示的分组交换网关为GGSN,那么在更新PDP上下文场景下的消息可以是更新PDP上下文请求(Update PDP Context Request)消息。
无论是Create PDP Context Response消息,还是Update PDP ContextRequest消息,其中都会具有PCO。在实际应用中,消息构造子单元7021可以将当前终端MTU长度携带在Create PDP Context Response消息中的PCO中或Update PDP Context Request消息中的PCO中。
在上述分组交换网关中,提供单元702将当前终端MTU长度提供给终端,这样,终端能够确定当前终端MTU长度,并根据当前终端MTU长度发送数据包,保证了终端发送的数据包的长度与终端MTU长度保持一致,避免了数据包在分组交换承载网络中被分片、重组,从而提高了通信效率。
在上述分组交换网关中,提供单元702可以将当前终端MTU长度提供给终端,这样,终端能够确定当前终端MTU长度。另外,提供单元702可以通过将当前终端MTU长度携带在现有的消息中等方式,将当前终端MTU长度提供给终端。由此可见,应用上述分组交换网关可以不需要分组交换承载网络中的所有节点都支持ICMP功能,所以,上述分组交换网关在实际中完全可以得到应用。
在现有的路径MTU发现机制方案中,终端需要发送具有探测性质的数据包来确定终端MTU长度,这样会占用大量的无线带宽资源,甚至会导致无线接入成为通信瓶颈。而在上述分组交换网关中,提供单元702通过将当前终端MTU长度携带在现有的消息中的方式,将当前终端MTU提供给终端,这样可以节省无线宽带资源,同时,也不会给使用终端的用户增加通信费用。
在上述分组交换网关中,当终端MTU长度发生变化时,提供单元702可以主动的将更新后的终端MTU长度提供给终端,终端可以因此及时调整发送的数据包的长度,从而尽量的避免了分组交换承载网络中的节点为此进行的分片、重组等操作,进一步的提高了通信效率。
需要说明的是,本发明实施例选取分组交换网关向终端提供当前终端MTU长度的原因在于:在无线分组接入网络架构中,分组交换网关是分组交换承载网络与公共数据网络的转换点,分组交换网关可以感知分组交换承载网络的链路状况。并且,在实际应用中,公共数据网络的MTU与分组交换承载网络中分组业务链路MTU不可避免地会出现不一致的情况,这样必然会发生分片、重组现象。数据包的分片、重组操作要在分组交换网关进行,而不是分组交换承载网络的中间节点。分组交换网关作为分组交换承载网络中的设备,具有强大的IP承载处理能力,在分组交换网关进行的数据包的分片、重组,具体是将原始数据包分片完成后,增加封装头(例如GTPU封装头)。如果在分组交换承载网络中的其他节点上进行分片、重组,那么由于分片操作是对带有封装头的数据包的分片,所以会增加封装头,进而会浪费无线带宽资源,而且还会增加分组交换承载网络中的各个节点的处理难度。如果分组交换承载网络中的其他节点的IP承载性能较低或者不支持分片、重组功能,那么就有可能会造成通信中断。因此,如果要进行数据包的分片、重组操作,那么就要在分组交换网关中完成。
综上所述,在本发明实施例中,分组交换网关将当前终端MTU长度提供给终端,这样,终端能够确定当前终端MTU长度,并根据当前终端MTU长度发送数据包,保证了终端发送的数据包的长度与终端MTU长度保持一致,避免了数据包在分组交换承载网络中被分片、重组,从而提高了通信效率。
在本发明实施例中,分组交换网关将当前终端MTU长度提供给终端,这样,终端能够确定当前终端MTU长度。另外,分组交换网关可以通过将当前终端MTU长度携带在现有的消息中等方式,将当前终端MTU长度提供给终端。由此可见,在本发明实施例中,不需要分组交换承载网络中的所有节点都支持ICMP功能,所以,本发明实施例提供的为终端提供MTU长度的方法和分组交换网关在实际中完全可以得到应用。
在上述路径MTU发现机制方案中,终端需要发送具有探测性质的数据包来确定终端MTU长度,这样会占用大量的无线带宽资源,甚至会导致无线接入成为通信瓶颈。而在本发明实施例中,分组交换网关通过将当前终端MTU长度携带在现有的消息中的方式,将当前终端MTU提供给终端,这样可以节省无线宽带资源,同时,也不会给使用终端的用户增加通信费用。
在本发明实施例中,当终端MTU长度发生变化时,分组交换网关可以主动的将更新后的终端MTU长度提供给终端,不需要重新探测MTU长度,更不需要进行复杂的更新MTU长度的流程。另外,终端可以因此及时调整发送的数据包的长度,从而尽量的避免了分组交换承载网络中的节点为此进行的分片、重组等操作,进一步的提高了通信效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (14)
1.一种为终端提供最大传输单元长度的方法,其特征在于,所述终端通过无线接入网络和分组交换承载网络与公共数据网络交互数据,所述分组交换承载网络中设置有分组交换网关,包括:
分组交换网关获取当前终端最大传输单元MTU长度;
所述分组交换网关将所述当前终端MTU长度提供给终端,用于所述终端根据所述当前终端MTU长度发送数据包,所述终端MTU为终端支持正常数据通信、在分组交换承载网络中不产生分片所发送的最大数据包;
所述分组交换网关获取当前终端MTU长度具体包括:
所述分组交换网关获取分组交换承载网络中分组业务链路MTU长度,并获取分组交换承载网络中分组业务封装头的长度;
所述分组交换网关获取所述分组交换承载网络中分组业务链路MTU长度与所述分组交换承载网络中分组业务封装头的长度的差值,将所述差值作为所述当前终端MTU长度。
2.如权利要求1所述的方法,其特征在于,所述分组交换网关将所述当前终端MTU长度提供给终端包括:所述分组交换网关根据接收到所述终端发出的消息或者在终端MTU长度发生更新时,将所述当前终端MTU长度提供给所述终端。
3.如权利要求1或2所述的方法,其特征在于,所述分组交换网关将所述当前终端MTU长度提供给终端具体包括:
所述分组交换网关将所述当前终端MTU长度携带在激活附着场景下或更新PDP上下文场景下的消息中;
所述分组交换网关通过发送携带有所述当前终端MTU长度的消息将所述当前终端MTU长度提供给所述终端。
4.如权利要求3所述的方法,其特征在于,所述分组交换网关为通用分组无线服务GPRS网关支持节点GGSN,所述激活附着场景下的消息为创建分组数据协议PDP上下文响应消息。
5.如权利要求4所述的方法,其特征在于,所述分组交换网关将所述终端MTU长度携带在激活附着场景下的消息中具体为:所述分组交换网关将所述当前终端MTU长度携带在所述创建PDP上下文响应消息中的协议配置选项PCO中。
6.如权利要求3所述的方法,其特征在于,所述分组交换网关为GGSN,所述更新PDP上下文场景下的消息为更新PDP上下文请求消息。
7.如权利要求6所述的方法,其特征在于,所述分组交换网关将所述当前终端MTU长度携带在更新PDP上下文场景下的消息中具体为:所述分组交换网关将所述当前终端MTU长度携带在所述更新PDP上下文请求消息的PCO中。
8.如权利要求1所述的方法,其特征在于,所述分组交换网关是服务网关S-GW或公共数据网络网关PDN GW。
9.如权利要求1所述的方法,其特征在于,所述分组交换网关获取分组交换承载网络中分组业务链路MTU长度具体为:
所述分组交换网关获得预先配置在本地的分组交换承载网络中分组业务链路MTU长度;或者
所述分组交换网关与分组交换承载网络中的其他设备通过路径MTU发现方式,获得分组交换承载网络中分组业务链路MTU长度;或者
所述分组交换网关通过监控分组交换承载网络中分组业务链路上的长度最大的分片的数据包,获得分组交换承载网络中分组业务链路MTU长度;或者
所述分组交换网关与分组交换承载网络中的其他设备通过协商,获取分组交换承载网络中分组业务链路MTU长度。
10.如权利要求1或2所述的方法,其特征在于,所述当前终端MTU长度为当前终端支持正常数据通信、在分组交换承载网络中不产生分片所发送的最大数据包的长度。
11.一种分组交换网关,其特征在于,包括:
获取单元,用于获取当前终端MTU长度;
提供单元,用于将所述获取单元获取的所述当前终端MTU长度提供给终端,用于所述终端根据所述当前终端MTU长度发送数据包;
所述获取当前终端MTU长度具体包括:
获取分组交换承载网络中分组业务链路MTU长度,并获取分组交换承载网络中分组业务封装头的长度;
所述获取所述分组交换承载网络中分组业务链路MTU长度与分组交换承载网络中分组业务封装头的长度的差值,将所述差值作为所述当前终端MTU长度;
所述终端通过无线接入网络和分组交换承载网络与公共数据网络交互数据,所述分组交换承载网络中设置有所述分组交换网关;所述终端MTU为终端支持正常数据通信、在分组交换承载网络中不产生分片所发送的最大数据包。
12.如权利要求11所述的分组交换网关,其特征在于,所述提供单元具体用于根据接收到所述终端发出的消息或者在终端MTU长度发生更新时,将所述当前终端MTU长度提供给所述终端。
13.如权利要求11或12所述的分组交换网关,其特征在于,所述提供单元包括:
消息构造子单元,用于将所述获取单元获取的所述当前终端MTU长度携带在激活附着场景下或更新PDP上下文场景下的消息中;
提供子单元,用于在所述消息构造子单元将所述当前终端MTU长度携带在所述激活附着场景下或更新PDP上下文场景下的消息中之后,通过发送携带有所述当前终端MTU长度的消息将所述当前终端MTU长度提供给所述终端。
14.如权利要求11或12所述的分组交换网关,其特征在于,所述当前终端MTU长度为当前终端支持正常数据通信、在分组交换承载网络中不产生分片所发送的最大数据包的长度。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN 200910177420 CN102036304B (zh) | 2009-09-28 | 2009-09-28 | 为终端提供最大传输单元长度的方法及分组交换网关 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN 200910177420 CN102036304B (zh) | 2009-09-28 | 2009-09-28 | 为终端提供最大传输单元长度的方法及分组交换网关 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN102036304A CN102036304A (zh) | 2011-04-27 |
| CN102036304B true CN102036304B (zh) | 2013-12-18 |
Family
ID=43888454
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN 200910177420 Expired - Fee Related CN102036304B (zh) | 2009-09-28 | 2009-09-28 | 为终端提供最大传输单元长度的方法及分组交换网关 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN102036304B (zh) |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103581041B (zh) * | 2013-09-26 | 2017-04-05 | 酷派软件技术(深圳)有限公司 | Mtu值的设置方法和电子设备 |
| US10142251B2 (en) | 2015-01-26 | 2018-11-27 | Hfi Innovation Inc. | Control of maximum transmission unit size discovery using AT commands |
| CN104993971A (zh) * | 2015-05-27 | 2015-10-21 | 上海斐讯数据通信技术有限公司 | 一种测试路由器上行网络模式下mtu值的方法及系统 |
| CN110636551B (zh) | 2018-06-25 | 2022-05-17 | 上海华为技术有限公司 | 避免报文分片的方法和装置 |
| CN110177045B (zh) * | 2019-05-15 | 2021-04-02 | 浙江启程电子科技股份有限公司 | 一种基于mtu值的传输数据配置方法 |
| CN111654450B (zh) * | 2020-05-28 | 2023-08-08 | 北京小米移动软件有限公司 | 数据传输方法及装置、存储介质 |
| CN119922170B (zh) * | 2024-12-26 | 2026-01-06 | 广州通则康威科技股份有限公司 | 数据传输调节方法、装置、计算机设备及存储介质 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1909503A (zh) * | 2005-08-05 | 2007-02-07 | 华为技术有限公司 | 一种探测路径最大传输单元的方法 |
| CN1921440A (zh) * | 2006-09-15 | 2007-02-28 | 华为数字技术有限公司 | 检测路径最大传输单元的方法和系统 |
| CN101150520A (zh) * | 2007-11-02 | 2008-03-26 | 杭州华三通信技术有限公司 | 调整路径最大传输单元的方法及装置 |
| CN101217540A (zh) * | 2008-01-04 | 2008-07-09 | 杭州华三通信技术有限公司 | 报文隧道分片的自适应调整方法、装置和系统 |
| CN101304427A (zh) * | 2008-07-02 | 2008-11-12 | 深圳华为通信技术有限公司 | 一种设置最大传输单元值的方法和装置 |
| CN101521622A (zh) * | 2008-02-29 | 2009-09-02 | 华为技术有限公司 | 确定最大传输单元的方法和装置 |
-
2009
- 2009-09-28 CN CN 200910177420 patent/CN102036304B/zh not_active Expired - Fee Related
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1909503A (zh) * | 2005-08-05 | 2007-02-07 | 华为技术有限公司 | 一种探测路径最大传输单元的方法 |
| CN1921440A (zh) * | 2006-09-15 | 2007-02-28 | 华为数字技术有限公司 | 检测路径最大传输单元的方法和系统 |
| CN101150520A (zh) * | 2007-11-02 | 2008-03-26 | 杭州华三通信技术有限公司 | 调整路径最大传输单元的方法及装置 |
| CN101217540A (zh) * | 2008-01-04 | 2008-07-09 | 杭州华三通信技术有限公司 | 报文隧道分片的自适应调整方法、装置和系统 |
| CN101521622A (zh) * | 2008-02-29 | 2009-09-02 | 华为技术有限公司 | 确定最大传输单元的方法和装置 |
| CN101304427A (zh) * | 2008-07-02 | 2008-11-12 | 深圳华为通信技术有限公司 | 一种设置最大传输单元值的方法和装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN102036304A (zh) | 2011-04-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9578548B2 (en) | System and method for configuring multiple IP connections | |
| CN103428802B (zh) | 用于虚拟软交换的方法和装置 | |
| CN106464700B (zh) | 使用at命令控制mtu大小的发现方法以及移动终端 | |
| WO2021000827A1 (zh) | 数据传输链路建立方法、装置以及计算机可读存储介质 | |
| US10470028B2 (en) | User plane data transmission method, mobility management entity, evolved NodeB, and system | |
| CN102036304B (zh) | 为终端提供最大传输单元长度的方法及分组交换网关 | |
| WO2019033920A1 (zh) | 网络侧对远端用户设备的识别和控制方法以及设备 | |
| US20160072930A1 (en) | Data transmission method and apparatus, communications device, and communications system | |
| US10581735B2 (en) | Packet processing method and apparatus | |
| WO2017124838A1 (zh) | 传输通道的建立方法、mme、网元设备、系统及存储介质 | |
| CN101420369A (zh) | 通用分组无线业务隧道协议报文传输方法、系统及设备 | |
| WO2023138547A1 (zh) | 一种隧道信息发送方法及装置 | |
| CN103747502B (zh) | 一种gtp隧道的处理方法及系统 | |
| CN114727337A (zh) | 报文传输方法、用户面功能、smf及通信设备 | |
| CN105264841A (zh) | 报文转发系统、设备和方法 | |
| KR101029113B1 (ko) | 3gpp 기반 차세대 이동통신망에서의 sctp 시그널링을 이용한 ip 이동성 제공 방법 | |
| CN107735996A (zh) | 利用单个udp数据报发送多个g‑pdu | |
| WO2009109128A1 (zh) | 一种完全头部信息报文配置的方法和装置 | |
| EP2600643B1 (en) | Method, system and related equipment for transmitting service type information | |
| CN108471633B (zh) | 一种通信方法与通信系统 | |
| CN117118929A (zh) | 本地分流方法和装置 | |
| WO2015062040A1 (zh) | 一种能力协商的方法、系统及装置 | |
| WO2023011006A1 (zh) | 一种通信方法、装置及设备 | |
| CN102740399B (zh) | 一种多接入技术的传输方法及装置 | |
| CN113839909B (zh) | 数据报文处理的方法、装置和系统 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| CF01 | Termination of patent right due to non-payment of annual fee | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20131218 |