H.248/Megaco协议在全IP网络中的应用
(1)终结点(Termination)是媒体网关上的一个逻辑实体,能够发送和接收一种或多种媒体,如模拟用户接入网关中的电话线、中继网关中的中继电路,一个终端在任一时刻属于且只能属于一个关联。
(2)关联(Context)是一些终端之间的联系,描述了终端间拓扑关系和媒体混合/交换的参数,表示一组终结点之间的连接关系。在一个关联中可以存在若干个终结点,其数目完全由媒体网关的特性决定。空关联表示所有与其它终点没有
联系的终结点。
(3)包(Package)通过允许终结点具有可选的特性、事件、信号和数据,媒体网关控制协议实现了对具有不同特点的终结点的支持。同时,为了实现媒体网关与媒体网关控制器的互操作,这些可选项可以被组合成包。
H.248/Megaco协议建立了多种传输机制,保证了协议消息在媒体网关和媒体网关控制器之间的可靠传输。
2 TCP/UDP协议的区别及运用场合
H.248/Megaco定义的各种协议消息既可以在TCP上传输,也可以在UDP上传输,TCP和UDP之间的主要区别是可靠性和复杂度。
TCP协议可以提供端到端可靠的数据传输。TCP协议采用了多项提高可靠性的技术以克服底层IP网络传输的不可靠性,它并不区分结构化的数据流,只支持数据流的传输。应用程序必须在连接之前了解数据流的内容,并对其格式进行协商,对数据流的进一步处理完全留给应用程序本身来完成。TCP也允许用户指定连接的安全性和优先级,这两个功能并非是现在所有的TCP产品中都有,但在TCP标准中作了定义。TCP协议还提供了全双工联接、向应用进程提供PUSH功能和流量控制。
UDP协议面向应用程序提供数据传输服务,并且支持组播。与IP层相比,IP层只负责互联网上的一对主机之间的数据传输,实现主机间的通信;而UDP层通过端口机制标识同一主机上运行的多个进程,完成进程间通信。与TCP协议相比,它们同属于传输层,都是完成面向进程的数据传输服务。不同之处在于,TCP协议提供的是面向连接的、可靠的数据传输服务,而UDP提供的是面向无连接的、不可靠的数据传输服务。
所以,对广播或多播应用程序必须使用UDP。此时任何期望的错误控制必须加入到应用程序中。UDP也可以用于较简单的请求一应答式应用程序,但是应用程序内部必须有检查错误的功能,至少涉及确认、超时和重传。UDP不适用大量数据的传输,因为大量数据的传输要求将窗口式流控、拥塞避免和慢启动等特性在应用程序中实现,这也意味着要在应用程序中重建TCP。
利用UDP传输H.248/Megaco消息时,如果对等实体没有提供相应的通信端口,各种指令应当被送到默认端口上:对于文本编码的操作,端口号应当使用2944;对于二进制编码操作;则端口号应当使用2945。在UDP上传输消息可能会发生丢失,如果没有及时响应的话,命令就会重复,从而导致MG状态的不可预料性,所以,传输进程必须能够提供一种“At-Most-Once”功能,以防止命令的重复执行。
利用TCP传输H.248/Megaco消息时,如果对方没有提供端口的话,各种指令应当被送到默认端口上。TCP是一个基于流的协议,使用TPKT来描述TCP流中的各种消息。在面向事务的协议中,事务请求与响应消息仍然有可能由于这样那样的原因而丢失。因此,建议各种实体使用TCP传输机制作为每一次请求和响应过程实现应用层的定时器,这一点与对UDP上应用层帧结构的描述是类似的。
虽然在TCP上传输的水洗步会发生传输丢失,但是事务请求或其响应消息的丢失在实际实现中仍然有可能发生。如果没有及时响应的话,指令就会重复。大多数指令的操作要求是不一样的。因此,MG的状态是无法预料的,所以,在使用TCP时也应该提供“At-Most-Once”功能。
另外,在协议中还加入了三次握手机制和计算重传机制来进一步提高协议的可靠性。
3 协议传输安全与加密
由于IP网络是一个开放的网络,极易受到非法攻击。为了防止未经授权的实体利用媒体网关控制协议建立非法呼叫,或者干涉合法呼叫,应当建立一整套严密的安全机制,对此协议的传输进行保护。目前提出了两种方案来解决在IP网络上传输H.248/Megaco协议的安全问题:一种是采用IPsec对协议传输进行安全保护;另一种是采用过渡性AH方案。
利用Ipsec对H.248/Megaco消息的传输主要包括封装安全载荷协议ESP(Encapsula
《H.248/Megaco协议在全IP网络中的应用(第2页)》