防止用户网络访问中断的方法和装置与流程

文档序号:15099219发布日期:2018-08-04 15:19阅读:288来源:国知局

本申请涉及网络通信技术,特别涉及防止用户网络访问中断的方法和装置。



背景技术:

应用驱动园区网(AD Campus)认证网络是一种采用重叠网络(Overlay)技术实现大二层虚拟专用网络(VPN:Virtual Private Network)组网,同时采用分布式网关、安全分组来简化用户访问控制策略的新型网络。图1示出了AD Campus认证网络结构。

AD Campus认证网络中,若用户认证过程中汇聚层设备与认证服务器之间的连接中断,或者,当认证服务器对用户的认证出现异常时,将会导致大量用户无法正常使用网络,造成用户的网络访问中断。这里的汇聚层设备可为汇聚层中诸如网络接入服务器(NAS:Network Access Server)、可扩展虚拟局域网络隧道端点(VTEP:VXLAN Tunnel End Point)设备等的设备,简称汇聚层设备。这里的认证服务器可为门户(Portal)服务器、远程用户拨号认证系统(RADIUS:Remote Authentication Dial In User Service)服务器、认证授权计费(AAA:Authentication Authorization Accounting)服务器。



技术实现要素:

本申请提供了防止用户网络访问中断的方法和装置,以防止用户认证异常时网络访问中断。

本申请提供的技术方案包括:

一种防止用户网络访问中断的方法,该方法应用于汇聚层设备,包括:

接收来自用户的网络访问请求,网络访问请求携带所述用户的MAC地址;

当依据所述网络访问请求确定需要发起所述MAC地址的MAC认证时,若判定本设备的工作模式为第一模式,则建立指定虚拟交换实例关联的转发表项和与所述转发表项对应的以太网实例,以依据所述转发表项和所述以太网实例控制所述用户在所述指定虚拟交换实例对应的指定VXLAN中访问网络资源;

其中,所述第一模式用于指示MAC认证异常需禁止触发MAC认证,所述转发表项至少包含所述MAC地址,所述指定虚拟交换实例为所述指定VXLAN对应的虚拟交换实例VSI,所述指定VXLAN为第一模式下授权访问的VXLAN。

一种防止用户网络访问中断的装置,该装置应用于汇聚层设备,包括:

接收模块,用于接收来自用户的网络访问请求,所述网络访问请求携带所述用户的MAC地址;

控制模块,用于当依据所述网络访问请求确定需要发起所述MAC地址的MAC认证时,若判定本设备的工作模式为第一模式则建立指定虚拟交换实例关联的转发表项和与所述转发表项对应的以太网实例,以依据所述转发表项和所述以太网实例控制所述用户在所述指定虚拟交换实例对应的指定VXLAN中访问网络资源;

其中,所述第一模式用于指示MAC认证异常需禁止触发MAC认证,所述转发表项至少包含所述MAC地址,所述指定虚拟交换实例为所述指定VXLAN对应的虚拟交换实例VSI,所述指定VXLAN为第一模式下授权访问的VXLAN。

由以上技术方案可以看出,本申请中,一旦用户认证因为认证服务器不可达或其他原因导致认证异常,则汇聚层设备会将本设备的工作模式置为用于指示MAC认证异常需禁止触发MAC认证的第一模式,之后在本设备的工作模式为第一模式时若接收到来自用户的网络访问请求,即使依据该网络访问请求确定需要发起MAC认证,也不再发起MAC认证,而是通过建立用户匹配的转发表项(与指定虚拟交换实例关联)和以太网实例(与转发表项对应)的方式控制所述用户在所述指定虚拟交换实例对应的指定VXLAN中访问网络资源,这实现了即使用户认证异常,也可以访问指定VXLAN中网络资源。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1为AD Campus认证网络结构图;

图2为本申请提供的AD Campus认证网络中用户认证流程图;

图3为本申请提供的方法流程图;

图4为本申请提供的实施例1应用组网示意图;

图5为本申请提供的实施例1应用组网示意图;

图6为本申请提供的装置结构示意图;

图7为本申请提供的图6所示装置的硬件结构示意图。

具体实施方式

在AD Campus认证网络中的用户认证过程主要包括MAC认证(Authentication)与Portal认证,具体为图2所示的流程。

参见图2,图2为本申请提供的AD Campus认证网络中用户认证流程图。如图2所示,该流程可包括以下步骤:

步骤201,汇聚层设备在首次接收到来自用户(记为用户2_1)的网络访问请求如访问某网站的请求时,若依据网络访问请求确定需要发起对网络访问请求携带的MAC地址进行MAC认证,则生成MAC地址认证请求并发送给认证服务器。

网络访问请求携带的MAC地址为用户2_1的MAC地址,记为MAC地址1_1。

作为一个实施例,汇聚层设备依据网络访问请求确定需要发起对网络访问请求携带的MAC地址1_1进行MAC认证可包括以下步骤:汇聚层设备在接收到网络访问请求时,查询本地第一访问控制列表(ACL:Access Control List)中是否有与该接收的网络访问请求所携带的MAC地址1_1匹配的ACL表项,若第一ACL中不存在与MAC地址1_1匹配的ACL表项,则继续查找第二ACL中是否有与该接收的网络访问请求所携带的MAC地址1_1匹配的ACL表项,若第二ACL中不存在与MAC地址1_1匹配的ACL表项,则确定是首次收到来自用户2_1的网络访问请求,其意味着用户2_1的MAC地址1_1还未进行认证,需要发起对网络访问请求携带的MAC地址1_1进行MAC认证。其中,第一ACL、第二ACL中存储的内容和功能,将在后续过程介绍。

而当第一ACL中存在与MAC地址1_1匹配的ACL表项,或者第二ACL中存在与MAC地址1_1匹配的ACL表项,则意味着不是首次收到来自用户2_1的网络访问请求,针对此种情况,则不需要发起对网络访问请求携带的MAC地址1_1进行MAC认证,下文进行了描述,这里暂不赘述。

这里,生成的MAC地址认证请求携带了MAC地址1_1,其目的是触发认证服务器对MAC地址1_1进行MAC认证。也就是说,在本申请中,汇聚层设备首次接收的来自用户(记为用户2_1)的网络访问请求如访问某网站的请求会触发认证服务器对用户(记为用户2_1)的MAC地址即MAC地址1_1进行MAC认证的,为便于描述,这里将首次接收的来自用户(记为用户2_1)的网络访问请求记为用于触发MAC地址认证的网络访问请求。

当认证服务器收到MAC地址认证请求后,发现本地并没有MAC地址认证请求携带的MAC地址1_1的认证记录,则对MAC地址1_1进行认证,当认证通过时,发送用户2_1对应的授权虚拟交换实例(VSI:Virtual Switch Instance)、统一资源定位符(URL:Uniform Resource Locator)、ACL策略。其中,授权VSI为用户2_1在MAC地址1_1通过认证服务器的MAC认证后被授权访问的VXLAN对应的VSI,通常,所有通过认证服务器的MAC认证的用户都统一访问该授权VSI对应的VXLAN,以便继续执行后续的Portal认证。也即,具体地,该授权VSI也为Portal认证所应用的VXLAN对应的VSI。ACL策略用于指示将后续MAC地址1_1对应的用户2_1发送的网络访问请求重定向到上述URL对应的Portal认证页面。

步骤202,汇聚层设备接收认证服务器在MAC地址1_1通过认证时发送的授权VSI、URL、ACL策略,在第二ACL(第二ACL中的ACL表项用于记录需要重定向到Portal认证页面的MAC地址)中添加MAC地址1_1匹配的ACL表项,该ACL表项包括MAC地址1_1和URL,且该ACL表项用于将携带MAC地址1_1的网络访问请求重定向到该URL对应的Portal认证页面)

授权VSI为用户2_1在通过MAC认证后允许访问的VXLAN对应的VSI。

上述步骤201至步骤202具体为MAC认证(Authentication)的步骤。

步骤203,汇聚层设备再次接收到上述用户2_1发送的网络访问请求时,通过网络访问请求携带的MAC地址1_1查询第一ACL,若第一ACL中不存在与MAC地址1_1匹配的ACL表项,则通过MAC地址1_1查询第二ACL,发现第二ACL中已经存在与MAC地址1_1匹配的ACL表项,则将网络访问请求重定向到第二ACL中与MAC地址1_1匹配的ACL表项中URL对应的Portal认证页面。

本步骤203至下述步骤207是Portal认证的具体过程。截至步骤207执行完Portal认证前,此时的用户2_1为已通过MAC认证但还未通过Portal认证的用户。

用户2_1在Portal认证页面输入身份信息(如用户名和密码等),并向汇聚层设备发送携带该身份信息的Portal认证请求。Portal认证请求还携带用户2_1的MAC地址1_1。

步骤204,汇聚层设备在接收到Portal认证请求后,将Portal认证请求发送给认证服务器。

认证服务器接收到Portal认证请求后,从Portal认证请求中解析出MAC地址1_1、和身份信息并进行认证,若认证成功,则在本地Portal认证记录中记录MAC地址1_1,并向汇聚层设备发送下线消息,该下线消息携带MAC地址1_1,以强制MAC地址1_1对应的用户2_1下线。

步骤205,汇聚层设备在接收到下线消息后,基于下线消息携带MAC地址1_1强制MAC地址1_1对应的用户2_1下线,并从第二ACL中删除与MAC地址1_1匹配的ACL表项。

用户2_1下线后再上线时,还会发送网络访问请求。

步骤206,汇聚层设备接收到用户2_1发送的网络访问请求时,通过网络访问请求携带的MAC地址1_1查询第一ACL,若第一ACL中不存在与MAC地址1_1匹配的ACL表项,则通过MAC地址1_1查询第二ACL,若第二ACL中不存在与MAC地址1_1匹配的ACL表项,则生成并发送MAC地址认证请求给认证服务器。

本步骤206类似上述的步骤201。

认证服务器在接收到MAC地址认证请求后,从MAC地址认证请求中解析出MAC地址1_1,发现本地Portal认证成功记录中包含该认证请求携带的MAC地址1_1的认证记录,则确定MAC地址1_1不需要进行Portal认证,向汇聚层设备发送MAC地址1_1对应的业务VSI。业务VSI不同于上述的授权VSI,其具体为通过Portal认证的用户2_1被授权访问的业务VXLAN对应的VSI。不同用户通过Portal认证后被授权访问的业务VXLAN不同或相同,具体根据业务需求而定。

步骤207,汇聚层设备接收并存储认证服务器发送的MAC地址1_1对应的业务VSI,在第一ACL(该第一ACL中的ACL表项用于记录能够访问网络资源的MAC地址)中添加MAC地址1_1匹配的ACL表项,该ACL表项包括MAC地址1_1和业务VSI,用于指示MAC地址1_1可以访问的授权业务信息。

后续当汇聚层设备接收到用户2_1再次发送的网络访问请求时,依据第一ACL中与MAC地址1_1匹配的ACL表项将网络访问请求发送给业务VSI对应的业务VXLAN。

但是,在用户2_1认证过程中,若出现汇聚层设备与认证服务器之间的连接中断,或者认证服务器因为未知原因引起认证异常,则就会影响用户2_1的认证。在实际应用中,并不是仅有用户2_1发起认证,经常会出现很多用户发起认证,如此,就会导致这些发现认证的诸多用户无法正常完成认证,进而导致这些用户的网络访问中断。

为了防止用户认证过程中用户无法访问网络,本申请提供了图3所示的方法。

参见图3,图3为本申请提供的防止网络中断方法流程图。该方法应用于汇聚层设备。作为一个实施例,汇聚层设备可举例为NAS、VTEP设备等。

如图3所示,该流程可包括以下步骤:

步骤301,汇聚层设备接收来自用户的网络访问请求,所述网络访问请求携带所述用户的MAC地址,当依据所述网络访问请求确定需要发起所述MAC地址的MAC认证时,若判定本设备的工作模式为第一模式,所述第一模式用于指示MAC认证异常需禁止触发MAC认证,则执行步骤302。

在本申请中,汇聚层设备依据网络访问请求确定需要发起所述MAC地址的MAC认证下文会进行描述,这里暂不再描述。

步骤302,建立指定虚拟交换实例关联的转发表项和与所述转发表项对应的以太网实例,以依据所述转发表项和所述以太网实例控制所述用户在所述指定虚拟交换实例对应的指定VXLAN中访问网络资源。

为便于描述,本申请将指定虚拟交换实例记为Critical VSI,其具体为指定VXLAN对应的VSI。指定VXLAN为第一模式下授权访问的VXLAN。

在本申请中,与转发表项对应的以太网实例,其创建在三层以太网接口(具体为收到网络访问请求的用户接入接口)上,定义了对应的匹配规则,以实现从该三层以太网接口上收到的网络访问请求匹配对应的转发表项。作为一个实施例,所述转发表项至少包含所述MAC地址。在一个例子中,所述转发表项还包含三层以太网接口(具体为收到网络访问请求的用户接入接口)。

如上描述的第一模式,其用于指示MAC认证异常需禁止触发MAC认证,也意味着当汇聚层设备的工作模式为第一模式时,即使确定出依据当前接收的网络访问请求需要发起MAC地址的MAC认证,汇聚设备也不再像上述步骤201那样生成并发送MAC地址认证请求(携带网络访问请求所携带的MAC地址)给认证服务器以触发认证服务器对网络访问请求携带的MAC地址进行MAC认证,而是直接通过建立Critical VSI关联的转发表项和以太网实例的方式将网络访问请求携带的MAC地址加入至Critical VSI对应的指定VXLAN,以依据所述转发表项和所述以太网实例控制所述用户在所述Critical VSI对应的指定VXLAN中访问网络资源,实现了一旦用户的MAC地址因为本设备的工作模式为第一模式而不再进行MAC认证,则此类不再执行MAC认证的MAC地址所对应的用户可统一访问上述指定VXLAN,防止因为MAC认证异常导致用户的网络访问中断。

至此,完成图3所示的流程。

作为一个实施例,本设备的工作模式之所以为第一模式,主要是因为以下两种情况的任一情况引起:

情况1),汇聚层设备检测到认证服务器不可达(暂时不可恢复)。为了提高认证效率,在组网中,可有针对性地规划汇聚层设备与认证服务器之间的关联关系,以使得认证服务器只对其关联的汇聚层设备发送过来的认证请求进行认证,如此,这里的认证服务器可为汇聚层设备关联的认证服务器。当然,也可以统一设置汇聚层设备关联组网中所有认证服务器,如此,这里的认证服务器为组网中所有认证服务器,本申请并不具体限定。

情况2),认证服务器可达,但由于其他未知或已知原因导致认证服务器认证异常比如无法认证等(暂时不可恢复)。

下面基于上述两种情况分别对图3所示流程进行实施例描述:

参见图4,图4为本申请提供的实施例1实现组网图。本实施例应用于上述的情况1。

在图4中,汇聚层设备以示出的VTEP4_1、VTEP4_2为例。认证服务器以示出的AAA服务器S1、AAA服务器S2为例。VTEP4_1关联互联网服务提供商(ISP:Internet Service Provider)1下的AAA服务器S1,VTEP4_2关联ISP2下的AAA服务器S2。

在图4中,管理器(Director)下发第一模式配置给VTEP4_1、VTEP4_2。第一模式配置包含Critical VSI。

VTEP4_1、VTEP4_2依据第一模式配置在组网中建立Critical VSI对应的指定VXLAN,具体是建立对应的VXLAN隧道。因为这不是本申请的重点,不详细描述。

VTEP4_1、VTEP4_2依据第一模式配置在本设备的所有用户接入端口上配置Critical VSI。

以VTEP4_1通过用户接入端口P1接收到用户(Client)1发送的网络访问请求如访问某网站的请求为例。网络访问请求携带Client1的MAC地址a1。为便于描述,这里将网络访问请求记为请求b_1。

VTEP4_1检查本设备的工作模式,发现为第二模式,所述第二模式为正常的认证模式,则查询本地第一ACL表、第二ACL表中是否有与请求b_1携带的MAC地址a1匹配的ACL表项。若第一ACL表、第二ACL表中不存在与MAC地址a1匹配的ACL表项,则确定需要发起MAC地址a1的MAC认证。第一ACL表、第二ACL表如上描述。这里是VTEP4_1在本设备的工作模式为第二模式时依据请求b_1确定需要发起MAC地址a1的MAC认证的一种实现方式,并非用于限定。

VTEP4_1按照类似步骤201的描述,依据请求b_1生成MAC地址认证请求(携带MAC地址a1)并发送给VTEP4_1关联的ISP1下的AAA服务器S1,以触发AAA服务器S1对MAC地址a1进行MAC认证。通常,当AAA服务器S1收到MAC地址认证请求后,会及时返回一个响应给VTEP4_1。

VTEP4_1在设定时长内未收到AAA服务器S1返回的响应,则确定AAA服务器S1不可达。或者,VTEP4_1在设定时长内未收到AAA服务器S1返回的响应,则再继续连续发送L次上述的MAC地址认证请求,若均未收到AAA服务器S1返回的响应,则确定AAA服务器S1不可达。需要说明的是,本申请中,确定AAA服务器S1不可达的方式有很多种,这里只是举例,并非用于限定。

VTEP4_1在确定AAA服务器S1不可达,则将本设备的工作模式从第二模式切换为第一模式,此时VTEP4_1不再触发AAA服务器S1对MAC地址a1进行MAC认证。也即,执行到此步骤,Client1的MAC地址a1不再执行MAC认证。

VTEP4_1依据接收到请求b_1的端口P1配置的Critical VSI建立Critical VSI关联的转发表项,并建立对应转发表项的以太网实例。为便于描述,这里的转发表项记为表项1_1。作为一个实施例,表项1_1包含MAC地址a1、Critical VSI、VTEP4_1收到请求b_1的端口P1。在一个例子中,建立的以太网实例是与端口P1对应的,用于指示后续端口P1收到的网络访问请求查找所述转发表项。执行到此步骤,作为一个实施例,VTEP4_1可丢弃请求b_1,或者向Client1返回AAA服务器S1不可达的提示,本申请并不具体限定。

VTEP4_1发现表项1_1是本设备的工作模式切换为第一模式时建立的首个转发表项,则强制满足条件的所有用户下线,以使下线用户通过重新发起网络访问请求实现访问指定VXLAN中的网络资源(下文会举例描述),所述条件为:已通过AAA服务器S1的MAC认证但还未通过Portal认证。VTEP4_1强制满足条件的所有用户下线,则意味着VTEP4_1在本地第二ACL中删除该下线用户的MAC地址匹配的ACL表项。假如Client2、Client3是满足条件的用户,则执行到此步骤时,Client2、Client3被强制下线。

Client1在需进行网络访问时再次发送网络访问请求。为便于描述,将Client1再次发送的网络访问请求记为请求b_2。请求b_2携带Client1的MAC地址a1。

VTEP4_1通过端口P1接收到Client1发送的请求b_2。

VTEP4_1检查本设备的工作模式为第一模式,查询已建立的所有以太网实例中存在与端口P1对应的以太网实例,则依据端口P1对应的以太网实例找到包含MAC地址a1的转发表项即表项1_1,基于找到的表项1_1中的Critical VSI将请求b_2发送至指定VXLAN。之后,VTEP4_1当接收到来自指定VXLAN发向Client1的数据报文时,数据报文的目的MAC地址为MAC地址a1,则以数据报文的目的MAC地址为关键字查找到包含该关键字的转发表项即表项1_1,依据表项1_1对应的以太网实例且通过表项1_1中的端口P1将数据报文发送给Client1。最终实现了即使Client1的MAC地址a1因为AAA服务器S1不可达未通过AAA服务器S1的MAC认证,Client1也可在指定VXLAN中访问网络资源。

Client2在需进行网络访问时发送网络访问请求。为便于描述,这里将Client2发送的网络访问请求记为请求b_3。请求b_3携带Client2的MAC地址a2。

VTEP4_1通过用户接入端口即端口P2接收到Client2发送的请求b_3。

VTEP4_1检查本设备的工作模式为第一模式,尽管通过查询已建立的所有以太网实例中不存在与端口P2对应的以太网实例,或者,查询已建立的所有以太网实例中存在与端口P2对应的以太网实例但与Critical VSI关联的转发表项中不存在包含MAC地址a2的转发表项,确定依据请求b_3时需要发起MAC地址a2的MAC认证,但因为本设备的工作模式为第一模式,则不再发起MAC地址a2的MAC认证,直接依据端口P2配置的Critical VSI建立Critical VSI关联的转发表项,并建立对应该转发表项的以太网实例。为便于描述,这里的转发表项记为表项1_2。作为一个实施例,表项1_2包含MAC地址a2、Critical VSI、VTEP4_1收到请求b_3的端口P2。在一个例子中,建立的以太网实例是对应端口P2的,用于指示后续端口P2收到的网络访问请求查找表项1_2。执行到此步骤,作为一个实施例,VTEP4_1可丢弃请求b_3,或者向Client2返回AAA服务器S1不可达的提示,本申请并不具体限定。

需要说明的是,上述VTEP4_1查询已建立的所有以太网实例中不存在与端口P2对应的以太网实例,或者,查询已建立的所有以太网实例中存在与端口P2对应的以太网实例但与Critical VSI关联的转发表项中不存在包含MAC地址a2的转发表项,是VTEP4_1在本设备的工作模式为第一模式时依据请求b_3确定需要发起MAC地址a2的MAC认证的一种实现方式,这与上述的VTEP4_1在工作模式为第二模式时确定发起MAC认证的方式不同,其原因是:如上描述VTEP4_1会强制Client2下线,如此,此时会存在两种可能:一是VTEP4_1在工作模式为第一模式后已收到Client2发送的网络访问请求,在此前提下,因为VTEP4_1的工作模式为第一模式,其会依据收到的网络访问请求建立Critical VSI关联的转发表项(包含MAC地址a2)和对应的以太网实例(与端口P2也对应);另一种可能是:VTEP4_1在工作模式为第一模式后未收到Client2发送的网络访问请求,在此前提下,就不会存在Critical VSI关联的转发表项(包含MAC地址a2)和对应的以太网实例(与端口P2也对应),所以VTEP4_1在工作模式为第一模式,通过查询已建立的所有以太网实例中不存在与端口P2对应的以太网实例,或者,查询已建立的所有以太网实例中存在与端口P2对应的以太网实例但与Critical VSI关联的转发表项中不存在包含MAC地址a2的转发表项(这应用于同一端口接入不同用户的情况),很容易确定网络访问请求是否为用于触发MAC地址认证的网络访问请求。

Client2在需进行网络访问时再次发送网络访问请求。为便于描述,这里将Client2再次发送的网络访问请求记为请求b_4。请求b_4携带Client2的MAC地址a2。

VTEP4_1通过端口P2接收到Client2发送的请求b_4。

VTEP4_1检查本设备的工作模式为第一模式,查询已建立的所有以太网实例中存在与端口P2对应的以太网实例,并依据端口P2对应的以太网实例查询到包含MAC地址a2的转发表项即表项1_2,则基于找到的表项1_2中的Critical VSI将请求b_4发送至指定VXLAN。之后,VTEP4_1当接收到来自指定VXLAN发向Client2的数据报文时,数据报文的目的MAC地址为MAC地址a2,则以数据报文的目的MAC地址为关键字查找到包含该关键字的转发表项即表项1_2,依据表项1_2对应的以太网实例且通过表项1_2中的端口P2将数据报文发送给Client2。最终实现了即使Client2的MAC地址a2因为AAA服务器S1不可达未通过AAA服务器S1的MAC认证,Client2也可在指定VXLAN中访问网络资源。

Client3在需进行网络访问时发送网络访问请求。为便于描述,这里将Client3发送的网络访问请求记为请求b_5。请求b_5携带Client3的MAC地址a3。

VTEP4_1通过用户接入端口即端口P3接收到Client3发送的请求b_5。

VTEP4_1检查本设备的工作模式为第一模式,尽管通过查询已建立的所有以太网实例中不存在与端口P3对应的以太网实例,或者,查询已建立的所有以太网实例中存在与端口P3对应的以太网实例但与Critical VSI关联的转发表项中不存在包含MAC地址a3的转发表项,确定依据请求b_5需要是发起MAC地址a3的MAC认证,但因为本设备的工作模式为第一模式,则不再发起MAC地址a3的MAC认证,直接依据端口P3配置的Critical VSI建立Critical VSI关联的转发表项,并建立对应该转发表项的以太网实例。为便于描述,这里的转发表项记为表项1_3。作为一个实施例,表项1_3包含MAC地址a3、Critical VSI、VTEP4_1收到请求b_5的端口P3。在一个例子中,建立的以太网实例是对应端口P3的,用于指示后续端口P3收到的网络访问请求查找表项1_3。执行到此步骤,作为一个实施例,VTEP4_1可丢弃请求b_5,或者向Client3返回AAA服务器S1不可达的提示,本申请并不具体限定。

Client3在需进行网络访问时再次发送网络访问请求。为便于描述,这里将Client3再次发送的网络访问请求记为请求b_6。请求b_6携带Client3的MAC地址a3。

VTEP4_1通过端口P3接收到Client3发送的请求b_6。

VTEP4_1检查本设备的工作模式为第一模式,查询已建立的所有以太网实例中存在与端口P3对应的以太网实例,且依据端口P3对应的以太网实例找到包含MAC地址a3的转发表项即表项1_3,则基于找到的表项1_3中的Critical VSI将请求b_6发送至指定VXLAN。之后,VTEP4_1当接收到来自指定VXLAN发向Client3的数据报文时,数据报文的目的MAC地址为MAC地址a3,则以数据报文的目的MAC地址为关键字查找到包含该关键字的转发表项即表项1_3,依据表项1_3对应的以太网实例且通过表项1_3中的端口P3将数据报文发送给Client3。最终实现了即使Client3的MAC地址a3因为AAA服务器S1不可达未通过AAA服务器S1的MAC认证,Client3也可在指定VXLAN中访问网络资源。

至此,通过上面描述可以实现即使AAA服务器S1不可达,Client1至Client3也能正常访问指定VXLAN中的网络资源,防止Client1至Client3的网络中断导致的诸多问题。

以上对实施例1进行了描述。

在本申请中,还需要及时检测AAA服务器S1是否可达,以保证认证服务器可达时及时将用户从访问指定VXLAN切换为访问授权的业务VXLAN。作为一个实施例,这里检测认证服务器比如图4所示的AAA服务器S1是否可达可通过尝试向认证服务器发起MAC地址认证的方式实现。

汇聚层设备比如图4中的VTEP4_1、VTEP4_2会同时接入很多Client,最高可达16K,这就意味着汇聚层设备有可能建立很多Critical VSI关联的转发表项,如此,若针对Critical VSI关联每一转发表项中的MAC地址都尝试发起重认证,会导致汇聚层设备的负载严重。作为一个实施例,本申请中,汇聚层设备可从与Critical VSI关联的所有转发表项中选择出最先建立的转发表项,通过尝试发送MAC地址认证请求给认证服务器检查认证服务器是否可达,MAC地址认证请求携带选择出的转发表项中的MAC地址。

假如当通过尝试发送MAC地址认证请求给认证服务器依然检测到认证服务器不可达,则返回尝试发送MAC地址认证请求给认证服务器的操作,直至检测到认证服务器可达。这里检测到所述认证服务器是否可达的方式具体见上面描述,不再详述。

若通过尝试发送MAC地址认证请求给认证服务器检测到认证服务器可达,此时可将本设备的工作模式从所述第一模式切换为第二模式,并执行以下步骤a1至步骤a2:

步骤a1,向认证服务器发起对以下各个转发表项中MAC地址的认证:与所述Critical VSI关联的所有转发表项中除上述选择出的转发表项之外的转发表项。

需要说明的是,在步骤a1中,上述选择出的转发表项中的MAC地址有可能已通过认证服务器的MAC认证,当通过认证服务器的MAC认证时,则执行类似步骤a2的描述。

步骤a2,对于通过认证服务器MAC认证的MAC地址,从与所述Critical VSI关联的所有转发表项中找到包含该MAC地址的转发表项,删除该找到的转发表项和其对应的以太网实例,并重新建立与该MAC地址对应的业务VSI相关联的转发表项和其对应的以太网实例,以依据新建立的转发表项和对应的以太网实例控制该通过所述认证服务器MAC认证的MAC地址对应的用户访问所述业务VSI对应的业务VXLAN中的网络资源,所述业务VSI不同于所述Critical VSI,为通过所述认证服务器MAC认证的MAC地址被授权访问的业务VXLAN对应的VSI。

在本步骤a2中,不管是上述选择出的转发表项中的MAC地址,还是其他转发表项中的MAC地址,只要通过认证服务器的MAC认证,就需要执行步骤a2的描述。

作为一个实施例,上述步骤a1具体实现时可包括:

步骤a11,对与所述Critical VSI关联的所有转发表项中除上述选择出的转发表项之外的转发表项进行分组。

作为一个实施例,这里每组中的转发表项数量最大为N比如100。

步骤a12,按照每组递增M秒的速度向认证服务器发起各组中转发表项中MAC地址的认证。

在本申请中,步骤a12之所以按照每组递增M秒的速度向认证服务器发起各组中转发表项中MAC地址的认证,其目的是防止一次性地针对大量转发表项中MAC地址发起认证,提高认证服务器的认证效率。

在一个例子中,M取值可为1秒。

需要说明的是,在上述步骤a12中,若在某一组转发表项的MAC地址认证过程中又检测到认证服务器不可达,则停止后续其他转发表项中MAC地址的认证,并将本设备的工作模式从第二模式再次切换为第一模式,并强制满足条件的所有用户下线,以使下线用户通过重新发起网络访问请求实现访问所述指定VXLAN中的网络资源。条件为:已通过认证服务器的MAC认证但还未通过Portal认证。之后,返回按照上述图3所示流程的操作执行。

下面对实施例2的描述:

实施例2:

参见图5,图5为本申请提供的实施例2实现组网图。本实施例应用于上述的情况1或情况2。

在图5中,汇聚层设备以示出的VTEP5_1、VTEP5_2为例。认证服务器以示出的AAA服务器S_1、AAA服务器S_2为例。VTEP5_1关联互联网服务提供商(ISP:Internet Service Provider)1下的AAA服务器S_1,VTEP4_2关联ISP2下的AAA服务器S_2。

在图5中,以VTEP5_1关联的AAA服务器S_1为例。当网管发现AAA服务器S_1是上述情况1或者上述情况2,则网管下发第一模式指令给VTEP5_1。所述第一模式指令包含Critical VSI。

当VTEP5_1收到第一模式指令时,将本设备的工作模式切换为第一模式。此时,若组网中还未存在所述Critical VSI对应的指定VXLAN,则可进一步建立所述Critical VSI对应的指定VXLAN。

VTEP5_1在将本设备的工作模式切换为第一模式后,强制满足条件的所有用户下线,以使下线用户通过重新发起网络访问请求实现访问所述指定VXLAN中的网络资源,所述条件为:已通过所述AAA服务器S_1的MAC认证但还未通过Portal认证。VTEP5_1强制满足条件的所有用户下线,则意味着VTEP5_1在本地ACL中删除该下线用户的MAC地址匹配的ACL表项。假如Client5是满足条件的用户,则执行到此步骤时,Client5被强制下线。

VTEP5_1通过用户接入端口P5收到Client5发送的网络访问请求,Client5发送的网络访问请求携带Client5的MAC地址a5。为便于描述,Client5发送的网络访问请求记为请求b_7。

VTEP5_1检查本设备的工作模式为第一模式,尽管通过查询已建立的所有以太网实例中不存在与端口P5对应的以太网实例,或者,查询已建立的所有以太网实例中存在与端口P5对应的以太网实例但与Critical VSI关联的转发表项中不存在包含MAC地址a5的转发表项,确定依据请求b_7需要是需要发起MAC地址a5的MAC认证,但因为本设备的工作模式为第一模式,则不再发起MAC地址a5的MAC认证,直接建立Critical VSI关联的转发表项,并建立对应该转发表项的以太网实例。为便于描述,这里的转发表项记为表项1_5。作为一个实施例,表项1_5包含MAC地址a5、Critical VSI、VTEP5_1收到请求b_7的端口P5。在一个例子中,建立的以太网实例是对应端口P5的,用于指示后续端口P5收到的请求b_7查找表项1_5。执行到此步骤,作为一个实施例,VTEP5_1可丢弃接收的请求b_7,或者向Client5返回AAA服务器S1认证异常的提示,本申请并不具体限定。

Client5在需进行网络访问时再次发送网络访问请求。网络访问请求携带Client5的MAC地址a5。为便于描述,将Client5再次发送的网络访问请求记为请求b_8。

VTEP5_1通过端口P5接收到Client5发送的请求b_8。

VTEP5_1检查本设备的工作模式为第一模式,查询已建立的所有以太网实例中存在与端口P5对应的以太网实例,并依据端口P5对应的以太网实例找到包含MAC地址a5的转发表项即表项1_5,基于找到的表项1_5将请求b_8发送至指定VXLAN。之后,VTEP5_1当接收到来自指定VXLAN发向Client5的数据报文时,数据报文的目的MAC地址为MAC地址a5,则以数据报文的目的MAC地址为关键字查找到包含该关键字的转发表项即表项1_5,依据表项1_5对应的以太网实例且通过表项1_5中的端口P5将数据报文发送给Client5。最终实现了即使Client5的MAC地址a5因为AAA服务器S_1不可达未通过AAA服务器S_1的MAC认证,Client5也可在指定VXLAN中访问网络资源。

Client4在需进行网络访问时发送网络访问请求。为便于描述,这里将Client4发送的网络访问请求记为请求b_9。请求b_9携带Client4的MAC地址a4。

VTEP5_1通过用户接入端口即端口P4接收到Client4发送的请求b_9。

VTEP5_1检查本设备的工作模式为第一模式,尽管通过查询已建立的所有AC中不存在与端口P4对应的以太网实例,或者,查询已建立的所有以太网实例中存在与端口P4对应的以太网实例但与Critical VSI关联的转发表项中不存在包含MAC地址a4的转发表项,确定依据请求b_9是需要发起MAC地址a4的MAC认证,但因为本设备的工作模式为第一模式,则不再发起MAC地址a4的MAC认证,直接建立Critical VSI关联的转发表项,并建立对应该转发表项的以太网实例。为便于描述,这里的转发表项记为表项1_4。作为一个实施例,表项1_4包含MAC地址a4、Critical VSI、VTEP5_1收到请求b_9的端口P4。在一个例子中,建立的以太网实例是对应端口P4的,用于指示后续端口P4收到的网络访问请求查找表项1_4。执行到此步骤,作为一个实施例,VTEP5_1可丢弃请求b_9,或者向Client4返回AAA服务器S_1不可达的提示,本申请并不具体限定。

Client4在需进行网络访问时再次发送网络访问请求。为便于描述,这里将Client4再次发送的网络访问请求记为请求b_10。请求b_10携带Client4的MAC地址a4。

VTEP5_1通过端口P4接收到Client4发送的请求b_10。

VTEP5_1检查本设备的工作模式为第一模式,查询已建立的所有AC中存在与端口P4对应的以太网实例,并依据端口P4对应的以太网实例找到包含MAC地址a4的转发表项即表项1_4,基于找到的表项1_4将请求b_10发送至指定VXLAN。之后,VTEP5_1当接收到来自指定VXLAN发向Client4的数据报文时,数据报文的目的MAC地址为MAC地址a4,则以数据报文的目的MAC地址为关键字查找到包含该关键字的转发表项即表项1_4,依据表项1_4对应的以太网实例且通过表项1_4中的端口P4将数据报文发送给Client4。最终实现了即使Client4的MAC地址a4因为AAA服务器S_1不可达未通过AAA服务器S_1的MAC认证,Client4也可在指定VXLAN中访问网络资源。

至此,通过上面描述可以实现即使AAA服务器S_1认证异常,Client4、Client5也能正常访问指定VXLAN中的网络资源,防止Client4、Client5的网络访问中断导致的诸多问题。

需要说明的是,当AAA服务器S1恢复认证,能够正常执行认证时,则网管会进一步发送用于删除第一模式指令的删除指令给汇聚层设备。当汇聚层设备接收到删除指令时,依据所述删除指令将本设备的工作模式从所述第一模式切换为认证模式,强制与Critical VSI关联的各转发表项中MAC地址对应的用户下线,并删除与Critical VSI关联的各转发表项以及对应的以太网实例。如此,后续各用户就可按照图2所示流程执行认证。

至此,完成实施例2的描述。

以上对本申请提供的方法进行了描述,下面对本申请提供的装置进行描述:

参见图6,图6为本申请提供的装置结构图。该装置应用于汇聚层设备,包括:

接收模块,用于接收来自用户的网络访问请求,所述网络访问请求携带所述用户的MAC地址;

控制模块,用于当依据所述网络访问请求确定需要发起所述MAC地址的MAC认证时,若判定本设备的工作模式为第一模式,则建立指定虚拟交换实例关联的转发表项和与所述转发表项对应的以太网实例,以依据所述转发表项和所述以太网实例控制所述用户在所述指定虚拟交换实例对应的指定VXLAN中访问网络资源;其中,所述第一模式用于指示MAC认证异常需禁止触发MAC认证,所述转发表项至少包含所述MAC地址,所述指定虚拟交换实例为所述指定VXLAN对应的虚拟交换实例VSI,所述指定VXLAN为第一模式下授权访问的VXLAN。

作为一个实施例,所述控制模块进一步在检查出本设备的工作模式为第二模式,第二模式用于指示MAC认证模式,检测认证服务器是否可达;若检测认证服务器不可达,则将本设备的工作模式从所述第二模式切换为所述第一模式,并建立所述转发表项和所述以太网实例,以依据所述转发表项和所述以太网实例控制所述用户在所述指定虚拟交换实例对应的指定VXLAN中访问网络资源。

作为一个实施例,所述控制模块在转发表项建立之后,进一步检查所述转发表项是否为本设备的工作模式切换为第一模式后建立的首个转发表项,如果是,则强制满足条件的所有用户下线,以使下线用户通过重新发起网络访问请求实现访问所述指定VXLAN中的网络资源,所述条件为:已通过所述认证服务器的MAC认证但还未通过Portal认证。

作为一个实施例,所述控制模块进一步从与指定虚拟交换实例关联的所有转发表项中选择出最先建立的转发表项,通过尝试发送MAC地址认证请求给认证服务器检查认证服务器是否可达,MAC地址认证请求携带选择出的转发表项中的MAC地址;

若检查出认证服务器不可达,则返回尝试发送MAC地址认证请求给认证服务器的操作;若检查出认证服务器可达,则,

将本设备的工作模式从所述第一模式切换为第二模式,并向认证服务器发起对以下各个转发表项中MAC地址的认证:与所述指定虚拟交换实例关联的所有转发表项中除选择出的转发表项之外的转发表项;

对于通过所述认证服务器MAC认证的MAC地址,找到包含该MAC地址的转发表项,删除该找到的转发表项和对应的以太网实例,并重新建立与该MAC地址对应的业务VSI相关联的转发表项和对应的以太网实例,以依据新建立的转发表项和对应的以太网实例控制该通过MAC认证的MAC地址对应的用户访问所述业务VSI对应的业务VXLAN中的网络资源,所述业务VSI为通过MAC认证的MAC地址被授权访问的业务VXLAN的VSI,其与所述指定虚拟交换实例不同。

作为一个实施例,所述向认证服务器发起对各个转发表项中MAC地址的认证包括:

对与所述Critical VSI关联的所有转发表项中除选择出的转发表项之外的转发表项进行分组;每组中的转发表项数量最大为N;

按照每组递增M秒的速度向认证服务器发起各组中转发表项中MAC地址的认证。

作为一个实施例,所述接收模块进一步接收管理器Director下发的第一模式配置,所述第一模式配置包含所述指定虚拟交换实例;

所述控制模块进一步依据所述第一模式配置在组网中建立所述指定虚拟交换实例对应的指定VXLAN;依据所述第一模式配置在本设备的所有用户接入端口上配置所述指定虚拟交换实例;

所述控制模块建立指定虚拟交换实例关联的转发表项包括:

依据接收到所述网络访问请求的用户接入端口配置的所述指定虚拟交换实例建立所述指定虚拟交换实例关联的转发表项。

作为一个实施例,所述接收模块进一步接收第一模式指令,所述第一模式指令包含所述指定虚拟交换实例,所述第一模式指令是在认证服务器不可达、或认证服务器可达但认证服务器因故障而导致认证异常时下发至汇聚层设备的;

所述控制模块进一步依据第一模式指令将本设备的工作模式从第二模式切换为所述第一模式,并强制满足条件的所有用户下线,以使下线用户通过重新发起网络访问请求实现访问所述指定VXLAN中的网络资源,所述条件为:已通过所述认证服务器的MAC认证但还未通过Portal认证。

作为一个实施例,所述接收模块进一步接收用于删除第一模式指令的删除指令,所述删除指令是在认证服务器恢复正常认证时下发至汇聚层设备的;

所述控制模块进一步依据所述删除指令将本设备的工作模式从所述第一模式切换为第二模式,强制与指定虚拟交换实例关联的各转发表项中MAC地址对应的用户下线,并删除与指定虚拟交换实例关联的各转发表项以及对应的以太网实例。

至此,完成图6所示装置的结构描述。

对应地,本申请还提供了图6所示装置的硬件结构图。如图7所示,该硬件结构包括:

可包括处理器701、存储有机器可执行指令的机器可读存储介质702。处理器701与机器可读存储介质702可经由系统总线703通信。并且,通过读取并执行机器可读存储介质702中与防止用户网络访问中断逻辑对应的机器可执行指令,处理器701可执行上文描述的防止用户网络访问中断方法。

本文中提到的机器可读存储介质702可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。

至此,完成图7所示的硬件结构描述。

在本申请中,还提供了一种包括机器可执行指令的机器可读存储介质,例如图7中的机器可读存储介质702,所述机器可执行指令可由防止用户网络访问中断装置中的处理器701执行以实现以上描述的防止用户网络访问中断方法。

具体地,通过调用并执行机器可读存储介质中与防止用户网络访问中断逻辑对应的机器可执行指令,处理器701可执行以上防止用户网络访问中断方法中的操作。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

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