利用具有交换机架构的装置作为宽带接入服务器的方法转让专利

申请号 : CN200910249859.5

文献号 : CN101702687A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘靖非范成龙

申请人 : 北京傲天动联技术有限公司

摘要 :

一种利用具有交换机架构的装置作为宽带接入服务器的方法,包括:所述CPU获得客户机的MAC地址;确定所述装置的认证表中是否存在该客户机的MAC地址;如果确定认证表中存在该客户机的MAC地址,则所述CPU不进行操作;如果确定认证表中不存在该客户机的MAC地址,则在所述装置的MAC地址表中添加与该客户机的MAC地址匹配的MAC地址表项,其中,该MAC地址表项的静态标识被设置为静态,该MAC地址表项的源匹配命令字和目的匹配命令字指示的动作设置为“重定向到CPU”;所述CPU利用从客户机发送来的认证信息对客户机执行认证;所述CPU在所述认证成功后向所述认证表中添加该客户机的MAC地址,并从所述MAC地址表中删除与该客户机的MAC地址匹配的MAC地址表项。

权利要求 :

1.一种利用具有交换机架构的装置作为宽带接入服务器的方法,其中,所述装置包括CPU和ASIC转发芯片,所述方法包括步骤:所述CPU获得客户机的MAC地址;

确定所述装置的认证表中是否存在该客户机的MAC地址,其中,认证表存储有通过了宽带接入认证并在线的客户机的MAC地址;

如果确定认证表中存在该客户机的MAC地址,则所述CPU不进行操作;

如果确定认证表中不存在该客户机的MAC地址,则所述CPU在所述装置的MAC地址表中添加与该客户机的MAC地址匹配的MAC地址表项,其中,该MAC地址表项的静态标识被设置为静态,该MAC地址表项的源匹配命令字和目的匹配命令字指示的动作被设置为“重定向到CPU”;

所述CPU利用从客户机发送来的认证信息对客户机执行认证;

所述CPU在所述认证成功后向所述认证表中添加该客户机的MAC地址,并从所述MAC地址表中删除与该客户机的MAC地址匹配的MAC地址表项。

2.如权利要求1所述的利用具有交换机架构的装置作为宽带接入服务器的方法,其中,所述CPU获得客户机的MAC地址的步骤包括:所述ASIC转发芯片利用源地址学习机制生成的“MAC学习”消息将客户机的MAC地址发送给所述CPU。

3.如权利要求1所述的利用具有交换机架构的装置作为宽带接入服务器的方法,其中,所述CPU获得客户机的MAC地址的步骤包括:在所述装置为包括无线接入点和无线控制器的无线网络中的无线控制器的情况下,当客户机无线关联到无线接入点时,所述CPU从无线接入点获得客户机的MAC地址。

4.如权利要求1所述的利用具有交换机架构的装置作为宽带接入服务器的方法,其中,当所述CPU从ASIC转发芯片接收到“MAC老化”消息时,认为客户机已经异常下线,所述CPU从所述认证表中删除该客户机的MAC地址。

5.如权利要求1所述的利用具有交换机架构的装置作为宽带接入服务器的方法,其中,当所述CPU确定客户机主动下线时,所述CPU从所述认证表中删除该客户机的MAC地址,同时删除所述MAC地址表中与该客户机的MAC地址对应的MAC地址表项。

说明书 :

技术领域

本发明涉及宽带接入领域,更具体地讲,涉及一种利用具有交换机架构的装置作为宽带接入服务器的方法。

背景技术

随着宽带城域网和宽带业务的发展,对于用户已不能简单地采用包月制、无认证的管理办法。宽带接入服务器(BAS)是一种设置在网络汇聚层的用户接入服务设备,可以智能化地实现用户的汇聚、认证、计费等服务,还可以根据用户的需要,方便地提供多种IP增值业务。
由于在用户认证后,BAS需要转发用户数据流量,现有BAS都是基于路由器架构:客户机通过BAS的接口(端口)连接到中央处理器(CPU)或网络处理器(NP),用户报文进入接口后直接被发送到CPU或NP,利用CPU或NP完成认证、计费和转发。
图1示出了现有技术的具有宽带接入功能的有线网络。客户机101连接到BAS的接口,通过BAS的CPU或NP与AAA认证服务器完成认证、授权、计费,并同时利用BAS的CPU或NP实现转发功能。
图2示出了现有技术的具有宽带接入功能的无线网络。在该无线网络中,无线接入点(AP)201和(无线控制器)AC 202作为该无线网络的宽带接入系统,AP 201负责无线用户204的接入,AC 202负责AP的管理,这种架构称为瘦AP架构。在瘦AP架构中,当AC 202作为BAS时,用户的认证、授权、计费和用户数据转发都由AC 202的CPU完成,即,利用AC 202的CPU与AAA认证服务器203完成认证、授权、计费,并同时利用AC 202的CPU实现转发功能。
在现有技术的BAS中,用户认证通过后,BAS对用户数据进行转发;由于该转发为软件转发,需要CPU或NP计算完成,消耗CPU/NP计算能力,用户总流量越大,越消耗CPU/NP计算能力,随之对CPU/NP的要求就越强。因此,CPU/NP配置较低的BAS无法实现大的转发能力。

发明内容

本发明的目的在于提供一种利用具有交换机架构的装置作为宽带接入服务器(BAS)的方法,从而利用普通的交换机架构也能实现BAS的功能,避免了现有技术中用户总流量越大,就需要BAS的CPU/NP的配置越高的问题。
本发明的一方面提供一种利用具有交换机架构的装置作为宽带接入服务器的方法,其中,所述装置包括CPU和ASIC转发芯片,所述方法包括步骤:所述CPU获得客户机的MAC地址;确定所述装置的认证表中是否存在该客户机的MAC地址,其中,认证表存储有通过了宽带接入认证并在线的客户机的MAC地址;如果确定认证表中存在该客户机的MAC地址,则所述CPU不进行操作;如果确定认证表中不存在该客户机的MAC地址,则在所述装置的MAC地址表中添加与该客户机的MAC地址匹配的MAC地址表项,其中,该MAC地址表项的静态标识被设置为静态,该MAC地址表项的源匹配命令字和目的匹配命令字指示的动作被设置为“重定向到CPU”;所述CPU利用从客户机发送来的认证信息对客户机执行认证;所述CPU在所述认证成功后向所述认证表中添加该客户机的MAC地址,并从所述MAC地址表中删除与该客户机的MAC地址匹配的MAC地址表项。
所述CPU获得客户机的MAC地址的步骤可包括:所述ASIC转发芯片利用源地址学习机制生成的“MAC学习”消息将客户机的MAC地址发送给所述CPU。
所述CPU获得客户机的MAC地址的步骤可包括:在所述装置为包括无线接入点和无线控制器的无线网络中的无线控制器的情况下,当客户机无线关联到无线接入点时,所述CPU从无线接入点获得客户机的MAC地址。
当所述CPU从ASIC转发芯片接收到“MAC老化”消息时,可认为客户机已经异常下线,所述CPU从所述认证表中删除该客户机的MAC地址。
当所述CPU确定客户机主动下线时,所述CPU从所述认证表中删除该客户机的MAC地址,同时删除所述MAC地址表中与该客户机的MAC地址对应的MAC地址表项。
由于利用本发明的方法能够将普通的具有交换机架构的装置用作BAS,并且利用了所述装置的ASIC转发芯片进行转发,从而提高了转发效率,并且扩展了具有交换机架构的装置的功能。

附图说明

通过下面结合附图进行的详细描述,本发明的上述和其它目的、特点和优点将会变得更加清楚,其中:
图1示出现有技术的具有宽带接入功能的有线网络;
图2示出了现有技术的具有宽带接入功能的无线网络;
图3示出普通的交换机的架构;
图4示出通用ASIC转发芯片的转发逻辑的流程图;
图5示出根据本发明实施例的利用交换机架构实现宽带接入服务器的方法的流程图;
图6示出根据本发明另一实施例的利用交换机架构实现宽带接入服务器的方法的流程图。

具体实施方式

本发明提供一种利用具有交换机架构的装置作为宽带接入服务器的方法,提出一种新的BAS架构,可以将普通的交换机改造成BAS。
图3示出普通的交换机的架构300。交换机的架构300主要包括:CPU301、专用集成电路(ASIC)转发芯片302以及接口(或端口)303。接口303连接ASIC转发芯片302,ASIC转发芯片302通过PCI通道连接到CPU301。用户的报文或数据的转发由ASIC转发芯片302完成,CPU 301只负责ASIC转发芯片302的控制和协议处理,不参与用户报文或数据转发。
目前的通用ASIC转发芯片都存储有一个MAC(介质访问控制)地址表,该MAC地址表支持MAC地址表项。即,该MAC地址表通过MAC地址表项来记录MAC地址及其相关信息,每个MAC地址对应一个MAC地址表项。
表1示出了MAC地址表项所包括的关键信息。
表1
  MAC地址表项   含义   MAC地址   MAC地址   位置信息   包括端口、vlan等信息   静态标识   表示MAC地址是否为静态   源匹配命令字  报文的源MAC地址匹配本条表项后触发的动作   目的匹配命令字  报文的目的MAC地址匹配本条表项后触发的动作   老化标识   是否老化

ASIC转发芯片302通常包括如下机制:源地址学习机制、老化机制、自动通知机制和表项动作机制。下面对上述机制进行说明。
源地址学习机制:
报文进入芯片转发逻辑后,先使用报文源MAC查找MAC地址表,如果未找到,则进行源地址学习,生成一条新的MAC地址表项。表2示出该新的MAC地址表项的内容。
表2
  MAC地址表项   含义   MAC地址   报文源MAC地址   位置信息   报文进入芯片的端口、VLAN等二层信息   静态标识   动态   源匹配命令字   转发   目的匹配命令字   转发   老化标识   不老化
老化机制:
ASIC转发芯片302自动对通过源地址学习生成的该源地址的动态MAC地址(即,MAC地址表项的静态标识为动态的MAC地址)进行老化,老化时间可以由CPU301通过设置ASIC转发芯片302的寄存器来指定。
报文进入芯片转发逻辑后,先使用报文源MAC查找MAC地址表,如果找到且为动态MAC地址,则将该MAC地址的MAC地址表项的老化标识设置为“不老化”。
每一个老化周期后,芯片自动检查老化标识。如果老化标识为“不老化”,则修改为“老化”;如果表项老化标识为“老化”,则删除此MAC地址。
这样,如果用户持续收发报文,则该用户的MAC地址对应的老化标识一直为“不老化”;如果在两个老化周期内用户没有收发报文,则用户的MAC地址对应的MAC地址表项自动删除(即,从MAC地址表删除该MAC地址)。
老化机制对静态MAC地址(即,MAC地址表项的静态标识为静态的MAC地址)不起作用。
自动通知机制:
当ASIC转发芯片302通过源地址学习自动生成一条MAC地址表项后,可以自动向CPU301发送一条“MAC学习”消息。消息内容包括生成的MAC地址表项的内容。
当ASIC转发芯片302通过老化机制自动删除一条MAC地址表项后,可以自动向CPU301发送一条“MAC老化”消息。消息内容包括删除的MAC地址表项的内容。
表项动作机制:
表项动作就是使用报文的MAC地址查找MAC地址表,如果找到匹配的MAC地址表项,则触发指定的动作,动作可以为“转发”、“丢弃”、“拷贝到CPU”、“重定向到CPU”等。
“转发”是指报文按照芯片逻辑进行转发。
“丢弃”是指ASIC转发芯片302丢弃报文,停止转发。
“拷贝到CPU”是指ASIC转发芯片302在正常转发报文的同时,将报文拷贝一份送到CPU。
“重定向到CPU”是指ASIC转发芯片302停止转发报文,将报文送到CPU301。
存在两种触发类型,即,通过报文的源MAC地址来触发动作和通过报文的目的MAC地址来触发动作。通过使用源匹配命令字和目的匹配命令字来表示触发的动作。
源匹配命令字:使用报文的源MAC地址查找MAC地址表,如果找到匹配的MAC地址表项,则触发的动作。
目的匹配命令字:使用报文的目的MAC地址查找MAC地址表,如果找到匹配的MAC地址表项,则触发的动作。
源地址学习机制自动生成的MAC地址表项,其源匹配命令字和目的匹配命令字都是“转发”。
图4示出通用ASIC转发芯片的转发逻辑的流程图。
在步骤401,当接收到报文开始芯片转发逻辑后,使用报文的源MAC查找MAC地址表,确定是否存在匹配的MAC地址表项。
如果在步骤401确定存在匹配的MAC地址表项,则在步骤402确定到匹配的MAC地址表项中的静态标识指示静态还是动态,即,确定报文的源MAC是动态MAC地址还是静态MAC地址。如果在步骤402确定报文的源MAC为动态MAC地址,则在步骤405来更新报文的源MAC的MAC地址表项,并开始转发处理,进入步骤406。如果在步骤402确定报文的源MAC为静态MAC地址,则在步骤404确定报文的源MAC的MAC地址表项中源匹配命令字指示的动作是否为转发。如果在步骤404确定为转发,则开始转发处理,进入步骤406。如果在步骤404确定源匹配命令字指示的动作不是转发,则在步骤411执行源匹配命令字所指示的动作。
如果在步骤401确定不存在匹配的MAC地址表项,则在步骤403基于源地址学习机制对报文的源MAC地址进行学习,生成新的MAC地址表项,并开始转发处理,进入步骤406。
在步骤406,使用报文的目的MAC查找MAC地址表,确定是否存在匹配的MAC地址表项。如果在步骤406确定不存在匹配的MAC地址表项,则步骤408执行默认动作。如果在步骤406确定存在匹配的MAC地址表项,则在步骤407确定报文的目的MAC的MAC地址表项中目的匹配命令字指示的动作是否为转发。如果在步骤407确定为转发,则在步骤409进行转发。如果在步骤407确定目的匹配命令字指示的动作不是转发,则在步骤410执行目的匹配命令字所指示的动作。
上面介绍了现有的交换机架构。本发明利用该架构来实现BAS的功能。BAS的功能要求:
(1)在用户认证通过之前,禁止转发用户数据,只允许访问AAA认证服务器;
(2)用户认证通过后,才允许用户访问网络。
下面结合图3-5描述利用上述交换机架构实现宽带接入服务器的方法。图5示出根据本发明实施例的利用交换机架构实现宽带接入服务器的方法的流程图。
在步骤501,CPU 301获取客户机的MAC地址。当客户机发送报文时,ASIC转发芯片302从客户机接收的报文,根据上面描述的源地址学习机制进行动作,即,对客户机的MAC地址进行学习。当客户机准备接入宽带而发送报文时,由于客户机开始接入宽带其MAC地址还未被学习过,从而MAC地址表中不存在与客户机的MAC地址匹配的MAC地址表项,这样基于源地址学习机制学习从客户机接收的报文的源MAC地址(即,客户机的MAC地址),并生成新的MAC地址表项。同时,ASIC转发芯片302通过“MAC学习”消息将生成的新的MAC地址表项通知CPU 301。
在步骤502,CPU 301使用通过“MAC学习”消息获得的客户机的MAC地址查找存储有通过了宽带接入认证并在线的客户机的MAC地址的认证表,以确定认证表中是否存在该客户机的MAC地址。即,确定该客户机是否通过宽带接入认证并在线。
如果在步骤502确定认证表中存在客户机的MAC地址,则在步骤503,CPU 301不做任何处理,从而ASIC转发芯片302转发从客户机发送的报文。具体地说,由于根据源地址学习机制在步骤501生成的新的MAC地址表项中的源匹配命令字和目的匹配命令字指示的动作都是转发,因此ASIC转发芯片302进行转发动作。
如果在步骤502确定认证表中不存在客户机的MAC地址,在步骤504,CPU 301将MAC地址表中的与客户机的MAC地址匹配的MAC地址表项的静态标识设置为静态,同时将该MAC地址表项的源匹配命令字和目的匹配命令字指示的动作设置为“重定向到CPU”,从而客户机的报文或数据全部被发送到CPU 301。表3示出了被CPU 301设置后的MAC地址表中的与客户机的MAC地址匹配的MAC地址表项。
表3
  MAC地址表项目   含义   MAC地址   用户MAC地址   位置信息   用户报文进入芯片的端口、VLAN等二层信息   静态标识   静态   源匹配命令字   重定向到CPU   目的匹配命令字   重定向到CPU   老化标识   不老化
在步骤505,由于此时客户机的报文或数据全部发送到CPU 301,从而建立起从客户机到CPU 301的数据通道。CPU 301可利用客户机发送来的认证数据(例如,用户名、密码等)执行宽带接入认证处理。由于宽带接入认证处理的过程是公知的,将不再进行详细描述。
当认证通过后,在步骤506,CPU 301向认证表中添加此客户机的MAC地址,同时删除MAC地址表中与该客户机的MAC地址匹配的MAC地址表项。
随后,当该客户机发送报文时,由于通过认证后,MAC地址表中与该客户机匹配的MAC地址表项被删除,因此在步骤501重新进行源地址学习,生成与该客户机匹配的MAC地址表项,并向CPU 301发送“MAC学习”消息。由于该客户机已经通过认证,从而认证表中存在该客户机的MAC地址。从而进行到步骤503通过ASIC转发芯片302开始正常的转发操作。
即,通过客户机通过宽带接入认证之后,该交换机对于该客户机来说作为正常的交换机使用,这样客户机的数据的转发全部由ASIC转发芯片302执行,而无需CPU 301参与,从而实现了上面描述的对BAS的功能要求。
当CPU 301从ASIC转发芯片302接收到“MAC老化”消息(例如,客户机在两个老化周期内未使用网络)时,认为客户机已经异常下线,CPU 301从认证表中删除此客户机的MAC地址。
当CPU 301确定客户机主动下线(可通过公知的相关协议进行,具体内容为公知技术,将不再详细描述)时,CPU 301从认证表中删除该客户机的MAC地址,同时删除MAC地址表中与该客户机的MAC地址对应的MAC地址表项。
下面结合图2和图6介绍根据本发明实施例的利用基于瘦AP的无线网络中AC作为BAS的方法。
在现有技术的具有宽带接入功能的基于瘦AP的无线网络中,AC 202同样具有交换机的架构,包括CPU 301和ASIC转发芯片302。但是在使用AC 202作为BAS时,从AP 201接收到的数据(包括客户机的报文)都被重定向到CPU 301,客户机的报文由CPU 301进行转发,而非通过ASIC转发芯片302进行转发,因此效率较低。
图6示出根据本发明实施例的利用基于瘦AP的无线网络中AC作为BAS的方法。
在步骤601,当客户机无线关联到AP 201之后,AP 201获得客户机的MAC地址,AC 202的CPU 301从AP 201获得客户机的MAC地址,并将与该客户机的MAC相应的MAC地址表项添加到MAC地址表中,其中,该MAC地址表项的静态标识被设置为静态,该MAC地址表项的源匹配命令字和目的匹配命令字指示的动作设置为“重定向到CPU”。
在步骤602,由于此时客户机的报文或数据全部发送到CPU 301,从而CPU301可利用客户机发送来的认证数据(例如,用户名、密码等)执行宽带接入认证处理。由于宽带接入认证处理的过程是公知的,将不再进行详细描述。
在步骤603,当该客户机通过宽带接入认证后,CPU 301向认证表中添加此客户机的MAC地址,同时删除MAC地址表中与该客户机的MAC地址匹配的MAC地址表项。
随后,在步骤604在客户机通过访问宽带网络时,由于通过认证后,MAC地址表中与该客户机匹配的MAC地址表项被删除,因此重新进行源地址学习,以生成与该客户机匹配的MAC地址表项,并向CPU 301发送“MAC学习”消息,以确定认证表中是否存在客户机的MAC地址。
在步骤605,当在步骤604CPU 301确定认证表中存在客户机的MAC地址时,CPU 301不做任何处理,从而ASIC转发芯片302转发从客户机发送的报文。即,客户机通过认证后,认证表中存在该客户机的MAC地址。此时,CPU 301不做任何处理,并且ASIC转发芯片302转发从客户机发送的报文。
在步骤606,当在步骤604CPU 301确定认证表中不存在客户机的MAC地址时,CPU 301将MAC地址表中的与客户机的MAC地址匹配的MAC地址表项的静态标识设置为静态,同时将该MAC地址表项的源匹配命令字和目的匹配命令字指示的动作设置为“重定向到CPU”,从而客户机的报文或数据全部被发送到CPU 301。此时,可进行到步骤602再次进行认证。
此外,为了防止在某些情况下的重复认证,步骤601中也可包括下面的步骤:确定认证表中是否存在客户机的MAC地址,并且当确定存在时,CPU 301不执行任何动作;当确定不存在时,CPU 301执行上述将与该客户机的MAC相应的MAC地址表项添加到MAC地址表中的步骤,也即,类似于步骤604-606的步骤。
当CPU 301从ASIC转发芯片302接收到“MAC老化”消息(即,客户机在两个老化周期内未使用网络)时,认为客户机已经异常下线,CPU 301从认证表中删除此客户机的MAC地址。
当客户机主动下线时,CPU 301从认证表中删除该客户机的MAC地址,同时删除MAC地址表中与该客户机的MAC地址对应的MAC地址表项。
当客户机再次希望上线时,由于客户机已经无线关联到AP 201,因此无法执行步骤601,而是从步骤604开始执行。这是因为当客户机下线后,MAC地址表中已经没有了该客户机的MAC地址表项,因此客户机的报文再次被发送到AC 202时,需要对客户机的报文的源地址进行学习。而根据步骤604,只要进行源地址学习,就会向CPU 301发送“MAC学习”消息,以确定认证表中是否存在客户机的MAC地址,从而可在步骤606建立用于该希望上线的客户机进行认证的通道。
在图6示出的利用AC作为BAS的方法中,利用了在基于瘦AP的无线网络中客户机无线关联到AP之后,AP会将客户机的MAC地址发送给AC的CPU的特性(该特性是公知的,将不再详细进行描述),在客户机无线关联到AP时就通建立起从客户机到AC的CPU的用于进行认证的通道(即,客户机的MAC地址的MAC地址表项的静态标识被设置为静态,该MAC地址表项的源匹配命令字和目的匹配命令字指示的动作设置为“重定向到CPU”),而不是像图5示出的方法那样,利用从客户机发送的报文中获得客户机的MAC地址来建立用于认证的通道。
在另一实施例中,AC也可完全利用图5的方法来用作BAS,从而AC的CPU从客户机发送的报文获得客户机的MAC地址来建立用于认证的通道。
上面给出了分别利用两种具有交换机架构的装置作为BAS的实施例。但本发明不限于此,也可根据本发明的方法利用其他的具有交换机构架的装置作为BAS。
由于利用本发明的方法能够将普通的具有交换机架构的装置用作BAS,并且利用了所述装置的ASIC转发芯片进行转发,从而提高了转发效率,并且扩展了具有交换机架构的装置的功能。