CN102694721A - 多链路透明互连路由桥之间掩蔽的以太网地址的使用 - Google Patents
多链路透明互连路由桥之间掩蔽的以太网地址的使用 Download PDFInfo
- Publication number
- CN102694721A CN102694721A CN2011104612639A CN201110461263A CN102694721A CN 102694721 A CN102694721 A CN 102694721A CN 2011104612639 A CN2011104612639 A CN 2011104612639A CN 201110461263 A CN201110461263 A CN 201110461263A CN 102694721 A CN102694721 A CN 102694721A
- Authority
- CN
- China
- Prior art keywords
- network
- address
- trill
- packet
- transmission equipment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/66—Layer 2 routing, e.g. in Ethernet based MAN's
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请涉及多链路透明互连路由桥之间掩蔽的以太网地址的使用。本申请的技术包括的系统和方法扩展了包括多链路透明互连(TRILL)网络在内的传输网络的功能。技术包括将传输设备地址封装头部内的一部分信息用于除了标识源和目的地设备之外的目的。系统掩蔽地址头部中的一部分位,以用于传输网络节点的转发表中的查找。(一个或多个)地址字段中其余的位变为可用于诸如流标识符选择之类的多种应用目的的空闲位。通过使用已经存在于封装头部中的信息字段,这种技术提供了另外的信息而不增加分组大小或需要新的协议。实施例可以同时组合等成本多路径路由(ECMP)功能,反向路径转发(RPF)检查和生存时间(TTL)保护。
Description
技术领域
本发明涉及网络计算领域,尤其涉及在多链路透明互连(TRILL)路由桥之间使用掩蔽的(masked)以太网地址。
背景技术
计算机网络通常包括能够相互通信以用于处理数据流量和控制指令的计算设备的集合。例如,这种设备可以包括服务器,数据中心,路由器,网络交换机,管理应用,无线接入点和客户端计算机。计算机网络可提供网络连接给有线计算设备和/或无线计算设备。
计算机网络可以包括各种配置。一种这样的配置被称为虚拟专用网(VPN),它是一种运行在公共通信网络(如因特网)上为远程办公室或个人客户提供对特定网络的安全、私人的访问的网络,所述特定网络例如是特定于组织或公司的网络。VPN通过对不在同一专用网络上的两个或更多联网设备之间的数据传送进行封装来工作。这种封装使得所传送的数据对于一个或多个中介局域网或广域网上的其他设备保持私密性。VPN可以使一组客户端计算机作为给定广播域的成员进行通信和访问特定的资源,即使各成员客户端计算机没有附接到同一网络交换机也是如此。
包括VPN服务在内的网络服务通常是采用以太网技术提供的。以太网已经成为数据传输的默认数据链路层技术,也就是对于开放系统互连(OSI)模型的第二层(L2)是默认的。存在将以太网技术扩展到其他或更大网络的若干种伴随的技术和协议。一种这样的协议是多链路透明互连(TRILL)协议。TRILL是一种被设计为提供通过传输网络承载L2用户流量的透明机制的技术。TRILL使用传输网络中被称为路由网桥(RBridge)的节点或设备。RBridge是支持TRILL规约的设备。TRILL目前是因特网工程任务组(IETF)的协议草案,其规约可从ietf.org(tools.ietf.org/search/draft-ietf-trill-rbridge-protocol-16)获得。
在TRILL拓扑结构中,RBridge被传输网络分开。传输网络可以使用各种各样的技术,但以太网技术是传输网络的最受欢迎的选择。当使用RBridge之间的以太网传输时,转发的分组承载TRILL以太网头部,该TRILL以太网头部包括媒体访问控制(MAC)源地址(MAC-SA)和MAC目的地址(MAC-DA)。使用TRILL的网络可以直接通过RBridge或通过一个或多个传输网络连接客户网络,允许多个RBridge的互连而不失去各个客户的单独定义的虚拟局域网(VLAN)。存在其他相关技术,这些其他相关技术遵循连接两个或更多的客户网络(接入网络)的传输网络的模型,其中传输网络的功能与客户网络不同,即使一个管理员运行这两个网络也是如此。
发明内容
诸如多链路透明互连(TRILL)网络或使用以太网封装技术的其他网络之类的传输网络面临的挑战之一是扩展路由和交换功能。TRILL网络在将分组(已经具有至少一个封装的分组)通过传输网络进行路由之前对这样的分组进行封装。分组被在入口RBridge处封装,在中间RBridge处部分解封并重新封装,并在出口RBridge处解封,然后再继续到目的客户网络。
对现有的分组(已经有头部)的以太网封装可以简化并加快通过传输网络的数据传输,但可能以降低路由功能为代价。在RBridge之间转发分组时,常常希望能够在分组中包括可由RBridge甚至接收分组的以太网传输设备使用的额外的信息,以进行某种高效的处理。例如,如果管理员想在传输网络内添加另外的功能,那么管理员将必须配置传输网络以使每个节点对给定分组进行更为深入的查看(检查封装头部内的头部)。这种附加特征可包括支持等成本多路径路由(ECMP)而不对用户流进行不正确的排序,识别特定的用户网络接口(入口RBridge的非传输接口),提供生存时间(TTL)信息,识别流路径,或任何额外的信息或元数据。然而,让每个节点执行这样的深度分组检测会减慢传输网络内的流量,这可能导致延迟和分组丢失。或者,可引入新的路由协议,但新的协议将需要遍及传输网络内所有节点的大量的硬件和软件更新,时间和成本可能过高。
本申请所公开的技术包括扩展传输网络的功能的特征和方法。技术包括对以太网地址头部内的一部分信息进行掩蔽。通过使用用于TRILL头部中以太网MAC地址的地址掩码,掩蔽的位可用于除了寻址以外——或不同于寻址——的目的。系统限制在RBridge(传输网络节点)的转发表中进行地址查找时应由RBridge考虑的地址头部中的位数。使用地址位的一子集来标识TRILL网络中的地址信息。(一个或多个)地址字段中其余的位变为可用于多种应用目的的空闲位。当执行地址查找时,空闲位针对地址查找可被掩蔽或以其他方式忽略,但被用于另外的网络管理或路由操作。
通过使用已经存在于TRILL封装头部中的信息字段,这种技术提供了另外的信息而不增加分组大小。地址字段中释放的位不被视为地址信息。因此,将这些空闲位用于其他目的并不会导致需要存储在转发表中的地址数目的增加。这种解决方案不给RBridge和以太网传输功能带来实现过于复杂的负担。
一个实施例包括地址管理器,该地址管理器执行分组交换处理。地址管理器在第一数据交换设备处接收数据分组,所述第一数据交换设备例如是TRILL网络的RBridge或传输网络的边缘节点。数据分组具有现有的头部,并且是从客户网络接收到的。地址管理器使用TRILL头部封装数据分组。TRILL头部具有至少包括传输设备地址空间和TRILL设备地址空间的数据结构。封装数据分组包括在传输设备地址空间内设定第一部分位,以使得该第一部分位指示作为TRILL网络内节点的数据交换设备地址。即,地址管理器在该设备地址空间的可用位总数的一子集中输入设备地址信息。封装数据分组还包括在传输设备地址空间内设定第二部分位,以使得该第二部分位指示与作为TRILL网络内节点的数据交换设备地址不同的信息。换言之,可将该第二部分位用作元数据或额外信息,对其的使用不同于指示设备地址(源或目的地址)。封装数据分组还包括设定TRILL设备地址空间中的位,以使得这些位指示入口RBridge别名和出口RBridge别名。第一数据交换设备(入口RBridge)然后经由TRILL网络转发数据分组。
在另一实施例中,使用TRILL头部包括在TRILL头部的VLAN指示器空间内指示出传输设备地址空间的哪些位指示数据交换设备地址,以及传输设备地址空间的哪些位指示与数据交换设备地址不同的信息。因此,在TRILL头部的VLAN空间内包含的另外的信息可以指示针对地址查找要掩蔽哪些位,使用哪些位。在另一实施例中,在提供商地址空间内包括另外的信息,以标识流标识符或提供用于流路径计算的信息。
在另一实施例中,地址管理器在TRILL网络内的RBridge设备(例如中间RBridge)处接收来自TRILL网络内另一节点的数据分组。该数据分组具有通过TRILL头部封装的客户网络头部。TRILL头部包括传输设备地址空间和RBridge别名空间。地址管理器从TRILL头部内的传输设备地址空间识别传输设备地址,传输设备地址空间具有指示第一数据交换设备的传输设备地址的第一部分位。传输设备地址空间具有指示与第一数据交换设备的传输设备地址不同的信息的第二部分位。地址管理器基于在所述第一部分位中指示的传输设备地址,在RBridge设备的转发表中执行查找。RBridge然后利用指示第二数据交换设备地址的位来替换指示第一数据交换设备的传输设备地址的第一部分位,同时保持第二部分位不变。因此,RBridge仅修改传输设备地址空间内的一部分位,同时保持其余部分不变,或将其余部分原样拷贝到用来转发数据分组的另一TRILL头部实例。RBridge然后经由TRILL网络转发数据分组。
本申请所公开的技术还可通过提供逐跳路径选择(下一节点选择)来支持等成本多路径路由(ECMP),而不增加分组开销或需要深入分组检查。
在一个实施例中,地址管理器在第一数据交换设备处接收数据分组。该数据分组具有现有的头部,并且是从客户网络接收到的。第一数据交换设备是传输网络的边缘节点。这种边缘节点可以是TRILL网络的入口RBridge,提供商骨干桥接(PBB)网络的骨干边缘桥,等等。地址管理器使用传输网络头部封装数据分组。传输网络头部具有一数据结构,该数据结构包括传输设备地址空间,可选地还包括虚拟局域网(VLAN)指示器空间。封装数据分组包括设定传输设备地址空间内的第一部分位,以使得该第一部分位指示作为传输网络内节点的数据交换设备地址。地址管理器通过使用来自现有的头部的分组信息作为用于生成流标识符的计算输入,例如通过对下面的客户信息进行哈希计算,来生成流标识符。封装数据分组包括设定传输设备地址空间内的第二部分位,以使得该第二部分位指示流标识符。数据交换设备通过使用来自传输设备地址空间的流标识符作为用于选择到传输网络的下一跳节点的转发路径的计算输入,来选择转发路径。数据交换设备然后使用所选择的转发路径将数据分组转发到传输网络中的下一跳节点。后续的节点然后可以使用流标识符以用于下一跳选择。后续节点还可提供反向路径转发(RPF)检查和生存时间(TTL)功能。
本申请的另外实施例包括用于执行以上总结和以下详细公开的步骤和操作的软件程序。一个这种实施例包括计算机程序产品,其具有计算机存储介质(例如,非暂态的有形计算机可读介质,位置分开或位于一处的存储介质,计算机存储媒体或介质,等等),该计算机存储介质包括在其上编码的计算机程序逻辑,其当在具有处理器和相应存储器的计算机化装置中执行时对处理器进行编程以执行(或使处理器执行)本申请所公开的操作。这种设置通常作为软件、固件、微代码、代码数据(例如数据结构)等等来提供,其被设置或编码在诸如光学介质(例如CD-ROM),软盘,硬盘,一个或多个ROM或RAM或PROM芯片,专用集成电路(ASIC),现场可编程门阵列(FPGA)等等的计算机可读存储介质上。软件或固件或其他这种配置可以安装到计算机化设备上,以使该计算机化设备执行本申请所说明的技术。
因此,本发明的一个具体实施例涉及一种计算机程序产品,其包括一个或多个在其上存储有指令以用于支持操作的非暂态计算机存储介质,所述操作例如有:在第一数据交换设备处接收数据分组,该数据分组具有现有的头部,并且是从客户网络接收到的,第一数据交换设备是TRILL网络的入口RBridge;使用TRILL头部封装数据分组,该TRILL头部具有一数据结构,该数据结构包括传输设备地址空间和TRILL设备地址空间;封装数据分组包括设定传输设备地址空间内的第一部分位,以使得该第一部分位指示作为TRILL网络内节点的数据交换设备地址;封装数据分组包括设定传输设备地址空间内的第二部分位,以使得该第二部分位指示与TRILL网络内节点的数据交换设备地址不同的信息;封装数据分组包括设定TRILL设备地址空间内的位,以使得这些位指示入口RBridge别名和出口RBridge别名;以及经由TRILL网络转发数据分组。或者,本发明的另一具体实施例涉及一种一种计算机程序产品,其包括一个或多个在其上存储有指令以用于支持操作的非暂态计算机存储介质,所述操作例如有:在第一数据交换设备处接收数据分组,该数据分组具有现有的头部,并且是从客户网络接收到的,第一数据交换设备是传输网络的边缘节点;使用传输网络头部封装数据分组,传输网络头部具有一数据结构,该数据结构包括传输设备地址空间和虚拟局域网(VLAN)指示器空间;封装数据分组包括设定传输设备地址空间内的第一部分位,以使得该第一部分位指示作为传输网络内节点的数据交换设备地址;封装数据分组包括设定传输设备地址空间内的第二部分位,以使得该第二部分位指示流标识符;通过使用来自传输设备地址空间的流标识符作为用于选择到传输网络的下一跳节点的转发路径的计算输入,来选择转发路径;并且使用所选择的转发路径将数据分组转发到传输网络中的下一跳节点。本申请所描述的指令和方法当被相应计算机设备的处理器实施时,使得该处理器执行本申请所公开的方法。
本发明的其他实施例包括用于执行以上总结和以下详细公开的方法实施例步骤和操作中任何步骤和操作的软件程序。
当然,本申请所描述的不同步骤的讨论顺序的提出是为了清楚起见。一般而言,这些步骤可以按任何合适的顺序来执行。
而且应当理解,本申请中的系统、方法、设备等等中的每一个都可以被严格作为软件程序,作为软件和硬件的混合体,或仅作为硬件例如在处理器内,或在操作系统内或在软件应用程序内,或经由执行所有或部分操作的诸如人之类的非软件应用而实施。本申请所描述的示例实施例可实现在例如美国新泽西州林克劳福特(Lincroft)的阿瓦雅公司所制造的产品和/或软件应用中。
如上所述,本申请中的技术非常适合于用在支持分组交换和路由的软件应用中。但是应当注意,本申请的实施例不限于用在这种应用中,并且本申请所讨论的技术也非常适合于其他应用。
此外,尽管本申请中的不同特征、技术、配置等等中的每一个可能在本申请的不同位置进行了讨论,但希望这些概念中的每一个都可以彼此独立地执行,或彼此结合执行。因此,可以以许多不同方式实施和观察本发明。
注意,本申请中的该“发明内容”部分并不指定本发明或所要求保护的发明的每个实施例和/或递增的新颖方面。相反,该发明内容仅提供了对不同实施例和相对于传统技术的相应新颖点的初步讨论。对于本发明和实施例另外的细节和/或可能的前景,请读者参考本申请的“具体实施方式”部分和相应附图,这些将在下面进一步讨论。
附图说明
从附图所示的本申请的优选实施例的以下更具体描述中将会更清楚本发明的前述及其他目的、特征和优点,在附图的所有不同视图中,相似的标号指代相同部件。附图不一定是按比例绘制的,而是将重点放在示出实施例、原理和概念上。
图1A和图1B示出了TRILL网络以太网头部的数据结构的概念表示。
图2是TRILL网络的网络示图。
图3是根据本申请实施例的TRILL网络的网络示图。
图4A、图4B和图4C根据本申请的实施例,示出了传输设备地址头部内的示例划分。
图5A和图5B示出了用于与ECMP和TTL操作一起使用的示例MAC中MAC(MAC-in-MAC)封装头部。
图6-图8的流程图示出了根据本申请实施例,支持TRILL头部地址掩蔽的处理的示例。
图9-图11的流程图示出了根据本申请实施例,支持TRILL头部地址掩蔽的处理的示例。
图12的流程图示出了根据本申请实施例,在传输网络中使用地址掩蔽支持ECMP的处理的示例。
图13的流程图示出了根据本申请实施例,在传输网络中使用地址掩蔽支持ECMP的处理的示例。
图14是根据本申请实施例,在计算机/网络环境中操作的地址管理器的示例框图。
具体实施方式
本申请所公开的技术包括扩展传输网络功能的系统和方法。技术包括在封装数据分组的TRILL头部的传输设备地址空间内添加额外信息——其不同于设备源和目的地地址。以太网媒体访问控制(MAC)或类似地址空间内的该额外信息用于不同于设备寻址的目的。例如,该额外信息可用于等成本多路径路由(ECMP),标识特定的用户网络接口,提供生存时间(TTL)信息,指示流ID,流路径,或用于其他任何数据传输管理目的。系统限制在RBridge(传输网络节点)的转发表中进行地址查找时应由RBridge考虑的地址头部中的位数。使用地址位的一子集来标识TRILL网络中的地址信息。(一个或多个)地址字段中其余的位变为可用于多种应用目的的空闲位。当执行地址查找时,空闲位针对地址查找可被掩蔽或以其他方式忽略,但被用于另外的网络管理或路由操作。
本申请所公开的技术可与在客户/接入网络和提供商/传输网络之间存在功能差异的任何网络,以及使用封装处理以用于通过传输网络传输数据的传输网络一起使用。为了方便描述本申请的特征和实施例,以下公开内容将主要在多链路透明互连(TRILL)技术的上下文中描述各实施例,但本领域技术人员将清楚如何可以将这些技术应用到另外的和相当的网络技术,如提供商骨干桥接(PBB)或IEEE 802.1ah和最短路径桥接(SPB)或IEEE 802.1aq的网络技术。
使用IEEE 802.1ah的网络可以通过提供商的网络对客户网络进行路由,允许多个提供商桥接网络的互连而不失去各个客户的单独定义的虚拟局域网(VLAN)。另一个这样的协议是最短路径桥接或IEEE 802.1aq协议。使用IEEE 802.1aq的网络可以对拓扑结构和逻辑网络成员资格这两者进行通告。分组在边缘节点处封装在MAC中MAC 802.1ah或Q中Q(Q-in-Q)802.1ad帧中,并仅传输到逻辑网络的其他成员。IEEE 802.1aq支持单播和多播,并且所有的路由都在对称的最短路径上。IEEE 802.1aq包括最短路径桥接MAC(SPBM)功能。
TRILL网络是使用以太网封装在位于TRILL网络(传输网络)边缘的两个或更多L2网络之间传输用户L2流量的L2网络。使用TRILL封装,入口RBridge利用以太网头部对从客户网络接收的数据分组进行封装,以供在TRILL网络中使用。图1A和图1B示出了这样一个示例封装头部110的组成部分。头部110-1示出了若干头部字段。请注意这种封装头部可以包含除了图1A所示的字段以外的另外字段。字段111是MAC目的地址头部(MAC-DA)。目的地址字段包含6个字节(48位)的数据。字段112是MAC源地址头部(MAC-SA)。源地址字段包含6个字节(48位)的数据。字段115包含用于TRILL以太网类型标签的两个字节的数据。字段116用来标识正在使用的具体的TRILL版本(2位)。字段117是留作将来使用的2位的字段。字段118指示是否有多个目的地(1位)以使得帧(分组)要经由分布树递送到一类目的终端站并且出口RBridge别名字段指定此树。字段121是用来指示可选的能力和针对该能力将信息编码到头部中的选项的长度(5位)。字段122是用于生存时间(TTL)功能的跳计数字段,具有6位。RBridge丢弃接收到的跳计数为零的帧,否则它递减跳计数。字段125是出口RBridge别名(2字节),字段126是入口RBridge别名(2字节)。RBridge别名是16位的动态指派的数量,其充当RBridge的IS-IS(中间系统到中间系统)ID的缩写以实现更紧凑的编码,并将被用来指定可能不同的同根树。基本上,字段125和126指示RBridge源地址(RBridge-SA)和RBridge目的地址(RBridge-DA)。头部110-2类似于头部110-1,只不过由于头部110-2包括VLAN标签,所以头部110-2是具有标签的以太网头部。具体来说,字段114是VLAN标签,其包括VLAN ID和优先级。需要注意的是,TRILL头部将寻址分为TRILL寻址和传输网络寻址。这是因为在转发操作期间,某些字段在某些节点处被交换或替换,而其他字段保持不变。括号151标识的字段指示出在被中间RBridge或其他转发节点转发时保持不变的TRILL寻址字段。括号152标识的字段内的数据在转发操作期间由中间RBridge改变,这将在下面说明。改变的数据来自用于传输网络寻址(在这个特定例子中是以太网)的字段。
参见图2,TRILL网络200包括RBridge 241。在这个例子中,节点241-1是入口RBridge,节点241-2是中间RBridge,节点241-3是出口RBridge。在这个简化的示例示图中,数据分组通过TRILL网络200由左到右传输。请注意,在TRILL网络中的RBridge可以具有中介网络227-1和227-2,这些中介网络可以是能够使用本地MAC地址的基于以太网的L2桥接网络。在进行转发时,RBridge 241-1添加封装头部,其中MAC目的地址是网络227-1中RBridge 241-2的MAC地址,还具有网络227-1中RBridge 241-1的MAC源地址。可能需要在连接241-1和241-2的网络227-1中被认可的VLAN标签。封装头部还包括RBridge 241-1的入口RBridge别名和RBridge 241-3的出口RBridge别名。网络227-1然后使用到RBridge 241-2的MAC-DA的传统以太网桥接,将封装后的数据分组递送到RBridge 241-2。RBridge 241-2然后向RBridge 241-3转发封装后的数据分组,并通过用网络227-2中RBridge 241-3的MAC地址取代网络227-1中RBridge 241-2的MAC-DA,以及用网络227-2中RBridge 241-2的MAC地址取代网络227-1中RBridge 241-1的MAC-SA,来改变封装头部。然后去除任何VLAN标签,或代之以在作为连接RBridge 241-2和RBridge 241-3的VLAN的网络227-2中认可的VLAN标签。网络227-2然后使用到RBridge 241-3的MAC-DA的传统桥接,将封装后的数据分组递送到RBridge 241-3。
当在RBridge之间通过以太网传输网络转发分组时,当前使用两个MAC地址(源和目的地)的所有48位来确定是否转发分组,以及还确定在哪个外出接口上转发分组。在RBridges之间转发分组时,常常希望能够在分组中包括可由入口/出口RBridge和/或接收分组的中间RBridge使用的额外信息,作为用于高效处理的手段。
TRILL技术与其他用于传输网络的封装技术相比有所不同。例如,对于PBB网络,PBB封装头部从PBB网络的一端到PBB网络的另一端,即从边缘节点到边缘节点保持不变。然而,对于TRILL网络,MAC-SA,MAC-DA和VLAN标签在每一跳(是RBridge节点的节点)处被替换。换句话说,每次通过中间RBridge设备转发TRILL分组时,中间RBridge保持封装头部的一部分(通常是字段115,116,117,118,121,122,125和126),但改变或替换封装头部的一部分(字段111,112和114)。因此,中间RBridge对TRILL头部进行解封并重新封装,以使得第一部分字段保持不变,第二部分字段改变。MAC-SA和MAC-DA字段可以逐跳改变,这是因为TRILL头部包括用于源TRILL设备和目的地TRILL设备的不同字段(字段125和126)。虽然MAC-SA和MAC-DA在每一跳丢失,但TRILL头部仍将TRILL设备头部从入口RBridge承载到出口RBridge。
TRILL通过如下方式工作:在RBridge当中广播连接,使每个RBridge知道所有其他RBridge,以及它们之间的连接,以用于维护转发表。TRILL还可以与不是基于以太网的传输网络一起工作。在其他网络,例如多协议标签交换(MPLS)中,会使用不同的字段而非MAC-SA/MAC-DA,但TRILL头部部分保持不变。通过将TRILL头部分解成两部分,TRILL可以在任何两个RBridge之间具有单独的传输网络。于是头部的以太网部分有效地仅标识下一跳RBridge,而RBridge-DA/RBridge-SA指示初始和最终目的地。因此,传输寻址不是端到端的寻址,而是下一跳寻址。
在本申请的实施例中,TRILL头部的MAC-SA和MAC-DA字段自身被构造为承载位的掩蔽部分和非掩蔽部分。在TRILL分组转发过程中的中间RBridge处,MAC-SA和/或MAC-DA的掩蔽部分保持不变(或被带过去),而非掩蔽部分根据进行转发的RBridge而被交换或改变。换言之,在中间RBridge的转发期间,MAC-SA/MAC-DA的一部分保持不变,而一部分改变了。
TRILL头部中的MAC-DA和MAC-SA各是48位,准备了TRILL网络中完整的“2的48次幂”(2的48次方)个地址。从本质上讲,TRILL使用48位跨越一个链路,即从一跳到另一跳。这是一个极大的数字。大量的地址是不太可能在实际的TRILL网络中部署的。确实,在实践中,这种下一跳操作需要的地址数量是两个或三个地址。这种下一跳寻址可以通过仅使用三到五位左右来完成。本申请的系统通过如下方式来使用此发现:限制地址空间/字段中应该由RBridge在进行下一跳转发查找操作时考虑的位数。对于以太网传输网络,这涉及到使用MAC-DA/MAC-SA和VLAN标签的操作。因此,使用地址空间的48位的一个较小子集来标识TRILL网络中的设备地址信息,即用于地址字段的所希望用途,而其余位可用来在RBridge之间透明地传递信息。任何方案可用来选择用于下一跳TRILL寻址的子集的大小和配置。例如,可以使用一个简单的规则,该规则使用地址信息的固定数目如前5位或前6位。其他的变体也是可能的。其余位有多种用途。其余位被标识为掩蔽位,即被指定为在转发表查找期间被掩蔽或忽略,并在地址头部的重新封装期间被带过去(保持)的位。这两个地址字段(MAC-SA和MAC-DA)中这些其余的掩蔽位然后可以被视为可用于各种应用目的的空闲位。
通过使用TRILL封装头部中已存在的信息字段,分组大小没有增加。MAC-DA和MAC-SA内已被释放用于不同的应用用途的位不被视为地址信息。因此,将这些空闲位用于其他目的,这不会导致需要位于(VLAN-ID,MAC)转发表中的地址数目的增加。此外,连接故障管理(CFM)(IEEE-802.1ag)不会受到影响,这是因为RBridges对转发路径的选择仍仅限于VLAN-ID,MAC-DA和MAC-SA字段。至于这种技术的实现,进行基于TRILL查找的转发的若干传统的半导体器件和网络处理单元(NPU)已经有能力在进行查找时掩蔽MAC地址的一部分。实施例并不限于应在(VLAN-ID,MAC-DA)和(VLAN-ID,MAC-SA)查找中掩蔽的特定数量的地址位。相反,实施例包括在源或目标设备地址查找中不使用的用于其他创造性和有益的应用用途(如ECMP)的地址位。对这样的功能的支持可以经由对TRILL的版本更新,或数据路径实现方式更新来实现。
多个实施例可以确定要掩蔽的多个位,或与地址位不同的位。存储在分组中固定位置的分组“熵”(entropy)的足够大(若干位)的编码可以用来支持ECMP,而不错误地对用户流进行排序。其他实施例可以提供传递有关入口RBridge上的进入非TRILL网络接口和出口RBridge上的外出非TRILL网络接口的信息的能力。还可以包括入口和出口RBridge可能感兴趣但应被中间RBridge忽略的其他形式的元数据。这种技术提供了可扩展的功能而不增加分组开销,不需要RBridge支持更大的基于(VLAN-ID,MAC)的转发记录,不影响CFM有效地测试所有可能被用户数据帧使用的转发路径,且不给RBridge带来实现过于复杂的负担。
一个一般的联网目标在于将转发表保持得小,以用于更好的缩放。在TRILL网络,或具有分层寻址方案的其他传输网络中,网络通常被构造为连接两个或更多客户(接入)网络的传输网络。图3示出了客户网络225-1和225-2。请注意,客户网络225-1包括用户网络接口(UNI)205-1,205-2和205-3,而客户网络225-2包括用户网络接口(UNI)205-4,205-5和205-6。请注意,传输网络可以由一个管理员或多个管理员提供。另外还要注意,传输网络和客户网络也可由一个管理员提供,但还是在功能上被视为或识别为不同的网络。利用这样的网络配置(传输网络连接两个或更多客户网络),传输网络已添加或定义了诸如TRILL封装之类的封装层。在第一接入网络和传输网络之间的接口处接收到给定帧后,TRILLRBridge将客户帧封装在寻址方案的TRILL封装头部内。在图3中,在入口RBridge 241-1处接收到来自UNI 205-3的数据分组207(客户分组)。入口RBridge 241-1利用以太网封装头部(或类似的封装头部)封装分组207。封装后的分组现在表示为分组207-1。入口RBridge 241-1然后沿着流路径217通过TRILL网络227转发分组207-1。注意,根据分组指令,流路径217可以表示任意流路径或确定性的流路径。分组207-1接下来到达中间RBridge 241-2。中间RBridge 241-2然后交换出TRILL头部的一部分。具体来说,传输设备地址空间中的信息。然而,根据本申请所公开的实施例,中间RBridge 241-2保持(拷贝或带过去)传输设备地址空间内被掩蔽或指示为不同于传输设备寻址的位。例如,网络227(或227-1和227-2)识别出用于寻址的前八位,而掩蔽后40位,以便它可以在边缘节点之间传递另外80位的信息。此修改后的TRILL头部现在被标识为数据分组207-2。同样的过程发生在中间RBridge 241-7处,其中修改后的TRILL头部现在由数据分组207-3指示。数据分组207-3接下来在出口RBridge 241-3处接收。出口RBridge 241-3然后将分组207-3解封,并在客户网络225-2内转发原始分组207。
TRILL封装头部可包括客户网络225-1的源地址和第二客户网络225-2的目的地址。每个地址是完整的48位地址。从本质上讲,TRILL功能在现有框架上增加了一个寻址层,以将下面的地址对TRILL网络和任何中介网络内的传输网络设备隐藏起来。因此,传输网络内的路由器和交换机在使用TRILL协议时看不见下面的分组地址。在实践中,客户设备的数量可以数以百万计或更多,从而必须在传输网络内每个数据交换设备处为每一个客户设备维护转发表,这将由于所需的大量查找而显著增加每个传输设备处理并显著减慢转发操作。TRILL作为一个解决方案,创建了传输网络内的寻址方案。传输网络不同于客户网络,这是因为传输网络通常所具有的设备少得多。虽然客户网络能有几千万的地址,但大型传输网络常常有1000到2000个设备地址或更少。由于TRILL通常不是用于传输设备地址空间的端到端寻址方案,则任何给定的RBridge所使用的地址的数量可少到仅仅几个传输设备。TRILL于是在TRILL网络内使用与客户网络相比不同的寻址方案。传输网络内的地址是传输网络227自身内设备的地址,而不是终端用户设备地址。
TRILL寻址方案与以太网寻址方案的相似之处在于,传输设备(通常是RBridge)的源和目的地址字段提供48位的数据。请注意,TRILL将单独的地址空间用于RBridge入口/出口别名。从概念上讲,这意味着在TRILL头部中传输设备空间的每个地址字段可以标识2^48个地址(2的48次方)。传统的TRILL网络不能使用这么多地址,而确实通常仅使用几个到几十个地址。不要求全局地管理这些传输地址。因此,可以有非常灵活的管理方案,包括在指派地址上的完全自由。更具体地说,可以具有本地管理的地址,而不是必须从监管机构购买地址。例如,管理员就不需要从IEEE或IETF获取MAC地址,或以其他方式购买MAC地址。结合给定传输网络内较少数量的传输设备来使用本地管理的地址,这意味着所需的设备地址数量比地址空间潜力少若干个数量级。通过仅使用足以标识预期的传输设备地址总数的地址空间的一部分位,其余位可以被视为可用于许多不同目的的空闲位。
利用这些本地管理的地址,并且这样的地址总数通常是数百到几千,在TRILL头部的每个传输设备地址空间内有很大的数据潜力。换句话说,有很大的信息潜力仅承载约3到1000个地址。本申请所公开的技术通过如下方式利用这个信息潜力:提供了TRILL头部中一个或两个48位地址空间的掩蔽地址格式。这种技术保留了TRILL寻址结构,使得网络处理单元,硬件和用于地址转发的其他组件仍可照样工作,而不用任何硬件升级。
在一个实施例中,系统管理TRILL头部中的源和目的地址空间,作为本地管理。然后系统为本地管理的传输设备保留地址空间的一部分,以指示传输网络中的实际设备(通常是交换机和路由器)。这种技术释放了其余位,或余下的部分中未被保留用于传输设备地址的位,以用于其他目的。这些目的可以包括非地址的目的。该系统提供了其余位以用于其他用途,而不增加在传输网络内每个传输设备处维护的转发记录的数目。如果不掩蔽或以其他方式指示出所释放的位不被用于转发表中,则转发表将大大增大,这是因为每次传输设备识别一个新的地址时,该地址都将需要被添加到各自的转发表。
在一种技术中,系统可以指示每个传输设备使用掩蔽转发。该系统可以使用各种技术执行掩蔽。例如,对于包含48位的地址空间,这些位中的10位可用于传输设备寻址,而其余位用于其他目的。在一种掩蔽技术中,在转发表中执行给定的查找时,将其余位转换为零。因此,尽管其余位具有各种不同用途,但转发查找操作将忽略这些其余位。这导致查找键值的变化和组合更少,从而提供或保持小的转发表。
请注意,用于传输设备寻址的位相比于用于其他目的位的选择可以根据设计来选择。例如,一个简单的方案指定前24位用于寻址,后24位用于其他目的。或者,可将随机或伪随机选择的位用于寻址,而所有其余的位用于其他功能目的。在另一个例子中,可将可用的位分段,每段用于一不同的目的(一段用于传输设备源/目的地寻址)。这种技术提供了额外的路由和转发功能,而不定义新的封装协议,也不增加转发表的大小。用于传输设备地址的位的实际数目可取决于传输网络中预期的总设备数。例如,地址空间内的12个非掩蔽位(包括本地管理的和单播指定位)将提供约1024个地址。太少的地址位将限制可参与到TRILL网络中的节点数目,而太多的非掩蔽位将会浪费地址位。
当传输网络内给定的传输设备接收到具有修改后的TRILL头部(MAC地址加上另外的数据)的分组时,该给定的传输设备(通常是RBridge)可以通过如下方式工作:在执行地址查找之前掩蔽地址空间中的一部分位(例如,通过将值归零),而使地址空间内的其它位保持原样。在其他实现方式中,转发表自身(在传输设备的转发数据平面运行)可具有掩蔽功能,因此即使全部48位被传递到转发表,转发表一找到前24位(或其他量的位)上的匹配,转发表也就停止试图匹配剩余的位。换句话说,转发表可以搜索最长前缀匹配或地址空间中与转发表中的地址相匹配的最长的一组位。
因此,在一种情况下,给定的传输设备知道或识别出地址空间正使用特定的或固定的掩码大小。在这种情况下,设备可以在MAC地址位上预先应用掩码,然后进行查找。在其他实施例中,该设备可能不知道掩码的确切大小,因此将会随后执行查找以找到匹配的最长位序列,然后可将最长匹配之外的其余位视为熵位或ECMP位,或用于其他转发功能的位。在任一示例中,分组地址字段中的位都可以保持不变,在转发处理期间不修改。这种技术可以提供另外的转发功能(如流信息),而无需传输设备更深入地查看分组,也不增加转发表的大小。
分组流标识符(ID)对于该系统也是可能的。如果没有本申请所公开的技术,则要使用流ID,传输设备将需要更深入地查看分组并识别用户字段,然后生成流ID,然后使用该生成的流ID来选择路径。这种传统的做法需要传输设备更深入地查看分组并且还进行协议特定的检查,这是人们不希望的。通过更深入地查看给定分组,传输设备承担了知道内部头部内的每个字段是什么意思的责任。然而,本申请所公开的技术集中于统一地描述的地址信息,并且这种地址信息可以是永远可扩展的。例如,解决方案需要一种新的协议,这意味着每个传输设备需要被更新,重新配置,或以其他方式替换,以能够理解该新的协议。由于给定传输网络内有数百个传输设备,因此这不是人们希望的解决方案。利用本申请所公开的技术,系统将此信息抽取到现有头部的地址字段中。每个核心节点于是可以执行掩蔽转发,并可以使用非掩蔽位进行散列(hashing)和生成流ID,而不更深入地查看下面的分组头部。
在一个实施例中,可在单播MAC中掩蔽位。在此实施例中,该系统通过如下方式来使用本地管理的单播MAC地址:将MAC上的位41设定为“1”来指示出该MAC地址是本地管理的,然后将MAC的位40设定为“0”来指示出它是单播地址。然后,系统掩蔽单播MAC的48位的一子集,以用于地址识别/查找的目的。为了确定地址匹配的目的,忽略掩蔽位的值。位41(本地管理位)和位40(多播位)都没有被掩蔽。图4A示出了寻址空间400的一个示例划分。请注意,部分402和部分404大小近似相等。在地址空间400中,部分302可以包含传输设备地址,从而保持非掩蔽,而相等的部分(24位)被掩蔽(希望用于除了源/目的地寻址以外的目的)。此不透明信息可被定制,以用于任意数量的应用。
图4B示出寻址空间410的另一非限制性的示例划分。部分412没有被掩蔽。部分414被掩蔽,并承载用户网络接口ID。部分416被掩蔽,并承载流标识符,并且部分418被掩蔽以承载任何其他数据。图4C类似于图4B,只不过寻址空间420还包括部分417,用于承载生存时间(TTL)信息或跳计数。
返回到图3,可向传输网络227内的所有节点指派MAC地址,所述MAC地址的前8位是独特的,后40位被认为是空闲或掩蔽的。入口RBridge 241-1通过掩蔽MAC地址的后40位而封装分组207-1。当分组207-1到达中间RBridge 241-2时,中间RBridge 241-2将MAC-DA的前8位识别为入口RBridge 241-2的地址(TRILL RBridge别名目的地址空间被用来标识出口RBridge 241-3)。中间RBridge 241-2将MAC-SA的后8位识别为入口节点241-1的地址,然后将分组207-2转发到中间RBridge 241-7。从那里,中间RBridge 241-7转发到出口RBridge 241-3。因此,节点244-1只需要知道其转发表中的三个MAC地址,但可以将另外的80位数据从节点241-1传递到节点241-2。在另一个实施例中,可以掩蔽预定数目的高位和预定数目的低位,而中央部分的位不被掩蔽。
空闲地址空间位的一个示例用途是用于传输用户网络接口(UNI)ID或其他客户网络信息。请注意,在图3中,边缘节点241-1与来自客户网络225-1的多个UNI 205连接。在某些情况下,重要的是知道在入口RBridge 241-1从哪个接口(哪个UNI)接收到给定的分组。做到这一点的一种方式是入口RBridge为每个不同的UNI创建单独的地址,但该做法增加了将在转发表中保持的地址的数目,这是因为另外的传输设备可以识别UNI地址并不得不将这些UNI的地址添加到它们各自的转发表。在一个实施例中,系统不将这些UNI视为单独的地址,而是在MAC地址字段的掩蔽部分中增加一代表值。虽然边缘节点需要管理每个UNI的标识,但如果这些标识作为完全合格的地址而被传递,则中间节点的转发表将会填满。利用释放的位,该系统可以将UNI-ID拷贝到MAC地址的掩蔽部分中。中间传输设备不关心UNI-ID,但当到达的分组包含作为MAC地址字段内掩蔽数据的UNI-ID号时,接收的出口RBridge随后可以抽取该UNI ID信息以用于转发目的。这使转发表保持得小,同时能够遍及传输网络传递UNI信息。通过将某些位视为不透明的,并向其指派含义,该系统可以透明地将此信息遍及传输网络地传送,并且该含义和解释可以完全取决于边缘节点设备而非核心节点传输设备。
在另一个实施例中,边缘节点或核心节点(传输设备)可以将掩蔽的UNI信息用于路径选择。例如,传输节点不将(MAC地址空间中的)UNI-ID信息用于表查找,而是将此信息用于哈希运算。这种技术可以允许TRILL网络内的ECMP或路径功能,而不增加转发表的大小或需要单独的协议。在另一个例子中,可以遍及MAC头部的地址空间释放出最大数量的位,以将TRILL网络转换到单个交换机网络架构体系结构,以控制出口接口。
举一个非限制性的例子,在边缘节点241-1处的UNI 205-3上进入的分组207需要最终被转发到边缘节点241-2处的UNI 205-4。在传统的系统中,从边缘节点241-1转发到边缘节点241-2的分组可能做深入的分组检查,以识别目的地UNI。然而,利用本申请所公开的技术,在TRILL头部内可掩蔽UNI目的地址,因此在边缘节点241-2处不必进行深入分组检查。这是做出掩蔽的UNI-ID的原理。该技术可用于在转发和学习处理这两者中。例如,边缘节点241-2可以学习与边缘节点241-1和UNI 205-3相关联的分组。在另一个实施例中,用户网络接口也可以在本地识别,从而最大限度地减少地址空间中准确识别附接到每个RBridge的用户网络接口所需要的位数。
等成本多路径路由(ECMP)或流ID的一目标在于,创建从一个终端用户到另一终端用户的单个流路径,以使得某些数据流不破碎。如果不指定流路径,则传输网络具有可基于负载均衡或其他标准选择的多条可能的数据路径。然而,某些数据传输应沿单个流路径发送。当某些流遍及多条路径而破碎时,作为该流一部分的分组可在不同的时间到达。例如,接收设备在接收第三个发送的分组之前接收到第五个发送的分组。当发生这种情况时,接收端用户设备可能会丢弃这些分组并请求重传,于是这降低了网络性能。
流和流ID的一目标在于,如果有可能向网络指示出构成流的是什么,则该流不应当遍及多条路径而破碎,该流动应被执行而不需要给定分组内的深入检查(即,检查封装头部内的头部信息)。ECMP可能是重要的,这是因为当给定的网络线性增长时,可能的流路径可以呈指数增加。正因为如此,预先计算路径在计算上是不实际或不可能的。ECMP允许使用网络中的所有路径,同时保持非常小的计算负载。ECMP在具有很多链路和节点的数据中心或网络,或提供多重终端用户会话的服务器中是尤其有利的。
在传统的ECMP技术中,传输设备检查下面的头部字段,例如标识IP源地址,IP目的地址,传输控制协议,用户数据报协议(UDP),和其他字段,然后对这些字段进行哈希运算,以确保所有具有相同的IP源,IP目的地和UDP信息的分组走完全相同的路径。哈希运算将独特的IP头部信息转换成一个小的数,该数用于路径选择或流路径识别。
因此,为了让传输装置执行ECMP,每个传输设备必须理解下面的协议,理解如何将给定的分组解码,并能够选择正确的数作为计算输入,以创建流路径ID。这种技术在传输网络内不是人们希望的。如果需要传输网络内的每个节点做这样深入或复杂的处理,则这种处理会减慢网络。此外,当给定的下面的协议变化,并且传输设备不知道如何正确处理新的协议时,则流ID的选择可能不正确。解决这个问题的传统技术尝试在封装头部内创建标识一具体流ID的新的地址空间,使得只有边缘节点需要理解所有不同的协议,并且传输网络内的传输设备可被视为哑(dumb)设备。换句话说,传统的技术尝试创建新的头部条目,该条目明确标识流ID。当下面的分组包含加密信息,传输设备可能不知道如何读取该加密信息以生成流ID时,添加明确的流ID可以有帮助,但是这增加了分组开销。
然而,本申请所公开的技术能够支持确定性的流路径,而不需要添加明确的流ID作为封装头部的额外的或新的字段。相反,本申请所公开的技术将流ID作为封装头部内现有的地址字段的一部分而承载。这防止了分组大小的扩大,还防止了转发表的膨胀。这使得处理保持更简单,且更可扩展以供将来使用。传输设备于是仅需要对地址字段或仅地址字段的掩蔽部分进行哈希运算。该技术有效消除了承载另外的头部字段的需求。
在一个处理阶段,传输边缘设备241-1生成流ID并将此流ID插入到封装头部的地址空间中。在第二处理阶段,传输边缘设备241-1对地址空间内掩蔽的流ID执行哈希运算以选择给定的流路径。随后的传输核心设备244然后将会执行相同的哈希运算以选择下一跳。由于流ID在地址头部内是相同的,传输网络227内随后的节点可以一致地计算相同的各自哈希结果以用于选择单个流路径,例如流路径217。所述哈希可以在整个地址空间上执行,或仅在地址空间内流ID掩蔽的部分上执行。通过在封装头部的地址空间内插入流ID,分组的大小不增加,转发表的大小也不增加。
地址空间内的掩蔽位还可用于提供生存时间(TTL)功能。生存时间如果存在不正常工作的控制平面,或要防止允许分组无休止地环流的循环,生存时间功能是有益的。传统上,TTL字段位于封装内且位于用户字段内,所述用户字段在分组内较深的位置。通常,传输设备不查看用户字段。传统技术建议在封装头部内添加另外的字段以提供生存时间数据,但该建议增加了头部大小并需要广泛的升级。地址字段或VLAN-ID字段可用来掩蔽TTL数据,以提供此功能而不需要深入的分组检查。
在另一个实施例中,VLAN-ID字段可以用来识别源和目的地址字段内的掩蔽部分。换句话说,12位的VLAN-ID字段可用于指示地址字段中空闲位的使用,即,VLAN-ID字段内的位可用于指示哪些位是被掩蔽的而哪些不是,即修改后地址空间的结构。VLAN-ID的每个不同的值可以代表实际使用的格式的一单独格式。可用的12位VLAN-ID准备了多达4096种对MAC地址空间进行格式化的不同方式。否则,每个传输节点可被配置为知道哪些位是地址位,哪些是空闲/掩蔽位。使用VLAN-ID字段来指示掩蔽位可以是更可扩展的选项,这是因为传输网络中所发送的每个分组指示出对空闲位的实际使用。
图14示出根据本申请的实施例在计算机/网络环境中操作的地址管理器140的示例框图。现在经由图6到图13中的流程图和示图,讨论与地址管理器140相关联的功能。为了以下讨论的目的,地址管理器140或其他合适的实体执行流程图中的步骤。
现在更具体地描述实施例,图6是示出本申请所公开实施例的流程图。在步骤610中,地址管理器140在第一数据交换设备处接收数据分组。该数据分组具有现有的头部,且是从客户网络接收到的。第一数据交换设备是TRILL网络的入口RBridge,例如传输网络227的节点241-1。
在步骤620中,地址管理器140使用TRILL头部封装数据分组。TRILL头部所具有的数据结构包括传输设备地址空间和TRILL设备地址空间,可选地还包括虚拟局域网(VLAN)指示器空间。例如,地址管理器140可以使用TRILL封装。TRILL头部封装已有现有的头部的分组。
在步骤621中,封装数据分组包括在传输设备地址空间内设定第一部分位,以使得该第一部分位指示作为TRILL网络内节点的数据交换设备地址。换句话说,在传输设备地址空间内插入数据以指示数据交换设备,如路由器或交换机。
在步骤622中,封装数据分组包括在传输设备地址空间内设定第二部分位,以使得该第二部分位指示与作为TRILL网络内节点的数据交换设备地址不同的信息。因此,地址管理器140向地址空间添加不用来指示TRILL网络设备的本地地址的数据。
在步骤630中,封装数据分组包括设定TRILL设备地址空间中的位,以使得这些位指示入口RBridge别名和出口RBridge别名。
在步骤640中,数据交换设备经由TRILL网络转发数据分组。
图7-图8包括的流程图示出了本申请所公开的地址管理器140的另外和/或替代实施例和可选功能。
在步骤610中,地址管理器140在第一数据交换设备处接收数据分组。该数据分组具有现有的头部,且是从客户网络接收到的。第一数据交换设备是TRILL网络的入口RBridge,例如传输网络227的节点241-1。
在步骤620中,地址管理器140使用TRILL头部封装数据分组。TRILL头部所具有的数据结构包括传输设备地址空间和TRILL设备地址空间,可选地还包括虚拟局域网(VLAN)指示器空间。
在步骤621中,封装数据分组包括在传输设备地址空间内设定第一部分位,以使得该第一部分位指示作为TRILL网络内节点的数据交换设备地址。
在步骤622中,封装数据分组包括在传输设备地址空间内设定第二部分位,以使得该第二部分位指示与作为TRILL网络内节点的数据交换设备地址不同的信息。
在步骤623中,设定指示与数据交换设备地址不同的信息的第二部分位包括指示用户网络接口(UNI)身份。该UNI身份可以指示出数据分组用来进入TRILL网络的接口。该数据交换设备可以通过使用来自传输设备地址空间的UNI身份作为用于选择转发路径的计算输入,从而选择转发路径。例如,每个传输节点可以使用UNI ID作为哈希运算的输入。
在步骤624中,地址管理器使用第二部分位指示流标识符。
在步骤625中,封装数据分组包括使用以太网头部封装数据分组,所述以太网头部在传输设备地址空间内指示出该传输设备地址空间使用本地管理的媒体访问控制地址。因此,MAC地址不需要被购买来使用。封装还可以指示出该数据分组是单播传输。
在步骤626中,地址管理器在TRILL头部的VLAN指示器空间内指示出传输设备地址空间的哪些位指示数据交换设备地址,以及传输设备地址空间的哪些位指示与数据交换设备地址不同的信息。换言之,给定分组的VLAN-ID自身内的信息指示出地址空间中哪些位是空闲位。
在步骤627中,地址管理器设置VLAN空间内的第一部分位,以使得该VLAN空间内的第一部分位指示一客户VLAN。地址管理器还设置VLAN空间内的第二部分位,以使得该VLAN空间内的第二部分位指示TRILL网络内数据分组的生存时间(TTL)值。虽然TTL数据可以包括在地址空间内,但有时希望将地址空间内的数据(掩蔽和非掩蔽数据)保持为在整个传输网络中不变的数据。
在步骤630中,封装数据分组包括设定TRILL设备地址空间中的位,以使得这些位指示入口RBridge别名和出口RBridge别名。TRILL头部将入口/出口RBridge标识与传输节点标识分开。
在步骤635中,地址管理器通过使用来自传输设备地址空间的流标识符作为用于选择下一跳转发路径的计算输入,从而选择下一跳转发路径。例如,地址管理器或数据交换设备将流标识符用于哈希运算。
在步骤640中,数据交换设备经由TRILL网络转发数据分组。
在步骤641中,数据交换设备经由所选择的下一跳转发路径,将数据分组转发到TRILL网络内的下一跳节点。
以太网头部可包括媒体访问控制(MAC)目的地址,以及媒体访问控制源地址。封装数据分组可以包括使用来自MAC目的地址和MAC源地址的位来指示与数据交换设备地址不同的信息。封装数据分组还可以包含使用跨MAC目的地址和MAC源地址两者的位来提供另外的功能,所述另外的功能需要比单个地址空间所能提供的更多的合计位。
图9是示出本申请所公开实施例的流程图。在步骤910中,地址管理器在TRILL内的RBridge设备处接收数据分组。该数据分组是从TRILL网络内的另一节点接收到的。该数据分组具有通过TRILL头部封装的一客户网络头部。例如,传输网络中间RBridge 241-2接收数据分组207-1。
在步骤920中,地址管理器140从TRILL头部内的传输设备地址空间识别传输设备地址。传输设备地址空间具有指示第一数据交换设备的传输设备地址的第一部分位。传输设备地址空间还具有指示与第一数据交换设备的传输设备地址不同信息的第二部分位。例如,节点241-2接收具有TRILL封装的数据分组207-1,其中MAC地址位的一部分是空闲或掩蔽位。
在步骤930中,数据交换设备基于在第一部分位中指示的传输设备地址,即,地址空间的未掩蔽部分,在RBridge设备的转发表中执行查找。
在步骤940中,数据交换设备将指示第一数据交换设备地址的传输设备地址的第一部分位替换为指示第二数据交换设备地址的位,同时保持第二部分位不变。例如,中间RBridge作为其转发处理的一部分而交换TRILL头部的一部分。
在步骤950中,数据交换设备经由TRILL网络转发数据分组。
图10-图11包括的流程图示出了本申请所公开的地址管理器140的另外和/或替代实施例和可选功能。在步骤910中,地址管理器在TRILL内的RBridge设备处接收数据分组。该数据分组是从TRILL网络内的另一节点接收到的。该数据分组具有通过TRILL头部封装的一客户网络头部。
在步骤920中,地址管理器140从TRILL头部内的传输设备地址空间识别传输设备地址。传输设备地址空间具有指示第一数据交换设备的传输设备地址的第一部分位。传输设备地址空间还具有指示与第一数据交换设备的传输设备地址不同信息的第二部分位。
在步骤922中,传输设备地址空间指示出传输设备地址空间使用了本地管理的媒体访问控制(MAC)地址,所述MAC地址是单播地址。传输设备地址空间是具有48个可用位的以太网头部媒体访问控制地址空间。
在步骤924中,数据分组使用一以太网头部,该以太网头部包括媒体访问控制(MAC)目的地址空间和媒体访问控制(MAC)源地址空间,所述以太网头部使用跨MAC目的地址空间和MAC源地址空间两者的位来指示与数据交换设备地址不同的信息。
在步骤930中,数据交换设备基于在第一部分位中指示的传输设备地址,在RBridge设备的转发表中执行查找。
在步骤932中,数据交换设备在执行查找之前,掩蔽传输设备地址空间中的第二部分位。
在步骤934中,地址管理器140基于来自TRILL头部的虚拟局域网(VLAN)指示器空间的信息,识别标识数据交换设备地址的第一部分位。
在步骤940中,地址管理器将指示第一数据交换设备地址的传输设备地址的第一部分位替换为指示第二数据交换设备地址的位,同时保持第二部分位不变。因此,当RBridge交换或修改了TRILL头部信息时,掩蔽部分保持在头部中或被带过去到新的头部实例。
在步骤945中,数据交换设备通过使用流标识符作为哈希运算的计算输入,来执行哈希运算,从而选择转发路径。流标识符在传输设备地址空间的第二部分内被指示出来。
在步骤950中,数据交换设备经由TRILL网络转发数据分组。
在步骤952中,数据交换设备经由所选择的转发路径将数据分组转发到TRILL网络内的下一跳节点。
地址管理器140还可以递减在数据分组的VLAN空间内指示的生存时间(TTL)值。数据分组包括在传输网络以太网头部的VLAN空间中的第一部分位,其指示客户VLAN。数据分组还包括在VLAN空间内的第二部分位,其指示数据分组的TTL值。
如上所述,本申请所公开的技术可用于支持等成本多路径路由(ECMP)或流ID。在数据网络中将分组从网络中的一点转发到另一点时,常常存在可用来继续转发分组的多条等成本路径。常常希望能够应用网络中所有可能的路径,这是因为这种应用使得网络流量不会集中在任何一条链路上,并提供了对可用带宽的更好使用。支持ECMP的设备需要确保网络和设备不分割任何给定的用户流。分割用户流可导致分组乱序地到达目的地,这经常导致网络性能和终端用户体验的严重下降。
还希望能够使用操作、监管和管理(OAM)分组来分析/应用与属于网络用户的数据分组所采取的路径完全相同的路径。这样做是为了排除网络故障。如果存在数据传输问题,那么网络运营商需要跟踪与问题相关联的分组采取的确切路径。在实践中,网络运营商通常发送分组/帧,所述分组/帧是网络运营商发起并发送以能够跟踪与网络问题相关联的确切路径的。如果网络运营商不能跟踪故障的路径,那么网络运营商提供给定的服务水平(服务质量)的能力就受到影响。这样的隔离和修复网络中问题的操作工具,被称为OAM或OA&M(操作、监管和管理)。对于给定的问题,网络运营商将沿着路径发送OAM帧以隔离数据传输问题。
一般而言,网络中OAM帧和用户数据分组所具有的仅有的共同信息是网络层地址。在其他方面,用户和OAM帧使用不同的协议。分组中有不同的字段可用来识别具有不同程度粒度的用户流。这种分组字段的一些例子包括源MAC,目的MAC,源IP,目的IP,源TCP/UDP端口,目的TCP/UDP端口等。网络中可用来识别用户流的粒度越高,ECMP机制就会越有效地在可用来转发用户流的所有可能路径之间分布流量。在体系结构上,存在两种用于支持网络内ECMP的高级模型:算法头端定向的ECMP(Algorithmic Head End Directed ECMP),以及逐跳ECMP(Hop-by-HopECMP)。
粒度量越高,ECMP方案识别终端用户流的作用越有效。换言之,越是接近于识别出在哪个节点处终端用户流不能被分割,就可以越好地遵循相应的ECMP方案。
存在两种用于支持ECMP的模型。一种模型是算法端到端,另一种模型是逐跳寻址。
传统上,利用算法头端定向的ECMP,网络的入口节点预先计算网络中从其自身到任何其他节点的所有可用路径,并给每个这样的路径指派路径标识符。在节点之间转发分组时,使用确保在任何单个用户流内的所有分组使用相同的确切路径标识符的规则,将路径标识符添加到分组头部。网络的所有节点上的转发表包括关于针对每个单独的路径标识符要使用哪些外出接口的信息。节点之间的所有中间设备在决定使用哪个外出接口转发分组时仅仅使用路径标识符。这种做法简化了中间设备上的处理,所述中间设备不需要进行超出分组头部的查看以识别用户流,因此不必在引入新的协议时升级,并且由于OAM帧可承载路径标识符而允许OAM机制有效。然而,这种做法也存在若干缺点。例如,在具有很多链路的网络中,当网络中的链路数量线性增长时,网络中的路径数目呈指数增长。这将导致用于支持所有预期的路径标识符的转发表的大小呈指数增长。它给CPU和路由协议实现方式带来很大的负担,这是因为需要预先计算的路径数呈指数变大。此外,对大量的路径标识符的支持可能需要向分组添加另外的字段,导致开销增加。因此,这种做法对于支持使用该机制的大型网络中的ECMP是非常不切实际的。
另一种传统的机制是逐跳ECMP路径选择,其通常通过在每一跳处进行散列计算,而不是计算所有可能的端到端选择而执行。每个给定的入口节点预先计算从其自身到网络中任何其他直接附接节点的所有可能的下一跳选择。与可能的端到端路径的总数相比,可能的下一跳的数目较少。下一跳的数目限于给定盒子或设备中现有链路的数目。这个数字通常是数百或数千,或甚至仅仅是几条链路。每个入口节点和在两个节点间的分组路途上处理分组的每个其他节点执行相同的路径选择处理。每个节点使用分组中可用来识别用户流的不同字段来生成哈希索引。
这种哈希计算涉及识别用户数据的深入的分组检查,以进行哈希运算。通常在分组中没有路径标识符,因此每个节点识别用户信息以用于哈希计算。应注意,这应当考虑到如下事实:在用户分组中可能表示了多个协议。每个节点然后使用所生成的哈希索引来选择可用来到达后续节点的可能的下一跳之一。由于转发表中不表示端到端路径,因此当网络大小增长时,转发表的大小不会呈指数增长。相反,增长相对于网络中设备的数据是线性的。而且,由于仅需计算下一跳选择而非所有可能的端到端路径,因此CPU和路由算法的计算简单。该计算对于网络中链路的数目是线性的,而非指数的。
但是,逐跳ECMP散列计算需要网络上的每个设备在每个分组的用户字段上进行哈希计算。这使得难以处理新协议的增加。此外,一些协议使用加密来对分组有效载荷进行加扰,而人们不能指望传输设备对该加密进行解码。此外,OAM分组不能被用来对该网络中用户数据流量所采取的路径进行故障排除。这是因为OAM帧通常使用不同于用户数据分组的协议。一般情况下,OAM帧与用户数据分组所具有的唯一共同的东西就是网络层地址信息,但源和目的地址所提供的粒度不足以利用网络中给定节点之间所有可用的路径。因此,实际的实现方式是可能的,但它们受制于上述的缺点。
另一种传统的机制是使用明确流ID的逐跳ECMP。本申请的系统通过向分组头部明确添加流ID字段而修改了以上定义的逐跳ECMP方案。例如,紧接在网络层地址之后添加。流ID是将分组中可能的用户流信息编码成可在分组中公知的位置承载并被认为是分组网络层信息一部分的值的一种标准方式。分组的入口(或第一个)设备基于对分组各个字段的计算而给该分组指派一流ID。该指派也可以是基于策略的。入口节点和处理分组的所有后续节点基于该流ID的值作出它们对于下一跳接口的选择。虽然这是可扩展到新协议并保留了OAM能力,但这种机制增加了分组开销,这是因为流ID是分组中另外的字段,并且网络设备必须处理两种不同的分组格式——网络层头部中具有流ID的格式和没有流ID的格式。这是很严重的担心,因为旧的协议仍在使用,似乎比预期的更久,即,旧的协议不会很快消失。
本申请所公开的技术使用BMAC地址掩蔽来支持ECMP功能。如上文所公开的,将地址空间的一部分用于设备地址,而第二部分(掩蔽或空闲部分)用于流ID。入口(边缘)节点给它发送到PBB网络中的每个分组指派流ID。然后将该流ID拷贝到地址空间中。这可以拷贝到BMAC-SA和BMAC-DA这两者中。一旦将流ID拷贝到了BMAC地址中,处理分组的所有PBB网络设备都进行BMAC-SA和BMAC-DA的哈希计算,来从可能的下一跳选择之一当中选择外出接口。或者,每个节点仅在BMAC-SA和BMAC-DA中进行掩蔽的流ID字段的哈希计算。当地址字段包含另外的信息,例如UNI-ID,TTL数据或其他数据,使得地址字段中存在三个或更多数据段时,则每个节点可以在任何字段组合上进行哈希计算以用于可能的下一跳选择。因此,本申请所公开的技术避免了层违规——即,检查传输网络封装内的头部和其他信息。对相同的层/头部信息执行寻址和哈希计算,这确保了有效的缩放。
本申请所公开的技术还支持反向路径转发检查(RPFC)(又称入口检查)以防止循环。传统的SPB标准已采用了RPFC和该机制,以防止/减轻SPB网络中的循环。在实践中,对于在SPB网络中接收到的每一个单播分组,执行(BVLAN-ID,BMAC-SA)查找。如果BMAC-SA查找失败(未知的单播BMAC-SA),则分组被丢弃。成功的BMAC-SA查找给出的具有该BMAC-SA的分组预期到达的“预期的SPB接口”。如果预期的接口与该分组实际到达的实际接口不完全相同,则分组被丢弃。对于在SPB网络中接收到的每个多播分组,执行(BVLAN-ID,BMAC-DA)查找。如果BMAC-DA查找失败(未知的多播BMAC-DA),则分组被丢弃。由于对于SPB多播,源是编码在BMAC-DA的,因此成功的BMAC-DA查找给出具有该BMAC-DA的分组预期到达的预期的SPB接口。如果预期的接口与该分组实际到达的实际接口不完全相同,则分组被丢弃。接口可以基于对传输网络内节点拓扑结构的知识而被识别为预期的。这种拓扑结构可以是自动发现的,或手动配置的。
如果正在使用ECMP,则来自SPB网络中给定的源节点的分组可以预期将在多于一个可能的SPB接口上被接收到。在SPB网络中任何给定的设备(节点)上,控制平面(IS-IS SPB)可以计算可接收来自任何其他设备的分组的所有接口。当预期的接口更像是接口列表时,可以修改单播RPFC检查。因此,对于给定的(BVLAN-ID,BMAC-SA)的RPFC检查进入接口是否与预期将接收到它的接口列表中任何接口相匹配。注意,多播流量不能使用ECMP。换句话说,对于任何给定的目的地存在多个路径,并且对于任何给定的源,给定的节点可以在多个可能的接口上接收来自该给定的源的分组。
本申请所公开的技术还支持使用TTL的循环抑制。一般而言,RPFC是防止和减轻循环的有效机制。但是,有时可能希望在数据路径中具有用于循环抑制的另一保护。生存时间(TTL)字段可用于这一目的。虽然TTL不防止循环的形成,但TTL可以停止循环的永久持续。TTL对于控制平面无响应或遭受故障的情况可能是有用的。技术可以包括RPFC和TTL的组合。RPFC可以用来防止循环的形成(或如果形成了的话,迅速减轻之),而TTL在致命的控制平面故障(其是RPFC不会防止的)的情况下防止循环持续。
本申请所公开的这种ECMP支持可应用于TRILL网络(如上所述),PBB网络,和其他传输网络。PBB网络是一L2桥接网络,其使用MAC中MAC封装在位于PBB网络(提供商网络)边缘处的两个或更多L2网络之间传输用户L2流量。请注意,PBB网络包括使用MAC中MAC封装技术的所有网络,包括但不限于使用通常称为SPB或SPBV或SPBM的最短路径桥接技术的网络。PBB网络通常包括骨干边缘桥(BackboneEdge Bridge,BEB)和骨干核心桥(Backbone Core Bridge,BCB)。BEB(又称提供商网络边缘节点)作为允许去往/来自PBB网络内的接口和去往/来自PBB网络外的接口的分组传输的设备而工作。BCB(又称提供商核心节点)允许PBB网络内的接口之间的分组传输。使用MAC中MAC封装,给定的BEB利用用于在提供商网络中使用的以太网头部来封装从客户网络接收到的数据分组。
图5A示出了当前的PBB头部(MAC中MAC封装头部)。封装头部510包括BMAC-DA字段511(骨干MAC-DA),BMAC-SA字段512,BTAG以太网类型字段515,PCP/DEI字段519和BVLAN-ID字段518。字段515,519和518一起被称为BTAG 554字段。可以修改头部510-1以用于组合的RPFC和TTL功能。BTAG 554可与图5B的头部510-2中称为ECMP TAG或ETAG 555的新标签交换。字段518成为“ECMP以太网类型”516(16位),而字段528被分段,其中保留(12个可用位中的)6位,6位用于TTL数据。TTL和保留字段的大小可以改变,只要它们两者一起占用不多于12位即可。为了保持PBB头部的大小使之不会增加以支持ETAG,PBB头部中现有的BTAG可以用ETAG代替。由于它们都是4字节长,因此这不会导致任何分组开销的净增加。BMAC-DA和BMAC-SA字段可结合ETAG使用掩蔽的地址格式。
因此,在一个实施例中,地址管理器使用BMAC掩蔽来释放BMAC-SA和/或BMAC-DA地址空间中的一些位。拨出全部或部分空闲位以用于承载流ID。发送者BEB执行不同的分组字段的哈希计算,并生成一个值,该值大到足以让哈希索引使用BMAC-SA和/或BMAC-DA地址空间中所拨出或指定用作流ID的所有位。地址管理器然后使用上面生成的哈希索引,在MAC中MAC头部中设置流ID位。发送者BEB和在分组路途上处理分组的所有其他BCB使用在作为BMAC-SA和/或BMAC-DA地址空间一部分的(一个或多个)MAC中MAC地址头部中所承载的流ID来执行各自的ECMP路径选择。因此,没有增加分组大小,CFM/OAM分组通过包括客户分组的流ID可以有效地对真实数据分组所采取的路径进行故障排除,并且掩蔽BMAC地址的使用确保转发表的大小不必增加。
现在更具体地描述ECMP实施例,图12是示出本申请所公开实施例的流程图。在步骤1210中,第一数据交换设备接收数据分组。该数据分组具有现有的头部,并且是从客户网络接收到的。第一数据交换设备是传输网络的边缘节点,如BEB或RBridge或其他网络交换机。
在步骤1220中,地址管理器使用传输网络头部来封装数据分组。传输网络头部所具有的数据结构包括传输设备地址空间和虚拟局域网(VLAN)指示器空间。例如,这可包括MAC地址空间。
在步骤1222中,地址管理器通过如下方式来封装数据分组:设定传输设备地址空间内的第一部分位(用数据来填充字段),以使得所述第一部分位指示作为传输网络内节点的数据交换设备地址。
在步骤1225中,地址管理器通过使用来自现有的头部的分组信息作为用于生成流标识符的计算输入,来生成流标识符。这可涉及边缘节点的深入分组检查以生成初始流标识符。
在步骤1226中,封装数据分组包括设定传输设备地址空间内的第二部分位,以使得该第二部分位指示流标识符。因此,地址管理器取得所生成的流标识,并将其包括在传输封装头部中。
在步骤1230中,数据交换设备通过使用来自传输设备地址空间的流标识符作为用于选择到传输网络下一跳节点的转发路径的计算输入,来选择转发路径。因此,在生成初始流标识符之后,数据交换设备使用来自封装头部的此信息来选择下一跳。
在步骤1240中,数据交换设备使用选定的转发路径,将数据分组转发到传输网络中的下一跳节点。
在其他实施例中,生成流标识符可以包含在现有头部内识别的客户信息上生成哈希索引。封装数据分组还可以包括设置传输设备地址空间内的第三部分位,以使得该第三部分位指示数据分组的生存时间(TTL)值。
在其他实施例中,封装数据分组包括设定VLAN空间内的第一部分位,以使得该VLAN空间内的第一部分指示客户VLAN。封装数据分组于是还包括设定VLAN空间内的第二部分位,以使得该VLAN空间内的第二部分位指示数据分组的生存时间(TTL)。
传输网络头部可以是以太网头部,该以太网头部包括骨干媒体访问控制(MAC)目的地址空间和骨干媒体访问控制源地址空间。因此,封装数据分组可以包括来自骨干MAC目的地址空间和骨干MAC源地址空间的位来指示流标识符。使用以太网头部封装数据分组可以包括在骨干MAC空间内指示出传输设备地址空间使用本地管理的媒体访问控制地址。传输网络可以是提供商骨干桥接(PBB)网络。
在图13中,是说明本申请所公开实施例的流程图。在步骤1310中,数据交换设备接收数据分组。数据交换设备是传输网络中的节点。该数据分组是从传输网络内另一节点接收到的。数据分组具有通过传输网络头部封装的客户网络头部。例如,此实施例中的数据交换设备可以是传输网络内的核心节点或中间节点。
在步骤1320中,地址管理器从传输网络头部内的传输设备地址空间识别传输设备地址。传输设备地址空间具有第一部分位,该第一部分位指示第二数据交换设备的数据交换设备地址,传输设备地址空间还具有第二部分位,该第二部分位指示流标识符。
在步骤1330中,数据交换设备基于在所述第一部分位中指示的数据交换设备地址,即,基于从地址空间的非掩蔽部分抽取的信息,在数据交换设备的转发表中执行查找。
在步骤1340中,数据交换设备通过使用来自传输设备的地址空间的流标识符作为用于选择到传输网络中下一跳节点的转发路径的计算输入,例如经由哈希运算,来选择转发路径。
在步骤1350中,数据交换设备使用选定的转发路径,将数据分组转发到传输网络中的下一跳节点。
在其他实施例中,在数据交换设备的数据转发表中执行查找包括执行反向路径转发(RPF)检查。RPF检查可以包括响应于识别出该数据分组是从与用于传输网络中数据交换设备的预期进入接口的列表上任何进入接口都不匹配的接口接收到的,而将该数据分组丢弃。在某些传输网络中,预期接口可以包含多个可能的接口。因此,数据交换设备可以将接收到的接口与列表相比较,以识别匹配。如果存在匹配,则数据交换设备继续转发操作。如果没有匹配,那么该分组被丢弃。
在另一个实施例中,数据分组包括传输设备地址空间(或VLAN-ID字段)内的第三部分位。该传输设备地址空间内的第三部分位指示数据分组的生存时间(TTL)值。数据交换设备在转发之前递减传输设备地址空间内指示的TTL值。选择到下一跳节点的转发路径可以包括使用由传输设备地址空间中第二部分位指示的流标识符,提供等成本多路径路由(ECMP)。因此,实施例可以将ECMP功能与RPF检查和TTL保护同时组合起来。
继续到图14,下面的讨论提供一基本实施例,其指示出如何实施与上述地址管理器140相关联的功能。但是,应该指出,用于实施地址管理器140的实际配置可根据各自的应用而有所不同。例如,计算机系统149可包括实施本申请所描述处理的一个或多个计算机。
在不同的实施例中,计算机系统149可以是多种类型的设备中任一种,所述多种类型的设备包括但不限于网络交换机,路由器,手机,个人计算机系统,台式电脑,膝上型电脑、笔记本或上网本计算机,大型计算机系统,掌上电脑,工作站,网络计算机,应用服务器,存储设备,消费电子设备,如相机,摄像机,机顶盒,移动设备,视频游戏机,手持视频游戏设备,或一般意义上任何类型的计算设备或电子设备。
所示出的计算机系统149连接到显示监视器130,该显示监视器130用于显示供用户136使用输入设备135进行操作的图形用户界面133。可选地可以将存储库138用于在处理之前和之后存储数据文件和内容。输入设备135可以包括一个或多个设备,如键盘,计算机鼠标,麦克风等。
如图所示,本示例的计算机系统149包括互连143,该互连耦合存储系统141,处理器142,I/O接口144和通信接口145。
I/O接口144提供到诸如输入设备135之类的外围设备的连接,所述输入设备135包括计算机鼠标,键盘,用于移动光标的选择工具,显示屏幕等等。
通信接口145使计算机系统149的地址管理器140能通过网络进行通信,以及如果有必要,则检索根据本申请实施例创建视图、处理内容、与用户通信等所需的任何数据。
如图所示,存储系统141编码有地址管理器140-1,该地址管理器支持如上面所讨论的以及下文将进一步讨论的功能。地址管理器140-1(和/或本申请所描述的其他资源)可以实现为软件代码,如数据和/或逻辑指令,其支持根据本申请所描述的不同实施例的处理功能。
在一个实施例的操作中,处理器142通过使用互连143来访问存储系统141,以启动,运行,执行,解释或以其他方式进行地址管理140-1的逻辑指令。地址管理器140-1的执行产生地址管理器处理140-2中的处理功能。换句话说,地址管理器处理140-2表示在计算机系统149的处理器142内或之上执行的地址管理器140的一个或多个部分。
应当指出,除了实施本申请所讨论的方法操作的地址管理器处理140-2以外,本申请的其他实施例包括地址管理器140-1自身(即,未执行或非进行的逻辑指令和/或数据)。地址管理器140-1可存储在非暂态的有形的计算机可读存储介质上,所述介质包括计算机可读的存储介质,如软盘,硬盘,光学介质,等等。根据其他实施例,地址管理器140-1还可以存储在存储器类型的系统中,如在固件,只读存储器(ROM)中存储,或在这个例子中存储为存储系统141内的可执行代码。
除了这些实施例以外,还应该注意,本申请的其他实施例包括地址管理器140-1在处理器142中作为地址管理器处理140-2的执行。因此,本领域技术人员将会理解,计算机系统149可包括其他处理和/或软件和硬件组件,如控制硬件资源的分配和使用的操作系统,或多个处理器。
本领域技术人员将会理解,可以对以上说明的技术的操作做出许多改变,而仍实现本发明的相同目标。希望这种改变覆盖在本发明的范围内。这样,不希望以上对本发明实施例的描述是限制性的。相反,在随附的权利要求书中阐述对本发明实施例的任何限定。
本申请要求如下申请的利益:美国临时专利申请第61/454,944号,申请日为2011年3月21日,题为“Layer 2 Address Modification”,该申请的全部内容合并在本申请中作为参考。本申请与如下申请有关:美国专利申请第13/097,224号,申请日为2011年4月29日,题为“Usage OfMasked BMAC Addresses In A Provider Backbone Bridged(PBB)Network”,该申请的全部内容合并在本申请中作为参考。
Claims (10)
1.一种用于多链路透明互连TRILL网络中的分组交换的计算机实现的方法,该计算机实现的方法包括:
在TRILL网络内的RBridge设备处接收数据分组,该数据分组是接收自所述TRILL网络内另一节点的,所述数据分组具有通过TRILL头部封装的客户网络头部,所述TRILL头部包括传输设备地址空间和RBridge别名空间;
从所述TRILL头部内的传输设备地址空间识别传输设备地址,所述传输设备地址空间具有指示第一数据交换设备的传输设备地址的第一部分位,并且所述传输设备地址空间具有指示与所述第一数据交换设备的传输设备地址不同的信息的第二部分位;
基于在所述第一部分位中指示的传输设备地址,在所述RBridge设备的转发表中执行查找;
将指示所述第一数据交换设备的传输设备地址的所述第一部分位替换为指示第二数据交换设备地址的位,同时保持所述第二部分位不变;并且
经由所述TRILL网络转发所述数据分组。
2.如权利要求1所述的计算机实现的方法,其中,执行所述查找包括在执行该查找之前,掩蔽所述传输设备地址空间中的所述第二部分位。
3.如权利要求1所述的计算机实现的方法,其中,执行所述查找包括基于来自所述TRILL头部的虚拟局域网VLAN指示器空间的信息,识别指示所述第一数据交换设备的传输设备地址的所述第一部分位。
4.如权利要求1所述的计算机实现的方法,其中,所述传输设备地址空间指示出所述传输设备地址空间使用作为单播地址的本地管理的媒体访问控制MAC地址,所述传输设备地址空间是具有48个可用位的以太网头部媒体访问控制地址空间。
5.如权利要求1所述的计算机实现的方法,还包括:
通过使用流标识符作为用于哈希运算的计算输入,来执行哈希运算,从而选择转发路径,所述流标识符在所述传输设备地址空间的第二部分内指示出来;并且
其中,经由所述TRILL网络转发所述数据分组包括经由所选择的转发路径将所述数据分组转发到所述TRILL网络内的下一跳节点。
6.如权利要求1所述的计算机实现的方法,其中,通过所述TRILL头部封装的数据分组包括使用以太网头部的数据分组,所述以太网头部包括媒体访问控制MAC目的地址空间和媒体访问控制MAC源地址空间,所述以太网头部使用来自所述MAC目的地址空间和所述MAC源地址空间两者的位来指示与所述数据交换设备地址不同的信息。
7.一种用于传输网络中的分组交换的计算机实现的方法,所述计算机实现的方法包括:
在第一数据交换设备处接收数据分组,所述数据分组具有现有的头部并且是接收自客户网络的,所述第一数据交换设备是传输网络的边缘节点;
使用传输网络头部来封装所述数据分组,所述传输网络头部所具有的数据结构包括传输设备地址空间和虚拟局域网VLAN指示器空间;
封装所述数据分组包括设定所述传输设备地址空间中的第一部分位,以使得所述第一部分位指示一数据交换设备地址,该数据交换设备地址是所述传输网络内的节点;
封装所述数据分组包括设定所述传输设备地址空间中的第二部分位,以使得所述第二部分位指示流标识符;
通过使用来自所述传输设备地址空间的流标识符作为用于选择到所述传输网络的下一跳节点的转发路径的计算输入,来选择所述转发路径;并且
使用所选择的转发路径,将所述数据分组转发到所述传输网络中的下一跳节点。
8.如权利要求7所述的计算机实现的方法,还包括:
通过使用来自所述现有的头部的分组信息作为用于生成所述流标识符的计算输入,来生成所述流标识符。
9.如权利要求8所述的计算机实现的方法,其中,生成所述流标识符包括在所述现有的头部内识别出的客户信息上生成哈希索引。
10.如权利要求9所述的计算机实现的方法,其中,封装所述数据分组包括在所述传输设备地址空间内设定第三部分位,以使得所述第三部分位指示所述数据分组的生存时间TTL值。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161454944P | 2011-03-21 | 2011-03-21 | |
US61/454,944 | 2011-03-21 | ||
US13/149,066 US8755383B2 (en) | 2011-03-21 | 2011-05-31 | Usage of masked ethernet addresses between transparent interconnect of lots of links (TRILL) routing bridges |
US13/149,066 | 2011-05-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102694721A true CN102694721A (zh) | 2012-09-26 |
CN102694721B CN102694721B (zh) | 2019-06-18 |
Family
ID=47045184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110461263.9A Active CN102694721B (zh) | 2011-03-21 | 2011-12-30 | 用于网络中的分组交换的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8755383B2 (zh) |
EP (2) | EP3145135B1 (zh) |
CN (1) | CN102694721B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103763224A (zh) * | 2014-01-23 | 2014-04-30 | 华为技术有限公司 | 一种数据处理方法及装置 |
CN103780486A (zh) * | 2012-10-26 | 2014-05-07 | 杭州华三通信技术有限公司 | 一种trill网络中的镜像报文传输方法和设备 |
CN103812775A (zh) * | 2012-11-13 | 2014-05-21 | 华为技术有限公司 | 报文转发方法、装置及系统 |
CN104052669A (zh) * | 2013-03-12 | 2014-09-17 | 西普联特公司 | 用于处理交替配置的最长前缀匹配表的装置和方法 |
CN104348717A (zh) * | 2013-08-02 | 2015-02-11 | 杭州华三通信技术有限公司 | 报文转发方法和装置 |
CN104753790A (zh) * | 2013-12-26 | 2015-07-01 | 华为技术有限公司 | 一种基于trill网络的报文传输方法及设备 |
CN105591913A (zh) * | 2015-11-04 | 2016-05-18 | 杭州华三通信技术有限公司 | Trill网络中的报文转发方法和装置 |
CN105812234A (zh) * | 2015-01-21 | 2016-07-27 | 宝马股份公司 | 车辆中的以太网通信方面的系统可扩展性 |
CN107801183A (zh) * | 2017-09-22 | 2018-03-13 | 河南西岛仪表研发有限公司 | 一种基于节点地址的无线链路组网方法 |
CN108337183A (zh) * | 2017-12-19 | 2018-07-27 | 南京大学 | 一种数据中心网络流负载均衡的方法 |
CN113711544A (zh) * | 2019-05-28 | 2021-11-26 | 倍福自动化有限公司 | 用于在自动化网络中对电报进行路由的方法、数据结构、自动化网络和网络分配器 |
Families Citing this family (156)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8665886B2 (en) | 2009-03-26 | 2014-03-04 | Brocade Communications Systems, Inc. | Redundant host connection in a routed network |
US8369335B2 (en) | 2010-03-24 | 2013-02-05 | Brocade Communications Systems, Inc. | Method and system for extending routing domain to non-routing end stations |
US9270486B2 (en) | 2010-06-07 | 2016-02-23 | Brocade Communications Systems, Inc. | Name services for virtual cluster switching |
US9461840B2 (en) | 2010-06-02 | 2016-10-04 | Brocade Communications Systems, Inc. | Port profile management for virtual cluster switching |
US9716672B2 (en) | 2010-05-28 | 2017-07-25 | Brocade Communications Systems, Inc. | Distributed configuration management for virtual cluster switching |
US8867552B2 (en) | 2010-05-03 | 2014-10-21 | Brocade Communications Systems, Inc. | Virtual cluster switching |
US8989186B2 (en) | 2010-06-08 | 2015-03-24 | Brocade Communication Systems, Inc. | Virtual port grouping for virtual cluster switching |
US9001824B2 (en) | 2010-05-18 | 2015-04-07 | Brocade Communication Systems, Inc. | Fabric formation for virtual cluster switching |
US9769016B2 (en) | 2010-06-07 | 2017-09-19 | Brocade Communications Systems, Inc. | Advanced link tracking for virtual cluster switching |
US9231890B2 (en) | 2010-06-08 | 2016-01-05 | Brocade Communications Systems, Inc. | Traffic management for virtual cluster switching |
US8885488B2 (en) | 2010-06-02 | 2014-11-11 | Brocade Communication Systems, Inc. | Reachability detection in trill networks |
US9806906B2 (en) | 2010-06-08 | 2017-10-31 | Brocade Communications Systems, Inc. | Flooding packets on a per-virtual-network basis |
US9246703B2 (en) | 2010-06-08 | 2016-01-26 | Brocade Communications Systems, Inc. | Remote port mirroring |
US9628293B2 (en) | 2010-06-08 | 2017-04-18 | Brocade Communications Systems, Inc. | Network layer multicasting in trill networks |
US9608833B2 (en) | 2010-06-08 | 2017-03-28 | Brocade Communications Systems, Inc. | Supporting multiple multicast trees in trill networks |
US8446914B2 (en) | 2010-06-08 | 2013-05-21 | Brocade Communications Systems, Inc. | Method and system for link aggregation across multiple switches |
US9807031B2 (en) | 2010-07-16 | 2017-10-31 | Brocade Communications Systems, Inc. | System and method for network configuration |
US20120051346A1 (en) * | 2010-08-24 | 2012-03-01 | Quantenna Communications, Inc. | 3-address mode bridging |
US8711703B2 (en) * | 2010-10-29 | 2014-04-29 | Telefonaktiebolaget L M Ericsson (Publ) | Load balancing in shortest-path-bridging networks |
ES2588739T3 (es) * | 2011-04-26 | 2016-11-04 | Huawei Technologies Co., Ltd. | Método, equipo y sistema para mapear una instancia de servicio |
US9270572B2 (en) | 2011-05-02 | 2016-02-23 | Brocade Communications Systems Inc. | Layer-3 support in TRILL networks |
US8670450B2 (en) | 2011-05-13 | 2014-03-11 | International Business Machines Corporation | Efficient software-based private VLAN solution for distributed virtual switches |
US9276953B2 (en) | 2011-05-13 | 2016-03-01 | International Business Machines Corporation | Method and apparatus to detect and block unauthorized MAC address by virtual machine aware network switches |
US20120287785A1 (en) | 2011-05-14 | 2012-11-15 | International Business Machines Corporation | Data traffic handling in a distributed fabric protocol (dfp) switching network architecture |
US8837499B2 (en) | 2011-05-14 | 2014-09-16 | International Business Machines Corporation | Distributed fabric protocol (DFP) switching network architecture |
US20120291034A1 (en) | 2011-05-14 | 2012-11-15 | International Business Machines Corporation | Techniques for executing threads in a computing environment |
US9497073B2 (en) | 2011-06-17 | 2016-11-15 | International Business Machines Corporation | Distributed link aggregation group (LAG) for a layer 2 fabric |
US9402271B2 (en) * | 2011-06-27 | 2016-07-26 | Brocade Communications Systems, Inc. | Converged wireless local area network |
US8879549B2 (en) | 2011-06-28 | 2014-11-04 | Brocade Communications Systems, Inc. | Clearing forwarding entries dynamically and ensuring consistency of tables across ethernet fabric switch |
US9407533B2 (en) | 2011-06-28 | 2016-08-02 | Brocade Communications Systems, Inc. | Multicast in a trill network |
US9401861B2 (en) | 2011-06-28 | 2016-07-26 | Brocade Communications Systems, Inc. | Scalable MAC address distribution in an Ethernet fabric switch |
US8948056B2 (en) | 2011-06-28 | 2015-02-03 | Brocade Communication Systems, Inc. | Spanning-tree based loop detection for an ethernet fabric switch |
US9007958B2 (en) | 2011-06-29 | 2015-04-14 | Brocade Communication Systems, Inc. | External loop detection for an ethernet fabric switch |
US8885641B2 (en) | 2011-06-30 | 2014-11-11 | Brocade Communication Systems, Inc. | Efficient trill forwarding |
US8873558B2 (en) * | 2011-08-03 | 2014-10-28 | Cisco Technology, Inc. | Reverse path forwarding lookup with link bundles |
US9736085B2 (en) * | 2011-08-29 | 2017-08-15 | Brocade Communications Systems, Inc. | End-to end lossless Ethernet in Ethernet fabric |
US20130064066A1 (en) | 2011-09-12 | 2013-03-14 | International Business Machines Corporation | Updating a switch software image in a distributed fabric protocol (dfp) switching network |
US8767529B2 (en) | 2011-09-12 | 2014-07-01 | International Business Machines Corporation | High availability distributed fabric protocol (DFP) switching network architecture |
CN102368727B (zh) * | 2011-09-14 | 2015-01-21 | 杭州华三通信技术有限公司 | 跨ip网络的trill网络通信方法、系统和设备 |
US9769116B2 (en) * | 2011-09-16 | 2017-09-19 | Wilmerding Communications Llc | Encapsulating traffic while preserving packet characteristics |
US8750129B2 (en) | 2011-10-06 | 2014-06-10 | International Business Machines Corporation | Credit-based network congestion management |
US9065745B2 (en) | 2011-10-06 | 2015-06-23 | International Business Machines Corporation | Network traffic distribution |
US8804572B2 (en) * | 2011-10-25 | 2014-08-12 | International Business Machines Corporation | Distributed switch systems in a trill network |
US9699117B2 (en) | 2011-11-08 | 2017-07-04 | Brocade Communications Systems, Inc. | Integrated fibre channel support in an ethernet fabric switch |
US9450870B2 (en) | 2011-11-10 | 2016-09-20 | Brocade Communications Systems, Inc. | System and method for flow management in software-defined networks |
CN102625986A (zh) * | 2011-12-09 | 2012-08-01 | 华为技术有限公司 | 一种二层网络环路处理的方法、装置及网络设备 |
US8995272B2 (en) | 2012-01-26 | 2015-03-31 | Brocade Communication Systems, Inc. | Link aggregation in software-defined networks |
US8953616B2 (en) * | 2012-01-30 | 2015-02-10 | Telefonaktiebolaget L M Ericsson (Publ) | Shortest path bridging in a multi-area network |
US9742693B2 (en) | 2012-02-27 | 2017-08-22 | Brocade Communications Systems, Inc. | Dynamic service insertion in a fabric switch |
US9154416B2 (en) | 2012-03-22 | 2015-10-06 | Brocade Communications Systems, Inc. | Overlay tunnel in a fabric switch |
CN102594711B (zh) * | 2012-03-28 | 2014-11-26 | 杭州华三通信技术有限公司 | 一种在边缘设备上的报文转发方法和边缘设备 |
US9270589B2 (en) * | 2012-04-04 | 2016-02-23 | Marvell Israel (M.I.S.L) Ltd. | Transparent RBridge |
US9374301B2 (en) | 2012-05-18 | 2016-06-21 | Brocade Communications Systems, Inc. | Network feedback in software-defined networks |
US10277464B2 (en) | 2012-05-22 | 2019-04-30 | Arris Enterprises Llc | Client auto-configuration in a multi-switch link aggregation |
CN104272668B (zh) | 2012-05-23 | 2018-05-22 | 博科通讯系统有限公司 | 层3覆盖网关 |
EP2880822A4 (en) * | 2012-07-30 | 2016-03-16 | Hewlett Packard Development Co | NETWORK COMMUNICATION WITH PROVIDER BRIDGE |
US9602430B2 (en) | 2012-08-21 | 2017-03-21 | Brocade Communications Systems, Inc. | Global VLANs for fabric switches |
US9049233B2 (en) | 2012-10-05 | 2015-06-02 | Cisco Technology, Inc. | MPLS segment-routing |
US9401872B2 (en) | 2012-11-16 | 2016-07-26 | Brocade Communications Systems, Inc. | Virtual link aggregations across multiple fabric switches |
US9413691B2 (en) | 2013-01-11 | 2016-08-09 | Brocade Communications Systems, Inc. | MAC address synchronization in a fabric switch |
US9548926B2 (en) | 2013-01-11 | 2017-01-17 | Brocade Communications Systems, Inc. | Multicast traffic load balancing over virtual link aggregation |
US9350680B2 (en) | 2013-01-11 | 2016-05-24 | Brocade Communications Systems, Inc. | Protection switching over a virtual link aggregation |
US9565113B2 (en) | 2013-01-15 | 2017-02-07 | Brocade Communications Systems, Inc. | Adaptive link aggregation and virtual link aggregation |
EP2933962A4 (en) * | 2013-01-16 | 2015-12-09 | Huawei Tech Co Ltd | METHOD FOR IMPLEMENTING TRILL OAM PACKAGES, RB AND TRILL NETWORK |
CN103944826B (zh) * | 2013-01-22 | 2017-03-15 | 杭州华三通信技术有限公司 | Spbm网络中的表项聚合方法及设备 |
US9565099B2 (en) | 2013-03-01 | 2017-02-07 | Brocade Communications Systems, Inc. | Spanning tree in fabric switches |
US9049127B2 (en) * | 2013-03-11 | 2015-06-02 | Cisco Technology, Inc. | Methods and devices for providing service clustering in a trill network |
US9331942B2 (en) * | 2013-03-12 | 2016-05-03 | Xpliant, Inc. | Apparatus and method for processing alternately configured longest prefix match tables |
WO2014145750A1 (en) | 2013-03-15 | 2014-09-18 | Brocade Communications Systems, Inc. | Scalable gateways for a fabric switch |
US9537718B2 (en) | 2013-03-15 | 2017-01-03 | Cisco Technology, Inc. | Segment routing over label distribution protocol |
US9667441B2 (en) * | 2013-03-18 | 2017-05-30 | Mellanox Technologies Ltd. | Uniting FDB lookups for encapsulated packets |
CN103166858B (zh) * | 2013-03-26 | 2016-06-08 | 杭州华三通信技术有限公司 | 一种报文传输方法和设备 |
US9565028B2 (en) | 2013-06-10 | 2017-02-07 | Brocade Communications Systems, Inc. | Ingress switch multicast distribution in a fabric switch |
US9699001B2 (en) | 2013-06-10 | 2017-07-04 | Brocade Communications Systems, Inc. | Scalable and segregated network virtualization |
US9692677B2 (en) * | 2013-06-12 | 2017-06-27 | Avaya Inc. | Implementing multicast link trace connectivity fault management in an Ethernet network |
US9531624B2 (en) * | 2013-08-05 | 2016-12-27 | Riverbed Technology, Inc. | Method and apparatus for path selection |
US9806949B2 (en) | 2013-09-06 | 2017-10-31 | Brocade Communications Systems, Inc. | Transparent interconnection of Ethernet fabric switches |
US10461946B2 (en) | 2013-09-17 | 2019-10-29 | Cisco Technology, Inc. | Overlay signaling for bit indexed explicit replication |
EP3047604B1 (en) | 2013-09-17 | 2021-03-24 | Cisco Technology, Inc. | Bit indexed explicit replication |
US9571897B2 (en) | 2013-09-17 | 2017-02-14 | Cisco Technology, Inc. | Bit indexed explicit replication for professional media networks |
US11451474B2 (en) | 2013-09-17 | 2022-09-20 | Cisco Technology, Inc. | Equal cost multi-path with bit indexed explicit replication |
US10218524B2 (en) | 2013-09-17 | 2019-02-26 | Cisco Technology, Inc. | Bit indexed explicit replication for layer 2 networking |
US9544230B2 (en) * | 2013-09-17 | 2017-01-10 | Cisco Technology, Inc. | Migration support for bit indexed explicit replication |
US9438432B2 (en) | 2013-09-17 | 2016-09-06 | Cisco Technology, Inc. | Bit indexed explicit replication packet encapsulation |
US10003494B2 (en) | 2013-09-17 | 2018-06-19 | Cisco Technology, Inc. | Per-prefix LFA FRR with bit indexed explicit replication |
US9806897B2 (en) * | 2013-09-17 | 2017-10-31 | Cisco Technology, Inc. | Bit indexed explicit replication forwarding optimization |
US9912612B2 (en) | 2013-10-28 | 2018-03-06 | Brocade Communications Systems LLC | Extended ethernet fabric switches |
US9515918B2 (en) | 2013-11-18 | 2016-12-06 | International Business Machines Corporation | Computing forwarding tables for link failures |
CN104660508B (zh) * | 2013-11-25 | 2018-03-16 | 华为技术有限公司 | 一种报文转发方法及装置 |
US10158538B2 (en) | 2013-12-09 | 2018-12-18 | Nicira, Inc. | Reporting elephant flows to a network controller |
US9967199B2 (en) | 2013-12-09 | 2018-05-08 | Nicira, Inc. | Inspecting operations of a machine to detect elephant flows |
CN103763192B (zh) * | 2014-01-29 | 2017-04-12 | 杭州华三通信技术有限公司 | 报文转发方法和装置 |
US9548873B2 (en) | 2014-02-10 | 2017-01-17 | Brocade Communications Systems, Inc. | Virtual extensible LAN tunnel keepalives |
US9762488B2 (en) | 2014-03-06 | 2017-09-12 | Cisco Technology, Inc. | Segment routing extension headers |
US10581758B2 (en) | 2014-03-19 | 2020-03-03 | Avago Technologies International Sales Pte. Limited | Distributed hot standby links for vLAG |
US10476698B2 (en) | 2014-03-20 | 2019-11-12 | Avago Technologies International Sales Pte. Limited | Redundent virtual link aggregation group |
US10567271B2 (en) * | 2014-04-18 | 2020-02-18 | Nokia Canada Inc. | Topology-aware packet forwarding in a communication network |
US10063473B2 (en) | 2014-04-30 | 2018-08-28 | Brocade Communications Systems LLC | Method and system for facilitating switch virtualization in a network of interconnected switches |
US9350648B2 (en) | 2014-05-09 | 2016-05-24 | Huawei Technologies Co., Ltd. | System and method for loop suppression in transit networks |
US9800471B2 (en) | 2014-05-13 | 2017-10-24 | Brocade Communications Systems, Inc. | Network extension groups of global VLANs in a fabric switch |
US9807001B2 (en) | 2014-07-17 | 2017-10-31 | Cisco Technology, Inc. | Segment routing using a remote forwarding adjacency identifier |
US9608858B2 (en) | 2014-07-21 | 2017-03-28 | Cisco Technology, Inc. | Reliable multipath forwarding for encapsulation protocols |
US10616108B2 (en) | 2014-07-29 | 2020-04-07 | Avago Technologies International Sales Pte. Limited | Scalable MAC address virtualization |
US9544219B2 (en) | 2014-07-31 | 2017-01-10 | Brocade Communications Systems, Inc. | Global VLAN services |
US9807007B2 (en) | 2014-08-11 | 2017-10-31 | Brocade Communications Systems, Inc. | Progressive MAC address learning |
US20160087887A1 (en) * | 2014-09-22 | 2016-03-24 | Hei Tao Fung | Routing fabric |
US9524173B2 (en) | 2014-10-09 | 2016-12-20 | Brocade Communications Systems, Inc. | Fast reboot for a switch |
US9699029B2 (en) | 2014-10-10 | 2017-07-04 | Brocade Communications Systems, Inc. | Distributed configuration management in a switch group |
US9553829B2 (en) | 2014-11-13 | 2017-01-24 | Cavium, Inc. | Apparatus and method for fast search table update in a network switch |
US9485179B2 (en) | 2014-11-13 | 2016-11-01 | Cavium, Inc. | Apparatus and method for scalable and flexible table search in a network switch |
CN105591940B (zh) * | 2014-11-17 | 2020-03-31 | 中兴通讯股份有限公司 | 一种trill网络分发树选择方法和trill网络节点 |
US9626255B2 (en) | 2014-12-31 | 2017-04-18 | Brocade Communications Systems, Inc. | Online restoration of a switch snapshot |
US9628407B2 (en) | 2014-12-31 | 2017-04-18 | Brocade Communications Systems, Inc. | Multiple software versions in a switch group |
US9942097B2 (en) | 2015-01-05 | 2018-04-10 | Brocade Communications Systems LLC | Power management in a network of interconnected switches |
US10003552B2 (en) | 2015-01-05 | 2018-06-19 | Brocade Communications Systems, Llc. | Distributed bidirectional forwarding detection protocol (D-BFD) for cluster of interconnected switches |
US9906378B2 (en) | 2015-01-27 | 2018-02-27 | Cisco Technology, Inc. | Capability aware routing |
US10341221B2 (en) * | 2015-02-26 | 2019-07-02 | Cisco Technology, Inc. | Traffic engineering for bit indexed explicit replication |
US10038592B2 (en) | 2015-03-17 | 2018-07-31 | Brocade Communications Systems LLC | Identifier assignment to a new switch in a switch group |
US9807005B2 (en) | 2015-03-17 | 2017-10-31 | Brocade Communications Systems, Inc. | Multi-fabric manager |
US10579406B2 (en) | 2015-04-08 | 2020-03-03 | Avago Technologies International Sales Pte. Limited | Dynamic orchestration of overlay tunnels |
EP3107269A1 (en) * | 2015-06-17 | 2016-12-21 | Advanced Digital Broadcast S.A. | System and method for mac addressing |
US10439929B2 (en) | 2015-07-31 | 2019-10-08 | Avago Technologies International Sales Pte. Limited | Graceful recovery of a multicast-enabled switch |
US10171303B2 (en) | 2015-09-16 | 2019-01-01 | Avago Technologies International Sales Pte. Limited | IP-based interconnection of switches with a logical chassis |
US9912614B2 (en) | 2015-12-07 | 2018-03-06 | Brocade Communications Systems LLC | Interconnection of switches based on hierarchical overlay tunneling |
US10523796B2 (en) | 2015-12-22 | 2019-12-31 | Intel Corporation | Techniques for embedding fabric address information into locally-administered Ethernet media access control addresses (MACs) and a multi-node fabric system implementing the same |
US10263881B2 (en) | 2016-05-26 | 2019-04-16 | Cisco Technology, Inc. | Enforcing strict shortest path forwarding using strict segment identifiers |
CN107819693B (zh) * | 2016-09-12 | 2019-05-07 | 北京百度网讯科技有限公司 | 用于数据流系统的数据流处理方法及装置 |
US11032197B2 (en) | 2016-09-15 | 2021-06-08 | Cisco Technology, Inc. | Reroute detection in segment routing data plane |
US10630743B2 (en) | 2016-09-23 | 2020-04-21 | Cisco Technology, Inc. | Unicast media replication fabric using bit indexed explicit replication |
US10237090B2 (en) | 2016-10-28 | 2019-03-19 | Avago Technologies International Sales Pte. Limited | Rule-based network identifier mapping |
US10637675B2 (en) | 2016-11-09 | 2020-04-28 | Cisco Technology, Inc. | Area-specific broadcasting using bit indexed explicit replication |
US10341225B2 (en) * | 2016-12-30 | 2019-07-02 | Hughes Network Systems, Llc | Bonding of satellite terminals |
US10623308B2 (en) * | 2017-02-17 | 2020-04-14 | Dell Products L.P. | Flow routing system |
US10447496B2 (en) | 2017-03-30 | 2019-10-15 | Cisco Technology, Inc. | Multicast traffic steering using tree identity in bit indexed explicit replication (BIER) |
US10164794B2 (en) | 2017-04-28 | 2018-12-25 | Cisco Technology, Inc. | Bridging of non-capable subnetworks in bit indexed explicit replication |
US11418460B2 (en) * | 2017-05-15 | 2022-08-16 | Consensii Llc | Flow-zone switching |
US20190014092A1 (en) * | 2017-07-08 | 2019-01-10 | Dan Malek | Systems and methods for security in switched networks |
US11032257B1 (en) | 2017-12-08 | 2021-06-08 | Rankin Labs, Llc | Method for covertly delivering a packet of data over a network |
US11861025B1 (en) | 2018-01-08 | 2024-01-02 | Rankin Labs, Llc | System and method for receiving and processing a signal within a TCP/IP protocol stack |
WO2019164637A1 (en) | 2018-02-23 | 2019-08-29 | Futurewei Technologies, Inc. | Advertising and programming preferred path routes using interior gateway protocols |
CN112055954B (zh) | 2018-04-26 | 2022-08-26 | 华为技术有限公司 | 网络中优选路径路由的资源预留和维护 |
WO2019210769A1 (en) * | 2018-05-03 | 2019-11-07 | Huawei Technologies Co., Ltd. | Explicit routing with network function encoding |
US20210266254A1 (en) * | 2018-06-22 | 2021-08-26 | Idac Holdings, Inc. | Device to device forwarding |
US10728220B2 (en) | 2018-08-10 | 2020-07-28 | John Rankin | System and method for covertly transmitting a payload of data |
US11689543B2 (en) | 2018-08-10 | 2023-06-27 | Rankin Labs, Llc | System and method for detecting transmission of a covert payload of data |
US11652732B2 (en) | 2018-08-21 | 2023-05-16 | Rankin Labs, Llc | System and method for scattering network traffic across a number of disparate hosts |
US11989320B2 (en) | 2018-12-19 | 2024-05-21 | Rankin Labs, Llc | Hidden electronic file system within non-hidden electronic file system |
WO2020160564A1 (en) * | 2019-03-19 | 2020-08-06 | Futurewei Technologies, Inc. | Preferred path routing in ethernet networks |
US11729184B2 (en) | 2019-05-28 | 2023-08-15 | Rankin Labs, Llc | Detecting covertly stored payloads of data within a network |
US11140074B2 (en) | 2019-09-24 | 2021-10-05 | Cisco Technology, Inc. | Communicating packets across multi-domain networks using compact forwarding instructions |
US20210111990A1 (en) * | 2019-10-14 | 2021-04-15 | Cisco Technology, Inc. | Systems and methods for providing multiple disjointed paths to core network at first-mile access |
CN111641558B (zh) * | 2019-10-24 | 2021-11-30 | 北京大学 | 一种基于位置感知的网络中间设备 |
WO2021127320A1 (en) | 2019-12-18 | 2021-06-24 | John Rankin | Distribution of data over a network with interconnected rings |
WO2021142049A1 (en) * | 2020-01-07 | 2021-07-15 | John Rankin | Presenting data to a user without a host server |
US11962518B2 (en) | 2020-06-02 | 2024-04-16 | VMware LLC | Hardware acceleration techniques using flow selection |
US20220393967A1 (en) * | 2021-06-07 | 2022-12-08 | Vmware, Inc. | Load balancing of vpn traffic over multiple uplinks |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE368337T1 (de) * | 2003-06-25 | 2007-08-15 | Alcatel Lucent | Verfahren und einrichtung zur ethernet-mac- adressumsetzung in ethernet-zugangsnetzwerken |
US20070047583A1 (en) * | 2005-08-29 | 2007-03-01 | Siemens Aktiengesellschaft | Method for using a short address in a packet header |
US20080181243A1 (en) * | 2006-12-15 | 2008-07-31 | Brocade Communications Systems, Inc. | Ethernet forwarding in high performance fabrics |
US20100316056A1 (en) * | 2009-06-12 | 2010-12-16 | Nortel Networks Limited | Techniques for routing data between network areas |
US8509248B2 (en) * | 2008-12-29 | 2013-08-13 | Juniper Networks, Inc. | Routing frames in a computer network using bridge identifiers |
-
2011
- 2011-05-31 US US13/149,066 patent/US8755383B2/en active Active
- 2011-12-23 EP EP16195966.3A patent/EP3145135B1/en active Active
- 2011-12-23 EP EP11195675.1A patent/EP2503743B1/en active Active
- 2011-12-30 CN CN201110461263.9A patent/CN102694721B/zh active Active
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103780486B (zh) * | 2012-10-26 | 2017-03-08 | 杭州华三通信技术有限公司 | 一种trill网络中的镜像报文传输方法和设备 |
CN103780486A (zh) * | 2012-10-26 | 2014-05-07 | 杭州华三通信技术有限公司 | 一种trill网络中的镜像报文传输方法和设备 |
CN103812775A (zh) * | 2012-11-13 | 2014-05-21 | 华为技术有限公司 | 报文转发方法、装置及系统 |
CN103812775B (zh) * | 2012-11-13 | 2017-04-12 | 华为技术有限公司 | 报文转发方法、装置及系统 |
CN104052669A (zh) * | 2013-03-12 | 2014-09-17 | 西普联特公司 | 用于处理交替配置的最长前缀匹配表的装置和方法 |
CN104348717A (zh) * | 2013-08-02 | 2015-02-11 | 杭州华三通信技术有限公司 | 报文转发方法和装置 |
CN104348717B (zh) * | 2013-08-02 | 2018-05-11 | 新华三技术有限公司 | 报文转发方法和装置 |
CN104753790A (zh) * | 2013-12-26 | 2015-07-01 | 华为技术有限公司 | 一种基于trill网络的报文传输方法及设备 |
WO2015096512A1 (zh) * | 2013-12-26 | 2015-07-02 | 华为技术有限公司 | 一种基于trill网络的报文传输方法及设备 |
CN104753790B (zh) * | 2013-12-26 | 2018-05-04 | 华为技术有限公司 | 一种基于trill网络的报文传输方法及设备 |
CN103763224A (zh) * | 2014-01-23 | 2014-04-30 | 华为技术有限公司 | 一种数据处理方法及装置 |
CN103763224B (zh) * | 2014-01-23 | 2017-04-12 | 华为技术有限公司 | 一种数据处理方法及装置 |
CN105812234A (zh) * | 2015-01-21 | 2016-07-27 | 宝马股份公司 | 车辆中的以太网通信方面的系统可扩展性 |
CN105812234B (zh) * | 2015-01-21 | 2021-03-23 | 宝马股份公司 | 车辆中的以太网通信方面的系统可扩展性设备和方法 |
CN105591913A (zh) * | 2015-11-04 | 2016-05-18 | 杭州华三通信技术有限公司 | Trill网络中的报文转发方法和装置 |
CN105591913B (zh) * | 2015-11-04 | 2018-10-12 | 新华三技术有限公司 | Trill网络中的报文转发方法和装置 |
CN107801183A (zh) * | 2017-09-22 | 2018-03-13 | 河南西岛仪表研发有限公司 | 一种基于节点地址的无线链路组网方法 |
CN108337183A (zh) * | 2017-12-19 | 2018-07-27 | 南京大学 | 一种数据中心网络流负载均衡的方法 |
CN108337183B (zh) * | 2017-12-19 | 2021-10-26 | 南京大学 | 一种数据中心网络流负载均衡的方法 |
CN113711544A (zh) * | 2019-05-28 | 2021-11-26 | 倍福自动化有限公司 | 用于在自动化网络中对电报进行路由的方法、数据结构、自动化网络和网络分配器 |
US11411769B2 (en) | 2019-05-28 | 2022-08-09 | Beckhoff Automation Gmbh | Method for routing telegrams in an automation network, automation network and network distributor |
CN113711544B (zh) * | 2019-05-28 | 2023-05-23 | 倍福自动化有限公司 | 用于在自动化网络中对电报进行路由的方法、自动化网络和网络分配器 |
Also Published As
Publication number | Publication date |
---|---|
CN102694721B (zh) | 2019-06-18 |
EP2503743A3 (en) | 2012-11-14 |
EP3145135B1 (en) | 2021-06-02 |
EP2503743A2 (en) | 2012-09-26 |
US20120243539A1 (en) | 2012-09-27 |
US8755383B2 (en) | 2014-06-17 |
EP2503743B1 (en) | 2016-12-07 |
EP3145135A1 (en) | 2017-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102694721A (zh) | 多链路透明互连路由桥之间掩蔽的以太网地址的使用 | |
US11374848B2 (en) | Explicit routing with network function encoding | |
CN102238083B (zh) | 用于适配分组处理流水线的系统和方法 | |
US8787377B2 (en) | Usage of masked BMAC addresses in a provider backbone bridged (PBB) network | |
US9455935B2 (en) | Remote port mirroring | |
CN102804693B (zh) | 用于在ip网络上实现l2 vpn的方法和设备 | |
US9444642B2 (en) | LAN multiplexing apparatus | |
US9294396B2 (en) | Port extender | |
CN103023792B (zh) | 用于在最短路径桥接网络中进行分组交换的方法和系统 | |
EP3278513B1 (en) | Transforming a service packet from a first domain to a second domain | |
CN107040463A (zh) | 用于避免由于非对称mac获悉的流量泛洪的系统 | |
CN106713137B (zh) | 基于分段路由和sdn技术的vpn方法、装置及系统 | |
CN107483345B (zh) | 业务处理方法、设备及系统 | |
CN107770073B (zh) | 一种信息同步的方法,装置及系统 | |
US20080080509A1 (en) | Method and apparatus for learning endpoint addresses of IPSec VPN tunnels | |
CN103053138A (zh) | 利用网格标签进行外出分组转发的装置和方法 | |
CN102075438B (zh) | 单播数据帧传输方法及装置 | |
CN102301663A (zh) | 一种报文处理方法及相关设备 | |
CN108781185A (zh) | 提供用于网络设备的可编程包分类框架的系统和方法 | |
CN107070789A (zh) | 主动‑主动pbb‑evpn冗余的流量黑洞避免和快速融合 | |
CN102891800A (zh) | 获知溢出地址的可升级转发表 | |
CN111147372A (zh) | 下行报文发送、转发方法和装置 | |
CN105812257A (zh) | 业务链路由管理系统及其使用方法 | |
CN105262686B (zh) | 一种网络连通性验证方法和装置 | |
WO2021164245A1 (zh) | 负载分担的方法、第一网络设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20180320 Address after: American California Applicant after: Extreme Networks Address before: new jersey Applicant before: Avaya Inc. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |