一种防火墙包过滤动态开关H.323协议通信通道的方法,首先,对数据包进行预处理;然后,进行协议分析,并根据该协议分析的结果进行相应的数据包处理;具体包括在链路层动态开关H.323协议通信通道和在IP层动态开关H.323协议通信通道;本发明专利技术通过在网络链路层或IP层通过解析H.323协议通讯包,利用状态包过滤机制,实现防火墙动态地开放、关闭H.323协议通信通道,保证防火墙的运行安全,解决了传统防火墙包过滤技术无法动态开放和关闭H.323协议动态协商的端口的难题,可以让防火墙的使用具有更加透明的特点。(*该技术在2022年保护过期,可自由使用*)
【技术实现步骤摘要】
本专利技术涉及一种防火墙包过滤动态开关H.323协议通信通道的方法,特别涉及一种应用于防火墙的包过滤中、并能动态开放或关闭H.323协议动态协商端口的方法。在H.323多媒体通信系统中,控制信令和控制数据流的传送利用了面向连接的传输机制,将可靠的TCP用于H.245控制信道、T.120数据信道、H.225.0呼叫信令信道。视频和音频信息在采用实时传输协议(Real-timetransfer protocol,简称RTP协议)打包后,基于面向非连接的UDP来传输,传输时延较小。参见附图说明图1,H.323的工作过程是这样的首先,节点T1向节点T2的端口1720发起一个TCP连接。在这个连接上传送连接控制协议(其负责H.323协议呼叫的建立和中止,简称为Q.931)包;在Q.931中它们协商一个高于1024的端口号作为H.245控制信令(Control signaling)连接的端口号;其中,H.245控制信令通过交换点到点的控制消息来管理H.323端点的操作。当H.245连接成功以后,Q.931的连接将被关闭。H.245连接处理所有的调用参数协商,如编码方式等。一旦音频或视频编码和参数被协商,H.245执行开放逻辑通道(Open Logical Channel)序列,这个序列通过特殊的媒体流发送其发送者的实时控制协议(Real-time controlprotocol,简称RTCP)地址、端口号和接收者的RTP、RTCP地址及端口号,协商的RTP的端口号总是偶数,而RTCP的端口号总是在RTP的端口号上加1,为奇数。H.323协议的特点如下1、H.323调用由一个以上不同的并发连接组成。至少两个TCP连接,一个以上个UDP连接。2、呼叫可能从外部或内部发起;因此防火墙的网络地址传输(NetworkAddress Transmission,简称NAT)必须动态的支持H.323协议。3、控制信息采用ASN.1编码,它的地址信息的位置不固定。同样的版本的应用连接到同样的目的地址可能会协商出不同的选项,导致地址信息的位置不固定。本专利技术的目的是这样实现的一种防火墙包过滤动态开关H.323协议通信通道的方法,它包括如下步骤步骤1数据包预处理;步骤2协议分析,并根据协议分析的结果进行相应的数据包处理。当在链路层进行数据包预处理时,上面所述的步骤1具体为步骤11从防火墙接受数据包的缓冲区队列中取出数据包报文;步骤12检查状态表;步骤13如果状态表中已保存有该数据包报文中的H.245连接信息,则执行步骤2;否则,进行防火墙过滤规则的检查;步骤14如果该数据包符合该防火墙的过滤规则,则执行步骤2;步骤15丢弃该数据包。当在链路层进行协议分析及处理相应的数据包时,所述的步骤2具体为步骤21如果当前的数据包为TCP的1720端口的连接,则执行步骤22,否则执行步骤23;步骤22在链路层从Q.931报文中搜索H.245连接的端口号和地址信息,并将该信息写入状态表;执行步骤24;步骤23如果当前的数据包为TCP的H.245连接,则执行步骤24;否则执行步骤25;步骤24在链路层从H.245报文中搜索RTCP和RTP连接的端口号和地址信息,并将该信息写入状态表;步骤25链路层数据包转发。当在IP层进行数据包预处理时,上面所述的步骤1具体为步骤11’接收链路层发来的数据包;步骤12’去除该数据包中的头部。当在IP层进行协议分析及处理相应的数据包时,所述的步骤2具体为步骤21’如果当前的数据包为TCP的1720端口的连接,则执行步骤22’,否则执行步骤23’;步骤22’搜索H.245端口和地址信息,并将该信息写入伪装表;执行步骤24’; 步骤23’如果当前的数据包为TCP的H.245连接,则执行步骤24’;否则执行步骤25’;步骤24’搜索RTP、RTCP的端口和地址信息,并将该信息写入伪装表;步骤25’IP层NAT处理。所述的IP层NAT处理为在IP层从Q.931报文和H.245报文中搜索端口号,并预分配伪装端口,同时将该伪装端口信息写入伪装表中。本专利技术通过在网络链路层或IP层通过解析H.323协议通讯包,利用状态包过滤机制,实现防火墙动态地开放、关闭H.323协议通信通道,保证防火墙的运行安全,解决了传统防火墙包过滤技术无法动态开放和关闭H.323协议动态协商的端口的难题,可以让防火墙的使用具有更加透明的特点。以下结合附图和具体的实施例对本专利技术做进一步的详细说明。图2为本专利技术基于链路层开关H.323协议通信通道实施例的流程图。图3为本专利技术基于IP层的开关H.323协议通信通道实施例的流程图。具体的处理步骤是 步骤11从防火墙接受数据包的缓冲区队列中取出数据包报文;步骤12检查状态表;步骤13如果状态表中已保存有该数据包报文中的H.245连接信息,则执行步骤2;否则,进行防火墙过滤规则的检查;步骤14如果该数据包符合该防火墙的过滤规则,则执行步骤2;步骤15丢弃该数据包。步骤21如果当前的数据包为TCP的1720端口的连接,则执行步骤22,否则执行步骤23;步骤22在链路层从Q.931报文中搜索H.245连接的端口号和地址信息,并将该信息写入状态表;执行步骤24;步骤23如果当前的数据包为TCP的H.245连接,则执行步骤24;否则执行步骤25;步骤24在链路层从H.245报文中搜索RTCP和RTP连接的端口号和地址信息,并将该信息写入状态表;步骤25链路层数据包转发。参见图3,在IP层NAT时对H.323协议的动态包过滤是在链路层H.323动态包过滤的基础上,在做地址转换的时候,采用与链路层一样方法搜寻地址和端口信息;并预先分配伪装端口并写入伪装表中。具体的处理步骤为步骤11’接收链路层发来的数据包;步骤12’去除该数据包中的头部;步骤21’如果当前的数据包为TCP的1720端口的连接,则执行步骤22’,否则执行步骤23’;步骤22’搜索H.245端口和地址信息,并将该信息写入伪装表;执行步骤24’; 步骤23’如果当前的数据包为TCP的H.245连接,则执行步骤24’;否则执行步骤25’;步骤24’搜索RTP、RTCP的端口和地址信息,并将该信息写入伪装表;步骤25’IP层NAT处理。本专利技术不仅解决了传统防火墙包过滤技术中无法动态开放和关闭H.323协议动态协商的端口的难题,提高了防火墙的安全性,并且由于是在链路层实现的,所以使防火墙的使用具有更加透明的特点。最后所应说明的是以上实施例仅用以说明而非限制本专利技术的技术方案,尽管参照上述实施例对本专利技术进行了详细说明,本领域的普通技术人员应当理解依然可以对本专利技术进行修改或者等同替换,而不脱离本专利技术的精神和范围的任何修改或局部替换,其均应涵盖在本专利技术的权利要求范围当中。权利要求1.一种防火墙包过滤动态开关H.323协议通信通道的方法,其特征在于它包括如下步骤步骤1数据包预处理;步骤2协议分析,并根据协议分析的结果进行相应的数据包处理。2.根据权利要求1所述的防火墙包过滤动态开关H.323协议通信通道的方法,其特征在于当在链路层进行数据包预处理时,所述的步骤1具体为步骤11从防火墙接受数据包的缓冲区队列中取出数据包报文;步骤12检查状态表;步骤13如果状态表中已保存本文档来自技高网...
【技术保护点】
一种防火墙包过滤动态开关H.323协议通信通道的方法,其特征在于它包括如下步骤:步骤1:数据包预处理;步骤2:协议分析,并根据协议分析的结果进行相应的数据包处理。
【技术特征摘要】
【专利技术属性】
技术研发人员:宋斌,杨聪毅,刘春梅,宋春雨,胡民,
申请(专利权)人:联想北京有限公司,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。