一种基于双协议栈的网关系统的制作方法

文档序号:18329122发布日期:2019-08-03 11:50阅读:135来源:国知局
一种基于双协议栈的网关系统的制作方法

本发明涉及通信技术领域,尤其涉及一种基于双协议栈的网关系统。



背景技术:

网关是企业(家庭)局域网络在接入外部网络(如isp或internet)的一个桥梁,从系统角度来看,网关系统的职责实际就是处理在多个网络之间的安全控制和路由转发。网关系统管理的网络接口通常划分为连接局域网络的lan接口和连接外部网络的wan接口。lan接口所在子网络之间形成内部三层交换,wan接口作为多条出口链路需要防火墙和流量管理。

目前,通常采用以下两种网关系统来管理众多网络接口:

第一种,通过单一网关设备的单一网络协议栈同时管理所有lan/wan接口,整个网关系统由单一网络协议栈实现安全控制和路由转发等。通过单一网络协议栈管理所有lan/wan接口,lan2lan和lan2wan两种流量的路由转发和防火墙控制策略相互影响,导致整个系统设计复杂度很高。

第二种,通过防火墙设备、三层交换设备和路由设备配合工作,lan接口由三层交换设备管理,wan接口由防火墙或路由设备管理,整个网关系统由多条设备组网系统实现且职责分离,各设备配合工作。这种网关系统虽然设计复杂度相对于第一种较简单,但是需要用到多个设备配合工作,增加了硬件生产成本;且外网访问流量需要经过至少两个设备处理,对设备间的性能配合度要求高,一旦设备间出现配合度不高、性能缺陷问题,流量的传输将受影响,进而影响流量传输效率。



技术实现要素:

本发明实施例所要解决的技术问题在于,提供一种基于双协议栈的网关系统,能够在单一网关设备中实现网关系统的设计,有效降低网关系统设计复杂度,降低硬件成本,且有效提高流量传输效率。

第一方面,本发明实施例提供了一种基于双协议栈的网关系统,所述网关系统包括第一网络协议栈、第二网络协议栈、第一专用网络接口和第二专用网络接口;所述第一网络协议栈用于连接于lan接口和所述第一专用网络接口之间;所述第二网络协议栈用于连接于wan接口和所述第二专用网络接口之间;所述第一网络协议栈和所述第二网络协议栈通过所述第一专用网络接口和所述第二专用网络接口实现连接;其中,

所述第一网络协议栈用于实现lan接口之间的数据包转发处理;

所述第二网络协议栈用于实现wan接口之间的数据包转发处理;

所述第一网络协议栈和所述第二网络协议栈相互配合,用于实现lan接口和wan接口之间的数据包转发处理。

优选地,对于在lan接口之间传输的第一数据包,所述第一网络协议栈具体用于:

获取所述第一数据包的网络连接信息;

根据所述第一数据包的网络连接信息,查询第一路由表中的路由条目,并确定所述第一数据包的第一目的接口;

根据预设的访问控制表,判断是否允许转发所述第一数据包至所述第一目的接口;

若允许转发所述第一数据包至所述第一目的接口,将所述第一数据包转发至所述第一目的接口。

优选地,对于在wan接口之间传输的第二数据包,所述第二网络协议栈具体用于:

获取所述第二数据包的网络连接信息;

根据所述第二数据包的网络连接信息,查询第二路由表中的路由条目,并确定所述第二数据包的第二目的接口;

将所述第二数据包转发至所述第二目的接口。

优选地,对于从lan接口传输至wan接口的第三数据包,所述第一网络协议栈具体用于:

获取所述第三数据包的网络连接信息;

根据所述第三数据包的网络连接信息,查询第一路由表中的路由条目,确定所述第三数据包的第一出包接口;其中,所述第一出包接口为所述第一专用网络接口;

根据预设的访问控制表,判断是否允许转发所述三数据包至所述第一专用网络接口;

若允许转发所述第三数据包至所述第一专用网络接口,则对所述第三数据包写入流量标识;其中,所述第三数据包的流量标识与所述第三数据包的第三目的接口对应;

将写有流量标识的所述第三数据包转发至所述第一专用网络接口,以使所述第二专用网络接口接收所述第三数据包。

优选地,所述第二网络协议栈具体用于:

根据所述第二专用网络接口接收到的所述第三数据包的流量标识,查询预先建立的流量均衡表是否存在与所述第三数据包的流量标识相对应的目标流量均衡条目;其中,所述流量均衡表中的每一条流量均衡条目均包括相应的流量标识和wan接口信息;

若所述流量均衡表存在所述目标流量均衡条目,则根据所述目标流量均衡条目确定所述第三数据包的第三目的接口;若所述流量均衡表不存在所述目标流量均衡条目,则根据所述第三数据包的网络连接信息,查询第二路由表中的路由条目,确定所述第三数据包的第三目的接口;

根据预设的防火墙表,判断是否允许转发所述三数据包至所述第三目的接口;

若允许转发所述第三数据包至所述第三目的接口,则根据预设的地址转换表的地址转换条目,对所述第三数据包的网络连接信息进行地址转换;

将进行地址转换后的第三数据包转发至所述第三目的接口。

优选地,对于从wan接口传输至lan接口的第四数据包,所述第二网络协议栈具体用于:

根据预设的地址转换表的地址转换条目,对所述第四数据包的网络连接信息进行地址转换;

根据所述第四数据包的地址转换后的网络连接信息,查询第二路由表中的路由条目,确定所述第四数据包的第二出包接口;其中,所述第二出包接口为所述第二专用网络接口;

根据预设的防火墙表,判断是否允许转发所述四数据包至所述第二专用网络接口;

若允许转发所述第四数据包至所述第二专用网络接口,则将进行地址转换后的所述第四数据包转发至所述第二专用网络接口,以使所述第一专用网络接口接收所述第四数据包。

优选地,所述第一网络协议栈具体用于:

根据所述第一专用网络接口接收到的所述第四数据包的网络连接信息,查询第一路由表中的路由条目,确定所述第四数据包的第四目的接口;

根据预设的访问控制表,判断是否允许转发所述四数据包至所述第四目的接口;

若允许转发所述第四数据包至所述第四目的接口,则将第四数据包转发至所述第四目的接口。

优选地,当对所述第三数据包写入流量标识时,所述第一网络协议栈具体用于:

获取所述第三数据包的标识选择因子;所述标识选择因子至少包括数据包的收包接口、源ip地址和目的ip地址中的任意一个;

根据所述第三数据包的标识选择因子,从预设的标记池中确定所述第三数据包的流量标识;其中,所述标记池中的每一流量标识对应有相应的标识选择因子;

将确定的所述第三数据包的流量标识写入所述第三数据包。

优选地,当对所述第三数据包写入流量标识时,所述第一网络协议栈具体用于:

根据预设的标记池中每一流量标识对应的权重值,选出所述第三数据包的流量标识;其中,所述标记池中每一流量标识对应的权重值用于指示该流量标识被选中的概率;

将选出所述第三数据包的流量标识写入所述第三数据包。

优选地,所述网络连接信息包括数据包的源ip地址、目的ip地址、源端口、目的端口和传输层协议。

上述提供的基于双协议的网关系统,通过双协议栈建立网关系统能实现不同数据包流量的数据包转发处理,并且将lan接口和wan接口分别由第一网络协议栈和第二网络协议栈管理且相互独立,降低了网关系统的耦合度,进而降低了网关系统设计的复杂度;同时,上述提供的基于双协议的网关系统可以在单一网关设备中设计实现,不需要多个网关设备配合工作,降低了硬件成本,而且避免了由于多网关设备间性能缺陷或匹配度导致数据包流量无法进行传输或者传输缓慢的问题,进而有效提高了流量传输效率。

附图说明

图1为本发明实施例提供的一种基于双协议的网关系统的结构示意图;

图2是第一数据包的数据包转发处理过程示意图;

图3是第二数据包的数据包转发处理过程示意图;

图4是第三数据包的数据包转发处理过程示意图;

图5是第四数据包的数据包转发处理过程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

请参阅图1,图1为本发明提供的一种基于双协议的网关系统的结构示意图。具体的,本发明实施例提供了一种基于双协议栈的网关系统,所述网关系统包括第一网络协议栈netstack1、第二网络协议栈netstack2、第一专用网络接口v1和第二专用网络接口v2;所述第一网络协议栈netstack1用于连接于lan接口和所述第一专用网络接口v1之间;所述第二网络协议栈netstack2用于连接于wan接口和所述第二专用网络接口v2之间;所述第一网络协议栈netstack1和所述第二网络协议栈netstack2通过所述第一专用网络接口v1和所述第二专用网络接口v2实现连接;其中,

所述第一网络协议栈netstack1用于实现lan接口之间的数据包转发处理;

所述第二网络协议栈netstack2用于实现wan接口之间的数据包转发处理;

所述第一网络协议栈netstack1和所述第二网络协议栈netstack2相互配合,用于实现lan接口和wan接口之间的数据包转发处理。

其中,第一网络协议栈netstack1管理所有的lan接口和第一专用网络接口v1,第二网络协议栈netstack2管理所有的wan接口和第二专用网络接口v2;第一专用网络接口v1和第二专用网络接口v2是对称型网络接口,第一专用网络接口v1的ip地址和第二专用网络接口v2的ip地址属于同一网段,由此第一专用网络接口v1和第二专用网络接口v2组成一个专用局域网络,可实现第一网络协议栈和第二网络协议栈之间连接通信。

具体的,本发明实施例提供的网关系统实现数据包流量的四种转发处理的原理如下:

对于需要在lan接口之间的传输的数据包,数据包从接收数据包的lan接口进入第一网络协议栈,由第一网络协议栈对数据包进行数据包转发处理,转发至数据包目的到达的lan接口;

对于需要在wan接口之间的传输的数据包,数据包从接收数据包的wan接口进入第二网络协议栈,由第二网络协议栈对数据包进行数据包转发处理,转发至数据包目的到达的wan接口;

对于需要从lan接口传输到wan接口的数据包,数据包从接收数据包的lan接口进入第一网络协议栈,由第一网络协议栈对数据包进行数据包转发处理,转发至第一专用网络接口,数据包从第一专用网络接口发出后进入第二专用网络接口,输入第二网络协议栈,通过第二网络协议栈对数据包进行数据包转发处理,将数据包转发至目的到达的wan接口;

对于需要从lan接口传输到wan接口的数据包,数据包从接收数据包的lan接口进入第一网络协议栈,由第一网络协议栈对数据包进行数据包转发处理,转发至第一专用网络接口,数据包从第一专用网络接口发出后进入第二专用网络接口,输入第二网络协议栈,通过第二网络协议栈对数据包进行数据包转发处理,将数据包转发至目的到达的wan接口。

本发明实施例提供的基于双协议的网关系统,通过双协议栈建立网关系统能实现不同数据包流量的数据包转发处理,并且将lan接口和wan接口分别由第一网络协议栈和第二网络协议栈管理且相互独立,降低了网关系统的耦合度,进而降低了网关系统设计的复杂度;同时,本发明实施例提供的网关系统可以在单一网关设备中设计实现,不需要多个网关设备配合工作,降低了硬件成本,而且避免了由于多网关设备间性能缺陷或匹配度导致数据包流量无法进行传输或者传输缓慢的问题,进而有效提高了流量传输效率。

需要说明的是,附图1所示的基于双协议的网关系统只示意了第一网络协议栈管理lan接口1、lan接口2和lan接口3这三个lan接口的情况,实际应用时,lan接口数量可以是任意的;同理,wan接口的数量可以是任意的,附图只示意了wan接口1、wan接口2和wan接口3这三个wan接口的情况。

请参阅图2,图2是第一数据包的数据包转发处理过程示意图;

优选地,对于在lan接口之间传输的第一数据包,所述第一网络协议栈具体用于:

获取所述第一数据包的网络连接信息;

根据所述第一数据包的网络连接信息,查询第一路由表中的路由条目,并确定所述第一数据包的第一目的接口;

根据预设的访问控制表,判断是否允许转发所述第一数据包至所述第一目的接口;

若允许转发所述第一数据包至所述第一目的接口,将所述第一数据包转发至所述第一目的接口。

需要说明的是,本领域技术人员可知的,在网关系统中,需要进行网络连接的数据包都会带有原始发送数据包的源网络的相关信息和最终接收数据包的目的网络的相关信息,例如数据包的源ip地址和目的ip地址。对于在lan接口之间传输的第一数据包,第一数据包从lan接口输入第一网络协议栈,并从lan接口离开第一网络协议栈,即第一目的接口是lan接口。

其中,网络连接信息是指源网络的相关信息和目的网络的相关信息,例如,网络连接信息包括数据包的五元组,本领域技术人员可知的,五元组是数据包的[<源ip地址>,<目的ip地址>,<源端口>,<目的端口>,<传输层协议>]的信息集合,网络连接信息还可以包括<源mac>和<目的mac>等信息。如图2所示,若第一数据包从lan接口1传输至lan接口2,则第一数据包的网络连接信息包括了lan接口1所在网络的信息以及lan接口2所在网络的信息。

第一路由表是指存储着指向第一网络协议栈管理的特定网络地址的路径信息的表格文件或数据库,其包括若干条路由条目可供第一网络协议栈查询,找到数据包在第一网络协议栈中的最优传输路径,找到数据包的最优的出口。由于第一网络协议栈管理着所有的lan接口和第一专用网络接口,而且第一专用网络接口与第二专用网络接口实现第一网络协议栈和第二网络协议栈的连接,第一路由表中至少添加有:每一个lan接口所在网络的路由条目,由第一专用网络接口与第二专用网络接口组成的专业局域网网络的路由条目,以第一专用网络接口为出口且以第二专用网络接口的ip地址为下一跳ip地址的默认路由条目;若lan接口所在网络内部存在多个网段,则第一路由表还添加每个网段相应的路由条目。需要说明的是,第一路由表不一定只包括一个表,其可内部由多个表组成,例如由信息不随网络结构改变而改变的静态路由表、信息可根据网络结构运行情况而自动调节的动态路由表等组成第一路由表。

访问控制表是指存储着若干条访问控制条目的列表,访问控制条目用于过滤或限制lan接口对网关系统服务的访问,即指示哪些数据包可以接收、哪些数据包需要拒绝,是网络安全防范和保护的主要手段。由于第一网络协议栈管理着lan接口和第一专用网络接口,访问控制表需添加有用于过滤或限制lan接口与lan接口之间的数据包转发的访问控制条目、用于过滤或限制lan接口与第一专用网络接口(或wan出口)之间的数据包转发的访问控制条目。

具体的,如图2所示,以第一数据包从lan接口1发往lan接口2为例,第一数据包从lan接口1进入第一网络协议栈,第一网络协议栈获取所述第一数据包的网络连接信息;根据第一数据包的网络连接信息,查询第一路由表中的路由条目,发现第一数据包的目的网络可由lan接口2最优到达,确定lan接口2为第一目的接口;根据预设的访问控制表,查询访问控制表的访问控制条目,判断是否允许转发第一数据包至第一目的接口;若允许转发第一数据包至第一目的接口,说明第一数据包的对网关系统的访问是安全的,将第一数据包转发至第一目的接口,至此,第一网络协议栈完成对第一数据包的数据包转发处理,第一数据包得以到达第一目的接口,访问第一目的接口所在网络。

需要说明的是,若不允许转发第一数据包至第一目的接口,可根据实际应用情况对第一数据包进行相应的处理,例如丢弃第一数据包,后续的转发过程不再继续。

本发明实施例提供的基于双协议的网关系统,能够通过第一网络协议栈对在lan接口之间传输的数据包进行数据包转发处理,且局域网之间的访问也包括三层路由交换,访问控制的设置不受第二网络协议栈中的防火墙影响,降低网关系统设计的耦合度,从而降低网关系统设计的复杂度;且第一网络协议栈的路由与第二网络协议栈的路由局部分离,减少路由查表时间,局域网之间的数据包流量传输效率提高。

请查阅图3,图3是第二数据包的数据包转发处理过程示意图;

优选地,对于在wan接口之间传输的第二数据包,所述第二网络协议栈具体用于:

获取所述第二数据包的网络连接信息;

根据所述第二数据包的网络连接信息,查询第二路由表中的路由条目,并确定所述第二数据包的第二目的接口;

将所述第二数据包转发至所述第二目的接口。

其中,第二路由表是指存储着指向第二网络协议栈管理的特定网络地址的路径信息的表格文件或数据库,其包括若干条路由条目可供第二网络协议栈查询,找到数据包在第二网络协议栈中的最优传输路径,找到数据包的最优的出口。由于第二网络协议栈管理着所有的wan接口和第二专用网络接口,而且第一专用网络接口与第二专用网络接口实现第一网络协议栈和第二网络协议栈的连接,第二路由表中至少添加有:每一个wan接口所在网络的路由条目,由第一专用网络接口与第二专用网络接口组成的专业局域网网络的路由条目,对于所有的lan接口所在网络的所有网段均有以第二专用网络接口为出口且以第一专用网络接口的ip地址为下一跳ip地址的路由条目。第二路由表中可以根据静态路由、策略路由或动态路由协议等方式构建wan接口的路由条目。需要说明的是,第二路由表不一定只包括一个表,其可内部由多个表组成,例如由信息不随网络结构改变而改变的静态路由表、信息可根据网络结构运行情况而自动调节的动态路由表等组成第二路由表。

具体的,如图3所示,以第二数据包从wan接口1发往wan接口2为例,第二数据包从wan接口1进入第二网络协议栈,第二网络协议栈获取第二数据包的网络连接信息;根据第二数据包的网络连接信息,查询第二路由表中的路由条目,发现第二数据包的目的网络可由wan接口2最优到达,确定wan接口2为第二数据包的第二目的接口;将第二数据包转发至第二目的接口,至此,第二网络协议栈完成对第二数据包的数据包转发处理,第二数据包得以到达第二目的接口,访问第二目的接口所在网络。

需要说明的是,第二数据包的网络连接信息所包含的内容以第一数据包的网络连接信息所包含的内容相类似,故在此不再赘述。

本发明实施例提供的基于双协议的网关系统,能够通过第二网络协议栈对在wan接口之间传输的数据包进行数据包转发处理,防火墙的设置不受第一网络协议栈中的访问控制影响,降低网关系统设计的耦合度,从而降低网关系统设计的复杂度;且第二网络协议栈的路由与第一网络协议栈的路由局部分离,减少路由查表时间,广域网之间的数据包流量传输效率提高。

请参阅图4,图4是第三数据包的数据包转发处理过程示意图;

优选地,对于从lan接口传输至wan接口的第三数据包,所述第一网络协议栈具体用于:

获取所述第三数据包的网络连接信息;

根据所述第三数据包的网络连接信息,查询第一路由表中的路由条目,确定所述第三数据包的第一出包接口;其中,所述第一出包接口为所述第一专用网络接口;

根据预设的访问控制表,判断是否允许转发所述三数据包至所述第一专用网络接口;

若允许转发所述第三数据包至所述第一专用网络接口,则对所述第三数据包写入流量标识;其中,所述第三数据包的流量标识与所述第三数据包的第三目的接口对应;

将写有流量标识的所述第三数据包转发至所述第一专用网络接口,以使所述第二专用网络接口接收所述第三数据包。

其中,流量标识是指用于选择第三数据包的转发路径的标识。每个第三数据包的流量标识均对应着该第三数据包所要到达的wan接口(即第三目的接口)。

具体的,如图4所示,以第三数据包从lan接口1发往wan接口1为例,第三数据包通过lan接口1进入第一网络协议栈,第一网络协议栈根据第三数据包的网络连接信息,查询第一路由表中的路由条目,发现第三数据包可以由第一专用网络接口v1最优到达wan接口,确定第一专用网络接口v1为第三数据包的第一出包接口;查询访问控制表中的访问控制条目,判断是否允许转发所述三数据包至所述第一专用网络接口v1;若允许转发所述第三数据包至所述第一专用网络接口v1,说明第三数据包在第一网络协议栈中进行的数据包转发处理是安全的,则对第三数据包写入流量标识;将写有流量标识的第三数据包转发至第一专用网络接口v1,以使所述第二专用网络接口v2接收所述第三数据包,至此,第一网络协议栈完成了对第三数据包的处理,但是第三数据包被传输至第一专用网络接口v1,还未到达第三目的接口,第三数据包还需通过第二网络协议栈进行进一步的处理。

需要说明的是,为了实现第三数据包传输至第一专用网络接口后,第三数据包可以进一步传输至第二专用网络接口,第一路由表中需要添加以第一专用网络接口为出口且以第二专用网络接口的ip地址为下一跳ip地址的默认的路由条目。

本发明实施例提供的基于双协议的网关系统,能够实现第一网络协议栈对从lan接口传输至wan接口的数据包进行数据包转发处理并传输至第二网络协议栈,对第三数据包的数据包转发处理时与第二网络协议栈相互配合又局部分离,降低网关系统设计的耦合度,从而降低网关系统设计的复杂度。

优选地,所述第二网络协议栈具体用于:

根据所述第二专用网络接口接收到的所述第三数据包的流量标识,查询预先建立的流量均衡表是否存在与所述第三数据包的流量标识相对应的目标流量均衡条目;其中,所述流量均衡表中的每一条流量均衡条目均包括相应的流量标识和wan接口信息;

若所述流量均衡表存在所述目标流量均衡条目,则根据所述目标流量均衡条目确定所述第三数据包的第三目的接口;若所述流量均衡表不存在所述目标流量均衡条目,则根据所述第三数据包的网络连接信息,查询第二路由表中的路由条目,确定所述第三数据包的第三目的接口;

根据预设的防火墙表,判断是否允许转发所述三数据包至所述第三目的接口;

若允许转发所述第三数据包至所述第三目的接口,则根据预设的地址转换表的地址转换条目,对所述第三数据包的网络连接信息进行地址转换;

将进行地址转换后的第三数据包转发至所述第三目的接口。

其中,流量均衡表是指存储着若干条流量均衡条目的列表,每一条流量均衡条目至少包括有流量标识和对应的wan接口信息,用于提供携带有流量标识的第三数据包的所要到达的wan接口(即第三目的接口)的信息。

本领域技术人员可知的,防火墙表是存储若干条防火墙条目的文件或数据库,防火墙条目用于控制数据包“出”、“入”本机的网络访问行为。

本领域技术人员可知的,地址转换表是存储若干条地址转换条目的文件或数据库,地址转换条目用于配置源ip地址、目的ip地址、源端口、目的端口之间的转换关系,其能用于局域网环境和广域网环境的映射。

具体的,如图4所示,第三数据包通过第一网络协议栈处理后,从第一专用网络接口v1发出并传输到第二专用网络接口v2,进入第二网络协议栈;根据第三数据包的流量标识,查询预先建立的流量均衡表是否存在与第三数据包的流量标识相对应的目标流量均衡条目;若流量均衡表存在目标流量均衡条目,则根据目标流量均衡条目可获得第三数据包的流量标识对应的wan接口1,wan接口1确定为第三目的接口;若所述流量均衡表不存在所述目标流量均衡条目,则根据所述第三数据包的网络连接信息,查询第二路由表中的路由条目,确定所述第三数据包的第三目的接口;根据预设的防火墙表,判断是否允许转发三数据包至第三目的接口;若允许转发第三数据包至第三目的接口,说明第二网络协议栈对第三数据包的转发是安全的,则根据预设的地址转换表的地址转换条目,对所述第三数据包的网络连接信息进行地址转换,将lan接口所在网络的地址信息转换成公有网络的地址信息,对lan接口所在网络的信息进行遮掩,以使第三数据包能够访问wan接口所在网络;将进行地址转换后的第三数据包转发至第三目的接口。

需要说明的是,若流量均衡表的流量均衡条目不包括wan接口的地址信息,则可以在查询流量均衡表确定第三目的接口的接口号等信息后,再获得的第三目的接口的信息为查询条件,在第二路由表中获得第三目的接口的ip地址,以实现第三数据包顺利转发至第三目的接口。对第三数据包进行地址转换以是第三数据包能发往公有网络的过程是本领域技术人员容易获知的,故在此对第三数据包的地址转换过程不再赘述。

本发明实施例提供的基于双协议的网关系统,能够实现第二网络协议栈对从lan接口传输至wan接口的数据包进行数据包转发处理并传输至第三目的接口,对第三数据包的数据包转发处理时与第一网络协议栈相互配合又局部分离,降低网关系统设计的耦合度,从而降低网关系统设计的复杂度。

请参阅图5,图5是第四数据包的数据包转发处理过程示意图。

优选地,对于从wan接口传输至lan接口的第四数据包,所述第二网络协议栈具体用于:

根据预设的地址转换表的地址转换条目,对所述第四数据包的网络连接信息进行地址转换;

根据所述第四数据包的地址转换后的网络连接信息,查询第二路由表中的路由条目,确定所述第四数据包的第二出包接口;其中,所述第二出包接口为所述第二专用网络接口;

根据预设的防火墙表,判断是否允许转发所述四数据包至所述第二专用网络接口;

若允许转发所述第四数据包至所述第二专用网络接口,则将进行地址转换后的所述第四数据包转发至所述第二专用网络接口,以使所述第一专用网络接口接收所述第四数据包。

具体的,如图5所示,以第四数据包从wan接口2发往lan接口2为例,第四数据包通过wan接口2进入第二网络协议栈,第二网络协议栈根据预设的地址转换表的地址转换条目,对第四数据包的网络连接信息进行地址转换,将第四数据包携带公有网络的目的ip地址转换成相应的私有网络的目的ip地址,以获知第四数据包的第四目的接口所在网络的信息,便于将第四数据包发往lan接口2;根据第四数据包的地址转换后的网络连接信息,查询第二路由表中的路由条目,发现第四数据包可以由第二专用网络接口v2最优到达lan接口2,确定第二专用网络接口v2为第四数据包的第二出包接口;根据防火墙表,查询防火墙表中的防火墙条目,判断是否允许转发第四数据包至第二专用网络接口;若允许转发第四数据包至第二专用网络接口,说明第四数据包在第二网络协议栈中进行的数据包转发处理是安全的,将第四数据包转发至第二专用网络接口,以使第一专用网络接口接收第四数据包,至此,第二网络协议栈完成了对第四数据包的处理,但是第四数据包被传输至第二专用网络接口,还未到达第四目的接口,第四数据包还需通过第一网络协议栈进行进一步的处理。

需要说明的是,为了实现第四数据包传输至第二专用网络接口后,第四数据包可以进一步传输至第一专用网络接口,第二路由表中需要添加以第二专用网络接口为出口且以第一专用网络接口的ip地址为下一跳ip地址的默认的路由条目。对第四数据包进行地址转换以是第四数据包能发往私有网络的过程是本领域技术人员容易获知的,故在此对第四数据包的地址转换过程不再赘述。

本发明实施例提供的基于双协议的网关系统,能够实现第二网络协议栈对从wan接口传输至lan接口的数据包进行数据包转发处理并传输至第一网络协议栈,对第四数据包的数据包转发处理时与第一网络协议栈相互配合又局部分离,降低网关系统设计的耦合度,从而降低网关系统设计的复杂度。

优选地,所述第一网络协议栈具体用于:

根据所述第一专用网络接口接收到的所述第四数据包的网络连接信息,查询第一路由表中的路由条目,确定所述第四数据包的第四目的接口;

根据预设的访问控制表,判断是否允许转发所述四数据包至所述第四目的接口;

若允许转发所述第四数据包至所述第四目的接口,则将第四数据包转发至所述第四目的接口。

具体的,如图5所示,第四数据包通过第二网络协议栈处理后,从第二专用网络接口v2发出并传输到第一专用网络接口v1,进入第一网络协议栈;第一网络协议栈根据第四数据包的网络连接信息,查询第一路由表中的路由条目,发现第四数据包可由lan接口2最优到达,确定lan接口2为第四数据包的第四目的接口;根据预设的访问控制表,判断是否允许转发四数据包至第四目的接口;若允许转发第四数据包至第四目的接口,说明第一网络协议栈对第四数据包的转发至第四目的接口是安全的,则将第四数据包转发至第四目的接口,至此,第一网络协议栈完成了对第四数据包的处理,第四数据包到达第四目的接口,得以访问第四目的接口所在网络。

本发明实施例提供的基于双协议的网关系统,能够实现第一网络协议栈对从wan接口传输至lan接口的数据包进行数据包转发处理并传输至第四目的接口,对第四数据包的数据包转发处理时与第二网络协议栈相互配合又局部分离,降低网关系统设计的耦合度,从而降低网关系统设计的复杂度。

优选地,当对所述第三数据包写入流量标识时,所述第一网络协议栈具体用于:

获取所述第三数据包的标识选择因子;所述标识选择因子至少包括数据包的收包接口、源ip地址和目的ip地址中的任意一个;

根据所述第三数据包的标识选择因子,从预设的标记池中确定所述第三数据包的流量标识;其中,所述标记池中的每一流量标识对应有相应的标识选择因子;

将确定的所述第三数据包的流量标识写入所述第三数据包。

其中,标识选择因子包括数据包的收包接口、源ip地址和目的ip地址中的一个或多个,还可以包括源端口、目的端口等,用于作为第三数据包的流量标识的选择依据。

具体的,本发明实施例提供的基于双协议的网关系统,获取第三数据包的标识选择因子,根据第三数据包的标识选择因子,从预设的标记池中确定第三数据包的流量标识之后,将确定的第三数据包的流量标识写入第三数据包,以此通过标识选择因子作为流量标识的选择策略,实现为第三数据包写入相应的流量标识。

优选地,当对所述第三数据包写入流量标识时,所述第一网络协议栈具体用于:

根据预设的标记池中每一流量标识对应的权重值,选出所述第三数据包的流量标识;其中,所述标记池中每一流量标识对应的权重值用于指示该流量标识被选中的概率;

将选出所述第三数据包的流量标识写入所述第三数据包。

其中,预设的标记池中每一流量标识对应的权重值是预先根据预设规则计算得到的,示例性的,可以根据传输数据包时的网络宽带、收费费率、通信质量等因素综合计算权重值,综合考虑传输数据包流量的成本及效率,得到各流量标识的权重值,权重值用于指示该流量标识被选中的概率,决定了每一流量标识被选中的概率。若所有流量标识的权重值设为固定相同,则第三数据包的流量标识的选择将完全随机。

具体的,本发明实施例提供的基于双协议的网关系统,根据预设的标记池中每一流量标识对应的权重值,选出所述第三数据包的流量标识,并将选出所述第三数据包的流量标识写入所述第三数据包,以此通过权重值作为流量标识的选择策略,实现为第三数据包写入相应的流量标识。

优选地,所述网络连接信息包括数据包的源ip地址、目的ip地址、源端口、目的端口和传输层协议。

具体的,网络连接信息包括数据包的五元组,即数据包的源ip地址、目的ip地址、源端口、目的端口和传输层协议时,可以确定数据包的需要进行的网络连接。网络连接信息还可以根据实际应用需要设置包括其他参数。

具体实施时,本发明实施例提供的基于双协议栈的网关系统,通过第一网络协议栈实现lan接口之间的数据包转发处理;通过第二网络协议栈实现wan接口之间的数据包转发处理;通过第一专用网络接口和第二专用网络接口实现第一网络协议栈和第二网络协议栈之间相互配合,从而实现lan接口和wan接口之间的数据包转发处理。

本发明实施例的技术方案能够通过双协议栈建立网关系统能实现不同数据包流量的数据包转发处理,并且将lan接口和wan接口分别由第一网络协议栈和第二网络协议栈管理且相互独立,降低了网关系统的耦合度,进而降低了网关系统设计的复杂度;同时,本发明实施例提供的网关系统可以在单一网关设备中设计实现,不需要多个网关设备配合工作,降低了硬件成本,而且避免了由于多网关设备间性能缺陷或匹配度导致数据包流量无法进行传输或者传输缓慢的问题,进而有效提高了流量传输效率。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1