CN1697443B - 一种控制动态数据流的方法 - Google Patents
一种控制动态数据流的方法 Download PDFInfo
- Publication number
- CN1697443B CN1697443B CN 200410038913 CN200410038913A CN1697443B CN 1697443 B CN1697443 B CN 1697443B CN 200410038913 CN200410038913 CN 200410038913 CN 200410038913 A CN200410038913 A CN 200410038913A CN 1697443 B CN1697443 B CN 1697443B
- Authority
- CN
- China
- Prior art keywords
- data flow
- rule
- dynamic
- control flows
- control
- 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.)
- Active
Links
Images
Abstract
本发明公开了一种控制动态数据流的方法,该方法为:配置动态数据流的控制流规则,并使该规则中包含要创建动态规则的控制报文特征;将经过网络设备的控制流与所述控制流规则进行匹配;分析与所述控制流规则匹配成功的控制流中包含的动态数据流特征,并生成控制该类数据流的数据流规则;以及根据所述数据流规则处理与该规则相匹配的数据流。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种控制动态数据流的方法。
背景技术
网络中存在着各种各样的数据流,它们从不同的源到达各自相应的目的地,并根据数据流特征的不同来完成相应的上层业务。IETF定义了一些相关业务的特征,如定义了一些UDP和TCP报文的知名端口号:如FTP为21,telnet为23,www为80等。这样在网络中,可以根据这些特征,将数据流区分出来。
目前,网络中的设备为了区分不同业务的数据包,需要配置一系列的规则,这些规则通过访问控制列表ACL(Access Control List)定义。访问控制列表是由rule{permit|deny}语句组成的一系列有顺序的规则,这些规则根据数据包的源地址、目的地址、端口号等来进行描述。ACL通过这些规则对数据包进行分类,这样对不同的业务数据流实现了区分。再将这些规则应用到网络设备上,网络设备则根据数据包与这些规则的匹配结果,来判断哪些数据包是符合这些规则,从而进行相应的处理。如可以接收,也可以丢弃,或者进行相关的策略。
现有技术中,一条访问控制规则可以由多条rule{permit|deny}语句组成,而每一条语句指定的数据包的范围大小有别,在匹配一个数据包和访问控制规则的时候按照一定匹配顺序进行处理。
例如,如图1所示:
局域网内部通过一台网络设备访问广域网,局域网内部只对外提供WWW、FTP和Telnet服务,公司内部子网为129.38.1.0,其中,内部FTP服务器地址为129.38.1.1,内部Telnet服务器地址为129.38.1.2,内部WWW服务器地址为129.38.1.3,可以通过配置一定的流控制规则,实现以下要求:
外部网络只有特定用户可以访问内部服务器。
内部网络只有特定主机可以访问外部网络。
假定外部特定用户的IP地址为202.39.2.3。
则需要在网络设备上配置如下规则:
acl number 101 deny ip //配置规则禁止所有IP包通过。
acl number 101 permit ip source 129.38.1.10//配置规则允许特定主机访问外部网,允许内部服务器访问外部网。
acl number 101 permit ip source 129.38.1.20
acl number 101 permit ip source 129.38.1.30
acl number 102 acl number 101 permit ip source 129.38.1.20//配置规则允许特定用户从外部网访问内部服务器。
通过这些规则,当数据报文经过网络设备时,对数据流进行匹配,根据匹配结果,进行相关的丢弃处理等。如对上面的需求,进行相应的规则应用到网络设备的接口上,则可实现对应的业务需求。
[Ethernet0/0/0]firewall packet-filter 101 inbound//将规则101作用于局域网接入的网络设备接口
[Serial1/0/0]firewall packet-filter 102 inbound//将规则102作用于广域网络接入网络设备接口
虽然ACL技术解决了对网络中各种数据流的分类的问题,可以通过预先配置好的规则,对经过网络设备的数据流进行分类,然后根据分类的结果进行相应的处理;同时分类的标准也很灵活,可以根据数据流的源、目的地址,源、目的端口号及协议号,报文长度等进行。但是,这种方式需要预先知道这些数据流的基本特征,然后将这些特征配置到网络设备上,网络设备再根据这些特征将数据进行区别处理。对一些新的业务,如对语音视频H.323业务,其控制流是固定的知名端口号,而数据流则是通过控制流动态协商出来端口号,这些协商出来的端口号是不固定的。对这种情况,现有的技术只能做到针对控制流的配置,而不能做到对动态协商出来的数据流的区分,因此,使用受到很大限制,不能满足新的业务需求。
发明内容
本发明提供一种控制动态数据流的方法,以解决现有数据流控制技术中存在不能对动态协商出来的数据流的区分和控制的问题。
为解决上述问题,本发明提供以下技术方案:
一种控制动态数据流的方法,该方法包括步骤:
A、发送端与接收端通过协商获得所述动态数据流的数据流特征;
B、配置动态数据流的控制流规则,并使该规则中包含要创建动态规则的控制报文特征;
C、将经过网络设备的控制流与所述控制流规则进行匹配;
D、分析与所述控制流规则匹配成功的控制流中包含的动态数据流的数据流特征,并生成控制该类数据流的数据流规则;以及
E、根据所述数据流规则处理与该规则相匹配的数据流。
其中:
步骤D中,根据所述控制流规则中包含的控制报文特征和控制流中包含的动态数据流的数据流特征来生成数据流规则。
将动态创建的数据流规则作为对应的控制流规则的一个子项保存在访问控制列表中。
将控制流规则和动态创建的数据流规则保存到哈希表中作为该表的一个表项。
当一条动态创建的数据流规则在预定时间内没有数据流匹配时,自动删除该数据流规则。
本发明在数据流的特征是动态生成的时候,根据分析业务控制流之间协商过程,得到相应的动态生成的数据流的特征,从而动态生成数据流规则,再根据这些新生成的规则进行流的分类,达到了对同一类业务数据流的区分。因而后续的业务处理可以针对区分开的数据流进行相应的处理,如进行防火墙的处理或进行数据流的策略路由等,对于网络中日益增加的新业务,本发明提供了一种新的流识别和控制方式。
附图说明
图1为访问控制列表的访问控制示意图;
图2为本发明实施例的一个组网示意图;
图3为本发明的流程图。
具体实施方式
本发明所述的数据流的特征是指能表示一个IP报文特点的信息,如:IP源地址,源端口,目的地址,目地端口,协议号,Tos,DSCP,MAC地址,AS号和接口号等。控制报文内容里面包含了一些将要创建的动态数据流特征。
本实施例以H.323协议的音视频业务为例对本发明进行说明。
对语音视频H.323业务,其控制流是固定的知名端口号,而数据流则是通过控制流动态协商出来端口号,这些协商出来的端口号是不固定的。因此,为了识别和控制数据流,本发明根据协商出来的数据流的特征动态创建流规则,并根据静态配置的控制流规则及动态生成的数据流规则,对经过网络设备的数据流进行匹配,对匹配成功的数据包按规则进行相应的后续处理。对匹配不成功的数据包则由网络设备进行正常转发。
如图2所示的一个组网示意图,局域网用户通过网络设备接入两不同的运营商网络,即网络A和网络B。用户业务数据流分为两大类,一类为普通的上网业务,通过网络A接入广域网。另一类为H.323的语音视频业务,需要走网络B。这样需要在网络设备上对这两类数据进行分离。然后通过策略路由到不同的运营商网络。
1、当局域网用户要访问广域网。如用户打开WEB浏览器,当用户数据向广域网中的某个地址发起一个Http的连接时,数据报文到达网络设备(如路由器网关),对于普通的上网业务,可以根据现有的访问控制列表(ACL)进行数据流的匹配,再进行策略路由处理,接入网络A。
2、对于局域网用户的语音视频等这类动态协商数据流的业务,这类业务的共同之处在于业务发起的控制流是知名端口,即控制流的特征是已知的,而业务数据流特征是两端协商出来的。因此,可以通过创建动态流规则,将控制流和业务数据流归为同一类的规则中。对于创建动态流规则,可通过分析控制流报文,并将通过控制流协商出来的数据流的特征,作为规则中一个子项。这样。用户配置中也只需要配置特定的控制流特征即可。实现如下:
A、先确定相应的特殊业务的业务类型,如为H.323的语音视频业务,对这类业务控制流特征是已知的知名端口,可以进行如下配置:
acl 1000 permit ip H323 souce-address 10.1.1.10 any dynamic。
即配置了从用户10.1.1.1发起的H.323业务的规则,根据其中的关键字“dynamic”来确定要动态创建数据流规则。这样当到达网络设备的数据流,可以根据匹配该规则及该规则所动态生成的acl子项,达到对视频数据流的区分,从而进行相应的策略处理,即进入网络B。
B、通过A中配置的控制流特征,在网络设备上,当一个数据流的控制流匹配了所配置的acl 1000规则时,则通过分析控制流的报文内容,获取报文中所承载的要动态生成的数据流的特征,从而把这些特征加入到这个acl子项中,如下面是显示出的acl 1000所包含的静态配置的规则及动态生成的规则,其中rule 2和rule3是协商出来规则:
show acl 1000:
rule 1 permit h323 source-address 10.1.1.10any dynamic
rule 2 permit h323-date source-address 10.1.1.10 source-port 26632(“26632”为动态协商出来的源端口号)
rule 3 permit h323-date source-address 10.1.1.10 source-port 26634(“26634”为动态协商出来的源端口号)
参阅图3所示,本发明的具体处理流程如下:
步骤10:根据动态数据流的已知控制流特征配置控制流规则,并使该规则中包含要创建动态规则的控制报文特征。
如前述的H.323的语音视频业务,其控制流规则配置如下:
acl 1000 permit ip H323 souce-address 10.1.1.10 any dynamic。
步骤20:网络设备收到控制流时,将该控制流与步骤10中配置的控制流规则进行匹配。
网络设备的访问控制列表中可能配置有多个控制流规则,匹配方式与现有技术相同。
步骤30:判断是否匹配成功,如果是,则进行步骤40;否则,(步骤301)将规则与其它规则匹配。
与其它非动态数据流的控制流规则匹配时,匹配成功或匹配不成功均可按现有方式处理。
步骤40:分析控制流中包含的数据流特征,并根据该数据流特征创建该数据流的数据流规则。
通过删除控制流规则中创建动态规则的信息并将数据流特征加入该控制流规则来生成数据流规则。
步骤50:利用动态生成的数据流规则处理匹配该数据流规则的后续数据流。
由于数据流是动态的,对于当协商出来的规则很多时,查ACL的链表会消耗大量的系统资源,为避免此种情况,可采用哈希(Hash)算法来解决。即当H.323控制数据报文到来时,创建一个hash表项,将动态生成的数据流规则写入hash表作为该表的一个新表项。由于hash有散列的特征,查找就很快,占用的资源也就少。
如,上述动态生成的rule2和rule3为哈希表的表项,当来一个数据报文时,先查hash表,如果查到相应的表项并匹配成功,则表明匹配结果为“允许”(permit),否则为“拒绝”(deny)或者为新的表项,然后再匹配在ACL中配置的静态规则,如果匹配成功,则表明是新表项,则在hash表中增加该表项,否则就为“拒绝”(deny)。
对动态生成的数据流规则的删除,采取包驱动的方式,即如果某一条规则在一段时间里没有流量匹配,则认为这条规则已经失效,自动删除该规则。
以上虽以H.322协议为例进行说明,但本发明同样可用于其他协议,如,文件传输入控制协议(FTP)和初始会话协议(SIP)。
在网络中数据流越来越多,业务特征也越来越复杂,因此对数据流的区分,也日益复杂,同时,对数据流的区分,也是网络设备对后续流程处理的基础,如果数据流不区分出来,后续的流程无法进一步进行。本发明通过动态生成流规则来对动态生成的数据流进行了归类,达到了对同一类业务数据流的区分。从而对网络中日益增加的新业务,提供了一种新的流识别方式。
Claims (6)
1.一种控制动态数据流的方法,其特征在于,该方法包括步骤:
A、发送端与接收端通过协商获得所述动态数据流的数据流特征;
B、配置动态数据流的控制流规则,并使该规则中包含要创建动态规则的控制报文特征;
C、将经过网络设备的控制流与所述控制流规则进行匹配;
D、分析与所述控制流规则匹配成功的控制流中包含的动态数据流的数据流特征,并生成控制该类数据流的数据流规则;以及
E、根据所述数据流规则处理与该规则相匹配的数据流。
2.如权利要求1所述的方法,其特征在于,步骤D中,根据所述控制流规则中包含的控制报文特征和控制流中包含的动态数据流的数据流特征来生成数据流规则。
3.如权利要求2所述的方法,其特征在于,将动态创建的数据流规则作为对应的控制流规则的一个子项保存在由链表构成的访问控制列表中。
4.如权利要求2所述的方法,其特征在于,将控制流规则和动态创建的数据流规则保存到哈希表中作为该表的一个表项。
5.如权利要求1至4之一项所述的方法,其特征在于,当一条动态创建的数据流规则在预定时间内没有数据流匹配时,自动删除该数据流规则。
6.如权利要求5所述的方法,其特征在于,利用生成的数据流规则区分出数据流后,对不同的数据流采取不同的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410038913 CN1697443B (zh) | 2004-05-11 | 2004-05-11 | 一种控制动态数据流的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410038913 CN1697443B (zh) | 2004-05-11 | 2004-05-11 | 一种控制动态数据流的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1697443A CN1697443A (zh) | 2005-11-16 |
CN1697443B true CN1697443B (zh) | 2010-06-02 |
Family
ID=35349966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200410038913 Active CN1697443B (zh) | 2004-05-11 | 2004-05-11 | 一种控制动态数据流的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1697443B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101958842B (zh) * | 2010-10-28 | 2013-07-24 | 神州数码网络(北京)有限公司 | 一种基于用户的流量控制方法 |
CN102255909B (zh) * | 2011-07-11 | 2014-07-02 | 北京星网锐捷网络技术有限公司 | 监控会话流的方法及装置 |
CN104009917B (zh) * | 2013-02-21 | 2017-06-16 | 北京华为数字技术有限公司 | 配置acl规则的方法和设备 |
CN110808913B (zh) * | 2018-08-30 | 2021-02-23 | 华为技术有限公司 | 报文处理的方法、装置及相关设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1477522A (zh) * | 2002-06-28 | 2004-02-25 | 管理图像文件的方法和系统 |
-
2004
- 2004-05-11 CN CN 200410038913 patent/CN1697443B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1477522A (zh) * | 2002-06-28 | 2004-02-25 | 管理图像文件的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN1697443A (zh) | 2005-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7362763B2 (en) | Apparatus and method for classifying traffic in a distributed architecture router | |
US7355970B2 (en) | Method and apparatus for enabling access on a network switch | |
JP4327575B2 (ja) | 動的ファイアウォールシステム | |
EP1303079B1 (en) | Central policy based traffic management | |
US6772347B1 (en) | Method, apparatus and computer program product for a network firewall | |
US6772223B1 (en) | Configurable classification interface for networking devices supporting multiple action packet handling rules | |
US6952728B1 (en) | Providing desired service policies to subscribers accessing internet | |
US6674743B1 (en) | Method and apparatus for providing policy-based services for internal applications | |
EP1188325B1 (en) | Controlling pdp contexts in mobile stations | |
US8301771B2 (en) | Methods, systems, and computer program products for transmission control of sensitive application-layer data | |
US9294394B2 (en) | L2/L3 multi-mode switch including policy processing | |
US7721084B2 (en) | Firewall for filtering tunneled data packets | |
US6925085B1 (en) | Packet classification using hash key signatures generated from interrupted hash function | |
US7823195B1 (en) | Method, apparatus and computer program product for a network firewall | |
CN104348716A (zh) | 一种报文处理方法及设备 | |
AU774402B2 (en) | Providing desired service policies to subscribers accessing internet | |
CN1190924C (zh) | 一种对无线局域网内用户进行隔离的方法 | |
JP2008541675A (ja) | ネットワークアドレス変換またはファイアウォール設備を越える方法及びシステム | |
EP1387533A1 (en) | Communication of packet data units over signalling and traffic channels | |
US6950429B2 (en) | IP data transmission network using a route selection based on level 4/5 protocol information | |
CN1697443B (zh) | 一种控制动态数据流的方法 | |
WO2005060183A1 (en) | Controlling transportation of data packets | |
CN100426786C (zh) | 基于访问控制列表的网络访问控制方法 | |
CN102265563A (zh) | 识别通信网络中的业务流的方法和设备 | |
GB2330991A (en) | Routing data packets |
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 |