通过监控链路状态重新启用端口的制作方法

文档序号:7626717阅读:190来源:国知局
专利名称:通过监控链路状态重新启用端口的制作方法
技术领域
本发明大体上涉及用于自动启用交换和/或路由设备中的媒体接口或端口的技术。特别地,本发明涉及用于在交换和/或路由设备内部提供链路状态监控系统并使用这样的链路状态来自动启用一个由于包括安全违规在内的各种违规而先前被禁用或被阻塞的端口的系统和方法。
背景技术
当今,可以获得许多向网络管理员提供禁用或阻塞物理端口的能力的交换机。禁用或关闭端口通常意味着阻塞在那些端口上的所有网络通信。这样做来防止网络因为由于从那些端口进来的安全或策略违规所引起的不必要数据业务而服务中断。这些违规可以包括病毒攻击、过度的ping请求、具有未与特定端口子网关联的一个因特网协议(IP)地址的过量的传入分组、指定到另一交换或路由设备的地址解析协议(ARP)数据单元、以及超过带宽限制或者其它网络门限的协议数据单元(PDU)。
然而,这些被禁用的端口不是永久被禁用的。如果违规或规定这些端口禁用的标准被纠正或者不再存在,则启用这些端口并将其用于网络入口和出口业务。
然而,为了启用这些被禁用的端口,网络管理员必须识别每个被禁用端口的端口标识号码以及这些端口每一个的特定交换/路由设备。此外,管理员必须手动发出一组命令给交换/路由设备以便启用这些端口。这个过程非常麻烦、劳动强度大,并且耗费时间,特别是当管理员是管理一个大型网络的时候。
因此需要一种避免需要手动启用端口并从而为管理员减轻负担的机制。本发明解决了此需要。

发明内容
本发明特征是通过监控物理层接口的链路状态来自动重新启用一个被禁用的端口或物理媒体接口的实施例。链路状态中的任何变化都自动重新启用一个先前被禁用的端口,从而允许通过先前被禁用端口进来的数据被接纳进入交换机并自动地转发或者路由/交换,而不必网络管理员手动发出任何命令来手动地重新启用该端口。
在第一实施例中,本发明提供一个转发设备,它包括一个或多个物理层接口、一个或多个数据链路层控制器以及一个交换/路由模块。这些物理层接口接收来自通信网的数据。数据链路层控制器包括一个或多个媒体接入控制器(MAC)端口、端口指示符和至少一个MAC处理器。数据链路层控制器根据包含在端口指示符中的数值丢弃或者接纳基于物理层接口确定的链路状态的数据。另一方面,交换/路由模块适于转发被数据链路层控制器转发的这些数据单元。
在另一个实施例中,本发明提供了一种对转发设备中的一个先前被阻塞端口自动解除阻塞的方法。被阻塞端口与一个指示被阻塞端口是否被阻塞的阻塞端口指示符相关联。该方法包括如下步骤经由与被阻塞端口关联的一个物理层接口接收数据单元;监控物理层接口的链路状态;当在被监控的链路状态中发生变化时,自动重新设置阻塞端口指示符;以及当阻塞端口指示符指示解除阻塞时,接纳传入数据单元。这个方法还可以包括以下附加步骤接收在网络内部执行的一个或多个网络策略;设置阻塞端口指示符;以及当阻塞端口指示符指示阻塞时丢弃数据单元。
在另一个实施例中,本发明提供了一种转发设备,包括一个或多个物理层接口,适于接收来自通信网的一个或多个数据单元;一个或多个数据链路层控制器;以及可操作地耦合到一个或多个数据链路层控制器的转发模块。每个数据链路层控制器包括一个或多个媒体接入控制器(MAC)端口,每个MAC端口适于可操作地耦合到一个或多个物理层接口;一个或多个端口指示符,其中每个端口指示符与MAC端口之一相关联,并且每个端口指示符适于指示关联的MAC端口是被阻塞的还是解除阻塞的;以及至少一个MAC处理器,可操作地耦合到一个或多个MAC端口,适于读取一个或多个端口指示符并且适于基于该一个或多个端口指示符选择丢弃或接纳由一个或多个物理层接口接收到的一个或多个数据单元。转发模块适于接收被一个或多个数据链路层控制器接纳的一个或多个数据单元,并且适于转发从数据链路层控制器中接收到的一个或多个数据单元。


在附图中以示例但不局限的方式示出了本发明,其中图1是根据本发明实施例的一个端口的高级状态转移图;图2是示出根据本发明实施例的一个解除阻塞端口和两个被阻塞端口的高级框图;图3是根据本发明实施例的一个转发设备的高级示意图;图4是示出根据本发明实施例的一个被阻塞端口的操作的高级流程图;图5是示出根据本发明实施例的当链路状态变化发生时的操作的高级流程图;图6是根据本发明实施例的一个交换/路由设备的框图,示出了该设备如何处理各种协议数据单元;图7是示出根据本发明实施例的标志或指示符的数值的图表,其中该标志或指示符指示一个特定端口是否应被阻塞以及示出当链路状态改变发生时如何修改这样的数值;图8是根据本发明实施例的一个适于执行链路状态监控和端口重新启用操作的多层交换/路由或者转发设备的功能框图;图9是根据本发明优选实施例的一个层1和层2处理机或模块的高级示意图;以及图10是示出根据本发明实施例的各个模块和部件的相互作用的高级功能框图。
具体实施例方式
以下的详细描述以一种清楚地使得本领域技术人员能够实现并使用本发明的方式通过示例而并非对本发明原理进行限制来说明了本发明,并且描述了本发明的多个实施例、修改、变形、可选方案以及用途,包括目前被认为是实现本发明的最佳的模式。
为了更好地理解附图,不同附图以及描述中类似的已编号附图标记用于在以下描述中来指代相同或者类似的结构、动作、操作或者流程步骤。另外,一百系列内的附图标记,例如102和104,最初在图1中引入,二百系列的附图标记,例如222和224,最初在图2中引入,如此等等。因此,九百系列的附图标记,例如920和940,最初在图9中引入。
总的来说,本发明的一个实施例包括确定一个特定端口是否存在某些端口禁用条件。如果任何这样的条件存在,则端口被自动或手动禁用,从而防止进一步接纳进入交换设备并且从交换或转发设备向外转发或发送接收数据单元。可是如果这个特定端口的链路状态从链路运行(linkup)改变为链路关闭(link down),则只要没有禁用条件存在,这个端口就自动启用,从而能够进行接收数据单元的传输。从而,链路状态的切换触发端口的重新启用,而不必另外的网络管理员介入。网络管理员从而不需要确定哪一端口是阻塞的或者哪一设备包含被阻塞端口,甚至不需要发出命令以便再激活先前被禁用的端口。
图1是示出根据本发明实施例的一个端口的各个状态的高级状态图。在初始状态中,通常在系统启动期间,端口被启用或者被解除阻塞102。但是如果任何端口阻塞条件104存在,则端口被禁用或阻塞106。每当存在一个链路状态改变或者切换108——尤其是从链路运行到链路关闭或者从链路关闭到链路运行时,将一个被阻塞端口106变成解除阻塞或者再次被启用110。每当任何端口阻塞条件出现112时,然后将未阻塞的端口110变为被阻塞的或禁用的106。
图2是根据本发明实施例的一个优选双工端口的高级框图。在优选实施例中,双工端口有两个部件一一接收部分被称为入口端口部件而传出部分被称为出口端口部件。在该优选实施例中,一个解除阻塞端口200具有处于解除阻塞状态的入口部件,在此被称为解除阻塞入口部件202、和处于解除阻塞状况的出口部件,在此被称为解除阻塞出口部件204。
另一方面,第一被阻塞端口210具有处于被阻塞或禁用状态的入口部件,在此被称为被阻塞入口部件212。此实施例进行操作以使被发送到被阻塞入口端口部件的协议数据单元(PDU)被物理接口层或层一(PHY)接收但是不进一步被接纳进入交换设备中。在此讨论的层次是指开放式系统互连(OSI)参考模型的七个层次。如果一个出口端口部件214被阻塞,它可以不被用来转发传出PDU。但是,如果它被解除阻塞或启用,则它可用来进一步转发传出PDU。
在优选实施例中,第二被阻塞端口220具有被阻塞入口部件222和解除阻塞出口部件224。在另一个实施例中,第一被阻塞端口210具有被配置来阻塞数据的入口部件212和出口部件214。在另一个实施例中,端口是一个非双工端口,因此,一个接收或传入端口被完全阻塞或者完全解除阻塞。还有本发明的另一实施例也是可行的,其中入口端口部件被解除阻塞同时出口端口部件被阻塞。
图3是根据本发明实施例的具有一个被阻塞端口的转发设备300的高级示意图。在该优选实施例中,被阻塞端口只使其入口端口部件被阻塞——出口部件解除阻塞,由此允许传出业务。即使入口端口部件被阻塞,也经由物理层接口/层一(PHY)330接收传入或入站数据单元302。
本发明的转发设备300包括任何交换机、路由器或者任何优选地在OSI模型的多个层中进行操作(包括层2中的交换和层3中的路由)的转发设备。此外,本发明的每个交换或转发设备300,优选地包含多个物理端口330,这些物理端口优选地以双工模式运行。
在一些实施例中,PHY接口330被具体实现在一个合并一个或多个网络端口的集成电路芯片中,例如专用集成电路(ASIC),每个端口可操作地耦合到一个网络链路。优选地,PHY接口330适于监控关联的链路状态,并且当链路为非运作的时通知网络管理员。对于PHY芯片,如果PHY 330被关闭,则物理链路状态通常不可能被监控。因此,在本发明的优选实施例中,根据本发明的实施例,即使端口被阻塞,PHY层330不被禁用或关闭。相反,优选地,在媒体接入控制器(MAC)/层2级340处阻塞端口上的入口网络业务,而同时允许物理链路PHY 330保持活动,以启用本发明的实施例来监控链路状态。因此,传入数据单元302在层2或MAC层340处被丢弃,并且由此不进一步将其进一步接纳进入转发设备300。
可是在本发明的优选实施例中,即使入口部件处于被阻塞状态,传出数据单元304也可能仍然经由具有处于解除阻塞状态中的出口部件的一个端口从转发设备进行转发或发送。传出数据单元304使用端口的解除阻塞出口部件发送出PHY 330。因此,本发明的这个优选实施例使PDU或数据单元能够被PHY层处的入口端口部件接收,但是不由该转发设备进行转发,同一端口的出口端口部件仍然可以被利用来转发可能已经从其它端口(未示出)中接收到的传出PDU。
本发明的转发设备300优选地还包括一组程序指令或程序模块310,如果其由处理器(优选地,计算机处理器)执行,则对网络层3部件350、MAC层340和PHY层330进行控制。例如,程序模块310控制MAC层306丢弃传入数据单元,并监控308PHY层330的链路状态。在一个实施例中,程序模块以软件的形式具体实现。
图4是示出禁用或阻塞一个端口的逻辑操作的高级流程图。在第一操作450中,识别端口阻塞条件组。这些阻塞条件与生效的和有效的网络利用相关,并且可以取决于数据业务门限值、病毒攻击、服务拒绝、广播风暴、安全问题以及可能消极影响网络的其它活动。
在一个实施例中,在转发或交换设备300内预定义阻塞条件。但是,可以对这些预定义条件进行修改。附加的阻塞条件也可以被网络管理员,优选地通过一个设备配置管理器,手动定义并引入到设备中。
在识别端口阻塞条件组之后(步骤450),判断入口数据单元或入口业务是否已经满足一个或多个阻塞条件,以及传入PDU是否应该被丢弃(检验452)。如果PDU要被接纳进入到交换设备中或者从交换设备中被转发——意思是说它们不符合阻塞条件,则交换设备相应地处理这些PDU或数据单元,并且由此如果适合,则从那个设备对它们进行转发(步骤454)。
如果传入PDU要被阻塞,则通过使用一个布尔值标志、一个寄存器或者任何类似的数值指示符禁用入口端口部件(步骤456)。入口阻塞标志被设置为一个指示该端口应该被阻塞的数值,例如值“真”或“1”。一旦设置了入口阻塞标志(步骤456),则阻塞传入PDU,意思是说经由被禁用入口端口部件被交换设备接收到的PDU不从该交换设备中进行转发——将它们丢弃(步骤458)。在优选实施例中,出口端口部件不被禁用并且因此可以将其用于传出PDU,并且因此,对于出口端口部件的标志是不需要的。标志、标志组、或者其它数值指示符也可以用于单工(非双工)端口。
图5说明了一个高级流程图,示出了一个链路状态或链路状态改变如何被用来自动地启用一个被禁用/被阻塞端口。使用根据OSI模型的层1(PHY)的一个端口接口以及通过中断,可以获得每个端口的链路状态信息。优选地,还对链路状态信息进行连续地监控。图5利用一个优选的被阻塞端口来说明,即入口端口部件被阻塞而出口端口部件被解除阻塞。
在第一操作(步骤530)中,检测端口的链路状态/状况。如果链路状态中没有发生改变(检验532),那么再次监控链路状态(步骤530)。但是如果那个端口的链路状态(从链路运行到链路关闭或者从链路关闭到链路运行)发生改变,那么确定入口端口部件是否被禁用(检验534)。这个可以通过查看入口阻塞标志或者任何类似的指示符的数值来确定。优选地,连续地监控每个端口的链路状态。
如果入口端口部件通过在入口阻塞标志中得到例如一个“真”值已被禁用(检验534),则通过将入口阻塞标志重新设置为,例如,“假”来自动地重新启用那个入口端口部件(步骤536)。这个操作意味着,经由那个入口端口部件,现在不再阻塞传入PDU,并且因此交换设备应该将其接纳并处理以用于进一步转发。
根据现有技术的转发设备,链路状态的变化也发起涉及一个或多个功能和职责的状况变化过程(步骤538),其功能和职责例如包括发送一则消息给IP地址,声明那个特定端口的链路被关闭并且发送一个陷阱(trap)给一个简单网络协议管理器。
图6是示出在本发明的转发设备600中如何处理各种PDU的框图。在第一示例中,第一入站PDU 602通过一个双工端口经由PHY被接收,双工端口具有入口620B和出口620A端口部件。入口端口部件620B和出口端口部件620A被解除阻塞/被启用。因为入口端口部件620B被解除阻塞,所以传入的第一入口PDU 602由设备600进行处理然后通过同一端口或其它端口的出口端口部件620A转发出PDU 604。
在另一示例中,一个双工端口具有一个被禁用/被阻塞入口端口部件624B和一个启用/解除阻塞出口端口部件624A。使用被阻塞入口端口部件624B的第二入站PDU 606通过这个端口的物理层被接收。但是,交换机600丢弃该第二入站PDU 608,意思是说PDU 608不再被接纳进入交换机并且不从交换机600中进行转发。
在另一示例中,第三PDU 628由设备使用其被启用端口部件之一接收。它能够经由解除阻塞入口端口部件620B或者任何其它解除阻塞端口部件(未示出)而被接收。可以经由解除阻塞出口端口部件620A、624A或者通过任何被启用/解除阻塞出口端口部件将该第三PDU 628转发634出交换机600外。但是,如果一个出口端口部件被阻塞或被禁用——图中未示出,则可以不使用这个被阻塞出口端口部件来转发传出PDU。
图7说明了本发明实施例中的两个示例性端口阻塞状态表702、708和标志704、710的示例性数值。在这个示例中,只有双工端口#999的入口端口部件被禁用——出口端口部件被启用。
包括策略(包括安全策略)、控制网络在内的若干应用可以在转发设备600、300内实现。一个网络门限值准则例如可以被识别为应用或策略ID(标识)“0001”。在本发明的一个实施例中,使用一个策略或应用ID在交换机600内识别每个应用或策略,每个策略/应用具有其自己的标志,指示包括其入口、出口或两个端口部件在内的一个特定端口是否应该被禁用。虽然图中未示出,但是也存在指示阻塞标记涉及或表示哪一端口的方式。
根据本发明的实施例,交换机600中的每个端口可以具有其自己的标记,指示那个特定端口是应该被启用还是被禁用,并且如果适合,是否刚好入口、出口或两个端口部件都被阻塞或解除阻塞——例如,端口#999入口被禁用/被阻塞,出口被启用/解除阻塞;以及端口#888入口被禁用/阻塞,被禁用/阻塞。在优选实施例中,这个端口阻塞标志是层2中的一个或多个寄存器。本领域普通技术人员应该了解有许多方式指示这样的数值,例如通过位操作、通过“真”和“假”值、以及通过“0”或“1”值。例如经由不同的数据或目标结构与寄存器阵列,可以应用实现这个特性的其它方式。
在交换机600内实现的策略在任何给定时间可以具有不同值是可能的。根据某些条件以及在不同的时间,每个策略或应用可以把它的请求从端口被阻塞改变为解除阻塞,反之亦然。第一个表格702指示策略“001”请求端口#999被阻塞——通过“真”来指示。另一方面,策略“0002”和“0003”请求端口#999解除阻塞——通过“假”来指示。只要存在一个请求端口被阻塞/被禁用的策略,则本发明实施例优选地为所有的应用和策略阻塞或禁用那个端口的入口端口部件。这是通过把端口阻塞标志(在这种情况下端口是#999)设置为“真”来完成的704。这也意味着,通过这个入口端口部件进来的PDU应该被丢弃并且不从交换设备中进行转发。
通常连续地监控每个端口的链路状态,从而链路状态的变化,特别是从链路运行到关闭的变化,触发标志值的改变,即标志被重新设置710以使先前被禁用的端口现在被启用。持有对于那个特定端口的标记的所有应用或策略也如示例性表708中所示被重新设置。本发明的一个实施例使用链路状态中的这个变化来自动地重新启用一个先前被禁用/被阻塞的端口,并且因此,现在会处理接收到的呼入PDU以使它可以由转发设备进行转发。
以下,在表I中示出了表示图7的高级逻辑的示例性伪代码。
表I






图8是一个适于执行本发明的链路状态监控和端口管理的多层交换机800的功能框图。一个实施例的交换机800包括一个或多个OSI层1和层2处理机(L1&2处理机)804、一个或多个交换模块806和一个管理模块820,其中所有的模块合作以便经由每一个物理端口802接收入口数据业务以及发送出口数据业务。为了此实施例的目的,从另一网络节点流入交换机800的数据在此被称为入口数据单元或协议数据单元(PDU)。相反,在内部传播到一个物理端口802用于发送到另一网络节点的解除阻塞数据被称为出口数据或者传出PDU或数据单元。
在一个实施例中,入口或传入PDU借助于一个或多个入口数据总线805A从L1&2处理机804中被传送到交换模块806。类似地,如果需要进一步将入口PDU从交换机800中发送出去,则对它们进行处理以使它们已准备好经由一个或多个出口数据总线805B从交换模块506发送到多个L1&2处理机504。
管理模块820通常包括一个用于保持并实现网络业务策略的策略管理器824、一个配置管理器822、一个链路监控器862和一个端口管理器828。优选地,策略管理器824实现的策略或应用部分地基于从源学习操作中导出的层2和/或层3寻址信息、从其它路由设备中接收的路由信息、以及从使用例如简单网管协议(SNMP)消息826经由配置管理器822被网络管理员上载的过滤规则。使从源学习、其它网络节点以及管理员中获得的业务/网络策略对路由引擎830可用并且由转发表854共同表示。
优选地,链路监控器862连续地监控每一L1&2处理机804的链路状态,并且优选地是管理模块820的一部分。在本发明的一个实施例中,链路监控器562被合并到端口管理器528中。
有许多方法改变一个端口的链路状态。举例来说,微软(TM)基于窗口的个人计算机(PC)连接到一个端口,例如端口#999。通过只是从网络墙壁插座或者从PC机的网络接口卡上的连接器上拔开网络电缆就能够改变链路状况。只是重新启动PC机或者再一次断电或开启就把链路状态从链路运行切换到链路关闭,或者从链路关闭切换到链路运行。如果链路状况被改变/切换——链路运行状态到链路关闭状态或者链路关闭状态到链路运行状态,则链路监控器862检测这样的改变,并且相应地通知端口管理器828启用与那个链路关联的那个特定端口。通过利用链路状态的变化,能够很容易重新启用一个端口。例如,用户只须重新启动他们的系统或者只须拔开他们的网络电缆并将其重新插回到它们的网络连接中就可以重新启用他们的端口。从而减轻了网络管理干预。
这个链路监控器862与端口管理器828通信,端口管理器828相应地识别并把适当的端口,优选地双工端口(入口、出口或者两个端口部件)设置为被启用的/解除阻塞的或者被禁用的/被阻塞的。端口管理器828还重新设置应用或策略阻塞标志,或者把这个信息传送给策略管理器824,策略管理器824继而又重新设置适当的应用或策略。在优选实施例中,端口管理器828与L1&2处理机进行通信并且设置/重新设置适当的控制寄存器(Rx和Tx),其指示包括相应的入口和出口端口部件在内的一个端口是否应该被阻塞。因此,在L1&2处理机中处理所选的传入数据单元的丢弃。
优选地,交换机800包括能够但是不限制为进行层2(数据链路)和层3(网络)交换操作的至少一个交换模块806。用于把端口802可操作地耦合到有线和/或无线通信链路的可能的层2协议组包括电气和电子工程师学会(IEEE)802.3和IEEE 802.11标准,而可能的层3协议组包括互联网工程任务组(IETF)征求意见资料(RFC)791中定义的互联网协议(IP)版本4和IETF RFC 1883中定义的IP版本6。
优选地,交换模块806包括一个路由引擎830、一个转发表854和一个队列管理器840。路由引擎830依次包括一个分类器832,它接收来自数据总线805A的入口PDU,检查PDU的一个或多个字段,并且使用按内容寻址的存储器833把PDU分类成为多个流中的一个流。在一个实施例中,管理模块820,尤其是对于端口管理器828,命令交换模块806或者与交换模块806配合来实现本发明的阻塞和丢弃特性。在本实施例中,路由引擎830丢弃来自一个被阻塞端口的传入数据单元。但是,如果PDU不是要被丢弃——被接纳,则路由引擎830还从保持在高速存储器中的转发表854中获取转发信息。从转发表854中获取的转发信息优选地包括,但是不限制于,例如一个流标识符,用于指定准备出口的特定适当的PDU所需要的那些转发操作。
转发处理器834接收被解除阻塞入口PDU与关联的转发信息并且在发送到适当的出口端口部件之前执行一个或多个转发操作。在另一个实施例中,在这个处理器834中处理通过一个被禁用端口而来的被阻塞入口数据单元的丢弃。
对于要被发送的那些出口数据单元,转发操作优选地包括,但是不限制于用于重新封装数据的报头转换,用于把一个或多个VLAN标记附加到PDU上的VLAN标记推入,用于从PDU中删除一个或多个VLAN标记的VLAN标记弹出,用于预留网络资源的服务质量(QoS),用于监控客户业务的计费和记帐,用于选择性过滤PDU的验证,接入控制,包括地址解析协议(ARP)控制的较高层学习,源学习,以及用于确定PDU被分配交换机资源的相对优先级的服务类别(CoS)。
在转发处理器834之后,PDU被传到并存储在队列管理器840中直到带宽为可用以把PDU发送到适当的出口端口部件为止。特别地,出口PDU被缓存在缓存器842中的一个或多个优先级队列中直到它们被调度器844经由输出数据总线805B发送到适当的出口端口部件802为止。
图9是本发明的一个优选的L1&2处理机804的功能框图。在这个优选实施例中,一个L1&2处理机804通常包括适于经由网络通信链路交换PDU(例如以太网帧)的多个物理层接口(PHY)940和媒体接入控制(MAC)接口。优选地,L1&2处理机还包括至少一个数据链路层控制器900。在物理层运行的每一个PHY 940执行包括PDU(比如以太网符号流)的接收和发送在内的传统网络接口功能。
当接收到来自关联的通信链路中的一个入口PDU 902时,来自通信链路中的电或光信号被PHY 940转换成为一个字节流,其然后被发送到一个关联的MAC媒体接口/端口910。在发送模式中,PHY 940把来自一个关联的MAC端口910的一个字节流转换成为适于该介质的电或光信号。PHY 940对于它所连接的介质类型是特定的。
优选实施例中的数据链路层控制器900包括一个或多个MAC端口/接口910。优选地,多个端口910的每一个是适于接收入口数据和发送出口数据的双工端口。在层二处运行的MAC端口910执行包括以太帧的接收和发送在内的传统网络接口功能。在接收模式中,优选地,MAC端口910执行各种功能,这些功能包括,但是不限制于(a)MAC帧解析,用于例如从以太网类型/长度字段中提取被封装的协议类型、帧优先级、VLAN被标记帧的用户优先级和具有优先或DiffServ映射的IP帧的TOS字节;(b)使用接收数据以及分组解封装的帧校验序列(FCS)值的差错检查;和(c)非对称的和对称的流控制,包括例如接受流控制帧以由网络邻居停止帧传输或中止帧传输。来自MAC端口910的帧然后在MAC处理器920处进行本地处理。根据本发明的特征,优选地,通过一个被阻塞端口952接收到的入口PDU的丢弃由MAC处理器920完成。
与传统媒体接入控制器一致,MAC端口910执行各种功能,例如包括(a)冲突处理,(b)根据CSMA/CD传输协议对通信介质进行的接入控制,(c)帧检验序列(FCS)值的生成,(d)封装,和(e)发送迟延。在优选实施例中,MAC端口910适于使用接口中简化的十比特接口(RTBI)或者简化的千兆比特媒体独立接口(RGMII)类型独立地支持10、100或者1000兆比特/秒的吞吐量。
图10是一个高级功能框图,说明一般可以如何处理本发明的特性。这个图还更详细地示出了数据链路层控制器900,虽然只是它的某些部分。优选实施例的一个MAC端口910包含两个控制寄存器或者与两个控制寄存器关联接收(Rx)控制寄存器1010和发送(Tx)控制寄存器1020。Rx控制寄存器1010和Tx控制寄存器1020是指示入口和出口端口部件分别是否应该被阻塞的标志。这些寄存器优选地由端口管理器828设置和重新设置。
策略管理器824与端口管理器828进行通信,从而向端口管理器828提供在本发明的转发设备中实现的各种应用或策略1040。上述应用或策略标志可以被存储在策略管理器中,但是优选地被端口管理器828存储并保持。
链路管理器862与端口管理器828进行通信,向端口管理器828提供每一个PHY 940的链路信息1030。在一个示例中,PHY是一个千兆比特接口转换器(GBIC)。链路管理器862还向端口管理器提供它的信息以便判断是设置还是重新设置层2/Mac端口910中的控制寄存器1010、1020。
在优选实施例中,MAC处理器920读取包含在控制寄存器——Rx控制寄存器1010和Tx控制寄存器1020中的一个或多个值952。如果该一个或多个值指示端口的入口端口部件应该被阻塞,则MAC处理器920丢弃或者不接纳出自那个端口910的传入/入口数据单元,即不处理传入数据单元,以进一步从转发设备进行发送。另一方面,如果该数值指示通过那个端口910进来的传入数据单元应该被处理,则MAC处理器920处理数据单元以便进一步进行发送。如上所述,根据本发明,如果出口端口部件未被阻塞,则其入口端口部件被禁用了的MAC端口910仍然可以从它的出口端口部件进行发送。
MAC层或层2因此与PHY或层1进行通信。MAC层/层2继而又与层3或网络层进行通信。包括策略管理器、端口管理器和链路管理器在内的管理模块可以是层3的一部分或者是OSI模型的较高层之一的一部分。
本发明已经在上面依据一个目前优选实施例进行了描述,以便可以传达对本发明的一个理解。但是,本发明的交换机、转发设备、链路监控器模块、端口管理器模块、端口阻塞标志和策略标记的许多配置在此未特别描述,但是本发明利用这些配置是可应用的。不应该将本发明因此视为限制于在此所述的特定实施例,而是应该理解本发明相对于,例如,交换机、链路监控模块、端口管理器和标志通常具有广泛的适用性。例如,可以以在此未明确讨论的其它方式实现端口部件、入口和出口、在交换机内如何被识别为被禁用或是被启用。例如,它们的数值可以不在管理模块本身中被存储或者处理,而是在交换机模块本身内被存储或者处理。另一变形是链路管理器的功能以一个软件程序的形式被合并为端口管理器的一部分,优选地,被存储在计算机可读介质中并且可由计算机执行来执行本发明的发明步骤。本发明的这些特征也可以以硬件、软件或二者结合(固件)的形式实现。如所示的对于在哪里丢弃入口数据的变形可以在另一层,例如层3中完成。还可以使用无线端口。
因此,在所附权利要求范围内的所有修改、变形或等同设置和实施应该认为是在本发明的范围之内。
权利要求
1.一个用于经由一个或多个链路可操作地耦合到通信网的转发设备,该转发设备包括至少一个具有关联端口状态的接口,其中该至少一个接口适于可操作地耦合到该一个或多个链路中的一个关联链路;如果该端口状态为解除阻塞,则经由该关联的链路接收入站数据单元,以及如果该端口状态为阻塞,则丢弃来自该关联链路的入站数据单元;以及链路监控器,适于检测该一个或多个链路中的每一个链路的链路状态的变化;以及端口管理器,适于响应于检测到的该关联链路的链路状态中的变化,把至少一个端口的端口状态从阻塞自动地更改为解除阻塞。
2.如权利要求1的转发设备,其中该关联的端口状态还包括入口端口状态和出口端口状态。
3.如权利要求1的转发设备,还包括策略管理器,适于实现该通信网的一个或多个策略并且可操作地耦合到该端口管理器;其中该端口管理器还适于响应于该通信网的一个或多个策略,把至少一个端口的端口状态从解除阻塞更改为阻塞。
4.如权利要求2的转发设备,其中该至少一个接口还适于如果该出口端口状态为解除阻塞,则经由该关联的链路转发数据单元。
5.一种对转发设备中的被阻塞端口自动解除阻塞的方法,该转发设备用于可操作地耦合到通信网,该被阻塞端口与一个阻塞端口指示符关联,该阻塞端口指示符适于指示该被阻塞端口是被阻塞还是被解除阻塞,该方法包括如下步骤从与被阻塞端口关联的一个接口中接收一个或多个数据单元;监控该接口的链路状态;当在该被监控的链路状态中发生变化时,重新设置阻塞端口指示符以指示解除阻塞;以及当该关联的阻塞端口指示符指示解除阻塞时,接纳从该接口中接收到的一个或多个数据单元。
6.如权利要求5的方法,还包括如下步骤接收该通信网的一个或多个策略;基于该接收到的一个或多个策略设置阻塞端口指示符以指示被阻塞端口;以及当该阻塞端口指示符指示一个被阻塞端口时,丢弃从该接口中接收到的一个或多个数据单元。
7.一种用于可操作地耦合到通信网的转发设备,该设备包括一个或多个物理层接口,适于接收来自该通信网的一个或多个数据单元;一个或多个数据链路层控制器,其中每个数据链路层控制器包括一个或多个媒体接入控制器(MAC)端口,每个MAC端口适于可操作地耦合到该一个或多个物理层接口中的一个;一个或多个端口指示符,其中每个端口指示符与MAC端口之一相关联,并且每个端口指示符适于指示该关联的MAC端口是阻塞的还是解除阻塞的;以及至少一个MAC处理器,可操作地耦合到该一个或多个MAC端口,适于读取该一个或多个端口指示符,并且适于基于该一个或多个端口指示符来选择丢弃和接纳由该一个或多个物理层接口中接收到的一个或多个数据单元;以及转发模块,可操作地耦合到该一个或多个数据链路层控制器,适于接收被该一个或多个数据链路层控制器接纳的该一个或多个数据单元,以及适于转发从该数据链路层控制器中接收到的该一个或多个数据单元。
8.如权利要求7的设备,其中该一个或多个MAC端口的每一个还包括入口端口部件以及出口端口部件。
9.权利要求8的设备,其中该一个或多个端口指示符的每一个还包括与该入口端口部件关联的入口端口部件指示符,该入口端口指示符适于指示该入口端口部件是阻塞的还是被解除阻塞的;以及与该出口端口部件关联的出口端口部件指示符,该出口端口指示符适于指示该出口端口部件是阻塞的还是被解除阻塞的。
10.如权利要求9的设备,还包括链路监控器,可操作地耦合到多个物理接口,适于监控多个物理接口的链路状态;以及端口管理器,可操作地耦合到链路监控器,适于基于该监控的链路状态把该一个或多个端口指示符交替地设置以及重新设置为阻塞指示和解除阻塞的指示。
全文摘要
本发明特征是通过监控物理层接口的链路状态来自动重新启用一个被禁用的端口或物理媒体接口的实施例。链路状态中的任何变化都自动重新启用一个先前被禁用的端口,从而允许通过先前被禁用端口进来的数据被接纳进入交换机并自动地转发或者路由/交换,而不必网络管理员手动发出任何命令来手动地重新启用该端口。
文档编号H04L12/56GK1819548SQ20051011713
公开日2006年8月16日 申请日期2005年11月1日 优先权日2004年11月1日
发明者蒂莫西·希克斯, 菲尔·加安格, 杰格吉特·巴蒂亚 申请人:阿尔卡特公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1