一种分配隧道端点标识的方法和设备的制作方法

文档序号:7693142阅读:146来源:国知局
专利名称:一种分配隧道端点标识的方法和设备的制作方法
技术领域
本发明涉及移动通信技术,特别是涉及一种分配隧道端点标识(Tunnel End Point Identifier, TEID)的方法和设备。
背景技术
在通用分组无线业务隧道协i义(GPRS Tunneling Protocol , GTP) 系统中,对于一个接入点名字(APN )连接的一个用户设备(UE )的IP地 址,在使用GTPvl协议的接口上有且只有一个GTP控制平面(GTP-C)隧 道,但可以有一个到多个GTP用户平面(GTP-U)隧道。在建立每个GTP 隧道时,无论是GTP-C隧道还是GTP-U隧道,该隧道的两端节点将分别分 配一个隧道端点标识(Tunnel End Point Identifier , TEID)。当该GTP隧 道建立后,发送节点向接收节点发送GTP消息时,该GTP消息头中将携带 接收节点所分配的TEID值。在第1版GTP(GTPvl)中,上述TEID的分配 是由各节点自行决定,只要保证TEID在其IP地址内唯一即可, 一个最为简 单的分配方法是TEID递增方法。该GTP隧道的节点在为一个GTP隧道分 配一个TEID后,需要在建立隧道的消息中携带该TEID,以通知对端的掮「 收节点。
目前,第三代合作项目(Third Generation Partnership Project, 3GPP ) 基本确定在演进分组系统(Evolved Packet System, EPS)的S5(基于GTP)、 S8、 S10、 Sll接口上使用第2版GTP (GTPv2) 。 GTPv2系统中GTP-U隧 道节点如何进行TEID的分配,目前,还没有确定的解决方案,可以沿用 GTPvl的GTP-U隧道的TEID由GTP隧道节点自行决定的分配方法,但当 GTP隧道节点分配一个GTP-U隧道的TEID后,需要在建立隧道的消息中携带该GTP-U隧道的TEID,以通知对端节点,这将会增加建立隧道的消息 长度以及消息的传输与处理时间。

发明内容
有鉴于此,本发明的主要目的在于提供一种分配隧道端点标识的方法, 其能减少建立隧道时的消息长度以及消息的传输与处理时间。 为了达到上述目的,本发明提出的技术方案为 一种分配隧道端点标识的方法,包括以下步骤
一 GTP节点在建立GTP-C隧道时,分配一个GTP-C隧道的TEID,并 通知所述GTP节点在所述隧道上的对端节点;
所述GTP节点在建立GTP用户平面GTP-U隧道时,利用其GTP-C隧道的 TEID值作为输入参数,#4居预设的函数得到所述GTP节点的GTP-U隧道的 TEID值;所述函数为系统中所有GTP节点共同使用的函数,其输入和输出为 一一映射关系;
所述GTP节点的对端节点在建立GTP-U隧道时,利用所述GTP节点的 GTP-C隧道的TEID值作为输入参数,根据所述预设的函数得到所述GTP节点 的GTP-U隧道的TEID值并保存于自身节点中。
如上所述的方法,进一步包括当所述GTP节点的GTP-C隧道的TEID值 更新时,所述GTP节点为其GTP-C隧道分配一个新的GTP-C隧道TEID值, 所述GTP节点以所述新的GTP-C隧道的TEID值作为输入参数,根据所述预设 的函tt得到所述GTP节点的新的GTP-U隧道的TEID值;所述GTP节点通过 消息通知其对端节点所述新的GTP-C隧道的TEID值,对端节点利用所述GTP 节点的新的GTP-C隧道的TEID值作为输入参数,根据所述预设的函数得到所 述GTP节点的新的GTP-U隧道的TEID值并保存于自身节点中。
如上所述的方法,进一步包括当所述GTP节点的GTP-U隧道需要更新 时,所述GTP节点为其GTP-C隧道分配一个新的GTP-C隧道的TEID值,所 述GTP节点以所述新的GTP-C隧道的TEID值作为输入参数,根据所述预设的函数得到所述GTP节点的新的GTP-U隧道的TEID值;所述GTP节点通过 GTP-C消息通知其对端节点所述新的GTP-C隧道的TEID值,对端节点以所述 GTP节点的新的GTP-C隧道的TEID值作为输入参数,根据所述预设的函数得 到所述GTP节点的新的GTP-U隧道的TEID值并保存于自身节点中。
本发明还提供一种分配隧道端点标识的设备,能减少建立隧道时的消息长 度以及消息的传输与处理时间。
为了达到上述目的,本发明实施例提出的技术方案为
一种分配隧道端点标识的设备,主要包括
启动模块,用于在建立GTP-C隧道和GTP-U隧道时触发本端节点分配才莫 块和对端节点生成模块执行;
本端节点分配模块,用于在建立GTP-C隧道时,分配一个GTP-C隧道的 TEID,将其输出至存贮模块,并通过发送模块将其发送给对端节点;在建立 GTP-U隧道时,以本端节点分配的GTP-C隧道的TEID值作为输入参数,根据 预设的函数得到本端节点的GTP-U隧道的TEID值并输出至存贮模块;所述函 数为系统中所有节点共同使用的函数;
对端节点生成模块,用于从存贮模块中获取对端节点的GTP-C隧道的TEID 值,以其作为输入参数,根据所述预设的函数得到对端节点的GTP-U隧道的 TEID值并保存于存贮模块中;
发送模块,用于将本端节点分配模块输出的本端节点的GTP-C隧道的TEID 发送给对端节点;
接收模块,用于接收对端节点的GTP-C隧道的TEID,并输出至存贮模块
中;
存贮模块,用于存贮本端节点分配模块输出的本端节点的GTP-C隧道的 TEID和GTP-U隧道的TEID值;用于存贮接收冲莫块输出的对端节点的GTP-C 隧道的TEID,用于存贮对端节点生成模块输出的对端节点的GTP-U隧道的 TEID。
如上所述的设备中,所述本端节点分配模块,进一步用于当本端节点的GTP-C隧道的TEID值更新时,分配一个新的GTP-C隧道的TEID,将其输出 至存贮模块,用于以本端节点的新的GTP-C隧道的TEID值作为输入参数,根 据所述预设的函数得到本端节点的新的GTP-U隧道的TEID值并输出至存贮模 块;
所述对端节点生成模块,进一步用于当对端节点的GTP-C隧道的TEID 值更新时,从存贮模块中获取对端节点的新的GTP-C隧道的TEID值,以其 作为输入参数,根据所述预设的函数得到对端节点的新的GTP-U隧道的 TEID值并输出存贮模块中。
综上所述,本发明提出的分配隧道端点标识的方法和设备通过引入系统 预设的函数,使每个GTP节点利用GTP-C隧道的TEID值并结合系统预设 的函数来分配GTP-U隧道的TEID值,从而使得该GTP-U隧道的TEID值 可以直接由所述隧道的对端节点采用相同的方法计算得到,而不需要在 GTP-C消息中通知给对端节点,从而减少了建立隧道时的消息长度以及消息 的传输与处理时间,加快了 GTP-U隧道的建立过程。


图1为本发明方法的流程图。
图2为本发明方法的实施例一的流程图。
图3为本发明设备的结构示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体 实施例对本发明作进一步地详细描述。
本发明是针对GTP协议中一个GTP-C隧道^又管理一个GTP-U的隧道 的情况提出的TEID分配方法。本发明的基本思想是在建立一个GTP-C隧道 的同时建立对应的GTP-U隧道,任何GTP节点所分配的GTP-U隧道的TEID 的值都可以利用事先已分配的GTP-C隧道的TEID和系统预先设定的函数直
8接计算得到,相应的,其对端节点也可以利用上述方法计算得到该值,由此,
不需通过消息发送,对端节点即可得到该节点的GTP-U隧道的TEID的值。 如图1所示,本发明主要包括
步骤101 、 一 GTP节点在建立GTP-C隧道时,分配一个GTP-C隧道的TEID, 并通知所述GTP节点在所述隧道上的对端节点。
在实际应用中,所述GTP-C隧道的TEID的分配方法由所述GTP节点根据 实际情况自行选择,可采用现有GTP协议中的随机分配方法。
步骤102、所述GTP节点在建立GTP-U隧道时,利用其GTP-C隧道的TEID 值作为输入参数,根据预设的函凄t得到所述GTP节点的GTP-U隧道的TEID 值;所述预设的函数为系统中所有GTP节点共同使用的函数,其输入和输出为 ——映射关系。
这里需要说明的是,在实际应用中所述节点在建立一个GTP-C隧道的同时 将建立一个GTP-U隧道,也就是步骤101与102是同步进行的。
步骤103、所述GTP节点的对端节点在建立GTP-U隧道时,利用所述GTP 节点的GTP-C隧道的TEID值作为输入参数,根据所述预设的函数得到所述 GTP节点的GTP-U隧道的TEID值并保存于自身节点中。
这里需要注意的是,上述技术方案仅列出了建立所述GTP-C和GTP-U隧 道时,其中一端节点进行TEID分配时所需要执行的主要步骤,在实际应用中 上述隧道的两端节点均需要互相配合执行上述步骤,以完成隧道建立时所需要 的隧道两端节点TEID的分配,下面以具体实施例对本发明进行详细描述
图2为本发明方法的实施例一的流程图。如图2所示,实施例一包括
步骤201 、GTP节点A在与GTP节点B建立GTP-C隧道时,分配一个GTP-C 隧道的TEID值TEID-CA。
步骤202、 GTP节点A与GTP节点B建立一个GTP-U隧道时,GTP 节点A以TEID-CA作为输入参数,根据预设的函数所述预设的函数 f(TEID)=TEID+l得到GTP节点A的GTP-U隧道的TEID值TEID-UA,GTP 节点A通过GTP-C请求消息将TEID-CA通知给其在所述GTP-C隧道的对端节点GTP节点B。
这里需要注意的是,在实际应用中f(TEID)的具体形式不限,只需要满 足如下条件f(TEID)为系统中所有节点共同使用的函数,其输入和输出为 ——映射关系;本实施例中使用的函数为f(TEID)= TEID+1 。
步骤203、 GTP节点B以GTP节点A的请求消息中的TEID-CA作为输 入参数,根据所述预设的函数f(TEID)=TEID+l得到GTP节点A的TEID-UA 值并保存于自身节点中。
这里,GTP节点B通过保存计算出的GTP节点A为GTP-U隧道所分 配的TEID-UA值,使得此后通过GTP-U隧道向GTP节点A发送GTP-U消 息时无需再此计算,直接利用所保存的GTP节点A的TEID-UA值设置 GTP-U消息头的TEID值即可。
步骤204、 GTP节点B收到GTP节点A发送的所述请求消息后,为所 述GTP-C隧道分配一个GTP-C隧道的TEID值TEID-CB。
步骤205、 GTP节点B在与GTP节点A建立所述GTP-U隧道时,GTP 节点B以TEID-CB作为输入参H根据所述预设的函数f(TEID)=TEID+l 得到GTP节点B的GTP-U隧道的TEID值TEID-UB, GTP节点B通过GTP-C 响应消息将其分配的所述TEID-CB通过所述GTP-C隧道通知给GTP节点 A。
步骤206、 GTP节点A以GTP节点B的响应消息中的TEID-CB作为输 入参数,根据所述预设的函数f(TEID)=TEID+l得到GTP节点B为GTP-U 隧道所分配的TEID-UB并保存于自身节点中。
通过上述步骤,在GTP节点A与GTP节点B之间建立了 一个GTP-C 隧道与一个GTP-U隧道。
在上述技术方案中,任一 GTP节点的GTP-C隧道的TEID值需要更新 时,也需要更新其对应的GTP-U隧道的TEID值。例如,当GTP节点A的 TEID-CA值更新时,也需要更新其TEID-UA值,具体方法与上述获得 TEID-UA的方法相同,即GTP节点A为GTP-C隧道分配一个新的TEID-CA值,GTP节点A以更新后的TEID-CA值作为输入参数,根据所述预设的函 数f(TEID)得到GTP节点A的GTP-U隧道新的TEID值,并通过GTP-C消 息通知其对端GTP节点B所述GTP节点A的GTP-C隧道的新的TEID值; GTP节点B利用GTP节点A新分配的TEID-CA值作为输入参数,根据所 述预设的函数f(TEID)得到GTP节点A新分配的GTP-U隧道的TEID值并 保存于自身节点中。
另外,当GTP-U隧道的TEID需要更新时,方法与上述更新方法类似, 需要先更新GTP-C隧道,下面以GTP节点B的TEID的更新为例对该更新 过程进行说明
GTP节点B为其GTP-C隧道分配一个新的GTP-C隧道TEID值,GTP 节点B以所述新的GTP-C隧道的TEID值作为输入参数,根据所述预设的 函数得到GTP节点B的新的GTP-U隧道的TEID值;之后,GTP节点B通 过GTP-C消息通知其对端节点GTP节点A所述新的GTP-C隧道的TEID^直, GTP节点A以GTP节点B的新的GTP-C隧道的TEID值作为输入参数,根 据所述预设的函数得到GTP节点B的新的GTP-U隧道的TEID值并保存于 自身节点中。
本发明还提供了一种分配隧道端点标识的设备,该设备设于每个GTP节点 中,其包括
启动模块301,用于在建立GTP-C与GTP-U隧道时触发本端节点分配模块 302和对端节点生成模块303的执行;
本端节点分配模块302,用于在建立GTP-C隧道时,分配一个GTP-C隧道 的隧道端点标识TEID,将其输出至存贮模块306和发送模块304,触发发送模 块304将其发送给对端节点;同时在建立GTP-U隧道时,以本端节点分配的 GTP-C隧道的TEID值作为输入参数,根据预设的函数得到本端节点的GTP-U 隧道的TEID值并输出至存贮模块306;所述函数为系统中所有节点共同使用的 函数;
在实际应用中,当本端节点的GTP-C隧道的TEID值更新时,所述本端节点分配才莫块302还可以用于重新分配一个新的GTP-C隧道的TEID,将其输出 至存贮模块306和发送模块304,触发发送模块304将其发送给对端节点,用 于以本端节点的新的GTP-C隧道的TEID值作为输入参数,根据所述预设的函 数得到本端节点的新的GTP-U隧道的TEID值并输出至存贮模块306;
对端节点生成才莫块303,用于乂人存贮模块中获取对端节点的GTP-C隧道的 TEID值,以其作为输入参数,根据所述预设的函数得到对端节点的GTP-U隧 道的TEID值并保存于自身节点的存贮模块中;
在实际应用中,当对端节点的GTP-C隧道的TEID值更新时通过GTP-C 消息通知本端节点其新的GTP-C隧道的TEID值后,对端节点生成^=莫块303 还可以用于从存贮模块306中获取对端节点的新的GTP-C隧道的TEID值, 以其作为输入参数,根据所述预设的函数得到对端节点的新的GTP-U隧道 的TEID值并输出至存贮模块306中。
发送模块304,用于将本端节点分配模块302输出的本端节点的GTP-C隧 道的TEID发送给对端节点;
接收才莫块305,用于接收对端节点的GTP-C隧道的TEID,并输出至存 贮模块306中;
存贮模块306,用于存贮本端节点分配模块302输出的本端节点的 GTP-C隧道的TEID和GTP-U隧道的TEID值;用于存贝i接收模块305输出 的对端节点的GTP-C隧道的TEID,用于存贮对端节点生成模块303输出的 对端节点的GTP-U隧道的TEID。
通过采用上述技术方案,每个GTP节点利用GTP-C隧道的TEID值, 通过系统所述预设的函数分配GTP-U隧道的TEID值,使得该GTP-U隧道 的TEID值不需要在GTP-C消息中通知给该GTP-U隧道的对端节点,从而 简化了 GTP协议的信令结构,并加快了 GTP-U隧道的建立过程。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的 保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改 进等,均应包含在本发明的保护范围之内。
权利要求
1、一种分配隧道端点标识的方法,其特征在于,该方法包括以下步骤一通用分组无线业务隧道协议GTP节点在建立GTP控制平面GTP-C隧道时,分配一个GTP-C隧道的隧道端点标识TEID,并通知所述GTP节点在所述隧道上的对端节点;所述GTP节点在建立GTP用户平面GTP-U隧道时,利用其GTP-C隧道的TEID值作为输入参数,根据预设的函数得到所述GTP节点的GTP-U隧道的TEID值;所述函数为系统中所有GTP节点共同使用的函数,其输入和输出为一一映射关系;所述GTP节点的对端节点在建立GTP-U隧道时,利用所述GTP节点的GTP-C隧道的TEID值作为输入参数,根据所述预设的函数得到所述GTP节点的GTP-U隧道的TEID值并保存于自身节点中。
2、 根据权利要求1所述的方法,其特征在于,进一步包括当所述GTP节点的GTP-C隧道的TEID值更新时,所述GTP节点为其GTP-C隧道分配一个新的GTP-C隧道TEID值,所述GTP节点以所述新的GTP-C隧道的TEID值作为输入参数,根据所述预设的函数得到所述GTP节点的新的GTP-U隧道的TEID值;所述GTP节点通过消息通知其对端节点所述新的GTP-C隧道的TEID值,对端节点利用所述GTP节点的新的GTP-C隧道的TEID值作为输入参数,根据所述预设的函数得到所述GTP节点的新的GTP-U隧道的TEID值并保存于自身节点中。
3、 根据权利要求1所述的方法,其特征在于,进一步包括当所述GTP节点的GTP-U隧道需要更新时,所述GTP节点为其GTP-C隧道分配一个新的GTP-C隧道的TEID值,所述GTP节点以所述新的GTP-C隧道的TEID值作为输入参数,根据所述预设的函数得到所述GTP节点的新的GTP-U隧道的TEID值;所述GTP节点通过GTP-C消息通知其对端节点所述新的GTP-C隧道的TEID值,对端节点以所述GTP节点的新的GTP-C隧道的TEID值作为输入参数,根据所述预设的函数得到所述GTP节点的新的GTP-U隧道的TEID值并保存于自身节点中。
4、 一种分配隧道端点标识的设备,其特征在于,包括启动模块,用于在建立GTP-C隧道和GTP-U隧道时触发本端节点分配模块和对端节点生成^^块执行;本端节点分配模块,用于在建立GTP-C隧道时,分配一个GTP-C隧道的TEID,将其输出至存贮模块,并通过发送模块将其发送给对端节点;在建立GTP-U隧道时,以本端节点分配的GTP-C隧道的TEID值作为输入参凄t,根据预设的函数得到本端节点的GTP-U隧道的TEID值并输出至存贮模块;所述函数为系统中所有节点共同使用的函数;对端节点生成模块,用于从存贮模块中获取对端节点的GTP-C隧道的TEID值,以其作为输入参数,根据所述预设的函数得到对端节点的GTP-U隧道的TEID值并保存于存贮模块中;发送模块,用于将本端节点分配模块输出的本端节点的GTP-C隧道的TEID发送给对端节点;接收模块,用于接收对端节点的GTP-C隧道的TEID,并输出至存贮模块中;存贮模块,用于存贮本端节点分配模块输出的本端节点的GTP-C隧道的TEID和GTP-U隧道的TEID值;用于存贮接收才莫块输出的对端节点的GTP-C隧道的TEID,用于存贮对端节点生成模块输出的对端节点的GTP-U隧道的TEID。
5、 根据权利要求4所述的设备,其特征在于,所述本端节点分配模块,进一步用于当本端节点的GTP-C隧道的TEID值更新时,分配一个新的GTP-C隧道的TEID,将其输出至存贮模块,用于以本端节点的新的GTP-C隧道的TEID值作为输入参数,根据所述预设的函数得到本端节点的新的GTP-U隧道的TEID值并输出至存贮模块;所述对端节点生成模块,进一步用于当对端节点的GTP-C隧道的TEID值更新时,从存贮模块中获取对端节点的新的GTP-C隧道的TEID值,以其作为输入参数,根据所述预设的函数得到对端节点的新的GTP-U隧道的TEID值并输出存贮模块中。
全文摘要
本发明提出了一种分配隧道端点标识的方法和设备,一GPRS隧道协议(GTP)节点在建立GTP控制平面(GTP-C)隧道时,分配一个GTP-C隧道的隧道端点标识(TEID),并通知其对端节点;所述GTP节点在建立GTP用户平面(GTP-U)隧道时,以其GTP-C隧道的TEID值作为输入参数,根据所述预设的函数得到其GTP-U隧道的TEID值;所述GTP节点的对端节点以所述GTP节点的GTP-C隧道的TEID值作为输入参数,根据所述预设的函数得到所述GTP节点的GTP-U隧道的TEID值。本发明不需要通过GTP-C消息将GTP-U隧道的TEID发给对端节点,减少了隧道建立的消息长度及其传输与处理时间。
文档编号H04L12/56GK101540712SQ20081010233
公开日2009年9月23日 申请日期2008年3月20日 优先权日2008年3月20日
发明者沈宇希, 熊春山 申请人:大唐移动通信设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1