一种基于硬件的核心路由器tcp连接状态维护模块设计方案的制作方法

文档序号:7761583阅读:549来源:国知局
专利名称:一种基于硬件的核心路由器tcp连接状态维护模块设计方案的制作方法
技术领域
本发明涉及核心路由器的TCP连接状态维护模块,该发明的作用是避免网络设备 受到恶意攻击。
背景技术
在实际运行的网络中,核心路由器起到非常关键的作用,其稳定与否直接影响到 骨干网络业务运行的可靠性。核心路由器通常会运行BGP路由协议,不可避免的要打开某 些TCP端口,这些开放的TCP端口的安全性,就显得至关重要。由于TCP协议是面向连接的, 其需要维护状态的特点引发的基于TCP状态的攻击,这类攻击是TCP协议自身无法解决的, 也是核心路由器必须解决的问题。当前的核心路由器进行TCP连接状态维护,通常是采用CPU+RAM的方式实现,即 TCP状态表被存储于核心路由器的RAM中,建立和维护工作是由核心路由器的CPU来完成 的。在核心路由器中处理一个新的TCP连接如图1所示,其具体处理过程是如下数据包通过接口模块进入IP包入处理模块,经路由处理引擎匹配,当击中直连路 由后,经大容量存储管理和调度模块后,转发至交换接口模块,数据包经高速背板上交给主 控板CPU处理,主控板CPU按TCP连接建立的报文处理流程建立连接后,形成TCP状态列表, 此TCP状态列表被存储于RAM空间中,由CPU维护。由于TCP协议是面向连接的,存在状态维护的需求,其状态列表需要足够RAM和 CPU资源存储和处理,而在路由器体系结构的设计时,上述两种资源是有限的。因此路由器 在受到恶意攻击时,如收到超过CPU处理能力或超过RAM存储能力的大量TCP连接请求, 会影响路由器的正常工作。严重时可能引起受攻击路由器TCP/IP协议栈溢出,导致路由器 死机;较轻的情况也可能导致路由器路由协议的异常中断,路由不稳定,进而影响整个骨干 网络的稳定性。

发明内容
本发明涉及一种新的基于硬件的核心路由器TCP连接状态维护模块设计方案,该 方案所要解决的技术问题是在核心路由器中使用基于硬件的TCP数据包的过滤机制,区分 出恶意攻击数据包和正常的数据包,将正常的TCP协议报文上交,将恶意的攻击报文过滤 掉,从而保护核心路由器免受恶意数据包的攻击。发生基于TCP状态特点的攻击时,攻击IP包的目的地址是路由器的直连接口地址 或者Loopback接口地址,在分布式路由器体系结构中,数据包需要上交给路由器维护协议 栈的CPU处理。为避免此类攻击造成严重的影响,目前如图2所示的分布式路由器结构采用的方 法是,在大容量存储管理和调度模块中处理上交数据包时,会限制上交数据包的速度,单位 时间内超出一定数量的上交数据包将被丢弃。但此保护措施,只能保护本路由器在受到攻击时,不会因攻击而耗竭主控板的CPU和存储空间资源。达到阀值后,路由器无法区分正常 的TCP请求和恶意的TCP攻击,会将所有后续收到的数据包全部丢弃,导致路由器拒绝所有 新的TCP连接请求,直到攻击停止,并释放出新的存储空间。本发明在核心路由器的分布式处理硬件体系结构中的线卡板上,增加TCP状态处 理模块如图2所示。通过该模块对TCP协议报文进行状态管理,区分正常的TCP协议报文 和恶意的TCP攻击,将正常的TCP协议报文上交,将恶意的攻击报文过滤掉,从而避免核心 路由器受到恶意攻击。


图1普通路由器结构(没有TCP状态维护模块)图2增加了 TCP状态维护模块的路由器结构图3TCP状态维护模块的工作过程
具体实施例方式以下对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限 定本发明的范围。实施示例建立BGP邻居时需要管理员手工配置的物理接口地址和邻居地址。从网络管理的 角度可以假定,直连路由器之间和管理地址区间是不会发生恶意攻击行为的。不与路由器 直连的地址,即网络中可达的所有非直连地址,并且与路由器没有任何协议的邻居关系的 地址,由于其用户的信任是无法确定的,定义为“非受信IP”。在路由器配置文件中将179端口设置为对受信IP开放的端口,对“非受信IP”是 不开放的。当扫描发生时,非法的数据包被TCP状态维护模块直接丢弃,不会上交给CPU进 行处理。
权利要求
一种基于硬件的核心路由器TCP连接状态维护模块设计方案(在后面的叙述中简称为TCP状态维护模块),其特征在于,包括该模块的的原理、处理内容和工作过程。
2.据权利要求1所述的TCP状态维护模块,其特征在于,该模块是用FPGA硬件芯片作 为载体来实现的,在核心路由器的分布式处理硬件体系结构中的线卡板上,增加TCP连接 状态维护模块,该模块的作用是对TCP协议报文进行状态管理,区分正常的TCP协议报文和 恶意的TCP攻击报文,将正常的TCP协议报文上交,将恶意的攻击报文过滤掉。
3.据权利要求1至2所述的TCP连接状态维护模块,其特征在于,该模块控制机制包括 阀值设置和Log处理,其中阀值设置用于控制单位时间内收到同样TCP数据报文数量,在系 统初始化或配置时完成,阀值的功能是当收到符合条件的TCP数据报文的数量超过阀值时 即认为发生了对路由器的攻击行为;Log处理用于将攻击行为的TCP报文打上Log标识,记 入Log中。
4.据权利要求1至3所述的TCP连接状态维护模块,其特征在于,当核心路由器收到 的IP包击中路由器直连路由后,核心路由器将上交此数据包,进入TCP状态维护模块,进入 该模块后首先判断数据包的源IP是否是“受信IP” ;“受信IP”的判断是路由器完成的,方 法是将路由器的配置文件和TCP状态模块之间建立关联,从路由器配置文件中取得直连的 地址网段范围和邻接关系路由器的地址。在此范围内的IP将被认为是“受信IP“,其他IP 被认为是“非受信IP”。
5.据权利要求1至3所述的TCP连接状态维护模块,其特征在于,完成权利4所述“受 信IP”去判定后,判定路由器的开放的端口的状态,及所对应的IP地址范围;路由器的端口 状态是通过路由器配置文件获得的。
6.据权利要求1至3所述的TCP连接状态维护模块,其特征在于,完成权利4-5所述的 受信IP和端口去判定后,对TCP协议的状态进行检查;若是已经完成TCP “三次握手”连接 的数据报文,则根据TCP sequence进行检查;若TCP状态为SYN SEND的报文请求建立新的 连接,则确认为一个可疑的TCP请求。
7.据权利要求1至3所述的TCP连接状态维护模块,其特征在于,完成权利6所述的 TCP协议的状态检查后,使用TCP滑动窗口机制来比对TCP sequence号,如果是正确顺序的 TCP报文则上交CPU ;如果sequence号不在TCP窗口范围之内,则确认为一个可疑的TCP请 求;此时采用“后退机制”,暂时不上交此正确的报文,令其TCP Timer超时,若是合法请求 会再次重传,待收到第二个正确的sequence后再上交至CPU,否则认为是非法TCP请求。
8.据权利要求1至3所述的TCP连接状态维护模块,特征在于,完成权利4-7所述的处 理后,如果在定时器时间内,收到的数据包数量超过阀值,且数据包中有任意项与TCP状态 模块中的记录的某项相同,即触发了对攻击的判断规则,则认为检测到了攻击,将该数据包 直接丢弃;若未触发判断规则,则TCP状态模块代替CPU做SYN+ACK应答。
9.据权利要求1至3所述的TCP连接状态维护模块,特征在于,完成权利4-8,若未收 到ACK报文,则说明此源地址为伪造地址,此连接请求为攻击行为,将该数据包丢弃;若收 到相应的ACK报文,则连接建立完成,判定该连接请求是一个正常的TCP请求。由TCP状态 模块再生成与原请求相同的SYN报文,伪造原连接请求向CPU申请建立TCP连接,代替原请 求方完成“三次握手”的工作。
10.据权利要求1至3所述的TCP连接状态维护模块,特征在于,完成权利4-10所述的处理后,更新TCP状态连接表,在后续报文到达后, 经状态判断无误则直接上交给CPU。
全文摘要
本发明涉及一种新的基于硬件的核心路由器TCP连接状态维护模块设计方案,包括该模块的原理、处理内容和工作过程。核心路由器的TCP协议状态维护是关系到核心路由器安全的一个重要因素。本发明的基于硬件技术的核心路由器TCP连接状态维护模块设计方案可以有效地的减少因TCP状态维护问题而导致的对核心路由器的恶意攻击,有效地保护核心路由器的CPU和存储空间资源,防止因攻击而导致的TCP/IP协议栈的溢出、堆栈崩溃,路由器死机等情况,从而大大改善核心路由器运行的稳定性。
文档编号H04L29/06GK101989985SQ20101050118
公开日2011年3月23日 申请日期2010年10月9日 优先权日2010年10月9日
发明者孙践知, 戴明利, 贠冰, 陈丹, 韩忠明 申请人:北京工商大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1