CN1440172A - 防火墙包过滤动态开关h.323协议通信通道的方法 - Google Patents
防火墙包过滤动态开关h.323协议通信通道的方法 Download PDFInfo
- Publication number
- CN1440172A CN1440172A CN 02100695 CN02100695A CN1440172A CN 1440172 A CN1440172 A CN 1440172A CN 02100695 CN02100695 CN 02100695 CN 02100695 A CN02100695 A CN 02100695A CN 1440172 A CN1440172 A CN 1440172A
- Authority
- CN
- China
- Prior art keywords
- packet
- execution
- port
- communication channel
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
一种防火墙包过滤动态开关H.323协议通信通道的方法,首先,对数据包进行预处理;然后,进行协议分析,并根据该协议分析的结果进行相应的数据包处理;具体包括在链路层动态开关H.323协议通信通道和在IP层动态开关H.323协议通信通道;本发明通过在网络链路层或IP层通过解析H.323协议通讯包,利用状态包过滤机制,实现防火墙动态地开放、关闭H.323协议通信通道,保证防火墙的运行安全,解决了传统防火墙包过滤技术无法动态开放和关闭H.323协议动态协商的端口的难题,可以让防火墙的使用具有更加透明的特点。
Description
技术领域:
本发明涉及一种防火墙包过滤动态开关H.323协议通信通道的方法,特别涉及一种应用于防火墙的包过滤中、并能动态开放或关闭H.323协议动态协商端口的方法。
背景技术:
H.323协议是一个国际电信联盟定义的协议族,是目前大部分视频会议使用的通信协议,该协议动态的协商所使用的端口,一个高安全性的防火墙必须能动态的开放它所使用的端口,通讯结束后能及时的关闭端口。但是,传统的防火墙包过滤技术无法动态地开放和关闭由H.323协议动态协商的端口;所以,如果要允许基于H.323协议的视频会议系统通讯信息通过防火墙就不得不开放1024以上的传输控制协议(Transfer ControlProtocol,简称TCP)、用户数据报协议(User Datagram Protocol,简称UDP)高端口。可这样一来,又会对防火墙的安全性产生很大的影响。为此我们需要一种动态解析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协议通信通道的方法,即在网络链路层或IP层通过解析H.323协议通讯包,利用状态包过滤机制,实现防火墙动态地开放、关闭H.323协议通信通道,保证防火墙的运行安全。
本发明的目的是这样实现的:
一种防火墙包过滤动态开关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协议动态协商的端口的难题,可以让防火墙的使用具有更加透明的特点。
以下结合附图和具体的实施例对本发明做进一步的详细说明。
附图说明:
图1为H.323协议的工作原理流程示意图。
图2为本发明基于链路层开关H.323协议通信通道实施例的流程图。
图3为本发明基于IP层的开关H.323协议通信通道实施例的流程图。
具体实施方式:
参见图2,在链路层实现H.323协议的动态包过滤采用的是链路层的状态包过滤机制。当连接为TCP的1720端口时,则根据协议Q.931从该连接传输的数据中搜寻H.245连接的端口和地址信息,并将该端口和地址信息写入到状态表中;当下一次再发起H.245的连接时,由于状态表中已保存有该H.245连接的端口和地址信息的记录,该数据包则会被允许通过。当协议Q.931的处理步骤完成好,还要进一步在H.245的连接传输的数据中继续搜寻RTP和RTCP的端口和地址信息,并将该RTP和RTCP的端口和地址信息记录到状态表中。同样,当再次有发往上述地址和端口的数据包到来,该数据包就被直接允许通过,并被。
具体的处理步骤是:
步骤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协议动态协商的端口的难题,提高了防火墙的安全性,并且由于是在链路层实现的,所以使防火墙的使用具有更加透明的特点。
最后所应说明的是:以上实施例仅用以说明而非限制本发明的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围当中。
Claims (6)
1、一种防火墙包过滤动态开关H.323协议通信通道的方法,其特征在于它包括如下步骤:
步骤1:数据包预处理;
步骤2:协议分析,并根据协议分析的结果进行相应的数据包处理。
2、根据权利要求1所述的防火墙包过滤动态开关H.323协议通信通道的方法,其特征在于:当在链路层进行数据包预处理时,所述的步骤1具体为:
步骤11:从防火墙接受数据包的缓冲区队列中取出数据包报文;
步骤12:检查状态表;
步骤13:如果状态表中已保存有该数据包报文中的H.245连接信息,则执行步骤2;否则,进行防火墙过滤规则的检查;
步骤14:如果该数据包符合该防火墙的过滤规则,则执行步骤2;
步骤15:丢弃该数据包。
3、根据权利要求1所述的防火墙包过滤动态开关H.323协议通信通道的方法,其特征在于:当在链路层进行协议分析及相应的数据包处理时,所述的步骤2具体为:
步骤21:如果当前的数据包为TCP的1720端口的连接,则执行步骤22,否则执行步骤23;
步骤22:在链路层从Q.931报文中搜索H.245连接的端口号和地址信息,并将该信息写入状态表;执行步骤24;
步骤23:如果当前的数据包为TCP的H.245连接,则执行步骤24;否则执行步骤25;
步骤24:在链路层从H.245报文中搜索RTCP和RTP连接的端口号和地址信息,并将该信息写入状态表;
步骤25:链路层数据包转发。
4、根据权利要求1所述的防火墙包过滤动态开关H.323协议通信通道的方法,其特征在于:当在IP层进行数据包预处理时,所述的步骤2具体为:
步骤11’:接收链路层发来的数据包;
步骤12’:去除该数据包中的头部。
5、根据权利要求1所述的防火墙包过滤动态开关H.323协议通信通道的方法,其特征在于:当在IP层进行协议分析及相应的数据包处理时,所述的步骤2具体为:
步骤21’:如果当前的数据包为TCP的1720端口的连接,则执行步骤22’,否则执行步骤23’;
步骤22’:搜索H.245端口和地址信息,并将该信息写入伪装表;执行步骤24’;
步骤23’:如果当前的数据包为TCP的H.245连接,则执行步骤24’;否则执行步骤25’;
步骤24’:搜索RTP、RTCP的端口和地址信息,并将该信息写入伪装表;
步骤25’:IP层NAT处理。
6、根据权利要求5所述的防火墙包过滤动态开关H.323协议通信通道的方法,其特征在于:所述的IP层NAT处理为:在IP层从Q.931报文和H.245报文中搜索端口号,并预分配伪装端口,同时将该伪装端口信息写入伪装表中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021006954A CN100490438C (zh) | 2002-02-22 | 2002-02-22 | 防火墙包过滤动态开关h.323协议通信通道的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021006954A CN100490438C (zh) | 2002-02-22 | 2002-02-22 | 防火墙包过滤动态开关h.323协议通信通道的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1440172A true CN1440172A (zh) | 2003-09-03 |
CN100490438C CN100490438C (zh) | 2009-05-20 |
Family
ID=27792975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB021006954A Expired - Fee Related CN100490438C (zh) | 2002-02-22 | 2002-02-22 | 防火墙包过滤动态开关h.323协议通信通道的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100490438C (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100418084C (zh) * | 2003-10-16 | 2008-09-10 | 学校法人汉阳学院 | 使用动态通道提供点播多媒体数据服务的方法及其装置 |
CN101036369B (zh) * | 2004-10-08 | 2011-02-23 | 国际商业机器公司 | 分组的脱机分析 |
CN102136935A (zh) * | 2010-11-16 | 2011-07-27 | 华为技术有限公司 | 一种维护网口及其安全防护方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5864666A (en) * | 1996-12-23 | 1999-01-26 | International Business Machines Corporation | Web-based administration of IP tunneling on internet firewalls |
-
2002
- 2002-02-22 CN CNB021006954A patent/CN100490438C/zh not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100418084C (zh) * | 2003-10-16 | 2008-09-10 | 学校法人汉阳学院 | 使用动态通道提供点播多媒体数据服务的方法及其装置 |
CN101036369B (zh) * | 2004-10-08 | 2011-02-23 | 国际商业机器公司 | 分组的脱机分析 |
CN102136935A (zh) * | 2010-11-16 | 2011-07-27 | 华为技术有限公司 | 一种维护网口及其安全防护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100490438C (zh) | 2009-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1693998B1 (en) | Method and system for a proxy-based network translation | |
US7835347B2 (en) | IP inter-working gateway in next generation network and method for implementing inter-working between IP domains | |
CN1633100A (zh) | 多媒体业务网络地址转换穿越的方法及其系统 | |
CN1716941A (zh) | 用于建立双向对等通信链路的方法和呼叫服务器 | |
CN1516409A (zh) | 一种使媒体流穿越网络地址转换器的方法 | |
CN101064712A (zh) | 一种基于Linux内核实现双通道穿越多级NAT和防火墙的系统及方法 | |
EP2037645B1 (en) | A media gateway and packet-filtering method thereof | |
CN1863138A (zh) | 一种实现多媒体业务nat穿越的方法 | |
CN1645861A (zh) | 一种软交换网络穿越防火墙的方法 | |
CN1317873C (zh) | 基于媒体网关控制协议的信令代理实现方法 | |
CN1232084C (zh) | 基于媒体网关控制协议的媒体网关间实现语音通信的方法 | |
CN1849808A (zh) | 混合多媒体网络的协议的互通 | |
CN1440172A (zh) | 防火墙包过滤动态开关h.323协议通信通道的方法 | |
CN1901539A (zh) | 一种多媒体业务隧道穿越nat的方法 | |
CN1551569A (zh) | 网络传输多媒体数据的方法 | |
CN110636029B (zh) | 一种通信方法和通信装置 | |
CN1761241A (zh) | 利用加密在分组通信网络中处理语音数据 | |
CN1744561A (zh) | 报文转换过程中的超长报文的处理方法 | |
CN1270533C (zh) | 会议电视多点控制设备中数据处理的方法 | |
KR100705567B1 (ko) | 브이오아이피 호 처리 시스템 및 그 방법 | |
CN1677949A (zh) | 在网络中实现设备间通讯的方法 | |
CN1968181A (zh) | 一种实现媒体流报文穿越网络地址转换器的方法 | |
CN1946055A (zh) | 即时通讯中媒体数据传输通道切换的方法 | |
CN1297114C (zh) | 实现信令、语音跨网传输的方法 | |
CN1832437A (zh) | H.323系统的多媒体会话穿越nat设备的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090520 Termination date: 20100222 |