一、TRIP产生的背景
建立在Internet上的各种通讯已经成为当今社会信息化发展的主要通讯方式,特别是IP电话渐渐将成为语音通讯的主流产品,IP电话用户的不断增加和IP网络的膨胀式的扩大,带动着越来越多的不同厂商、不同功能IP电话通讯网关(Gateway)的共存和使用,随着其数量和使用率的提增,它们的工作机制和人们对其的管理也越来越复杂,其中最困难的问题就是IP电话的网关定位问题,也就是一个呼叫设备对另一个IP终端电话进行呼叫时的网关选择、网关发现和网关路由问题等等。
在对网关的选择过程中,往往要受到可选网关数量、不同运应商之间的运营策略、终端用户的需求、网关容量和网关之间协议属性的兼容性等等方面因素的制约,因此为了全球的互通,IP电话网络不可能建立在一个全球性“网关目录”(Directory of Gateways)之上,即使建立了这个“网关目录”,其信息的动态、实时更新和维护也不是一件容易的事情。
为此,一种分布式的建立在不同国家、不同地域、不同运应商、不同网络上的路由信息和这些信息可以相互广播、自动同步、友好共享(基于策略)的IP电话路由信息操作机制的建立就很有必要,于是TRIP协议便应运而生,TRIP协议就是这种机制的协调和管理规则的集合,它允许每个网关资源的管理者根据不同的策略建立自己的本地可用网关数据库,然后按照不同的策略进行数据库之间不同网关信息的聚合、广播、交换和共享——首先使这些信息在本地对自己可用,然后再把这些信息按照一定策略传播给、同步给其它供应商,这些数据库中的网关信息供信令服务器、软交换设备和其它用户直接查询使用。
在下一代网络技术(NGN)已经到来的今天,TRIP协议已经被国内外通讯厂商普遍认同的一种必不可少的路由协议。
二、协议描述
准确地说Trip(Telephony Routing over IP)并不是一个协议,而是本文要描述的被收集、被聚合、被广播和被管理的内容——IP电话路由,为了直观地理解其被操作的过程和这些过程中所遵循的规则,人们也就把它称为TRIP协议。
2.1 TRIP的功能和要解决的问题
在介绍TRIP的功能前,先介绍TRIP中用到的几个专业术语,这些术语所对应实体的功能分别在后面有详细描述。
网 关(Gateway): 连接电路交换网络和IP网络的一种设备,其能发起和结束IP电话信令协议和电话网络信令协议。
区域服务器(Location Server --LS)): 一个具有IP连接性的逻辑设备,它可以知道那些网关可用于结束对GSTN的呼叫,它是参与TRIP功能的主要功能实体,也是端用户完成与电话网络呼叫的联系点,它也负责向其它LS传播网关信息。
Internet电话管理域(Internet Telephony Administrative Domain --99vAD)): 单个管理机构控制下的资源集合(包括网关、区域服务器)。
提供者(Provider): Internet电话管理域(99vAD)的管理员。
区域服务器策略(Location Server Policy): 区域服务器处理通过TRIP发送和接收信息的一系列规则集合,包括聚集、传播、产生和接收所有网关信息的规则。
电话路由信息库(Telephony Routing Information Base--TRIB): LS建立的网关数据库,用于保存TRIP的参与结果。
2.1.1 TRIP的功能
TRIP协议是不同管理域之间进行IP电话网关路由信息交换的一个专用协议,它是独立于任何信令协议的一种协议,其主要的功能如下:
建立和维护路由信息提供者之间的对等关系。
交换和同步提供者之间的电话网关路由信息。
防止稳定路由的循环。
以及时的和可扩展的方式广播已知的网关路由信息。
定义和描述电路网关路由数据的语法、语义和路由信息传送的规则。
2.1.2 TRIP要解决的问题
TRIP协议,其解决的主要问题就是IP电话的网关路由问题,从一个较高的角度来看,就是解决映射问题———给定一个电话号码映射出一个电话网关的IP地址,也可以简单的称为“电话号码到IP地址转换问题”。通常,我们遇到电话号码与IP地址转换的情况很多,只有“给定一个电路交换网络的用户电话号码,判断能够完成对其进行呼叫的网关的IP地址”是TRIP协议要解决的问题,只有它才真正的涉及到一个呼叫设备和另一个应答设备之间的信令信息在IP网络上传输时必须进行IP网关路由的层层选择,因此TRIP协议解决的是电话号码与IP地址转换的问题,但是并不是所有IP与地址转换的问题它都解决。
2.2 TRIP与目前IP电话路由协议的区别
TRIP可归类为一种域间路由协议,目前用到的域间路由协议很多,如BGP-4、OSPF、SCSP等,由于TRIP出现较晚,因此其吸取了这些“先辈”的很多优点,如它具有与BGP-4类似的格式与属性,使用了BGP的域间传输机制、对等通信、有限状态机制等特性,同时,TRIP又象OSPF、、SCSP协议一样具有一些增强的连接状态特性,如域内溢出机制(Intra-domain flooding mechanism)等等。
但是它与这些已经存在的域间路由协议有很大的区别,由于BGP-4协议目前使用较广,因此在此只对TRIP协议和BGP-4两种域间管理协议进行比较:
TRIP运行在应用层,而不象BGP-4运行在网络层。
TRIP运行和存在于许多中间网络和IP服务提供者的服务器(即LS)之间,而BGP-4则在邻近的路由器之间。
TRIP的对等体之间交换的信息描述了到应用层网关设备的路由信息,而BGP-4描述的却是IP路由信息。
TRIP假定存在底层的IP传输网络,这意味着交换TRIP路由信息的服务器不需要转发信息路由的信令消息。而在BGP-4中却非如此,对等体(路由器)必须作为IP包的转发点(或为一个相邻前转点)。
TRIP的目的不是建立跨99vAD的全球性连接,它对很多通过TRIP互通的相对独立区域(如平行关系的省、市、县级电讯网络)尤其合适,每个区域在管理关系上都是相对封闭的一个集合,而且每个区域都可以与全球的GSTN有完全的互通。这同BGP-4形成了鲜明对比,BGP的目标是通过Internet对全球进行互连互通,如果由于BGP-4断连,一个AS就会从其他中分离出来,则它们之间就没有任何IP网络连接了。
由于TRIP位于应用层,而不是网络层,因此TRIP描述的网关路由信息要比BGP-4所描述的IP路由信息要复杂得多,而且这些信息的描述参数也多的多。
BGP-4交换的是代表IP命名空间部分的前缀,而TRIP交换的是电话号码区间,这个区间表示的是GSTN号码空间的一部分,因此两种命名空间的组织和层次均不相同。
以上的区别说明TRIP与BGP-4之间真是“青出于蓝而胜于蓝”,在功能上二者虽有相近之处,但二者在功能定位和存在的先进性方面已是不可同日而语了。
三、TRIP的实现
1. TRIB的构成
TRIP协议交换的路由信息由外部路由(External routes)、内部路由(Internal routes)和本地路由(Local routes)三种类型组成,为了直观的描述TRIB的构成关系,TRIP协议从路由选择的角度把LS中的TRIB分成以下四个构成部分,这四个部分实际上是由以上三种类型的路由内容构成:
Adj-T
RIBs-In:称为临近可选TRIB,其内容是从UPDATE消息中获取的域内、域外LS上的路由信息,这些路由信息是当前路由选择中的可以使用的输入路由信息,
Ext-TRIB:称为外部TRIB,其内容是LS根据一定的路由选择运算法则,从外部路由(存储在外部LS的Adj-TRIBs-In中)和本地路由(存储在本地LS的Adj-TRIBs-In中),为一个给定目的地址选择的最佳的路由,每个LS只有一个Ext-TRIB。
Loc-TRIB:称为本地TRIB,其内容是LS运用其内部策略从内部LS的Adj-TRIBs-In和Ext-TRIB中选择出来的TRIP路由信息。
Adj-TRIBs-Out:称为临近输出TRIB,其内容是LS准备广播给外部LS的路由信息,它的内容将携带在UPDATE消息中对外广播。
虽然TRIB由以上的四个部分构成,但这并不意味也并不要求一个路由选择过程的完成必须要保留这四个每一个的单独备份,其选择并不拘泥于协议的划分,有些路由选择过程可能要用到一个TRIB,有时可能要用到多个,甚至在TRIP-MIB库设计中大家并不一定能意识其的单独存在,这根据具体需要而定。
关于TRIB标准定义的RFC至今还没有出台,只有讨论性的草案,因此TRIB内容的具体表示只能暂时参考这些草案(draft-ietf-iptel-trip-mib-01.txt)。
2. 路由消息的格式
TRIP的消息必须建立在可靠传输协议的连接上,即只能是TCP/IP连接,且使用的TCP连接端口为6069,一个消息必须而且只能在全部接收结束后才能开始进行处理,TRIP消息的最大长度是4K(4096)个字节,最短长度是只包含消息头部分的3个字节,大于4K个字节和小于3个字节长度的消息都属于无效的TRIP消息。
2.1 消息头格式
国家级的RS把聚合后的路由信息广播、同步给国内省级的主干RS群,省级主干RS群把本地的路由信息和国家级路由信息进一步聚合后再一起向所辖片区的RS群进行广播、同步。一个用户要进行一次国际长途呼叫,首先发起地的SoftSwitch向本地的片区RS请求路由信息,这样本地的RS根据上级层层广播的聚合路由信息就可以一次定位到应答方所在的国家级RS。
ZTE的RS之间TRIP的应用中,一个域中可以有多个RS(LS),有的RS专门向SoftSwitch提供路由服务,有的专门进行路由信息的对外广播和接受、管理外部广播、同步来的路由信息,这样ZTE的RS就不仅可以为ZTE自己的产品提供路由服务,也能对其它电讯供应商的通讯产品提供路由服务,只要这些通讯产品也支持标准的TRIP协议。
以上两个厂家的产品都采用了TRIP协议,但是从使用中可以看出二者是有区别的:SS8 Signaling Switch中的LS存储的是网关路由信息,LS提供的是网关路由的一次定位服务,ZTE Softswitch中的LS(RS)存储的是Softswitch路由信息,实现的是Softswitch路由的一次定位服务,这对TRIP来说都是允许的,虽然二者的产品架构不同,但其路由信息的聚合、广播、同步等操作过程和数据格式都符合TRIP协议的要求。