对H.245定义的理解。这个H.245协议比较复杂,可以从以下几个方面把握。
(1)首先要明确H.245是一个逻辑信道 ,定位是逻辑信道,不是物理信道。H.245是借助于物理信道完成特定功能的,本身是作为一个逻辑信道去理解。
(2)在多媒体信道里面逻辑信道(通信信道)的建立是一个步骤,逻辑信道(通信信道)的维护是一个步骤,逻辑信道(通信信道)的释放是一个步骤,这些都是单独的步骤,不要混杂一起去理解。有信道的建立则一定会有信道的释放。这个建立信道是为了通信。释放信道是为了下一个通信。
(3)H.245协议是建立在H.255协议上面的。如果H.225协议没有“跑通”,那么H.245协议是不会建立的,是不会启动起来的 。H.255是启动协议,是呼叫协议,是基础协议。
(4)H.245中定义了两类信道:控制信道和通信信道。控制信道必须在任何逻辑信道(逻辑信道也叫做通信信道)之前先行建立,并且在通信结束之后才会释放 。
(5)H.245协议的主从确定过程。
主从确定是为了解决两个H.323终端(端子)同时打开(这个同时是关键)打开双向信道时的资源冲突问题,这个资源主要指网络资源。也用于视频会议中解决两个均含有MC(multiple control)功能的端子(终端)的MC冲突问题 。
归纳起来一句话:H.245的主从确认环节就是为了解决冲突问题。
在H.245事物中可能有如下的事情发生:参与通话的两个终端(端子)同时发起一个事件,有时可能会引起资源(resource)的竞争冲突。
举例说明:两个终端(端子)同时发起建立具有相同参数的双向逻辑通道请求,由于两个双向逻辑信道参数完全相同。只需要有一个同样的逻辑信道(通信信道)建立即可。这个时候就会出现竞争(这个竞争是对资源的竞争,例如带宽资源,网络资源)。
H.245协议用主从确定事物来解决这种冲突。
根据终端类型和一个随机的状态判断数,根据H.245提供的算法,这个算法是关键。确定哪个终端(端子)具有高的优先级(priority)。即哪个终端是master,哪个终端是slave。当发生冲突时,master可以胜出。赢得控制权,因为优先级(priority)高。
一个完整的主从确定事物的标志是:参与通话的两端都确定了主从确定的结果 。并且这个结果是一个确定的结果。也就是说分出了master和slave。
对于每一端子(site)在确认对端(remote site)知道了主从确认的结果以后,并且自己也知道了主从确认的结果。才能启动那些依赖于主从确定结果的H.245事物。
理解:简单说。每一条链路肯定得有一个主(MASTER),这个主确定下来,从(slave)也就明确了。目的是为了一旦出现资源上面的冲突,那么肯定是主来调配资源。说白了就是主的优先级高。
这个过程在协议里面非常多见,主要靠优先级。而优先级是靠随机分配的参数。这个算法过程必须很清晰 。
H.245控制信道的定义:
控制信道也称为H.245信道,位于不同的H.323通信实体上面(这个通信实体可以是mcu,也可以是宝利通(POLYCOM),也可以是任何视频会议产品。两个H.245对等信令实体通过这个信道以控制通信信道的建立和T通信信道的释放。控制信道是基于TCP连接的可靠信道,连接端口号动态分配(这个连接端口号非常关键,一般是随机分配的)。
在H.225呼叫建立过程中,主叫端子和被叫端子和网守(GATEWAYKEEPER)是通过setup和connect,消息互相交换各自分配的h.245端口和h.245地址。
对控制信道定义的理解:
(1)控制信道是通信信道的基础,如果控制信道没有完全建立起来,是不会启动通信信道的。所以说控制信道才是关键的信道。所以说控制信道才是基础信道。没有控制信道的话,通信信道是不会开通的。
(2)因为控制信道是关键。所以靠TCP连接。而不是用UDP连接。一般情况下,关键的协议都是靠TCP连接的。非关键协议,用UDP连接。TCP协议比UDP协议要复杂的多,包括三次握手,包括滑动机制,包括拥塞算法等。最重要的是TCP本身就定位为一个可靠协议,而UDP是一个不可靠协议。
还有就是端口号的事情,端口是非常关键的。而且TCP端口和UDP的端口是不一样的。端口是进程的映射。靠端口号码,对端通信实体会知道该把这个交给哪一个进程。网络传输一般关注到I和端口层面。
(3)H.225的一个connect环节,会传H.245的地址和端口。告诉给对端通信实体,自身设备的H.245地址和端口号(这个端口一般是随机分配的)。
(4)每一个呼叫有且仅有一个H.245控制信道。这个控制信道在整个通信期间肯定存在,而且始终存在,直到呼叫结束以后会释放这个控制信道。
(5)一般通信包括地址,包括端口。这个属于通信层面的事情。如果继续研究协议细节,需要进一步抓包分析。
热门跟贴