[发明专利]一种基于网闸实现数据传输的方法有效
申请号: | 201410032613.3 | 申请日: | 2014-01-24 |
公开(公告)号: | CN103746920B | 公开(公告)日: | 2017-03-15 |
发明(设计)人: | 傅勇 | 申请(专利权)人: | 成都卫士通信息产业股份有限公司 |
主分类号: | H04L12/743 | 分类号: | H04L12/743;H04L29/06 |
代理公司: | 成都九鼎天元知识产权代理有限公司51214 | 代理人: | 徐宏 |
地址: | 610041 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 实现 数据传输 方法 | ||
技术领域
本发明适用于数据通信领域,提供了一种基于网闸实现数据传输的方法。
背景技术
网闸是一组具有多种控制功能的软硬件组成的网络安全设备,通过专用交换通道、高速硬件通信卡等机制来实现高速、安全的内外网数据交换。网闸一般部署在用户网络需要高强度安全保护,同时又需要与其它不信任网络进行信息交换的网络中。
在工作过程中,网闸需要处理大量流经该设备不同特性的网络数据包,其特性包括网络地址、协议、端口及应用层数据的特征。因此网闸需要识别这些不同的网络数据包,以便对应进行快速的处理。但是网络数据包特性千变万化,无法通过固定方式识别不同的网络数据包。通过网闸的不同网络数据包越多,网闸中需要存储的网络数据包识别及处理方法将会越多。对网络数据包识别及处理方法通常称为规则。在网闸中需要采用一些快速的规则存储方法,以便网闸能够根据不同的网络数据包特性快速找到配合的规则而进行相应的数据处理,以提高网闸的数据剥离和重组速度,减少数据转发的延迟。
在网闸中,一般采用链表进行数据(比如路由信息、MAC地址信息、ACL规则、IPSEC隔离规则)存储和查表,但不管采用单项链表还是双向链表,始终需要堆链表进行遍历。如果链表较短,通过链表将能够快速查找到需要的信息。如果链表存储了大量数据,通过链表进行数据查找有可能花费相当长的时间,从而降低了网闸的处理能力,增加了数据转发的时延。
发明内容
本发明所要解决的技术问题是:针对现有技术存在的问题,提供一种基于网闸实现数据传输的方法,本发明针对通过网闸的IP报文有效,通过网闸的IP报文存在源IP地址和目的IP地址。当IP报文通过网闸时,网闸的一端主机需要把四层(TCP/IP第四层)及以上数据传输到另一端主机,另一端主机把接受到的数据重新构建IP报文并发送出去。
本发明采用的技术方案如下:一种基于网闸实现数据传输的方法包括:
步骤1:一端主机模块和另一端主机模块建立HASH桶数组,一端主机模块建立IP报文的隔离规则,并通过隔离交换模块传输隔离规则给另一端主机模块;一端主机模块与另一端主机模块,根据IP报文对应的HASH ID值自动把隔离规则添加到HASH桶数组中对应序号值MASK的单向链表头中;
步骤2:当一个IP报文通过网闸时,IP报文通过一端主机模块进行HASH ID值计算;一端主机模块根据此HASH ID值查找隔离规则,若此IP报文找到隔离规则,则返回当前HASH ID值和单向链表序号值,执行步骤3;否则,丢弃该IP报文;
步骤3:一端主机模块将该IP报文的HASH ID值、单向链表序号值和四层及以上IP报文数据通过隔离交换模块发送给另一端主机模块,执行步骤4;
步骤4:另一端主机模块接收到数据后,根据HASH ID值和单向链表序号值,在HASH桶数组项中查找对应的隔离规则,并得到IP报文协议号、源地址、目的地址信息,随后重新组建IP报文并发送出去。
所述HASH ID值H是根据源地址、目的地址以及HASH桶数组值掩码MASK,计算HASH ID值,具体计算公式是:H= ((0xffff & sip) ^(sip >> 16) + (0xffff & dip) ^(dip >> 16)) % MASK,其中sip指的是数据包的源地址,dip指的是数据包的目的地址。
所述隔离规则包括协议号、源地址、目的地址以及对应安全策略。
所述步骤2中一端主机模块根据此HASH ID值在其HASH桶数组项中查找隔离规则具体步骤是:一端主机模块根据此HASH ID值在HASH桶数组项中查找隔离规则,若根据该数组的单向链表头没有指向任何隔离规则,则丢弃IP报文;若单向链表头指向一条隔离规则,则把IP报文的协议号、源地址、目的地址信息与隔离规则中的协议号、源地址、目的地址进行匹配,若匹配成功,则返回成功。若当前隔离规则匹配不成功,且无下一条规则,则返回失败;若当前隔离规则匹配不成功,但是存在下一隔离规则,则进行匹配,依次类推,最终如果找到隔离规则,则返回当前HASH ID值和单向链表序号值。如果没找到隔离规则,则返回失败。
所述HASH通数组建立过程包括:
步骤1:创建MASK+1的HASH桶数组,每个桶数组成员为单向链表头,指向为空;每个桶数组成员可存储隔离规则;
步骤2:当有X个终端需要通过网闸发送IP报文时,一般情况下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都卫士通信息产业股份有限公司,未经成都卫士通信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410032613.3/2.html,转载请声明来源钻瓜专利网。