CN103023865B - 拓扑隐藏网络中路径参数的恢复、隐藏方法及装置 - Google Patents
拓扑隐藏网络中路径参数的恢复、隐藏方法及装置 Download PDFInfo
- Publication number
- CN103023865B CN103023865B CN201110298093.7A CN201110298093A CN103023865B CN 103023865 B CN103023865 B CN 103023865B CN 201110298093 A CN201110298093 A CN 201110298093A CN 103023865 B CN103023865 B CN 103023865B
- Authority
- CN
- China
- Prior art keywords
- message
- sip
- route
- net
- path
- 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
- 238000000034 method Methods 0.000 title claims abstract description 123
- 238000011084 recovery Methods 0.000 title abstract description 6
- 230000000977 initiatory effect Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 description 88
- 230000008569 process Effects 0.000 description 30
- 238000010586 diagram Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 1
- 210000000689 upper leg Anatomy 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1104—Session initiation protocol [SIP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种拓扑隐藏网络中路径参数的恢复、隐藏方法及装置,路径参数的恢复方法,包括以下步骤:具有隐藏功能的网元(THEN)在对第一消息的路径参数进行恢复时,解密路径参数,并根据第一消息的信息判断是否需要对解密后的路径参数的顺序进行逆序处理;若需要,则对解密后的路径参数的顺序进行逆序处理。通过本发明提高了系统的有效性和处理能力。
Description
技术领域
本发明涉及通信领域,尤其涉及一种拓扑隐藏网络中路径参数的恢复、隐藏方法及装置。
背景技术
IP多媒体子系统(IP Multimedia Core Network Subsystem,简称为IMS)是由第三代合作伙伴计划(3rd Generation Partnership Project,简称为3GPP)提出的一种基于IP的网络架构,构建了一个开放而灵活的业务环境,支持多媒体应用,能够为用户提供丰富的多媒体业务。在IMS业务体系中,控制层和业务层是分离的,控制层不提供具体业务,只向业务层提供必要的触发、路由、计费等功能。
控制层中业务触发和控制功能是呼叫会话控制功能(Call Session ControlFunction,简称为CSCF)完成的。呼叫会话控制功能分为:代理呼叫会话控制功能(Proxy-CSCF,简称为P-CSCF)、查询呼叫会话控制功能(Interrogating-CSCF,简称为I-CSCF)和服务呼叫会话控制功能(Serving-CSCF,简称为S-CSCF)三种类型。除此之外还有IBCF(IMS边界控制功能),负责与外部网络的互通互联。
IMS网络引入会话初始协议(Session Initial Protocol,简称为SIP)作为控制层的协议。SIP是互联网工程任务组(Internet Engineering Task Force,简称为IETF)制定的多媒体通信系统框架协议之一,用于建立、改变或结束多媒体会话的应用层协议,与多媒体流协议配合,共同完成IMS中的会话建立及媒体协商。SIP协议基于公开的互联网标准,协议简单灵活,具有很好的可扩展性。SIP消息有两种:客户机到服务器的请求(Request),服务器到客户机的响应(Response)。
SIP主要用以下方法来实现对呼叫的控制:INVITE方法,用于请求建立一个会话;ACK方法,用于确认客户端对INVITE方法的请求已经响应;BYE方法,用来结束会话;CANCLE方法,用于取消会话,被取消的会话处于正在建立过程中;REGISTER方法,用于注册过程;OPTION方法,用于查询服务器的相关信息和功能。另外,扩展了其他的请求方法,比如,UPDATE方法,用于更新会话状态和媒体信息;INFO方法,用于在会话内交换信息。
SIP主要定义了以下的五种类型的响应消息:lxx:临时响应,表示请求已经收到,正在处理;2xx:成功响应,表示请求已经正确的收到、理解和接受;3xx:重定向,表示需要重定向处理;4xx:客户端错误;5xx:服务端错误;6xx:全局失败。
SIP协议是基于文本的协议,其语法分析比较简单,但是,这带来了网络安全等方面的问题,一些网络引入了拓扑隐藏网关(Topology Hide Inter-network Gateway,简称为THIG),用来实现运营商的网络对其他外部网络的拓扑隐藏功能。拓扑隐藏的功能在IMS网络中可以灵活部署,比如,部署在I-CSCF上,或者部署在IBCF上。
图1是根据相关技术的一个终端属于拓扑隐藏网络的网络示意图,如图1所示,其中,拓扑隐藏网络与通信双方中的用户设备A在同一个网络,与用户设备B属于不同的网络。对于图1中的各实体说明如下:
用户设备101(User Equipment,记做UE A),支持互联网协议接入的用户设备,包括移动分组域接入终端、支持无线局域功能终端、固定接入终端等,还进一步包括应用服务器等业务提供设备。在本图中UE A包含在拓扑隐藏网络中,即,UE A与拓扑隐藏网络之间不需要经过拓扑隐藏网元。
拓扑隐藏网络的网元A、B、C,即图中的102、103、104,在拓扑隐藏网络中负责路由或业务处理的网元,比如,是IMS网络中的P-CSCF,S-CSCF,I-CSCF等网元,或者应用服务器(AS)等业务提供网元。这些网元的统一资源标识(Uniform Resource Identifier,简称为URI)等信息根据网络策略不能对外网络暴露、需要进行拓扑隐藏。
拓扑隐藏网元105,具有拓扑隐藏功能的网元(Topology Hide Network Element,简称为THNE),负责对拓扑隐藏网络中的路由和网元信息等进行隐藏的网元。此拓扑隐藏网元比如是I-CSCF,或者是IBCF等。
路由经过的网元106,记做网元R,表示在IP网络中进行消息路由和转发的设备,在实际网络中可能包含一系列的网元,比如,可以是为用户设备B提供服务的S-CSCF,或者是IP网络中的代理服务器或普通路由器,或者是中间经过的一个子网络等。为了简便起见,以下简单地记做网元R。
用户设备107(User Equipment,记做UE B),支持互联网协议接入的用户设备,包括移动接入终端、支持无线局域功能终端、固定接入终端等,还进一步包括应用服务器等业务提供设备。在本图中UE B位于拓扑隐藏网元105所在的拓扑隐藏网络的外部,即,UE B与拓扑隐藏网络之间需要经过拓扑隐藏网元。
图2是根据相关技术的两个终端之间信令经过拓扑隐藏网络的信令交互示意图,如图2所示,以拓扑隐藏功能部署在IBCF为例,UE A和UE B均位于该拓扑隐藏网络的外部,网元IBCF1、IBCF2、网元A、网元B和网元C位于同一个拓扑隐藏网络的内部。其中,IBCF1和IBCF2上部署了拓扑隐藏功能,称为该网络的拓扑隐藏网元。IBCF1靠近UEA,IBCF2靠近UEB。在实际部署中,IBCF1和IBCF2可以分开部署,也可以合在一起部署。
图2中的Ra和Rb同图1中的网元R,这里是为了区别,分别记做Ra、Rb。UE A通过Ra与拓扑隐藏网络相连,UE B通过Rb与拓扑隐藏网络相连,如果用户设备是直接连到拓扑隐藏网络的,信令消息不经过Ra和Rb。实际部署时,Ra和Rb可以是PGW、SGW、MrGW、路由器等,也可以是在漫游网络中的P-CSCF。
SIP消息中通常使用INVITE建立会话,当收到对端的200OK响应时,主叫和被叫两端的会话就建立成功。在图2中UEA向UE B发起会话请求,F1~F8为请求消息,f1~f8为响应消息。其中,请求消息比如是会话建立请求消息SIP INVITE,响应消息比如是183 SessionProgress响应,或者是200OK响应。中间可能还有其他的临时响应消息,比如1xx,为了简便,在此不赘述。
对于IBCF1来说,请求消息F2是从拓扑隐藏网络的外部进入到拓扑隐藏网络,称为入口消息,响应消息f7是对应于F2的响应消息,所以,称为入口消息的响应消息。IBCF1需要对f7消息中的相关参数进行加密,比如是对SIP消息的Via、Route、Record-Route、Service-Route、and Path等头域加密。
对于IBCF2来说,请求消息F7是从拓扑隐藏网络的内部发送到拓扑隐藏网络外部,称为出口消息,响应消息f2是对应于F7的响应消息,所以,称为出口消息的响应消息。IBCF2需要对F7消息中的相关参数进行加密,比如是对SIP消息的Via、Route、Record-Route、Service-Route、和Path等头域加密。
在会话建立过程中,中间经过的网元如果希望继续保留在后续消息的路径中,将自身的URI及参数等加入到Record-Route头域的顶端中。这样在Record-Route就形成了一个有序的集合,从这个有序的集合可以得到路由集。具体地,被叫UE B收到会话建立请求消息(INVITE)中的Record-Route,复制Record-Route中内容,保持原来的顺序,并把此有序集合作为路由集,当发起后续的该会话内的请求时,将其放在Route头域。主叫UEA在建立会话请求消息的响应消息时,获取Record-Route中的URI列表后将其逆序,将逆序后的URI列表作为路由集,当发起后续的该会话内的请求时,将其放在Route头域。在初始会话建立的路径经过拓扑隐藏网络的情况下,Record-Route中的列表可能包含加密后的项,此时,一个加密项可能包含多条URI项,因此,在对Record-Route中的URI列表进行逆序时,无法将一条密文中包含的多个URI列表进行逆序,这将导致一个路由问题。即使用路由集进行后续请求的时候,到达拓扑隐藏网络后,解密后的路由顺序与期望的路由顺序不符的问题。
从上边的分析可以看出,拓扑隐藏网络在隐藏路径信息或恢复隐藏的路径信息的时候,需要注意路径列表的顺序问题。而在上述的相关技术中拓扑隐藏网络所采取的隐藏或恢复方法并不能保证恢复后的路径列表的顺序满足实际的需要。
发明内容
本发明旨在于提供一种拓扑隐藏网络中路径参数的恢复、隐藏方案,以至少解决上述相关技术中拓扑隐藏网络所采取的隐藏或恢复方法并不能保证恢复后的路径列表的顺序满足实际的需要的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种拓扑隐藏网络中路径参数的恢复方法。
根据本发明的拓扑隐藏网络中路径参数的恢复方法,包括以下步骤:THNE在对第一消息的路径参数进行恢复时,解密路径参数,并根据第一消息的信息判断是否需要对解密后的路径参数的顺序进行逆序处理;若需要,则对解密后的路径参数的顺序进行逆序处理。
优选地,THNE根据第一消息中的信息判断是否需要对解密后的路径参数的顺序进行逆序处理包括:THNE根据第一消息中的第一标识信息来确定是否需要对解密后的路径参数的顺序进行逆序处理。
优选地,THNE根据第一消息中的第一标识信息来确定是否需要对解密后的路径参数的顺序进行逆序处理包括:THNE对第二消息中的路径参数进行隐藏时,在第二消息中添加第二标识信息,并将第二消息发送给拓扑隐藏网络之外的网元或终端;拓扑隐藏网络之外的网元或终端在发起第一消息时携带与第二标识信息对应的第一标识信息。
优选地,THNE根据第一消息中的第一标识信息来确定是否需要对解密后的路径参数的顺序进行逆序处理之前,该方法还包括:发起第一消息的网元或终端在第一消息中携带第一标识信息。
优选地,THNE在第二消息中添加第二标识信息包括:将第二标识信息设置在加密后的第二消息中的路径参数中;或者,将第二标识信息设置在加密前的第二消息中的路径参数中。
优选地,THNE根据第一消息中的信息判断是否需要对解密后的路径参数的顺序进行逆序处理包括:THNE根据第一消息中的信息判断第一消息中是否包含特定标识信息,以确定是否需要对解密后的路径参数的顺序进行逆序处理。
优选地,THNE根据第一消息中的信息判断第一消息中是否包含特定标识信息之前,该方法还包括:THNE在对第二消息中的路径参数进行隐藏时,在第二消息中添加特定标识信息,并将第二消息发送给拓扑隐藏网络之外的网元或终端;拓扑隐藏网络之外的网元或终端在发起第一消息时携带特定标识信息。
优选地,THNE在第二消息中添加特定标识信息包括:将特定标识信息设置在加密后的第二消息中的路径参数中;或者,将特定标识信息设置在加密前的第二消息中的路径参数中。
优选地,根据第一消息中的信息中是否包含特定标识信息之前,该还包括:发起第一消息的网元或终端在第一消息中携带特定标识信息。
优选地,THNE根据第一消息中的信息判断是否需要对解密后的路径参数的顺序进行逆序处理包括:THNE根据第一消息中的信息与本会话的会话建立请求消息的信息来确定是否需要对解密后的路径参数的顺序进行逆序处理。
优选地,THNE根据第一消息中的信息与本会话的会话建立请求消息的信息来确定是否需要对解密后的路径参数的顺序进行逆序处理包括:THNE通过判断第一消息与本会话的会话建立请求消息的头域中的一个字段的内容或者几个字段的内容是否相同,来确定是否需要对解密后的路径参数的顺序进行逆序处理;或者,THNE通过判断从第一消息中的信息获知的第一消息的方向与本会话的会话建立请求消息的方向是否一致,来确定是否需要对解密后的路径参数的顺序进行逆序处理。
为了实现上述目的,根据本发明的再一方面,还提供了一种具有拓扑隐藏功能的装置。
根据本发明的具有拓扑隐藏功能的装置,包括:解密模块,用于在对第一消息中的路径参数进行恢复时,解密路径参数;判断模块,用于根据第一消息中的信息判断是否需要对解密模块解密后的路径参数的顺序进行逆序处理;以及处理模块,用于在判断模块的判断结果为是的情况下,对解密后的路径参数的顺序进行逆序处理。
优选地,多个装置设置在同一具有拓扑隐藏功能的实体中;或者,多个装置分别设置在多个具有拓扑隐藏功能的实体中。
为了实现上述目的,根据本发明的又一方面,还提供了一种消息的发送装置,该装置位于拓扑隐藏网络之外的网元或终端。
根据本发明的消息的发送装置,包括:发送模块,用于向THNE发送携带第一标识信息或特定标识信息的第一消息;其中,第一标识信息和特定标识信息均用于THNE在对第一消息中的路径参数进行恢复时,确定是否需要对解密后的路径参数的顺序进行逆序处理。
优选地,该消息的发送装置还包括:接收模块,用于接收来自THNE的第二消息,其中,第二消息中携带THNE在对第二消息中的路径参数进行隐藏时添加的与第一标识信息对应的第二标识信息或特定标识信息。
为了实现上述目的,根据本发明的另一方面,提供了一种拓扑隐藏网络中路径参数的隐藏方法。
根据本发明的拓扑隐藏网络中路径参数的隐藏方法,包括以下步骤:THNE在对会话建立请求消息的响应消息中的路径参数进行隐藏时,将该路径参数的顺序进行逆序后再进行加密。
为了实现上述目的,根据本发明的再一方面,还提供了一种具有拓扑隐藏功能的网元。
根据本发明的THNE,包括:第一隐藏模块,用于在对会话建立请求消息的响应消息中的路径参数进行隐藏时,将该路径参数的顺序逆序后再进行加密。
为了实现上述目的,根据本发明的另一方面,提供了一种拓扑隐藏网络中路径参数的隐藏方法。
根据本发明的拓扑隐藏网络中路径参数的隐藏方法,包括以下步骤:THNE在对路径参数进行隐藏时,将该路径参数的路径信息进行逐条加密。
为了实现上述目的,根据本发明的又一方面,还提供了一种具有拓扑隐藏功能的网元。
根据本发明的THNE,包括一个或多个具有拓扑隐藏功能的装置,其中,每个具有拓扑隐藏功能的装置包括:第二隐藏模块,用于在对路径参数进行隐藏时,将该路径参数的路径信息进行逐条加密。
通过本发明,采用根据带有隐藏的路径参数的第一消息中的信息来判断是否需要对解密后的路径参数的顺序进行逆序处理,或者,在隐藏路径参数时对路径信息进行逐条加密或预先对路径参数的顺序进行逆序处理的方式,解决了相关技术中拓扑隐藏网络所采取的隐藏或恢复方法并不能保证恢复后的路径列表的顺序满足实际的需要的问题,提高了系统的有效性和处理能力。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据相关技术的一个终端属于拓扑隐藏网络的网络示意图;
图2是根据相关技术的两个终端之间信令经过拓扑隐藏网络的信令交互示意图;
图3是根据本发明实施例的路径参数的恢复方法的流程图;
图4是根据本发明实施例的一种具有拓扑隐藏功能的装置的结构框图;
图5是根据本发明实施例的一种消息的发生装置的结构框图;
图6是根据本发明实施例的一种路径参数的恢复系统的结构框图;
图7是根据本发明实施例的一种具有拓扑隐藏功能的网元的结构框图;
图8是根据本发明实施例的一种具有拓扑隐藏功能的网元的结构框图;
图9是本发明实施例一的一种THNE恢复隐藏的路径参数的流程示意图;
图10是本发明实施例二的一种THNE恢复隐藏的路径参数的流程示意图;
图11是本发明实施例三的一种THNE恢复隐藏的路径参数的流程示意图;
图12是本发明实施例四的一种THNE恢复隐藏的路径参数的流程示意图;
图13是本发明实施例五的一种THNE恢复隐藏的路径参数的流程示意图;
图14是本发明实施例六的一种THNE恢复隐藏的路径参数的流程示意图;
图15是本发明实施例七的一种THNE恢复隐藏的路径参数的流程示意图;
图16是本发明实施例八的一种THNE恢复隐藏的路径参数的流程示意图;
图17是本发明实施例九的一种THNE隐藏路径参数的流程示意图;
图18是本发明实施例十的一种THNE隐藏路径参数的流程示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
根据本发明实施例,提供了一种拓扑隐藏网络中路径参数的恢复方法。图3是根据本发明实施例的路径参数的恢复方法的流程图,如图3所示,该方法包括以下步骤:
步骤S302,具有拓扑隐藏功能的网元(Topology Hide Network Element,简称为THNE)在对第一消息中的路径参数进行恢复时,解密该路径参数,并根据第一消息中的信息判断是否需要对解密后的路径参数的顺序进行逆序处理;
步骤S304,若需要,则对解密后的路径参数的顺序进行逆序处理。
通过上述步骤,采用根据第一消息中的信息来判断是否需要对解密后的路径参数的顺序进行逆序处理的方式,解决了相关技术中拓扑隐藏网络所采取的隐藏或恢复方法并不能保证解密后的路径列表的顺序能够满足实际的需要的问题,提高了系统的有效性和处理能力。
需要说明的是,在步骤S302中,THNE在对第一消息中的路径参数进行恢复时,可以是先进行解密操作,再进行判断步骤,也可以是先进行判断再进行解密操作。例如,THEN根据第一消息中的标识消息判断出需要对解密后的路径参数的顺序进行逆序处理后,再执行解密步骤和逆序步骤。
优选地,第一消息可以包括以下至少之一:会话建立过程中或会话建立后的请求消息,会话建立过程中或会话建立后的请求消息所对应的响应消息。
例如,上述的路径参数可以包括以下头域参数之一:Record-Route参数、Route参数、Via参数、Service-Route参数、Path参数。该方法实现简单、可操作性强。
优选地,在步骤S302中,根据第一消息中的信息判断是否需要对解密后的路径参数的顺序进行逆序处理可以包括如下几种方式:
方式一、根据第一消息中的第一标识信息来确定是否需要对解密后的路径参数的顺序进行逆序处理。其中,第一标识信息可以是用于指示保持路径参数的顺序不变或者对路径参数的顺序进行逆序处理。
第一标识信息,比如是为实施例中的出口标识或者入口标识;或者比如是实施例中的主叫标识或被叫标识。
方式一在实施过程中,比如,在第一消息中携带出口标识时,保持路径参数的顺序不变,在第一消息中携带入口标识时,对路径参数的顺序进行逆序处理。
优选地,THNE在对第二消息(例如,会话建立请求消息或其响应消息)中的路径参数进行拓扑隐藏时,可以在第二消息中添加第二标识信息,并将第二消息发送给拓扑隐藏网络之外的网元或终端;拓扑隐藏网络之外的网元或终端在发送第一消息时携带与第二标识信息对应的第一标识信息(即,THNE在收到第一消息之前,接收到第二消息的拓扑隐藏网络之外的网元或终端向THNE发送携带第一标识信息的第一消息)。比如,将第二标识信息设置在加密后的第二消息中的路径参数中;或者,设置在加密前的第二消息中的路径参数中。
第二标识信息,是由THNE在第二消息中添加的,用于发送到拓扑隐藏网络之外的网元或终端,在实施过程中,该第二标识信息可以与第一标识信息的内容相同也可以不完全相同,例如,可以是与第一标识信息相关的内容。
优选地,第二消息可以包括以下至少之一:会话建立请求消息、会话建立请求消息的响应消息、会话更新请求消息、会话更新请求消息的响应消息。
或者,方式一在实施过程中,比如是,根据第一消息中携带的主叫标识或被叫标识来确定是否需要对解密后的路径参数的顺序进行逆序处理。例如,在步骤S302之前,THNE接收携带主叫标识或被叫标识的第一消息。
其中,主叫标识或被叫标识可以设置在:SIP消息的头域(比如,From头域、To头域、Contact头域),或者在消息的消息体中。
方式二、根据第一消息中的信息判断第一消息中是否包含特定标识信息,以确定是否需要对解密后的路径参数的顺序进行逆序处理。优选地,在步骤S302之前,THNE接收到携带特定标识信息的第一消息。
方式二在实施过程中,比如,在接收到携带特定标识信息的第一消息之前,THNE在对第二消息中的路径参数进行拓扑隐藏时,在第二消息中添加特定标识信息,并将第二消息发送给拓扑隐藏网络之外的网元或终端;拓扑隐藏网络之外的网元或终端在发起第一消息时携带该特定标识信息。其中,携带特定标识信息可以表示保持路径顺序不变,也可以表示对解密后的路径参数的顺序进行逆序处理。
在实施过程中,可以将特定标识信息设置在加密后的第二消息中的路径参数中;或者,设置在加密前的第二消息中的路径参数中。其中,特定信息可以为以下之一:URI中特定的参数、特定的端口号、特定tag值、路径信息中特定的用户名,tokenized-by中特定的字符串。
或者,方式二在实施过程中,比如是,拓扑隐藏网络之外的网元或终端在发起第一消息时根据会话状态或方向来决定是否携带特定标识信息。
方式三、根据第一消息中的信息与本会话的会话建立请求消息的信息来确定是否需要对解密后的路径参数的顺序进行逆序处理。优选地,THEN可以通过判断第一消息与本会话的会话建立请求消息的头域中的一个字段的内容或者几个字段的内容是否相同,来确定是否需要对解密后的路径参数的顺序进行逆序处理;或者,THNE通过可以判断从第一消息中的信息获知的第一消息的方向与本会话的会话建立请求消息的方向是否一致,来确定是否需要对解密后的路径参数的顺序进行逆序处理。。
上述优选实施例中,THNE采用多种方式来判断是否需要对解密后的路径参数的顺序进行逆序处理,提高了系统的灵活性和适应能力。
优选地,THNE可以为I-CSCF或IBCF。
对应于上述路径参数的恢复方法,本发明实施例还提供了一种具有拓扑隐藏功能的装置。图4是根据本发明实施例的一种具有拓扑隐藏功能的装置的结构框图,如图4所示,该具有拓扑隐藏功能的装置40包括:解密模块42,用于在对第一消息中的路径参数进行恢复时,解密该路径参数;判断模块44,耦合至解密模块42,用于根据第一消息中的信息判断是否需要对解密模块42解密后的路径参数的顺序进行逆序处理;以及处理模块46,耦合至判断模块44,用于在判断模块44的判断结果为是的情况下,对解密后的路径参数的顺序进行逆序处理。
通过上述具有拓扑隐藏功能的装置40,判断模块44根据第一消息中的信息来判断是否需要对解密后的路径参数的顺序进行逆序处理,解决了相关技术中拓扑隐藏网络所采取的隐藏或恢复方法并不能保证恢复后的路径列表的顺序满足实际的需要的问题,提高了系统的有效性和处理能力。
优选地,多个具有拓扑隐藏功能的装置40设置在同一具有拓扑隐藏功能的实体中;或者,多个具有拓扑隐藏功能的装置40分别设置在多个具有拓扑隐藏功能的实体中。例如,请求消息进入拓扑隐藏网络时经过的具有拓扑隐藏功能的装置40与出拓扑隐藏网络时经过的具有拓扑隐藏功能的装置40不相同,而这两个装置可以位于同一THNE中,也可以位于不同THNE中。
根据本发明实施例,还提供了一种消息的发生装置。图5是根据本发明实施例的一种消息的发生装置的结构框图。如图5所示,该装置位于拓扑隐藏网络之外网元或终端。该消息的发生装置50包括:发送模块52,用于向具有拓扑隐藏功能的网元发送携带第一标识信息或特定标识信息的第一消息;其中,第一标识信息和特定标识信息均用于具有拓扑隐藏功能的网元在对第一消息中的路径参数进行恢复时,确定是否需要对解密后的路径参数的顺序进行逆序处理。
优选地,该装置还包括:接收模块54,耦合至发送模块52,用于接收来自具有拓扑隐藏功能的网元的第二消息,其中,第二消息中携带具有拓扑隐藏功能的网元在对第二消息中的路径参数进行隐藏时添加的与第一标识信息对应的第二标识信息或特定标识信息。
本发明实施例还提供了一种路径参数的恢复系统,该路径参数的恢复系统包括上述具有拓扑隐藏功能的装置40。图6是根据本发明实施例的一种路径参数的恢复系统的结构框图,如图6所示,该恢复拓扑隐藏的系统的一种可选实现是还包括:拓扑隐藏网络之外的网元或终端62,其中,拓扑隐藏网络之外的网元或终端62包括上述消息的发生装置50,发送模块52,耦合至解密模块42,可以用于向拓扑隐藏功能的装置40发送携带第一标识信息或特定标识信息的第一消息;拓扑隐藏功能的装置40中的判断模块44可以用于根据第一消息中的第一标识信息来确定是否需要对解密后的路径参数的顺序进行逆序处理;或者,根据第一消息中的信息判断第一消息中是否包含特定标识信息,以确定是否需要对解密后的路径参数的顺序进行逆序处理。
这样,拓扑隐藏网络之外的网元或终端62可以根据接收模块54接收到的第二消息中的第二标识信息或特定标识信息获取到发送模块52向拓扑隐藏功能的装置40发送第一消息时,需要携带的第一标识信息或特定标识信息。
在实施过程中,也可以是拓扑隐藏网络之外的网元或终端62首先获取第一标识信息或特定标识信息,然后,在向具有拓扑隐藏功能的装置40发起的第一消息中携带第一标识信息或特定标识信息。例如,拓扑隐藏网络之外的网元或终端62可以通过接收到的来自具有拓扑隐藏功能的装置40的第二消息中携带的第二标识信息或特定标识信息来分别获取第一标识信息或特定标识信息,也可以通过会话状态和会话方向推导出第一标识信息或特定标识信息。
根据本发明实施例,还提供了一种拓扑隐藏网络中路径参数的隐藏方法,该方法可以为:具有拓扑隐藏功能的网元在对会话建立请求消息的响应消息中的路径参数进行隐藏时,将该路径参数的顺序逆序后再进行加密。
通过上述步骤,采用在隐藏路径参数时预先对路径参数的顺序进行逆序处理的方式,解决了相关技术中拓扑隐藏网络所采取的隐藏或恢复方法并不能保证恢复后的路径列表的顺序满足实际的需要的问题,提高了系统的有效性和处理能力。
对应于上述的路径参数的隐藏方法,本发明实施例还提供了一种具有拓扑隐藏功能的网元。图7是根据本发明实施例一的具有拓扑隐藏功能的网元的结构框图,如图7所示,该具有拓扑隐藏功能的网元70包括:第一隐藏模块72,用于在对会会话建立请求消息的响应消息中的路径参数进行隐藏时,将该路径参数的顺序逆序后再进行加密。
根据本发明实施例,还提供了一种拓扑隐藏网络中路径参数的隐藏方法。该方法可以为:THNE在对路径参数进行隐藏时,将该路径参数的路径信息进行逐条加密。需要说明的是,这里的路径参数可以为所有消息中的路径参数。
通过上述步骤,采用在隐藏路径参数时对路径信息进行逐条加密的方式,解决了相关技术中拓扑隐藏网络所采取的隐藏或恢复方法并不能保证恢复后的路径列表的顺序满足实际的需要的问题,提高了系统的有效性和处理能力。
对应于上述路径参数的隐藏方法,本发明实施例还提供了一种具有拓扑隐藏功能的网元。图8是根据本发明实施例的一种具有拓扑隐藏功能的网元的结构框图,如图8所示,该具有拓扑隐藏功能的网元80包括:一个或多个具有拓扑隐藏功能的装置82,其中,每个具有拓扑隐藏功能的装置82包括:第二隐藏模块822,用于在对路径参数进行隐藏时,将该路径参数的路径信息进行逐条加密。
下面结合优选实施例和附图对上述实施例的实现过程进行详细说明。
优选实施例
本实施例提供了一种拓扑隐藏网络隐藏路径信息或恢复隐藏的路径信息的方法,解决恢复后的路径信息与实际路由顺序不符的问题,保证了参数中恢复后的路径信息满足实际路由的需要。
首先,本实施例中的一种具有拓扑隐藏功能的网元恢复隐藏的路径参数的方法可以为:具有拓扑隐藏功能的网元解密该路径参数;该网元根据第一消息中的第一标识来决定解密后的路径顺序保持不变,或逆序处理解密后的路径顺序;或该网元根据第一消息中有无特定标识决定解密后的路径顺序保持不变,或逆序处理解密后的路径顺序。
优选地,该具有拓扑隐藏功能的网元恢复隐藏的路径参数前,可以在隐藏路径参数的时候向第二消息中添加或者不添加标识(比如,第二标识,或者特定标识)并将第二消息发送给拓扑隐藏网络之外的网元或用户设备;拓扑隐藏网络之外的网元或用户设备向该网元发送第一消息,也可以根据接收到的第二消息携带或不携带该标识。其中,该标识可以放在加密后的路径参数中也可以放在加密前的路径参数中。
优选地,该网元恢复隐藏的路径参数前,拓扑隐藏网络之外的网元或用户设备也可以向该网元发送第一消息,携带标识。
其次,本实施例中的另一具有拓扑隐藏功能的网元恢复隐藏的路径参数的方法可以为:该具有拓扑隐藏功能的网元解密路径参数;该网元根据第一消息方向与该第一消息所在会话的会话建立请求消息方向的关系,决定解密后的路径顺序是保持不变,或逆序处理解密后的路径顺序。优选地,如果第一消息方向与该会话建立请求消息方向的一致,那么该具有拓扑隐藏功能的网元逆序处理解密后的路径顺序;如果第一消息方向与该会话建立请求消息方向的相反,那么该具有拓扑隐藏功能的网元保持解密后的路径顺序。
再次,本实施例中提供了一种具有拓扑隐藏功能的网元隐藏路径参数的方法可以为:该具有拓扑隐藏功能的网元收到会话建立请求消息后决定加密前的路径顺序保持不变,收到会话建立请求消息的响应消息后,决定逆序处理加密前的路径顺序;该具有拓扑隐藏功能的网元加密修改后的路径参数。
此外,本实施例中还提供了一种具有拓扑隐藏功能的网元隐藏路径参数的方法可以为:该具有拓扑隐藏功能的网元逐条加密路径参数中的路径信息。
可见,在本发明实施例中,THNE在恢复隐藏的路径参数(比如,Record-Route参数或Route参数)时候,根据隐藏的路径参数所在消息中的标识来决定是保持解密后的路径顺序不变,或是逆序处理解密后的路径顺序;或者,THNE在恢复隐藏的路径参数时候,根据隐藏的路径参数所在消息中是否携带标识来决定是保持解密后的路径顺序不变,或是逆序处理解密后的路径顺序;或者,THNE在恢复隐藏的路径参数时候,根据隐藏的路径参数所在的消息与本会话中的会话建立请求消息的方向是否一致,来决定是保持解密后的路径顺序不变,或是逆序处理解密后的路径顺序。
也可以是,THNE在隐藏路径参数的时候,如果是对会话建立请求消息中的参数进行拓扑隐藏,那么加密的时候保持路径顺序不变,如果是在会话建立请求的响应消息中的路径参数进行加密的话,那么逆序处理加密前的路径顺序。或者,THNE在隐藏路径参数的时候,对路径信息进行逐条加密。
实施例一
本实施例给出了一种THNE在恢复隐藏的路径参数时候,根据隐藏的路径参数所在消息中的标识来决定是保持解密后的路径顺序不变,或是逆序处理解密后的路径顺序;在本例中隐藏的路径参数所在消息中的标识是由THNE在隐藏路径参数的时候添加在第二消息中发送给拓扑网络外的网元或终端,由该拓扑网络外的网元或终端在发送第一消息时携带。
本实施例中THNE在隐藏路径参数的时候所添加的标识分为两种,一种在入口消息的响应消息中加的标识,本实施例中称为入口标识;一种是在出口消息中加的标识,本实施例中称为出口标识。也就是说,在响应消息中加的标识为入口标识,在请求消息中加的标识为出口标识。入口标识或出口标识,可以是URI中一个特定参数,也可以是一个用作标记的字符串,也可以是特定的端口号,也可以是增加一个tag。
图9是本发明实施例一的一种THNE恢复隐藏的路径参数的流程示意图,如图9所示,本实施例中的恢复隐藏的路径参数的方法流程可以为:
步骤S901:UEA向UE B发起会话请求。UEA向网元Ra发送会话请求消息。比如,发送SIPINVITE消息。
步骤S902:网元Ra收到会话请求消息后,将其自身的URI加入到Record-Route字段中,然后,将会话请求消息发送给IBCF1。比如,所加入的Record-Route为:
Record-Route:sip:Ra.net;lr
步骤S903:IBCF1收到从拓扑隐藏网络外部发送来的会话请求后(即收到入口消息后),IBCF1将其自身的URI加入到Record-Route字段的顶部,然后,将消息发给同一网络中的网元A。比如,此时的Record-Route为:
Record-Route:sip:IBCF1.thig.net;lr
Record-Route:sip:Ra.net;lr
步骤S904:网元A收到会话请求消息后,将其自身的URI加入到Record-Route字段的顶部,然后,将消息转发给网元B。网元B将其自身的URI加入到Record-Route字段的顶部,然后将消息转发给网元C。网元C将其自身的URI加入到Record-Route字段的顶部,然后,将消息转发给网元IBCF2。比如此时的Record-Route为:
Record-Route:sip:C.thig.net;lr
Record-Route:sip:B.thig.net;lr
Record-Route:sip:A.thig.net;lr
Record-Route:sip:IBCF1.thig.net;lr
Record-Route:sip:Ra.net;lr
步骤S905:IBCF2收到请求消息后,在将请求消息发送给拓扑隐藏网络的外部网之前,IBCF2先隐藏路径参数,需要隐藏的路径参数比如是Via、Route、Record-Route、Service-Route和Path等。在此说明对Record-Route头域的参数进行加密以隐藏路径参数,本实施例中需要对sip:C.thig.net;lr,sip:B.thig.net;lr,sip:A.thig.net;lr这三个路径列表进行加密。其中,携带标识,本实施例中称作出口标识。
具体比如是,可以在隐藏的路径参数所在的头域参数中携带该标识,可以是在用户名信息中携带该标识,也可以通过一个tag值来作为该标识,也可以在tokenized-by的参数值中携带该标识,比如是:
Record-Route:sip:IBCF2.thig.net;lr
Record-Route:sip:Token(XXB);tokenized-by=IBCF2.home1.net(此头域的参数中携带出口标识)
Record-Route:sip:IBCF1.thig.net;lr
Record-Route:sip:Ra.net;lr
其中,sip:Token(XXB)表示对sip:C.thig.net;lr,sip:B.thig.net;lr,sip:A.thig.net;lr这三个路径参数依次加密后所得的字符串。
或者,具体比如是,对拓扑隐藏网元即IBCF2所在的头域参数中携带出口标识,可以用户名信息中携带该标识,也可以通过tag值作为该标识,或者使用专用的端口号来作为该标识,比如是:
Record-Route:sip:IBCF2.thig.net;lr(此头域的参数中携带出口标识)
Record-Route:sip:Token(XXB);tokenized-by=IBCF2.home 1.net
Record-Route:sip:IBCF1.thig.net;lr
Record-Route:sip:Ra.net;lr
其中,sip:Token(XXB)表示对sip:C.thig.net;lr,sip:B.thig.net;lr,sip:A.thig.net;lr这三个路径参数依次加密后所得的字符串。
再或者,具体比如是,在加密前的路径参数中增加出口标识,然后,依次加密成一条加密串。对Record-Route的加密后比如是:
Record-Route:sip:IBCF2.thig.net;lr
Record-Route:sip:Token(XXB);tokenized-by=IBCF2.home 1.net
Record-Route:sip:IBCF1.thig.net;lr
Record-Route:sip:Ra.net;lr
其中,sip:Token(XXB)表示对sip:C.thig.net;lr,sip:B.thig.net;lr,sip:A.thig.net;lr这三个路径参数添加出口标识后依次加密所得的字符串。
步骤S906:IBCF2将会话请求消息发送给网元Rb。
步骤S907:网元Rb将会话请求消息发给UE B。其中,Record-Route头域比如是:
Record-Route:sip:Rb.net;lr
Record-Route:sip:IBCF2.thig.net;lr(比如,在此处的头域参数中携带出口标识)
Record-Route:sip:Token(XXB);tokenized-by=IBCF2.home1.net(或者比如,在此处的头域参数中携带出口标识)
Record-Route:sip:IBCF1.thig.net;lr
Record-Route:sip:Ra.net;lr
步骤S908:UE B收到会话请求消息。从Record-Route头域中获得URI列表,作为本会话内的后续请求的路由集。此路由集比如是:
sip:Rb.net;lr
sip:IBCF2.thig.net;lr(比如,此头域的参数中携带出口标识)
sip:Token(XXB);tokenized-by=IBCF2.home1.net(或者比如,在此处的头域参数中携带出口标识)
sip:IBCF1.thig.net;lr
sip:Ra.net;lr
步骤S909:UE B返回响应消息。UE B向网元Rb发送响应消息,其中的Record-Route头域从会话请求消息中复制获得,携带标识。即跟步骤S907中请求消息中Record-Route头域一样。比如是:
Record-Route:sip:Rb.net;lr
Record-Route:sip:IBCF2.thig.net;lr(比如,在此处的头域参数中携带出口标识)
Record-Route:sip:Token(XXB);tokenized-by=IBCF2.home 1.net(或者比如,此头域的参数中携带出口标识)
Record-Route:sip:IBCF1.thig.net;lr
Record-Route:sip:Ra.net;lr
步骤S910:网元Rb将响应消息转发给IBCF2,不改变其中的Record-Route头域。
步骤S911:IBCF2收到响应消息后,恢复其隐藏的路径参数。IBCF2根据该路径参数中携带的出口标识,在解密字符串后,保持路径参数的顺序不变。比如是:
Record-Route:sip:Rb.net;lr
Record-Route:sip:IBCF2.thig.net;lr
Record-Route:sip:C.thig.net;lr
Record-Route:sip:B.thig.net;lr
Record-Route:sip:A.thig.net;lr
Record-Route:sip:IBCF1.thig.net;lr
Record-Route:sip:Ra.net;lr
步骤S912~步骤S913:IBCF2将响应消息发给网元C,网元C将响应消息转发给网元B,网元B将响应消息转发给网元A,网元A将响应消息转发给IBCF1。均不改变其中的Record-Route头域。
步骤S914:IBCF1收到响应消息后,在将响应消息发送给拓扑隐藏网络的外部网元之前,IBCF1隐藏路径参数。在此说明对Record-Route中路径参数进行加密,即对sip:C.thig.net;lr,sip:B.thig.net;lr,sip:A.thig.net;lr这三个路径参数进行加密。其中携带标识,在本实施例中将此标识称作入口标识。
具体比如是,在隐藏的路径参数所在的头域参数中携带该标识,可以是在用户名信息中携带该标识,也可以通过一个tag值来作为该标识,也可以在tokenized-by的参数值中携带该标识,
Record-Route:sip:Rb.net;lr
Record-Route:sip:IBCF2.thig.net;lr
Record-Route:sip:Token(XXA);tokenized-by=IBCF1.home1.net(比如,在此处的头域参数中携带入口标识)
Record-Route:sip:IBCF1.thig.net;lr
Record-Route:sip:Ra.net;lr
其中,sip:Token(XXA)表示对sip:C.thig.net;lr,sip:B.thig.net;lr,sip:A.thig.net;lr这三个路径信息依次加密后所得的字符串。
或者,具体比如是,对拓扑隐藏网元即IBCF1所在的头域参数中携带该标识,可以用户名信息中携带该标识,也可以通过tag值作为该标识,或者使用专用的端口号来作为该标识,比如是:
Record-Route:sip:Rb.net;lr
Record-Route:sip:IBCF2.thig.net;lr
Record-Route:sip:Token(XXA);tokenized-by=IBCF1.home1.net
Record-Route:sip:IBCF1.thig.net;lr(比如,在此处的头域参数中携带入口标识)
Record-Route:sip:Ra.net;lr
其中,sip:Token(XXA)表示对sip:C.thig.net;lr,sip:B.thig.net;lr,sip:A.thig.net;lr这三个URI依次加密后所得的加密串。
再或者,在加密前的URI列表中增加入口标识,然后依次加密成一条加密串。对Record-Route的加密后比如是:
Record-Route:sip:Rb.net;lr
Record-Route:sip:IBCF2.thig.net;lr
Record-Route:sip:Token(XXA);tokenized-by=IBCF1.home1.net
Record-Route:sip:IBCF1.thig.net;lr
Record-Route:sip:Ra.net;lr
其中,sip:Token(XXA)表示对sip:C.thig.net;lr,sip:B.thig.net;lr,sip:A.thig.net;lr这三个路径信息添加入口标识后依次加密所得的加密串。
步骤S915:IBCF1将携带加密参数的响应消息发送给网元Ra。
步骤S916:网元Ra将响应消息转发给UE A。根据步骤S914,其中,Record-Route头域比如是:
Record-Route:sip:Rb.net;lr
Record-Route:sip:IBCF2.thig.net;lr
Record-Route:sip:Token(XXA);tokenized-by=IBCF1.home1.net(比如,在此处的头域参数中携带入口标识)
Record-Route:sip:IBCF1.thig.net;lr(或者比如,在此处的头域参数中携带入口标识)
Record-Route:sip:Ra.net;lr
步骤S917:UEA收到响应消息。从Record-Route头域中获得路径列表,将该列表逆序后作为本会话内的后续请求的路由集。此路由集比如是:
sip:Ra.net;lr
sip:IBCF1.thig.net;lr(比如,在此处的头域参数中携带入口标识)
sip:Token(XXA);tokenized-by=IBCF1.home1.net(或者比如,在此处的头域参数中携带入口标识)
sip:IBCF2.thig.net;lr
sip:Rb.net;lr
步骤S918:UE A向Ra发送本会话内的后续请求消息,其中的Route头域中填充路由集中的URI列表。比如是:
Route:sip:Ra.net;lr
Route:sip:IBCF1.thig.net;lr(比如,在此处的头域参数中携带入口标识)
Route:sip:Token(XXA);tokenized-by=IBCF1.home1.net(或者比如,在此处的头域参数中携带入口标识)
Route:sip:IBCF2.thig.net;lr
Route:sip:Rb.net;lr
步骤S919:网元Ra将其自身的路径信息从Route头域中删除,将消息转发给IBCF1。
步骤S920:IBCF1收到请求消息后,恢复其隐藏的路径参数。IBCF2根据该路径参数中携带的入口标识,在解密字符串后,逆序处理路径参数的顺序。恢复后的Route头域比如是:
Route:sip:A.thig.net;lr
Route:sip:B.thig.net;lr
Route:sip:C.thig.net;lr
Route:sip:IBCF2.thig.net;lr
Route:sip:Rb.net;lr
步骤S921~步骤S924:IBCF1将请求消息转发给网元A。网元A收到请求消息后将消息转发给网元B。然后网元B将请求消息转发给网元C,网元C将请求消息转发给IBCF2,IBCF2将请求消息转发给Rb,Rb将请求消息转发给UE B。每个网元在转发之前均会将自身的路径信息从Route头域中删除。
步骤S925~步骤S930:UE B向UEA返回响应消息。该消息先后经过Rb、IBCF2、网元C、网元B、网元A、IBCF1、Ra,最后到达UE A。
步骤S931:继续后续的会话流程。
实施例二
本实施例给出了一种THNE在恢复隐藏的路径参数时候,根据隐藏的路径参数所在消息中的标识来决定是保持解密后的路径顺序不变,或是逆序处理解密后的路径顺序;在本例中隐藏的路径参数所在消息中的标识是由THNE在隐藏路径参数的时候添加的。
本实施例中的标识同实施例一中的描述。
图10是本发明实施例二的一种THNE恢复隐藏的路径参数的流程示意图,如图10所示,本实施例的恢复隐藏的路径参数的方法流程可以为:
步骤S1001~步骤S1017:同实施例一中的步骤S901~步骤S917。
步骤S1018:UE B向UE A发送请求消息。UE B根据路由集将请求消息发给网元Rb,其中的Route头域中填充路由集中的路径列表。比如是:
Route:sip:Rb.net;lr
Route:sip:IBCF2.thig.net;lr(比如,在此处的头域参数中携带出口标识)
Route:sip:Token(XXB);tokenized-by=IBCF2.home1.net(或者比如,在此处的头域参数中携带出口标识)
Route:sip:IBCF1.thig.net;lr
Route:sip:Ra.net;lr
步骤S1019:网元Rb将其自身的路径信息从Route头域的顶端删除,然后,将请求消息转发给IBCF2。
步骤S1020:IBCF2收到请求消息后,恢复其隐藏的路径参数。IBCF2根据该路径参数中携带的出口标识,在解密字符串后,保持路径参数的顺序不变。恢复后的Route头域比如是:
Route:sip:C.thig.net;lr
Route:sip:B.thig.net;lr
Route:sip:A.thig.net;lr
Route:sip:IBCF1.thig.net;lr
Route:sip:Ra.net;lr
步骤S1021:IBCF2向网元C发送请求消息,网元C将请求消息转发给网元B,网元B将请求消息转发给网元A。每个网元在转发消息之前均将其自身的路径信息从Route头域中删除。
步骤S1022~步骤S1024:网元A将请求消息转发给IBCF1。IBCF1将请求消息转发给网元Ra,网元Ra将请求消息转发给UE A。每个网元在转发之前均会将自身的URI从Route头域中删除。
步骤S1025~步骤S1030:UEA向UE B返回响应消息。该消息先后经过Ra、IBCF1、网元A、网元B、网元C、IBCF2、Rb,最后到达UE B。
步骤S1031:继续后续的会话流程。
实施例三
本实施例给出了一种THNE在恢复隐藏的路径参数时候,根据隐藏的路径参数所在消息中是否携带标识来决定是保持解密后的路径顺序不变,或是逆序处理解密后的路径顺序。
例如,THNE在隐藏路径参数的时候,如果是入口消息的响应消息中的参数需要隐藏其路径信息,那么在路径参数中添加标识;如果是出口消息中的参数需要隐藏其路径信息,那么在路径参数中不添加标识。用户设备收到的消息中如果携带了该标识,那么其在后续的请求消息中携带该标识;如果用户设备收到的消息中如果没有携带了该标识,那么其在后续的请求消息中不携带该标识。
其中,该标识可以是路径信息中一个特定参数,也可以是路径信息中特定的用户名,也可以是特定的端口号,也可以是一个tag。
图11是本发明实施例三的一种THNE恢复隐藏的路径参数的流程示意图,如图11所示,本实施例的恢复隐藏的路径参数的方法流程可以为:
步骤S1101~步骤S1104:同实施例一中步骤S901~步骤S904。
步骤S1105:IBCF2收到请求消息后,在将请求消息发送给拓扑隐藏网络的外部网之前,IBCF2先隐藏路径参数。此消息是出口消息,IBCF2不添加标识。比如是:
Record-Route:sip:IBCF2.thig.net;lr
Record-Route:sip:Token(XXB);tokenized-by=IBCF2.home1.net
Record-Route:sip:IBCF1.thig.net;lr
Record-Route:sip:Ra.net;lr
其中,sip:Token(XXB)表示对sip:C.thig.net;lr,sip:B.thig.net;lr,sip:A.thig.net;lr这三个路径参数依次加密后所得的字符串。
步骤S1106~步骤S1110:同实施例一中的步骤S906~步骤S910,其中不同于步骤S909,在步骤S1109中UE B不携带标识。
步骤S1111:IBCF2收到响应消息后,恢复其隐藏的路径参数。在消息中没有携带标识,在解密字符串后,保持路径参数的顺序不变。比如是:
Record-Route:sip:Rb.net;lr
Record-Route:sip:IBCF2.thig.net;lr
Record-Route:sip:C.thig.net;lr
Record-Route:sip:B.thig.net;lr
Record-Route:sip:A.thig.net;lr
Record-Route:sip:IBCF1.thig.net;lr
Record-Route:sip:Ra.net;lr
步骤S1112~步骤S1113:同实施例一中的步骤S912~步骤S913。
步骤S1114:IBCF1收到响应消息后,在将响应消息发送给拓扑隐藏网络的外部网元之前,IBCF1隐藏路径参数。具体方法同实施例一中的步骤S914,只是将标识代替步骤S914的入口标识。
步骤S1115~步骤S1117:同实施例一中的步骤S915~步骤S917。
需要说明的是,步骤S1118a~步骤S1131a是本实施例的一种可选流程a,步骤S1118b~步骤S1131b是本实施例的一种可选流程b。这两种可选流程在具体实施的时候可以任选一种,也可以两种都存在。
步骤S1118a~步骤S1119a:同实施例一中的步骤S918~步骤S919。
步骤S520a:IBCF1收到请求消息后,恢复其隐藏的路径参数。在消息中没有携带标识,在解密字符串后,保持路径参数的顺序不变。恢复后的Route头域比如是:
Route:sip:A.thig.net;lr
Route:sip:B.thig.net;lr
Route:sip:C.thig.net;lr
Route:sip:IBCF2.thig.net;lr
Route:sip:Rb.net;lr
步骤S1121a~步骤S1131a:同实施例一中的步骤S921~步骤S931。
步骤S1118b~步骤S1119b:同实施例二中的步骤S1018~步骤S1019。
步骤S1120b:IBCF2收到请求消息后,恢复其隐藏的路径参数。在消息中携带标识,在解密字符串后,逆序处理路径参数的顺序。恢复后的Route头域比如是:
Route:sip:C.thig.net;lr
Route:sip:B.thig.net;lr
Route:sip:A.thig.net;lr
Route:sip:IBCF1.thig.net;lr
Route:sip:Ra.net;lr
步骤S1121b~步骤S1131b:同实施例二中的步骤S1021~步骤S1031。
本实施例的另外一种变形是:在步骤S1105中添加标识,在步骤S1114中不添加标识。在步骤S1120a中,IBCF1根据消息中没有带标识,在解密字符串后,保持路径参数的顺序不变。在步骤S1105中添加的标识带给UE B,UE B在步骤1118b中携带该标识。在步骤S1120b中,IBCF2根据标识解密符串后,逆序处理路径参数的顺序。
实施例四
实施例三给出了一种THNE在恢复隐藏的路径参数时候,根据隐藏的路径参数所在消息中的标识来决定是保持解密后的路径顺序不变,或是逆序处理解密后的路径顺序。在本实施例中隐藏的路径参数所在消息中的标识是由用户设备在会话请求消息之后的请求消息中添加的。其中,用户设备在消息中添加的标识可以分为两种,一种是由主叫侧添加的标识,本实施例中称为主叫标识;一种是由被叫侧添加的标识,本实施中称为被叫标识。
优选地,上述标识可以是特定的用户名,也可以是路由参数中的特定参数,也可以是特定的端口号,还也可以是一个tag。
其中,该标识可以放在SIP消息的头域中,比如放在From头域中,或者放在To头域中,或者放在Contact头域中等。
图12是本发明实施例四的一种THNE恢复隐藏的路径参数的流程示意图,如图12所示,本实施例的恢复隐藏的路径参数的方法流程可以为:
步骤S1201~步骤S1204:同实施例一中步骤S901~步骤S904。
步骤S1205:IBCF2收到请求消息后,在将请求消息发送给拓扑隐藏网络的外部网元之前,IBCF2先隐藏路径参数。在此说明对Record-Route相关的URI进行加密,即对sip:C.thig.net;lr,sip:B.thig.net;lr,sip:A.thig.net;lr这三个路径参数进行加密成一个字符串。比如:
Record-Route:sip:IBCF2.thig.net;lr
Record-Route:sip:Token(XXB);tokenized-by=IBCF2.home1.net
Record-Route:sip:IBCF1.thig.net;lr
Record-Route:sip:Ra.net;lr
其中,sip:Token(XXB)表示对sip:C.thig.net;lr,sip:B.thig.net;lr,sip:A.thig.net;lr这三个路径参数加密后所得的字符串。
步骤S1206~步骤S1207:IBCF2将会话请求消息发送给网元Rb。网元Rb将会话请求消息发给UE B。每个网元在转发消息之前均把其自身的URI加在Record-Route头域的顶部。
步骤S1208:UE B收到会话请求消息。从Record-Route头域中获得路径信息,作为本会话内的后续请求的路由集。此路由集比如是:
sip:Rb.net;lr
sip:IBCF2.thig.net;lr
sip:Token(XXB);tokenized-by=IBCF2.home1.net
sip:IBCF1.thig.net;lr
sip:Ra.net;lr
步骤S1209:UE B返回响应消息。UE B向网元Rb发送响应消息,其中的Record-Route头域直接从会话请求消息中复制获得。比如是:
Record-Route:sip:Rb.net;lr
Record-Route:sip:IBCF2.thig.net;lr
Record-Route:sip:Token(XXB);tokenized-by=IBCF2.home1.net
Record-Route:sip:IBCF1.thig.net;lr
Record-Route:sip:Ra.net;lr
步骤S1210:网元Rb将响应消息转发给IBCF2,不改变其中的Record-Route头域。
步骤S1211:IBCF2收到响应消息后,恢复其隐藏的路径参数。解密字符串后,保持其顺序不变。比如是:
Record-Route:sip:Rb.net;lr
Record-Route:sip:IBCF2.thig.net;lr
Record-Route:sip:C.thig.net;lr
Record-Route:sip:B.thig.net;lr
Record-Route:sip:A.thig.net;lr
Record-Route:sip:IBCF1.thig.net;lr
Record-Route:sip:Ra.net;lr
步骤S1212~步骤S1213:IBCF2将响应消息发给网元C,网元C将响应消息转发给网元B,网元B将响应消息转发给网元A,网元A将响应消息转发给IBCF1。均不改变其中的Record-Route头域。
步骤S1214:IBCF1收到响应消息后,在将响应消息发送给拓扑隐藏网络的外部网元之前,IBCF1隐藏路径参数。在此说明对Record-Route中路径参数进行加密。比如是:
Record-Route:sip:Rb.net;lr
Record-Route:sip:IBCF2.thig.net;lr
Record-Route:sip:Token(XXA);tokenized-by=IBCF1.home1.net
Record-Route:sip:IBCF1.thig.net;lr
Record-Route:sip:Ra.net;lr
其中,sip:Token(XXA)表示对sip:C.thig.net;lr,sip:B.thig.net;lr,sip:A.thig.net;lr这三个路径信息依次加密后所得的字符串。
步骤S1215:IBCF1将响应消息发送给网元Ra。
步骤S1216:网元Ra将响应消息转发给UEA。其中,Record-Route比如是:
Record-Route:sip:Rb.net;lr
Record-Route:sip:IBCF2.thig.net;lr
Record-Route:sip:Token(XXA);tokenized-by=IBCF1.home1.net
Record-Route:sip:IBCF1.thig.net;lr
Record-Route:sip:Ra.net;lr
步骤S1217:UE A收到响应消息。从Record-Route头域中获得路径信息列表,将该列表逆序后作为本会话内的后续请求的路由集。此路由集比如是:
sip:Ra.net;lr
sip:IBCF1.thig.net;lr
sip:Token(XXA);tokenized-by=IBCF1.home1.net
sip:IBCF2.thig.net;lr
sip:Rb.net;lr
步骤S1218:UEA向Ra发送本会话内的后续请求消息,携带标识,此处称为主叫标识。其中的Route头域中填充路由集中的URI列表。比如是:
Route:sip:Ra.net;lr
Route:sip:IBCF1.thig.net;lr
Route:sip:Token(XXA);tokenized-by=IBCF1.home1.net
Route:sip:IBCF2.thig.net;lr
Route:sip:Rb.net;lr
其中,携带标识的方法可以是:在From参数中携带,或者在Contact参数中携带,或者在To参数中携带,或者在路径参数中携带。
步骤S1219:网元Ra将其自身的路径信息从Route头域中删除,将消息转发给IBCF1。
步骤S1220:IBCF1收到请求消息后,恢复其隐藏的路径参数。IBCF1根据该请求消息中携带的主叫标识,在解密字符串后,逆序处理路径参数的顺序。恢复后的Route头域比如是:
Route:sip:A.thig.net;lr
Route:sip:B.thig.net;lr
Route:sip:C.thig.net;lr
Route:sip:IBCF2.thig.net;lr
Route:sip:Rb.net;lr
步骤S1221~步骤S1231:同实施例一中的步骤S921~步骤S931。
实施例五
本实施例给出一种THNE在恢复隐藏的路径参数时候,根据隐藏的路径参数所在消息中的标识来决定是保持解密后的路径顺序不变,或是逆序处理解密后的路径顺序;在本例中隐藏的路径参数所在消息中的标识是由用户设备在会话请求消息之后的请求消息中添加的。
用户设备在消息中添加的标识同实施例四中的描述。
图13是本发明实施例五的一种THNE恢复隐藏的路径参数的流程示意图,如图13所示,本实施例的恢复隐藏的路径参数的方法流程可以为:
步骤S1301~步骤S1317:同实施例四中步骤S1201~S1217。
步骤S1318:UE B向网元Rb发送本会话内的后续请求消息,携带标识,此处称为被叫标识。其中的Route头域中填充路由集中的URI列表。比如是:
Route:sip:Rb.net;lr
Route:sip:IBCF2.thig.net;lr
Route:sip:Token(XXB);tokenized-by=IBCF2.home1.net
Route:sip:IBCF1.thig.net;lr
Route:sip:Ra.net;lr
其中,携带标识的方法可以是:在From参数中携带,或者在Contact参数中携带,或者在To参数中携带,或者在路径参数中携带。
步骤S1319:网元Rb将其自身的路径信息从Route头域的顶端删除,然后,将请求消息转发给IBCF2。
步骤S1320:IBCF2收到请求消息后,恢复其隐藏的路径参数。IBCF2根据该路径参数中携带的被叫标识,在解密字符串后,保持原来的顺序不变。恢复后的Route头域比如是:
Route:sip:C.thig.net;lr
Route:sip:B.thig.net;lr
Route:sip:A.thig.net;lr
Route:sip:IBCF1.thig.net;lr
Route:sip:Ra.net;lr
步骤S1321~步骤S1331:同实施例二中的步骤S1021~步骤S1031。
实施例六
本实施例给出了一种THNE在恢复隐藏的路径参数时候,根据消息(例如,UPDATE,INFO,REFER等)中是否携带标识来决定是保持解密后的路径顺序不变,或是逆序处理解密后的路径顺序。
在本例中隐藏的路径参数所在消息中的标识是由用户设备在会话请求消息之后的请求消息中添加的。如果发送请求消息的用户设备是主叫侧,那么在请求消息中添加标识;如果发送请求消息的用户设备是被叫侧,那么在请求消息中不添加标识。其中,用户设备在消息中添加的标识同实施例四中的描述。
图14是本发明实施例六的一种THNE恢复隐藏的路径参数的流程示意图,如图14所示,本实施例的恢复隐藏的路径参数的方法流程可以为:
步骤S1401~步骤S1417:同实施例四中的步骤S1201~步骤S1217。
需要说明的是,步骤S1418a~步骤S1431a是本实施例的一种可选流程a,步骤S1418b~步骤S1431b是本实施例的一种可选流程b。这两种可选流程在具体实施的时候可以任选一种,也可以两种都存在。
步骤S1418a:UEA向Ra发送本会话内的后续请求消息,UEA位于主叫侧,所以携带标识。请求消息中的Route头域中填充路由集中的URI列表,比如是:
Route:sip:Ra.net;lr
Route:sip:IBCF1.thig.net;lr
Route:sip:Token(XXA);tokenized-by=IBCF 1.home1.net
Route:sip:IBCF2.thig.net;lr
Route:sip:Rb.net;lr
其中,携带标识的方法可以是:在From参数中携带,或者在Contact参数中携带,或者在To参数中携带,或者在路径参数中携带。
步骤S1419a:网元Ra将其自身的路径信息从Route头域中删除,将消息转发给IBCF1。
步骤S1420a:IBCF1收到请求消息后,恢复其隐藏的路径参数。IBCF1根据消息中携带了标识,在解密字符串后,逆序处理路径参数的顺序。恢复后的Route头域比如是:
Route:sip:A.thig.net;lr
Route:sip:B.thig.net;lr
Route:sip:C.thig.net;lr
Route:sip:IBCF2.thig.net;lr
Route:sip:Rb.net;lr
步骤S1421a~步骤S1431a:同实施例四中的步骤1221~步骤1231。
步骤S1418b:UE B向RB发送本会话内的后续请求消息,UE B位于被叫侧,所以,不携带标识。请求消息中的Route头域中填充路由集中的URI列表,比如是:
Route:sip:Rb.net;lr
Route:sip:IBCF2.thig.net;lr
Route:sip:Token(XXB);tokenized-by=IBCF2.home1.net
Route:sip:IBCF1.thig.net;lr
Route:sip:Ra.net;lr
步骤S1419b:网元Rb将其自身的路径信息从Route头域中删除,将消息转发给IBCF2。
步骤S1420b:IBCF2收到请求消息后,恢复其隐藏的路径参数。IBCF2根据消息中没有携带标识,在解密字符串后,保持路径参数的顺序不变。恢复后的Route头域比如是:
Route:sip:C.thig.net;lr
Route:sip:B.thig.net;lr
Route:sip:A.thig.net;lr
Route:sip:IBCF1.thig.net;lr
Route:sip:Ra.net;lr
步骤S1421b~步骤S1431b:同实施例五中的步骤S1321~步骤S1331。
本实施例的另外一种变形是:在步骤S1418a中,位于主叫侧的UE A在请求消息中不携带标识,在步骤S1420a中IBCF1根据消息中没有带标识,在解密字符串后,逆序处理路径参数的顺序。在步骤S1418b中位于被叫侧的UE B在请求消息中携带标识。在步骤S1420b中,IBCF2根据消息中携带了标识,解密符串后,逆序处理路径参数的顺序,保持路径参数的顺序不变。
实施例七
本实施例给出在恢复隐藏的路径参数时候,根据隐藏的路径参数所在消息与会话建立请求消息的方向是否一致,来决定是保持解密后的路径顺序不变,或是逆序处理解密后的路径顺序。
本实施例中如果隐藏的路径参数所在消息与会话建立请求消息的方向一致,那么逆序处理解密后的路径顺序;如果隐藏的路径参数所在消息与会话建立请求消息的方向相反,那么保持解密后的路径顺序不变。
图15是本发明实施例七的一种THNE恢复隐藏的路径参数的流程示意图,如图15所示,本实施例的恢复隐藏的路径参数的方法流程可以为:
步骤S1501~步骤S1502:同实施例四中的步骤S1201~步骤S1202。
步骤S1503:IBCF1收到会话请求消息后,获知该消息的信息。该消息的信息比如是方法名、From头域、To头域、Contact头域的内容等。IBCF1将其自身的URI加入到Record-Route字段的顶部,然后将消息发给网元A。
步骤S1504:同实施例一中的步骤S904。
步骤S1505:IBCF2收到会话请求消息后,获知该消息的信息,比如是方法名、From头域、To头域、Contact头域的内容等。IBCF2隐藏路径参数。在此说明对Record-Route相关的URI进行加密。比如是:
Record-Route:sip:IBCF2.thig.net;lr
Record-Route:sip:Token(XXB);tokenized-by=IBCF2.home1.net
Record-Route:sip:IBCF1.thig.net;lr
Record-Route:sip:Ra.net;lr
其中sip:Token(XXB)表示对sip:C.thig.net;lr,sip:B.thig.net;lr,sip:A.thig.net;lr这三个路径信息依次加密后所得的字符串。
步骤S1506~步骤S1510:同实施例四中的步骤S1206~步骤S1210。
步骤S1511:IBCF2收到响应消息后,恢复其隐藏的路径参数。根据响应消息中的信息和本会话的会话建立请求消息中的信息,进行判断。在本例中,方法名比如是200OK,响应消息的From头域和To头域的内容与步骤S1505中收到的会话建立请求消息中的一样,或者响应消息的Contact头域的内容与步骤S1505中收到的会话建立请求消息中的一样,那么在解密字符串后,保持路径参数的顺序不变。或者,比如IBCF2根据响应消息中的信息获知该消息的方向与本会话的会话建立请求消息的方向相反,那么在解密字符串后,保持路径参数的顺序不变。比如是:
Record-Route:sip:Rb.net;lr
Record-Route:sip:IBCF2.thig.net;lr
Record-Route:sip:C.thig.net;lr
Record-Route:sip:B.thig.net;lr
Record-Route:sip:A.thig.net;lr
Record-Route:sip:IBCF1.thig.net;lr
Record-Route:sip:Ra.net;lr
步骤S1512~步骤S1513:同实施例四中的步骤S1212~步骤S1213。
步骤S1514:IBCF1收到响应消息后,IBCF1隐藏路径参数。在此对说明Record-Route中的路径列表进行加密。比如是:
Record-Route:sip:Rb.net;lr
Record-Route:sip:IBCF2.thig.net;lr
Record-Route:sip:Token(XXA);tokenized-by=IBCF1.home1.net(携带入口标识)
Record-Route:sip:IBCF1.thig.net;lr
Record-Route:sip:Ra.net;lr
其中,sip:Token(XXA)表示对sip:C.thig.net;lr,sip:B.thig.net;lr,sip:A.thig.net;lr这三个路径信息依次加密后所得的加密串。
步骤S1515~步骤S1517:同实施例四中的步骤S1215~步骤S1217。
步骤S1518:UE A向Ra发送本会话内的后续请求消息。其中的Route头域中填充路由集中的路径列表。比如是:
Route:sip:Ra.net;lr
Route:sip:IBCF1.thig.net;lr
Route:sip:Token(XXA);tokenized-by=IBCF1.home1.net
Route:sip:IBCF2.thig.net;lr
Route:sip:Rb.net;lr
步骤S1519:网元Ra将其自身的路径信息从Route头域中删除,将消息转发给IBCF1。
步骤S1520:IBCF1收到请求消息后,恢复其隐藏的路径参数。比如IBCF1根据请求消息中的信息和本会话的会话建立请求消息中的信息,进行判断。在本例中,方法名比如是UPDATE,请求消息的From头域和To头域的内容与步骤S1502中收到的会话建立请求消息中的一样,或者请求消息的Contact头域的内容与步骤S1505中收到的会话建立请求消息中的一样,那么在解密字符串后,逆序处理路径参数。或者,比如IBCF1根据请求消息中的信息获知该消息的方向与本会话的会话建立请求消息的方向相同,那么在解密字符串后,逆序处理路径参数。恢复后的Route头域比如是:
Route:sip:A.thig.net;lr
Route:sip:B.thig.net;lr
Route:sip:C.thig.net;lr
Route:sip:IBCF2.thig.net;lr
Route:sip:Rb.net;lr
步骤S1521~步骤1531:同实施例四中的步骤S1221~步骤S1231。
实施例八
本实施例给出在恢复隐藏的路径参数时候,根据隐藏的路径参数所在消息与会话建立请求消息的方向是否一致,来决定是保持解密后的路径顺序不变,或是逆序处理解密后的路径顺序。
本实施例中如果隐藏的路径参数所在消息与会话建立请求消息的方向一致,那么逆序处理解密后的路径顺序;如果隐藏的路径参数所在消息与会话建立请求消息的方向相反,那么保持解密后的路径顺序不变。
图16是本发明实施例八的一种THNE恢复隐藏的路径参数的流程示意图,如图16所示,本实施例的恢复隐藏的路径参数的方法流程可以为:
步骤S1601~步骤S1617:同实施例七中步骤S1501~步骤S1517。
步骤S1618:UE B向网元Rb发送本会话内的后续请求消息。其中的Route头域中填充路由集中的路径列表。比如是:
Route:sip:Rb.net;lr
Route:sip:IBCF2.thig.net;lr
Route:sip:Token(XXB);tokenized-by=IBCF2.home1.net
Route:sip:IBCF1.thig.net;lr
Route:sip:Ra.net;lr
其中,sip:Token(XXB)表示对sip:C.thig.net;lr,sip:B.thig.net;lr,sip:A.thig.net;lr这三个路径信息依次加密后所得的字符串。
步骤S1619:网元Rb将其自身的路径信息从Route头域的顶端删除,然后,将请求消息转发给IBCF2。
步骤S1620:IBCF2收到请求消息后,恢复其隐藏的路径参数。比如IBCF2根据请求消息中的信息和本会话的会话建立请求消息中的信息,进行判断。在本例中,方法名比如是UPDATE,请求消息的From头域和To头域的内容与步骤S1502中收到的会话建立请求消息中的不一样,或者请求消息的Contact头域的内容与步骤S1505中收到的会话建立请求消息中的不一样,那么在解密字符串后,保持路径列表的顺序不变。或者,比如IBCF2根据请求消息中的信息获知该消息的方向与本会话的会话建立请求消息的方向相反,那么在解密字符串后,保持路径列表的顺序不变。恢复后的Route头域比如是:
Route:sip:C.thig.net;lr
Route:sip:B.thig.net;lr
Route:sip:A.thig.net;lr
Route:sip:IBCF1.thig.net;lr
Route:sip:Ra.net;lr
步骤S1621~步骤S1624:同实施例二中的步骤S1021~步骤S1031。
实施例九
本实施例给出THNE在隐藏路径参数的时候,如果是对会话建立请求消息中的参数进行拓扑隐藏,那么加密的时候保持路径顺序不变,如果是在会话建立请求的响应消息中的路径参数进行加密的话,那么逆序处理加密前的路径顺序。
图17是本发明实施例九的一种THNE隐藏路径参数的流程示意图,如图17所示,本实施例的隐藏路径参数的方法流程可以为:
步骤S1701~步骤S1704:同实施例一中的步骤S901~步骤S904。
步骤S1705:IBCF2收到请求消息后,隐藏路径参数。此消息是会话建立请求消息,保持路由列表的顺序,然后加密。比如:
Record-Route:sip:IBCF2.thig.net;lr
Record-Route:sip:Token(XXB);tokenized-by=IBCF2.home1.net
Record-Route:sip:IBCF1.thig.net;lr
Record-Route:sip:Ra.net;lr
其中,sip:Token(XXB)表示对sip:C.thig.net;lr,sip:B.thig.net;lr,sip:A.thig.net;lr这三个路径信息依次加密后所得的字符串。
步骤S1706~步骤S1710:同实施例四中的步骤S1206~步骤S1210。
步骤S1711:IBCF2收到响应消息后,恢复其隐藏的路径参数。在解密字符串后,保持路径参数的顺序不变。比如是:
Record-Route:sip:Rb.net;lr
Record-Route:sip:IBCF2.thig.net;lr
Record-Route:sip:C.thig.net;lr
Record-Route:sip:B.thig.net;lr
Record-Route:sip:A.thig.net;lr
Record-Route:sip:IBCF1.thig.net;lr
Record-Route:sip:Ra.net;lr
步骤S1712~步骤S1713:同实施例一中的步骤S912~步骤S913。
步骤S1714:IBCF1收到响应消息后,IBCF1隐藏路径参数。此例中对从拓扑隐藏网络内部发到外部的响应消息中的参数进行加密,逆序处理逆序后再加密。比如是:
Record-Route:sip:Rb.net;lr
Record-Route:sip:IBCF2.thig.net;lr
Record-Route:sip:Token(YYA);tokenized-by=IBCF1.home1.net
Record-Route:sip:IBCF1.thig.net;lr
Record-Route:sip:Ra.net;lr
其中,sip:Token(YYA)表示对sip:A.thig.net;lr,sip:B.thig.net;lr,sip:C.thig.net;lr这三个路由信息依次加密后所得的字符串。
步骤S1715:IBCF1将响应消息发送给网元Ra。
步骤S1716:网元Ra将响应消息转发给UEA。其中,Record-Route头域比如是:
Record-Route:sip:Rb.net;lr
Record-Route:sip:IBCF2.thig.net;lr
Record-Route:sip:Token(YYA);tokenized-by=IBCF1.home1.net
Record-Route:sip:IBCF1.thig.net;lr
Record-Route:sip:Ra.net;lr
步骤S1717:UEA收到响应消息。从Record-Route头域中获得URI列表,将该列表逆序后作为本会话内的后续请求的路由集。此路由集比如是:
sip:Ra.net;lr
sip:IBCF1.thig.net;lr
sip:Token(YYA);tokenized-by=IBCF1.home1.net
sip:IBCF2.thig.net;lr
sip:Rb.net;lr
步骤S1718:UEA向Ra发送本会话内的后续请求消息。其中的Route头域中填充路由集中的URI列表。比如是:
Route:sip:Ra.net;lr
Route:sip:IBCF1.thig.net;lr
Route:sip:Token(YYA);tokenized-by=IBCF1.home1.net
Route:sip:IBCF2.thig.net;lr
Route:sip:Rb.net;lr
步骤S1719:网元Ra将其自身的路径信息从Route头域中删除,将消息转发给IBCF1。
步骤S1720:IBCF1收到请求消息后,恢复其隐藏的路径参数。解密字符串后,保持其顺序不变。比如是:
Route:sip:A.thig.net;lr
Route:sip:B.thig.net;lr
Route:sip:C.thig.net;lr
Route:sip:IBCF2.thig.net;lr
Route:sip:Rb.net;lr
步骤S1721~步骤S1731:同实施例一中的步骤S921~步骤S931。
实施例十
本实施例给出THNE在隐藏路径参数的时候,逐条加密路径参数。具体地,不论是对请求消息中的路径参数进行加密时,还是对响应消息中的参数路径进行加密时,都依次逐条对各个路径信息单独加密成独立的字符串。
图18是本发明实施例十的一种THNE隐藏路径参数的流程示意图,如图18所示,本实施例的隐藏路径参数的方法流程可以为:
步骤S1801~步骤S1804:同实施例一中的步骤S901~步骤S904。
步骤S1805:IBCF2收到请求消息后,IBCF2隐藏路径参数。在此说明对Record-Route中的路径信息进行加密。此例中对sip:C.thig.net;lr,sip:B.thig.net;lr,sip:A.thig.net;lr这三个路径信息进行加密。加密的时候采用逐条加密的方法,即将上述三个路径信息分别加密成3条相互独立的字符串。比如是:
Record-Route:sip:IBCF2.thig.net;lr
Record-Route:sip:Token(XCC);tokenized-by=IBCF2.home1.net
Record-Route:sip:Token(XBB);tokenized-by=IBCF2.home1.net
Record-Route:sip:Token(XAA);tokenized-by=IBCF2.home1.net
Record-Route:sip:IBCF1.thig.net;lr
Record-Route:sip:Ra.net;lr
其中,sip:Token(XCC)表示对sip:C.thig.net;lr加密后所得的字符串,sip:Token(XBB)表示对sip:B.thig.net;lr加密后所得的字符串,sip:Token(XAA)表示对sip:A.thig.net;lr加密后所得的字符串。
步骤S1806:IBCF2将会话请求消息发送给网元Rb。
步骤S1807:网元Rb将会话请求消息发给UE B。其中Record-Route头域比如是:
Record-Route:sip:Rb.net;lr
Record-Route:sip:IBCF2.thig.net;lr
Record-Route:sip:Token(XCC);tokenized-by=IBCF2.home1.net
Record-Route:sip:Token(XBB);tokenized-by=IBCF2.home1.net
Record-Route:sip:Token(XAA);tokenized-by=IBCF2.home1.net
Record-Route:sip:IBCF1.thig.net;lr
Record-Route:sip:Ra.net;lr
步骤S1808:UE B收到会话请求消息。从Record-Route头域中获得路径列表,作为本会话内的后续请求的路由集。此路由集比如是:
sip:Rb.net;lr
sip:IBCF2.thig.net;lr
sip:Token(XCC);tokenized-by=IBCF2.home1.net
sip:Token(XBB);tokenized-by=IBCF2.home1.net
sip:Token(XAA);tokenized-by=IBCF2.home1.net
sip:IBCF1.thig.net;lr
sip:Ra.net;lr
步骤S1809:UE B返回响应消息。UE B向网元Rb发送响应消息,其中的Record-Route头域从会话请求消息中复制获得。即跟步骤707中请求消息中Record-Route头域一样。
步骤S1810:网元Rb将响应消息转发给IBCF2,不改变其中的Record-Route头域。
步骤S1811:IBCF2收到响应消息后,恢复其隐藏的路径参数。逐条解密加密的字符串。比如是:
Record-Route:sip:Rb.net;lr
Record-Route:sip:IBCF2.thig.net;lr
Record-Route:sip:C.thig.net;lr
Record-Route:sip:B.thig.net;lr
Record-Route:sip:A.thig.net;lr
Record-Route:sip:IBCF1.thig.net;lr
Record-Route:sip:Ra.net;lr
步骤S1812~步骤S1813:IBCF2将响应消息发给网元C,网元C将响应消息转发给网元B,网元B将响应消息转发给网元A,网元A将响应消息转发给IBCF1。均不改变其中的Record-Route头域。
步骤S1814:IBCF1收到响应消息后,IBCF1隐藏路径参数。在此说明对Record-Route中的路径信息进行加密。此例中对sip:C.thig.net;lr,sip:B.thig.net;lr,sip:A.thig.net;lr这三个路径信息进行加密。加密的时候采用逐条加密的方法,即将上述三个路径信息分别加密成3条相互独立的字符串。比如是:
Record-Route:sip:Rb.net;lr
Record-Route:sip:IBCF2.thig.net;lr
Record-Route:sip:Token(XYcc);tokenized-by=IBCF1.home1.net
Record-Route:sip:Token(XYbb);tokenized-by=IBCF1.home1.net
Record-Route:sip:Token(XYaa);tokenized-by=IBCF1.home1.net
Record-Route:sip:IBCF1.thig.net;lr
Record-Route:sip:Ra.net;lr
其中,sip:Token(XYcc)表示对sip:C.thig.net;lr加密后所得的字符串,sip:Token(XYbb)表示对sip;B.thig.net;lr加密后所得的字符串,sip:Token(XYaa)表示对sip:A.thig.net;lr加密后所得的字符串。
步骤S1815:IBCF1将响应消息发送给网元Ra,不改变其中的Record-Route头域。
步骤S1816:网元Ra将响应消息转发给UEA,不改变其中的Record-Route头域。
步骤S1817:UE A收到响应消息。从Record-Route头域中获得路径信息列表,将该列表逆序后作为本会话内的后续请求的路由集。此路由集比如是:
sip:Ra.net;lr
sip:IBCF1.thig.net;lr
sip:Token(XYaa);tokenized-by=IBCF1.home1.net
sip:Token(XYbb);tokenized-by=IBCF1.home1.net
sip:Token(XYcc);tokenized-by=IBCF1.home1.net
sip:IBCF2.thig.net;lr
sip:Rb.net;lr
步骤S1818:UEA向Ra发送本会话内的后续请求消息,其中的Route头域中填充路由集中的URI列表。比如是:
Route:sip:Ra.net;lr
Route:sip:IBCF1.thig.net;lr
Route:sip:Token(XYaa);tokenized-by=IBCF1.home1.net
Route:sip:Token(XYbb);tokenized-by=IBCF1.home1.net
Route:sip:Token(XYcc);tokenized-by=IBCF1.home1.net
Route:sip:IBCF2.thig.net;lr
Route:sip:Rb.net;lr
步骤S1819:网元Ra将其自身的URI从Route头域中删除,将消息转发给IBCF1。
步骤S1820:IBCF1收到请求消息后,恢复其隐藏的路径参数。逐条解密加密的字符串。恢复后的Route头域比如是:
Route:sip:A.thig.net;lr
Route:sip:B.thig.net;lr
Route:sip:C.thig.net;lr
Route:sip:IBCF2.thig.net;lr
Route:sip:Rb.net;lr
步骤S1821~步骤S1824:同实施例一中的步骤S921~步骤S931。
综上所述,通过本发明实施例,采用根据请求消息中的信息来判断是否需要对解密后的路径参数的顺序进行逆序处理,或者,在隐藏路径参数时对路径信息进行逐条加密或预先对路径参数的顺序进行逆序处理的方式,解决了相关技术中拓扑隐藏网络所采取的隐藏或恢复方法并不能保证恢复后的路径列表的顺序满足实际的需要的问题,提高了系统的有效性和处理能力。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种拓扑隐藏网络中路径参数的恢复方法,其特征在于,包括以下步骤:
具有拓扑隐藏功能的网元THNE在对第一消息的路径参数进行恢复时,解密所述路径参数,并根据所述第一消息的信息判断是否需要对解密后的所述路径参数的顺序进行逆序处理;
若需要,则对解密后的所述路径参数的顺序进行逆序处理。
2.根据权利要求1所述的方法,其特征在于,所述THNE根据所述第一消息中的信息判断是否需要对解密后的所述路径参数的顺序进行逆序处理包括:
所述THNE根据所述第一消息中的第一标识信息来确定是否需要对解密后的路径参数的顺序进行逆序处理。
3.根据权利要求2所述的方法,其特征在于,所述THNE根据所述第一消息中的第一标识信息来确定是否需要对解密后的所述路径参数的顺序进行逆序处理包括:
所述THNE对第二消息中的路径参数进行隐藏时,在所述第二消息中添加第二标识信息,并将所述第二消息发送给拓扑隐藏网络之外的网元或终端;
所述拓扑隐藏网络之外的网元或终端在发起所述第一消息时携带与所述第二标识信息对应的所述第一标识信息。
4.根据权利要求2所述的方法,其特征在于,所述THNE根据所述第一消息中的第一标识信息来确定是否需要对解密后的所述路径参数的顺序进行逆序处理之前,所述方法还包括:
发起所述第一消息的网元或终端在所述第一消息中携带所述第一标识信息。
5.根据权利要求3所述的方法,其特征在于,所述THNE在所述第二消息中添加所述第二标识信息包括:
将所述第二标识信息设置在加密后的所述第二消息中的路径参数中;或者,
将所述第二标识信息设置在加密前的所述第二消息中的路径参数中。
6.根据权利要求1所述的方法,其特征在于,所述THNE根据所述第一消息中的信息判断是否需要对解密后的所述路径参数的顺序进行逆序处理包括:
所述THNE根据所述第一消息中的信息判断所述第一消息中是否包含特定标识信息,以确定是否需要对解密后的所述路径参数的顺序进行逆序处理。
7.根据权利要求6所述的方法,其特征在于,所述THNE根据所述第一消息中的信息判断所述第一消息中是否包含所述特定标识信息之前,所述方法还包括:
所述THNE在对第二消息中的路径参数进行隐藏时,在所述第二消息中添加所述特定标识信息,并将所述第二消息发送给拓扑隐藏网络之外的网元或终端;
所述拓扑隐藏网络之外的网元或终端在发起所述第一消息时携带所述特定标识信息。
8.根据权利要求7所述的方法,其特征在于,所述THNE在所述第二消息中添加所述特定标识信息包括:
将所述特定标识信息设置在加密后的所述第二消息中的路径参数中;或者,
将所述特定标识信息设置在加密前的所述第二消息中的路径参数中。
9.根据权利要求6所述的方法,其特征在于,根据所述第一消息中的信息中是否包含特定标识信息之前,还包括:
发起所述第一消息的网元或终端在第一消息中携带特定标识信息。
10.根据权利要求1所述的方法,其特征在于,所述THNE根据所述第一消息中的信息判断是否需要对解密后的所述路径参数的顺序进行逆序处理包括:
所述THNE根据所述第一消息中的信息与本会话的会话建立请求消息的信息来确定是否需要对解密后的所述路径参数的顺序进行逆序处理。
11.根据权利要求10所述的方法,其特征在于,所述THNE根据所述第一消息中的信息与本会话的会话建立请求消息的信息来确定是否需要对解密后的所述路径参数的顺序进行逆序处理包括:
所述THNE通过判断所述第一消息与本会话的会话建立请求消息的头域中的一个字段的内容或者几个字段的内容是否相同,来确定是否需要对解密后的所述路径参数的顺序进行逆序处理;或者,
所述THNE通过判断从所述第一消息中的信息获知的所述第一消息的方向与本会话的会话建立请求消息的方向是否一致,来确定是否需要对解密后的所述路径参数的顺序进行逆序处理。
12.一种具有拓扑隐藏功能的装置,其特征在于,包括:
解密模块,用于在对第一消息中的路径参数进行恢复时,解密所述路径参数;
判断模块,用于根据所述第一消息中的信息判断是否需要对所述解密模块解密后的路径参数的顺序进行逆序处理;以及
处理模块,用于在所述判断模块的判断结果为是的情况下,对解密后的路径参数的顺序进行逆序处理。
13.根据权利要求12所述的装置,其特征在于,多个所述装置设置在同一具有拓扑隐藏功能的实体中;或者,多个所述装置分别设置在多个具有拓扑隐藏功能的实体中。
14.一种消息的发送装置,其特征在于,所述装置位于拓扑隐藏网络之外的网元或终端,所述装置包括:
发送模块,用于向具有拓扑隐藏功能的网元THNE发送携带第一标识信息或特定标识信息的第一消息;
其中,所述第一标识信息和所述特定标识信息均用于所述THNE在对所述第一消息中的路径参数进行恢复时,确定是否需要对解密后的路径参数的顺序进行逆序处理。
15.根据权利要求14所述的装置,其特征在于,还包括:
接收模块,用于接收来自所述THNE的第二消息,其中,所述第二消息中携带所述THNE在对所述第二消息中的路径参数进行隐藏时添加的与所述第一标识信息对应的第二标识信息或所述特定标识信息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110298093.7A CN103023865B (zh) | 2011-09-28 | 2011-09-28 | 拓扑隐藏网络中路径参数的恢复、隐藏方法及装置 |
PCT/CN2012/082091 WO2013044812A1 (zh) | 2011-09-28 | 2012-09-26 | 拓扑隐藏网络中路径参数的恢复、隐藏方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110298093.7A CN103023865B (zh) | 2011-09-28 | 2011-09-28 | 拓扑隐藏网络中路径参数的恢复、隐藏方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103023865A CN103023865A (zh) | 2013-04-03 |
CN103023865B true CN103023865B (zh) | 2017-07-11 |
Family
ID=47971999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110298093.7A Expired - Fee Related CN103023865B (zh) | 2011-09-28 | 2011-09-28 | 拓扑隐藏网络中路径参数的恢复、隐藏方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103023865B (zh) |
WO (1) | WO2013044812A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110290161A (zh) * | 2018-03-19 | 2019-09-27 | 中国移动通信有限公司研究院 | 一种拓扑隐藏方法、节点、功能实体和计算机存储介质 |
CN117580030A (zh) * | 2022-08-08 | 2024-02-20 | 华为技术有限公司 | 通信方法和通信装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1889560A (zh) * | 2005-08-03 | 2007-01-03 | 华为技术有限公司 | 网际协议多媒体子系统中面向用户的网络拓扑隐藏方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8127016B2 (en) * | 2000-10-10 | 2012-02-28 | Nokia Corporation | Techniques for hiding network element names and addresses |
CN100426725C (zh) * | 2006-06-09 | 2008-10-15 | 华为技术有限公司 | Ims网络计费系统和方法 |
US8929360B2 (en) * | 2006-12-07 | 2015-01-06 | Cisco Technology, Inc. | Systems, methods, media, and means for hiding network topology |
-
2011
- 2011-09-28 CN CN201110298093.7A patent/CN103023865B/zh not_active Expired - Fee Related
-
2012
- 2012-09-26 WO PCT/CN2012/082091 patent/WO2013044812A1/zh active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1889560A (zh) * | 2005-08-03 | 2007-01-03 | 华为技术有限公司 | 网际协议多媒体子系统中面向用户的网络拓扑隐藏方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103023865A (zh) | 2013-04-03 |
WO2013044812A1 (zh) | 2013-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2325378T3 (es) | Metodo y aparato para identificar un servicio ims. | |
JP5249952B2 (ja) | Ipマルチメディアサブシステムサービスへのグループアクセス | |
US8230109B2 (en) | System and method for handling a session initiation protocol message in a communications network | |
US7701974B2 (en) | Routing information processing for network hiding scheme | |
US20110131414A1 (en) | Methods and systems for end-to-end secure sip payloads | |
CN104683291B (zh) | 基于ims系统的会话密钥协商方法 | |
KR101818881B1 (ko) | 통신 네트워크에서 사용자 엔티티를 향한 세션 개시 프로토콜 통신들을 관리하기 위한 방법 및 네트워크 엔티티 | |
CN101090398B (zh) | 会话起始协议信令代理内环路的检测 | |
CN101227272A (zh) | 一种获取媒体流保护密钥的方法和系统 | |
EP2335394B1 (en) | End-to-end address transfer | |
CN111480355B (zh) | 用于使用临时标识符来注册ims订户的方法和装置 | |
EP2011299B1 (en) | Method and apparatuses for securing communications between a user terminal and a sip proxy using ipsec security association | |
CN103023865B (zh) | 拓扑隐藏网络中路径参数的恢复、隐藏方法及装置 | |
US20160006701A1 (en) | Method of and a device handling charging data in an ip-based network | |
EP2502395B1 (en) | Secure xdm communication between ims networks | |
US11218515B2 (en) | Media protection within the core network of an IMS network | |
CN100558116C (zh) | 一种路由订阅请求消息的方法 | |
CN101621501B (zh) | 通信系统的用户注册控制方法和会话功能控制实体 | |
WO2011047716A1 (en) | Correlating signalling in an ip multimedia subsystem network | |
KR100908275B1 (ko) | Ims 기반의 네트워크 시스템 및 사업자에 따른 능동 호연동 방법 | |
KR20060037196A (ko) | 아이피 멀티미디어 서브시스템에서 네트워크의 보안처리방법 | |
WO2013044988A1 (en) | Suppressing camel service invocation for diverting users |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
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: 20170711 Termination date: 20190928 |