利用服务vlan标识符在trill网络中路由帧的制作方法

文档序号:7714236阅读:184来源:国知局
专利名称:利用服务vlan标识符在trill网络中路由帧的制作方法
技术领域
本发明涉及计算机联网领域,具体地涉及一种利用服务虚拟局域网(VLAN)标识符在透明式互联(Transparent Interconnection ofLots of Links,简称TRILL)网络中路 由帧的技术。
背景技术
由少数几个装置组成的早期计算机网络利用单个线缆连接在一起。然而,计算机 网络已经因为不断演化,而不再是多个相连装置的简单汇集。目前的计算机网络可以连接 分散在较大本地区域上的成千上万个装置,并且这些局域网又可以连接在一起以形成更大 的网络,诸如以互连网为例。当今的计算机网络经常将分布在多个局域网上的相差很大的多个装置互连为单 个虚拟网络。虚拟联网技术允许位于单个物理网络上的装置作为多个虚拟网络的一部分 进行操作。这种虚拟网络提供了灵活性(这在早期计算机网络中不能获得)并允许网络 管理员创建抽象层以简化复杂网络拓扑。例如,利用虚拟网络,企业可以具有虚拟刀片服务 器(virtual blade server)框架,其中具有有效地用作单个路由器的分散在多个物理位置 上的路由器,允许分离在多个站点上的一个数据中心就像该数据中心是单个站点一样起作 用。用于构造和访问当今的计算机网络的主要标准是以太网。以太网是用于局域网的 基于帧的计算机联网技术族。在各种标准规范中,以太网由电气和电子工程师协会(IEEE) 颁布为IEEE 802标准族的一部分。以太网限定了用于开放式系统互连(OSI)联网模型的 物理层的多个布线和信令标准、用于在媒体访问控制(MAC)和数据链路层处的网络访问的 手段、以及共用寻址格式。在物理层,以太网是普遍存在的,在多种类型的物理连接(有线 或无线)(包括IOMbps连接、100Mbps连接、IGbps连接、IOGbps连接、IOOGbps连接)上携 带所有类型的通信量。以太网服务层(因为它是OSI联网模型中的MAC和数据链路层而一 般被称为第2层),提供了网络一般所需的服务。这些网络服务典型地包括过滤、复制、转发 广播、单播及多播(BUM)通信量、以及跟随服务拓扑,其可以包括虚拟局域网(VLAN)、基于 ATM小巷标准(ELAN)的VLAN的ATM段、以太网私有线(ELINE)、以及有根多点以太网虚拟 连接(ETREE)。VLAN服务在IEEE 802. IQ标准中被详细说明并允许企业客户将各种计算装置 配置为就好像那些装置被附接于同一广播域一样进行通信,而不管它们的物理位置如何。 VLAN提供了分段服务(传统上由局域网(LAN)中的路由器来提供分段服务)并解决了可伸 缩性、安全性以及网络管理的问题。VLAN拓扑中的网桥加强了 VLAN广播域的完整性,这是 因为不允许这些网桥在VLAN之间桥接网络通信量。以该方式,VLAN可以提供广播过滤、安 全性、地址总结以及通信流管理。网络管理员可以利用VLAN在同一第2层网桥上创建多个 第3层网络。例如,如果广播自己的出现的动态主机配置协议(DHCP)服务器被插入了一个 网桥,则该DHCP服务器将服务于连接至该网桥的任意主机装置。然而,通过利用VLAN,网络管理员可以容易地对该网络上的这些装置进行分离,使得一些主机将不使用该DHCP服务器并将默认为链路本地地址(Iink-Iocaladdress)。因为企业客户经常具有分布在多个物理站点上的多个网络,所以客户一般通过网 络提供方的网络将这些物理上分离的网络连接在一起。例如,一个公司可以通过电信公司 所提供的网络将其站点A处的网络连接到站点B处的网络。尽管这些客户网络是通过提供 方网络而相连的,但是这些不同客户网络上的装置还可以利用VLAN服务以通过提供方的 网络而进行通信,就好像这些装置都位于同一 LAN上。出于同一原因,企业客户利用IEEE 802. IQ规范中所描述的VLAN服务,网络提供 方还利用VLAN服务来提供灵活性、安全性、通信流管理,并减小其网络管理负担。然而,缺 点是在IEEE 802. IQ规范下,只有4096个标识符可用于指定不同VLAN。因此,网络提供方 和提供方所服务的所有客户必须共享这4096个VLAN标识符。因为行业参与者认为这些有限数目的VLAN标识符不足以满足客户和提供方两者 的需求,所以IEEE 802. IQ标准被IEEE 802. ad标准所修改,一般称作“Q-in-Q”或“堆叠 VLAN”。IEEE 802. ad标准给出了一种架构和网桥协议,以按照不需要这些客户之间的协作 而需要MAC网络服务的该提供方和这些客户之间的最小协作的方式来向提供方网络的多 个独立用户提供MAC网络服务的单独实例。Q-in-Q向客户提供在由服务提供方向客户提供 的VLAN内配置其自己的VLAN的能力。以该方式,服务提供方可以为该客户配置一个服务 VLAN,而客户可以利用该服务VLAN来建立多个客户VLAN。以类似于企业客户的方式,网络服务提供方通常维护多个提供方网络域,这些提 供方网络域利用提供方骨干桥接网络而桥接在一起。IEEE在IEEE 802. Iah标准中公布了 用于这种提供方骨干桥接网络的规范。IEEE 802. Iah遵循网络通过利用服务提供方MAC报 头来封装以太网帧,而提供客户域和服务提供方域的彻底分离。因为以太网帧最初在客户 网络中利用客户MAC报头被封装,因此该利用服务提供方MAC报头的随后封装一般被称为 “MAC-in-MAC”封装。利用MAC-in_MAC封装,在客户的网络中通过多个服务提供方网络域从 一个域发送到另一个域的以太网帧包含两个MAC报头。客户MAC报头向客户的网络中的网 桥提供路由信息,而服务提供方MAC报头向服务提供方的骨干桥接网络中的网桥提供路由 fn息ο为了提供封装的以太网报头堆叠的概述,图1给出了示出遵循IEEE 802. 1标准族 的示例性以太网帧结构的线条画。图1示出了根据IEEE 802. ID标准的客户网络中所实现 的传统以太网帧100。客户帧100包含以下多项有效载荷101、指明帧100是802. ID帧 的报头类型(EthType) 102、客户网络源MAC地址(C-SA) 103、以及客户网络目的MAC地址 (C-DA) 104。客户网络源MAC地址103指定发起帧100的客户网络中的源节点,而客户网络 目的MAC地址104指定该帧被传送至的客户网络中的目的节点。如上所述,客户可以将这些节点组织为各种VLAN以提供通信流管理、安全性、灵 活网络管理等。由客户建立的在客户的网络内使用的VLAN —般称为‘客户VLAN’。在利用 客户VLAN的网络中,帧100被封装为帧110以包括客户VLAN标识符(C-VID) 115和新的报 头类型(EthType) 116,指明帧110是802. IQ帧。如该申请中所使用的,封装可以允许附加 字段被放置在与被封装对象有关的任意位置中(包括原始对象的内部),并且不需要这些 附加字段被放置在被封装对象的周围或任一末尾处。
在桥接两个客户网络的提供方桥接(PB)网络中,帧110被进一步封装,如帧120 所示,添加用于以下各项的新字段服务VLAN标识符(S-VID) 127,以及指明帧120遵循 IEEE 802. Iad的新报头类型(EthType) 128。在桥接多个PB网络的提供方骨干桥接(PBB) 网络中,帧120被进一步封装为添加用于以下各项的新字段服务标识符(I-SID) 131、对应 于服务标识符131的新报头类型(EthType) 132、骨干VLAN标识符133、指明帧130符合IEEE 802. Iah的附加报头类型(EthType) 134、指定帧进入PBB网络所经过的网桥的骨干源MAC 地址(B-SA) 135、以及指定帧离开PBB网络所经过的网桥的骨干目的MAC地址(B-DA) 136。为了进一步解释IEEE 802. Iad提供方网桥网络中的报头堆叠或封装,图2和3给出了示出对客户A和B (分别是201和202)的示例性网络进行互连的示例性提供方桥接网 络200的网络示图。在图2和3中,客户A 201对三个网络203、205、207进行维护,而客户 B 202对两个网络204、206进行维护。提供方桥接网络200由六个网桥构成,四个边缘网 桥(PEB) 1-4和两个提供方核心网桥(PCB) 1-2。边缘网桥是帧进入和离开网络200的网桥 一一即,边缘网桥位于网络拓扑的‘边缘’处。核心网桥是用于互连一个或多个边缘网桥的 网桥。图2示出了在帧220从客户A 201的网络203中的客户设备(CE)-Il 210到客户A 201的网络205中的CE-31 212遍历图2的网络时,在多个阶段的帧220。在图2中,CE-Il 210的CE-31 212之间的通信是利用客户VLAN实现的,并且因此来自CE-Il 210的帧220a 被封装有客户VLAN报头230,该报头包括客户VLAN标识符(C-VID)和指定帧220a是IEEE 802. IQ遵循帧的报头类型(EthType)。帧220包括CE-Il 210的源MAC地址(CE-Il-SA) (其指明CE-Il 210发起了帧220a)和CE-31 212的目的MAC地址(CE-31-DA)(其指明帧 220 前往 CE-31 212)。当提供方边缘网桥(PEB)-I 240接收到帧220a时,PEB-I 240通过向帧220添加 服务VLAN报头231来将帧220a封装为802. Iad帧220b。服务VLAN报头231包括由提供 方分配给客户A 201的服务VLAN标识符(S-VID-A)并指定该帧遵循802. Iad的报头类型 (EthType)。利用服务VLAN标识符来标识客户A 201的网络203、205、207中的装置,提供 方网桥获悉关于客户A的网络中的计算装置的MAC地址的信息。根据所获悉的MAC信息, 提供方网桥通过提供方网络200将帧220从帧220进入网络200所经过的PEB-1240路由 到帧220离开网络200所经过的PEB-3242。然后,PEB-3242通过去除服务VLAN报头231 来对帧220b进行去封装,留下要传送到CE-31 212的IEEE 802. IQ遵循帧220a。类似地,在图3中,客户B 202的网络204中的计算装置CE-15310将IEEE 802. IQ 遵循帧320a发送到客户B的网络206中的CE-25312。在PEB-I 240处,帧320a被封装有 服务VLAN报头331。服务VLAN报头331包括由服务提供方分配给客户B 202的服务VLAN 标识符(S-VID-B)和指定该帧遵循IEEE 802. Iad的报头类型(EthType)。提供方网络200 的入口网桥将帧320b转发到提供方网络200的出口网桥342,而出口网桥通过去除服务 VLAN报头331来对帧320b进行去封装,留下要传送到CE-35 312的IEEE 802. IQ遵循帧 320a。当提供方网桥在其端口上接收到各种帧时,这些网桥通过对与网络提供方分配给客 户B 202的各个服务VLAN标识符相关联的MAC地址进行监控来获得客户B网络中的这些 装置的MAC地址。根据上述描述,本领域普通技术人员将注意到在提供方网桥网络中,服务提供方利用一个或多个SVLAN来传送多个客户网络之间的客户VLAN的帧。为了确定每个服 务VLAN通过提供方的网桥网络的转发路径,提供方网桥通常利用通用VLAN注册协议 (Generic VLAN registration protocol,简称GVRP)和多重VLAN注册协议(Multiple VLAN registration protocol,简称MVRP)。对于多播通信量容积(containment),提供方网桥可 以利用通用属性注册协议多播注册协议(GMRP)或多重多播注册协议(MMRP)。为了转发通 信量,提供方边缘网桥获悉所有客户设备MAC地址并基于服务VLAN标识符和客户VLAN标 识符对来转发客户帧,而提供方核心网桥获悉所有客户设备MAC地址,但只基于服务VLAN 标识符来转发客户帧。在特定提供方网桥网络中,给定客户设备MAC地址位于所有服务 VLAN的同一站点。即使利用堆叠的VLAN协议,提供方网桥网络仍具有缩放问题。因为在现有协议下 只有4096个服务VLAN标识符可用,所以提供方网桥网络被局限于它们可以有效且有力服 务的客户网络数目上。此外,因为提供方网桥获悉所有客户装置的MAC地址,所以当提供方 服务于具有较大虚拟网络的一个或多个客户时常常会出现缩放问题。此外,存在客户和服 务提供方控制协议之间的交互的可能性。提供方骨干网桥(PBB)网络是缓解这些问题的一个尝试,这是因为PBB网络允许 服务提供方将较大提供方网桥网络划分为通过PBB网络互连的若干个较小提供方网桥网 络。为了进一步的阐述,图4给出了示出对示例性提供方网桥网络410、420、430进行互连 的示例性提供方骨干网桥网络400的网络示图。图4的PBB网络400由四个提供方骨干边 缘网桥(BEB)(即,BEB-Il 416、BEB-12418、BEB-21 434、及 BEB-22 436)和两个提供方骨 干核心网桥(BCB) ( SP,BCB-I 401 和 BCB-2 402)构成。图4示出了当帧412从客户设备(CE)-Il 411到CE-34 431遍历图4的网络时, 在多个阶段的帧412。利用PB网络410、430和PBB网络400的客户已经将CE-Il 411和 CE-34 431分组在同一客户VLAN中。因此,来自CE-Il 411的帧412a包括客户VLAN报头 415。客户VLAN报头415包括由客户为客户VLAN分配的客户VLAN标识符(C-VID)和指定 该帧412a遵循IEEE 802. IQ的报头类型(EthType)。当帧412a到达提供方边缘网桥(PEB)-Il 413时,PEB-11 413利用服务VLAN报 头417对帧进行封装。服务VLAN报头417包括由网络提供方分配给客户的服务VLAN标识 符(S-VID)和指定该帧412a遵循IEEE 802. Iad的报头类型(EthType)。当帧412b到达提供方骨干边缘网桥(BEB)-Il 416时,BEB-11416利用骨干 报头419对帧进行封装。骨干报头419包括服务标识符(I-SID)、对应于服务标识符的 新报头类型(EthType)、骨干VLAN标识符、指明帧412c遵循IEEE 802. Iah的附加报头 类型(EthType)、指定该帧进入PBB网络400所经过的骨干边缘网桥的骨干源MAC地址 (BEB-Il-SA)、以及指定该帧离开PBB网络400所经过的骨干边缘网桥436的骨干目的MAC 地址(BEB-22-DA)。帧412c从入口网桥(Bra-Il 416)到出口网桥(Β^_22 436)路由通过提供方骨干网桥网络400。BEB-Il 436通过去除骨干报头419对帧412c进行去封装,留下遵循IEEE 802. Iad的帧412。然后,BEB-22 436在IEEE 802. Iad遵循提供方网桥网络430中将帧412 发送到PEB-31 433。PEB-31 433通过去除服务VLAN报头417来对帧412进一步去封装, 留下遵循IEEE 802. IQ的帧412。然后,PEB-31 433将帧412转发到CE-34 431以进行传送。在提供方骨干网桥网络中,在客户域和服务提供方域之间有明显分界。客户设备的MAC地址获悉局限于提供方边缘网桥,并且I-SID字段允许作为服务的以太网从作为基 础结构的以太网中分离出来。如上所述,IEEE 802. 1Q、802. Iad及802. Iah标准所描述的联网架构允许企业客 户建立在地理上分散但作为单个虚拟网络进行操作的多个网络。这些物理上分离的LAN利 用用跨越树协议(sparmingtree protocol)建立的转发树来通过PB和PBB网络进行通信。 跨越树协议是确保任意桥接LAN的无环(loop-free)拓扑的OSI第2层协议。该协议允许 网络设计包括空闲(冗余)链路以在活动链路故障的情况下提供自动备份路径,而不会有 网桥环路的危险或需要手动使能或进行这些备份链路。必须避免网桥环路,这是因为这种 环路导致使网络泛洪的通信量。跨越树协议是按照IEEE 802. ID标准定义的,并且,顾名思 义,其在连接的第2层网桥的网状网络内创建了跨越树,并禁止了不是该树的一部分的那 些链路,留下了任意两个网络节点之间的单个活动路径。对于上面参照图1-4所描述的网络中所用的跨越树协议,有某些缺点。因为跨越 树协议禁止了不是该转发树的一部分的链路,所以通过将通信量集中在所选链路上常常产 生瓶颈。此外,如果跨越树消息丢失或当因为使节点在线或离线或节点移动到网络中而网 络拓扑改变时,跨越树协议的本质会导致发展临时环路。在临时环路存在期间,帧会使网络 泛洪,这是因为标准以太网报头不包含指定何时帧变得陈旧并会被丢弃的跳计数或生存时 间(time-to-live)字段。此外,在网络的多个节点之间开发的路径不一定是成对最短路 径,而是在跨越树协议消除了冗余路径之后剩余的路径。在创建不带有跨越树协议缺点的网络解决方案的尝试中,互联网工程任务组 (IETF)已经寻求开发了附加协议。一个这种协议是“透明式互联”(TRILL)协议。TRILL协 议和其他类似规范要求利用路由器-网桥(R-网桥)来沿着最短路径将帧逐跳路由通过网 络至该网络中的帧目的地,例如,网络的边缘网桥。为了进一步阐述,图5给出了示出示例 性TRILL网络500 (还称作路由器-网桥网络,这是因为这些装置用作ISO第2层等级的 路由器和网桥两者)的网络示图。TRILL网络500包括三个核心路由器-网桥(CRB)(即, CRB-4 540、CRB-5 542 及 CRB-6 544)以及五个边缘路由器-网桥(ERB) ( BP, ERB-I 530、 ERB-2 532、ERB-8 534、ERB_9 536 及 ERB-7 538)。网络提供方将 TRILL 网络 500 提供给客 户。TRILL网络500的边缘一般延伸至客户设备所覆盖的数据中心。实际上,一般每个设备 机柜都包括用作TRILL网络500的边缘的网桥。这些TRILL网络可以延伸通过一个或多个 数据中心以互连各种网络。图 5 的 TRILL 网络 500 互连两个 IEEE 802. IQ 网络 510、520。802. IQ 网络 510 通 过 ERB-I 530 和 ERB-2 532 连接到 TRILL 网络 500。802. IQ 网络 520 通过 ERB-8 534 和 ERB-9 536连接到TRILL网络500。8021. Q网络510包括老旧网桥(legacy bridge,简称 LB) -55 514和企业网桥(EB)-16 516 (它们都不遵循TRILL)。802. IQ网络520包括EB-85 524和EB-96 526。端点装置包括连接到LB-55514的客户设备(CE)-Il 512、连接到EB-85 524 的 CE-31 522、以及连接到 EBR-7 538 的 CE-77 539。端点装置 CE-11 512、CE-31522、 CE-77 539可以是任意类型的计算装置,包括工作站、服务器、网络装置等等。图5示出了当帧518从CE-Il 512到CE-31 522遍历图5的网络时,在若干个阶段的帧518。利用TRILL网络500来桥接多个802. IQ网络的客户已经将CE-Il 512和 CE-31 522分组到同一客户VLAN中。因此,由LB-55 514为CE-11 512发送的帧518a包括 客户VLAN报头519。客户VLAN报头519包括由客户为客户VLAN分配的客户VLAN标识符 (C-VID)和指定该帧518a遵循IEEE 802. IQ的报头类型(EthType)。当帧518a到达ERB-1 530时,ERB-1 530利用TRILL报头551对帧518进行封装。TRILL报头551包括将ERB-I指定为帧518的入口边缘路由器-网桥的TRILL源昵 称(ERB-I-SN)、将ERB-8 534指定为帧518的出口边缘路由器-网桥的TRILL目的昵称 (ERB-8-DN)、各种TRILL标记、跳计数、以及指明帧518b是TRILL帧的报头类型(EthType)。 利用动态昵称获取协议或本领域技术人员可想到的其也协议,TRILL昵称被分配给TRILL 网络中的每个路由器-网桥。为了根据TRILL协议提供逐跳路由,ERB-I 530利用MAC-in_MAC封装将以太网 MAC报头添加到帧518。MAC报头552包括外部传输VLAN标识符(OT-VLAN-ID)、报头类型 (EthType)、将ERB-I 530指定为通过网络500传输下一网络跳上的帧518b的节点的源MAC 地址(EBR-I-SA)、以及将CRB-5 542指定为通过网络500接收下一网络跳上的帧518b的 节点的目的MAC地址(CRB-5-DA)。然后,ERB-I 530将帧518发送到CRB-5542,其基于至 ERB-8 534的最短路径将帧路由通过TRILL网络500至CRB-4 540。在帧遍历TRILL网络 500时,MAC报头552在每一跳处有所改变以更新下一网络跳的源MAC地址和目的MAC地址。 因此,当帧518c从CRB-4 540传递到ERB-8 534时,帧518包括MAC报头562。图5的MAC 报头562包括将CRB-4 540指定为通过网络500传送下一网络跳上的帧518c的节点的源 MAC地址(CRB-4-SA)和将ERB-8 534指定为通过网络500接收下一网络跳上的帧518c的 节点的目的MAC地址(ERB-8-DA)。在接收到帧518c时,ERB-8 534通过去除MAC报头562 和TRILL报头551来对帧518进行去封装,留下要通过EB-85 524而传送到CE-31 522的 帧 518a。在客户网络看来,图5的TRILL网络500用作大型交换机构造。帧在入口网桥处进 入TRILL网络并沿着最短路径被逐跳路由通过TRILL网络至出口网桥以传送到客户网络。 当TRILL网络中的网桥获悉TRILL网桥所连接至的客户网络中的客户设备的MAC地址时, TRILL网桥彼此共享关于哪个客户MAC地址与哪个TRILL网桥昵称有关的信息。具有已知 单播地址的ISO第2层帧通过转接或核心路由器-网桥基于入口和出口边缘路由器-网桥 的TRILL昵称被逐跳路由。ISO第2层多播通信量还可以基于多播分布树被逐跳路由。除了 TRILL之外,还有其他提供方桥接协议,诸如IEEE 802. Iaq(其呈现了行业参 与者利用通过网络的最短路径来转发边缘网桥之间的帧的尝试)中所描述的最短路径提 供方骨干桥接(SPPBB)。然而,所有这些解决方案的一个共同特征为是否TRILL、SPPBB、或 任意其他利用了 MAC-in-MAC封装。不幸的是,形成这些网络的边缘的用于典型机柜安装网 桥的目前这代硬件不支持MAC-in-MAC封装,从而限制了提供在第2层等级进行路由的最短 路径的TRILL、SPPBB、以及类似解决方案的使用。

发明内容
本发明披露了一种利用服务VLAN标识符在TRILL网络中路由帧的方法、设备、及 产品。根据本发明实施例利用服务VLAN标识符在TRILL网络中路由帧有利地不需要支持MAC-in-MAC封装的边缘网桥以克服多个互连IEEE 802. IQ网络上的4096个VLAN标识符限 制。此外,根据本发明实施例,这种边缘网桥只需要利用改善为用网桥标识符路由帧的软件 来更新。以该方式,现有机柜安装网桥可以被用作需要MAC-in-MAC封装来提供最短路径转 发服务的网络(诸如以TRILL网络或SPB网络为例)中的边缘网桥。根据本发明实施例,利用服务VLAN标识符来路由帧的TRILL网络包括多个网桥节 点。这些网桥节点中的至少一个网桥节点作为帧被接收到该网络中所经过的入口网桥节点 进行操作。这些网桥节点中的至少一个网桥节点作为帧被传送出该网络所经过的出口网桥 节点进行操作。该网络中的网桥节点接收来自入口网桥节点的要传送到目的节点的帧。目 的节点通过出口网桥节点连接到TRILL网络,而发起该帧的源节点通过入口网桥节点连接 到TRILL网络。所接收到的帧包括客户VLAN标识符、入口网桥节点的服务VLAN标识符、目 的节点的目的节点地址。在这点上,所接收到的帧不利用MAC-in-MAC封装。相反,网桥节 点利用入口网桥节点的服务VLAN标识符和目的节点的目的节点地址将TRILL报头添加到 符合TRILL协议的帧。TRILL报头包括入口网桥昵称和出口网桥昵称。然后该网桥节点依 赖于入口网桥节点昵称和出口网桥节点昵称将该帧路由到目的节点连接到该网络所经过 的出口网桥节点。根据本发明的实施例,该帧最终遍历通过TRILL网络以到达经过单个跳连接到出 口网桥节点的网桥节点。经过单个跳连接到出口网桥节点的网桥节点接收要传送到目的节 点的帧。该帧包括目的节点的目的节点地址和TRILL报头,TRILL报头包括入口网桥节点 的入口网桥昵称和出口网桥节点的出口网桥昵称。该网桥节点确定该帧遍历朝着目的节点 的下一跳上的出口网桥节点。基于该确定,该网桥节点利用入口网桥节点的服务VLAN标识 符替换TRILL报头并将该帧路由到出口网桥节点。然后出口网桥节点可以将该帧路由到目 的节点。本发明的前述和其他目的、特征、及优点可以从附图中所示例的以下本发明示例 性实施例的更具体描述中变得显而易见,在附图中,类似标号一般代表本发明示例性实施 例的类似部件。


结合于此并构成本说明书一部分的附图示出了与本发明一致的实现方式,并且连 同详细描述一起用于阐述与本发明一致的优点和原理。图1给出了示出遵循IEEE 802. 1标准族的示例性以太网帧结构的线条画。图2给出了对示例性客户网络进行互连的示例性提供方网桥网络的网络示图。图3给出了对示例性客户网络进行互连的示例性提供方网桥网络的网络示图。图4给出了对示例性提供方网桥网络进行互连的示例性提供方骨干网桥网络的 网络示图。图5给出了示出示例性TRILL网络的网络示图。图6给出了示出具有网桥的TRILL网络的网络示图,其中,网桥支持根据本发明的实施例利用服务VLAN标识符在TRILL网络中路由帧。图7给出了自动计算机器的框图,该自动计算机器包括根据本发明实施例利用服 务VLAN标识符在TRILL网络中路由帧时所使用的示例性网桥。
图8给出了示出根据本发明实施例利用服务VLAN标识符在TRILL网络中路由帧 的示例性方法的示图。图9给出了示出根据本发明实施例利用服务VLAN标识符在TRILL网络中路由帧 的另一示例性方法的示图。
具体实施例方式尽管在附图中示出并详细描述了某些示例性实施例,但是应当理解的是,在不背 离本发明的基本范围的情况下这些实施例仅是示例性的而不是设计性的,本发明的范围由 所附权利要求确定。尽管以下公开内容是利用与以太网链路、各种IEEE 802标准和TRILL有关的技术 来讨论的,但是这些仅仅是示例性的和说明性的,因而本发明的范围并不局限于此,而是可 以延伸至由本文的权利要求所限定的最全范围。结合机柜安装设备所使用的典型边缘网桥不支持目前的最短路径骨干桥接网络 解决方案(诸如以TRILL网络解决方案为例)所需的MAC-in-MAC封装。然而,当TRILL网 络中的各种网桥被修改为根据本发明实施例利用服务VLAN标识符在TRILL网络中路由帧 时,具有不支持MAC-in-MAC封装的硬件的边缘网桥可以用作TRILL网络解决方案的一部 分。为了进一步的阐述,图6给出了示出具有网桥的TRILL网络的网络示图,其中,该 网桥支持根据本发明实施例利用服务VLAN标识符在TRILL网络中路由帧。图6的TRILL网 络包括四个核心路由器-网桥(CRB)(即,CRB-4 602、CRB-5 604、CRB_6 606、及CRB-7 608) 和实现为机柜顶部(top-of-rack)装置(T-ERB)的四个边缘路由器-网桥(即,T-ERB-1 610、T-ERB-2 612、T-ERB-8 614、&T_ERB_9 616)。在图 6 的实例中,TRILL 网络 600 使客 户设备(CE)-ll 620 和 CE-31 630 互连。CE-11 620 通过 T-ERB-1 610 连接到 TRILL 网络 600,而CE-31 630通过T-ERB-8 614连接到TRILL网络600。在至少核心路由网桥具有支 持根据TRILL协议的帧路由的硬件的意义上,图6的网络600被称为‘TRILL’网络。图6示出了当帧640遍历图6的网络时,在各个阶段的帧640。在图6中,管理 CE-11 620和CE-31 630的网络管理员已经将CE-11620和CE-31 630分组到用于数据通 信的客户VLAN中。相应地,图6的帧640包括客户VLAN报头642,该报头包括客户VLAN 标识符(C-VID),该标识符标识分配有CE-11 620和CE-31 630的特定客户VLAN。VLAN报 头642还包括指定该帧是IEEE 802. 1Q遵循帧的报头类型(EthType)。帧640a还包括将 CE-11 620指定为帧640a的起源的源MAC地址(CE-11-SA)和将CE-31 630指定为帧640 被传送到的目的节点的目的MAC地址(CE-31-DA)。在图6的实例中,T-ERB-1 610通过客户网络611接收来自CE-11 620的帧640a。 T-ERB-1 610与TRILL网络600中的其他边缘网桥一起利用服务VLAN标识符将帧640路由 通过网络600。该服务VLAN标识符类似于802. lad网络用于标识一个服务所使用的服务 VLAN标识符。在802. lad网络中,服务VLAN标识符区分使用同一客户VLAN标识符的两个 以上客户的客户网络的帧。服务VLAN标识符一般符合IEEE 802. lad标准,但不是被要求 这样。在图6的实例中,每个边缘网桥610、612、614、及616被分配了唯一服务VLAN标识符,边缘网桥利用该标识符在每个帧中存储从其他计算机网络输入到或进入到网络600 中。可以由提供TRILL网络600的服务提供方将服务VLAN标识符分配给每个边缘网桥。然 而,一般地,服务VLAN标识符可以被分配给每个边缘网桥作为利用本领域技术人员可以想 到的任意动态获取控制协议在网络600中的多个网桥之间的协商的一部分一一与TRILL网 络800中的每个网桥获取其TRILL昵称的方式几乎一样。实际上,分配给每个边缘网桥的 服务VLAN标识符的值可以与边缘网桥的TRILL昵称的值一样,这将在以下更详细地讨论。图 6 的 T-ERB-1 610 具有“T-ERB-1-SVLAN”的服务 VLAN 标识符。图 6 的 T-ERB-1 610通过将包括服务VLAN标识符(T-EBR-1-SVLAN)的供应商报头652添加到帧640b,而将 入口网桥节点的服务VLAN标识符(T-EBR-1-SVLAN)添加到帧640b中。供应商报头652是 具有T-ERB-1 610的供应商所定义的格式的订制报头。然而,本领域技术人员将注意到,可 以使用许多不同报头格式,包括非供应商特有的报头格式。在图6的实例中,T-ERB-1 610将帧640b路由到TRILL网络600中的从入口网桥 节点610到出口网桥节点614 (出口网桥节点是目的节点630连接到网络600所经过的节 点)的路径上的下一网桥,即,CEB-5 604。图6的T-ERB-1 610基于目的节点CE-31 630 的目的节点地址(CE-31-DA)来路由帧640b。图6的T-ERB-1 610利用目的地址来识别目 的节点连接到网络600所经过的出口网桥614。T-ERB-1 610通过记录T-ERB-1 610接收 到的帧的入口节点标识符-起源节点地址对用于当其作为出口节点进行操作时进行处理, 来获悉各个节点连接到网络600所经过的边缘网桥。在识别了目的节点连接到网络600所 经过的出口网桥之后,然后T-ERB-1 610识别沿着到出口网桥节点614的最短路径的下一 节点(CRB-5 604)。然后T-ERB-1 610通过将T-ERB-1 610连接到CRB-5 604的端口将帧 640b 传送到 CRB-5 604。图6的CRB-5 604接收来自入口网桥T-ERB-1 610的帧640b并依赖于服务VLAN 标识符(T-ERB-1-SVLAN)和目的节点CE-31630的目的节点地址(CE-31-DA)将TRILL报头 654添加到帧640。TRILL报头654是符合TRILL协议的标准报头并包括入口网桥昵称和出 口网桥昵称。如上所述,网桥为其服务VLAN标识符所使用的值可以与网桥为其TRILL昵称所使 用的值相同。然而,本领域技术人员应该理解,不一定使用同一值,这是因为服务VLAN标识 符与任意特定边缘网桥的TRILL昵称截然不同或分离。即,服务VLAN标识符一般是不符合 TRILL协议的订制供应商报头的一部分,而TRILL昵称是用于根据TRILL协议来路由帧的 TRILL报头的一部分。该网络中的网桥一般利用TRILL工作组(其被互联网工程工作小组 接纳为会员)发布的“Rbridges 基础协议规范”中所描述的动态昵称获取协议来获取它们 的TRILL昵称。使供应商报头中的网桥标识符与TRILL报头中的TRILL昵称截然不同,允许网桥 被用作不能利用标准TRILL报头(诸如以图5中的TRILL报头551为例)对帧进行封装的 TRILL网络600中的边缘网桥。例如,在图6中,图6中的边缘路由器-网桥610、612、614、 616的硬件不支持TRILL协议。S卩,图6中的边缘路由器-网桥610、612、614、616的硬件不 能利用标准TRILL报头(诸如以图5中的TRILL报头551为例)来对该帧进行封装、以及 在TRILL协议下利用所需的MAC-in-MAC封装通过TRILL网络800将帧从一个跳路由到另 一个跳。并非利用入口和出口路由器_网桥的TRILL昵称,边缘路由器-网桥添加图6的
15TRILL网络600中每个边缘路由器网桥唯一的且被那些网桥的硬件所支持的服务VLAN标识 符。入口网桥具有将这些服务VLAN标识符添加到该帧的能力,这是因为图6中的边缘路由 器-网桥610、612、614、616的硬件不能将TRILL报头添加到帧,这些边缘路由器-网桥硬 件不支持允许这些路由器-网桥将入口网桥的服务VLAN标识符添加到帧640的特定堆叠 报头或订制报头。因此,为了将入口网桥昵称添加到TRILL报头654,CRB-5 604只需要添加入口网 桥节点610的服务VLAN标识符的值作为TRILL报头654中的入口网桥昵称。为了将出口网 桥昵称添加到TRILL报头654,CRB-5 604可以在存储这种值的表中查找与目的节点地址相 关联的出口网桥节点的服务VLAN标识符。该表的内容可以利用网络控制协议来周期性地 更新并可以以本领域技术人员可想到的任意方式来实现。在获得了出口网桥节点的SVLAN 标识符之后,然后CRB-5 604可以添加出口网桥节点的SVLAN标识符的值作为TRILL报头 654中的出口网桥昵称。当在图6的实例中CRB-5 604添加TRILL报头654时,CRB-5604 —般去除包含服 务SVLAN标识符(T-ERB-1-SVLAN)的供应商报头652,这是因为订制供应商报头652是标准 TRILL协议的一部分。然而,本领域技术人员应该注意到,在一些实施例中,当其经过TRILL 网络(600)中的核心网桥时,供应商报头可以保留帧的一部分。在图6的实例中,CRB-5604基于TRILL报头654中的入口网桥昵称和出口网桥昵 称,将帧640c路由到目的节点630连接到网络600所经过的出口网桥节点。利用入口网桥 昵称和出口网桥昵称,CRB-5 604根据TRILL协议可以识别TRILL网络600中从该网桥节 点到出口网桥节点的路径上的下一网桥。在图6的实例中,TRILL网络600中从该网桥节 点到出口网桥节点的路径上的下一网桥是CRB-4 602。然后,CRB-5 604可以通过利用包括 CRB-4 602的MAC地址的以太网报头656来封装帧640c,而将该帧路由到出口网桥节点。然 后,CRB-5 604依赖于MAC报头656中的MAC地址而将帧640c路由到下一网桥节点CRB-4 602。在图6的实例中,CRB-4 602接收来自CRB-5 604的要传送到CE-31 630的帧 640b。在检查帧640c中的信息时,CRB-4 602确定帧640遍历下一网络跳上的出口网桥节 点T-ERB-8 614。因为T-ERB-8 614不具有支持TRILL报头654的硬件,所以CRB-4 602用 包括入口网桥610的服务VLAN标识符(ERB-1-SVLAN)的订制供应商报头来替换TRILL报头 654。然后,CRB-4 602将帧640d路由到出口网桥节点T-ERB-8 614。CRB-4 602知道出口 网桥节点T-ERB-8 614缺乏MAC_in_MAC封装能力,这是因为当出口网桥节点T-ERB-8 614 最初加入网络600时,那些能力一般被广播给网络600上的其他节点。图6中的出口网桥节点T-ERB-8 614接收来自CRB-4 602的要传送到目的节点 CE-31 630的帧640d。因为图6的客户网络611、613是IEEE 802. 1Q网络,所以T-ERB-8 614 从帧 640d 去除服务 VLAN 标识符(T-ERB-1-SVLAN),留下帧 640a。然后,T-ERB-8 614 对帧640进行路由用于通过客户网络613传送到目的节点CE-31630。当T-ERB-8 614首先接收到帧640时,T-ERB-8 614记录入口节点标识符-起源 节点地址对。记录该值对允许T-ERB-8 614获悉起源节点620通过边缘网桥610连接到网 络600并在未来当T-ERB-8614作为入口网桥节点进行操作时利用该信息。T-ERB-8 614利 用该信息作为入口网桥节点,这是因为T-ERB-8 614需要知道哪个边缘网桥是出口网桥节点以确定通过网络600的最短路径。本领域技术人员会注意到,在图6的实例中,接收到来自入口网桥的帧的第一个 核心路由器-网桥将TRILL报头添加到了该帧。然后,核心路由器-网桥利用TRILL报头中 的TRILL昵称将帧路由通过网络至经过单个网络跳直接连接到出口网桥的核心网桥。以该 方式,一旦TRILL报头被添加到帧,根据本发明的实施例,利用TRILL报头路由该帧的其他 核心网桥路由器不需要被配置为利用服务VLAN标识符在TRILL网络中路由帧。而且,这些 路由器-网桥可以以TRILL协议提供的标准方式来路由帧。因此依赖于该网络的该拓扑, 可以连同被修改为根据本发明实施例操作的路由器_网桥来使用标准路由器_网桥。根据本发明实施例利用服务VLAN标识符在TRILL网络中路由帧一般利用计算机 (即,自动计算机器)来实现。因此,为了进一步的阐述,图7给出了包括在根据本发明实施 例利用服务VLAN标识符在TRILL网络中路由帧时使用的示例性网桥150的自动计算机器 的框图。图7的网桥150是包括在该计算机网络中的多个网桥节点之一。该网络中的多个 网桥节点中的至少一个网桥节点作为帧被接收到该计算机网络所经过的入口网桥节点来 进行操作。此外,网络中的多个网桥节点中的至少一个网桥节点作为帧被传送出该计算机 网络所经过的出口网桥节点来进行操作。在图7的实例中,示例性网桥150包括至少一个处理器156或‘CPU’以及通过高 速存储器总线166和总线适配器158而连接到处理器156并连接到示例性网桥150的其他 部件的随机存取存储器168 (RAM)。图7的RAM 168中所存储的是路由模块190。图7的路由模块190是用于根据本 发明实施例利用服务VLAN标识符在TRILL网络中路由帧的计算机程序指令。TRILL网络包 括多个网桥节点。多个网桥节点中的至少一个网桥节点作为帧被接收到TRILL网络中的入 口网桥节点而进行操作。多个网桥节点中的至少一个网桥节点作为帧被传送出该TRILL网 络所经过的出口网桥节点而进行操作。在该TRILL网络中,每个入口网桥节点和每个出口 网桥节点被分配了唯一服务VLAN标识符。如上所述,一般分配给每个网桥节点的服务VLAN 标识符的值与每个网桥利用TRILL工作组(其被互联网工程工作小组接纳为会员)所公布 的“Rbridge 基础协议规范”中所描述的动态昵称获取协议所获取的TRILL昵称的值一样。图7的路由模块190进行操作以一般通过以下步骤来根据本发明实施例利用服 务VLAN标识符在TRILL网络中路由帧接收来自入口网桥节点的要传送到目的节点的 帧,目的节点通过出口网桥节点连接到TRILL网络,所接收到的帧包括客户VLAN标识符、 入口网桥节点的服务VLAN标识符、以及目的节点的目的节点地址,所接收到的帧不具有 MAC-in-MAC封装;依赖于入口网桥节点的服务VLAN标识符和目的节点的目的节点地址向 该帧添加符合TRILL协议的TRILL报头,TRILL报头包括入口网桥昵称和出口网桥昵称;以 及依赖于入口网桥昵称和出口网桥昵称将该帧路由到目的节点连接到该网络所经过的出 口网桥节点。图7的路由模块190还进行操作以一般通过以下步骤根据本发明实施例利用服务 VLAN标识符在TRILL网络中路由帧接收要传送到目的节点的帧,该目的节点通过出口网 桥节点连接到网络,该帧起源于通过入口网桥节点而连接到网络的源节点,该帧包括目的 节点的目的节点地址和TRILL报头,TRILL报头包括入口网桥节点的入口网桥昵称和出口 网桥节点的出口网桥昵称;确定该帧遍历朝着目的节点的下一跳上的出口网桥节点;响应于该确定,利用入口网桥节点的服务VLAN标识符来替换TRILL报头;以及通过该网桥节点 将该帧路由到出口网桥节点。在RAM 168中还存储了操作系统154。根据本发明实施例在网桥中使用的操作系 统可以包括丛林网络(Juniper Network)的JUNOS 和JUNOSe 、Cisco的IOS 或 Extreme网络的ExtremeXOS 。根据本发明实施例在网桥中可用的其他操作系统可以包 括简装版本的UNIX 、Linux 、Microsoft XP 、及本领域技术人员可想到的其他操作系统。 图7的实例中的操作系统154和路由模块190在RAM 168中示出,但是这种软件的许多部 件也典型地被存储在非易失性存储器172 (例如,电可擦可编程只读存储器(EEPR0M))中或 特定用途集成电路(ASIC) 186的存储器中。图7的网桥150包括通过总线适配器158而连接到网桥150的其他部件的网桥接 口 180。网桥接口 180提供节点184连接到网络150所经过的端口。节点184可以实现为 服务器、工作站、网络装置、或本领域技术人员可想到的任意其他计算装置。图7的网桥接 口 180包括由处理器156或ASIC 186所控制的交换电路(switchingcircuit)。网桥接口 180的交换电路提供高速交换服务以快速接收一个端口上的帧并通过另一端口将那些帧转 发到其最终目的地。该交换电路还可以设置有从ASIC 186或处理器156卸载的有限处理 能力。在图7的实例中,连接到网桥接口 180的ASIC 186在致力于从主处理器156卸载 处理时提供特定帧处理服务。例如,ASIC 186可以用于提供过滤、复制、转发、封装、或去封 装服务。此外,ASIC186可以包含并执行如上所述的路由模块190。图7的示例性网桥150包括总线适配器168、包含高速总线的驱动电子器件的计算 机硬件部件、前端总线162和存储器总线166、以及接口总线169和慢扩展总线160的驱动 电子器件。通过图7的扩展总线160,通信适配器167、非易失性存储器172、以及1/0适配 器178连接到示例性网桥150的其他部件。图7的示例性网桥150包括一个或多个输入/输出(‘1/0’适配器178)。1/0适 配器178提供允许处理器156与网桥的各个1/0部件接口的部件。示例性1/0部件可以包 括(例如)发光二极管(LED)、液晶显示器(LCD)、物理开关和按钮、或本领域技术人员可想 到的其他接口部件。图7的示例性网桥150还包括通信适配器167,通信适配器167用于在通过端口 182进行网络通信的带外与其他计算装置进行数据通信。通信适配器167可以根据通用串 行总线(USB)规范、小型计算机系统接口(SCSI)规范、RS-232规范、内置集成电路(I2C)总 线协议、系统管理总线(SMBus)协议、智能平台管理总线(IPMB)协议等向处理器156提供接口。本领域技术人员会注意到图7的网桥150的示例性实现方式仅是示例性的而不是 限制性的。本领域技术人员可以想到的其他计算架构也可以被用于根据本发明实施例利用 服务VLAN标识符在TRILL网络中路由帧。例如,网桥可以利用通用计算机或网络帧处理专 用的专用计算装置、或其他混合架构来实现。图8-9提供了当根据本发明实施例进行操作的不同网桥将帧路由通过TRILL网络 时,本发明各个实施例的进一步阐述。图8给出了根据本发明实施例利用服务VLAN标识符 在TRILL网络800中路由帧的示例性方法的流程图。图8的TRILL网络800包括多个网桥节点810、812、814、816、818。在图8中,网桥节点810操作为帧被接收到TRILL网络800中 所经过的入口网桥节点,而网桥节点818操作为帧被传送出TRILL网络800所经过的出口 网桥节点。在图8的实例中,入口网桥节点810的硬件和出口网桥节点818的硬件不支持 MAC-in-MAC封装,并因而不能在硬件水平上支持TRILL协议。图8的网桥节点812包括十二个端口 900a_l,通过这些端口其他节点可以连接到 网桥节点812。在图8的实例中,入口网桥节点810通过端口 900b连接到网桥节点812。核 心网桥节点816通过端口 900k连接到网桥节点812。图8的方法包括通过网桥节点812接收902来自入口网桥节点810的要传送到目 的节点808的帧822。在图8的实例中,目的节点808通过客户网络805和出口网桥节点 818连接到TRILL网络800。网桥节点812可通过从端口 900b的接收栈检索帧822a并提 升接收栈的栈指针,来根据图8的方法接收902来自入口网桥节点810的帧822。图8的帧822a指定发起帧822a的源节点(未示出)的源节点地址826和帧822 被传送至的目的节点808的目的节点地址824。源和目的节点地址826、824可以被实现为 MAC地址。帧822a还包括客户VLAN标识符823,客户网络上的设备利用该标识符将帧822 分配给在一个或多个客户网络上建立的特定VLAN。帧822a进一步包括指定了服务VLAN标 识符831的供应商报头830。图8的服务VLAN标识符831和帧822a —般符合IEEE 802. lad 标准,但是本领域技术人员应认识到,根据本发明实施例这种符合不是必需特征。图8的方法还包括依赖于入口网桥节点810的服务VLAN标识符831和目的节点 808的目的节点地址824通过网桥节点812向帧822添加904符合TRILL协议的TRILL报 头1003。TRILL报头1003包括入口网桥昵称1004和出口网桥昵称1006。如上所述,入口 网桥昵称1004和出口网桥昵称1006的值可以分别与入口网桥810和出口网桥818的服务 VLAN标识符的值相同。因此,网桥节点812可以通过将帧822a中的服务VLAN标识符831 的值存储在TRILL报头1003中作为入口网桥昵称1004,来根据图8的方法添加904入口 网桥昵称1004。网桥节点812可以通过在网络拓扑1105中查找目的节点808连接到网络 800所经过的边缘网桥的昵称并将存储该值作为TRILL报头1003中的出口网桥昵称1006, 来根据图8的方法添加904出口网桥昵称1006。图8的网络拓扑1105是对网络800的网络拓扑进行维护的表,该网络拓扑限定了 网络800中的多个节点之间的数据通信连接。网桥节点根据控制协议(诸如以中间系统对 中间系统(“IS-IS”)协议为例)基于多个节点之间交换的控制帧,来确定这些节点之间的 数据通信连接。网络拓扑1105还使边缘网桥与网络800之外通过网络800发送或接收帧 的节点相关联。这种网络可以通过本领域技术人员可以想到的任意方式来实现和周期性地 更新。图8的方法包括依赖于入口网桥昵称1004和出口网桥昵称1006通过网桥节点 812将帧822b路由906到目的节点808连接到网络800所经过的出口网桥节点818。网桥 节点812可以通过利用以太网报头908来封装帧822b,来根据图8的方法基于入口网桥昵 称1004和出口网桥昵称1006路由906帧822b。本领域技术人员将注意到在该点上帧822 现在利用MAC-in-MAC封装,其一般被TRILL网络800中的核心网桥812和816所支持,而 不被边缘网桥810和818所支持。以太网报头908包括网络800中从网桥节点812到出口 网桥节点818的路径上的下一网桥(即,网桥816)的MAC地址。
19
在图8的实例中,网桥节点812利用根据TRILL规范建立的转发表1005来识别网 络800中从入口网桥节点810到出口网桥节点818的最短路径上的下一网桥。每个网桥具 有为该网桥在网络800的拓扑中的位置订制的一组转发表,用于在不同边缘网桥对之间路 由帧。以该方式,网桥节点812可以利用入口网桥昵称1004和出口网桥昵称1006以定位 沿着任意入口和出口节点对之间的路径的下一节点。在以太网报头908被添加到帧822b之后,然后网桥节点812可以通过将帧822b 放置在对应于MAC地址910的端口 900k的传送栈中,来利用下一节点的MAC地址910将帧 822b路由到下一网桥节点。一旦帧822被放置在端口 900k的传送栈中,网桥接口(诸如参 照图7所描述的网桥接口 )将帧822从适当的端口 900k发送到下一网桥,S卩,网桥816。
在图8的实例中,即使网桥812接收到来自TRLL网络800中的边缘网桥810的帧 822a,本领域技术人员也会注意到所接收到的帧822a还不具有基于TRILL报头的TRILL网 络设备的附加MAC地址或TRILL报头。以该方式,当帧822遍历TRILL网络800的第一跳 时,帧822不利用MAC-in-MAC封装。这允许TRILL网络800利用具有不支持MAC_in_MAC 封装的硬件的网桥作为边缘网桥。因为目前这代网桥不支持MAC-in-MAC封装,因此利用现 有网桥作为TRILL网络中的边缘网桥的能力降低了实现TRILL网络解决方案的成本。当利用不支持MAC-in-MAC封装的网桥作为TRILL网络中的边缘网桥时,在帧到达 出口网桥节点之前(即,当帧到达网桥816时)TRILL网络中的网桥的MAC地址和支持TRILL 报头必须从帧中去除。为了进一步阐述在核心网桥816处发生的帧处理,图9给出了示出 在根据本发明实施例利用服务VLAN标识符在TRILL网络800中路由帧的又一示例性方法 的流程图。图9的网络拓扑类似于图8的网络拓扑。图9的TRILL网络800包括多个网桥节 点810、812、816、818。在图9中,网桥节点810作为帧被接收到TRILL网络800中所经过的 入口网桥节点进行操作,而网桥节点818作为帧被传送出TRILL网络800所经过的出口网 桥节点进行操作。每个入口网桥节点和每个出口网桥节点被分配了唯一服务VLAN标识符。 图9的网桥节点812、816作为核心网桥进行操作。在图9的实例中,入口网桥节点810的 硬件和出口网桥节点818的硬件不支持MAC-in-MAC封装,并因而不能支持TRILL协议。图9的网桥节点816包括其他节点可以连接至网桥节点816所经过的十二个端口 llOOa-Ι。在图9的实例中,核心网桥节点812通过端口 IlOOc连接到网桥节点816。出口 网桥节点818通过端口 IlOOi连接到网桥节点816。图9的方法包括通过网桥节点816接收要传送到目的节点808的帧822。图9的 目的节点808通过出口网桥节点818和客户网络805连接到网络800。帧822指定发起帧 822的源节点的源节点地址826和目的节点808的目的节点地址824。帧822具有TRILL 报头1003,该报头包括入口网桥昵称1004和出口网桥昵称1006。帧822还包括以太网报 头908,该报头包括网桥节点816的MAC地址910——全部类似于参照图8描述的那些。网 桥节点816可以通过从端口 IlOOc的接收栈中检索帧822d并提升接收栈的栈指针,来根据 图9的方法接收1102帧822b。接收栈可以被实现为缓冲器,从端口 1100接收到的帧被放 置到该缓冲器中直到那些帧被网桥816处理。图9的方法包括通过网桥节点816来确定1104帧822遍历下一网络跳上的出口 网桥节点816。在图9的方法中,网桥节点816可以利用网络拓扑1105来确定1104帧822遍历下一网络跳上的出口网桥节点816,其可以以本领域技术人员可想到的方式被获得和实现,具体地通过周期性地检测网络拓扑上的改变的动态控制协议。如上所述,出口网桥818不支持和MAC-in-MAC封装。因此,图9的方法包括通过 网桥节点816响应于该确定而用服务VLAN标识符831来替换TRILL报头1003。因为TRILL 昵称和服务VLAN标识符可以用同一值来实现,所以网桥节点816可以通过去除TRILL报头 1003和以太网报头908并将包括作为服务VLAN标识符831的入口网桥昵称1004的值的供 应商报头830添加到帧822c,来根据图9的方法用服务VLAN标识符831替换1108 TRILL 报头1003。在边缘网桥的服务VLAN标识符不同于TRILL昵称的其他一些实施例中,网桥 816然后可以利用查找表,该查找表使边缘节点的服务VLAN标识符与其对应TRILL昵称相 关联。查找表可以以本领域技术人员可想到的任意方式来实现并可以利用网络控制协议或 本领域技术人员可想到的其他这种机制来周期性地更新。图9的方法包括通过网桥节点816将帧822路由1110到出口网桥节点816。网 桥节点816可以通过将帧822存储在对应于下一网桥818的端口 IlOOi的传送栈中,来根 据图9的方法将帧822路由1110到出口网桥节点816。一旦帧822被放置在端口 IlOOi的 传送栈中,网桥接口(诸如参照图7所描述的网桥接口)就将帧822从适当端口 IlOOi发 送到出口网桥818。本领域技术人员将从上述回忆起服务VLAN标识符831是不符合IEEE 802. IQ的 订制或堆栈供应商报头的一部分。因为图8的客户网络是IEEE 802. IQ遵循网络,所以出 口网桥节点818在将帧822发送到目的节点808之前从帧822去除供应商报头830。通过去除基于TRILL报头的TRILL网络设备的附加MAC地址910和TRILL报头 1003,帧822主要从具有MAC-in-MAC封装的TRILL帧变换为具有不利用MAC-in-MAC封装 的堆叠报头的帧,典型地为IEEE 802. Iad遵循帧。这允许TRILL网络800利用具有不支 持MAC-in-MAC封装的硬件的网桥作为边缘网桥。因为当前这代网桥不支持MAC-in-MAC封 装,利用现有网桥作为TRILL网络中的边缘网桥的能力降低了实现TRILL网络解决方案的 成本。当出口网桥818接收到帧822时,出口网桥818记录入口节点标识符(客户VLAN ID 823)-起源节点地址(源地址826)对。记录该值对允许出口网桥818获悉起源节点(未 示出)通过边缘网桥810连接到网络800并在未来当出口网桥818作为入口网桥节点进行 操作时利用该信息。出口网桥818利用这种信息作为入口网桥节点,这是因为边缘网桥818 需要知道哪个边缘网桥是出口网桥节点以确定通过网络800的最短路径。本发明的示例性实施例主要是在被配置为利用服务VLAN标识符在TRILL网络中 路由帧的全功能网络网桥的上下文中描述的。然而,本领域技术人员将会意识到,本发明 还可以在计算机程序产品中实现,该计算机程序产品设置在计算机可读介质上与任意适当 数据处理系统一起使用。这种计算机可读介质可以是机器可读信息的传送介质或可记录 介质,包括磁介质、光学介质、或其他适当媒体。可记录介质的实例包括硬驱动中的磁盘或 磁碟、压缩盘或光驱、磁带、以及本领域技术人员可想到的其他。传送数据的实例包括语音 通信的电话网络和数字数据通信网络(诸如(例如Ethernets 和利用互联网协议通信 的网络和万维网)以及无线传送媒体(诸如(例如)根据IEEE 802. 11规范族实现的网 络)。本领域技术人员将立即认识到具有适当编程手段的任意计算机系统都能够执行收录在程序产品中的本发明的方法的步骤。本领域技术人员将立即认识到,尽管本说明书中描述的示例性实施例中的一些实施例被定向为所安装的软件并在计算机硬件上执行,但无论 如何,被实现为固件或硬件的可替换实施例也处于本发明的范围内。 从前述描述中可以理解,在不背离本发明真正精神的情况下可以在本发明的各个 实施例中进行修改和改变。该说明书中的描述仅是示例性的而不可解释为限制意义的。本 发明的范围仅由以下权利要求的语言限定。
权利要求
一种利用服务虚拟局域网(‘VLAN’)标识符在透明式互联(‘TRILL’)网络中路由帧的方法,所述TRILL网络包括多个网桥节点,所述多个网桥节点中的至少一个网桥节点作为所述帧被接收到所述TRILL网络中所经过的入口网桥节点进行操作,以及所述多个网桥节点中的至少一个网桥节点作为所述帧被传送出所述TRILL网络所经过的出口网桥节点进行操作,至少一个入口网桥节点和至少一个出口网桥节点被分配唯一服务VLAN标识符,所述方法包括以下步骤通过所述多个网桥节点中的一个网桥节点接收来自所述入口网桥节点的要传送到目的节点的帧,所述目的节点通过所述出口网桥节点连接到所述TRILL网络,所接收到的帧包括客户VLAN标识符、所述入口网桥节点的服务VLAN标识符、以及所述目的节点的目的节点地址,所接收到的帧不具有mac-in-mac封装;依赖于所述入口网桥节点的所述服务VLAN标识符和所述目的节点的所述目的节点地址通过所述一个网桥节点向所接收到的帧添加符合TRILL协议的TRILL报头,所述TRILL报头包括入口网桥昵称和出口网桥昵称;以及依赖于所述入口网桥昵称和所述出口网桥昵称通过所述一个网桥节点将所接收到的帧路由到所述目的节点连接到所述网络所经过的出口网桥节点。
2.根据权利要求1所述的方法,其中,所接收到的帧还包括所述入口网桥节点的供应 商所指定的供应商报头,所述供应商报头包括所述服务VLAN标识符。
3.根据权利要求1所述的方法,其中,路由所接收到的帧的步骤还包括以下步骤依赖于所述入口网桥昵称和所述出口网桥昵称利用以太网报头封装所接收到的帧,所 述以太网报头包括所述TRILL网络中从所述一个网桥节点到所述出口网桥节点的路径上 的下一网桥的媒体访问控制(‘MAC’ )地址;以及依赖于所述MAC地址将所接收到的帧路由到所述下一网桥节点。
4.根据权利要求1所述的方法,还包括以下步骤通过所述入口网桥节点将所述入口 网桥节点的所述服务VLAN标识符添加到所接收到的帧。
5.根据权利要求1所述的方法,其中,所述入口网桥节点的硬件和所述出口网桥节点 的硬件不能进行mac-in-mac封装。
6.根据权利要求1所述的方法,其中,所述服务VLAN标识符符合电气和电子工程师协 会(‘IEEE,)802. Iad 标准。
7.一种利用服务虚拟局域网(‘VLAN’)标识符在透明式互联(‘TRILL’)网络中路由 帧的方法,所述TRILL网络包括多个网桥节点,所述多个网桥节点中的至少一个网桥节点 作为所述帧被接收到所述TRILL网络中所经过的入口网桥节点进行操作,以及所述多个网 桥节点中的至少一个网桥节点作为所述帧被传送出所述TRILL网络所经过的出口网桥节 点进行操作,至少一个入口网桥节点和至少一个出口网桥节点被分配唯一服务VLAN标识 符,所述方法包括以下步骤通过所述多个网桥节点中经过单个跳连接到所述出口网桥节点的一个网桥节点接收 要传送到目的节点的帧,所述目的节点通过所述出口网桥节点连接到所述网络,所接收到 的帧起源于通过所述入口网桥节点连接到所述网络的源节点,所接收到的帧包括所述目的 节点的目的节点地址和TRILL报头,所述TRILL报头包括所述入口网桥节点的入口网桥昵 称和所述出口网桥节点的出口网桥昵称;通过所述一个网桥节点确定所接收到的帧遍历朝着所述目的节点的下一跳上的所述 出口网桥节点;响应于所述确定通过所述一个网桥节点利用所述入口网桥节点的所述服务VLAN标识 符替换所述TRILL报头;以及通过所述一个网桥节点将所接收到的帧路由到所述出口网桥节点。
8.根据权利要求7所述的方法,其中,替换所述TRILL报头的步骤还包括以下步骤利 用所述出口网桥节点的供应商所指定的供应商报头替换所述TRILL报头,所述供应商报头 包括所述服务VLAN标识符。
9.根据权利要求7所述的方法,其中,所述入口网桥节点的硬件和所述出口网桥节点 的硬件不能进行mac-in-mac封装。
10.根据权利要求7所述的方法,其中,所述服务VLAN标识符符合电气和电子工程师协 会(‘IEEE,)802. Iad 标准。
11.一种利用服务虚拟局域网(‘VLAN’ )标识符在透明式互联(‘TRILL’ )网络中路 由帧的方法,所述TRILL网络包括多个网桥节点,所述多个网桥节点中的至少一个网桥节 点作为所述帧被接收到所述TRILL网络中所经过的入口网桥节点进行操作,以及所述多个 网桥节点中的至少一个网桥节点作为所述帧被传送出所述TRILL网络所经过的出口网桥 节点进行操作,至少一个入口网桥节点和至少一个出口网桥节点被分配唯一服务VLAN标 识符,所述方法包括以下步骤通过所述多个网桥节点中的一个网桥节点接收来自所述入口网桥节点的要传送到目 的节点的帧,所述目的节点通过所述出口网桥节点连接到所述TRILL网络,所接收到的帧 包括客户VLAN标识符、所述出口网桥节点的服务VLAN标识符、以及所述目的节点的目的节 点地址,所接收到的帧不具有mac-in-mac封装;依赖于所述出口网桥节点的所述服务VLAN标识符和所述一个网桥节点接收到所接收 到的帧的端口,通过所述一个网桥节点向所接收到的帧添加符合所述TRILL协议的TRILL 报头,所述TRILL报头包括入口网桥昵称和出口网桥昵称,所述端口与所述入口网桥昵称 相关联,所述出口网桥节点的所述服务VLAN标识符与所述出口网桥昵称相关联;以及依赖于所述TRILL报头通过所述一个网桥节点将所接收到的帧路由到所述目的节点 连接到所述网络所经过的所述出口网桥节点。
12.一种利用服务虚拟局域网(‘VLAN’ )标识符在透明式互联(‘TRILL’ )网络中路 由帧的设备,所述TRILL网络包括多个网桥节点,所述设备作为所述多个网桥节点中的一 个网桥节点进行操作,所述多个网桥节点中的至少一个网桥节点作为所述帧被接收到所述 TRILL网络中所经过的入口网桥节点进行操作,以及所述多个网桥节点中的至少一个网桥 节点作为所述帧被传送出所述TRILL网络所经过的出口网桥节点进行操作,至少一个入口 网桥节点和至少一个出口网桥节点被分配唯一服务VLAN标识符,所述设备包括存储计算机程序的计算机存储器,所述计算机程序包括指令,当所述指令被执行时使 所述设备接收来自所述入口网桥节点的要传送到目的节点的帧,所述目的节点通过所述出口网 桥节点连接到所述TRILL网络,所接收到的帧包括客户VLAN标识符、所述入口网桥节点的 服务VLAN标识符、以及所述目的节点的目的节点地址,所接收到的帧不具有mac-in-mac封装,依赖于所述入口网桥节点的所述服务VLAN标识符和所述目的节点的所述目的节点地 址向所接收到的帧添加符合TRILL协议的TRILL报头,所述TRILL报头包括入口网桥昵称 和出口网桥昵称,以及依赖于所述入口网桥昵称和所述出口网桥昵称将所接收到的帧路由到所述目的节点 连接到所述网络所经过的所述出口网桥节点;以及处理器,可操作地耦合到所述计算机存储器并执行所述指令。
13.根据权利要求12所述设备,其中,所接收到的帧还包括所述入口网桥节点的供应 商所指定的供应商报头,所述供应商报头包括所述服务VLAN标识符。
14.根据权利要求12的设备,其中,当被执行时使所述设备路由所接收到的帧的指令 还包括附加指令,当所述附加指令被执行时使所述设备依赖于所述入口网桥昵称和所述出口网桥昵称利用以太网报头封装所接收到的帧,所 述以太网报头包括所述TRILL网络中从所述一个网桥节点到所述出口网桥节点的路径上 的下一网桥的媒体访问控制(‘MAC’ )地址;以及依赖于所述MAC地址将所接收到的帧路由到所述下一网桥节点。
15.根据权利要求12所述的设备,其中,所述入口网桥节点将所述入口网桥节点的所 述服务VLAN标识符添加到所接收到的帧。
16.根据权利要求12所述的设备,其中,所述入口网桥节点的硬件和所述出口网桥节 点的硬件不能进行mac-in-mac封装。
17.根据权利要求12所述的设备,其中,所述服务VLAN标识符符合电气和电子工程师 协会(‘IEEE,)802· lad 标准。
18.一种利用服务虚拟局域网(‘VLAN’ )标识符在透明式互联(‘TRILL’ )网络中路 由帧的设备,所述TRILL网络包括多个网桥节点,所述多个网桥节点中的至少一个网桥节 点作为所述帧被接收到所述TRILL网络中所经过的入口网桥节点进行操作,以及所述多个 网桥节点中的至少一个网桥节点作为所述帧被传送出所述TRILL网络所经过的出口网桥 节点进行操作,至少一个入口网桥节点和至少一个出口网桥节点被分配唯一服务VLAN标 识符,所述设备作为所述多个网桥节点中经过单个网络跳连接到所述出口网桥节点的一个 网桥节点进行操作,所述设备包括存储计算机程序的计算机存储器,所述计算机程序包括指令,当所述指令被执行时使 所述设备接收要传送到目的节点的帧,所述目的节点通过所述出口网桥节点连接到所述网络, 所接收到的帧起源于通过所述入口网桥节点连接到所述网络的源节点,所接收到的帧包括 所述目的节点的目的节点地址和TRILL报头,所述TRILL报头包括所述入口网桥节点的入 口网桥昵称和所述出口网桥节点的出口网桥昵称,确定所接收到的帧遍历朝着所述目的节点的下一跳上的所述出口网桥节点,响应于所述确定,利用所述入口网桥节点的所述服务VLAN标识符替换所述TRILL报 头,以及将所接收到的帧路由到所述出口网桥节点;以及处理器,可操作地耦合到所述计算机存储器并执行所述指令。
19.根据权利要求18所述的设备,其中,当被执行时使所述设备替换所述TRILL报头的 指令还包括利用所述出口网桥节点的供应商所指定的供应商报头替换所述TRILL报头的 附加指令,所述供应商报头包括所述服务VLAN标识符。
20.根据权利要求18所述的设备,其中,所述入口网桥节点的硬件和所述出口网桥节 点的硬件不能进行mac-in-mac封装。
21.根据权利要求18所述的设备,其中,所述服务VLAN标识符符合电气和电子工程师 协会(‘IEEE,)802· lad 标准。
22.一种利用服务虚拟局域网(‘VLAN’ )标识符在透明式互联(‘TRILL’ )网络中路 由帧的计算机可读介质,所述TRILL网络包括多个网桥节点,所述多个网桥节点中的至少 一个网桥节点作为所述帧被接收到所述TRILL网络中所经过的入口网桥节点进行操作,以 及所述多个网桥节点中的至少一个网桥节点作为所述帧被传送出所述TRILL网络所经过 的出口网桥节点进行操作,至少一个入口网桥节点和至少一个出口网桥节点被分配唯一服 务VLAN标识符,所述计算机可读介质被编码有指令,所述指令被数据处理系统中的处理器 执行以执行以下步骤通过所述多个网桥节点中的一个网桥节点接收来自所述入口网桥节点的要传送到目 的节点的帧,所述目的节点通过所述出口网桥节点连接到所述TRILL网络,所接收到的帧 包括客户VLAN标识符、所述入口网桥节点的服务VLAN标识符、以及所述目的节点的目的节 点地址,所接收到的帧不具有mac-in-mac封装;依赖于所述入口网桥节点的所述服务VLAN标识符和所述目的节点的所述目的节点 地址通过所述一个网桥节点向所接收到的帧添加符合所述TRILL协议的TRILL报头,所述 TRILL报头包括入口网桥昵称和出口网桥昵称;以及依赖于所述入口网桥昵称和所述出口网桥昵称通过所述一个网桥节点将所接收到的 帧路由到所述目的节点连接到所述网络所经过的所述出口网桥节点。
23.根据权利要求22所述的计算机可读介质,其中,所接收到的帧还包括所述入口网 桥节点的供应商所指定的供应商报头,所述供应商报头包括所述服务VLAN标识符。
24.根据权利要求22所述的计算机可读介质,其中,路由所接收到的帧的步骤还包括 以下步骤依赖于所述入口网桥昵称和所述出口网桥昵称利用以太网报头封装所接收到的帧,所 述以太网报头包括所述TRILL网络中从所述一个网桥节点到所述出口网桥节点的路径上 的下一网桥的媒体访问控制(‘MAC’ )地址;以及依赖于所述MAC地址将所接收到的帧路由到所述下一网桥节点。
25.根据权利要求22所述的计算机可读介质,其中,所述方法还包括以下步骤通过所 述入口网桥节点将所述入口网桥节点的所述服务VLAN标识符添加到所接收到的帧。
26.根据权利要求22所述的计算机可读介质,其中,所述入口网桥节点的硬件和所述 出口网桥节点的硬件不能进行mac-in-mac封装。
27.根据权利要求22所述的计算机可读介质,其中,所述服务VLAN标识符符合电气和 电子工程师协会(‘IEEE,)802· lad标准。
28.一种利用服务虚拟局域网(‘VLAN’ )标识符在透明式互联(‘TRILL’ )网络中路 由帧的计算机可读介质,所述TRILL网络包括多个网桥节点,所述多个网桥节点中的至少一个网桥节点作为所述帧被接收到所述TRILL网络中所经过的入口网桥节点进行操作,以 及所述多个网桥节点中的至少一个网桥节点作为所述帧被传送出所述TRILL网络所经过 的出口网桥节点进行操作,至少一个入口网桥节点和至少一个出口网桥节点被分配唯一服 务VLAN标识符,所述计算机可读介质被编码有指令,所述指令被数据处理系统中的处理器 执行以执行以下步骤通过所述多个网桥节点中经过单个跳连接到所述出口网桥节点的一个网桥节点接收 要传送到目的节点的帧,所述目的节点通过所述出口网桥节点连接到所述网络,所接收到 的帧起源于通过所述入口网桥节点连接到所述网络的源节点,所接收到的帧包括所述目的 节点的目的节点地址和TRILL报头,所述TRILL报头包括所述入口网桥节点的入口网桥昵 称和所述出口网桥节点的出口网桥昵称;通过所述一个网桥节点确定所接收到的帧遍历朝着所述目的节点的下一跳上的所述 出口网桥节点;响应于所述确定通过所述一个网桥节点利用所述入口网桥节点的所述服务VLAN标识 符替换所述TRILL报头;以及通过所述一个网桥节点将所接收到的帧路由到所述出口网桥节点。
29.根据权利要求28所述的计算机可读介质,其中,替换所述TRILL报头的步骤还包括 以下步骤利用所述出口网桥节点的供应商所指定的供应商报头替换所述TRILL报头,所 述供应商报头包括所述服务VLAN标识符。
30.根据权利要求28所述的计算机可读介质,其中,所述入口网桥节点的硬件和所述 出口网桥节点的硬件不能进行mac-in-mac封装。
31.根据权利要求28所述的计算机可读介质,其中,所述服务VLAN标识符符合电气和 电子工程师协会(‘IEEE,)802· lad标准。
全文摘要
本发明披露了一种通过以下内容来利用服务VLAN标识符在TRILL网络中路由帧的方法、设备、及产品接收来自入口网桥节点的要通过TRILL网络传送到目的节点的帧,目的节点通过出口网桥节点连接到TRILL网络,所接收到的帧包括客户VLAN标识符、唯一分配给入口网桥节点的服务VLAN标识符、以及目的节点的目的节点地址,所接收到的帧不具有mac-in-mac封装;依赖于服务VLAN标识符和目的节点地址添加符合TRILL协议的TRILL报头,TRILL报头包括入口网桥昵称和出口网桥昵称;以及依赖于入口网桥昵称和出口网桥昵称将帧路由到目的节点连接到该网络所经过的出口网桥节点。
文档编号H04L12/46GK101827009SQ20091017885
公开日2010年9月8日 申请日期2009年9月29日 优先权日2009年3月4日
发明者希瓦·谢诺, 库马·梅赫塔, 拉马萨米·拉马纳坦, 桑吉瓦·杜什, 苏内什·拉斯特阿吉, 阿普勒瓦·梅赫塔 申请人:丛林网络公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1