[发明专利]多核下子连接并发识别与处理的方法有效
| 申请号: | 200810241125.8 | 申请日: | 2008-12-30 |
| 公开(公告)号: | CN101771670A | 公开(公告)日: | 2010-07-07 |
| 发明(设计)人: | 陈旭 | 申请(专利权)人: | 北京天融信网络安全技术有限公司 |
| 主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L9/00 |
| 代理公司: | 信息产业部电子专利中心 11010 | 代理人: | 梁军 |
| 地址: | 100085 北京*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 多核 下子 连接 并发 识别 处理 方法 | ||
技术领域
本发明涉及网络通讯中应用协议处理和识别技术,特别涉及一种多核下子 连接并发识别与处理的方法。
背景技术
多连接协议是指在协议完成过程中,除了一个主的通信通道(父连接)外, 还会动态打开一些通道(子连接)进行通信,防火墙对这些协议需要特别处理才 能保证安全。
多连接协议也可分为强制子连接和非强制子连接,强制子连接是指子连接 的建立是必须的,不建立子连接通信将无法正常进行,如FTP;非强制子连接 是指子连接的建立不是必须的,主连接先尝试用动态端口打开子连接,如果子 连接打不开,则数据依旧在主连接中传输,这样不影响总体协议通信的完成, 如MMS、MSN传递文件等。对防火墙来说,处理的重点前者,因为后者在防 火墙上可以不用作特殊处理。以下若不特殊说明,都是指前者,即强制子连接。
子连接的特殊之处就在于与之连接的端口通常是动态的,具体值是在协议 内容中协商确定,而一般防火墙的策略中只允许有限的端口通过,端口全部开 放是很危险的,所以早期的包过滤防火墙,对于FTP协议的支持只能支持主动 模式,也就是服务器端数据端口固定为20时的情况,被动模式不支持或只能 通过打开全部端口来支持。
现在很多子连接的识别和处理方法是在单核处理器下运行,没有并发安全 问题,如果将现有识别和处理方法放到多核处理器下运行会出现子连接并发处 理互斥冲突的问题。例如,CPU1正在创建子连接并将子连接信息记录插入到 子连接链表中,而CPU2上被事件(如接收到TCP fin报文、用户手工删除连 接)触发删除父连接从而删除了子连接链表,这样就可能会导致系统崩溃。
发明内容
鉴于上述的分析,本发明目的在于提供一种多核下子连接并发识别与处理 的方法,用以解决现有技术中存在的子连接并发处理互斥冲突的问题。
本发明的目的主要是通过以下技术方案实现的:
本发明提供了一种多核下子连接并发识别与处理的方法,包括:
步骤A:预设定子连接状态机策略,父连接根据所述子连接状态机策略对 子连接信息节点进行相应的状态管理;
步骤B:建立父子连接树,并在父连接信息节点中保存其应用协议信息节 点的指针,并在其应用协议信息节点中保存其创建的所有子连接信息节点的指 针;
步骤C:对整个父子连接树设置一个关系树锁,所述关系树锁的创建和回 收都在根连接创建和回收时进行;
步骤D:对所述关系树锁设置引用计数器,并只有当引用技术器为0时才 释放所述关系树锁。
进一步地,所述子连接状态机策略包括:
多个子连接状态及多个系统链表;其中,所述子连接状态包括:初始状态、 未处理状态、匹配状态、已处理状态、未连接状态和删除状态,所述系统链表 包括:未处理链表、已处理链表和子连接链表。
进一步地,所述步骤A具体包括:
步骤A1:父连接通过解析报文,对预计到达的子连接创建子连接信息节 点;
步骤A2:将该子连接信息节点添加到未处理链表中,等待子连接到达或 超时,如果子连接按时到达则执行步骤A3,如果超时则执行步骤A4;
步骤A3:子连接报文到达并匹配成功,标记该子连接信息节点状态为匹 配状态;然后判断是否需要后续处理,如果需要后续处理,则将该子连接信息 节点添加到已处理链表中,并在协议处理完成后,执行步骤A4;如果不需后 续处理,则直接执行步骤A4;
步骤A4:将该子连接信息节点从子连接链表中取下,并标记子连接信息 节点为删除状态。
进一步地,所述步骤B具体包括:
在父连接信息节点中保存应用协议信息节点的指针,并在应用协议信息节 点中使用一个链表保存其创建的所有子连接信息节点的指针;其中,每一个子 连接信息节点的parent指针都指向创建该子连接的应用协议信息节点,child 指针指向与该子连接信息节点匹配成功后创建的应用协议信息节点,并且该创 建的应用协议信息节点的parent指针指向其创建者的子连接信息节点。
进一步地,所述步骤C具体包括:
当根连接创建时,关系树锁被创建并将其指针保存在根应用协议信息节点 中;
当父连接要创建子连接时,父连接从其应用协议信息节点中取出关系树锁 指针保存在子连接的应用协议信息节点中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京天融信网络安全技术有限公司,未经北京天融信网络安全技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810241125.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:剪力墙制造方法及结构
- 下一篇:一种预制的大模内置聚苯板及其制作方法





