多业务网络交换机的制作方法

文档序号:7676208阅读:238来源:国知局
专利名称:多业务网络交换机的制作方法
技术领域
本发明涉及网络交换机,更具体地是涉及从单独平台提供多个网络业务的多业务网络交换机。
背景技术
今天的网络服务提供商面临着极大的挑战。通信水平快速提高。客户和公司均要求更高的访问速率并在因特网上停留更长的时间,同时希望有可预测的性能和严格的服务等级保证。这直接需要因特网服务提供商(ISP)在其落脚点(POP)位置提供更大的容量和更高的速度,并且最好不损害性能。
为了保证可接受的性能,服务提供商正在增加对更多用户、传输和事务的支持,并且最好没有引入瓶颈或损害网络可用性。许多基于网络的商业交易均对时间有严格要求并且通常不能容忍过度的延迟或中断。
为了适应某些挑战,某些ISP接入集线器和高端路由器以处理高密度传输。然而常规接入集线器和高端路由器的问题是在设计中均采用中央CPU进行集中式处理。通过集中路由传送器/处理器传递所有数据增加了处理开销,导致瓶颈,限制可伸缩性并且产生单点故障。当增加新模块时中央处理器本质上不能有效处理增加的数据传输数量。当增加更多的模块时,系统性能会遇到屏障。
除了通信量增长的挑战之外,网络技术的多样性增长也是个挑战。用户可以通过拨号连接,ISDN链路,租借线路,帧中继,ATM虚拟电路来接入公共基础设施。它们可以使用音频级调制解调器,电缆调制解调器,各种xDSL调制解调器,或其它调制解调器。在基础设施内部,服务提供商的POP可以依附于核心网络和POP中使用ATM,帧中继或以太网的其它设备。
以常规方式支持各种网络技术意味着ISP通常增加不同的接入服务器,接入路由器和/或独立的LAN交换机,这通常导致ISP费用和管理复杂性的增加。
因此,需要能够提供耐故障和有效服务的网络交换机以适应网络传输数量和种类的增加。这种交换机最好允许ISP提供增值业务,从而允许它们彼此区别竞争对手,进入新市场并且提高从现有客户得到的收入。

发明内容
本发明涉及能够从单独平台提供包含调制解调器和ISDN服务,帧中继支持,LAN接口和层次2与层次3交换的多种业务的多业务网络交换机。根据本发明的一个实施例,交换机引入分布式分组传递体系结构,其中各种系统接口模块(卡)具有板上智能,路由传递和路由处理信息。所以各个模块能够独立作出传递决定,从而允许并行传递分组。根据本发明的一个方面,通过包含一个路由表,传递表和IP高速缓存的层次路由方案完成分布式分组传递。各个接口模块最好包含具有已知目的地址的IP高速缓存和传递表。如果在IP高速缓存或传递表中没有搜寻到目的地址,则在路由表中进行查找并且获得用于传递分组的路由信息。
在可选实施例中,交换机包含一个或多个下列功能交换机允许动态资源管理向入局呼叫动态分配资源。通过这种方式,资源不被限定到特定的端口,而是可以在各种接口模块中间共享。如果某个资源在系统中随处可用,则任意的卡均可以使用该资源。此外,如果一个资源出现故障,则被标记成不可用并且最好把呼叫自动连接到其它资源上。在完全分布式的体系结构中,这种处理减少了发送或应答资源请求时对单独处理单元的依赖。
交换机也可以包含故障管理功能以防护交换机内部的单独故障点。一个耐故障应用管理器(FTAM)监视系统模块,并且在一个模块出现故障时剩余模块中的FTAM软件从故障中恢复出来并且将连接重新路由到不同的资源或输出端口。FTAM最好调用自动保护切换(APS)硬件和软件以便自动从设备故障和外部链路故障中恢复出来。
通过把交换机分成多个虚拟路由器,交换机还可以成批售出拨号网络,其中拨号端口被转给其它ISP。各个虚拟路由器最好配置自身的资源(例如ISDN或调制解调器资源)和虚拟路由器专用的路由表。所以各个虚拟路由器最好充当以独立和自包含方式工作的分离路由器。根据本发明的一个特定方面,各个虚拟路由器还被分成虚拟专用网以便控制对网络的接入。通过过滤器产生虚拟专用网,其中各个过滤器与一个过滤条件和在导向虚拟路由器的数据块符合滤波条件时采取的动作相关联。
交换机基于策略的路由也支持拨号网络批发。交换机允许根据与呼叫相关的呼叫策略为具体连接选择路由路径。因而根据诸如连接的内链类型,域名电话号码之类的因素可以建立针对具体批发ISP的路由器的连接。
交换机还通过定义各个入局连接请求的接入质量等级(QoA)来提供对因特网的分等级接入。QoA等级允许交换机在存在资源竞争时对入局连接请求划分优先权。为具有较高QoA等级的连接请求指定的优先权最好高于具有较低QoA等级的连接请求。
交换机还可以支持一个IP路由协议和体系结构,其中层次2协议独立于其运行所依赖的物理接口。端口接口(PIF)模块允许将层次2协议动态绑定到物理接口。当在物理端口上建立连接时,交换机针对该端口产生一个PIF对象。PIF对象最好根据连接类型确定针对会话使用的层次2协议,并且将一个层次2接口动态绑定到介质端口的层次1接口上。通过这种方式,层次2协议不需要依赖其运行所需的物理介质端口,而是可以在运行时刻动态确定。当一个分组将被传递到物理端口时,PIF接收分组,加入要求的层次2封装报头,并且将分组传递到适当的物理接口。
交换机还可以包含对应用透明的通用传递接口(GFI)软件。GFI软件最好为传递函数提供一个统一接口以便屏蔽在不同接口类型上发送和接收分组的详细信息。最好还为驱动器定义一个传递从系统接收和发送的分组的接口。


结合下列详细描述,所附权利要求书和附图可以更加完全地理解本发明的这些和其它特性,方面和优点,其中图1是有关基于本发明一个实施例的多业务网络交换机的示意模块图;图2是更加详细的、关于图1的传递模块的示意模块图;图3是有关对进入图1的交换机的呼叫的处理的示例性流程图;图4是更加详细的、有关图2的一个IP传送器模块的功能模块图;图5是关于路由表的示意结构图;图6是关于传递表的示意结构图;图7是关于IP高速缓存的示意结构图;图8是关于ARP表的示意结构图;图9是关于图4的IP传送器模块参与的分组传递过程的流程图;图10是关于域数据库的示意结构图;图11是关于呼叫策略记录的示意结构图;图12是基于策略的路由的处理流程图;图13是关于接入质量表的示意结构图;图14图解了一个路径,如果正在共享交换机资源则连接可以使用该路径;图15是关于调制解调器资源列表的示意结构图;图16是关于资源分配过程的流程图;图17是关于图1维护各个虚拟路由器的路由表的交换机的示意模块图;图18是关于包含各种虚拟专用网会话的会话列表的示意结构图;图19是关于包含各种虚拟专用网规则的规则列表的示意结构图;图20是关于包含各种虚拟专用网过滤器的过滤器列表的示意结构图;图21是关于过滤模块参与的分组过滤过程的流程图;图22是关于针对外部链路故障引入APS机制的交换机的示意模块图;图23是关于引入后备端口的交换机的示意模块图,上述后备端口被物理连接到一个单独的卡上的另一个端口;图24是关于引入1:2保护切换的交换机的示意模块图;
图25是关于引入基于本发明一个可选实施例的1:2保护切换的交换机的示意模块图;图26是关于引入1:1保护切换的交换机的示意模块图;图27是关于IP传递层,层次2协议和层次1物理接口的示意模块图;图28是示出具有多个端口接口的层次1,2和3接口的示意模块图;图29是关于把图1的交换机分成驱动器和应用的通用传递接口的示意模块图;图30是关于通用分组格式的示意模块图;图31是关于传递端口地址的示意结构图;图32是关于物理端口地址的示意结构图;图33是关于输入端口信息的示意结构图;图34是关于输出端口信息的示意结构图;图35是关于虚拟地址端口分配的示意结构图;和图36是关于支持接收队列和传递队列的通用传递接口的示意结构图。
具体实施例方式
I.多业务网络交换机系统体系结构图1是关于基于本发明一个实施例的多业务网络交换机(也被称作″机架″或″系统″)的示意模块图。交换机上的各个插槽最好插入一个被称作传递模块(FM)10的单独接口模块(卡)。如下所述,各个FM10最好包含板上智能,路由传递和路由处理信息以便进行分布式分组传递。
一种被称作系统控制模块(SCM)14的FM承载一个路由服务器并且充当网络管理的控制点。SCM14还执行FM10的所有典型功能。
交换机包含至少两个用于承受故障的SCM,即主SCM和辅助SCM。在系统启动时选择主SCM并且通知到所有其它FM10。主SCM最好选择辅助SCM作为后备。如果主SCM出现故障,则辅助SCM自动成为主SCM,最好没有信息损失和服务中断。
各个FM10可以具有特定于应用、针对附加物理线路接口或支持硬件的相关子卡,这种子卡被称作专用模块(PM)12。在最优实施例中,存在一个或两个与各个FM相关的PM。示例性的PM12包含以太网交换机PM12a,初级速率接口PM12b,数字调制解调器服务器PM12c,和串行数据接口PM12d。并且,FM10和PM12允许某个ISP完全在一个单独的平台内提供大量服务并且支持大量应用。
以太网交换机PM12a允许建立一个到诸如因特网的公共网络的LAN连接。这个模块通常被用来将服务器机组,内联网和Web连接到因特网。根据本发明的一个实施例,以太网交换机PM12a提供十二个10Mb以太网端口和两个10/100Mb自动探测以太网/快速以太网端口。
初级速率接口(PRI)PM12b提供因特网拨号连接。可以在软件中为T1/E1链路或PRI ISDN链路提供这个模块。PRI PM12b为每个端口上的自动保护切换提供冗余连接。端口″A″13被分配成活跃主端口,而端口″B″15被分配成在线后备端口。
数字调制解调器服务器PM12c为调制解调器呼叫提供拨号接入。根据本发明的一个实施例,各个数字调制解调器服务器PM12c提供一个由32个调制解调器构成的调制解调器池。数字调制解调器服务器PM12c最好没有物理连接器。因而通过底板将入局呼叫路由到FM10,其中在FM10上连接了数字调制解调器服务器PM12c。根据诸如接入质量和虚拟路由器ID的资源可用性条件为入局呼叫分配可用的调制解调器。如果能够为一个呼叫提供服务,则不管呼叫进入哪个FM10,均会将呼叫随机分配到调制解调器池中一个可用调制解调器上。
串行数据接口PM12d允许串行同步通信。串行数据接口PM12d总共支持四个链路,例如三个帧中继和一个以太网链路,或者四个帧中继链路并且没有以太网链路。串行数据接口PM12d上的链路层最好属于帧中继类型,并且链路层通常连接到本地路由器或外部设备以便建立到ISP或服务提供商的连接。
除了专用PM12d之外,专用FM10也可以允许ISP提供大量服务。专用FM最好是固定结构模块,其中处理能力和功能被紧密固定在模块上。示例性的专用FM包含数字调制解调器服务器FM和WAN线路接口FM。WAN线路接口FM对交换机提供信道T1或初级速率ISDN接入。数字调制解调器服务器FM为调制解调器呼叫提供拨号接入。数字调制解调器服务器FM通常提供32个调制解调器,但是在增加数字调制解调器服务器PM12c的情况下可以提供多达64个调制解调器。
交换机最好包含一个互连FM10和SCM14的冗余总线体系结构。这个总线体系结构最好在交换机底板上提供两个(右和左)管理总线16,两个(右和左)时分多路复用(TDM)总线18,和两个(右和左)信元/ATM总线20。在本发明一个实施例中,所有的卡均缺省使用右管理和TDM总线。所有偶数插槽中的卡均缺省使用左信元总线,而所有奇数插槽中的卡均缺省使用右信元总线。冗余总线体系结构允许自动将传输切换到剩余总线以保证连续服务。当恢复出现故障的总线的操作时,传输最好被自动切回到重新恢复的总线上。
管理总线16提供内部系统通信以便监视各种系统部件。例如,管理总线传递用于启动排序,模块状态和其它硬件管理功能的消息。
TDM总线18为数字调制解调器服务器PM12c提供通信。根据本发明的一个实施例,TDM总线16c支持超过2,000个DS0连接并且共享这些连接上发送的传输负载。
信元总线20在FM10之间转移用户传输,并且使用多点传送电路传递内部协议和控制消息。
除了上述之外,交换机还包含两个时钟卡,即一个右或第一时钟卡18a和一个左或第二时钟卡18b,这两个时钟卡分别可以被指定成活跃主时钟卡或冗余后备时钟卡。右时钟卡18a监视右TDM和信元总线,而左时钟卡18b监视左TDM和信元总线。
两个时钟卡周期性检查其各自的TDM和信元总线,以及系统风扇架、系统风扇的状态和供电的有无及类型。时钟卡接着通过其管理总线16向所有FM10周期性广播一个机架状态消息。
最好为时钟卡提供至少一个时钟源以便交换机接收拨号呼叫。时钟最好强制发送和接收位保持同步。根据本发明的一个实施例,交换机支持多达五个基准时钟,一个作为在线主时钟,一个是冗余辅助时钟,另外有三个可选时钟。交换机可以根据一个外部信源或内部系统时钟导出基准时钟。如果来自一个信源的输入变得不可接受,则时钟卡自动切换到一个后备时钟源。类似地,如果一个时钟卡或TDM总线出现故障,则选用其它的卡或总线。
图2是更加详细的、关于图1的FM10的示意模块图;虽然针对FM10描述了图2,但由于SCM14是特定类型的FM10,所以相同的模块图也可以适用于SCM14。然而SCM14可以包含附加存储器,快闪PROM和引导PROM。根据本发明的一个实施例,FM10包含至少一个,但通常为两个RISC处理器一个右或第一处理器(RCPU)22a(也被称作应用CPU)和一个左或第二处理器(LCPU)22b(也被称作驱动器CPU)。在一个具有两个CPU的最优实施例中,LCPU22b主要负责接收和发送分组,RCPU22a主要负责故障管理,协议封装/解除封装和类似操作。RCPU22a和LCPU22b均通过外设部件互连(PCI)总线28a,28b访问共享存储器24。
PCI桥30把右PCI(RPCI)总线28a连接到左PCI(LPCI)总线28b。RPCI总线28a最好是桥30的主PCI总线,而LPCI总线28b是辅助PCI总线。
各个FM10最好也包含一个通用模块管理(GMM)26模块以便通过管理总线16与RCPU22a交换消息。根据本发明的一个实施例,GMM26被实现成一个智能微处理器。通过一组寄存器实现GMM26和RCPU22a之间的通信。在一个可编程逻辑设备中实现寄存器并且RCPU22a通过一个PCI输入/输出40模块访问寄存器。根据本发明的一个实施例,GMM26提供两个状态寄存器,GST0和GST1,其中RCPU22a通过上述状态寄存器查询并获得有关机架状态,最后提交命令的状态,消息队列中以前和当前消息的状态和类似状态的信息。
GMM26通过管理总线16接收从其它GMM广播的消息和寻址到其FM10的消息。根据本发明的一个实施例,只有某个被指定成机架管理器的卡上的GMM26接收广播消息。所有其它GMM最好忽略广播消息并且只接收寻址到卡上的消息。如下所述,驻留在机架管理器上的GMM26针对时钟卡18a,18b周期性广播的机架状态消息完成特殊的处理。
任意的卡,只要是FM10或SCM14,就可以被指定成机架管理器。然而整个系统只有一个活跃的机架管理器,即主机架管理器。如果主机架管理器出现故障,则后备辅助机架管理器代之成为活跃机架管理器。
最好在系统启动期间选择主机架管理器和辅助机架管理器。各个卡包含一个机架管理开关,并且所有具有打开的机架管理开关的卡均是机架管理器候选。这些候选不需要发送任何激活请求便可以启动。根据本发明的一个实施例,具有打开的机架管理开关的机架的最低插槽内的卡被选成主机架管理器,具有打开的机架管理开关的机架的倒数第二低的插槽内的卡被选成辅助机架管理器。如果系统中只有一个卡,则这个卡既是主机架管理器又是辅助机架管理器。一旦选择了主要和辅助机架管理器,则这些卡但开始应答从其它卡接收的激活请求。
主要和辅助机架管理器通过信元总线20呼叫消息进行通信。主机架管理器控制右活跃管理和信元总线16a,20a。辅助机架管理器控制左后备管理和信元总线16b,20b。如果辅助机架管理器检测到主机架管理器的一个故障(由于呼叫消息超时),则辅助机架管理器最好切换到右管理总线16a,复位主机架管理器并且成为新的主机架管理器。新的主机架管理器根据机架中的插槽位置选择新的辅助机架管理器。如果主机架管理器检测到辅助机架管理器的一个故障,则主机架管理器复位辅助机架管理器并且选择一个新的FM10充当辅助机架管理器。
机架管理器包含一个机架管理模块(CMM)34。CMM34通过GMM26接收和发送机架状态消息,并且负责监视和管理系统。CMM34还专门负责机架供电管理。因而,当一个新的FM10插入系统时,新插入的卡的GMM26读取FM10和PM12中的一个串行EEPROM以确定其功率要求。EEPROM存储关于卡的型号,修改,序号和功率要求的信息。新卡的GMM26接着在管理总线16上通过一个激活请求消息向机架管理器广播功率要求。机架管理器中的GMM26接收请求并且把请求传递到CMM34以确定在系统中是否有足够的功率提供到卡上。如果有,则机架管理器中的GMM26用一个激活模块消息应答。
机架管理器中的CMM34最好还负责时钟卡监视。主机架管理器中的CMM34侦听右时钟卡通过右管理总线16a周期性发送的机架状态消息,而辅助机架管理器中的CMM34侦听左时钟卡通过左管理总线16b周期性发送的机架状态消息。机架状态消息包含机架供电,风扇,和温度的状态。各个机架管理器中的GMM26监视其各自的管理总线上的机架状态消息。GMM26接着将机架状态消息中的任何变化通知到CMM34。如果功率是有限资源,则CMM34从最高编号的插槽开始关闭插槽中的卡,直到系统中仍然提供的供电可以满足功耗要求。
如果GMM26在一个具体的管理总线上没有接收两个连续的机架状态消息,则两个通知其CMM34。CMM34接着调用FTAM36以便在其管理总线上广播一个测试消息。如果传输成功,或如果传输因目的地不存在而出现故障,则假定其时钟卡(例如右时钟卡18a)出现故障并且FTAM36产生一个故障通知。所有的卡接着被转移到后备管理总线(例如左管理总线16b)上。当故障时钟卡恢复工作时,所有的卡最好被转移到初始的管理总线(例如右管理总线16a)上。
如果传输因总线不可用而出现故障,则认为所监视的管理总线(例如右管理总线16a)发生故障并且FTAM36产生一个故障通知。对应的机架管理器把所有的卡转移到后备管理总线(例如左管理总线16b)上。监视出现故障的管理总线,并且当上述总线是恢复工作时,最好把所有的卡转移到这个总线上。
CMM34结合机架管理器中运行的FTAM36对机架进行管理和监视。在机架的其它各个卡中也运行FTAM36的一个实例。鉴于CMM34负责整个机架,FTAM36最好负责识别故障并且对卡的某些局部故障作出响应。FTAM36还专门提供对卡故障和链路/端口故障的本地监视,故障检测,故障通知,故障隔离,和服务恢复(只要可能)。
应用软件部件在FTAM36上登记识别要监视的事件。当检测到故障时,FTAM36通知所有登记该类型事件的应用。FTAM36和应用接着采取纠正措施。例如,一个时钟管理器应用可以在FTAM36上登记选择活动链接上的外部时钟源。一个冗余端口列表应用可以在FTAM36上登记确定故障链路并切换到活跃后备端口。IP应用可以在FTAM36上登记更新具有故障链路/端口入口的传递表。
各个FTAM36通过呼叫消息检测卡故障。各个FM20通过信元总线20按照固定时间间隔发送呼叫消息。如果某个卡不发送呼叫消息,则系统中的其它卡将这个卡标记成出现故障。各个卡中的FTAM36则更新所有受故障事件影响的列表。在检测到卡故障时,主SCM14通过管理总线向主机架提交一个复位请求以便重新启动故障卡。
各个FTAM36最好还检测链路/端口故障。链路和端口驱动器一直监视各个链路和端口的状态。如果检测到状态改变,则一个链路故障广播消息被发送到FTAM36。系统的自动保护切换(APS)硬件和软件机制允许自动从设备故障和外部链路故障中恢复出来。例如,初级速率接口(PRI)PM12b(图1)上的各个端口具有两个连接器,一个端口″A″13连接器和一个端口″B″15连接器。如果在端口″A″13上检测到一个内部故障,则系统的APS机制自动把WAN传输重定向到端口″B″15连接器上。
再次参照图2,各个FM10还包含一个连接管理器46和一个资源管理器38。连接管理器46检测FM10的入局呼叫,而资源管理器38管理和分配包含数字调制解调器和ISDN切换资源的本地资源。到交换机的各个连接需要特定的硬件和软件资源设置。例如,帧中继呼叫需要一个线路接口,一个HDLC控制器,一个帧中继协议堆栈,和帧传递软件。通常,在输入FM10及其相关PM12上搜寻一个连接所需的所有资源。但有时一个卡上进入系统的传输需要另一个卡上的资源。因而,当连接管理器46检测到一个入局呼叫时,通过信元总线20广播一个资源请求。各个卡中的资源管理器38接收请求并且确定需要什么资源。如果卡具有请求的资源,则将这个卡分配给入局呼叫。
各个FM10也包含一个根据层次3地址传递分组的IP传送器44。IP传送器模块最好包含本地路由信息以便通过右或第一IP传递引擎42a和左或第二IP传递引擎42b传递分组。当FM10接收到一个分组时,IP传送器44在已经了解目的地址的情况下继续传递分组。否则,IP传送器44查找中央路由表并且获得必要的路由信息。
图3是处理进入图1的交换机的连接请求的示例性流程图。程序开始执行,并且在步骤50连接管理器46在FM10(接收FM)的一个物理端口中检测到一个入局呼叫。在步骤52,连接管理器46将入局呼叫通知到接收FM10中的资源管理器38。资源管理器38在步骤54搜寻呼叫策略数据库以便找到某个对应于入局呼叫的呼叫策略记录。呼叫策略记录包含规定如何路由呼叫的各种参数。可以根据呼叫内链,电话号码,域名,源地址,目的地址和类似内容使用不同的策略。
呼叫策略参数中包含与呼叫相关的接入质量(QoA)等级,服务质量(QoS)等级,虚拟路由器ID,和虚拟专用网ID。QoA是一个对用户进行分类并且根据其QoA等级与当前资源利用率的比较结果授权接入交换机的方法。这允许在存在资源竞争时划分因特网的接入等级。最好为各个QoA等级分配一个阈值资源使用百分比。如果资源利用率低于为入局呼叫的QoA等级分配的阈值资源使用百分比,则接受呼叫。否则拒绝呼叫。
QoS是对用户进行分类以便在呼叫被接受的情况下确定传送分组的优先权的方法。QoS通过根据其QoS等级处理连接的方式提供优先处理。呼叫的QoS等级越高,则为呼叫的分组分配的处理优先权也越高。
入局呼叫的虚拟路由器ID和虚拟专用网ID允许交换机提供对授权给用户的资源的访问。根据本发明的一个实施例,交换机可以被分成多个虚拟路由器,其中各个虚拟路由器具有其自身的资源设置(例如ISDN或调制解调器资源)和路由表。因而各个虚拟路由器最好充当以独立和自包含方式工作的分离路由器。各个虚拟路由器还可以被分成多个虚拟专用网(VPN)以便进一步控制对交换机的接入。使用过滤软件产生VPN,过滤软件根据诸如源地址和/或目的地址的条件过滤指向虚拟路由器的传输。
一旦根据呼叫策略记录确定了呼叫的QoA等级,QoS等级,虚拟路由器ID和VPN ID,资源管理器38在步骤58向其它FM10广播一个资源请求消息。如果有FM10具有符合呼叫的QoA等级和虚拟路由器ID的可用资源,则具有可用资源的FM10向接收FM10发送一个应答以便把呼叫连接到可用资源。
如果接受入局呼叫,则程序在步骤59产生一个端口接口(PIF)对象,这个对象确定用于会话的层次2协议。交换机提供的一个通用传递接口接着把层次2接口动态绑定到物理端口的层次1接口上。通过这种方式,层次2协议不需要依赖其运行所需的物理介质端口,而是可以在运行时刻动态确定。
在步骤60,程序调用ISP的认证服务器对用户进行认证。典型的认证服务器是RADIUS服务器。认证服务器最好包含一个用户数据库和详细定义提供给各个用户的服务类型的用户配置信息。如下所述,服务配置信息可以包含压缩类型,QoA等级,QoS等级,和/或分配给用户的VPNID。根据本发明的一个实施例,认证服务器中的配置信息可以覆盖通过呼叫策略数据库提供的缺省配置信息。
在认证用户之后,数据分组可以被传递到步骤62的目的地址。在这点上,交换机提供了被称作通用传递接口(GFI)的统一接口,这个接口负责相同FM10上的端口之间或通过总线到交换机中另一个FM10的所有内部分组传递。具体地,GFI软件使物理链路驱动器对应用和链路协议透明,因而任何物理接口可以和任何协议或应用关联。因而所有的GFI传递功能均是协议透明的。
当分组到达系统中时,GFI软件使用GFI应用程序把分组转换成通用格式。当分组将被发送到物理端口时,GFI软件调用适当驱动器的传递函数以发送分组。驱动器的传递函数接着负责识别物理端口并且把分组传递到PIF模块以便将通用分组转换成驱动器的特定格式并且从所需的端口发送出去。
然而在传递数据分组之前,最好进行检查以确定是否有适用于数据分组的过滤器。过滤器确定分组将被传递或丢弃。根据分组的VPN ID定位适用于数据分组的过滤器。
II.分布式处理和分组传递图1的多业务网络交换机的一个特性是使用分布式处理和分组传递体系结构进行IP(层次3)路由。各个FM10中的IP传送器模块提供必要的分组传递和路由处理智能。与集中处理器会产生瓶颈的常规接入服务器不同的是,分布式传递体系结构有助于减少或消除单点阻塞并且允许标定产品的针对接口数量和分组传递性能。
图4是更加详细的、有关图2的IP传送器模块44的功能模块图。IP数据分组到达PM12的一个介质端口并且被其介质端口驱动器118处理。在另一个FM10通过信元总线20已经传递分组的情况下,也可以由一个底板驱动器120接收IP数据分组。
当在介质端口上建立连接时,交换机针对该端口产生一个端口接口(PIF)122对象。PIF122对象根据连接类型确定用于当前会话的层次2协议,并且GFI软件124将层次2接口动态绑定到介质端口的层次1接口上。通过这种方式,层次2协议不需要依赖其运行所需的物理介质端口,而是可以在运行时刻动态确定。
PIF122还包含存储各个端口的特定介质和分组格式信息的PIF结构。PIF结构被组织成以控制器号码和端口号码为索引的二维数组。
逻辑端口识别器(LPI)128与PIF122通信并且包含涉及各个物理端口的IP参数。每当希望发送分组时,IP层调用一个LPI发送函数。LPI发送函数识别适当的物理端口并且将分组传递到PIF122以便增加特定于介质的层次2封装报头并且从适当端口发送出去。
当介质端口驱动器120接收到分组时,最好由驱动器把分组转换成通用格式并且发送到GFI124软件。GFI124最好处理一个协议透明层次中的所有内部分组传递,其中隐藏了在不同接口类型上发送和接收分组的细节。GFI124还根据分组的QoS将分组排入系统共享存储器24(图2)的四个GFI缓冲区中的一个缓冲区。
分组处理模块126在GF2缓冲区中查询分组,并且分析分组以定位出分组的PIF结构。一旦定位,则分组处理模块126最好检查分组是否数据分组,检查是否建立会话,并且将分组传递到IP传送器44。如果需要路由分组,则IP传送器尝试根据其IP高速缓存102或传递表90获得目的地信息。如果不成功,则IP传送器44试图根据SCM14中存储的路由表70获得信息。另外,IP传送器44可以通过地址解析协议(ARP)功能模块114或管理ARP(MARP)功能模块116发出的MARP请求从一个ARP列表获得目的地址的附加参数。
图5是关于基于本发明一个实施例的路由表70的示意结构图。路由表70列出了从FM10可达的所有IP目的地址和到达各个目的地址的所有已知路由。可以根据包含RIP,OSPF,BGP4和类似协议的标准路由协议产生路由表。
根据本发明的一个实施例,路由表70包含一个标识分组可以到达的已配置目的IP地址的目的字段72。路由表还包含一个子网字段74,该字段通过隐藏或示出部件地址来指示出目的IP地址中的重要位。数值″0″允许示出IP地址的对应位,而数值″255″则隐藏IP地址的对应位。通过这种方式可以指定子网中的大量地址。
路由表70还包含一个次转发段路由器字段76,该字段指示一个次转发段路由器的IP地址。一个所有者字段78指示如何学习路由。具体地,″OSPFE″指示路由是一个从不同的路由域(例如RIP)学习到的外部路由。″OSPF1″指示路由是一个区域内路由。″OSPF2″指示路由是一个区域间路由。″LOCAL″指示路由属于直接连接。″STATIC″指示路由是人工配置路由。″DIAL-POOL″指示从拨号池分配路由。
费用字段80指示与各个路由相关的费用。费用的依据是使用指示的路由对目的IP地址的距离度量。通常使用任何适当或常规的距离向量算法计算费用。
图6是关于基于本发明的传递表90的示意结构图。传递表90是路由表70的一个子集。然而与路由表70不同的是,传递表90最好列出IP目的地址和到达所有这些目的地址的最优已知路由。
就象路由表70那样,传递表90包含分别指示IP目的地址和子网掩码的目的字段92和子网字段94。如果路由是远程路由,则次转发段路由器字段96指示一个次转发段路由器IP地址。
类型字段98指示端口连接的类型。例如,如果连接类型被指示成″SPORT″,则目的IP地址位于一个单独的端口上。如果连接类型被指示成″VLAN″,则目的地属于一个虚拟LAN。如果类型被指示成″DIAL″,则目的端口位于拨号IP地址池。
传递表也包含一个描述路由类型的标志字段100。这个字段的有效数值是″S″,该数值指示一个系统接口,其中目的地位于一个交换机接口的远端;″D″,该数值指示一个直接接口,其中目的地被连接到交换机(相同或不同的卡上);″R″,该数值指示目的地位于网络远端的另一个设备上;″P″,该数值指示目的地位于上级网络;″F″,该数值指示目的地是缺省路由;″M″,该数值指示目的地是一个管理接口。
图7是关于基于本发明一个实施例的IP高速缓存102的示意结构图。IP高速缓存102还位于各个FM10内并且列出了最近使用的IP源/目的地址对以及物理端口地址和报头信息。因而如果IP高速缓存内有一个目的地址,则不用查找任何路由或传递表便可以传递分组,从而允许提高传递性能。
根据本发明的一个实施例,IP高速缓存102包含分别指示近来的IP目的地和源地址的目的字段104和源字段106。一个外部端口字段108指示向目的地址发送数据的物理端口。报头字段110指示用于向目的地址传递分组的16位MAC报头信息。
图8是关于基于本发明一个实施例的ARP列表112的示意结构图。ARP列表允许将IP地址解析成本地目的地的MAC地址和物理端口地址。当一个设备被连接到FM10时,IP软件动态完成MAC-IP地址转换并且在FM10的ARP列表112中存储这个信息。
ARP列表112包含一个IP地址字段200,该字段指示一个将被转换成MAC地址和物理端口地址的IP地址。MAC地址字段202指示对应于IP地址的MAC地址。物理端口字段204指示对应于IP和MAC地址的物理端口地址。根据本发明的一个实施例,端口地址约定如下所述设备类型.机架.插槽.专用模块位置.链路.端口设备类型是对提供连接的PM12的类型的双字符描述。交换机最好至少支持下列PMISDN的初级速率接口PM12b(is);T1的初级速率接口PM12b(t1);数字调制解调器服务器PM12c(mo);以太网交换机PM12a(en);和帧中继的串行数据接口PM12d(fr)。
机架编号是为交换机分配的号码。插槽编号指示插入FM的插槽。从插槽编号1开始自底向上对插槽顺序编号。专用模块位置指示一个右PM(编号1)或左PM(编号2)。链路指定模块上配置的逻辑链路数量。端口编号指示PM上的一个端口。因而根据这个连接,物理端口地址En1.3.1.1.1指示针对机架1,插槽3,右PM,链路1,物理端口1上的一个以太网模块的连接。
ARP列表112还包含一个类型字段206,如果在网络中根据统计结果配置地址,该字段指示地址属于静态(″S″)类型,如果地址位于直接连接的网络上,该字段指示地址属于本地(″L″)类型,如果地址是通过学习得到的,该字段指示地址属于动态(″D″)类型,如果地址位于远程网络上,该字段指示地址属于远程(″R″)类型,如果在一个点到点链路上学习到地址,该字段指示地址属于点到点(″P″)类型,如果地址属于一个路由器,该字段指示地址属于路由器(″T″)类型,如果通过一个广播分组学习到地址,该字段指示地址属于广播(″B″)类型。
图9是关于IP传送器44参与的分组传递过程的流程图。当一个需要路由的IP分组被传送到IP传送器44时,程序在步骤210查询IP高速缓存102是否包含目的地址。如果IP高速缓存102中有一个目的地址条目,则把MAC报头从报头字段110复制到分组,并且在步骤212把分组传递到外部端口字段108指示的物理端口。如果物理端口位于不同的卡上,则使用底板驱动器传递分组。
如果IP高速缓存102中没有目的地址条目,则程序在步骤214查询IP传递表90中是否有目的地址。如果结果是YES,则程序检索到目的路由并且确定路由是通过相同卡上的一个端口还是通过另一个卡上的一个端口。如果路由通过相同卡上的一个端口,则可以在本地处理路由。因此在步骤216中,程序在直接路由的情况下从ARP列表112中搜寻目的地址,在远程路由的情况下从ARP列表112搜寻根据传递表90的次转发段路由器字段96获得的次转发段路由器。如果通过步骤218的查询在ARP列表112中搜寻到目的地址或次转发段路由器,则分组被发送到所示的物理端口地址并且条目被加到IP高速缓存102中。
如果ARP列表中没有针对目的地址或次转发段路由器的条目,则目的地未经过相同卡上的一个端口。因而程序在步骤220调用管理ARP(MARP)协议以确定目的地是否通过不同的卡上的端口。因而程序在IP分组前面发出一个MARP请求分组并且在管理总线16上广播出去以便确定是否另一个FM10具有到达目的地的路径。具有目的IP路由的FM10摘下MARP分组并且通过适当的接口发出IP分组。接着如步骤222所示向发出MARP请求分组的FM10回送一个MARP应答分组以便通过用端口信息更新其ARP列表112。现在所有的后续分组可以被直接传递到端口并且不用广播到总线上。
回到步骤214,如果目的地址不在传递表90中,则向SCM14发送一个路由请求。在步骤224,程序查询目的地址是否在路由表70中。如果结果是YES,则在步骤226检索出到目的地址的路由并且存储在传递表中。如果相同目的地有多个路由,则SCM14最好返回具有最低成本的路由。如果相同目的地有多个路由并且所有路由具有相同的费用,则SCM14返回在路由表70中首先出现的路由。接着程序执行ARP列表查找或调用MARP请求以便将分组传递到目的地址。
如果目的地址不在路由表中,则SCM14在步骤228中返回一个指示目的地不可到达的消息并且在步骤230丢弃分组。
III.基于策略的路由图1的多业务网络交换机的另一个特性是能够根据连接请求的某些特征选择路由器。这种特征包含但不仅限于入站接入信道或链路,主叫或被叫电话号码,域名,源地址,目的地址,和类似内容。这个特性尤其利于向其它ISP批发拨号连接。例如,某个具体类型的内链(例如ISDN线路)接收的所有用户传输可以被导向指定给上述内链的批发ISP所操作的路由器。因而基于策略的路由允许在交换机内部选择路由路径并且不用参照一个分离的路由表。
对于基于域的路由,用户登录信息(例如″user@_isp1.com″)可以被用来选择一个ISP并且由ISP的认证服务器对用户进行认证。一旦通过认证,用户发出的所有分组均被传递到为ISP操作的域指定的路由器。
根据本发明的一个实施例,交换机维护一个域数据库,其中包含确定用户将要连接的域的参数。图10是关于基于本发明一个实施例的域数据库380的示意结构图。通过用户能够指定连接的域名382表示和标识各个域数据库380。域数据库380还包含一个标识为该域指定的路由器的次转发段路由器地址384。连接到域的用户发出的分组接着被传递到指定的路由器。
对于基于源地址的路由,根据分组的源地址将分组传递到一个特定的路由器。因而具有指定源地址的用户最好只接入指定路由器后面的域。根据本发明的一个实施例,在ISP的认证服务器中针对各个用户设置基于源地址的路由的路由器信息。
对于基于呼叫策略的路由,根据电话号码,链路或拨号连接的信道将分组传递到一个特定的路由器。根据本发明的一个实施例,交换机维护一个呼叫策略数据库,其中包含被称作呼叫策略参数、用于确定如何处理拨号连接的呼叫简表信息。具体地,呼叫策略参数允许选择所有用户传输应当导向的特定路由器。可以通过若干种方式配置呼叫策略数据库,但是最好将其配置成多个呼叫策略记录,其中每个记录为一组需要系统接入的用户定义一个唯一的简表。
图11是关于基于本发明的一个实施例的呼叫策略记录290的示意结构图。呼叫策略记录290包含一个用于键入到记录中的搜寻关键字291。搜寻关键字291可以是与一个入局呼叫相关的各种特性中的一个或其组合。搜寻关键字291最好是电话号码,内链或内链中呼叫所在的信道(例如DS0),或者二者的组合。例如,如果搜寻关键字指示″被叫″,则对被叫电话号码使用呼叫策略。如果搜寻关键字指示″主叫″,则对主叫电话号码使用呼叫策略。如果搜寻关键字指示″内链″,则对内链上接收的任何呼叫使用呼叫策略。在源链路字段292和/或源信道字段293中指定特定的内链和/或信道。在电话号码字段316中指定被叫或主叫电话号码。
各个呼叫策略记录290包含标识接收呼叫类型的呼叫类型294,和标识呼叫请求的服务类型的服务类型296。根据本发明的一个实施例,呼叫类型294包含ISDN和调制解调器呼叫,服务类型296包含点到点协议(PPP)或终端服务。
一旦接受呼叫,各个呼叫策略记录290还包含一个标识为呼叫提供的优先权类型的QoA等级298和一个标识为传送的分组提供的优先权类型的QoS等级300。
呼叫策略记录290也包含一个虚拟路由器ID302和一个虚拟专用网ID304。虚拟路由器ID302标识一个虚拟路由器,其中呼叫将被导向这个虚拟路由器。如下所述,各个虚拟路由器被分配一组允许虚拟路由器充当交换机内部的独立路由器的资源和路由协议。虚拟专用网ID304标识一个控制对虚拟路由器的接入的虚拟专用网。
除此之外,呼叫策略记录290还将一个认证源306指定成ISP认证服务器或由交换机提供的本地数据库。如果认证源是ISP的认证服务器,则呼叫策略记录指定一个主认证服务器312和一个辅助认证服务器314,其中辅助认证服务器在主认证服务器出现故障时被激活。
呼叫策略记录290还包含一个处理呼叫的域名服务器(DNS)的IP地址。交换机最好支持一个主支持地址308和一个辅助DNS地址310,其中辅助DNS地址310在主DNS出现故障时被激活。
为了给拨号连接选择适当的路由器,呼叫策略记录290包含一个域ID311,其中具有一个针对域数据库记录的索引。域数据库记录包含将处理用户发出的传输的路由器的地址。
图12是有关基于本发明一个实施例的基于策略的路由的处理流程图。程序开始运行,在步骤318连接管理器46检测一个入局呼叫并且通知资源管理器38有一个呼叫。在步骤320,资源管理器38查询呼叫策略数据库并且使用一个或多个搜寻关键字291检索适当的呼叫策略记录290。在步骤322,识别呼叫策略记录290中列出的呼叫参数并且在步骤324中使用上述参数。在适当的情况下也可以应用诸如基于域的路由的其它策略。在步骤326,程序根据策略参数将呼叫路由到适当的路由器。
IV.接入服务器中的接入质量图1的多业务网络交换机的另一个特性是能够通过为入局连接请求分配QoA服务等级实现对系统资源的分等级访问,其中包含拨号调制解调器和ISDN资源。通过这种方式,使用交换机的ISP可以提供不同的接入服务等级,其中每个服务等级有不同的价格。QoA服务等级越高,接入优先权也越高,因此在交换机中资源可用性较低时得到连接的概率就越高。
根据本发明的一个实施例,在呼叫策略记录290中定义入局连接的QoA等级。呼叫策略记录根据入局呼叫诸如内链类型,电话号码等等的具体特性指定QoA接入等级。当请求连接时,检索呼叫的呼叫策略记录并且识别呼叫的QoA等级。接着根据识别的QoA等级和当前资源使用率为呼叫分配请求的资源。
如果ISP的认证服务器被用于认证用户,用户的QoA等级还被定义成用户配置信息的一部分。认证服务器中的QoA等级可以被用来覆盖呼叫策略记录中的QoA等级。
图13是关于基于本发明一个实施例的QoA列表332的示意结构图。QoA列表332包含缺省数量的QoA等级328和与各个QoA等级相关的接入阈值330。根据本发明的一个实施例,QoA等级328的缺省数量为4。与各个QoA等级328相关的接入阈值330最好指示在资源被分配给连接请求之前可能已经投入使用的资源的最大数量。如果资源利用率超过对应于用户QoA等级328的接入阈值330,则拒绝请求。在图13的例子中,具有最低QoA等级(等级1)的用户总是能够访问可用系统资源。具有QoA等级2的用户在资源使用率达到75%之前可以访问可用系统资源。此时不允许具有相同QoA等级的新用户访问系统资源,直到有更多的资源可用。对于具有QoA等级4的用户,一旦接入阈值到达25%便限制访问系统资源。
根据本发明的一个实施例,系统通过断开低QoA等级用户为其它连接保留系统资源。在这点上,资源管理器38周期性检查系统资源的利用率(例如每60秒检查一次)。资源管理器38将在使用的系统资源与涉及各个登录用户QoA等级的接入阈值330相比较。如果在使用的系统资源超过用户的接入阈值330,则断开用户。如果具有不同QoA等级的多个用户被连接到因特网,则资源管理器38最好按照降序断开用户。例如,首先断开等级4QoA用户,接着是等级3QoA用户,等等,直到收回足够的资源以供将来连接请求的使用。
例如,假定三个用户被连接到因特网。用户1具有QoA等级1,用户2具有QoA等级2,用户3具有QoA等级3。如果系统资源使用率为50%或更低,则所有三个用户继续连接到交换机。如果系统资源使用率达到70%,则只有用户1和用户2仍然连接。用户3被断开并且资源管理器38收回用户3占用的资源。如果系统资源使用率达到80%或更高,则只有用户1仍然连接。
当多个具有相同QoA等级的用户被连接到因特网时,资源管理器38最好以先入先出方式断开相同等级内的用户。因而登录时间最长的用户首先被断开。
V.拨号应用的调制解调器池管理图1的多业务网络交换机的另一个特性是能够为入局连接请求动态分配系统资源。资源不固定在特定端口上,但可以根据需要在各种卡中间共享。
图14图解了在共享资源的情况下可以被用作连接的路径。在图14的例子中,连接是以DS0的形式到达T1 WAN线路接口FM 380的一个端口的调制解调器呼叫。FM没有自身的调制解调器,所以资源管理器38定位一个可用调制解调器并且通过TDM总线18将DS0路由到数字调制解调器服务器FM382。在解调之后,根据情况处理得到的分组并且通过信元总线20传递到一个输出FM384。
根据本发明的一个实施例,各个FM10中的资源管理器38负责分配和管理系统资源。资源管理器最好保存一个本地资源列表并且将这个信息广播到系统中的所有其它FM10。各个FM10则完整了解到交换机中总体可用资源或在使用资源。资源管理器38最好还负责监视本地资源的状况。例如,可疑的调制解调器可以被标记成不可用并且停止使用。
图15是关于基于本发明一个实施例的资源管理器38维护的调制解调器资源列表334的示意结构图。最好还针对ISDN和其它系统资源维护类似的列表。
资源管理器38按照QoA等级和虚拟路由器(VR)跟踪调制解调器资源列表334中的可用调制解调器资源。因而列表334包含一个VR ID字段336,该字段标识其调制解调器资源正被跟踪的调制解调器资源。最大本地资源字段338指示为FM10上VR分配的调制解调器最大数量。
这个字段如果为零则指示FM10不是一个调制解调器模块。最大全局资源字段340指示整个交换机中已经分配给VR的调制解调器最大数量。
当前本地资源字段342指示FM10上的VR当前可用的调制解调器数量。这个数值和最大本地资源字段338的数值之间的差值指示FM10上的VR在使用的调制解调器数量。当前全局资源字段344指示整个交换机上VR在使用的调制解调器数量。这个数值和最大全局资源字段340的数值之间的差值指示整个交换机上VR在使用的调制解调器数量。
QoA字段346指示交换机支持的QoA等级。根据本发明的一个实施例,交换机支持四个QoA等级,其中等级1具有最高优先权。
本地QoA字段348针对为指示的VR列出的QoA类别指示FM10中可用的调制解调器数量。在图15的例子中,当有零个或更多可用调制解调器时等级1QoA接入交换机(100%时间),当有8个或更多可用调制解调器时等级2QoA接入交换机(75%时间),当有16个或更多可用调制解调器时等级3QoA接入交换机(50%时间),当有24个或更多可用调制解调器时等级4QoA接入交换机(25%时间)。
全局QoA字段350提供与本地QoA字段348类似的信息,但是针对整个交换机而言。因而全局QoA字段350针对为指示的VR列出的QoA类别指示整个交换机中可用的调制解调器数量。
接受本地字段352根据当前本地资源字段342指示的可用本地资源数量指示列出的各个QoA等级是否可以接入FM10。有效数值最好是yes和no。动态计算yes和no数值,因而在占用资源时,除了总是允许接入的等级1QoA之外,yes数值可以改变成no数值。
接受全局字段354提供与接受本地字段352类似的信息,但是针对整个交换机而言。因而接受全局字段354根据当前全局资源字段344指示的可用全局资源数量指示列出的各个QoA等级是否可以接入交换机。
图16是关于基于本发明一个实施例的资源分配过程的流程图。当用户在步骤356发出连接请求时,连接管理器46在步骤358通过一个接口线路检测入局连接请求,并且在步骤360通知接收请求的FM10(接收FM)中驻留的资源管理器。在步骤362,资源管理器38根据连接请求的特征从呼叫策略数据库中检索适当的呼叫策略记录290。检索的呼叫策略记录包含呼叫类型,与呼叫相关的QoA等级和VR ID。
资源管理器38根据呼叫类型确定分配给呼叫的资源类型。例如,如果呼叫是ISDN呼叫,则分配ISDN资源。另一方面,如果呼叫是调制解调器呼叫,则分配调制解调器资源。
在步骤364,程序查询识别的资源是否驻留在接收FM10本地。如果结果是YES,则资源管理器38在步骤366根据识别的VR ID和QoA等级向呼叫分配所识别的资源。资源管理器38在步骤368更新其本地资源列表334以指示识别资源的分配。并且,接收FM10中的资源管理器38发送指示所识别资源已经分配的广播消息,从而允许其它各个资源管理器也更新其各自的资源列表。在步骤370最好通过ISP的认证服务器认证用户,并且现在可以开始发送和接收数据分组。
回到步骤364,如果本地没有所识别的资源,则资源管理器38在步骤372广播一个资源请求,该请求包含与入局呼叫相关的QoA等级和VR ID。其它FM10中的资源管理器38接收请求并且检查其本地资源列表334以确定是否存在可用于指定QoA等级和VR ID的资源。如果存在,接收FM10在步骤374从各个FM10接收一个指示所请求资源的可用性的消息。根据本发明的一个实施例,为首先应答连接请求的FM10分配呼叫并且忽略其它应答。
当如步骤366所示为呼叫分配资源时,接收FM10的连接管理器46广播一个连接请求以便连接到首先应答的FM10中的资源。应答FM10中的连接管理器46则用一个表示呼叫已经连接的消息应答。根据本发明的一个实施例,应答FM10按照从端口1上的调制解调器开始的顺序从其本地调制解调器池分配一个调制解调器。应答FM10连接的下一个呼叫选中端口2,接着是端口3,等等。如果一个呼叫在端口3得到呼叫之前在端口1或端口2上挂断,则端口1和2保持空闲,第三个呼叫仍然被分配给端口3。如果一个调制解调器端口正在使用并且这个端口按正常顺序是下一个应答呼叫的端口,则端口分配变成随机方式并且任何后续端口均可能应答呼叫。
如果没有匹配指定QoA和VR ID的可用资源,则接收FM10中的连接管理器46终止呼叫。
如果一个呼叫已经连接并且分配了资源,并且如果呼叫将被终止,则发送呼叫的接口线路接收一个断开呼叫的请求并且将请求通知到连接管理器46。如果已经从接收FM10向呼叫分配了本地资源,则在本地终止呼叫并且将分配给呼叫的资源返回到空闲池。所有的资源管理器38接着更新其资源列表以反映资源变成可用这一情况。
如果已经从一个不同的卡分配了资源,则接收FM10中的连接管理器46广播一个断开资源的请求。FM10中分配了资源的连接管理器46接着断开呼叫。FM10中分配了资源的连接管理器46接着广播一个通知呼叫已经断开的消息。资源则被返回到空闲池并且各个FM10上的资源管理器更新其资源列表以反映资源变成可用这一情况。
VI.多个虚拟路由器图1的多业务网络交换机的另一个特性是能够把交换机划分成多个虚拟路由器(VR),其中各个VR均分配了一组资源(例如ISDN或调制解调器资源)和路由表。因而各个VR充当以独立和自包含方式工作的分离路由器。
系统的资源管理方案允许有效提供VR。如上所述,系统资源未被固定到具体的插槽或接口上,从而允许在各种VR中间灵活地分配系统资源。
根据本发明的一个实施例,在系统引导时产生一个缺省系统路由器。这个路由器最好总是在系统中出现,并且所有资源最初均属于系统路由器,直到被重新分配给VR。
系统管理员可以建立新VR并且为其分配资源。系统管理员也可以对VR进行路由配置。
最好通过为其分配一个唯一名称和一个唯一VR ID来建立新的VR。接着通过设置其物理接口,IP接口并许可其路由协议来配置新的VR。一旦完成配置,VR就能够工作并且可以充当一个独立的路由器。
具体地,一部分系统可用资源被分配给新产生的VR。这种资源可以包含拨号调制解调器,ISDN,T1,PRI,以太网和/或帧中继资源。以逐个PM的方式分配以太网资源。因而各个VR或者具有整个以太网交换机PM12a,或者根本所有。在DS0层次上分配PRI和T1资源。在PVC(固定虚拟电路)层次上分配帧中继资源。
各个VR还被分配了拨号池中的若干调制解调器和ISDN资源。根据本发明的一个实施例,各个VR被分配了池中某固定百分比或固定数量的资源。资源管理器38针对各个QoA等级监视各个VR的资源使用率。当接收一个呼叫时,资源管理器38识别入局呼叫的VR ID并且在不超出针对VR和用户QoA设置的限制的情况下动态分配调制解调器或ISDN资源。
另外,各个VR针对包含RIP,OSPF,GBP4等等的路由协议均具有一个IP协议堆栈实例及其自身的路由表70。因而如图17所示,SCM根据VR ID为各个VR维护一个路由表70。另外,各个VR自身具有同样根据VR ID维护的传递表90和IP高速缓存102以便传递IP分组。
各个VR还可以被分成多个虚拟专用网(VPN)以便控制对VR的某些部分的接入。通过过滤软件控制接入,过滤软件根据诸如源和/或目的地址的条件过滤器指向VR的传输。
根据本发明的一个实施例,VPN由VPN会话,VPN规则和VPN滤波器构成。VPN会话是一组条件,其中交换机将上述条件与网络中的传输进行比较。VPN规则确定分组如何与要处理的VPN会话匹配。VPN滤波器将VPN会话绑定到VPN规则上。
图18是关于基于本发明一个实施例的会话列表240的示意结构图,上述会话列表包含各种VPN会话。图18的各个VPN会话包含一个会话ID242以便对具体会话进行分类。由于按照数字顺序查询会话,所以会话ID242最好还指示将会话列表240中的会话与分组进行比较的顺序。例如,首先比较会话1,接着比较会话2,等等。如果一个分组与一个会话不匹配,则越过列表继续处理下一个会话。
各个会话最好还包含一个VPN ID244以便对拨号连接进行分级和分类。例如,一组用户可以构成某个公司具有特定VPN ID244并且可以访问公司网络以及因特网的雇员群体,第二组用户可以构成具有不同VPNID244并且可以访问因特网但不能访问公司网络的客户群体。在本发明的一个实施例中,在ISP的认证服务器中配置各个用户的VPN ID。
各个会话还包含一个IP源地址246与目的地址250对以便与网络中发送和接收的分组匹配。源比较掩码248和目的地比较掩码250允许定义一个子网,一组主机或所有地址。通过这种方式,交换机识别出属于过滤过程的候选对象的分组。
例如,会话ID242″1″,VPN ID244″111″,源地址246″任意值″,源比较掩码248″任意值″,目的地址″10.1.0.0″和目的地比较掩码252″255.255.0.0″指示具有VPN ID″111″的用户(例如公司雇员)的VPN会话″1″,并且允许其来自任何源地址上的任何地方,并且允许其接入10.1.0.0网络(例如公司LAN)上的任何子网。另一方面,会话ID242″2″,VPN ID244″任意值″,源比较掩码248″255.255.0.0″,目的地址″208.277.214.0″和目的地比较掩码252″255.255.255.0″指示一个VPN会话″2″以供10.1.0.0网络(例如公司LAN)的任何子网上的任何用户(VPN ID″任意值″)接入网络207.221.211.0(例如接入因特网的拨号池)。在这个例子中,根据会话ID按照数字升序比较分组和各个会话。因而如果分组不与会话ID242″1″匹配,则接着与会话ID″2″比较。
一旦确定一个要过滤的分组,VPN规则指定一组关于如何处理分组的条件。规则可以指定传递或丢弃分组。
图19是关于基于本发明一个实施例的规则列表254的示意结构图,上述规则列表包含各种VPN规则。各个VPN规则包含一个规则ID 256以便识别规则中的条件。各个VPN规则还包含一个规则优先权258,上述规则优先权指示针对与某个具体VPN会话匹配的分组应用规则的顺序。动作字段260指示规则将在分组上执行的动作。有效动作最好包含传递或丢弃分组。
各个会话还包含一个IP协议字段262和一个应用层协议字段264。IP协议字段指示要过滤的IP协议的名称。应用层协议字段264指示用于向VPN交付分组的应用层协议。
会话计数字段266指示使用规则的VPN会话数量。分组计数字段268指示被交换机传递或丢弃的分组数量。
VPN过滤器最好是把VPN会话绑定到VPN规则上的实体。因而当根据会话列表240中的条件识别要过滤的分组时,软件从规则列表254中查询与会话相关的规则,而规则确定分组是否继续通过网络。
图20是关于基于本发明一个实施例的过滤器列表270的示意结构图,上述过滤器列表包含各种VPN过滤器。各个过滤器包含一个会话272和一个被绑定到会话272上的规则274。会话272对应于会话列表240中的会话ID242,并且规则274对应于规则列表254中的规则ID256。
当介质端口接收一个分组时,该端口确定是否需要过滤分组。如果是这样的话,分组被传递到一个过滤模块以便执行适当的过滤处理。根据本发明的一个实施例,过滤模块驻留在各个FM10中。
图21是关于基于本发明一个实施例的过滤模块参与的分组过滤过程的流程图。要过滤的各个分组均包含一个VPN ID。因而程序开始执行并且在步骤280定位分组中的VPN ID。程序还在会话列表240中搜寻适当的VPN ID244。程序根据会话ID242按照数字升序搜寻会话列表240。一旦程序定位一个与VPN ID匹配的会话,程序在步骤282查询分组的源地址是否与为会话指定的源地址246匹配。如果结果是YES,则程序在步骤284查询分组的目的地址是否与为会话指定的目的地址250匹配。如果结果仍是YES,则程序在步骤286从过滤器列表270中搜寻对应于匹配会话的规则。在步骤288,程序搜寻规则列表254以确定为规则指定的条件,并且根据这些条件处理分组(即传递或丢弃分组)。
VII.自动保护切换图1的多业务网络交换机的另一个特性是能够通过自动保护切换(APS)硬件和软件提供抗故障能力。APS允许隔离交换机内部的部件故障(例如端接设备故障)和外部链路故障并且通过后备部件恢复服务。因而如果一个端接设备或外部链路出现故障,则上述设备或链路在不中断服务的情况下被自动转接到一个后备部件。一个连接有两个单元,即一个外部链路和一个连接到外部链路的端接设备。因而APS最好被分成两个区域,一个区域处理终端设备故障的故障隔离和自动恢复,另一个区域处理外部链路故障的故障隔离和自动恢复。
交换机最好支持主要和后备部件的任意组合。例如,后备部件可以是相同模块(卡)上的一个端口,相同机箱内部的另一个模块,不同机箱但相同机架内的另一个模块,或不同机架内另一个机箱中的另一个模块。
图22是关于针对外部链路故障引入APS机制的交换机的示意模块图。交换机包含一个主模块506和一个后备模块508,其中主模块接受一个主WAN链路502而后备模块接受一个后备WAN链路504。主要和后备模块均包含电涌保护设备510,514和一个线路接口单元(LIU)/成帧器512,518。主WAN链路502接收的相同数据最好也被辅助WAN链路504接收。如果软件检测到主WAN链路502上诸如传输错误的错误,则APS软件将读取操作从主WAN链路切换到后备链路504。从主WAN链路到后备链路的切换最好是瞬时的,并且不对系统功能产生任何中断。
根据本发明的一个实施例,从一个冗余端口列表(RPL)中选择后备WAN链连路504。冗余端口列表针对系统中的各个链路提供一个用户定义后备链路列表。后备链路的类型可以和主链路相同,也可以不同。例如,一个ISDN连接可以将部分T1链路当作后备链路。
交换机还为诸如故障模块或故障端口的终端设备故障提供一个APS机制。根据本发明的一个实施例,有两个保护终端设备的方式。一个方式是在一个卡中容纳两个或更多个端口,其中各个主端口受到一个后备端口的保护。因而当主端口出现故障时,后备端口取而代之。另一个方式是拥有两个或更多个卡,其中各个主卡受到另一个后备卡的保护。因而当一个卡出现故障时,另一个卡取而代之并且处理数据。
图23是关于引入后备端口的交换机的示意模块图,上述后备端口被物理连接到一个单独的卡上的另一个端口。主模块501包含一个主端口503和一个后备端口505。后备端口505通过后备链路511被物理连接到后备模块507上的另一个端口509。当在主端口503上检测到故障时,中继器将传输转移到后备端口505,而后备端口依次将传输转移到后备模块507的端口509上。
根据本发明的一个实施例,通过监视端口的活动由硬件检测主端口503上的故障。如果在经过一个预编程时间段(例如290毫秒)之后端口上仍没有活动(例如没有变化),则保护中继器520自动切换到后备端口505。APS软件使后备端口505中的数据与主端口保持同步。因而当从主端口切换到后备端口时,不用考虑数据损失。如果后备端口位于相同的卡上,则使用相同的存储器。如果后备端口位于不同的后备卡上,则APS软件最好同时把数据写到两个卡上。
APS体系结构最好是一个1:n体系结构,其中各个后备部件支持n个主部件,而n大于或等于1。例如,1:2保护切换表明每两个主部件有一个后备部件。根据本发明的一个实施例,交换机为T1/E1链路提供1:1,1:2,1:3和1:4保护切换选择,为CT3链路(E3,T3和信道化OC3)提供1:1和1:2保护切换选择。图24是关于引入基于本发明一个实施例的1:2保护切换的交换机的示意模块图。编号为1的端口522和编号为2的端口524均被连接到一个公共后备端口526。编号为1的端口522通过后备链路528被连接到后备端口526,而编号为2的端口通过后备链路530被连接到后备端口。这种1:2保护切换允许两个工作链路中的任意一个被切换到保护电路。
图25是关于引入基于本发明一个可选实施例的1:2保护切换的交换机的示意模块图。端口1具有一个第一主连接540,而端口2具有一个第二主连接542。与各个端口具有其自身的后备连接的方式不同,端口1和端口2与图25的实施例类似均共享一个后备连接544。
图26是关于引入1:1保护切换的另一个实施例的示意模块图。外部链路B532充当外部链路A534的后备。根据这个实施例,LIU和其它逻辑通过一个选择中继器536被切换到端口A538或端口B540。因而如果外部链路A534出现故障,中继器536切换到端口B540以便从外部链路B532读取数据。
VIII.模块化,独立协议堆栈体系结构图1的多业务网络交换机的另一个特性是能够支持一个IP路由协议和体系结构,其中层次2协议独立于其运行所依赖的物理接口。与在编译时把协议附着在物理端口上的已知交换机技术相反,本发明的交换机在端口被激活时,即在建立连接之后为一个端口动态配置适当的协议,从而允许交换机应用独立于其运行所依赖的物理端口。
交换机最好支持各种广域网(WAN)和局域网(LAN)物理接口。这些物理接口包含调制解调器,ISDN,T1和部分T1(T1/FT1),非信道化T3(UT3),ATM OC3,ATM DS3,和以太网。交换机还支持各种层次2协议,其中包含点到点协议(PPP),帧中继PPP(PPP/FR),以太网PPP(PPOE),层次2隧道协议(L2TP),层次2传递(L2F),RFC1483桥接,RFC1483路由,RFC1490桥接,和RFC1490。
由于动态配置端口的灵活性,一个单独的端口可以支持一个会话的一个L2TP和另一个会话的一个L2F。另外,相同协议可以在各个会话的不同端口上运行。例如,PPP通常通过调制解调器运行。然而在动态配置端口的情况下,PPP也可以在以太网,T1或ISDN线路上运行,并且不被限制到单独类型的物理接口上。此外,交换机不仅能够处理来自不同类型介质的不同类型的分组,而且能够向任何类型的介质传递分组。例如,数据可以通过PPP进入交换机并且通过ATM出去。
端口的动态配置还可以被扩展到各种介质,例如用于语音的窄带,宽带和DSL,等等。端口也可以是诸如用于T1的专用端口。软件体系结构允许不同介质的模块完全在一个交换机内彼此通信。
图27是关于IP传递层600,层次2协议602和层次1物理接口604的示意模块图。端口的动态配置允许将PPP绑定到调制解调器,ISDN,T1,UT3,ATM DS3和ATM OC3。另外,层次2协议602可以被动态链接在一起以便产生一个新的层次2协议。新的层次2协议则能够被绑定到一个层次1接口604上。
根据本发明的一个实施例,端口接口(PIF)122(图4)允许将层次2协议动态绑定到层次1协议上。当介质端口变成活跃时,交换机针对该端口产生一个PIF对象。最好由GFI124(图4)软件产生PIF并且由介质驱动器118触发PIF。PIF对象根据连接类型确定用于当前会话的层次2协议,并且GFI软件124将层次2协议动态绑定到层次1协议上。在会话持续阶段链接协议。
图28是示出具有多个PIF122的层次1,2和3接口的示意模块图,其中每个端口有一个PIF。当一个端口被激活时,介质驱动器118最好产生一个存储该端口的具体介质和分组格式信息的PIF结构/模块,其中包含端口类型,封装,状态信息(例如活跃或不活跃),和不同的端口编号(例如物理端口地址,传递端口地址,和底板端口地址)。PIF还跟踪PIF状态并向FTAM报告状态变化,维护端口的统计信息,并且维护一个指向拨号端口的当前拨入用户的指针。
根据本发明的一个实施例,PIF结构被组织成以控制器编号和端口编号为索引的二维数组。为了定位端口的具体PIF,使用控制器编号和该控制器内的端口编号。
最好在卡启动时产生所有物理端口的PIF。PIF最初处于不活跃状态。当端口变成活跃时将PIF状态改变成活跃状态。对于拨入端口,当用户通过该端口拨入时将PIF设置到活跃状态。当呼叫断开时,将PIF设置到不活跃状态。由于PIF结构也保存端口统计信息并且即使在用户被断开之后仍然可用于保存端口统计信息,所以最好不清除PIF。
每当一个端口的状态从不活跃状态变成活跃状态时,所有LAN卡均向SCM发送一个端口启动消息。WAN卡通常不向SCM发送端口启动消息。在该端口被用来传递类似RIP和OSPF分组的路由协议更新消息的情况下,WAN端口最好发送端口启动消息。
每当一个端口的状态从活跃状态变成不活跃状态时,向机架内所有的卡发送一个端口关闭消息。在接收这个消息之后,各个卡清除传递表和ARP列表中将该端口标识成关闭的条目。
SCM上的PIF模块还负责维护和管理RPL。对于各个物理端口,用户可以建立另一个物理端口以作为后备端口。后备端口最好不属于任何LPI。当主端口出现故障时使用后备端口。所有分组通常被发送到主端口。后备端口保持禁止状态。当主端口活跃时,后备端口既不接收也不发送分组。当主端口出现故障时,SCM上的PIF模块启动模块并且所有的分组从此均被发送到后备端口。根据本发明的一个实施例,当主端口再次启动时,后备端口再次进入禁止状态并且所有分组再次被发送到主端口。可选地,分组在会话的后续阶段继续使用后备端口并且不切换到主端口。
在本发明的一个可选实施例中,以分布式方式维护RPL。当卡在其初始化阶段启动时,SCM将RPL分配到各个卡上。各个卡使后备端口保持禁止状态。当主端口出现故障时,一个RPL端口关闭消息被发送到所有的卡。当卡接收到RPL端口关闭消息时,各个卡搜寻其RPL列表并且确定其是否有一个后备端口。如果有,则这个卡使该端口进入使能状态并且开始处理该端口上的传输。并且,所有的卡均清除传递表和ARP列表中指向主端口的条目。从此所有的传输均开始流向后备端口。当主端口重新恢复时,一个RPL端口启动消息被发送到所有的卡。具有后备端口的卡将后备端口设置到禁止状态并且向所有的卡发送一个有关后备端口的端口关闭消息。端口关闭消息导致所有的卡清除传递表和ARP列表中涉及后备端口的条目。从此主端口再次活跃。RPL列表在所有的卡均保持同步。每当改变RPL列表时,SCM将这种改变更新到所有的卡上。
IP传送器44(图4)与PIF对象接口并且通过逻辑端口识别器(LPI)128向PIF发送和接收分组。逻辑端口识别器(LPI)128与PIF122通信并且包含涉及各个物理端口的IP参数。每当希望发送分组时,IP层调用一个LPI发送函数。LPI发送函数识别适当的物理端口并且将分组传递到PIF122以便增加特定于介质的层次封装报头并且从适当端口发送出去。
在已经处理初始分组之后,最好在一个IP高速缓存条目中存储所识别的层次2封装报头。这允许IP传送器在处理后续分组时略过PIF和层次2功能,从而最小化分组处理开销。因而对于所有后续分组,从IP高速缓存条目中获得层次2封装报头。
IX.通用传递接口图1的多业务网络交换机的另一个特性是能够为传递函数提供一个统一接口以屏蔽通过不同接口类型发送和接收分组的细节。最好通过通用传递接口(GFI)122(图4)实现这个特性,其中通用传递接口允许应用(例如IP传送器,PPP,和交换机提供的其它功能)以通用格式发送和接收分组。
根据本发明的一个实施例,GFI处理相同FM10上的端口之间或通过总线到交换机的其它FM10的所有内部分组传递。不管分组被传递到远程卡或本地卡,GFI最好使传递函数透明。此外,不管用于分组的是入端口还是出端口,传递函数也是透明的。例如,在不经过IP传送器模块44(图4)的情况下,入端口可以是ISDN上的帧中继端口,而相关的出端口可以被切换到帧中继电路。
如图29所示,GFI124通过把交换机分成驱动器620和应用610来提供协议透明。最好在运行时刻把应用610绑定到驱动器620。这允许动态配属和分离应用和驱动器,因而为端口提供了灵活性。这种动态绑定还释放了不需要为未使用协议提供的存储器和处理资源。
期望接收和传递分组的应用和驱动器在GFI上登记各种函数,其中包含接收函数,传递函数和/或查询函数。驱动器620最好登记其传递函数以便向物理端口传递分组。如果分组将被发送到物理端口,GFI软件调用端口的驱动器登记的传递函数。
应用610最好在GFI上登记其接收函数以便接收和处理入局分组。把接收器函数登记成处理各种类型的分组,其中包含已经通过介质端口接收的分组,已经传递的分组和导向已知内部端口的分组。诸如PPP或IP传送器的协议处理或传递应用通常在GFI进行登记以便接收和处理通过介质端口接收的分组。针对具体输出端口进行转换和封装的应用处理被传递的分组。接收器函数也在GFI上登记以便处理导向已知内部端口,例如被用来交换外部管理信息的管理信道的分组。
应用610和驱动器620均可以在GFI上登记查询函数以便定期调用。查询函数经常被用来检查交换机的操作。在本发明的一个最优实施例中,可以指定两个查询频率等级高和低。诸如分组处理的前台功能最好使用高频率查询,而诸如定时器进程的后台功能最好使用低频率查询。在本发明的可选实施例中,可以使用多个查询频率等级。
当一个分组通过介质端口到达系统中时,分组被共享存储器24(图2)中的一或多个缓冲区(GFI缓冲区)接收。与介质端口相关的驱动器接收分组并且使用GFI应用程序将其转换成通用格式。驱动器还建立一个定义分组的GFI描述符并且具有指向属于分组的缓冲区的指针。接着分组被传递到系统上以便被应用处理。
当分组将被发送到物理端口时,GFI软件调用适当驱动器的传递以发送分组。驱动器的传递功能最好负责把通用分组转换成驱动器的特定格式并且从要求的端口发送出去。
进入系统的所有分组最好被转换成通用分组格式(GPF)以保证协议透明。图30是关于基于本发明的一个实施例的GPF700的示意模块图。GPF700最好包含一列共享存储器缓冲区和一个指向缓冲区的描述符。描述符被分成一个通用分组描述符(GPD)702和一或多个缓冲区描述符704。GPD最好包含四个字。在一个实施例中,GPD的第一个字包含分组的总字节计数706和各种路由标志708。路由标志包含分段标志,多点传送标志,切换标志和监视标志。在这个实施例中,总字节计数是一个分组的长度。
第二个字定义一个QoS数值710和VPN ID712。VPN ID标识一个与分组相关的虚拟专用网。QoS数值标识处理分组的优先权等级。在本发明的一个最优实施例中,GFI提供八个QoS等级。一旦为分组分配一个QoS数值,GFI便根据其QoS保证分组在整个系函数统中得到处理。GFI还根据其QoS数值为分组分配诸如CPU,底板,通信信道和系统缓冲函数资源。
第三个字定义一个输出端口信息714。最好在已经通过IP传送器模块44的查找确定分组的路由信息之后填写输出端口信息。
第四个字标识一个接收分组的输入端口716。第四个字还包含一个多点传送参考计数。参考计数被驱动器用来跟踪被发送到多个端口的分组。
缓冲区描述符最好包含一个缓冲区控制字和一个指向系统缓冲区717的指针。缓冲区控制字包含控制信息718以及缓冲区中数据720的字节数。控制信息包含定义缓冲区类型的控制标志。
一个被用于输入端口714和输出端口信息716的端口寻址方案允许在交换机内的任何地方传递分组。端口寻址方案最好具有层次结构并且基于机架,卡,控制器和端口。此外,端口被分成五个类别本地端口,内部多点传送端口,内部单点传送端口,外部多点传送端口,和远程端口。根据本发明的一个实施例,GFI提供两个不同类型的端口寻址方案,即传递端口地址(FPA)和物理端口地址(PPA)。图31是关于基于本发明的一个实施例的FPA的示意结构图。最好使用FPA在整个交换机内传递分组。图32是关于基于本发明的一个实施例的PPA的示意结构图。PPA最好被用于以管理为目的的外部用途和配置交换机内部的端口。
GFI最好提供两种FPA,即本地FPA和底板FPA。本地FPA被用来将分组传送到本地介质驱动器。底板FPA被用来将分组传送到远程端口。
根据本地FPA和底板FPA的控制器编号传递分组。卡上的每个设备最好均具有一个控制器编号601。例如,一个以太网设备有一个以太网控制器而一个ISDN设备有一个ISDN控制器。控制器编号是FPA的一部分。控制器编号允许GFI将分组调度到适当的驱动器上。根据本发明的一个实施例,控制器编号只在本地有意义。如果一个卡上有四个驱动器,则为四个驱动器分配四个不同的控制器编号以便GFI可以向其调度分组。
底板驱动器也有一个控制器。底板驱动器最好使用控制器编号零。底板是另一个在GFI下运行的驱动器。底板分组不离开交换机。它们只被传送到交换机中的另一个卡上。所有将被传递到交换机内部的其它卡上的分组均被发送到底板驱动器。如果分组必须被传送到另一个卡上,则改变控制器编号以便允许分组被发送到远程端口。方案包含确定端口类型的地址范围。
底板也包含一个地址范围。当从一个卡向另一个卡发送诸如从调制解调器进入交换机并且以帧中继方式到达另一个卡上的分组的分组时,通过将控制器编号设成零从而把分组重定向到底板。指向远程端口的分组被传送到底板驱动器。当在其它的卡上接收分组时,控制器地址被切换成帧中继。
当驱动器从一个端口接收分组时,驱动器为分组构造一个GPD702。在进行构造时,驱动器最好构造如图33所示的输入端口716信息。输入端口716信息包含8个标志位和24个地址位。标志位定义允许接收应用进行适当的路由和封装的源控制信息。
最好在已经从传送器模块44获得分组的路由信息之后建立输出端口信息714。图34是关于基于本发明的一个实施例的输出端口信息的示意结构图。输出端口信息714包含8个标志位和24个地址位。8位标志字段用作控制信息,这种控制信息被从应用传递到负责发送分组的驱动器。
最好把输出端口信息设计成允许应用向本地端口地址(LPA),已知内部多点传送(WKIM)地址,已知内部单点传送(WKIU)地址,已知外部多点传送(WKEM)地址,动态外部多点传送(DEM)地址,和远程端口地址(RPA)发送分组。
如果正在向一个本地端口(即在卡的本地)传递分组,则输出端口指定如图32所示的物理端口地址。其它的卡可见的本地端口被映射成底板驱动器端口。底板驱动器端口被用来将分组传送到远程端口。底板驱动器将入局分组中的端口地址映射成本地端口地址。
WKIM地址提供不同模块的应用之间的内部通信路径。例如,如果ISDN模块上运行的一个应用希望向SCM上运行的管理IP堆栈发送消息,该应用使用被分配给SCM的的IP堆栈的适当WKIM地址。在系统有多个SCM的情况下,消息被发送到所有SCM的IP管理堆栈。如果用户希望寻址卡内的一个已知内部端口,则应当使用WKIU。
WKEM被用来将许多外部端口组合起来。例如,针对任何诸如OSPF,需要对一组端口进行广播的应用建立一个WKEM。DEM允许用户在运行时刻建立和取消多点传送组。
如果一个卡上的应用希望向另一个卡上的某个外部端口发送分组,该应用使用为上述端口分配的RPA。在可以寻址一个远程端口之前需要将RPA映射成物理端口地址。系统中的各个卡负责将其自身的物理端口映射成RPA。在本发明的最优实施例中,一个头文件中的应用程序执行所需的映射。
除了本地端口地址之外,所有上述类别的地址最好均为虚拟地址。
虚拟端口地址被映射成一或多个物理端口地址。基于本发明的一个实施例的虚拟地址端口分配如图35所示。最好为虚拟地址分配控制器编号0。在本发明的一个最优实施例中,底板地址范围如下所示0为已知内部管理保留 信道1-7167动态端口范围(远程端口地址)7168-7368已知内部单点传送端口7369-7568已知内部多点传送端口7569-7668已知外部多点传送端口7669-8191动态多点传送端口已知内部多点传送被用来向多个卡上运行的内部应用传送分组。例子包含OSPF,RIP和呼叫记录。已知外部多点传送被用来向一个已知应用的一组端口传送分组。例子是诸如OSPF,RIP和BGP4的路由协议使用的端口。需要动态产生和删除多点传送组的应用协议使用动态多点传送。在动态多点传送中,可以动态增加和删除成员。IP多点传送是动态多点传送的一个例子。
GFI提供的另一个功能是分布式多点传送。为了向一个多点传送组发送一个分组,只产生唯一一个分组。当分组被发送到一个多点传送组时,分组被发送到底板。接着,分组被传播到多点传送组。当接收方得到分组时,在不必复制分组的情况下从接收方的卡中向适当的介质端口传播分组。
GFI还提供硬件配置透明特性。例如,CPU数量和DMA能力对应用是透明的。平台之间的存储器结构在不同的卡上可以完全不同。GFI使其对应用透明。所以应用不关心驱动器和存储器。在运行时刻确定卡的规格。GFI根据GFI的配置把所有数据结构移动到适当的地方。当GFI被激活时,GFI调用一个通用平台函数初始化平台。通用平台函数得到一个平台的参数。平台函数检测板/卡的类型和存储器的类型并且接着建立相应的数据结构和存储器。函数传递的参数确定共享存储器配置,缓冲区尺寸。例如,一个表示256k字节调制解调器缓冲区尺寸的参数可以被回送到GFI。每个卡均有一个平台函数。因而可以在不同的卡上运行相同的代码。
GFI软件被设计成能够在不同硬件平台上运行。例如,GFI在所有专用模块和所有通用硬件模块(即高速通用模块,低速度通用模块等等)上运行。一旦根据GFI接口实现了一个驱动器,该驱动器可以在不经任何修改的情况下从一个平台转移到另一个平台。此外,GFI使系统的CPU配置(即一个CPU或两个CPU)对应用和驱动器透明。当从一个单CPU配置转换到多CPU配置时,不需要改变驱动器和应用,反之亦然。
当在单CPU平台中处理分组时,GFI检索一个接收队列并且检查分组描述符中的代码设置。GFI还检查是否有登记接收分组的应用。应用在初始化阶段登记到GFI上。如果有一个应用登记接收分组,则GFI调用已经登记的应用并且为该应用提供分组描述符。
在一个多CPU平台中,有一个排队CPU和一个应用CPU。排队CPU进行排队而应用CPU进行处理。一个宏指令根据已经在分组描述符中设置的QoS等级把分组放到一个QoS队列中以便应用CPU处理。GFI代码使CPU数量配置透明。GFI是在一个CPU上运行还是在两个CPU上运行对于调用GFI接收函数的驱动器而言是没有关系的。如果在一个双CPU平台上运行或在直接单CPU平台上调用函数,GFI把分组放入一个队列中。
当分组被传递到一个应用时。应用可以(1)传递分组;(2)丢弃分组;或(3)保存分组。当应用被呼叫时,应用向GFI返回任意的上述代码。
一个应用是IP传送器模块44,该模块得到IP分组并且作出有关分组的传递决定。一旦作出传递决定,IP传送器模块在分组描述符中设备目的GFI地址并且返回一个传递代码。如果IP传送器模块确定分组不良或不能处理,则向GFI返回一个指示丢弃分组的丢弃代码。如果IP传送器模块确定要保存分组,由于还没有确定路由信息,该模块稍后会传送分组。
如果返回传递代码并且GFI在双CPU环境中运行,GFI把分组放到排队CPU中排队。如果在单CPU环境中运行,则GFI直接调用其调度函数。调度函数根据这个分组必须到达的驱动器作出判定并且把分组调度到适当的发送函数中进行发送。
当GFI在双CPU平台中运行时,自动建立一组队列,即接收队列和传递队列。在本发明的一个实施例中,有4个接收队列和4个传递队列。各个队列被用来区别不同等级的QoS。GFI根据QoS从队列中取出分组并且处理队列,接着调用调度函数,再接着把分组调度到适当的驱动器发送函数上。根据分组描述符中的传递端口地址调用驱动器发送函数。传递端口地址具有一个控制器编号,而控制器编号确定将接收分组的驱动器。
在本发明的一个可选实施例中,GFI支持8个接收队列(RQ)和8个传递队列(FQ)。图36是关于基于本发明的一个实施例的接收队列和传递队列的示意结构图。当接收分组时,驱动器使用为分组分配的QoS数值将分组排到8个RQ的任意一个中。类似地,当应用传递分组时,该应用QoS数值将分组排到8个FQ的任意一个中。
上述排队方案最好仅用于双CPU配置。当GFI在单CPU配置中运行时,不产生或使用传递和接收队列。GFI使之对其用户透明。
GFI还提供处理器间通信(IPC)。在使用IPC的情况下,在相同卡上的不同处理器中运行的应用可以交换消息。为了通过IPC接收消息,一个应用使用gfi-ipc.h中提供的函数调用在IPC上登记。IPC提供两个操作模式同步和异步。在使用同步模式的情况下,应用可以向另一个CPU上运行的客户端发送消息并且等待应答。当使用同步操作模式时,IPC提供被应答方用来向请求方发送消息的机制。如果应用不需要显式消息确认,该应用使用异步操作模式。在这种情况下,IPC将消息排队并且立即返回到应用。
虽然通过某些特定实施例描述了本发明,但本领域的技术人员显然可以进行许多额外修改和改变。所以应当理解,可以通过与前面具体描述的方式不同的方式实践本发明。因而应当认为本发明的当前实施例仅用于说明并且不是限制性的,本发明的范围由所附权利要求书及其等价描述来确定。
权利要求
1.向具体目的地址传送数据块的多业务网络交换机,交换机包括多个接口模块,各个接口模块包含一个处理器和一个存储传递表的第一存储器,上述传递表包含一列目的地址和一个到达各个目的地址的已知最优路由;一个系统控制模块,其中包含一个存储路由表的第二存储器,路由表包含一列可从各个接口模块到达的目的地址和到达各个目的地址的所有已知路由,在从传递表中没有搜寻到具体目的地址的情况下引用路由表;和一个总线,该总线互连接口模块和系统控制模块以便向具体目的地址传送数据块。
2.如权利要求1所述的交换机,其中还包括一个保存最近使用的目的地址及其对应物理端口标识符的高速缓存。
3.如权利要求1所述的交换机,其中第一存储器还存储一个地址解析列表,地址解析列表包含一列目的地址及其对应的物理端口标识符。
4.如权利要求3所述的交换机,其中还包括在从地址解析列表中没有搜寻到具体目的地址的情况下获得对应于具体目的地址的物理端口标识符的装置。
5.如权利要求1所述的交换机,其中各个接口模块包含一个从用户接收连接请求的接口线路,并且处理器可以执行包含以下操作的程序指令识别连接请求的特征;根据识别的特征选择一个路由器;和向选择的路由器传递用户发出的数据块。
6.如权利要求5所述的交换机,其中从线路接口类型,用户登录信息,电话号码,数据块源地址,和数据块目的地址构成的信息组中选择特征。
7.如权利要求5所述的交换机,其中程序指令还包含根据识别的特征检索呼叫简表信息。
8.如权利要求7所述的交换机,其中呼叫简表信息包含一个为连接请求分配的接入等级,接入等级与一个接入阈值相关,接入阈值指示在许可连接请求之前可能在使用的系统资源的最大数量。
9.如权利要求7所述的交换机,其中呼叫简表信息包含为连接请求分配的虚拟路由器标识符,其中为虚拟路由器分配一部分系统资源。
10.如权利要求1所述的交换机,其中各个接口模块包含一个接收入局连接请求的接口线路,并且第一存储器还存储一列资源和关于各个资源的可用性的信息,处理器可以执行包含以下操作的程序指令识别为连接请求分配的具体资源;从资源列表中查询具体资源;和在具体资源被标识成可用的情况下为连接请求分配具体资源。
11.如权利要求10所述的交换机,其中资源列表是接口模块的本地资源列表。
12.如权利要求10所述的交换机,其中程序指令还包括以下操作从一个接收入局连接请求的接口模块向其它接口模块发送一个具体资源请求;接收指示具体资源可用的应答;和发送分配所识别的资源的请求。
13.如权利要求10所述的交换机,其中程序指令还包含以下操作根据连接请求的特征为入局连接请求分配一个接入等级,接入等级与一个接入阈值相关;确定具体资源的当前使用数量;和在当前使用数量小于与分配的接入等级相关的接入阈值的情况下向连接请求分配所标识的资源。
14.如权利要求10所述的交换机,其中程序指令还包含以下操作建立多个虚拟路由器,每个虚拟路由器被分配了多个资源;维护基于虚拟路由器的资源列表;识别与连接请求相关的虚拟路由器;和在具体资源被标识成可用于所识别的虚拟路由器的情况下为连接请求分配所标识的资源。
15.如权利要求1所述的交换机,其中各个接口模块包含多个资源,一部分资源被分配给一个虚拟路由器,而交换机还包括接收针对虚拟路由器的连接请求的装置;从分配给虚拟路由器的部分资源中为连接请求分配一个资源的装置;从连接接收一个数据块的装置;定位与数据块相关的过滤器的装置,过滤器包含一个过滤条件和一个在符合过滤条件时采取的动作;和根据定位的过滤器处理数据块的装置。
16.如权利要求15所述的交换机,其中从数据块源地址和数据块目的地址构成的信息组中选择过滤条件。
17.如权利要求15所述的交换机,其中从传递数据块和丢弃数据块构成的操作组中选择要采取的动作。
18.如权利要求1所述的交换机,其中接口模块还包含一个接收数据块的第一输入端口;一个与第一输入端口相连的第二输入端口,第二输入端口充当第一输入端口的后备;检测第一输入端口上的故障的装置;和一个继电器,当检测到第一输入端口上的故障时,这个继电器自动把数据块从第一输入端口转移到第二输入端口。
19.如权利要求18所述的交换机,其中第一和第二输入端口驻留在相同接口模块内。
20.如权利要求18所述的交换机,其中第一和第二输入端口驻留在不同接口模块内。
21.如权利要求1所述的交换机,其中一个接口模块包含一个被连接到第一链路的第一输入端口,而另一个接口模块包含一个被连接到充当第一链路的后备的第二链路的第二输入端口,当检测到第一链路上的故障时将数据块自动从第一链路转移到第二链路。
22.如权利要求21所述的交换机,其中从多个可用链路中选择第二链路。
23.如权利要求1所述的交换机,其中还包括一个按照第一协议接收第一分组的输入端口;一个被连接到输入端口以便把第一分组转换成通用格式的输入驱动器;将通用分组传递到一个应用的装置;从应用接收通用分组的装置;一个将通用分组转换成第二协议的输出驱动器;和一个被连接到输出驱动器以便发送转换后的分组的输出端口。
24.如权利要求1所述的交换机,其中接口模块还包含一个接收连接请求的输入端口;识别与连接请求相关的协议的装置;和将识别的协议动态绑定到输入端口上的装置。
25.如权利要求24所述的交换机,其中接口模块还包含向数据块增加封装信息的装置,封装信息与所识别的协议相关。
26.如权利要求25所述的交换机,其中还包括一个存储封装信息的高速缓存。
27.在包含多个接口模块和一个系统控制模块的多业务网络交换机中向目的地址传递数据块的方法,该方法包括在各个接口模块中存储一个传递表,传递表包含一个目的地址列表和一个到达各个目的地址的已知最优路由;在系统控制模块中存储一个路由表,路由表包含一个可从各个接口模块到达的目的地址列表和可以从接口模块到达各个目的地址的所有已知路由,在从传递表中没有搜寻到具体目的地址的情况下引用路由表;接收数据块以便传递到具体的目的地址;和调用各个接口模块中驻留的一个处理器以便处理数据块;获得到目的地址的路由;和向具体目的地址传递数据块。
28.如权利要求27所述的方法,其中还包括在一个高速缓存中存储最近使用的目的地址列表和对应的物理端口标识符。
29.如权利要求27所述的方法,其中还包括存储一个地址解析列表,地址解析列表包含一个目的地址列表及其对应的物理端口标识符。
30.如权利要求29所述的方法,其中还包括在从地址解析列表中没有搜寻到具体目的地址的情况下获得对应于具体目的地址的物理端口标识符。
31.如权利要求27所述的方法,其中还包括从用户接收一个连接请求;识别连接请求的特征;根据识别的特征选择一个路由器;和向选择的路由器传递用户发出的数据块。
32.如权利要求31所述的方法,其中从线路接口类型,用户登录信息,电话号码,数据块源地址,和数据块目的地址构成的信息组中选择特征。
33.如权利要求31所述的方法,其中还包括根据识别的特征检索呼叫简表信息。
34.如权利要求33所述的方法,其中呼叫简表信息包含一个为连接请求分配的接入等级,接入等级与一个接入阈值相关,接入阈值指示在许可连接请求之前可能在使用的系统资源的最大数量。
35.如权利要求33所述的方法,其中呼叫简表信息包含为连接请求分配的虚拟路由器标识符,其中为虚拟路由器分配一部分系统资源。
36.如权利要求27所述的方法,其中还包括在各个接口模块中维护一个资源列表和关于各个资源的可用性的信息;识别为连接请求分配的具体资源;从资源列表中查询具体资源;和在具体资源被标识成可用的情况下为连接请求分配具体资源。
37.如权利要求36所述的方法,其中资源列表是接口模块的本地资源列表。
38.如权利要求36所述的方法,其中还包括从一个接收入局连接请求的接口模块向其它接口模块发送一个具体资源请求;接收指示具体资源可用的应答;和发送分配所识的资源的请求。
39.如权利要求36所述的方法,其中还包括根据连接请求的特征为入局连接请求分配一个接入等级,接入等级与一个接入阈值相关;确定具体资源的当前使用数量;和在当前使用数量小于与分配的接入等级相关的接入阈值的情况下向连接请求分配所标识的资源。
40.如权利要求36所述的方法,其中还包括建立多个虚拟路由器,每个虚拟路由器被分配了多个资源;维护基于虚拟路由器的资源列表;识别与连接请求相关的虚拟路由器;和在具体资源被标识成可用于所识别的虚拟路由器的情况下为连接请求分配所标识的资源。
41.如权利要求27所述的方法,其中还包括接收针对虚拟路由器的连接请求;从分配给虚拟路由器的部分资源中为连接请求分配一个资源;从连接接收数据块;定位与数据块相关的一个过滤器,过滤器包含一个过滤条件和一个在符合过滤条件时采取的动作;和根据定位的过滤器处理数据块。
42.如权利要求41所述的方法,其中从数据块源地址和数据块目的地址构成的信息组中选择过滤条件。
43.如权利要求41所述的方法,其中从传递数据块和丢弃数据块构成的操作组中选择要采取的动作。
44.如权利要求27所述的方法,其中还包括为连接到接口模块的各个主端口维护一个后备端口;在主端口上接收数据块;检测主端口的故障;和当检测到故障时自动从主端口向与主端口相关的后备端口转移数据块。
45.如权利要求44所述的方法,其中后备端口与主端口位于相同的接口模块上。
46.如权利要求44所述的方法,其中后备端口与主端口位于不同的接口模块上。
47.如权利要求44所述的方法,其中两个或更多主端口与相同后备端口相关。
48.如权利要求27所述的方法,其中还包括为连接到接口模块的各个主链路维护一个后备链路;在主链路上接收数据块;检测主链路的故障;和当检测到主链路上的故障时自动把数据接收从主链路切换到后备链路上。
49.如权利要求48所述的方法,其中从多个可用链路中选择后备链路。
50.如权利要求27所述的方法,其中还包括按照第一协议接收第一分组;把第一分组转换成通用格式;将通用分组传递到一个应用;从应用接收通用分组;把通用分组转换成第二协议;和向一个输出端口发送经过转换的分组。
51.如权利要求27所述的方法,其中还包括通过一个输入端口接收连接请求;识别与连接请求相关的协议;和将识别的协议动态绑定到输入端口上。
52.如权利要求51所述的方法,其中还包括向数据块增加封装信息,封装信息与所识别的协议相关。
53.如权利要求52所述的方法,其中还包括在一个高速缓存中存储封装信息。
54.一个多业务网络交换机,其中包括至少两个传递模块,每个传递模块包含一个处理器单元和一个传递表,每个传递模块中的处理器单元被配置用来接收数据分组,为数据分组分配网络资源,并且根据传递表中存储的传递信息传递数据分组。
55.如权利要求54所述的多业务网络交换机,其中第一传递模块以和第二传递模块并行的方式处理和传递数据分组。
全文摘要
能够从单独平台提供多个网络业务的多业务网络交换机,交换机引入了分布式分组传递体系结构,其中各种卡均能够作出独立的传递决定。交换机还允许动态资源管理向入局呼叫动态分配调制解调器和ISDN资源。交换机也可以包含故障管理功能以防护交换机内部的单独故障点。交换机还允许将交换机划分成多个虚拟路由器,其中各个虚拟路由器具有其自身的资源网和路由表。各个虚拟路由器还被划分成虚拟专用网以便进一步控制网络接入。交换机支持基于策略的路由,其中根据域名,电话号码和类似内容选择具体路由路径。交换机还通过定义各个入局连接请求的接入质量等级来提供对因特网的分等级接入。交换机还可以支持一个IP路由协议和体系结构,其中层次2协议与其运行所依赖的物理接口相独立。并且,交换机包含隐藏通过不同接口类型发送和接收分组的详细的通用传递接口软件。
文档编号H04L12/56GK1514601SQ0210248
公开日2004年7月21日 申请日期2000年2月23日 优先权日1999年2月23日
发明者拉马克里西纳·劳, 拉马克里西纳 劳, 哈里马尼, 查理·哈里马尼, 德 扬, 德斯蒙德·扬, 莫西, 马诺哈·莫西, 斯 纳格拉, 本·成, 法里德, 阿西瓦斯·纳格拉, 舒克, 莫迪·法里德, 理查德·舒克 申请人:阿尔卡塔尔互联网运行公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1