在包括利用不同的链路连接的多个站的传输介质中交换分组的方法

文档序号:7608258阅读:235来源:国知局
专利名称:在包括利用不同的链路连接的多个站的传输介质中交换分组的方法
发明目标如本说明书的标题所表述的,本发明涉及一种在包括利用不同的链路连接的多个站的传输介质中交换分组的方法。
该方法可应用于进行分组交换的通信系统,以及其首要目标是允许在通信系统的所有各站当中的总交换,并提高向多个站传输的效率。
背景技术
在远程网络的开发中,ISO(国际标准组织)开发了称为OSI(开放系统互连)的模型,它在网络的所有单元件当中建立从最靠近用户的单元到最靠近物理连接的单元的分层结构。从那时起进行的计算机网络中主要的开发是基于该模型的。
于是,建立了7层,从涉及物理介质的一层到涉及用户的一层排序。它们中每层具有某些确定的功能,而每层的实体涉及紧接着的下层。
模型的最低层是物理层(层1),与物理连接有关;该层的上面有数据链路层(层2)。该层在物理层上面操作,并负责保证通过传输介质可靠地传送数据,以及当如同本地网络的情况那样、传输介质由不同的几套称为站的设备共享时,建立访问物理层的机制。它还考虑在两个或更多传输介质之间交换的可能性。
包括在该最后方面的是称作″层2分组交换″,亦称作桥接。在该层中,分组一般被称为帧。分组交换机或桥用于以这样的方式对两个或更多网络当中的业务进行分段(这将被称为段),即不向其他段传播用于本地使用一个段的业务,而且它甚至用于在不同的段当中选择某一业务所去往的段。交换被理解为连接到各种传输介质的一套设备为使每个数据分组到达它的目的地而选择最适合的传输介质的过程。能够进行交换过程的任何设备或系统被称为交换机。交换机可以被集成到一套通信设备或站中。
在本地网络的情况下,标准ANSI(美国国家标准学会)/IEEE(电气和电子工程师学会)Std 802.1D-MAC(介质访问控制)桥说明生成树桥。该类型的交换机具有到网络的两个或更多连接,称为端口。这些端口中的每个连接到网络的一个段。标准要求每帧有源地址和目的地址,源地址标识始发它的站,目的地址标识它要被送往的站。所有进入的帧的源地址被存储在存储器中,并与它们进入所经的端口相关联,并因此交换机学习哪个是它可以访问每个站所经的端口。这样,当目的地址被存储在存储器中的帧(换句话说,它是已知的)出现时,帧仅仅经具有与其相关联的目的地址的端口被发送,总是假定,该端口不是帧进入所通过的端口,因为在这种情况下,经其他端口发送它是无用的。当目的地址未知时,帧经除它进入所通过的端口以外的所有端口被发送,这保证帧将到达它的目的地。对于目的地址与可访问的站的组相关联的帧遵循相同方法。当帧的目的地址是群地址,换句话说,是与可访问的地址的子集相关联的地址时,发生略微不同的情况,在这种情况下,帧将被发送至所有与包括在该子集中的站相关联的端口。借助于称为GMRP(GARP多播注册协议,其中GARP是通用属性注册协议(Generic Attribute RegistrationProtocol)的首字母))的协议,交换机获知一些站与一个或另一个群的关联,GMRP协议为此目的制定消息的交换。
存储了为每帧找出目的地所需要的这种信息的存储器被称作过滤表。表中的每个输入由下列组成-目的地址规范,和-端口映射,每个端口一个控制单元,用于制定关于该端口必须进行哪个过程(换句话说,是否应经该端口进行发送)在静态和动态输入之间加以区别。前者是借助于在交换机外部操作的管理过程建立的;而后者是借助于在交换机本身中执行的自动过程建立的,如学习过程或已经提到的GRMP协议。动态输入的特性是,它们以这样的方式经受老化,即在从上次学习它们起某个时间间隔结束时,删除它们,使得交换机可以由此响应各站分布的改变。另一方面,静态输入总是保留,除非外部管理过程删除它们。
既然在带有各种交换机的、存在回路的网络中存在分组复制的风险,换句话说,两个站之间有不同的可能的途径,便建立了生成树协议。借助于该协议,以这样的方式即拓扑仍是无环路的,换句话说,是树形的,交换机交换消息以学习网络的拓扑,而且每个交换机阻塞某些端口,忽略来自它们的业务,而且不利用它们来发送帧。
为每个端口建立以下状态,按对发送和接收帧的限制性从大到小排序阻塞既不接受帧,又不进行任何学习;也不发送任何帧。只接受来自生成树协议的消息。
侦听和阻塞一样,只是还发送来自生成树协议的消息。
学习接受进入的帧并进行学习,但是不发送帧(来自生成树协议的消息除外)。
转发正常发送和接收帧。
在确定通过端口的分组发送和接收在拓扑中不涉及环路之前,端口一般保持处于阻塞状态。若非如此,则当某些计时器时间过去时,它相继经过侦听、学习和转发的状态,在这些状态中的任何状态下,若检测出情况已经改变,而且通过端口发送帧涉及带有环路的拓扑,则它会转向阻塞状态。
有第五状态,“禁止”状态,其中端口完全不活动。该状态由外部管理动作达到和放弃。
标准IEEE 802.1D是在这样的假定上构想的以这样的方式,即当站经该介质发送分组时,连接到该介质的所有站能够接收该分组,交换机所连接的传输介质是带有总线拓扑或点至点链路的介质,换句话说,是所有连接的站相互可见的传输介质。但是,在相互不可见的介质中,由于经传输介质发送分组并不意味着所有连接到该介质的站能够收到分组这一事实,所以该标准不是直接可应用的。
为此,IEEE在标准IEEE 802.1G(“远程桥接”)中建立标准IEEE802.1D的推广。远程桥接原来是为了交换机通过点至点链路互连而引入的,但是在该标准中,它被推广到任何传输介质,而且与实际的拓扑无关,仅仅遵守不同的交换机之间的通信能力。
标准IEEE 802.1G制定,远程交换机之间,换句话说,不是通过本地网络通信的交换机之间的通信能力,用虚拟端口表示,这些端口中的每个表示从一个或更多其他远程交换机发送和接收信息的能力。
如在交换机连接到本地网络的标准IEEE 802.1D中一样,在IEEE802.1G中,远程交换机连接到称为群和子群的实体上。
给定交换机中的虚拟端口,该交换机和它可以经该虚拟端口访问的交换机会形成子群。子群是双向虚拟链路,并且它可以被认为是等效于本地网络,因为形成它的一部分的每个交换机通过虚拟端口连接到该子群的其他端口。
另外,群会是一组子群,以这样的方式即在那些子群的所有交换机当中还存在总的和简单的连接;换句话说,给定群中的任何两个交换机,存在唯一一个子群连接它们。交换机通过一组虚拟端口连接到群,每个虚拟端口能够访问子群中的每一个。群可以由单个子群形成,群接收虚拟本地网络的名称,这是不容与虚拟局域网(VLAN)混淆的概念。
可能会认为,子群实际上等效于两个或更多站之间的个链路,以及群会是一组链路,允许在一组站当中总的和简单的连接,但是在实际上,聚集成群和子群不一定反映物理拓扑,而是反映以最适合的方式组织的各站当中的某些通信特性。
至于在通过群和子群建立的该虚拟拓扑中可能产生的环路,借助于交换和生成树协议的某些特性解决该问题。
关于在由不同的子群形成的群内部可能的环路,由于由这样的事实组成的特殊特性,即经属于群的虚拟端口进入的分组从不经属于同一群的虚拟端口转发,故若在该群的外部没有环路,则它们不成问题。
在任何情况下,可能的是,在群的外部,有更多群(或本地网络),它们以冗余方式连接该群的两个(或更多)交换机。若对于数据这些替换路径具有比在群内的路径更低的成本,则必须破坏群内的环路,这是要通过把群的交换机分布到为两个或更多称为簇的子群来达到。其结果是,分组无法在环路内传播,因为它们必须服从这样的事实,即当交换机接收来自不是它自己的簇的分组时,它必须忽略该分组。在某些情况下,网络的全局效率可以通过防止发送不准备由接收机处理的分组来优化,若交换机可以知道它具有隔离的端口,换句话说,不连接到同一簇内任何其他交换机的端口,这是可能的。在这种情况下,交换机将让该端口处于阻塞状态,避免必须使用资源来经该端口发送。
值得说明的是,在标准IEEE 802.1G中,群和子群是静态建立的,换句话说,是通过由交换机(其功能不是标准的目标)外部的实体进行的管理动作建立的,而簇是动态地、在交换机本身中借助于执行修改的生成树协议建立的。
本发明通过把某些修改引入交换过程但同时维持标准的基本功能,来解决IEEE 802.1D的所述缺点(不能应用于总的相互可见的传输介质)。标准所制定的功能是本发明中制定的功能的子集。
就与试图解决同一问题的标准IEEE 802.1G的关系而言,本发明是从使用虚拟端口的同一原理开始的,但是这些表示信息可以被发送到其他站所经的链路,而且以这样的方式即它们不表示通信能力而表示传输能力,它们可以是双向或非双向的。在相同的站之间还可以有一条以上的链路,以及另外,这些链路可以完全重叠或部分地重叠。
链路的这种冗余不一定通过生成树协议完全排除(在本发明中它只适用于某些链路),以及可以依靠这些冗余链路的不同物理特性来利用它,视不同类型的业务的要素来选择一些链路或其他用于传输。另外,可以依靠冗余链路的不同拓扑特性来利用这种冗余对于只发往一个站的分组有可能经与该站通信的链路传送,而发往同一站和其他站的分组使用与该站及其他站通信的链路进行,若有可能在介质中建立那些链路的话。
简而言之,传输介质的物理特性和可以在其上建立的网络的拓扑,大部分被集成入交换过程中,可以利用此来增加网络的全局效率,如在一些应用示例中将看到的。
另外,还作了其他修改,目的在于减少交换网络中广播和多播分组的业务量,以此提高它的效率和交换机的效率。
在本文档中,术语“站”指一套连接到网络、能够经它发送数据和从它接收数据的设备。
术语VLAN(虚拟局域网)用来指在标准IEEE 802.1Q中制定的虚拟局域网,实际的本地网络可以被分成虚拟局域网。不把该术语与由标准IEEE 802.1G制定的用于指由单个子群组成的群的虚拟本地网络混淆是明智的。
发明说明为了达到目标和避免上一部分中指出的缺点,本发明由带有通过不同的链路连接的多个站的传输介质中的分组交换方法组成。在该介质中,在ISO(国际标准组织)的OSI(开放系统互连)模型的层2中进行帧(分组)的交换,而且每个站执行分组交换。交换是在一个或更多传输介质之间进行的。本发明的方法的特征在于,在每个传输介质中建立不同的链路,它们直接连接存在于该介质中的各站,其中所述各站具有交换能力。另外,任何两个站之间可以有在相同的传输介质中带有不同特性的各种链路,而且与链路属于相同的介质无关,链路可以是单向点-点或点-多点。方法的特征还在于,它制定,双向点-点链路是由两条连接相同各站但方向相反的单向点-点链路组成的一组链路,一组站之间的双向多点-多点链路是和属于该组的站一样多的点-多点链路的联合,每条点-多点链路有组的各站中对应的一个作为其源,而且有组的其他各站作为其目的地;与单向链路是否属于相同的传输介质无关,单向链路可以具有彼此独立的并取决于传输介质的信道编码、安全和服务质量的不同特性;而且对于帧交换过程,每个交换机具有虚拟端口,一对一地直接与可以提供传输的链路相关联,无论它们是如在标准IEEE802.1G中制定的双向还是单向出去的。
由于该方法,帧可以从连接到传输介质的站被发送到连接在该同一介质中的任何其他站,即使在它们当中没有直接链路,而且整个处理是在OSI模型的层2中进行的。
本发明的方法借助于应用标准IEEE 802.1D执行交换,而且其特征在于,它选择某些链路作为主链路,它们是与可访问的站中的每个连接所需的最少的双向链路;而且它在每帧的交换中把与帧进入所经的链路相关联的端口作为输入端口,总是假设这是主链路,不然把与等效主链路相关联的端口作为输入端口,换句话说,以这样的方式即若存在两条或更多与帧所来自的站通信的主链路,则在相关联的端口处于转发状态的主链路存在时选择该链路,或不然则将选择任何链路,把与帧所来自的站通信的主链路相关联的端口作为输入端口。
主链路的端口在所有场合被认为是至本地网络的连接端口,而且只有在这些端口上才能完整地应用生成树协议,如在标准IEEE802.1D中制定的,其余链路被排除在生成树协议的分组发送以外。
如在关于发明背景的部分中所说明的,端口可能的状态是阻塞、侦听、学习、转发和禁止。本发明的方法的特征还在于,关于分组的发送和接收,与任何类型的非主链路相关联的端口的状态等于在等效于该链路的主链路的这些端口的所有状态中(换句话说,在与和该非主链路相同的站通信的主链路的端口的状态中)限制性最大的状态。这样,若且仅若等效于非主链路的主链路形成树的一部分,则非主链路将形成树的一部分。
另外,与点至多点链路相关联的端口的状态总是转发,同时与这些相同的链路相关联的端口的状态是经等效于该点-多点链路的点至点主链路定期地被传递,使得该信息可以由目的站处理;以这样的方式即若它们得知与源站中的链路相关联的端口处于阻塞状态,则它们在各站起交换机的作用时离开它们在侦听状态下接收信息所经的端口,或它们在各站不起交换机的作用时删除来自链路与之通信的站的帧;以此避免在这些站中处理由点-多点端口发送的分组,因为若接收机站起交换机的作用,则这些分组被作为来自与等效主链路相关联的端口在目的地被处理。
为了改善消息的广播,方法指定每帧携带标识符清单,其中每个标识符一对一地与帧所穿过的交换机相关联,该清单被称为广播控制信息。
当该交换机的标识符在该帧的广播控制信息中找到时,交换机删除所接收的帧,由此某些分组被删除,否则,由于经带有环路的网络扩散,则这些分组会无限期地留在网络中。
因此,方法指定,如果交换机在该帧的广播控制信息中找不到它自己的标识符,则交换机把它自己的标识符加入该帧的广播控制信息。
另外,方法进行过滤表的咨询处理,如在发明背景中说明的,并且特征在于,两个新的规范被包括进标准IEEE 802.1D的静态过滤表的每个输入中,这些规范是输入端口的规范,涉及帧进入所通过的端口,以及按照标准IEEE 802.1Q的VLAN ID规范,涉及帧所属的VLAN的标识符;若帧除在标准IEEE 802.1D的MAC地址中制定的规范以外,还遵守所引用的对于输入端口和VLAN的规范,则由表的条目中的端口映射所指出的处理是适用的。
在该过滤表中,使用在标准IEEE 802.1D中不存在的第一新值,并且第一新值可以用于在过滤表的静态条目的任何规范中,无论它们是MAC地址、输入端口还是VLAN ID的规范,以这样的方式即当帧中具有该特性的值与具有该第一新值的规范的值比较时,比较总是符合的,换句话说,规范是符合的,并且输入所制定的处理是适用的。
还在该表中,在过滤表的静态条目的任何规范中,使用在标准IEEE 802.1D中不存在的第二新值,使得当帧中具有该特性的值与具有该第二新值的规范的值比较时,除包含实际第二新值的那些以外,若帧中的值与表的任何其他规范的值不一致,则比较是符合的,换句话说,规范是符合的,以及输入所制定的处理是适用的。
给定制定经一个以上端口发送的表中的条目,该输入的目的端口是与主链路相关联的端口或与等效于那些主链路的点-多点链路相关联的端口。
下面,为了便于较好地理解本说明书并形成其不可分割的一部分,包括了一些附图,图中本发明的目标是以示例性而不是限制性的方式表示。
附图简要说明

图1.-表示外部实体经交换机访问传输介质的实施例。
图2.-与图3一起表示双向链路和两个方向相反的单向链路之间的关系。
图3.-与图2一起表示双向链路和两个方向相反的单向链路之间的关系。
图4.-与图5一起表示多条链路组合为双向多点-多点链路。
图5.-与图4一起表示多条链路组合为双向多点-多点链路。
图6.-表示本发明的方法应用于一系列交换机当中的通信的示例。
图7.-表示观察主链路的应用示例。
图8.-表示进行输入端口的分配的实施例。
图9.-表示进行输入端口的分配的另一实施例。
图10.-表示观察广播控制的应用的实施例。
图11.-表示为不同的链路维持点-点和点-多点链路的实施例。
图12.-表示与图11相同的实施例,其中观察广播控制的功能。
图13.-表示类似于上一图的实施例的实施例,只是存在附加的链路。
图14.-连同图15表示总线与双向多点链路的比较。
图15.-连同图14表示总线与双向多点链路的比较。
发明的各种实施例说明下面参照附图中采用的编号给出本发明的各种实施例的说明。
在第一例中,提供传输介质(1),它可以由交换机(2)通过在介质中起站的作用的外部实体(3)访问。如在图1中可以看到的,在传输介质中在彼此独立的并可以具有不同特性的不同的站(3、4、5、6和7)当中有不同的链路(8、9、10、11和12)。
在第二例中,在介质(1)中提供两个站(13和14)和两条连接它们的单向点至点链路(15和16)。链路(15)会用于从(13)向(14)发送信息。另一方面,链路(16)会用于从(14)向(13)发送信息,如在图2中看到的。因为这两个站是由两条相反方向的单向点至点链路连接,这些链路可以组合形成单条双向链路(17),它使在两个方向传送信息成为可能,如图3所示。
在第三例中,提供3个站(18、19和20),通过3条单向点-多点链路通信(21)允许从站(20)向站(18)和(19)传输;(22)允许从站(18)向站(19)和(20)传输;和(23)允许从站(19)向站(18)和(20)传输,如在图4中看到的。这3条链路可以组合为单条双向多点-多点链路,在该实施例中,这是链路(24),其结果是,这3个站中的任何一个可以向其他两个站传送,如图5所示。
第四例示出一旦单向链路被组合成双向链路则可以在传输介质中有的不同类型的链路在介质中我们有五个站(25、26、27、28和29)和五条链路(30、31、32、33和34)。链路(30)是双向多点-多点,而且使3个站(25、28和29)通信,借此由一个站发送的任何分组到达共享该链路的其他两个。链路(31)是单向点-点,并允许从站(29)向站(25)传输分组。链路(32)是双向点-点,并使站(26)和(29)通信,用于发送和接收帧。链路(33)是点-多点并使站(29)、(26)和(27)通信。当站(29)经该链路发送分组时,它将由站(26)和(27)接收。链路(34)是点至点双向,并使站(27)和(29)通信,如在图6中可以看到的。
在第五例中,表示在同一个传输介质中一个站和其他站之间链路的一些情况。站(38)借助于两条具有独立特性的双向链路(39和40)与站(35)通信。另一方面,它具有单独的双向链路(41和43)与站(36)和(37)通信。它还借助于点-多点单向的链路(42)与这些站通信。所发生的是,经链路(42)发送分组等效于经链路(41)和(43)发送,于是可以说,链路(42)在传输上等效于链路(41)和(43),如在图7中可以看到的。
下面说明为进入的分组分配输入端口的第一例,这可以在图8中看出。在该例中,存在一系列链路(48、49、50、51、52和53),交换机可以从站(47)对其进行访问,在这种情况下,它是在站内。链路(48)和(49)是双向点至点,并用不同的通信参数与站(44)通信。至于站(45),它具有单向点-多点链路(50),经该链路它可以向站(44)和(47)传送帧。另外,链路(52)是单向点-多点,并允许站(47)向站(45)和(46)传送帧。最后,双向点至点链路(53)把站(47)连接到(46)。
在站(47)用的交换机中,给出去的链路,换句话说,给双向或单向传输的链路即图8的链路(48、49、51、52和53)中的每条分配端口。链路(50)由于纯粹是进入的链路,所以没有相关联的端口。在本实施例中和在其余例中,为简单起见,与每条链路相关联的端口的编号是与相应的图中使用的该链路的编号相关联。
在站(47)的交换机中,到达所有与之有直接连接的站所需的最少双向链路被当作是主链路,每条主链路与一个可访问的站相关联。在这种情况下,没有唯一解存在两组满足该条件的链路,使得我们可以将链路(48)、(51)和(53)或链路(49)、(51)和(53)当作主链路。在本实施例中,采取这后一组(这可以通过识别端口的数目或任何其他的方法决定)。
于是,在站(47)的交换机中,所有进入的分组被作为来自主链路由交换机处理直接来自主链路(49)、(51)和(53)的那些,把它们与相应的端口相关联,而对于其余进入的链路,取决于它们所来自的站,与相应的主链路相关联的端口被分配给它们作为输入端口。在这种情况下,相应的主链路的选择是直接的,因为不存在两条与同一站通信的主链路。
因此,经链路(48)进入的来自站(44)的分组被分配端口(49),它是与和站(44)通信的主端口相关联的端口。经链路(50)进入的那些来自站(45),而且它们被分配端口(51),它是与和站(45)通信的主端口相关联的端口,如图8所示。链路和端口的这些关联将在标准IEEE802.1D的学习过程期间使用,该标准在现有技术中是已知的,并在本发明的背景中已经说明。
可以在图9中看出,给进入的分组分配端口的第二示例具有不同的拓扑,其中存在四个站(54、55、56和57)并通过两条多点双向链路连接。除连接站(55)和(57)的点至点双向链路(59)以外,它们中的一条(58)与站(54)、(55)和(57)通信,而另一条(60)连接站(55)、(56)和(57)。
在站(57)中,端口分配给链路(58)、(59)和(60),因为它们是出去的。主链路将是链路(58)和(60),都是多点的。于是,这些将是使用的进入的端口。给帧分配输入端口对于经链路(58)和(60)到来的那些是明显的,但是对于并非主要的链路(59),必须在(58)和(60)之间作出选择。不处于阻塞状态的链路将是被选择作为等效链路。只可以有一条处于比阻塞限制性小的状态,因为不然这就意味着相继经站(57)、链路(60)、站(55)、链路(58)和站(54)移动的消息建立环路,这是在本发明的实施例中通过应用生成树协议防止的。如果两条链路都处于阻塞状态,则选择哪一个用于经链路(59)进入的分组并不重要显然,这些分组中没有一个将被处理,因为分配给它的链路处于阻塞状态,另外,也根本不会进行学习。
下面根据类似于借助于图8说明的进入的端口分配的第一例的拓扑的拓扑,说明分组传输的示例。学习过程的结果是,在过滤表的动态输入中出现的将是与链路(49)、(51)和(53)相关联的端口。这样,一旦执行了交换,使用端口用的相关联的链路,以此分组将被正确地经到达它们的目的地所必需的链路发送。
作为学习过程的结果,余下的端口(48和52)不会出现在这些输入中,如我们早期表述的,学习过程在现有技术中是已知的,但是它们确实可以借助于其他协议的维护过程包含到表中作为静态或动态输入(这在关于发明背景的部分中进行了说明)。这样,所有链路可以用于传输。
至于生成树协议,只有在与主链路(48、51和53)相关联的端口上,它才被完整地加以应用,如它出现在标准IEEE 802.1D中。
与链路(48)和(52)相关联的其他端口不是与主链路相关联的,因此,被排除在整个生成树以外。然而,关于分组的发送和接收,这些端口中的每个有与之相关联的需要计算的状态,如标准IEEE802.1D所制定的。
对于这些状态的计算,必须知道,哪条链路与每个端口相关联以及哪些是等效于该链路的主链路(换句话说,到达相同的目的地所需的主链路)。在链路(48)的情况下,所述链路有站(44)作为它的目的地,该目的地可以通过主链路(49)到达。因此,等效于链路(48)的主链路会是链路(49)。对于链路(52),相关联的主链路是链路(51)和(53),因为经它们到达相同的站(45)和(46)。
一旦确定了非主链路的等效链路,取决于这些非主链路的类型,相应的状态即可算出。
在点-点非主链路的情况下,端口的状态刚好等于等效主链路的端口状态。于是,端口(48)会具有和端口(49)相同的状态。这样,若链路(49)包括在树内,则(48)也包括在内,以及若它不包括在内情况也一样。
在点-多点链路的情况下,有两个选项。
第一选项是,状态是与等效链路相关联的端口的限制性最大的状态。于是,在端口(52)的状态的情况下,它将取决于与等效主端口(51)和(53)相关联的端口的状态。若这些端口之一处于阻塞状态,则端口(52)的状态将是阻塞。要使端口(52)处于转发状态,端口(51)和(53)就必须处于转发状态。注意,侦听和学习状态等效于端口(52)的阻塞状态,因为该链路只是出去且该端口不接收分组。另外,生成树协议上的消息不通过它被发送,因为它不与主链路相关联。
所有这一切的结果是,若且仅若等效主链路(51)和(53)在树中,则链路(52)将在树中。这样,若例如链路(53)不在树中,则不通过链路(52)与站(46)建立链路,从而破坏树,因为该链路会使端口处于阻塞状态。
对于点-多点链路的第二选项由总给端口分配转发状态组成。这样的结果是端口(52)总是处于转发状态,而与链路(51)和(53)的状态无关。这决不意味着树的破坏。让我们假定,端口(53)处于转发状态,但是(51)处于阻塞状态。在这种情况下,站(47)需要通知站(45),它阻塞了与链路(51)对应的端口,以此该链路将被排除在树以外。在站(45)得到通知该链路的状态已经改变之前,它将删除所有经链路(51)而来的分组。
若经链路(52)发送分组,则它们将到达站(46),这不是问题,因为它会等效于经在树中的链路(53)被发送。它们还将到达站(45),但是该站将像是通过链路(51)发送它们那样处理它们(因为它将具有相同的相关联端口)。
注意,这样,树的拓扑可以具有冗余的分支;事实上,即使关于点-多点链路的状态利用第一选项(限制性最大的状态),若链路(49)、(51)和(53)是在树中,则链路(43)和(47)为分组提供替换路径。这可能意味着复制分组的风险,但是存在把这些链路排除在目的地未知的分组的转发以外的可能性,这借助于在MAC地址的规范和目的端口的规范中受限端口的清单中、为此而在过滤表中包括带有与在发明说明中引入的第二新值、称为″找不到″的值对应的新值的输入来实现。该输入将应用于所有目的地未知的分组,以此当这些分组经数目有限的端口被发送时,复制的分组的可能性减少,而且对复制的分组还存在附加的控制机制,称为广播控制,它能够完全删除在由冗余链路的存在所引起的环路中传播的分组。
在图10中,可以看到应用广播控制的示例。令两个站(61和62)通过两条双向链路(63和64)连接,链路(63)是站(62)的主链路。让我们假定,在站(62)中相关联的端口处于转发状态。若分组从站(61)到达站(62),而且在过滤表中找不到它的目的地,则它必须通过该后一个站的除它进入所通过的端口外的所有处于转发状态的端口被转发。这意味着,在它将被发送所通过的端口当中,将是与链路(64)对应的端口,借此它会回到站(61),这是无用的,因为站(61)已经处理了该分组。另外,可能碰巧站(61)也找不到分组的目的地,因此,将分组经站的所有端口转发,这会意味着分组的快速繁殖,这对网络破坏非常大。
但是使用广播控制解决了该缺点。在该例中,站(61)具有标识符A,而站(62)具有标识符B,而且都利用带有两个位置的清单的广播控制,换句话说,它们可以存储两个端口标识符,这对于周长为两条链路的环路是绰绰有余。
在这种情况下,当帧经链路(63)离开站(61)时,它必须在清单中具有标识符A。在图10中,以这样的方式即最近的输入在右侧,清单被表示为两个框。于是,它的内容将是(X,A),其中X是B以外的任何标识符。当帧到达B时,首先进行检查,标识符B没有在清单上。因为没有,所以处理分组并修改清单,添加站(62)的标识符(B),并删除较老的标识符,借此清单变成(A,B)。
就交换本身而言,让我们假定,找不到目的地,并因此帧经除它到达所通过的端口外的所有处于转发状态的端口被转发。显然,它不会经链路(63)的端口被发送,尽管它会经(64)的端口,广播控制清单包含标识符A和B(66)。
当该帧到达站(61)时,它将立即被广播控制删除,因为清单的标识符之一与站的标识符(A)一致。这样,通过利用输入的个数等于环路周长的清单,在这种情况下,是两个,如图10所示,分组副本即可避免。
下面呈现的是带有规范VLAN ID和输入端口的过滤表的实施例。假定有下表,其中为简单起见,端口的处理简化为端口清单,借此遵守输入规范的帧必须被发送。
表1
让我们假定,处理带有以下特性的帧所处理的第一帧具有目的地址07:08:76:45:66:22、VLAN ID 2和输入端口1。在这种情况下,地址与表的第一条目一致,但是该条目不适用,因为VLAN ID和输入端口不一致。第四输入确实适用,因为所有的值一致,以此帧将经端口2被发送。第二帧具有作为其目的地址的01:01:01:01:01:01、VLAN ID 5和输入端口3。在这种情况下,VLAN ID和输入端口的值与第二条目的值一致,但是该条目不适用,因为目的地址不一致。因为余下的条目也不适用,将好像是帧具有未知的目的地来处理帧,以此它将经减去它到达所经的端口的所有端口被发送。3号帧的目的地址是35:23:2F:48:76:31、VLAN ID 2和输入端口4。在这种情况下,第三条目中的地址和VLAN ID一致,但是该条目将不适用,因为输入端口不一致。因为余下各条目也不适用,所以将好像是帧具有未知的目的地来处理帧,以此它将经减去它到达所经的端口的所有端口被发送。
在以下实施例中,表的一些位置包含与在关于发明说明的部分中引入的第一新值对应的值,从此刻起,即值“全部”。假定有下表,其中,为简单起见,端口的处理简化为端口清单,借此遵守条目规范的帧必须被发送。
表2第一条目将应用于所有具有目的地址07:08:76:45:66:22和VLANID 6的帧,而与输入端口无关。第二条目将应用于所有具有VLAN ID4和输入端口2的帧,而与目的地址无关。第三输入将应用于所有具有目的地址35:23:2F:48:76:31和输入端口3的帧,而与VLAN ID无关。第四输入将应用于所有具有目的地址06:33:43:73:32:18的帧,而与它们的VLAN ID和它们的输入端口无关(注意,这种情况等效于标准802.1D之一)。
在以下实施例中,过滤表的一些位置包含早期已经作为值“找不到”呈现的新值,而且在关于发明说明的部分中称作第二新值。
表3在这种情况下,第一条目将应用于所有具有目的地址07:08:76:45:66:22、VLAN ID 6的帧,以及就输入端口而言,它必须具有值″找不到″,换句话说,在剩余条目(带有端口″找不到″的那些除外)的任何端口规范中找不到的值,其结果是,该规范所适用的输入端口是除2和3以外的任何一个。第二条目将应用于所有具有VLANID 4和输入端口2的帧,而且其目的地址不是07:08:76:45:66:22,也不是35:23:2F:48:76:31,也不是06:33:43:73:32:18,换句话说,除包含在剩余条目中的那些以外的任何目的地址。第三条目将应用于所有具有目的地址35:23:2F:48:76:31、输入端口3和VLAN ID不是6也不是4或2的帧。第四条目将应用于所有具有目的地址06:33:43:73:32:18和VLAN ID不是6也不是4或2以及输入端口不是2或3的帧。第五条目将应用于所有具有VLAN ID 2和输入端口3的帧,而且其目的地址不是07:08:76:45:66:22,也不是35:23:2F:48:76:31,也不是06:33:43:73:32:18,换句话说,除包含在剩余条目中的那些以外的任何目的地址。而最后第六条目将应用于上述输入均不适用的所有帧。
下面说明一个实施例,其中,对于必须被发送到各种站的分组,点-多点链路等效于其他的点-点链路来使用。
让我们采用在图11中可以看到的配置。存在五个站(67、68、69、70和71)。站(67)借助于四条双向点-点链路(72、73、74和75)与其他四个连接,它们中的每条连接到不同的站。还有点-多点链路(76),它使站(67)与其他四个通信。因此,主链路将是双向(72、73、74和75),而链路(76)将等效于这些相同的链路。
就过滤表而言,在该实施例中,以这样的方式即未知地址的分组经所有与主端口相关联的端口被发送,存在当对于任何VLAN ID和输入端口找不到目的地址时应用的条目,如下表所示,其中为简单起见,帧必须被发送所经的端口在处理领域(processing field)中被指出,用与相应的链路相同的引用标识端口
表4其中上述表遵守标准IEEE 802.1D。
同样地,在过滤表中还可以有地址代表所有可访问的站的条目(广播),如下面所示
表5在表中可以看出,在端口清单当中出现的是与链路(72、73、74和75)相关联的端口,但是链路(76)未出现,因为它不是主链路,以此避免分组复制。
但是,在某些情况下,修改该表可能是明智的。若除了列出的那些以外不再有链路,则在稳定的情况下端口(72、73、74和75)将处于转发状态。然后管理过程可以用于用等效的点-多点端口(76)替换那些端口,使表如下所示
表6在通过单条链路发送比通过一条以上的链路发送更有效的情况下,该操作可以大大地增加系统的一般性能,如图11所示,下面说明的是对所有交换机而言其目的地是未知的那些分组的分组复制的风险。就站(67)中始发的那些而言,不存在任何风险,因为链路(76)由于只是进入的链路而不与站(68、69、70和71)中的任何主链路相关联,因此经链路(76)到达的分组将由接收它们作为来自链路(72、73、74和75)的站处理,因此它们将决不被转发,如标准所制定的。
关于由站(68、69、70和71)发送的目的地未知的分组,由于广播控制将避免副本,如图12所示,包含两个位置的清单足够,其中站(67、78、69、70和71)分别有A、B、C、D和E作为标识符。站(68)中始发的分组在它的广播控制清单中有标识符B。在所述图中,以这样的方式即最近的输入在右侧,清单(77)被表示为两个框。于是,其内容将是(X,B),其中X是任何不同于A、B、C、D和E的标识符。该分组到达站(67)时会通过链路(76)转发,以此该分组的四个拷贝会带着广播控制清单(B,A)(78、79、80和81)分别到达站(68)、(69)、(70)和(71)。站(68)将删除到达它的拷贝,因为它将知道该分组已经穿过该站,因为在广播控制清单中有它自己的标识符即B。另一方面,站(69)、(70)和(71)将接受该分组。这样的结果是,原来在B中产生的分组经所有示出的站分发且副本被删除。就由站(69)、(70)和(71)产生的分组而言,结果会是类似的。
在第二实施例中,其中点-多点链路用于目的地是各种站的分组,从站和链路的相同分布开始,但须两个站之间存在另外一条链路,如图13所示,图中,在站(70)和(71)之间有一条新的链路(82)。在该例中,可能出现3种不同的情况1.在生成树协议中放弃新的链路(82)。在这种情况下,站(67)的端口不受影响,而情况类似于前一例。
2.在站(71)中生成树协议确定,与链路(75)对应的端口必须处于阻塞状态,而且站(67)中与同一链路对应的端口处于转发状态。该站中的情况会类似于前一例。另外,在站(71)中,由站(67)经链路(76)发送的所有分组将在被接收时被删除,因为它们将被作为来自链路(75)处理,而链路(75)有处于阻塞状态的相应端口。必须从站(67)向(71)发送的分组将不使用直接链路,而是将改为沿链路(74)和(82)或链路(76)和(82)穿过站(70)。
3.在站(67)中生成树协议确定,与链路(75)对应的端口仍处于阻塞状态,同时与站(71)中同一链路对应的端口处于转发状态。在这种情况下,在站(67)中存在两种可能性a.第一选项,比较保守的,会由因为不让它的所有等效链路处于转发状态而阻塞链路(76)组成。在这种情况下,替换过滤表中该链路的主端口的过程将必须把表恢复至它原来的状态,换句话说,如表6所示,尽管链路(75)由于处于阻塞状态而不会被使用。
b.若使用所有主链路而不使用点-多点链路意味着系统性能严重退化(由于必须使用3条链路而不是一条来发送目的地为所有可访问的站的分组),可以保持端口(76)处于转发状态,而且过滤表不会被修改。在这种情况下,简单地通过从站(67)向(71)发送通知使得后者忽略经链路(75)到达的分组,而避免分组复制。这还会包括经链路(76)到达的那些,因为它们在站(71)中被处理,就像是它们来自站(67)。
在另一实施例中,如图14所示,交换机应用于总线拓扑,其中传输介质允许在连接到该介质的任何两个站之间通信,以及通过某一配置,可以使本发明以与标准IEEE 802.1D等效的形式起作用。
与站(83、84、85、86和87通信的总线(88)可以和在传输介质(89)的所有站当中的双向多点链路(90)相比,如在图15中可以看到的。
显然,链路(90)会在所有站中被认为是主要的,并在与它相关联的端口上,生成树协议会被正常应用。
就广播控制而言,它的使用会是不必要的,因为没有冗余的链路。
就过滤表而言,若要求完全等效于标准IEEE 802.1D的表,则只是会使通过学习建立的动态条目在输入端口和VLAN ID规范中包含值“全部”,以与关于静态输入一样的方式进行而且决不使用值“找不到”。这样,典型的表可以类似于下面所示的表
权利要求
1.在包括利用不同的链路连接的多个站的传输介质中交换分组的方法,通过所述方法,在ISO(国际标准组织)的OSI(开放系统互连)模型的层2中进行帧的交换,每个站执行分组交换,以及在一个或更多传输介质之间进行所述交换;其特征在于-在每个所述传输介质中建立不同的链路,所述链路直接连接存在于该传输介质中的各站,其中所述各站具有交换能力;-在任何两个站之间,选择性地建立在相同的传输介质中带有不同特性的各种链路;-它规定,与所述链路属于相同的传输介质无关,从单向点-点和点-多点链路之间选择所述链路;-它制定,双向点-点链路是一组链路,它们由连接相同的站但方向相反的两条单向点-点链路组成;-它制定,一组站之间的双向多点-多点链路是和属于该组的站一样多的点-多点链路的联合,每条点-多点链路有所述组的各站中对应的一个作为其源,以及有所述组的其他各站作为其目的地;-它规定,与所述单向链路是否属于相同的传输介质无关,所述单向链路选择性地具有彼此独立的并取决于所述传输介质的信道编码、安全和服务质量的不同特性;和-在所述帧交换过程中,它在每个交换机中提供虚拟端口,所述端口一对一地直接与选择性地提供传输的链路相关联,而且所述端口在如在标准IEEE(电气和电子工程师学会)802.1G中建立的双向链路和单向出去的链路之间选择。
2.按照权利要求1的在包括利用不同的链路连接的多个站的传输介质中交换分组的方法,它是按照标准IEEE 802.1D进行的,其特征在于,它选择由与每个可访问的站连接所需的最少的双向链路组成的某些链路作为主链路;而且,它采用从以下端口之间选择的端口作为每帧交换中的输入端口与所述帧进入所经的链路相关联的端口,总是假设所述链路是主链路;与等效主链路相关联的端口,总是假设所述链路不是主链路,就是说,与所述帧所来自的站通信的主链路相关联的端口,使得若存在至少两条与所述帧所来自的站通信的主链路,则在以下链路之间选择主链路若相关联的端口处于转发状态的主链路存在,选择该链路;若相关联的端口处于转发状态的主链路不存在,则选择任何链路。
3.按照权利要求2的在包括利用不同的链路连接的多个站的传输介质中交换分组的方法,其特征在于,与所述主链路相关联的端口在所有场合被认为是至本地网络的连接端口,而且只有在这些端口上生成树协议才能被完整地应用,如标准IEEE 802.1D所制定的,其余链路被排除在所述生成树协议的分组发送以外。
4.按照权利要求2或3中任何一项的在包括利用不同的链路连接的多个站的传输介质中交换分组的方法,其中端口的状态从阻塞、侦听、学习、转发和禁止之间选择;其特征在于,关于分组的发送和接收,与任何类型的非主链路相关联的端口的状态等于在等效于该链路的主链路的端口的所有状态中就是说在与相同的各站通信的主链路而非所述非主链路的端口的状态中限制性最大的状态,使得若且仅若等效于非主链路的主链路形成所述树的一部分,则非主链路将形成所述树的一部分。
5.按照权利要求4的在包括利用不同的链路连接的多个站的传输介质中交换分组的方法,其特征在于,与点至多点链路相关联的端口的状态总是转发,与这些相同的链路相关联的端口的状态经等效于所述点-多点链路的点至点主链路定期地被传递,该信息由目的站处理;其中若它们得知与源站中的链路相关联的端口处于阻塞状态,则它们选择性地执行从以下操作之间选择的操作若所述各站起交换机的作用,则离开它们在侦听状态下接收所述信息所经的端口;若所述各站不起交换机的作用,则删除从所述链路与之通信的站来的各帧;以由此避免在这些站中处理由点-多点端口发送的分组,因为若接收机站起交换机的作用,则这些分组被作为来自与所述等效主链路相关联的端口在目的地被处理。
6.按照权利要求1的在包括利用不同的链路连接的多个站的传输介质中交换分组的方法,其特征在于,每帧包括标识符清单,其中每个标识符一对一地与所述帧所穿过的交换机相关联,该清单被称为广播控制信息。
7按照权利要求6的在包括利用不同的链路连接的多个站的传输介质中交换分组的方法,其特征在于,当该交换机的标识符在该帧的广播控制信息中找到时,所述交换机删除所接收的帧;以删除由于经带有环路的网络扩散而仍无限期地留在该网络中的某些分组。
8.按照权利要求6的在包括利用不同的链路连接的多个站的传输介质中交换分组的方法,其特征在于,如果所述交换机在该帧的广播控制信息中找不到它自己的标识符,则所述交换机把它自己的标识符加入所述帧的广播控制信息。
9.按照权利要求1的在包括利用不同的链路连接的多个站的传输介质中交换分组的方法,其中进行过滤表的咨询处理,其特征在于,两个新的规范被包括进标准IEEE 802.1D的静态过滤表的每个条目中,这些规范是输入端口的规范,涉及所述帧进入所经的端口,和按照标准IEEE 802.1Q的VLAN ID(虚拟局域网标识)规范,涉及所述帧所属的VLAN的标识符;若所述帧除在标准IEEE 802.1D的MAC(介质访问控制)地址中制定的规范以外,还遵守所引用的对于输入端口和VLAN的规范,则由所述表的条目的端口映射所指出的处理是适用的。
10.按照权利要求9的在包括利用不同的链路连接的多个站的传输介质中交换分组的方法,其特征在于,在所述过滤表的静态条目的任何规范中,对于在MAC地址、输入端口和VLAN ID的规范之间选择的规范,使用在所述标准中不存在的第一新值;使得当帧中具有该特性的值与具有所述第一新值的规范的值比较时,所述比较总是符合的,因而所述规范是符合的,以及标准IEEE 802.1D为所述条目制定的处理是适用的。
11.按照权利要求9的在包括利用不同的链路连接的多个站的传输介质中交换分组的方法,其特征在于,在所述过滤表的静态条目的任何规范中,使用在所述标准中不存在的第二新值,使得当所述帧的特性与具有该第二新值的规范的特性比较时,除包含实际第二新值的那些以外,若所述帧中的值与所述表的任何其他规范的值不一致,则所述比较是符合的,换句话说,所述规范是符合的,以及在标准IEEE 802.1D中所制定的处理被应用于在所述过滤表中为条目找到的位置。
12.按照权利要求4、5或11中任何一项的在包括利用不同的链路连接的多个站的传输介质中交换分组的方法,其特征在于,给定制定经一个以上端口发送的表中的输入,在与主链路相关联的端口和与等效于那些主链路的点-多点链路相关联的端口当中选择该输入的目的端口。
全文摘要
本发明涉及在包括利用不同的链路连接的多个站的传输介质中交换分组的方法。本发明的特征在于,在一个或更多介质中建立不同的链路(9、10、11和12),由此在一个介质中存在不同的通信特性,以及特征在于与链路相关联的帧交换方法。本发明可以用于从连接到传输介质(1)的一件设备(2)向连接到所述介质的任何一件其他设备(4、5、6和7)传送帧,即使它们之间没有直接链路,所有上面提到的过程在OSI模型的层2中执行。
文档编号H04L12/44GK1856972SQ200480027958
公开日2006年11月1日 申请日期2004年6月22日 优先权日2003年7月28日
发明者克莱尔特 J·V·布拉斯科, 因苏亚 J·C·里韦罗, 曼扎诺 A·拉米罗 申请人:硅系统设计公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1