CN100477626C - 全状态路由器及其实现方法 - Google Patents
全状态路由器及其实现方法 Download PDFInfo
- Publication number
- CN100477626C CN100477626C CNB021366586A CN02136658A CN100477626C CN 100477626 C CN100477626 C CN 100477626C CN B021366586 A CNB021366586 A CN B021366586A CN 02136658 A CN02136658 A CN 02136658A CN 100477626 C CN100477626 C CN 100477626C
- Authority
- CN
- China
- Prior art keywords
- module
- action
- packet
- state
- expansion
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于IP数据包的连接状态进行路由的路由器及其实现机制。该路由器称为全状态路由器,这里的连接状态包括tcp/ip协议中物理层之上的全部层次,即数据链路层,网络层,传输层和应用层。本发明提出一套具有良好扩展性的框架机制来实现它。在该框架下只需要插入功能模块就可实现不同的功能,如包过滤,地址转换和杀毒等。通过不同功能的组合,该全状态路由器可以容易地派生出网络服务器,如防火墙。同传统路由器相比,该全状态路由器功能强大,扩展性好,可以作为高效的防火墙使用。
Description
一、技术领域:
本发明涉及一种基于IP数据包的连接状态进行路由的路由器,特别是公开一种全状态路由器及其实现方法,其应用领域在于网络通信。
二、背景技术:
传统路由器只能根据数据包的目的地址及服务类型进行匹配(也称路由选择),当匹配成功后才能确定发出网卡和下一跳路径,它们被称为无状态路由器。其不足之处是不考虑IP数据包的连接状态。
三、发明内容:
本发明的目的是为了解决现有技术——无状态路由器的缺陷,公开一种全状态路由器和实现方法,本发明是这样实现的:一种全状态路由器的实现方法,包括根据数据包的目的地址及服务类型,确定发出网卡和下一跳路径的路由方式,其特征在于:该方法包括基于IP数据包的状态的路由选择方法,其路由选择方法的过程是,基于IP数据包的状态信息与路由规则的匹配条件进行匹配,简称为状态匹配;当状态匹配成功后由动作模块开始动作;动作是对匹配成功的数据包的处理,包括对IP数据包的接受,回绝,抛弃,借用,参数或内容的变换;只有当动作的结果是接受IP数据包时才确定发出网卡和下一跳路径;这里的状态信息包括:IP数据包的源地址、目标地址、协议类型、是否分片、服务类型、进入路由器的网络接口信息以及TCP、UDP、ICMP包的信息。
一种由所述的全状态路由器实现方法形成的全状态路由器,它由路由查询模块组成,其特征在于:路由查询模块中含有状态路由模块,所述的状态路由模块由状态匹配模块、动作模块、相关处理模块组成,IP数据包的状态信息进入状态匹配模块,与路由的规则的匹配条件进行状态匹配,如果匹配成功,进入动作模块,以完成对数据包的动作,主动作的结果要求接受IP数据包时,就设置下一跳地址和输出接口网卡,主动作非接受IP数据包时,就进入相关处理模块的处理流程,最后退出路由模块。
状态匹配模块在结构上又分为主匹配和一系列的扩展匹配,由n个扩展匹配和一个主匹配构成一条状态匹配链,这里整数n≥0;当n=0时,意味着没有扩展匹配;主匹配是必需的,也是内制的;扩展匹配是可选的。
动作模块在结构上又分为主动作和一系列的扩展动作,由m个扩展动作和1个主动作构成了一条动作链,这里整数m≥0;当m=0时,意味着没有扩展动作;主动作是必需的,所有的扩展动作是可选的。
所述的相关处理模块的处理流程包括主动作返回的回绝,抛弃,借用,参数错误,以及对IP数据包进行日志,审计或探测的扩展动作,这正是该全状态路由器的实现机制具有处理扩展性的原因。
状态匹配就是对上述连接状态的匹配,如对数据包的原地址,目的地址,协议,tcp或udp的原端口及目的端口,icmp的类型和代码,硬件地址,数据中的字符特征如病毒,流量的统计特性等连接状态特征的匹配。
动作包括对数据包的接受,审计,回绝,抛弃,参数或内容的变换,派生辅助规则和删除辅助规则等功能。其中参数或内容的变换包括原地址或目的地址转换,数据包的加解密与认证,去病毒等等,以实现负载平衡,虚拟服务器,杀毒,虚拟专用网等功能。当多通道协议建立其它通道时,派生辅助规则是为了让其它通道在需要时通过,而这些通道结束连接后,再删除辅助规则。
由上可知,如果该全状态路由器的路由选择仅仅依靠目的地址及服务类型,并且动作的结果总是接受IP数据包时,它就退化为无状态路由器。事实上,无状态路由器自身并没有上述动作概念,它只能通过在路由系统的外面增加其它模块才能实现这里的部分动作功能。全状态路由器是通过在路由系统中引入动作的概念得以紧骤地实现了上述功能,提高了系统的效率。因此,该全状态路由器是无状态路由器的广义形式,它扩展了路由选择方式,增加了动作的概念及功能。
本发明提出的全状态路由器还具有一种可扩展的框架体系结构,在框架中,可插入任何匹配模块以实现期望的匹配条件,可插入任何动作模块以实现期望的动作功能。下面结合附图及实施例来进一步说明。
四、附图说明:
图1.无状态路由器的路由查询流程。
图2.状态路由器的路由查询流程。
图3.状态匹配模块的结构。
图4.动作模块的结构。
图5.主动作的相关处理流程。
五、具体实施方式:
如前所述,无状态路由器是仅根据IP数据包的目的地址及服务类型来设置下一跳地址和输出接口网卡(即标准的路由功能);因此其路由表的查询信息是目的地址及服务类型。其路由查询流程可以由图1表示。
本发明的产品,该全状态路由器具有如图2所述的结构和路由查询流程,其特征在于3大模块,即状态匹配模块,动作模块,相关处理模块,它们被标志于小虚框之内。
IP数据包进入路由查询系统后开始循环查询路由表,每次查询时状态匹配模块负责将IP数据包的状态信息与当前路由规则的匹配条件进行状态匹配。如果匹配不成功,进入下一个循环,以与下一条路由规则的匹配条件进行匹配;如果匹配成功,进入动作模块,以完成对数据包的动作。如果动作的结果要求接受IP数据包时,就设置下一跳地址和输出接口网卡,否则进行与主动作相关的处理,相关处理的流程如图5所示。最后退出图2中所示的路由查询模块。
这里的状态匹配在结构上又分为主匹配和一系列的扩展匹配,如图3所示。其特征在于由n个扩展匹配和一个主匹配构成一条状态匹配链。这里整数n≥0;当n=0时,意味着没有扩展匹配;主匹配是必需的,也是内制的;扩展匹配是可选的。
主匹配中的匹配内容包括源地址、目标地址、协议类型、是否分片、服务类型以及进入路由器的网络接口等等;扩展匹配包括了TCP、UDP、ICMP包的信息的匹配,硬件地址(MAC)的匹配,用户身份的匹配,TTL值的匹配,特殊字符串的匹配,以及规则符合频率的匹配等前述连接状态信息。
只有当所有匹配都成功,总的状态匹配(链)才是成功的;否则,其中如果某一个匹配不成功,就不再进行下一步匹配,那么总的状态匹配(链)是不成功的。
动作模块在结构上又分为主动作和一系列的扩展动作,如图4所示。其特征在于由m个扩展动作和1个主动作构成了一条动作链,这里整数m≥0;当m=0时,意味着没有扩展动作;主动作是必需的,所有的扩展动作是可选的。
主动作决定一个包的命运,它实现对数据包的接受,回绝,抛弃,借用,参数或内容的变换等功能,其中参数或内容的变换包括原地址或目的地址转换,数据包的加解密与认证(如用于虚拟专用网),杀毒,以及负载平衡(Loadbalancing),虚拟服务器等功能。
扩展动作定义了在决定一个包的命运前后对该包进行的辅助动作,如只对IP数据包进行日志,审计或探测而不能够决定包的命运。整个动作链的最终结果由主动作结果决定。当主动作是过滤器时,它是内制的;否则,它是通过主动作模块来实现的。
对于图3所示的状态匹配模块的结构,其特征还在于,扩展匹配是通过扩展匹配模块来实现的,在状态匹配链中,它们可以根据用户需要来增加,减少和扩展功能,以实现期望的扩展匹配条件。这是该全状态路由器的实现机制具有匹配扩展性的原因。
对于图4所示的动作模块的结构,其特征还在于,扩展动作是通过扩展动作模块来实现的,在动作链中,这些模块都可以根据用户需要来增加,减少和扩展功能,以实现期望的扩展动作。此外,主动作模块也可以根据用户需要来定制功能,以实现期望的主动作,如源地址转换,目的地址转换,虚拟服务器,内部地址掩藏,加解密(用于虚拟专用网),杀毒等。这是该全状态路由器的实现机制具有动作扩展性的原因。
对于图5所示的主动作的相关处理流程,其特征还在于,除了能处理主动作返回的抛弃,回绝,参数错误和借用这几种情况外,还可扩展处理其它需要的情形,图中用省略号表示。这是该全状态路由器的实现机制具有处理扩展性的原因。
由上可知,本发明提出的全状态路由器具有一种可扩展的框架体系结构。事实上正是上述匹配扩展性,动作扩展性和处理扩展性是保证该路由器具有全状态特性的基石。因为如前所述的连接状态的信息众多,不可能用少数几个模块来全部实现,只能利用可扩展性来实现用户希望的功能。
实施例:
根据上述匹配和动作在功能上的不同组合,可以容易地将该全状态路由器派生为表1中网络服务器。
表1.可由全状态路由器派生的网络产品
从该表中可见,无状态路由器仅仅是该全状态路由器的一个特例。
我们的路由器除了有路由功能外,还具有防火墙的一切功能。传统防火墙是与路由模块相分离的,而我们的路由器是与防火墙同为一体,因此具有更高的效率。
Claims (5)
1、一种全状态路由器的实现方法,包括根据数据包的目的地址及服务类型,确定发出网卡和下一跳路径的路由方式,其特征在于:该方法包括基于IP数据包的状态的路由选择方法,其路由选择方法的过程是,基于IP数据包的状态信息与路由规则的匹配条件进行匹配,简称为状态匹配;当状态匹配成功后由动作模块开始动作;动作是对匹配成功的数据包的处理,包括对IP数据包的接受,回绝,抛弃,借用,参数或内容的变换;只有当动作的结果是接受IP数据包时才确定发出网卡和下一跳路径;这里的状态信息包括:IP数据包的源地址、目标地址、协议类型、是否分片、服务类型、进入路由器的网络接口信息以及TCP、UDP、ICMP包的信息。
2、一种由权利要求1所述的全状态路由器实现方法形成的全状态路由器,它由路由查询模块组成,其特征在于:路由查询模块中含有状态路由模块,所述的状态路由模块由状态匹配模块、动作模块、相关处理模块组成,IP数据包的状态信息进入状态匹配模块,与路由的规则的匹配条件进行状态匹配,如果匹配成功,进入动作模块,以完成对数据包的动作,主动作的结果要求接受IP数据包时,就设置下一跳地址和输出接口网卡,主动作非接受IP数据包时,就进入相关处理模块的处理流程,最后退出路由模块。
3、根据权利要求2所述的全状态路由器,其特征在于:所述的状态匹配模块在结构上又分为主匹配和一系列的扩展匹配,由n个扩展匹配和一个主匹配构成一条状态匹配链,这里整数n≥0;当n=0时,意味着没有扩展匹配,主匹配是必需的,也是内制的;扩展匹配是可选的。
4、根据权利要求2所述的全状态路由器,其特征在于:所述的动作模块在结构上又分为主动作和一系列的扩展动作,由m个扩展动作和1个主动作构成了一条动作链,这里整数m≥0;当m=0时,意味着没有扩展动作,主动作是必需的,所有的扩展动作是可选的。
5、根据权利要求2或4所述的全状态路由器,其特征在于:所述的相关处理模块的处理流程包括主动作返回的回绝,抛弃,借用,参数错误,以及对IP数据包进行日志,审计或探测的扩展动作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021366586A CN100477626C (zh) | 2002-08-26 | 2002-08-26 | 全状态路由器及其实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021366586A CN100477626C (zh) | 2002-08-26 | 2002-08-26 | 全状态路由器及其实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1479498A CN1479498A (zh) | 2004-03-03 |
CN100477626C true CN100477626C (zh) | 2009-04-08 |
Family
ID=34146596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB021366586A Expired - Fee Related CN100477626C (zh) | 2002-08-26 | 2002-08-26 | 全状态路由器及其实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100477626C (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7509431B2 (en) * | 2004-11-17 | 2009-03-24 | Cisco Technology, Inc. | Performing message and transformation adapter functions in a network element on behalf of an application |
CN101247328B (zh) * | 2007-12-28 | 2011-12-28 | 北京九合创胜网络科技有限公司 | 网络应用的多连接处理方法及装置 |
CN101540720B (zh) * | 2008-06-06 | 2011-06-15 | 曙光信息产业(北京)有限公司 | 一种支持多类型网卡链路聚合的零拷贝方法 |
CN103873467A (zh) * | 2014-03-12 | 2014-06-18 | 战伟 | 一种控制网络边界的方法 |
CN106027493B (zh) * | 2016-04-29 | 2019-06-11 | 天津赞普科技股份有限公司 | 网络信息保护方法、路由器、服务器和系统 |
-
2002
- 2002-08-26 CN CNB021366586A patent/CN100477626C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1479498A (zh) | 2004-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100359885C (zh) | 以策略流方式转发数据的方法和数据转发设备 | |
CN1503506B (zh) | 虚拟接入路由器 | |
TWI261442B (en) | Switch capable of controlling data packet transmission and related method | |
US6658481B1 (en) | Router uses a single hierarchy independent routing table that includes a flag to look-up a series of next hop routers for routing packets | |
EP2795874B1 (en) | Controller for flexible and extensible flow processing in software-defined networks | |
CA2350711C (en) | Managing internet protocol connection oriented services | |
US6957272B2 (en) | Stackable lookup engines | |
Kaur et al. | BANANAS: An evolutionary framework for explicit and multipath routing in the Internet | |
CN102884769B (zh) | 通信系统、节点、控制设备以及通信方法 | |
EP0836780B1 (en) | Network addressing arrangement for backward compatible routing of an expanded address space | |
US8082447B2 (en) | Systems and methods for end-to-end resource reservation authentication | |
US7447166B1 (en) | Method to distribute IEEE 802.1X authenticated users among multiple broadcast domains | |
EP1158724A2 (en) | Packet processor with programmable application logic | |
US20060136722A1 (en) | Secure communication system and communication route selecting device | |
US20060045088A1 (en) | Method of using Patricia tree and longest prefix match for policy-based route look-up | |
EP3890251A1 (en) | Service processing method, device and system | |
US6697872B1 (en) | Distributed packet processing using encapsulation and decapsulation chains | |
JP2002504286A (ja) | 仮想専用網構造 | |
CN107770073A (zh) | 一种信息同步的方法,装置及系统 | |
US7349427B1 (en) | Routing method and apparatus for optimising auto-tunnelling in a heterogeneous network | |
CN100521682C (zh) | 在IPv6中使用接口标识符的路由选择表管理方法 | |
US7535914B2 (en) | Communications network | |
CN100444593C (zh) | 数据包分类的装置及方法 | |
CN100477626C (zh) | 全状态路由器及其实现方法 | |
CN1973503B (zh) | 流处理 |
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: 20090408 Termination date: 20110826 |