一种基于Linux系统的ipv6报文重定向方法与流程

文档序号:11292747阅读:508来源:国知局
一种基于Linux系统的ipv6报文重定向方法与流程

本发明涉及网络安全接入技术领域,尤其涉及一种基于linux系统的ipv6报文重定向方法。



背景技术:

wlan指应用无线通信技术将计算机设备互联起来,构成可以互相通信和实现资源共享的网络体系。它具有灵活性和移动性,安装便捷和易于扩展等优点。wlan用户连接到网络的方式有portal认证通常也称为web认证,一般将portal认证网站称为门户网站。当用户试图通过http访问其他外网时,其接入设备就将用户强制重定向至门户网站进行认证,输入用户名和密码进行认证,在认证通过后才可以使用互联网资源。ipv6技术在wlan网络中已经开始逐步部署与应用。如何保证ipv6用户安全地接入wlan网络是无线网络应用面临的新问题。

ipv6协议没有网络地址转换(networkaddresstranslation,nat)功能,实际无线访问控制(wirelessaccesspointcontroller,ac)业务中,需要对未认证的ipv6用户报文进行重定向(redirect),以便完成认证。

现有技术中,会在linux操作系统的内核模块中维护一张ipv6的重定向地址表,当大量ipv6用户同时查表,可能会造成转发性能有所下降;同时,该重定向地址表即重定向hash表,使用ip+端口的二元组作为hash关键字,在多用户情况下,hash冲突概率较大。



技术实现要素:

针对现有技术中存在的问题,本发明提供了一种满足多用户同时查表时,转发性能不下降且减少hash冲突的基于linux系统的ipv6报文重定向方法。

本发明采用如下技术方案:

一种基于linux系统的ipv6报文重定向方法,预先设定一重定向查找表,所述重定向查找表中包括多个数组元素,每个所述数组元素中包括一个网络地址以及对应的一个网络端口;

所述ipv6报文重定向方法中还包括一上行数据传输方法,所述上行数据传输方法具体包括:

步骤sa1、采用无线终端发送一请求认证报文;

步骤sa2、采用远程连接所述无线终端的无线访问控制模块接收所述请求认证报文并判断所述无线终端是否已通过认证:

若判断结果为是,则所述无线访问控制模块放行所述请求认证报文以完成重定向;

若判断结果为否,则转步骤sa3;

步骤sa3、所述无线访问控制模块查找所述重定向查找表中是否存在有所述数组元素包括所述请求认证报文的源地址和源网络端口:

若判断结果为是,则转步骤sa4;

若判断结果为否,则所述无线访问控制模块将所述请求认证报文的源地址和源网络端口形成的所述数组元素记录到所述重定向查找表中,以及将所述请求认证报文的目的地址和目的网络端口形成的所述数组元素记录到所述重定向查找表中;

步骤sa4、所述无线访问控制模块更新所述重定向查找表,随后将所述请求认证报文的目的地址更改为所述无线访问控制模块的网络地址,以及将所述请求认证报文的目的端口更改为所述无线访问控制模块的portal监听端口,随后放行所述请求认证报文以完成重定向。

优选的,所述步骤sa3中,所述无线访问控制模块将所述请求认证报文的源地址和源网络端口形成的所述数组元素记录到所述重定向查找表中,以及将所述请求认证报文的目的地址和目的网络端口形成的所述数组元素记录到所述重定向查找表中后,启动一定时器。

优选的,所述步骤sa4中,所述无线访问控制模块更新所述重定向查找表后,重设所述定时器,随后将所述请求认证报文的目的地址更改为所述无线访问控制模块的网络地址,以及将所述请求认证报文的目的端口更改为所述无线访问控制模块的portal监听端口,随后放行所述请求认证报文以完成重定向。

优选的,所述步骤sa4中,在放行所述请求认证报文之前,所述无线访问控制模块还对所述请求认证报文执行报文验证操作,并在所述请求认证报文通过验证后再放行所述请求认证报文。

优选的,在执行所述步骤sa4后,所述无线访问控制模块将所述请求认证报文发送至远程连接的一portal服务器进行报文认证;

所述portal服务器在接收所述请求认证报文后经过认证并向所述无线访问控制模块反馈一对应的认证报文。

优选的,还包括一下行数据发送方法;

所述下行数据发送方法具体包括:

步骤sb1、所述无线访问控制模块接收所述portal服务器下发的所述认证报文;

步骤sb2、所述无线访问控制模块反向查找所述重定向查找表并判断所述重定向查找表中是否存在有所述数组元素包括所述认证报文的目的地址和目的网络端口:

若判断结果为是,则所述无线访问控制模块根据所述重定向表中查找得到的所述数组元素,将所述认证报文的源地址修改为所述数组元素中的所述网络地址,以及将所述认证报文的源网络端口修改为所述数组元素中的所述网络端口,以完成重定向;

若判断结果为否,则所述无线访问控制模块放行所述认证报文以完成重定向。

优选的,在放行所述认证报文之前,所述无线访问控制模块还对所述认证报文执行报文验证操作,并在所述认证报文通过验证后再放行所述认证报文。

优选的,所述无线访问控制模块为无线访问控制器。

本发明的有益效果是:通过配置一定规则配合第三方的工具作为无线访问控制模块来针对ipv6进行特殊配置处理,无线访问控制模块与内核模块耦合度很低,无论内核版本如何演进,无线访问控制模块都可以适配;无线访问控制模块可以灵活配置有关ipv6业务相关功能,无线访问控制模块完全独立开发实现,灵活度比较高,不依赖任何第三方软件和工具,能够满足多用户同时查表时,转发性能不下降且减少hash冲突。

附图说明

图1为本发明的一种优选实施例中,上行数据发送方法的流程图;

图2为本发明的一种优选实施例中,下行数据发送方法的流程图。

具体实施方式

需要说明的是,在不冲突的情况下,下述技术方案,技术特征之间可以相互组合。

下面结合附图对本发明的具体实施方式作进一步的说明:

如图1所示,一种基于linux系统的ipv6报文重定向方法,预先设定一重定向查找表,上述重定向查找表中包括多个数组元素,每个上述数组元素中包括一个网络地址以及对应的一个网络端口;

上述ipv6报文重定向方法中还包括一上行数据传输方法,上述上行数据传输方法具体包括:

步骤sa1、采用无线终端发送一请求认证报文;

步骤sa2、采用远程连接上述无线终端的无线访问控制模块接收上述请求认证报文并判断上述无线终端是否已通过认证:

若判断结果为是,则上述无线访问控制模块放行上述请求认证报文以完成重定向;

若判断结果为否,则转步骤sa3;

步骤sa3、上述无线访问控制模块查找上述重定向查找表中是否存在有上述数组元素包括上述请求认证报文的源地址和源网络端口:

若判断结果为是,则转步骤sa4;

若判断结果为否,则上述无线访问控制模块将上述请求认证报文的源地址和源网络端口形成的上述数组元素记录到上述重定向查找表中,以及将上述请求认证报文的目的地址和目的网络端口形成的上述数组元素记录到上述重定向查找表中;

步骤sa4、上述无线访问控制模块更新上述重定向查找表,随后将上述请求认证报文的目的地址更改为上述无线访问控制模块的网络地址,以及将上述请求认证报文的目的端口更改为上述无线访问控制模块的portal监听端口,随后放行上述请求认证报文以完成重定向。

在本实施例中,无线访问控制模块收到无线终端ipv6http报文(请求认证报文),判定认证状态,已认证,放行。未认证,则继续下一步;

未认证的ipv6报文,用源ip和源网络端口作为hash元素查找重定向表,未找到,则新建,记录报文的源ip和目的ip,源网络端口和目的网络端口,启动定时器;找到,则更新表项;

修改报文的目的ipv6地址为本机地址,目的网络端口为本机portal监听端口。

上述无线访问控制模块为无线访问控制器(wirelessaccesspointcontroller,ac)。ac支持ipv6协议的重定向功能,从而可以实现针对ipv6协议的portal认证等各种功能。

通过配置一定规则配合第三方的工具作为无线访问控制模块来针对ipv6进行特殊配置处理,ac与内核模块耦合度很低,无论内核版本如何演进,ac都可以适配;ac可以灵活配置有关ipv6业务相关功能,ac完全独立开发实现,灵活度比较高,不依赖任何第三方软件和工具,能够满足多用户同时查表时,转发性能不下降且减少

hash冲突。

较佳的实施例中,上述步骤sa3中,上述无线访问控制模块将上述请求认证报文的源地址和源网络端口形成的上述数组元素记录到上述重定向查找表中,以及将上述请求认证报文的目的地址和目的网络端口形成的上述数组元素记录到上述重定向查找表中后,启动一定时器。

较佳的实施例中,上述步骤sa4中,上述无线访问控制模块更新上述重定向查找表后,重设上述定时器,随后将上述请求认证报文的目的地址更改为上述无线访问控制模块的网络地址,以及将上述请求认证报文的目的端口更改为上述无线访问控制模块的portal监听端口,随后放行上述请求认证报文以完成重定向。

较佳的实施例中,上述步骤sa4中,在放行请求认证报文之前,无线访问控制模块还对请求认证报文执行报文验证操作,并在请求认证报文通过验证后再放行请求认证报文,即上述无线访问控制模块计算上述请求认证报文不存在校验和缺陷后放行上述请求认证报文。

在本实施例中,重新计算报文不存在单一性缺陷后,放行报文。

较佳的实施例中,在执行上述步骤sa4后,上述无线访问控制模块将上述请求认证报文发送至远程连接的一portal服务器进行报文认证;

上述portal服务器在接收上述请求认证报文后经过认证并向上述无线访问控制模块反馈一对应的认证报文。

如图2所示,较佳的实施例中,还包括一下行数据发送方法;

上述下行数据发送方法具体包括:

步骤sb1、上述无线访问控制模块接收上述portal服务器下发的上述认证报文;

步骤sb2、上述无线访问控制模块反向查找上述重定向查找表并判断上述重定向查找表中是否存在有上述数组元素包括上述认证报文的目的地址和目的网络端口:

若判断结果为是,则上述无线访问控制模块根据上述重定向表中查找得到的上述数组元素,将上述认证报文的源地址修改为上述数组元素中的上述网络地址,以及将上述认证报文的源网络端口修改为上述数组元素中的上述网络端口,以完成重定向;

若判断结果为否,则上述无线访问控制模块放行上述认证报文以完成重定向。

在本实施例中,下行数据发送流程和上行数据发送流程相似,接收portal发回的ipv6报文,用报文的目的ip,目的网络端口反方向查表,查到,则根据表项中记录的信息修改报文源ip,源网络端口,重新计算报文checksum,放行报文。查不到,直接放行。

较佳的实施例中,上述步骤sb2中,在放行认证报文之前,无线访问控制模块还对认证报文执行报文验证操作,并在认证报文通过验证后再放行认证报文,即上述无线访问控制模块计算上述认证报文不存在校验和缺陷后放行上述认证报文。

较佳的实施例中,对重定向报文表项实现缓存,减少同一种报文查表次数。

通过说明和附图,给出了具体实施方式的特定结构的典型实施例,基于本发明精神,还可作其他的转换。尽管上述发明提出了现有的较佳实施例,然而,这些内容并不作为局限。

对于本领域的技术人员而言,阅读上述说明后,各种变化和修正无疑将显而易见。因此,所附的权利要求书应看作是涵盖本发明的真实意图和范围的全部变化和修正。在权利要求书范围内任何和所有等价的范围与内容,都应认为仍属本发明的意图和范围内。

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