具有可变地址学习、交换与路由选择的电信网络的制作方法

文档序号:7586749阅读:170来源:国知局
专利名称:具有可变地址学习、交换与路由选择的电信网络的制作方法
技术领域
本发明一般涉及通信领域,并特别涉及用于这样一种电信网络的电路与方法,该电信网络具有在环形网络上进行可变地址学习、交换与路由选择而不使用令牌或封装。
背景技术
计算机网络在大小商业、大学和其他组织中已变得很普通,这样的网络允许许多用户共享数据与资源,诸如数据存储系统、文件服务器、交换机、路由器、打印机、调制解调器与其他外围设备。有三种基本类型的协议用于在例如以太网、令牌环或光纤分布数据接口(FDDI)与封装等这些网络中发送数据。每个这样的网络协议具有一定的优缺点,这些优缺点将在本发明的背景技术中的部分Ⅰ中加以简要描述以便更好地理解本发明的教导。还有,常规的以太网协议将被描述在部分Ⅱ中。最后,那些限制了要在环形网络中配置的这样的交换机的能力的常规以太网交换机的各个方面将被描述在部分Ⅲ中。
Ⅰ.网络协议下面更全面描述的以太网基本上是一种广播协议,其主要优点是其简单性。这允许利用较便宜的硬件与软件来实施以太网。常规以太网所具有的主要缺点是对此网络能覆盖的物理距离具有大量的限制。还有,常规地,以太网的带宽更靠近网络的中心。
分别在计算机工业标准IEEE-802.5与ANSI XT3.9中所述的令牌环与FDDI当与常规以太网相比时具有能在更大的距离上发送数据的显著优点。还有,令牌环与FDDI在整个网络上提供实际上相等的带宽。令牌环与FDDI的主要缺点是其复杂的协议,这使此设备比以太网设备昂贵得多。在令牌环与FDDI网络中发送分组的方式必需这些复杂的协议。这些协议依赖于“令牌“的使用。环绕网络传送此令牌,以便使只有拥有令牌的网络实体才能在此网络上发送数据。当令牌被破坏时,网络单元不能在此网络上发送数据。在一些情况中,这能持续几秒。为解决此问题,已研制允许网络单元确定何时丢失令牌并生成一个新令牌的复杂协议。与以太网络相比,实施这些协议所要求的大量的逻辑电路使令牌环与FDDI网络实施与维护昂贵。
最后,已发展了封装协议,它允许在较长的距离上发送以太网分组。在这样的协议中,整个以太网分组带着它自己的包括附加的寻址信息、协议信息等的标题一起被放置在另一类型的分组内。这些协议一般也具有这样的问题,即它们可能要求将特殊的较高层协议信息包括在以太网分组的数据字段中以便在网络中控制路由器,这样,就限制了能处理的数据分组的类型,并给生成这些分组的网络设备和用于在各个以太网络之间发送与接收这些分组的路由器施加了显著的处理负担。这些附加的协议单元与限制一般要求将昂贵的硬件与软件附加到本来是很廉价的以太网络上。还有,这样的协议一般要求使用人工生成的用于路由器的地址表。
Ⅱ.以太网以太网已变成用于局域网的公用协议并且由于上述的优点而广泛使用。对于本说明书,术语“以太网”包括由一系列分别称为IEEE-802.3与ISO8802/3的计算机工业标准覆盖的全部类别的载波检测多址连接/碰撞检测(CSMA/CD)协议,这包括但不限于称为“StarLAN”的1兆比特以太网、10兆比特以太网、称为“快速以太网”的100兆比特以太网、称为“吉比特以太网”的1吉比特以太网和任何其他数据速率上的任何未来CSMA/CD协议。
最初,以太网被设计为具有以大约每秒10兆比特的速率传送数据分组给终端并从终端中传送数据分组的数据总线的半双工广播系统。连接到以太网的每个终端能发送给此网络上的所有终端或从这些终端中接收(“多址连接”,即CSMA/CD中的“MA”),但在原始以太网中不可以同时发送与接收。还有,以太网被设计为一种没有终端在给定时间上接入数据总线的中央控制的网络。以太网基于两个终端极少同时发送和每个终端首先“监听”此总线以查清另一终端是否已在发送(“载波检测”,即CSMA/CD中的“CS”)的概率原则,这和利用令牌管理确定性控制的令牌环与FDDI系统以及由ATM(异步传送模式)交换机或路由器通过特定路由器间协议处理中央确定性控制的ATM网络与路由器大不相同。
当两个终端同时试图发送时,会发生碰撞。所涉及的终端通过监视数据总线上的碰撞信号或监视发送之后此总线上被破坏的数据分组来检测碰撞(“碰撞检测”,即CSMA/CD中的“CD”)。为了使已发送的终端认识到具有碰撞,所有的终端必须接收所涉及的所有分组和碰撞信号。因此,此网络不能大于最小分组从开始至完成所覆盖的距离的一半。在每秒10兆比特的情况下,64字节分组的最小以太网分组从开始至完成耗时5.12毫秒。因此,局域网不能大于一个分组在2.56毫秒(包括来自网络设备的任何传播延迟)内移动的距离。当检测到碰撞时,每个终端在试图重发其分组之前将等待一个随机的时间量,以避免此网络上的其他碰撞。这与令牌环、FDDI、ATM和路由器不同,这是因为利用令牌与附加协议管理的集中式确定性控制不允许碰撞并因此能在长得多的距离上发送数据。
以太网与所有其他的网络协议一样以分组形式发送。这些数据分组包括源地址、目的地址、发送的数据、和通常称为循环冗余校验或CRC的一系列数据完整性比特。此源地址识别始发此分组的设备,而目的地址则识别通过此网络将此分组发送至的设备。
最近已研制的全双工以太网通过在两个终端之间具有单独的发送与接收信道来消除半双工以太网的定时限制。在这种方式中,由于发送信道只发送给单个接收机,而此接收机从不从任何其他的发射机中接收传输,所以从没有碰撞。全双工以太网要求每个以太网设备具有另外的缓冲存储器与逻辑来同时存储发送分组与接收分组。具有能发送分组给其他交换机或终端并从其他交换机或终端中接收分组的多个端口的传统以太网集线器不能处理全双工以太网。原始的以太网交换机也不能处理全双工以太网,但市场上最近的以太网交换机具有附加的缓冲存储器与逻辑可在其一个或多个以太网端口上用于允许一个或多个这样的端口操作在全双工模式中。
为了将数据分组从输入端口交换到特定终端,此以太网交换机必须知道此交换机上的哪个端口连接到至此终端的路径。常规地,以太网交换机“自学”附加到或与此交换机的每个端口相关的终端的标识。每个交换机端口在它接收到每个分组时在用于那个端口的存储表中记录此分组的源地址。
还有,当在此交换机的一个端口上接收到分组时,将此分组的目的地址与用于此交换机的其他端口的存储表进行比较。当在用于一个端口的表中找到此目的地址的匹配时,将此分组交换到那个端口并从那个端口中发送出去。然而,如果此分组是“广播分组”,即,具有十六进制目的地址FFFFFF的分组,则将此分组广播给此交换机上的其他端口,但从不返回广播给原始接收端口。而且,如果对于非广播或单播目的地址没有匹配,则此交换机可以假定这是通过此交换机至新终端的第一分组。由于不知道此终端的位置,所以可以将此分组广播给此交换机上的其他端口,但从不返回广播给原始接收端口。同样地,可能具有使用特别预留目的地址的“多播”分组,这样的分组将广播给一个选定的设备组。
虽然不是以太网协议的一部分,而是通常使用的较高层协议(例如,TCP/IP)的一部分,但如果此广播或单播分组到达其预定目的地,则目的设备通常利用返回给广播此分组的交换机的一个确认来应答。当此确认分组到达此交换机时,此交换机将目的终端的确认分组的源地址输入到用于那个端口的存储器,以记录此目的终端与此交换机中的端口的关联性。以这种方式,发送给那个站的后续分组将被交换到此交换机的正确端口。
Ⅲ.常规的以太网交换机的单向环具有的问题与所有其他的以太网设备一样,不能在单向环形网络中构造常规以太网。人们能想象一种可能的结构,其中每个交换机使用一个端口从此环(“环入端口”)中接收分组、使用一个端口将分组放置到此环(“环出端口”)上、以及使用一个或多个本地端口以便连接到局域网去。这种结构在使用常规以太网交换机时将导致至少两个问题。
首先,具有广播地址、多播地址或例如用于不与此环形网络相关的终端的无效地址的以太网分组,由于以太网交换机处理具有未知目的地址的分组的方式因而不确定地围绕此环形网络移动。如上所述,如果常规以太网未在用于此交换机的端口的表中未找到分组的目的地址,则从此交换机的包括此环出端口的每个端口中广播此分组。由于此地址是无效的,所以此环形网络中的每个交换机又将从其环出端口中广播此分组。因而,此分组将不确定地围绕此环形网络移动。
还有,在这样的单向环形网络中,交换机将试图从此交换机的环入端口中发送出一些分组。如上所述,常规的以太网交换机使用在一个端口上接收的分组的源地址来建立用于此端口的表。此表把通过此端口能到达的终端指示给此交换机。在单向环形网络中,当一个分组通过此环入端口进入交换机时,此交换机使发送此分组的终端(例如,设备A)与此环入端口相关。因而,在此交换机从预定用于设备A的本地端口中接收到分组时,此交换机试图从只接收的环入端口中发送此分组而不从环出端口中发送此分组。
可选择地,人们可能试图使用每个交换机一个端口来连接单向环中的交换机。在此结构中,可以这样连接全双工以太网端口的接收电路,以便从此环中接收分组,并且可以这样连接同一全双工以太网端口的发送电路,以便通过此环发送分组给下一交换机。然而,这与下面的基本以太网规则之一相冲突如果在一个端口上接收的分组的目的地址与用于那个端口的表中的源地址相同,则抛弃此分组。这称为“目的地址过滤”规则。如刚才所述的常规以太网交换机的环中的目的地址过滤的应用表示一旦此交换机的端口已经知道此环上其他终端的所有源地址,将不允许任何从此环上的前一交换机始发并预定要送到此环上后一交换机的分组进入此交换机,以便能沿着此环将此分组传送给下一交换机。而且,以太网的第二基本规则(即,从来不会在从中接收分组的端口上发送出此分组)表示即使来自前一交换机的分组能进入接收电路,也从来不会从那个端口中将此分组发回到该环上,从而将它送至后一个交换机。我们在此可能注意到如果利用常规以太网集线器来尝试采用任何一种这些方案将会导致所有相同或更多的问题,这是因为集线器被设计成总是广播每个分组。
一些公司试图通过使用不同的定制的协议封装以太网分组以便传输从而来设法回避这些问题。然而,这些技术给实质上模仿令牌环或FDDI网络的设备增加大量的复杂性并因此增加大量的开支。而且,这些技术丢失了以太网系统的许多益处。用于连接环中的以太网LAN的更常用技术是使用路由器将以太网分组变换为令牌环、FDDI或其他面向环的分组。此技术可以包括在另一类型的分组中封装以太网分组(这要求将特殊的较高层协议信息包括在以太网分组的数据字段中以便控制路由器),以及要求这样的设备的用户人工编程路由选择地址表。
由于上述原因和对于本领域技术人员在阅读与理解本说明书之后将变得显而易见的下述的其他原因,在本领域中需要一种对于包含在数据分组中的数据与协议是透明的、能够自学所有设备的位置而无需人工干预、并且实施简单和低成本的环形网络。
发明概要环形网络具有的上述问题与其他问题可以利用本发明来解决,通过阅读与研究下面的描述就可以明白。将要描述与环形网络一起使用的系统与方法。有益地,环形网络允许系统设计者选择与此网络中的每个设备相关的识别符以便用作为在此环形网络中进行交换的基础。此识别符也用于阻止分组环绕此网络不确定地移动。此识别符也被环形交换机用于自学网络中各个设备的位置。许多不同的信号能被用作为此识别符。例如,以太网分组的媒体接入控制(MAC)地址、因特网协议(IP)地址、分层地址的至少一部分、通用数据报协议的端口号、在用于此数据分组的相同或不同协议层的两个或多个识别符的组合、或其他合适的识别符。
特别地,在一个实施例中,提供了用于在网络设备之间传送数据分组的一种环形网络。此环形网络包括多个环形交换机。每个环形交换机具有至少一个环形端口、至少一个本地端口、和根据从被此环形交换机处理的分组中选出的源识别符来自学哪些网络设备是与此环形交换机的每个端口相关的至少一个表。此选出的源识别符例如可以是以太网分组的媒体接入控制(MAC)地址、因特网协议(IP)地址、分层地址的至少一部分、通用数据报的端口号码、用于此数据分组的相同或不同协议层上两个或多个识别符的组合、或其他合适的识别符。每个环形交换机的至少一个环形端口耦合到此环形网络中另一环形交换机的环形端口。此环形交换机在它的环与本地端口之间交换数据分组以便将这些数据分组传送给与此环形网络中环形交换机的至少一个本地端口相关的特定网络设备。要这样来构造这些环形交换机的端口,以便根据此至少一个表将在至少一个环形端口与至少一个本地端口上接收的、未预定要送到与此环形交换机的至少一个本地端口相关的网络设备去的数据分组交换到此环形网络的另一环形交换机而不需使用令牌或封装此分组。
在另一实施例中,提供了用于环形网络的一种环形交换机。此环形交换机包括可以被耦合以便在环形网络中传送数据分组的至少一个环形端口。此环形交换机也包括可被耦合到至少一个局域网或设备的至少一个本地端口。此环形交换机还包括至少一个表,此表根据在此环形交换机的端口上接收的数据分组中选出源识别符去跟踪与此环形交换机的每个端口相关的网络设备的识别符。根据此至少一个表将在至少一个环形端口上接收的、未预定要送到与此环形交换机的至少一个本地端口之中的任何一个本地端口相关的网络设备的数据分组交换给被耦合到此至少一个环形端口的另一环形交换机,而不需使用令牌或封装此分组。
在另一实施例中,提供了用于环形网络的一种环形交换机。此环形交换机包括双向环形端口,它可以被耦合以便通过环形交换机的环以便去接收数据分组和发送数据分组。此环形交换机包括可耦合到至少一个局域网的至少一个本地端口。此环形交换机也包括根据从被此环形交换机处理的数据分组中选出的源识别符来自学并存储与至少一个双向环形端口及至少一个本地端口相关的网络设备的识别符的至少一个表。此环形交换机允许在此环形端口上接收的数据分组从此交换机的本地端口和/或环形端口中进行重发,以便能根据目的地识别符和此至少一个表将这些数据分组传送给此环形网络中的这个或其他环形交换机上的设备,而不需使用令牌或封装此数据。此环形交换机也包括与双向环形端口相关的用于消除具有对应于与此交换机的至少一个本地端口相关的网络设备的源识别符的输入数据分组的电路。
在另一实施例中,提供了用于环形网络的一种环形交换机。此环形交换机包括一个可以被耦合以便从此环形网络中接收数据分组的环入端口,此环形交换机还包括一个可以被耦合以便提供数据分组给此环形网络的环出端口。也提供至少一个本地端口。此至少一个本地端口可被耦合到局域网。此环形交换机还包括至少一个表来跟踪与此环形交换机的端口相关的网络设备中的选出识别符。当在此环入端口上接收到数据分组时,此表将该网络设备的选出的识别符与此环出端口相关联。
在另一实施例中,提供了用于在环形网络中为环形交换机的端口建立一个表的一种方法,此方法包括在此环形交换机的第一端口上接收数据分组。此方法还包括从此数据分组中读出选择的源识别符。此方法在一个表中存储用于此环形交换机的源识别符,它表示从与此交换机的第二不同端口相关的网络设备中始发此数据分组,从而允许在此环形网络上单向传输。
在本发明的另一实施例中,提供了用于从环形网络中消除数据分组的一种方法。此方法包括在此环形网络的环形交换机的环形端口上接收数据分组。此方法从此数据分组中读出选择的源识别符并将此源识别符与此环形交换机的至少一个表进行比较。此至少一个表示哪些识别符是与此交换机的每个端口相关的。当此源识别符对应于与此交换机的本地端口相关的网络设备时,抛弃此数据分组。
在另一实施例中,提供了用于在环形网络的环形交换机中处理数据分组的一种方法。此方法包括在此环形交换机的双向环形端口上接收数据分组。此方法还包括读出此数据分组中的选出的源识别符。当此源识别符未存在于用于此环形交换机的端口的表中时,在至少一个表中存储此源识别符,同时把此识别符作为是用于与此环形端口相关的网络设备的指示。此方法从此数据分组中读出选择的目的地识别符。当用于此数据分组的目的地识别符存在于用于此环形交换机的表中时,即使在此环形端口上接收到此数据分组并且将此目的地识别符与此环形端口相关而不需使用令牌或封装此数据分组,也将此数据分组交换到与此目的地识别符相关的环形交换机的端口。当用于此数据分组的目的地识别符未存在于用于此环形交换机的表中或此数据分组是广播数据分组时,将此数据分组广播给此环形交换机的所有端口。当用于此数据分组的目的地识别符是多播识别符时,则将此数据分组广播给此环形交换机的所有合适的端口。
在另一实施例中,提供了用于在环形网络的环形交换机中处理数据分组的一种方法。此方法包括在此环形交换机的环入端口上接收数据分组。读出此数据分组的选出的源识别符。当此源识别符未存在于用于此环形交换机的端口的表中时,将此源识别符存储在此表中,同时把此识别符作为是用于与此环形交换机的环出端口相关的网络设备的指示。此方法还包括从此数据分组中读出选择的目的地识别符。当用于此数据分组的目的地识别符存在于用于此环形交换机的表中时,将此数据分组交换到与此目的地识别符相关的环形交换机的端口。当用于此数据分组的目的地识别符未存在于用于此环形交换机的表中或此数据分组是广播数据分组时,广播此数据分组。当用于此数据分组的目的地识别符是多播识别符时,将此数据分组广播给此环形交换机的所有合适的端口。
图1是根据本发明教导的环形网络的实施例的方框图。
图2是根据本发明教导的用于在环形网络中处理数据分组的方法的实施例的流程图。
图3是根据本发明教导的环形交换机的方框图。
图4是表示根据本发明教导的用于在环形网络中处理数据分组的方法的另一实施例的流程图。
图5是根据本发明教导的修改的以太网交换机的实施例的方框图。
图6是表示根据本发明教导的用于识别具有无效目的地址的分组的方法的实施例的流程图。
图7是表示根据本发明教导的用于学习与以太网交换机的本地端口相关的终端的地址的方法的实施例的流程图。
图8是根据本发明教导的修改的以太网交换机的另一实施例的方框图。
图9是表示根据本发明教导的用于识别具有无效目的地址的分组的方法的另一实施例的流程图。
图10是表示根据本发明教导的用于学习与以太网交换机的本地端口相关的网络设备的地址的方法的另一实施例的流程图。
图11是根据本发明教导的环形网络的另一实施例的方框图。
图12是根据本发明教导的用于被环形交换机处理数据分组的方法的方框图。
图13是根据本发明教导的用于被环形交换机处理数据分组的另一方法的方框图。
详细描述图1是用于在单向环形网络中发送数据分组的、总体上以100表示的系统的实施例的方框图。对于本说明书,术语数据分组包括以太网、令牌环、FDDI、异步传送模式(“ATM”)和具有至少包括源地址、目的地址、有效负载数据与选择地包括诸如循环冗余校验的纠错码的格式的其他数据分组。
对于本说明书,术语“源地址”与“目的地址”包括但不限于一般是在网络设备中编程的48比特硬件地址的媒体接入控制(MAC)地址,例如,以太网MAC地址。可选择地,其他地址或信号能用来替代MAC地址。例如,因特网协议(IP)地址在交换分组时能用作源与目的地址。IP地址一般包括可能与MAC地址不同的源与目的地址。每个IP地址是IP分组的标题中的32比特数字。还有,通用数据报协议(UDP)标题中的端口号码也能用于确定在哪对网络单元中的分组进行交换。
诸如因特网的网络中的子网络的分层结构也提供用于交换分组的基础。例如,根据子网络定义因特网地址,这样的地址是以X.Y.Z.W的形式,其中X一般表示类型A网络,X.Y一般表示类型B子网络,X.Y.Z一般表示类型C子网络,而W一般表示子网络上设备的地址。利用此结构的地址,用于交换设备的源识别符与目的地识别符可以只包括分层地址的一部分。例如,能只对此分层地址的3、8、10或16比特或任何其他部分进行交换判定。
还应明白术语“源地址”与“目的地址”也包括上述的各个地址或识别符的任何组合。例如,网络的单元能根据MAC地址与IP地址以及这些地址的一部分进行交换判定。也能使用各个识别符的其他组合。
实质上,术语源地址与目的地址包括能用于识别在环形网络上发送的分组的源地址与目的地址的任何数据或信号。因而,术语“地址”与“识别符”在此可相互交换地使用,以包括识别数据分组的源或目的地的任何数据、信号或其他指示。而且,源与目的地可以应用于最后或中间源或目的地。
还有,术语“以太网”包括利用分别称为IEEE-802.3与ISO8802/3的计算机工业标准系列覆盖的全部类型的载波检测多址连接/碰撞检测(CSMA/CD)协议。这包括但不限于称为“星形LAN”的1兆比特以太网、10兆比特以太网、称为“快速以太网”的100兆比特以太网、称为“吉兆以太网”的1吉比特以太网、和任何其他数据速率的任何未来CSMA/CD协议。有益地,系统100允许在单向环形网络中发送常规的数据分组而不会涉及常规环形网络中使用的封装与令牌协议的显著复杂性。系统100对数据分组进行操作而不管使用的数据速率与特定数据分组协议如何。系统100也克服上面根据试图在环形网络中使用常规以太网交换机、集线器或其他设备时所述的问题。
系统100包括许多环形交换机104-1至104-N,这每个交换机自学哪些网络设备与此环形网络的各个端口相关。每个环形交换机包括耦合到本地网络的一个或多个本地端口。这些本地端口能包括被构造成与以太网、令牌环、ATM、FDDI或其他合适网络协议一起使用的端口。例如,环形交换机104-1包括耦合到局域网(LAN)106-1的至少一个本地端口。局域网106-1包括耦合到公用总线108-1的网络设备A、B与C。如本说明书中所使用的,术语“网络设备”包括但不限于集线器、计算机终端与工作站、路由器、交换机、网关和在网络中被常规耦合的其他设备。
应注意环形交换机104-2具有耦合到其本地端口的两个局域网,即106-2a与106-2b。这表示这些环形交换机能支持基本上可能多于2的多个局域网。
环形交换机104-1至104-N借助互连这些环形交换机的环形接口的传输媒体而耦合在一起以形成系统100的环。如图1的实施例中所示,环形交换机104-1至104-N利用线路102-1至102-N耦合在一个环中。线路102-1至102-N可以包括例如双绞线、同轴电缆、印制电路板上的导体、单个集成电路的子部分之间的内部连接、光缆、无线连接、或用于在系统100的环形交换机之间发送数据分组的其他合适的媒体。以这种方式,系统100能以增加常规以太网交换机的可提供的本地端口的数量的一种低成本方式而被利用。
在图11所示的可选择实施例中,耦合环形收发信机1102-1至1102-N以形成用于在系统100的环形交换机之间发送以太网分组的单向环。环形交换机1104-1至1104-N分别与环形收发信机1102-1至1102-N相关。环形收发信机1102-1至1102-N可以包括例如可从Minnetonka(Minnesota)的ADC Telecommunications公司中获得的多个DV6000光纤传送系统。DV6000提供16个信道的容量来传送数据。在此实施例中,只有DV6000的一个信道用于在系统1100中发送以太网分组。其他信道可以用于另外的环形交换机网络或其他用途,例如,视频、话音或其他数据传输。可选择地,环形收发信机102-1至102-N可以利用诸如无线收发信机、光纤收发信机等的其他常规传送机制来实施。
有益地,系统100的环形交换机104-1至104-N使用一种可阻止分组不确定地围绕此环形网络发送的方法。根据一个实施例,环形交换机在分组进入此环形交换机的环形接口时读出分组的源地址。如果在此环形接口上接收的分组的源地址对应于与此环形交换机的本地端口相关的网络设备的地址,此方法从此环中消除此分组并抛弃此分组。这表示从与本地端口相关的网络设备(例如,用于环形交换机104-1的网络设备A、B或C)中始发的分组完整地通过系统100的环并返回到达始发环形交换机的环入端口上。此方法允许环形交换机消除分组,这是因为未在系统100中找到从与其本地端口之一相关的网络设备中始发的分组的目的地址。
在另一实施例中,每个交换机的识别号码用于阻止分组不确定地围绕此环形网络移动。当一个分组从本地端口进入环形交换机时,将用于此环形交换机的识别号码附加到此分组之后、之前或添加到此分组中。当在环形交换机的环形接口上接收到分组时,此环形交换机查看此分组的识别号码。如果此识别号码表示此分组从此环形交换机中始发,则从此系统中消除此分组。在另一实施例中,在其始发环形交换机上给此分组附加上一个计数值。处理此分组的网络中的每个后续环形交换机递增此分组的计数值。还有,处理此分组的每个环形交换机检查此计数值。如果此计数值超过一个指定门限,则消除此分组。选择此计数最大值,以便当此分组至少在此网络中环绕一次时,从此环中消除此分组。
环形交换机104-1至104-N也使用一种允许分组的正确处理而不丢失数据的用于处理环形接口上的数据分组的修改的方法。在一个实施例中,用于每个环形交换机的环形接口包括两个端口环入端口与环出端口。基本上,此环形交换机根据在环入端口上接收的分组的源地址来建立用于此环出端口的地址表。因此,预定用于与系统100中的其他环形交换机的本地端口相关的网络设备的分组将从此环出端口中输出,并围绕此环移动而且被交换到合适环形交换机的本地端口。以这种方式,环形交换机知道那些不与此交换机的本地端口相关的系统100中的所有网络设备只能通过环出端口而不通过环入端口到达。注意在每个这样的实施例中,此环形交换机可以保持多个地址表或用于此环形交换机的所有端口的单个地址表或用于每个端口的单独表。在利用单个地址表的情况中并且有可能在多个地址表的情况中,此环形交换机使用与此表中的每个地址相关的多个比特来表示此端口与此地址相关。
在另一实施例中,每个环形交换机的环形接口包括如图3所示的单个双向环形端口。为了消除丢失数据的问题,在此实施例中,此方法使用通常的地址表和地址学习技术,但允许也从此环形端口中发送在此环形端口上接收的分组,这违反以太网交换机的常规规则不能在接收了一个分组的端口上交换输出此分组。在此实施例中,也中止了目的地址过滤的规则,以便能利用中间交换机来接收从此环上前一环形交换机中始发并预定要送到此环上后一环形交换机的分组。
通过在由此网络传送的分组之前附加上、在其之中包括、或在其之后附加上识别符或“标记”就能在网络100上提供各种业务。例如,利用这样的标记能实施诸如虚拟局域网(VLAN)、服务质量(QOS)的业务与其他业务。
网络100能使用如下的标记实施VLAN。多个局域网(LAN)能耦合到例如图1的环形交换机104-2与104-3中所示的环形交换机的本地端口。从该环交换到本地端口的诸如广播或多播分组的某些类型的分组可以在从此环中丢弃业务的环形交换机的所有端口上发送。这会由于一个组织或设备能接收预定给其他组织或设备的数据而产生安全性问题。在一些情况中,属于不同组织的两个或多个LAN(例如,一个组织停止从另一组织中接入此环形交换机)可以耦合到同一交换机的本地端口。有益地,在一个实施例中,网络100包括在分组之前、之后附加上或包括在分组中的虚拟LAN识别符(VLAN)以区别在相同或不同交换机的本地端口上的LAN的分组。例如,LAN106-2a与106-3a与LAN相关。当在环形交换机104-2的本地端口上从网络设备G或H中接收到分组时,根据接收到此分组的本地端口而在这些分组之前、之后附加上或在这些分组中包括VLAN识别符。当从此环中交换出这些分组时,环形交换机104-3查看之前附加上的VLAN识别符以便确定哪些本地端口允许用于这些分组。在此示例中,此环形交换机将从用于LAN106-3a的本地端口中发送具有合适的VLAN识别符的任何与所有分组。
在从此本地端口中发送之前从此分组中消除VLAN识别符,以阻止用户接入要被交换机用于实施VLAN的信令,这给VLAN的用户提供附加等级的安全性。因而,即使此分组是广播或多播分组,也不从所有端口中输出此分组。相反地,只从被表示为是VLAN的成员的端口中交换输出此分组。
在另一实施例中,能根据一个是虚拟局域网(VLAN)的组成部分的网络设备的识别符(例如,MAC地址、IP地址或其他合适的识别符)的表生成一个VLAN。例如,在虚拟LAN上网络设备H、I与K相关联。当在环形交换机104-2的本地端口上从网络设备H中接收到预定要送到网络设备K的分组时,根据被标识为是VLAN的成员的设备的识别符的表,可以在这些分组之前、之后附加上或在这些分组中包括VLAN识别符。当从此环中交换输出这些分组时,环形交换机104-3查找所述那些在其之前、之后附加的或被包括在其中的VLAN识别符和识别符的表,以便确定哪些本地设备是利用此VLAN识别符识别的VLAN的成员。在此示例中,此环形交换机将从用于LAN106-3b的本地端口中利用合适的VLAN识别符发送来自网络设备H的任何和所有分组给设备K。
在从此本地端口中发送之前从此分组中消除此VLAN识别符,以便阻止用户接入要被交换机用于实施VLAN的信令,这样就给VLAN的用户提供附加一层的安全性。因而,即使此分组是广播或多播分组,也不从所有端口中输出此分组。相反地,只从具有被表示为VLAN的成员的网络设备的端口中交换输出此分组。
在其他实施例中,能识别一个网络设备与本地端口的组合以建立虚拟局域网。
VLAN识别符也能用于在网络100中实施多播功能。虽然图1表示利用环形交换机的环互连的多个LAN,但这些本地端口也可能耦合到提供例如视频数据的信号给电视节目或电视会议的用户的有线网络。在此实施例中,VLAN识别符用于将分组传送给特定组的用户。例如,网络设备G、H、J、C与B处在正在例如从与环形交换机104-N相关的源中接收分组(例如,正提供按观看次数收费业务给被识别设备的有线系统的标题末尾)的一个集团中。当在环形交换机104-N上接收到分组时,此环形交换机查看一个表示与例如MAC或这些分组的IP地址相关的VLAN识别符的表。此地址例如是以太网多播地址、IP多播地址或其他合适的多播地址。在这些分组之前、之后附加上或在这些分组中包括此VLAN识别符并围绕此环发送这些分组。
在每个环形交换机上,多播地址表示此分组是一个VLAN分组,以便使此环形交换机查看所述之前、之后附加的或包括的VLAN识别符。例如,环形交换机104-2查看它的表并根据例如与此VLAN识别符相关的表中的MAC地址或IP地址来确定此VLAN识别符和网络设备G与H相关联。环形交换机104-2因而在包括网络设备G与H的本地端口上发送出这些分组。这些分组包括由网络设备解码的多播地址。可选择地,环形交换机104-2能生成此分组的拷贝并插入将要接收这些分组的每个网络设备的以太网和/或IP地址。
下面的


是从处理分组的观点进行的而不具体结合诸如VLAN识别符的标记的使用。然而,将明白在此所述的处理与系统通过描述出现在标记系统内的处理也适用于标记环境中。特别地,例如,“广播分组”或分组的“广播”的全部论述表示只将此分组广播给与同一VLAN识别符相关的设备。同样地,例如,将分组从环中交换到特定设备的所有论述表示根据设备识别符从此环中交换出此分组而不在此环形交换机的本地端口上发送此分组,除非(利用源识别符确定的)发送此分组的设备和(利用目的地识别符确定的)预定接收者都是同一VLAN的成员。
图2是表示根据本发明教导的用于在环形网络中处理数据分组的方法的第一实施例的流程图。此方法实施根据在环入端口上接收的数据分组的源地址为环形交换机的环出端口来生成一个地址表的技术。此方法也相对以太网交换机的一个或多个本地端口的地址表检查输入分组的源地址,以消除已围绕此环形网络移动的从本地端口中始发的分组。下表提供在图2与4中使用的缩略语的定义。

此方法在方框200开始处理输入数据分组。此方法使用的第一因数是确定哪种类型的端口已接收到此数据分组。此方法根据是在环入端口还是在本地端口上接收到此输入数据分组来以不同方式处理数据分组。因而,在方框202,此方法确定交换机是否在环入端口上接收到输入数据分组。如果在本地端口上接收到此数据分组,此方法前进至方框206并使用常规交换技术来处理此数据分组。此方法随后在方框208结束此数据分组的处理。
如果在环入端口上接收到此数据端口,此方法从方框202前进至方框212并使用修改的技术来解决上面根据处理环入网络中的数据分组所述的问题。此方法首先确定此交换机是否以前已处理此网络设备的数据分组。此方法通过在此环形交换机的至少一个地址表中查找输入数据分组的源地址来这样做。如果此源地址未处在一个地址表中,此方法前进到方框214并将此输入数据分组的源地址放置在用于环出端口的表中,即使在环入端口上接收到此数据分组。因此,预定要送到始发此数据分组的网络设备的、由环形交换机处理的未来数据分组将在环出端口上发送到此环形网络上,以便在它的环形交换机的本地端口上交换给此网络设备。
此方法接下来转而确定在哪交换此数据分组。在方框216,此方法确定此输入数据分组的目的地址是否在此环形交换机的任何一个端口的地址表中。如果此目的地址在至少一个地址表之一中,此方法将此数据分组从环入端口交换到此地址表中所示的端口。此方法随后在方框208结束此数据分组的处理。
在方框216,如果此数据分组的目的地址未处在用于此环形交换机的端口之一的地址表中,此方法在除了此环入端口之外的所有端口上广播此数据分组。此方法在方框208结束此数据分组的处理。
如果在方框212此方法确定此源地址对于此环形交换机是已知的,则此方法前进至方框224。在方框224,此方法确定此输入数据分组的源地址是否在用于此环出端口的地址表中。如果是这样的话,此方法前进至方框226并更新用于此环出端口的地址表中的源地址的旧计数值。此方法前进至方框216以便如上所述完成此数据分组的处理。
如果在方框224此方法确定此输入数据分组不是来自与此环出端口相关的网络设备,则此方法前进至方框228并滤除、截短或否则删除此数据分组。在这种情况中,确定此源地址是用于本地端口的地址表。这表示利用与此环形交换机的本地相关的网络设备始发此数据分组,并且此分组已围绕此环形网络移动而未交换到此输入数据分组的目的地址所表示的网络设备。因而,此输入数据分组是一个不正确寻址的广播分组或一个多播分组,并应从此网络中消除此分组。
图4是表示根据本发明教导的用于在环形网络中处理数据分组的方法的另一实施例的流程图。此方法实施使用诸如在常规以太网交换机中使用的自学类型的常规自学功能的技术,但是即使是在环形端口上接收到数据分组时也允许从此环形端口中发送出这些数据分组以防止数据的丢失。因而,此方法违反在每个其他公知的现有类型的以太网设备中使用的以太网分组处理的常规规则、并特别违反在以太网交换中使用的规则。此方法也相对用于此环形交换机的一个或多个本地端口的地址表来检查输入数据分组的源地址,以便消除已围绕此环形网络移动的从本地端口中始发的数据分组。
此方法在方框400开始处理输入数据分组。此方法使用的第一因数是确定哪种类型的端口接收到此输入数据分组。此方法根据是在环形端口还是在本地端口上接收到此输入数据分组来以不同方式处理这些数据分组。因而,在方框402,此方法确定此交换机是否在环形端口上接收到此输入数据分组。如果在本地端口上接收到此数据分组,此方法前进至方框406,并使用常规的交换技术来处理此数据分组。此方法随后在方框408结束此数据分组的处理。
如果在此环形端口上接收到此数据分组,此方法从方框402前进至方框412,并使用修改的技术来解决上面根据在环形网络中处理数据分组所述的问题。此方法首先确定此环形交换机是否以前已处理此网络设备的数据分组。此方法通过在用于此环形交换机的端口的地址表中查找输入数据分组的源地址来进行。如果此源地址未处在与一个端口相关的地址表中,此方法前进至方框414,并如常规以太网实践中一样将此输入数据分组的源地址放置在此环形端口的表中。
此方法接下来转而确定在哪里交换此数据分组。在方框416,此方法确定此输入数据分组的目的地址是否在用于此环形交换机的端口之一的地址表中。如果此目的地址处在用于一个端口的表中,即使此目的地址在用于此环形端口的表中,此方法也在方框418将此数据分组从环形端口交换到具有包含此目的地址的地址表的端口。这违反常规以太网规则,但在这种情况中有益地允许环形交换机在环形网络中进行构造。此方法随后在方框图408结束此数据分组的处理。
在方框416,如果用于此数据分组的目的地址未在此环形交换机的端口之一的地址表中,则此方法在方框420在包括此环形端口的所有端口上广播此数据分组。此方法在方框408结束此数据分组的处理。
如果在方框412此方法确定此源地址对于此环形交换机是已知的,则此方法前进至方框424。在方框424,此方法确定此输入数据分组的源地址是否处在用于此环形端口的地址表中。如果是这样的话,则此方法前进至方框426并更新用于此环形端口的地址表中的源地址的旧计数值。此方法前进至方框416,以便如上所述完成此数据分组的处理。
如果在方框424此方法确定此输入数据分组不是来自与此环形端口相关的网络设备,则此方法前进至方框428并滤除、截短或否则删除此数据分组。在这种情况中,确定此源地址是用于本地端口的地址表。这表示利用与此环形交换机的本地端口相关的网络设备来始发此数据分组,并且此数据分组已围绕此环形网络移动而未交换到此输入数据分组的目的地址所表示的网络设备。因而,此输入数据分组是未正确寻址的广播分组或多播分组,并应从此网络中消除此分组。
图5是根据本发明教导的用于环形网络的一般以500表示的环形交换机的可选择实施例的方框图。在此实施例中,与常规以太网交换机502一起使用外部电路来实施该方法以便阻止数据分组不利地从此网络中丢失,并滤除已围绕此环形网络移动而未交换到环形交换机之一的本地端口上的数据分组。在此实施例中,交换机502是由TexasInstruments of Richardson,Texas制造的Thunderswitch系列号TNETX3150或由Galileo Technology of Karmiel,Israel制造的GT-48002或GT-48002A Fast Ethernet Switch Controller(快速以太网交换控制器)。Thunderswitch与Galileo交换机是具有使这些交换芯片能通过外部处理器的强制或控制从而中止其常规自动地址表自学算法的接口端口并允许外部处理器在地址表中放置地址的以太网交换机的示例。在此实施例中,外部处理器读出从此环中输入的源地址,并利用由此外部处理器设置到环出端口的端口识别比特上的端口识别比特来将这些地址写入地址表中。可选择地,交换机502可以包括PMC-Sierra,Inc.of Burnaby,BC,Canada公司制造的常规PM33351 FastEtherDirector Ethernet交换机。利用此实施例,PM3351交换机能重新进行编程以禁止端口的目的地址过滤功能,从而允许从数据分组所到达的同一端口中发送这些数据分组。在此实施例中,交换机502将具有诸如图3所示的单个环形端口。能重新编程的其他常规以太网交换机能替代Thunderswitch、Galileo与PMC-Sierra交换机。重新编程的Thunderswitch、Galileo与PMC-Sierra交换机或其等同物的使用使得能利用环形网络中的常规环形交换机来解决这些问题之一,即,由于网络的环特性所引起的数据分组的丢失。图5所示的附加电路用于实施源地址过滤功能,阻止数据分组不确定围绕此网络进行发送。图5中的电路利用具有环入与环出端口的交换机502来表示。应明白外部电路同样良好地与具有双向环形端口的交换机一起工作。
实际上,环形交换机500的外部电路用于根据输入此环入端口的与从此环出端口中输出的数据分组流从对应于与交换机502的本地端口相关的网络设备的输入数据分组中推定出这些地址。将这些地址放置在环形交换机500的外部地址表(EAT)504中。将输入数据分组与此地址表进行比较,以确定哪些数据分组已经围绕此环移动一圈并需要被丢弃。
对于环形交换机500处理的数据分组,具有四种基本情形1.数据分组从环形网络进入环入端口并且不从环出端口输出。用于此数据分组的目的地址对应于本地端口上的网络设备并将放置在外部地址表504中。
2.数据分组来自本地端口并从交换机502的环出端口中交换此数据分组,以便放置到此环形网络上。此数据分组将只在输出数据分组流中并因而能将其源地址附加到外部地址表504上。
3.数据分组来自此环并在环入端口上进入交换机502,而且在环出端口上将此数据分组发回到此环形网络上。此数据分组的地址不与本地端口相关联。
4.数据分组来自此环以及其源地址与本地端口的源地址相同,并且由于它已围绕此环形网络移动一圈而需要被滤除。
交换机500包括能从交换机502的环入与环出端口中接收数据的两个状态机,该交换机502能通过生成并查找外部地址表504来区分每一种这样的情形。耦合第一状态机506以便从此环中接收数据分组。第一状态机506提供输入数据分组的源地址给先入先出(FIFO)缓冲器510。第二状态机512使用FIFO510中的数据和从环出端口中发送的数据分组来确定哪些地址对应于本地端口。第二状态机512将这些地址放置在外部地址表504中并保持此表504。
图7是表示图5的第二状态机512的方法的一个实施例。此状态机用于建立并保持与交换机502的本地端口相关的网络设备的外部地址表。此方法在方框700开始。在方框702,此方法开始将数据分组从交换机502的环出端口发送到此环上。在方框704,此方法从此数据分组中提取源地址。在方框706,此方法确定用于此数据分组的源地址是否在EAT504中。如果此源地址在EAT504中,此方法前进至方框708并更新EAT504中的旧计数值,以及还允许此数据分组完整地进行发送而不中断。此方法随后前进至方框710并结束从环出端口中输出的数据分组的处理。
在方框706,如果此方法确定从此环出端口中输出的数据分组的源地址未在EAT504中,则此方法前进至方框712。在方框712,此方法确定在环出端口上从此数据分组中提取的源地址是否在FIFO510中。如果未在FIFO510中,此方法前进至方框714,并将在环出端口上从此数据分组中提取的源地址加到EAT504中,这对应于利用与交换机502的本地端口相关的网络设备始发数据分组的情况,即,此数据分组从环出端口中输出而不进入环入端口。此方法前进至方框710。
在方框712,如果此方法确定用于此数据分组的源地址在FIFO510中,于是此方法前进至方框716。在方框716,此方法确定此源地址是否是将从FIFO510中提取的下一个源地址。如果此源地址不是FIFO510中的下一个地址,则我们知道至少一个数据分组终接在本地地址上。因而,此方法前进至方框718并从FIFO510中删除下一个地址而且返回到方框716。
如果在方框716确定此源地址是FIFO510中的下一个地址,则此方法前进至方框720并从FIFO510中删除下一个地址。这对应于通过交换机502将数据分组从环入端口传送到环出端口的情况。
因而,根据此方法,对应于交换机502的本地端口的地址表的地址表被保持在交换机502的外部,以便能识别和滤除已围绕此环形网络移动的数据分组。
同样的技术能与交换机识别号和跳跃计数值一起使用。在这种情况中,处理是相同的。然而,FIFO将更宽以便在每个逻辑位置中容纳包含此源地址的一个或全部、交换机识别号码和跳跃计数值的一系列比特。如果包括跳跃计数值,则将此计数值在某一点上递增一并在从此环中接收到时被检测为第一步。
图6是根据本发明教导的图5的第一状态机506的方法的示意性实施例的流程图。此状态机用于确定何时交换机502的环入端口上的数据分组的源地址对应于与交换机502的本地端口相关的网络设备。此方法在方框600开始。在方框602,此方法开始将数据分组传送给交换机502的环入端口。在方框604,此方法从此数据分组中提取源地址。在方框606,此方法比较输入数据分组的源地址与EAT504中的地址。如果在EAT504中没有此数据分组的源地址的匹配,则此方法前进至方框608和将此源地址放置在FIFO510中,并将整个数据分组发送到交换机502中而不中断。此方法随后在方框612结束对此数据分组的处理并返回到方框600,以便处理下一个数据分组。
在方框606,如果此数据分组的源地址在EAT504中,则此方法前进至方框610并截短(放弃)进入交换机502的环入端口的数据分组。这阻止从交换机的本地端口中始发的数据分组围绕此环形网络不确定地移动。
图8是根据本发明教导构造并在总体上以800表示的环形交换机的可选择实施例的方框图。此实施例利用此方法的主要目的在于捕获在本地端口上始发的并围绕此环形网络移动一圈而且到达同一环形交换机的环入端口上的数据分组。此实施例也利用从环出端口输出的数据分组只能来自以下两个源之一的事实即来自本地端口或环入端口。通过跟踪与比较存在于环出端口上的数据分组的地址、和被输入到很容易地以一个或多个内容可寻址存储器EACAM804实施的外部地址表中的此环入端口的数据分组的地址,环形交换机800能确定这些地址是否对应于本地端口。为此,环形交换机800包括交换机802,此交换机可以包括重新编程的以太网交换机,诸如上面根据图5描述的各种形式的例如Texas Instruments制造的Thunderswitch芯片、Galileo芯片、或PMC-Sierra芯片交换机。环形交换机800包括被耦合以便去接收预定要送到交换机802的环入端口的数据分组的第一状态机806。还有,环形交换机800包括响应来自交换机802的环出端口的数据分组的第二状态机808。第一与第二状态机806与808在EACAM804中建立并保持一个能表示哪些端口是本地端口的表,以便第一状态机806能从环形网络中消除那些利用交换机802的本地端口始发并围绕此环形网络移动一圈的数据分组。第一与第二状态机806与808的操作在下面分别结合图9与10进行描述。
图10是表示根据本发明教导的图8的第二状态机808的方法的一个实施例的流程图。此方法在方框1000开始处理数据分组。此方法前进至方框1002并开始在此环形网络上发送此数据分组。在方框1004,此方法从此数据分组中提取源地址。
在方框1006,此方法确定来自交换机802的环出端口的数据分组的源地址是否在EACAM804的表中。如果此地址已存储在EACAM804中,则此方法前进至方框1008并更新EACAM804中此地址的旧计数值,并且还允许此数据分组完整地进行发送而不中断。此方法在方框1010结束此数据分组的处理。
在方框1006如果用于此数据分组的源地址未在EACAM804中,则此方法前进至方框1012。在这种情况中,此方法确定此数据分组一定是从本地端口中始发的并因而利用设置为“1”的本地比特指示符来将此源地址放置在EACAM804的表中。“1”表示此地址对应于与交换机802的本地端口相关的网络设备的地址。此方法随后前进至方框1010并结束。
图9是表示根据本发明教导的图8的第一状态机806的方法的一个实施例的流程图。此方法在方框900开始处理数据分组。此方法前进至方框902并在交换机802的环入端口上提供此数据分组。在方框904,此方法从此数据分组中提取源地址。
在方框906,此方法确定提供给交换机802的环入端口的数据分组的源地址是否在EACAM804的表中。如果此地址还未存储在EACAM804中,则此方法前进至方框908并利用设置为“0”的本地比特指示符将此地址放置在EACAM804中,并且还将整个数据分组发送到交换机802中而不中断。“0”表示此地址不用于交换机802的本地端口。此方法在方框910结束此数据分组的处理。
如果在方框906用于此数据分组的源地址在EACAM804中,则此方法前进至方框912。此方法确定本地比特指示符是否等于“1”,例如,此地址是否与本地端口相关。如果此本地比特指示符是“0”,则此方法在方框910结束。另一方面,如果此方法在方框912确定此本地指示符是“1”,则此方法前进至方框914并截短(放弃)进入交换机802的环入端口的数据分组。此方法在方框910结束。
一个可选择的实施例能使用两个单独的CAM存储器而不是一个CAM,利用设置为“0”或“1”的比特来表示环与本地端口地址的相对关系。这样的实施例由下面图12中的示例使用。还有,除了“0”与“1”之外的其他值能用于区分本地与环地址。
图12是根据本发明教导的用于在环形交换机中处理分组的方法的方框图。在此实施例中,此环形交换机使用附加到数据分组的计数值或识别号来确定分组是否已围绕环形网络移动一圈。
在方框1200,在环形交换机的环入端口上接收分组。在方框1202,此方法确定附加到此数据分组的识别号是否与此环形交换机的识别号码相同。当在此环形交换机的本地端口上接收到数据分组时,将识别号码附加到这些数据分组上。如果当前分组的识别号码与当前环形交换机的识别号码相同,则此方法在方框1204由于此数据分组已围绕此环形网络移动一圈而截短、放弃或否则删除此数据分组。
在方框1206,此方法确定附加到此数据分组的跳跃计数值是否等于零。此跳跃计数值是在始发数据分组的环形交换机上附加到数据分组上的数字。在处理此数据分组的每个后续环形交换机上递增此跳跃计数值,并将其放回在环形交换机上以便发送给下一个环形交换机。跳跃计数值例如可以包括8比特数字,以使此计数值在此数据分组通过至少256个环形交换机时复位为零。可选择地,任何其他合适数量的比特能用于此跳跃计数值。还有,应明白此跳跃计数值和识别号码能一起或单独进行使用。如果此方法确定此跳跃计数值设置为零,则此方法前进至方框1204,这是因为此分组已围绕此环形网络移动至少一圈。
如果在方框1206此方法确定到达环入端口上的分组还未围绕此环移动,则由此交换机处理此分组以便从本地端口或从环出端口中发送此分组。在方框1208将此数据分组存储在先入先出(FIFO)缓冲器中。将此数据分组的源地址存储在用于环地址(环CAM)的存储器(此存储器最方便的是内容可寻址存储器(CAM))中,或在方框1210在环CAM中更新此旧地址。在方框1212,此方法确定此环CAM是否已满,如果是这样的话,在方框1214从此环CAM中删除利用老化信息判断的环CAM中最旧的地址。可选择地,在方框1214可以直接复位此环CAM,以擦除所有的地址并允许此环CAM重新学习最新的地址。
虽然在FIFO中缓冲此数据分组,但分别在方框1216与1218中在此环CAM和包含与此环形交换机的本地端口相关的地址的CAM(本地CAM)中查找此数据分组。在方框1216与1218,根据对环与本地CAM中的查找来产生逻辑信号。提供方框1216的逻辑信号给逻辑门1220与1222。还有,将此逻辑信号从方框1218提供给逻辑门1220与1224。逻辑门1220用于通过交换机1228将数据分组从方框1208上使用的FIFO传送给本地端口1226之一。注意在此实施例中,交换机1228包括典型的以太网物理接口芯片,诸如全双工模式的microlinear的ML6692交换机。逻辑门1222用于在环与本地CAM中找到此地址时在方框1230擦除地址。这发生在网络设备已从环上的一个交换机移动到此环上的另一交换机时。擦除地址允许此系统重新学习此设备的新的位置。最后,逻辑门1224用于在方框1238通过另一FIFO“来自环FIFO(From-Ring FIFO)”将数据分组从方框1208上使用的FIFO传送到环出端口。
图12的方法也负责在本地端口1226上接收的数据分组的处理,这样的数据分组在方框1232通过交换机1228传送给“来自本地(From-local)”FIFO。在方框1234,将此数据分组的源地址存储在最方便的是CAM、本地CAM的一个存储器中,或者在本地CAM中更新旧地址。在方框1236,此方法确定本地CAM是否已满,而如果是这样的话,在方框1238根据老化信息从此CAM中删除最旧的地址。可选择地,可以在方框1238简单地复位此本地CAM以擦除所有的地址,并允许此本地CAM重新学习最新的地址。对于本地CAM与环CAM,可以使用其他的老化形式,诸如删除已使用了5分钟的地址或另一合适的时间周期。这对于此说明书中所述的所有其他实施例的老化要求也是如此。
此方法通过环出端口将来自From-Local(来自本地)与From-Ring FIFO(来自环FIFO)的数据放置到此环上。判决方框1240生成用于控制至环出端口的接入的逻辑信号以用于来自From-Local与From-Ring FIFO的数据分组。如果From-Ring FIFO已满,启动逻辑门1244并禁止逻辑门1246。因而,在方框1250递增跳跃计数值之后,在方框1248从环出端口中提供来自From-Ring FIFO的数据分组。如果此From-Ring FIFO未满,则启动逻辑门1246并禁止逻辑门1224。因而,在方框1250递增跳跃计数值之后,在方框1248从环出端口中提供来自From-Local FIFO的数据分组。
注意在方框1252,状态机用于在两个缓冲器都满时仲裁将分组从From-Local缓冲器与From-Ring缓冲器中放置到环出端口上。在一个实施例中,如果From-Ring缓冲器超过一个门限,例如半满,则发送一个信号给本地端口以便从发送较多的分组给From-LocalFIFO后退,直至此From-Local FIFO下移低于此门限。
也要注意如果在环入端口上接收的分组既不在本地CAM中也不在环CAM中,由于根据判决方框1216与1218的输出既不禁止门1220也不禁止门1224,所以将此分组“广播”到本地端口与环出端口。
图13是根据本发明教导的用于在环形交换机中处理分组的方法的方框图。在此实施例中,此环形交换机使用附加到数据分组的计数值或识别号码来确定一个分组是否已围绕环形网络移动一圈。
在方框1300,在环形交换机的环入端口上接收分组。在方框1302,此方法确定附加到此数据分组的识别号码是否与此环形交换机的识别号码相同。当在环形交换机的本地端口上接收到数据分组时,将识别号码附加到这些数据分组上。如果当前分组的识别号码与当前环形交换机的识别号码相同,则此方法由于此数据分组已围绕此环形网络移动一圈而删除此分组。
在方框1306,此方法确定附加到此数据分组的跳跃计数值是否等于零。跳跃计数值是在始发数据分组的环形交换机上附加到此数据分组的一个数字。在处理此数据分组的每个后续环形交换机上递增此跳跃计数值并将此计数值放回到此环形交换机上以便发送给下一个环形交换机。此跳跃计数值例如可以包括一个8比特数字,以便在此数据分组通过至少256个环形交换机时将此计数值复位为零。可选择地,任何其他合适数量的比特能用于此跳跃计数值。还有,应明白能一起或单独使用跳跃计数值与识别号码。如果此方法确定此跳跃计数值设置为零,则此方法因为此分组已围绕此环形网络移动一圈而前进至方框1304。
如果在方框1306此方法确定到达环入端口上的分组还未围绕此环移动一圈,则由此交换机处理此分组以便从本地端口或从环出端口中发送此分组。在方框1308将此数据分组存储在先入先出(FIFO)缓冲器中。将此数据分组的地址存储在用于环地址的最方便的是内容可寻址存储器(CAM)(环CAM)的一个存储器中,或在方框1310更新那个存储器中此地址的旧记录。在方框1312,此方法确定环CAM是否已满,如果是这样的话,通过在方框1314删除利用此存储器中的老化信息确定的最旧地址来老化此环CAM。可选择地,在方框1314可以简单地复位此环CAM。这样就擦除了此存储器中的所有地址,允许此存储器重新学习最新地址。
虽然在FIFO中缓冲此数据分组,但分别在方框1316与1318中在环CAM和包含与此环形交换机的本地端口相关的地址的CAM(本地CAM)中查找此数据分组。在方框1316与1318,根据环与本地CAM中的查找来产生逻辑信号,将逻辑信号从方框1316提供给逻辑门1320与1322。还有,将逻辑信号从方框1318提供给逻辑门1320与1324。逻辑门1320用于通过交换机1328将数据分组从在方框1308中使用的FIFO传送给本地端口1326之一。注意在此实施例中,交换机1328包括诸如半双工模式的Microlinear的ML6692交换机的典型以太网物理层接口芯片。当在环与本地CAM中都找到此地址时,逻辑门1322被用于在方框1330擦除地址。最后,逻辑门1324用于在方框1338中通过另一FIFO“From-Ring FIFO”将数据分组从在方框1308中使用的FIFO传送到环出端口。
图13的方法也负责在本地端口1326上接收的数据分组的处理。这些数据分组在方框1332通过交换机1328传送给“From-Local”FIFO。在方框1334,将此数据分组的源地址存储在本地CAM中或更新此本地CAM中此地址的陈旧记录。在方框1336,此方法确定此本地CAM是否已满,而如果是这样的话,在方框1338老化此本地CAM。这可以通过擦除利用存储在存储器中的老化信息确定的最旧地址来完成,或可选择地可以在方框1338简单地复位此存储器。这擦除所有的地址并允许此CAM重新学习最新的地址。
可以由环CAM与本地CAM来使用各种其他的老化方案,诸如周期性地擦除长于5分钟或某一其他合适时间的地址。而且,能在单个存储器或用于环与本地地址的CAM中实施图12的方法与图13的方法。虽然使用单个存储器将降低制造成本,但使用两个存储器极大简化逻辑定时,从而使电路更容易设计。
此方法通过环出端口将来自From-Local与From-Ring FIFO的数据分组放置到此环上。判决方框1340生成用于控制将来自From-Local与From-Ring FIFO的数据分组接入到环出端口的逻辑信号。如果此From-Ring FIFO是满的,则启动逻辑门1344并禁止逻辑门1346。因而,在方框1350递增跳跃计数值之后,在方框1348从环出端口中提供来自From-Ring FIFO的数据分组。如果此From-Ring FIFO未满,则启动逻辑门1346并禁止逻辑门1344。因而,在方框1350递增跳跃计数值之后,在方框1348从环出端口中提供来自From-Local FIFO的数据分组。
注意在方框1352,将产生碰撞以迫使交换机1328从From-Local缓冲器是满时发送后退。
也注意如果在环入端口上接收的分组的地址既不在本地CAM中也不在环CAM中,则由于根据判决方框1316与1318的输出既不禁止门1320也不禁止门1324,所以将此数据“广播”到本地端口与环出端口。
结论虽然在此已表示与描述特定实施例,但本领域技术人员将认识到为实现同一目的而计算的任何安排可以替代所示的特定实施例。本申请打算覆盖本发明的任何改变或变化。例如,在此所述类型的环形交换机能使用任何合适方法进行互连来形成一个环以便在交换机之间发送数据。这包括但不限于无线、有线、印制线路、半导体通路、光纤与其他传输技术。还有,在此所述的方法的各个步骤能以软件、固件或硬件来实施。还有,本发明的实施例包括设计为执行上述各个功能的单个集成电路。可选择地,可以与图5、8、12与13所示的附加电路一起使用修改了的常规交换机。还有,用于识别已围绕环形网络移动的分组的所述各种技术能与使用一个双向环形端口或环入与环出端口的环形交换机一起使用。还有,本地端口可以不是以太网端口,只要这些端口包含源地址、目的地址与数据有效负载的话。也应注意除CAM之外的各种存储器设备能用于根据本发明的教导实施地址表。整个说明书中所述的各种老化方法能与任何一个实施例一起使用。还有,其他公知的老化方法能替代上述方法而不脱离本发明的精神与范畴。还有,将明白每个实施例将与用于环形交换机的单个地址表或多个地址表一起工作。还将明白在上述的每个实施例中,任何一个或多个跳跃计数值、交换机识别信号或在本地端口的地址表中源地址的查找可以被用于消除已围绕此环移动一圈的分组。在上面指定FIFO、CAM或其他存储设备的每种情况中,可以注意到随机存取存储器能与指针一起用于各个缓冲器或位置。另外,通过在利用网络传送的分组之前、之后附加上或包括识别符或“标记”,可以在环形网络上提供各种业务。例如,利用这样的标记能实现诸如虚拟局域网(VLAN)、服务质量(QOS)这样的业务与其他业务。
权利要求
1.一种环形网络,用于在网络设备之间传送数据分组,此环形网络包括许多环形交换机,每个环形交换机具有至少一个环形端口、至少一个本地端口和至少一个表,此表根据从被此环形交换机处理的分组中选出的源识别符来自学哪些网络设备与此环形交换机的每个端口相关;每个环形交换机的至少一个环形端口被耦合到此环形网络中的另一环形交换机的环形端口;其中此环形交换机在其环形与本地端口之间交换数据分组,以便将这些数据分组传送到与此环形网络中的环形交换机的至少一个本地端口相关的特定网络设备;和其中要这样来构造这些环形交换机的端口,以便根据此至少一个表将未预定要送到与此环形交换机的至少一个本地端口相关的网络设备的、在至少一个环形端口与至少一个本地端口上接收的数据分组交换到此环形网络上的另一环形交换机。
2.权利要求1的环形网络,其中此被选择的源识别符包括媒体接入控制(MAC)地址。
3.权利要求1的环形网络,其中此被选择的源识别符包括因特网协议(IP)地址。
4.权利要求1的环形网络,其中此被选择的源识别符包括分层地址的至少一部分。
5.权利要求1的环形网络,其中此被选择的源识别符包括通用数据报协议的端口号码。
6.权利要求1的环形网络,其中此被选择的源识别符包括用于此数据分组的相同或不同协议层上的两个或多个识别符的组合。
7.权利要求1的环形网络,其中本地端口或被选择的环形交换机的选择本地端口上的被选择的设备与一个公用识别符相关。
8.权利要求7的环形网络,其中此公用识别符被附加的在分组之前、之后或包括在分组中。
9.权利要求8的环形网络,其中此环形交换机在从本地端口中发送此分组之前消除此公用识别符。
10.权利要求1的环形网络,其中这些环形交换机在将要多播给多个网络设备的分组之前、之后附加上一个识别符或在这些分组之中包括一个识别符。
11.用于环形网络的一种环形交换机,此环形交换机包括至少一个环形端口,可以被耦合以便在环形网络中传送数据分组;至少一个本地端口,可以被耦合到至少一个局域网或设备;至少一个表,用于识别与此环形交换机的每个端口相关的网络设备;和其中根据此至少一个表将未预定要送到与此环形交换机的至少一个本地端口之中任何一个本地端口相关的网络设备的、在至少一个环形端口上接收的数据分组交换到被耦合到此至少一个环形端口的另一环形交换机而不需使用令牌或封装此分组。
12.权利要求11的环形交换机,其中此被选择的源识别符包括媒体接入控制(MAC)地址。
13.权利要求11的环形交换机,其中此被选择的源识别符包括因特网协议(IP)地址。
14.权利要求11的环形交换机,其中此被选择的源识别符包括分层地址的至少一部分。
15.权利要求11的环形交换机,其中此被选择的源识别符包括通用数据报协议的端口号码。
16.权利要求11的环形交换机,其中此被选择的源识别符包括用于此数据分组的不同协议层上的两个或多个识别符的组合。
17.权利要求11的环形交换机,其中本地端口或被选择的环形交换机的被选择本地端口上的被选择的设备与一个公用识别符相关。
18.权利要求17的环形交换机,其中此公用识别符被附加的在分组之前、之后或包括在分组中。
19.权利要求18的环形交换机,其中此环形交换机在从此本地端口中发送此分组之前消除此公用识别符。
20.权利要求11的环形交换机,其中这些环形交换机在将要多播给多个网络设备的分组之前、之后附加上一个识别符或在这些分组之中包括一个识别符。
21.用于环形网络的一种环形交换机,此环形交换机包括至少一个环形端口,可以被耦合以便在环形交换机的环上传送数据分组;至少一个本地端口,可被耦合到至少一个局域网或设备;至少一个表,用于存储与至少一个环形端口和至少一个本地端口相关的网络设备的识别符;其中此环形交换机允许在此环形端口上接收的、将要从此交换机的环形端口中重发的数据分组能根据此至少一个表传送到此环形网络中的其他环形交换机;和与至少一个环形端口相关的电路,用于消除具有对应于与此交换机的至少一个本地端口相关的网络设备的源识别符的输入数据分组。
22.权利要求21的环形交换机,其中此被选择的源识别符包括媒体接入控制(MAC)地址。
23.权利要求21的环形交换机,其中此被选择的源识别符包括因特网协议(IP)地址。
24.权利要求21的环形交换机,其中此被选择的源识别符包括分层地址的至少一部分。
25.权利要求21的环形交换机,其中此被选择的源识别符包括通用数据报协议的端口号码。
26.权利要求21的环形交换机,其中此被选择的源识别符包括用于此数据分组的相同或不同协议层上的两个或多个识别符的组合。
27.权利要求21的环形交换机,其中本地端口或被选择的环形交换机的被选择本地端口上的被选择的设备与一个公用识别符相关。
28.权利要求27的环形交换机,其中此公用识别符被附加在分组之前、之后或包括在分组之中。
29.权利要求28的环形交换机,其中此环形交换机在从此本地端口中发送此分组之前消除此公用识别符。
30.权利要求21的环形交换机,其中此环形交换机在将要多播给许多网络设备的分组之前、之后附加上一个识别符或在这些分组之中包括一个识别符。
31.用于环形网络的一种环形交换机,此环形交换机包括环入端口,可以被耦合以便从此环形网络中接收数据分组;环出端口,可以被耦合以便提供数据分组给此环形网络;至少一个本地端口,可以被耦合到一个局域网;至少一个表,跟踪与此环形交换机的端口相关的网络设备的被选择识别符;和其中当在此环入端口上接收到数据分组时,此表将网络设备的被选择的识别符与此环出端口相关。
32.权利要求31的环形交换机,其中此被选择的识别符包括媒体接入控制(MAC)地址。
33.权利要求31的环形交换机,其中此被选择的识别符包括因特网协议(IP)地址。
34.权利要求31的环形交换机,其中此被选择的识别符包括分层地址的至少一部分。
35.权利要求31的环形交换机,其中此被选择的识别符包括通用数据报协议的端口号码。
36.权利要求31的环形交换机,其中此被选择的识别符包括用于此数据分组的相同或不同协议层上的两个或多个识别符的组合。
37.权利要求31的环形交换机,其中本地端口或被选择的环形交换机的被选择本地端口上的被选择的设备与一个公用识别符相关。
38.权利要求37的环形交换机,其中此公用识别符被附加在分组之前、之后或包括在分组之中。
39.权利要求38的环形交换机,其中此环形交换机在从此本地端口中发送此分组之前消除此公用识别符。
40.权利要求31的环形交换机,其中这些环形交换机在将要多播给多个网络设备的分组之前、之后附加上一个识别符或在这些分组之中包括一个识别符。
41.用于在环形网络中为环形交换机的端口建立一个表的一种方法,此方法包括在此环形交换机的第一端口上接收数据分组;从此数据分组中读出所选择的源识别符;和在用于此环形交换机的表中存储此源识别符,它表示从与此交换机的第二不同端口相关的网络设备中始发此数据分组,以允许此环形网络上的单向传输。
42.权利要求41的方法,其中读出被选择的源识别符包括从以太网分组中读出媒体接入控制(MAC)地址。
43.权利要求41的方法,其中读出被选择的源识别符包括读出因特网协议(IP)地址。
44.权利要求41的方法,其中读出被选择的源识别符包括读出分层地址的至少一部分。
45.权利要求41的方法,其中读出被选择的源识别符包括读出通用数据报协议的端口号码。
46.权利要求41的方法,其中读出被选择的源识别符包括读出用于此数据分组的不同协议层上的两个或多个识别符的组合。
47.用于从一个环形网络中消除数据分组的一种方法,此方法包括在此环形网络的环形交换机的环形端口上接收数据分组;从此数据分组中读出被选择的源识别符;将此源识别符与此环形交换机的至少一个表进行比较,其中此至少一个表表示哪些识别符与此交换机的每个端口相关;和当此源识别符对应于与此交换机的本地端口相关的网络设备时,抛弃此数据分组。
48.权利要求47的方法,其中读出被选择的源识别符包括从以太网分组中读出媒体接入控制(MAC)地址。
49.权利要求47的方法,其中读出被选择的源识别符包括读出因特网协议(IP)地址。
50.权利要求47的方法,其中读出被选择的源识别符包括读出分层地址的至少一部分。
51.权利要求47的方法,其中读出被选择的源识别符包括读出通用数据报协议的端口号码。
52.权利要求47的方法,其中读出被选择的源识别符包括读出用于此数据分组的不同协议层上两个或多个识别符的组合。
53.用于在环形网络的环形交换机中处理数据分组的一种方法,此方法包括在此环形交换机的环形端口上接收数据分组;从此数据分组中读出被选择的目的地识别符;和当用于此数据分组的目的地识别符处在用于此环形交换机的表中时,将此数据分组交换到与此目的地识别符相关的环形交换机的端口。
54.权利要求53的方法,其中读出被选择的源识别符包括从以太网分组中读出媒体接入控制(MAC)地址。
55.权利要求53的方法,其中读出被选择的源识别符包括读出因特网协议(IP)地址。
56.权利要求53的方法,其中读出被选择的源识别符包括读出分层地址的至少一部分。
57.权利要求53的方法,其中读出被选择的源识别符包括读出通用数据报协议的端口号码。
58.权利要求53的方法,其中读出被选择的源识别符包括读出用于此数据分组的不同协议层上两个或多个识别符的组合。
59.权利要求53的方法,并且还包括在读出被选择的目的地识别符之后读出被附加在其之前、之后或被包括在其中的识别符。
60.权利要求59的方法,其中在用于此数据分组的目的地识别符未处在用于此环形交换机的表中或此数据分组是广播数据分组时,将此数据分组广播给与此公用识别符相关或包括与此公用识别符相关的网络设备的环形交换机的所有端口。
61.权利要求59的方法,其中在用于此数据分组的目的地识别符是多播识别符时,将此数据分组广播给与此公用识别符相关或包括与此公用识别符相关的网络设备的环形交换机的所有端口。
62.用于在环形网络的环形交换机中处理数据分组的一种方法,此方法包括在此环形交换机的环入端口上接收数据分组;读出此数据分组的被选择的源识别符;当此源识别符未处在用于此环形交换机的端口的表中时,在此表中存储此源识别符,同时指示该识别符用于与此环形交换机的环出端口相关的网络设备;从此数据分组中读出被选择的目的地识别符;当用于此数据分组的目的地识别符处在用于此环形交换机的表中时,将此数据分组交换到与此目的地识别符相关的环形交换机的端口;当用于此数据分组的目的地识别符未处在用于此环形交换机的表中或此数据分组是广播数据分组时,广播此数据分组;和当用于此数据分组的目的地识别符是多播识别符时,将此数据分组广播给此环形交换机的所有合适端口。
63.权利要求62的方法,其中读出被选择的源识别符包括从以太网分组中读出媒体接入控制(MAC)地址。
64.权利要求62的方法,其中读出被选择的源识别符包括读出因特网协议(IP)地址。
65.权利要求62的方法,其中读出被选择的源识别符包括读出分层地址的至少一部分。
66.权利要求62的方法,其中读出被选择的源识别符包括读出通用数据报协议的端口号码。
67.权利要求62的方法,其中读出被选择的源识别符包括读出用于此数据分组的相同或不同协议层上的两个或多个识别符的组合。
68.权利要求62的方法,并且还包括在读出此被选择的目的地识别符之后读出被附加在其之前、之后或被包括在其中的识别符。
69.权利要求68的方法,其中在用于此数据分组的目的地识别符未处在用于此环形交换机的表中或此数据分组是广播数据分组时,将此数据分组广播给与此公用识别符相关或包括与此公用识别符相关的网络设备的环形交换机的所有端口。
70.权利要求68的方法,其中当用于此数据分组的目的地识别符是一个多播识别符时,将此数据分组广播给与此公用识别符相关或包括与此公用识别符相关的网络设备的环形交换机的所有端口。
71.用于在环形网络中处理数据分组的一种方法,此方法包括在此环形网络的环形交换机的本地端口上接收数据分组;根据此环形交换机的本地端口将一个识别符附加到此分组上,以使此环形交换机上的本地端口与此环形网络的被选择网络设备或此环形网络上至少一个另外环形交换机的本地端口相关;和在此环形交换机的环形端口上发送具有附加的识别符的分组。
72.权利要求71的方法,其中在此分组之前、之后附加上此识别符或将此识别符包括在此分组中。
73.权利要求71的方法,其中将此识别符附加到一个多播分组上。
74.用于在环形网络中处理数据分组的一种方法,此方法包括在此环形网络的环形交换机的环形端口上利用被附加在其之前、之后或被包括在其中的公用识别符接收一个数据分组;读出此分组的被附加在其之前、之后或被包括在其中的识别符;确定此公用识别符是否与此环形交换机相关的端口或网络设备有关;当此公用识别符与此环形交换机的端口或网络设备相关时,消除此被附加在其之前、之后或被包括在其中的公用识别符;和根据此公用识别符从此环形交换机的至少一个本地端口中发送此分组。
全文摘要
提供了用于在网络设备之间传送数据分组的一种环形网络。此环形网络包括许多环形交换机,每个环形交换机具有至少一个环形端口、至少一个本地端口和至少一个表,此表根据从被此环形交换机处理的分组中选择的源识别符来自学哪些网络设备与此环形交换机的每个端口相关。这些源与目的地识别符例如可以是以太网分组的媒体接入控制(MAC)地址、因特网协议(IP)地址、分层地址的至少一部分、用于此数据分组的不同协议层上的两个或多个识别符的组合、通用数据报协议的端口号码或其他合适的识别符。每个环形交换机的至少一个环形端口耦合到此环形网络中的另一环形交换机的环形端口。此环形交换机在其环形端口与本地端口之间交换数据分组,以便将这些数据分组传送给与此环形网络中的环形交换机的至少一个本地端口相关的特定网络设备。这样来构造这些环形交换机的端口,以便根据至少一个表来把在至少一个环形端口与至少一个本地端口上接收的、未预定传送至与此环形交换机的至少一个本地端口相关的网络设备的数据分组交换到此环形网络上的另一环形交换机而不需使用令牌或封装此分组。
文档编号H04L12/44GK1324536SQ99812454
公开日2001年11月28日 申请日期1999年8月10日 优先权日1998年8月21日
发明者M·H·科登 申请人:Adc长途电讯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1