【2017年整理】防火墙H323协议处理流程及H323 ALG应用

上传人:豆浆 文档编号:1013925 上传时间:2017-05-25 格式:DOCX 页数:12 大小:798.71KB
返回 下载 相关 举报
【2017年整理】防火墙H323协议处理流程及H323 ALG应用_第1页
第1页 / 共12页
【2017年整理】防火墙H323协议处理流程及H323 ALG应用_第2页
第2页 / 共12页
【2017年整理】防火墙H323协议处理流程及H323 ALG应用_第3页
第3页 / 共12页
【2017年整理】防火墙H323协议处理流程及H323 ALG应用_第4页
第4页 / 共12页
【2017年整理】防火墙H323协议处理流程及H323 ALG应用_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《【2017年整理】防火墙H323协议处理流程及H323 ALG应用》由会员分享,可在线阅读,更多相关《【2017年整理】防火墙H323协议处理流程及H323 ALG应用(12页珍藏版)》请在金锄头文库上搜索。

1、一 H.323 协议简介H.323 协议簇是 ITU 的一个标准协议栈,它是一个有机的整体,根据功能可以将它分为4 类协议,也就是说该协议从系统的总体框架(H.323) 、视频编解码(H.263) 、音频编解码(G.723.1) 、系统控制( H.245) 、数据流的复用( H.225)等各方面作了比较详细的规定。H323 系统中的信息流是视频、音频和控制消息的组合。系统控制的协议包括H.323、H245 和 H225.0,而 Q.931 和 RTP/RTCP 是 H225.0 的主要组成部分。整个系统控制由 H.245 控制信道、 H225.0 呼叫信令信道和 RAS(注册、许可、状态)信道

2、提供。H.225 它主要处理传输路径问题,描述了如何操作网络包上的视频、音频、数据和控制信息使其提供 H.323 装备会话服务。 H.225 主要有两个部分:呼叫信令和 RAS (注册、接入允许和状态) 。H.225 详细定义了 Q.931 信令信息的使用和支持。在 IP 网络的 TCP 端口 1720 需要创建一个可靠的 TCP 呼叫控制信道,该端口完成 Q.931 呼叫控制信息的初始化,从而实现连接、维持和呼叫分离功能。H.245 是 H.323 多媒体通信体系中的控制信令协议,其主要用于处于通信中的 H.323 终点或终端间的端到端 H.245 信息交换。H.245 制定了一个控制信道分

3、段和重新装配的协议层(CCSRL,Control Channel Segmentation and Reassembly Layer) ,它可以在易出错环境下保证应用的可靠性。H.245 提供了一种功能交换的功能,它支持两端设备通过协商确定一组通用的功能集。二防火墙 H.323 ALG 功能简介当内部网络的 H.323 终端穿越防火墙与公网上的 H.323 终端进行通信时,由于 NAT 功能只能将传输层的 IP 及端口进行转换,无法对 H.323 协议应用层携带的内部数据进行转换,应用层中内部数据直接被转发至公网,后续协议信息处理时会出现问题;而 H323 ALG 则可以实现应用层数据转换,协

4、议数据发至 Internet 时,将其应用层内部信息转换成公网信息,实现完全隐藏内部终端达到通信正常的目的。另外,应用防火墙一般只开放特定端口的数据进入内部网络,H.323 协议属于多通道协议,控制连接使用端口 1720,数据交换使用端口为临时协商,无法事先预知,若无 ALG 功能,协商出数据交换通道所用端口后,外部网络终端尝试对内部终端数据交换的端口进行连接时,防火墙会对其进行阻断,从而数据传输通道无法建立;开启 H.323 ALG 功能后,会在对应用层转换的 IP 地址及端口进行转换的同时,将其信息进行记录,使其在外部网络终端尝试对内部终端数据交换的端口进行连接时,防火墙进行协议识别,对后

5、续相关协议报文执行放通策略,从而成功建立传输通道。三H.323 ALG 的典型应用组网四一次基本的 H323 协议连接过程及防火墙处理流程1. 客户端与服务器建立 TCP 三次握手连接2.建立 TCP 连接之后,主叫终端通过 H.225 协议发送 setup 消息至被叫终端,表示主叫方希望建立通话(FW 开启了 H323 ALG 功能)1)内网主叫终端抓包报文2)外网被叫终端抓包报文由上面 2 个报文可以明显看出 ALG 对协议应用层的数据进行了处理。3.被叫终端返回 CallProceeding 给主叫终端,表示被叫终端正在处理。4.被叫终端返回 Alerting 报文给主叫终端,表示被叫用

6、户已被振铃。1)内网主叫终端抓包报文2)外网被叫终端抓包报文5.被叫终端返回 Connect 报文给主叫终端,表示被叫用户已摘机并告知被叫终端已开放特定端口来进行下一阶段的协议协商过程。1)内网主叫终端抓包报文2)外网被叫终端抓包报文6.主叫方收到 Connect 报文后,进入 H.245 协商阶段,H.245 整个协商阶段包括能力交换、主从确定、打开逻辑通道(通道打开之后传输数据) 、关闭逻辑通道、断开 H.245TCP 连接。1)内网主叫终端抓包报文(TCP 三次握手阶段)2)内网主叫终端抓包报文(打开逻辑通道阶段(能力交换、主从确定阶段省略) )3)外网被叫终端抓包报文由以上报文可以看出

7、后续数据传输被叫方将使用 1503 端口来建立连接。7.通道建立之后,进行数据传输(主叫方将使用多个端口与被叫方的 1503 端口进行连接来进行视频、音频数据的传输)8.数据传输完成后(通讯结束)后,由主叫方发起 EndSessionCommand 与ReleaseComplete 消息来释放连接1) 内网主叫方抓包报文2) 外网被叫终端抓包报文完成上述报文交互之后,断开 TCP 连接,至此已完成整个 H323 呼叫流程。注:防火墙会话如下(与上述抓包无关联,仅作参考)五H323 在防火墙中的几种应用场景1.内部终端向外网终端发起会话,防火墙做 SNAT;由于 h323 通话 setup 消息

8、中被叫方只关注应用层中 destCallSignalAdress 字段信息(检查目的 IP 是否为自己,确认其是想要和自己通信)与传输层的源 IP(主叫方 IP) ,符合以上条件后才会进行后续协议协商;当发起方为内部终端时,目的 IP 即为被叫终端的IP,不需 ALG 转换;Netmeeting 软件数据传输通道都是由主叫方发起,不存在 Untrust到 Trust 的阻断问题;基于以上两点,在此种场景下,是否开启 ALG 都对其通讯无影响;但是没有开启 ALG 功能时,不会对 setup 消息中 sourceCallSignalAdress 字段的私网 IP进行转换而将其地址暴露在公网中;2

9、.外网终端向内部终端发起会话,防火墙做 DNAT;当主叫方在外部网络时,若没有开启 ALG 功能,H323 的 setup 消息中字段信息destCallSignalAdress 仍为防火墙目的 NAT 前的 IP 地址(没有转换为私网地址) ,被叫方在收到该消息后发现其不是想和自己进行通讯,会直接返回 releaseComplete 消息来结束通讯请求;故在此种应用环境下,必须开启 ALG 功能才能正常通讯。补充(转):H.323 之童话故事篇说了这么多的呼叫流程,大家是不是有些头晕眼花,没有关系,看了下面的小故事,相信大家对于 H.323 一次呼叫过程就有了比较全面的了解。请看:在 H.3

10、23 的王国里有许多成员(各种 H.323 节点) ,为了确保这个王国的正常运转,颂布了许多法令(H.323 协议簇,其中主要有RAS、Q.931 、H.245、TCP/IP、RTP/RTCP、UDP ) ,无论是国王、还是臣民,大家都严格遵守这些法规。在这里将介绍 H.323 王国最重要的两个角色国王(GK ) 、臣民(GW)是如何遵照法规(RAS、Q.931 、H.245)通信的。其中国王与臣民之间的通信遵守 RAS 协议,臣民与臣民间的通信遵守 Q.931、H.245 协议。首先,臣民(GW)应向国王注册。一个臣民(GW)诞生后,会使用 RAS 协议去寻找自己的国王(GK ) ,他高声问

11、到:“谁是我的国王请回答我!” ,这时可能会有一个或者多个国王来响应:“你是我的臣民(GW ) ,到我这里来注册吧,这是我的地址。 ”,当然国王也可以拒绝臣民(GW )的请求:“你不是我的臣民(GW ) ,别来烦我。 ”如果臣民(GW)幸运地得到了多个国王的青睐,他可以选择一个国王并向他注册。注册成功后,臣民(GW)就可以享受国王提供的各种服务(如接入控制、带宽管理、地址翻译等功能) 。这时,当臣民(GW)与另一臣民(GW)通信时,不需要知道对方的地址,只需告诉国王想要和谁通信,国王会把对方的地址找来给他。对于那些没有找到国王的臣民(GW)来说就有点惨了,因为没有国王的帮助,他只能与自己相当熟

12、悉的臣民(GW)通信(即知道对方的地址) 。臣民(GW )向国王注册可以有一个生命期,过了这个有效期,臣民(GW )还要再向国王注册。下面看看 H.323 的国王与臣民是如何帮助 PSTN 王国的臣民通过 IP 网相互通信的(即IP 电话是如何实现的) 。一个 PSTN 王国的臣民 C 想通过 IP 网送给他远方的朋友 D 一份特别的礼物,他跑去找与自己相熟的 H.323 王国的臣民 A(GW) ,并把朋友的电话告诉他,请他帮助通过 IP 网找这个朋友(即一个 PSTN 用户拨打 IP 电话,呼入 GW) 。臣民 A(GW)看不懂这个电话号码,他应该怎么做才能找到那位朋友呢?向国王(GK)寻求

13、帮助,解析电话号码。由于在 H.323 王国里是使用 IP 协议通信的,所以臣民 A(GW)拿到对方的电话号码是没有办法与对方联系的,他只有去寻找与对方相知的臣民 B(目的 GW)的地址。于是臣民 A(GW)将电话号码发送给他注册的国王(GK ) ,让国王帮助寻找臣民B(目的 GW)的地址。首先国王会对臣民 A(GW )的请求进行认证,认证通过后,国王才会去寻找臣民 B(目的 GW)的地址。如果国王不知道臣民 B(目的 GW)的地址(即这个 GW 未在该 GK 上注册) ,他会向其它的国王(GK )询问有谁知道臣民 B(目的 GW)的地址。当国王得到臣民 B(目的 GW)的地址后,就将该地址(

14、呼叫信令传输地址=目的 GW的 IP 地址+ 端口号)发回给臣民 A(GW) 。这样,就可以在这两个臣民(GW)间建立联系(建立呼叫信令信道,开始 Q.931 协议流程) 。臣民 A(GW)告诉臣民 B(目的 GW):“我的朋友 C 有礼物要送给你的朋友 D,他的电话是 XXX,他在家吗?(即被叫用户 C 是否空闭) ”,臣民 B(目的 GW)赶紧告诉D,别走开,有人要送礼物给你(即目的 GW 提醒被叫用户,并将该用户空闭态置为忙) 。然后臣民 B(目的 GW)通知臣民 A(GW ) “一切搞掂” (即 GWB 向 GWA 发送CONNECTION 消息后) ,双方开始讨论采用什么方式将朋友

15、C 的礼物送给朋友 D(即开始H.245 协议流程,进行能力的协商) 。臣民 A(GW)说:“朋友 C 的礼物是:播放一首凯利金的 GOING HOME萨克斯曲给他听,我可以将这首曲子编辑为 CD、VCD 两种格式,你可以解读吗?”臣民 B(目的GW): “我这里的设备还没有升级呢,不好意思目前我只能解读 CD 格式的曲子” (这就是 H.245 中的所谓能力协商,通过协商,获得双方都可以接受的语音编解码类型) 。臣民B(目的 GW)通知臣民 A(GW )传送曲子所使用的地址(即 H.245 中的打开 RTP/RCTP通道,用于传送媒体流) ,这样,这份礼物在 IP 网的传送通道打开了。这时,朋友 C 开始通过电话线向远方的朋友 D 播放乐曲,优美的乐曲经过电话线传送到臣民 A(GW)处,臣民 A(GW )将曲子压缩成 CD 的格式(进行语音编码压缩,并打成 IP 包发送到 IP 网上) ,通过 IP 网传送给臣民 B(GW) ,臣民 B(GW)再将编码解读还原成曲子通过电话线传送给朋友 D。 (IP 电话就是这样拨通了!)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号