CN104221331B - 用于以太网交换机的没有查找表的第2层分组交换 - Google Patents
用于以太网交换机的没有查找表的第2层分组交换 Download PDFInfo
- Publication number
- CN104221331B CN104221331B CN201380017811.6A CN201380017811A CN104221331B CN 104221331 B CN104221331 B CN 104221331B CN 201380017811 A CN201380017811 A CN 201380017811A CN 104221331 B CN104221331 B CN 104221331B
- Authority
- CN
- China
- Prior art keywords
- mac address
- allocation table
- mac
- port
- 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.)
- Active
Links
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/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5038—Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
-
- 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/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4552—Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
在一个实施例中,一种***包括至少一个处理器,其包括:被配置成接收针对为一个端口上的设备指派介质接入控制(MAC)地址的请求的逻辑;被配置成至少部分地基于所述端口确定将为所述设备指派的MAC地址的逻辑;以及被配置成发送带有MAC地址的针对所述请求的响应的逻辑。在另一个实施例中,一种用于指派MAC地址的计算机程序产品包括其中具体实现有计算机可读程序代码的计算机可读存储介质,所述计算机可读程序代码包括:被配置成在不使用查找表的情况下确定将为设备指派的MAC地址的计算机可读程序代码;以及被配置成向设备发送MAC地址的计算机可读程序代码。根据更多实施例还给出了其他***、方法和计算机程序产品。
Description
背景技术
本发明涉及数据中心基础设施,更具体来说,本发明涉及能够在不使用查找表的情况下进行第2层分组交换的以太网交换机。
在分组交换网络交换机中,通常对目的地介质接入控制(MAC)地址或目的地互联网协议(IP)地址实施查找,以便发现用于转发分组的交换设备的实际目的地端口。大多数***利用某种交换处理器来进行这一确定,比如专用集成电路(ASIC)。所述交换处理器保持用于实施查找解析的查找表,其在典型的网络中可能相当长,并且可能具有数以千计的条目。所述查找表被存储在芯片上或者被存储在芯片外部。在任一种情况下,对于查找表的使用都会对于芯片增加显著的逻辑复杂度、空间和存储器需求。这一附加的复杂度最终会增加更多等待时间,并且使得芯片比起所期望的情况更加昂贵。因此,有益的是将能够在不使用查找表的情况下发现实际目的地端口。
发明内容
在一个实施例中,一种***包括至少一个处理器,其包括:被配置成接收针对为一个端口上的设备指派介质接入控制(MAC)地址的请求的逻辑;被配置成至少部分地基于所述端口确定将为所述设备指派的MAC地址的逻辑;
以及被配置成发送带有MAC地址的针对所述请求的响应的逻辑。
在另一个实施例中,一种用于指派MAC地址的计算机程序产品包括随之具体实现计算机可读程序代码的计算机可读存储介质,所述计算机可读程序代码包括:被配置成在不使用查找表的情况下确定将为设备指派的MAC地址的计算机可读程序代码;以及被配置成向设备发送MAC地址的计算机可读程序代码。
根据另一个实施例,一种用于指派MAC地址的方法包括:在交换设备的端口处接收来自设备的针对MAC地址的请求;至少部分地基于所述端口确定将为所述设备指派的MAC地址;以及利用所述MAC地址对所述请求做出响应。
在另一个实施例中,一种用于取回MAC地址的方法包括:向MAC分配服务器(MAAS)发送针对MAC地址的请求;等待预定时间量以接收针对所述请求的响应,所述响应包括MAC地址;以及在所述预定时间量内接收到针对所述请求的响应时使用所述MAC地址。
通过后面结合附图做出的以举例的方式说明本发明的原理的详细描述,本发明的其他方面和实施例将变得显而易见。
附图说明
图1示出了根据一个实施例的网络架构。
图2示出了根据一个实施例的可以与图1的服务器和/或客户端相关联的代表性硬件环境。
图3是根据一个实施例的交换设备的简化图示。
图4示出了根据一个实施例的介质接入控制(MAC)地址分配表。
图5是根据一个实施例的方法的流程图。
图6是根据另一个实施例的方法的流程图。
具体实施方式
后面的描述是为了说明本发明的一般原理,而不意图限制这里所要求保护的发明性概念。此外,这里所描述的特定特征可以与多种可能的组合和置换当中的每一种组合和置换中的其他所描述的特征组合使用。
除非在这里明确地另行定义,否则应当为所有术语给出其所可能的最宽泛的解释,其中包括说明书所暗指的含义以及本领域技术人员所理解和/或如词典、协定中所定义的含义。
还必须提到的是,除非另行表明,否则用在说明书和所附权利要求书中的单数形式“一个”、“一项”和“所述”也包括复数的所指对象。
在一种方法中,可以对于耦合到交换***的遵循某一***的设备确定介质接入控制(MAC)地址,其中每一个MAC地址在被应用散列算法时对应于特定散列数值,从而使得每一个散列数值对应于交换设备的一个端口,从而简化并且改进为设备指派MAC地址的方式。
在一个一般性实施例中,一种***包括至少一个处理器,其包括:被配置成接收针对为一个端口上的设备指派介质接入控制(MAC)地址的请求的逻辑;被配置成至少部分地基于所述端口确定将为所述设备指派的MAC地址的逻辑;以及被配置成发送带有MAC地址的针对所述请求的响应的逻辑。
在另一个一般性实施例中,一种用于指派MAC地址的计算机程序产品包括随之具体实现计算机可读程序代码的计算机可读存储介质,所述计算机可读程序代码包括:被配置成在不使用查找表的情况下确定将为设备指派的MAC地址的计算机可读程序代码;以及被配置成向设备发送MAC地址的计算机可读程序代码。
根据另一个一般性实施例,一种用于指派MAC地址的方法包括:在交换设备的端口处接收来自设备的针对MAC地址的请求;至少部分地基于所述端口确定将为所述设备指派的MAC地址;以及利用所述MAC地址对所述请求做出响应。
在另一个一般性实施例中,一种用于取回MAC地址的方法包括:向MAC分配服务器(MAAS)发送针对MAC地址的请求;等待预定时间量以接收针对所述请求的响应,所述响应包括MAC地址;以及在所述预定时间量内接收到针对所述请求的响应时使用所述MAC地址。
所属技术领域的技术人员知道,本发明的各个方面可以实现为***、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以利用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者非瞬时性计算机可读存储介质。非瞬时性计算机可读存储介质例如可以是——但不限于——电子、磁、光、电磁、红外线、或半导体的***、装置或设备,或者任意以上的组合。非瞬时性计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑盘只读存储器(CD-ROM)、蓝光盘只读存储器(BD-ROM)、光存储设备、磁存储设备、或者上述的任意合适的组合。在本文件中,非瞬时性计算机可读存储介质可以是任何能够包含或存储程序或应用的有形介质,该程序或应用供指令执行***、装置或者设备使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者设备使用或者与其结合使用的程序,比如具有一条或多条连线的电连接、光纤等等。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)存储区域网(SAN)和/或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
计算机程序指令还可以被加载到计算机、其他可编程数据处理装置或者其他设备上,从而使得在所述计算机、其他可编程装置或其他设备上实施一系列操作步骤以产生计算机实施的处理,从而使得在计算机或其他可编程装置上执行的指令提供用于实施在流程图和/或方框图的一个或多个方框中规定的功能/动作的处理。
图1示出了根据一个实施例的网络架构100。如图1中所示,提供多个远程网络102,其中包括第一远程网络104和第二远程网络106。网关101可以耦合在远程网络102与邻近网络108之间。在这一网络架构100的情境中,网络104、106可以分别采取任何形式,其中包括但不限于LAN、例如因特网之类的WAN、公共交换电话网(PSTN)、内部电话网等等。
在使用中,网关101充当从远程网络102到邻近网络108的进入点。因此,网关101可以充当能够引导到达该网关101处的给定数据分组的路由器,以及对于给定分组布置进入和离开该网关101的实际路径的交换机。
此外还包括耦合到邻近网络108的至少一个数据服务器114,其可以从远程网络102经由网关101访问。应当提到的是,(多个)数据服务器114可以包括任何类型的计算设备/群件。每一个数据服务器114耦合有多个用户设备116。这样的用户设备116可以包括台式计算机、膝上型计算机、手持式计算机、打印机以及/或者任何其他类型的包含逻辑的设备。应当提到的是,在某些实施例中,用户设备111还可以直接耦合到任何网络。
一个外设120或一系列外设120可以耦合到一个或多个网络104、106、108,所述外设比如是传真机、打印机、扫描仪、硬盘驱动器、联网和/或本地存储单元或***等等。应当提到的是,数据库和/或附加的组件可以与耦合到网络104、106、108的任何类型的网络设备一同使用或者被集成到其中。在本发明的描述的情境中,网络元件可以指代网络的任何组件。
根据某些方法,这里所描述的方法和***可以利用虚拟***和/或仿真一个或多个其他***的***来实施以及/或者被实施在其上,比如仿真IBM z/OS环境的UNIX***、虚拟主机MICROSOFT WINDOWS环境的UNIX***、仿真IBM z/OS环境的MICROSOFT WINDOWS***等等。在一些实施例中,通过使用VMWARE软件可以增强这一虚拟化和/或仿真。
在更多方法中,一个或多个网络104、106、108可以代表被共同称为“云”的***群集。在云计算中,通过按需关系为云中的任何***提供例如处理能力、外设、软件、数据、服务器等共享资源,从而允许在许多计算***之间访问和分配服务。云计算通常涉及在云中操作的***之间的因特网连接,但是也可以采用本领域内已知的其他连接***的技术。
图2示出了根据一个实施例的与图1的用户设备116和/或服务器114相关联的代表性硬件环境。图2示出了工作站的典型硬件配置,其具有中央处理单元(CPU)210(比如微处理器)以及经由一条或多条总线212互连的若干其他单元,所述总线根据几个实施例可以是不同类型,比如局部总线、并行总线、串行总线等等。
图2中所示出的工作站包括随机存取存储器(RAM)214,只读存储器(ROM)216,用于把例如盘存储单元220之类的***设备连接到一条或多条总线212的I/O适配器218,用于把键盘224、鼠标226、扬声器228、麦克风232和/或例如触摸屏、数字摄影机(未示出)等其他用户接口设备连接到一条或多条总线212的用户接口适配器222,用于把所述工作站连接到通信网络235(例如数据处理网络)的通信适配器234,以及用于把一条或多条总线212连接到显示设备238的显示适配器236。
所述工作站上可以驻留有操作***,比如MICROSOFT WINDOWS操作***(OS)、MACOS、UNIX OS等等。应当认识到,一个优选实施例还可以被实施在所提到的之外的其他平台和操作***。一个优选实施例可以利用JAVA、XML、C和/或C++语言或其他编程语言连同面向对象的编程方法来编写。可以使用越来越多地被用来开发复杂应用的面向对象的编程(OOP)。
当前,IEEE向例如公司、教育机构等组织指派MAC地址,其随后按照需要在其(多个)网络上自由指派MAC地址。但是这一处理效率低下,并且存在大量等待时间和问题。举例来说,在以太网交换中,取决于存储对于特定交换设备所获知的所有MAC地址的MAC地址表的尺寸,在对交换机进行扩展以用在不断扩张的网络中时,在针对MAC地址解析的处理能力和保持较低查找等待时间方面可能存在很大问题。
为了克服与当前使用的MAC编址协议相关联的问题和等待时间,取代指派固定MAC地址,可以在耦合到要求MAC地址的设备的交换设备引导(boot-up)时指派MAC地址。这些MAC地址可以基于对算法分配的符合来确定。
根据一个实施例,将把所接收到的分组交换到该处的目的地端口可以是目的地MAC地址的函数,其可以被写作Dest_Port=F(Dest_MAC_Address,is_mirror,is_flow),其中F表示函数,Dest_Port是目的地端口,Dest_MAC_Address是由分组提供的目的地MAC地址,is_mirror表示该分组是否被允许镜像到多个端口,并且is_flow表示特殊操作和流控制。is_mirror和is_flow对于分组交换不是必须的,但是在希望时可以使用。这样,与传统方法相比,MAC地址分配被更加高效地实施并且所需的开销处理更少。
现在参照图3,其中示出了根据一个实施例的***300,比如交换设备。如图所示,***300包括服务器,比如MAAS,其被适配成对于电耦合到***300的设备304指派和管理MAC地址。所述服务器可以是一个组件并且/或者由至少一个处理器306管理,比如用于执行逻辑的交换处理器。在一些实施例中,***300还可以包括用于执行逻辑的本地处理器302,其电耦合到所述至少一个处理器306。对于本地处理器302和/或至少一个处理器306可以使用本领域内已知的任何类型的处理器,比如中央处理单元(CPU)、现场可编程门阵列(FPGA)、集成电路(IC)、专用集成电路(ASIC)等等。在另一个实施例中,交换ASIC和本地CPU都可以被包括在***300中,其中交换ASIC管理交换操作,本地CPU管理MAC地址分配操作。
每一个变为在线的新的主机、服务器或设备采集MAC地址以便与其他设备通信。这从传统方法来说是唯一的,其中设备的网络接口卡(NIC)预先编程有MAC地址。在传统上,设备在引导时使用该MAC地址进行通信。但是根据这里所描述的实施例,一种利用MAC地址采集算法或MAC地址采集协议(MAAP)的MAC地址采集方法不再需要预先编程的MAC地址,而是可以在某些方法中作为针对预先编程的MAC地址的补充来使用。
根据一个实施例,所述至少一个处理器306包括或者可以访问被配置成接收针对为端口308上的设备304指派MAC地址的请求的逻辑。所述请求可以由设备304发送,或者可以源自网络中或***300中的其他地方。在该处接收到请求的端口308被存储或者以其他方式被记住,从而使其可以被用来在将来发送去往设备304的所有外出通信量。所述至少一个处理器306还包括或者可以访问被配置成至少部分地基于所述端口确定将为设备指派的MAC地址的逻辑,以及被配置成发送带有MAC地址的针对所述请求的响应的逻辑。
在一个实施例中,所述至少一个处理器306还可以包括或者可以访问被配置成创建MAC地址分配表的逻辑。现在参照图4,MAC地址分配表400可以包括多个散列数值402,每一个散列数值402与一个端口404和多个MAC地址406相关联。在一种方法中,现在参照图3-4,对所述多个MAC地址406当中的任一个应用散列算法会得到相关联的散列数值402,从而存在一种为设备304指派MAC地址406的***性方法,其中设备304请求对应于该设备304在其上耦合到***300的端口404的MAC地址406。
在一种方法中,被配置成确定将为设备304a指派的MAC地址406a的逻辑可以包括被配置成从MAC地址分配表400中选择MAC地址406a的逻辑,从而使得对所选MAC地址406a应用散列算法会得到与耦合到设备304a的端口404a相关联的散列数值402a。
在另一种方法中,被配置成从MAC地址分配表400中选择MAC地址406a的逻辑包括被配置成从多个可用MAC地址406当中顺序地或随机地选择下一个可用MAC地址406的逻辑,其中可用MAC地址当前未被分配给设备304。当然,与此相反,不可用MAC地址当前被指派给设备304。
在另一种方法中,所述逻辑还可以包括在从MAC地址分配表400中选择MAC地址406a时被配置成将MAC地址406a标记为不可用的逻辑,这是通过将MAC地址406a从MAC地址分配表400中去除并且将所述MAC地址添加到已使用MAC地址表(未示出,但是其将类似于MAC地址分配表400,不同之处在于其将仅包括已指派MAC地址)中。在更多方法中,所述逻辑还可以包括在设备304a释放为之指派的MAC地址406a时被配置成将MAC地址406a标记为可用的逻辑,这是通过将MAC地址406a添加到MAC地址分配表400中并且从已使用MAC地址表400中去除MAC地址406a。
在另一个实施例中,所述逻辑可以被配置成在MAC地址分配表400中翻转与MAC地址406a相关联的指示比特,从而表明MAC地址406a可用或不可用。
根据各个实施例,所述散列算法可以包括本领域内已知的任何完美或不完美散列算法。在一种方法中,所述散列算法可以包括:H(DM)=(DM[0]*1XOR DM[1]*2XOR DM[2]*3XOR DM[3]*4XOR DM[4]*5XOR DM[5]*6)MOD P,其中DM是MAC地址,H(DM)是MAC地址DM的所有六个字节的散列数值,并且P是***300的物理端口308的总数。
在另一个实施例中,所述散列算法可以包括:H(DM)=(DM[0]*1XOR DM[1]*2...XOR DM[N-1]*N)MOD P,其中DM是MAC地址,H(DM)是MAC地址DM的散列数值,DM[N-1]是具有N个字节的MAC地址DM的一个字节,并且P是物理端口总数。
根据另一个实施例,可以在所述至少一个处理器306的启动(start-up)处理期间创建MAC地址分配表400。这一启动处理可以是***300引导,或者是发生一次以便令各个组件达到运转速度的任何其他处理。
在另一个实施例中,所述请求可以包括具有源地址的MAC地址采集协议(MAAP)分组。在这种情况下,所述响应可以包括经过改动的所接收到的MAAP分组,从而使得经过改动的MAAP分组的目的地址被改变到所接收到的MAAP分组的源地址。这样,通过源和目的地地址之间的简单切换,相同的MAAP分组可以被用于请求和响应。
现在参照图5,其中示出了根据一个实施例的用于指派MAC地址的方法500的流程图。在各个实施例中,特别可以根据本发明在图1-4所描绘的任何环境中实施方法500。当然,本领域技术人员通过阅读本发明的描述将会理解的是,在方法500中可以包括比在图5中具体描述的那些操作更多或更少的操作。
方法500的每一个步骤可以由操作环境的任何适当组件实施。举例来说,在一个实施例中,方法500可以部分地或完全地由交换设备和/或交换设备的MAAS实施。
如图5中所示,方法500可以发起于操作502,其中在交换设备的一个端口处接收来自设备的针对MAC地址的请求。正如这里所描述的那样,在该处接收到请求的端口被存储以用于确定对应于所述设备的MAC地址。
在操作504中,至少部分地基于所述端口确定将为设备指派的MAC地址。
在一种方法中,可以创建MAC地址分配表。MAC地址分配表可以包括多个散列数值,每一个散列数值与对应于多个MAC地址的一个端口相关联。此外,对所述多个MAC地址当中的任一个应用散列算法会得到相关联的散列数值,其又与所述MAC地址的端口相关联。
此外,在一个实施例中,MAAS可以使用从输入文件提供到MAAS的预先定义的MAC地址集合来建立MAC地址分配表。在这种情况下,MAAS响应于接收到MAC地址分配协议(MAAP)分组从MAC地址分配表中确定将为设备指派的MAC地址。
在一个实施例中,所述散列算法可以是完美散列算法或不完美散列算法。可以使用的一种此类完美散列算法是:H(DM)=(DM[0]*1XOR DM[1]*2XOR DM[2]*3XOR DM[3]*4XOR DM[4]*5XOR DM[5]*6)MOD P,其中DM是MAC地址,H(DM)是MAC地址DM的所有六个字节的散列数值,并且P是交换设备的物理端口的总数。
根据另一个实施例,所述散列算法可以包括H(DM)=(DM[0]*1XOR DM[1]*2...XORDM[N-1]*N)MOD P,其中DM是MAC地址,H(DM)是MAC地址DM的散列数值,DM[N-1]是具有N个字节的MAC地址DM的一个字节,并且P是端口总数。
在某些方法中,如果接收到来自设备的分组并且对MAC地址应用散列算法没有得到交换设备的适当端口,例如目的地MAC地址并非由MAAP提供,则可以使用常规查找算法来找到目的地端口。随后可以将所述分组转发到目的地端口。为了识别出并非由MAAS利用MAAP提供的MAC地址,可以比较MAC地址的全球唯一标识符(UUID)字段的范围。MAAP在特定预先编程的范围内分配MAC地址。
在一种方法中,可以在交换设备的启动处理期间(比如在引导期间)创建MAC地址分配表。此外,MAC地址分配可以是列表、关联、文件或者某种其他手段,其允许将一个或多个MAC地址与单一端口和单一散列数值相关联。
在另一种方法中,方法500还可以包括从MAC地址分配表中选择MAC地址,从而使得对所选MAC地址应用散列算法会得到与耦合到所述设备的交换设备的端口相关联的散列数值。举例来说,如果设备连接到交换设备的端口4,则对为所述设备选择的MAC地址应用散列算法会得到与端口4相关联的散列数值。所述散列数值可以是4,或者可以是在指派散列到该特定散列数值的MAC地址之前与交换设备的所述端口相关联的任何其他数字。
在另一种方法中,从MAC地址分配表中选择MAC地址可以包括从多个可用MAC地址当中顺序地或随机地选择下一个可用MAC地址。可用MAC地址是当前未被指派给设备的MAC地址,不可用MAC地址则是当前被指派给设备的MAC地址。
在另一个实施例中,方法500可以包括在从MAC地址分配表中选择MAC地址时,将所述MAC地址标记为不可用,或者将所述MAC地址从MAC地址分配表中去除并且将所述MAC地址添加到已使用MAC地址表中。此外,在设备释放为之指派的MAC地址时,可以将所述MAC地址添加到MAC地址分配表中并且从已使用MAC地址中去除,或者可以将所述MAC地址标记为可用。当然,在另一些实施例中可以使用全部两个单独的分配表和标记。
在另一种方法中,所述标记可以包括翻转MAC地址分配表中的与MAC地址相关联的指示比特,或者本领域内已知的对表中的条目进行标记的任何方法。
在操作506中,利用MAC地址对所述请求做出响应。可以使用包括MAC地址的任何响应,比如以太网分组。在一种此类情况中,所述请求可以包括具有源地址的MAAP分组。在这种情况下,所述响应可以包括经过改动的所接收到的MAAP分组,从而使得经过改动的MAAP分组的目的地地址被改变到所接收到的MAAP分组的源地址。这样,通过源和目的地地址之间的简单切换,相同的MAAP分组可以被用于请求和响应。
根据一个实施例,在引导时,可以利用D-MAC=01:00:5e:00:00:xx、S-MAC=NICMAC地址以及EtherType=0xFFFF或0xXXXX来形成分组,其中XX或xx尚未被定义,但是可以由网络管理员确定并且在配置时间为主机操作***给出。因此,这些数值可以是为全部两个实体所知的任何数值。
随后,在所连接的NIC端口上向MAAS发送出以太网分组(优选地是MAAP分组),其可以是交换设备的一部分。接下来,交换设备在该交换设备的其中一个端口上接收所述分组。相应地,MAAP请求分组连同源端口信息被发送到本地MAAS。此时,本地MAAS运行地址分配算法,并且确定对应于主机操作***的MAC地址H-MAC。
在一种方法中,所述地址分配算法可以包括提取出在其上接收到MAAP请求的交换机端口号“p”,并且利用控制软件将该端口传递到MAAS。随后对MAC地址分配表进行解析,并且确定第一可用(未分配)MAC地址。该地址随后被添加到MAAP分组中,并且所述地址被标记为不可用(已分配)。
接下来,MAAS通过把H-MAC地址写入到MAAP分组中并且把目的地地址改变到原始MAAP请求的原始源地址而改动MAAP分组。所述分组被发送出源端口。发出请求的主机操作***在预定等待时间(t_wait)接收到响应MAAP分组,并且随后开始将H-MAC用作其所有未来通信的源MAC地址。
如果MAAP响应没有在等待时间(t_wait)内到达,则主机操作***可以重试所述处理两次或更多次。在所述重试没有接收到响应之后,主机操作***开始利用预先编程的NICMAC地址作为其所有未来通信的源MAC地址。
根据大多数实施例,这里所描述的方法和***可以被初始化在平坦第2层网络上,其中所有的主机、设备或服务器都被指派相同子网的IP地址。
现在参照图6,其中示出了根据一个实施例的用于取回MAC地址的方法600的流程图。在各个实施例中,特别可以根据本发明在图1-4所描绘的任何环境中实施方法600。当然,本领域技术人员通过阅读本发明的描述将会理解的是,在方法600中可以包括比在图6中具体描述的那些操作更多或更少的操作。
方法600的每一个步骤可以由操作环境的任何适当组件实施。举例来说,在一个实施例中,方法600可以部分地或完全地由交换设备和/或交换设备的MAAS实施。
如图6中所示,方法600可以发起于操作602,其中向MAAS发送针对MAC地址的请求。在一种方法中,所述请求可以是MAAP分组。
在操作604中,等待针对请求的响应。如果在预定时间量期间没有接收到针对所述请求的响应,则可以采取其他行动。
在操作606中,当在预定时间量内接收到针对请求的响应时,使用MAC地址。所述响应包括MAC地址,并且在接收到MAC地址之后,由最初发送请求的设备或者耦合到该设备的某一其他设备使用所述MAC地址。
在一个实施例中,当在预定时间量期间没有接收到针对请求的响应时,发送针对MAC地址的请求的设备可以使用预先编程的MAC地址。根据一种方法,该MAC地址在制造时被预先编程到设备中。
根据这里给出的实施例和方法,可以在不使用查找表的情况下做出交换决定,这是因为网络中的每一个设备具有对应于交换设备的目的地端口的MAC地址。此外,这样提供了极快的交换算法并且提供了非常低的等待时间。其还通过简化交换逻辑大大缩短了直通(cut-through)等待时间并且降低了成本。
虽然前面描述了各个实施例,但是应当理解的是其仅仅是作为实例而非限制给出的。因此,本发明的实施例的宽度和范围不应当受限于任何前面所描述的示例性实施例,而是应当仅根据所附权利要求书及其等效表述来限定。
Claims (21)
1.一种包括至少一个处理器的***,其中,所述至少一个处理器包括:
被配置成创建MAC地址分配表的逻辑,其中,所述MAC地址分配表包括多个散列数值,每一个散列数值与一个端口和多个MAC地址相关联,其中对于所述多个MAC地址当中的任一个应用散列算法会得到相关联的散列数值;
被配置成接收针对为端口上的设备指派介质接入控制MAC地址的请求的逻辑;
被配置成至少部分地基于所述端口确定将为所述设备指派的MAC地址的逻辑;以及
被配置成发送带有MAC地址的针对所述请求的响应的逻辑。
2.如权利要求1所述的***,其中,被配置成为设备指派MAC地址的逻辑包括被配置成从MAC地址分配表中选择MAC地址的逻辑,从而使得对所选MAC地址应用散列算法会得到与耦合到所述设备的端口相关联的散列数值。
3.如权利要求2所述的***,其中,被配置成从MAC地址分配表中选择MAC地址的逻辑包括被配置成从多个可用MAC地址当中顺序地或随机地选择下一个可用MAC地址的逻辑,其中可用MAC地址当前未被指派给设备。
4.如权利要求3所述的***,其还包括:
在从MAC地址分配表中选择MAC地址时,通过将所述MAC地址从MAC地址分配表中去除并且将所述MAC地址添加到已使用MAC地址表中,或者通过在MAC地址分配表中翻转与所述MAC地址相关联的指示比特而被配置成将所述MAC地址标记为不可用的逻辑;以及
在设备释放为其指派的MAC地址时,通过将所述MAC地址添加到MAC地址分配表中并且从已使用MAC地址表中去除所述MAC地址,或者通过在MAC地址分配表中翻转与所述MAC地址相关联的指示比特而被配置成将所述MAC地址标记为可用的逻辑。
5.如权利要求2所述的***,其中,所述散列算法是:H(DM)=(DM[0]*1XOR DM[1]*2XORDM[2]*3XOR DM[3]*4XOR DM[4]*5XOR DM[5]*6)MOD P,其中DM是MAC地址,H(DM)是MAC地址DM的所有六个字节的散列数值,并且P是***的端口总数。
6.如权利要求1所述的***,其中,在所述至少一个处理器的启动处理期间创建MAC地址分配表,并且其中所述散列算法包括:H(DM)=(DM[0]*1XOR DM[1]*2...XOR DM[N-1]*N)MOD P,其中DM是MAC地址,H(DM)是MAC地址DM的散列数值,DM[N-1]是具有N个字节的MAC地址DM的字节,并且P是端口总数。
7.如权利要求1所述的***,其中,所述请求包括具有源地址的MAC地址采集协议MAAP分组,并且其中所述响应包括经过改动的所接收到的MAAP分组,从而使得经过改动的MAAP分组的目的地址被改变到所接收到的MAAP分组的源地址。
8.一种计算机可读存储介质,其上存储有计算机可读程序,用于指派介质接入控制MAC地址,所述计算机可读程序被执行使得所述计算机执行如下步骤:
创建MAC地址分配表,其中所述MAC地址分配表包括多个散列数值,每一个散列数值与对应于多个MAC地址的端口相关联,对所述多个MAC地址当中的任一个应用散列算法会得到相关联的散列数值;
从MAC地址分配表中的多个MAC地址当中选择MAC地址,从而使得对所选MAC地址应用散列算法会得到与耦合到设备的端口相关联的散列数值;
在不使用查找表的情况下确定将为设备指派的MAC地址;以及
向设备发送MAC地址。
9.如权利要求8所述的可读存储介质,其中:
在从MAC地址分配表中选择MAC地址时,将所述MAC地址标记为不可用,或者将所述MAC地址从MAC地址分配表中去除并且将所述MAC地址添加到已使用MAC地址表中,其中不可用MAC地址当前被指派给设备。
10.如权利要求9所述的计算机可读存储介质,其中所述计算机可读程序进一步使得计算机执行如下步骤:
在设备释放为其指派的MAC地址时:
将所述MAC地址添加到MAC地址分配表中并且从已使用MAC地址表中去除所述MAC地址;或者
将所述MAC地址标记为可用。
11.如权利要求10所述的计算机可读存储介质,其中,将MAC地址标记为可用包括在MAC地址分配表中翻转与所述MAC地址相关联的指示比特的逻辑。
12.如权利要求9所述的计算机可读存储介质,其中,所述散列算法是:H(DM)=(DM[0]*1XOR DM[1]*2XOR DM[2]*3XOR DM[3]*4XOR DM[4]*5XOR DM[5]*6)MOD P,其中DM是MAC地址,H(DM)是MAC地址DM的所有六个字节的散列数值,并且P是端口总数。
13.如权利要求8所述的计算机可读存储介质,其中,在启动处理期间创建MAC地址分配表,并且所述散列算法包括:H(DM)=(DM[0]*1XOR DM[1]*2...XOR DM[N-1]*N)MOD P,其中DM是MAC地址,H(DM)是MAC地址DM的散列数值,DM[N-1]是具有N个字节的MAC地址DM的字节,并且P是端口总数。
14.一种用于指派介质接入控制MAC地址的方法,所述方法包括:
创建MAC地址分配表,其中所述MAC地址分配表包括多个散列数值,每一个散列数值与对应于多个MAC地址的端口相关联,对所述多个MAC地址当中的任一个应用散列算法会得到相关联的散列数值;
在交换设备的端口处接收来自设备的针对MAC地址的请求;
至少部分地基于所述端口确定将为所述设备指派的MAC地址;以及
利用所述MAC地址对所述请求做出响应。
15.如权利要求14所述的方法,其中,MAC地址分配服务器MAAS使用从输入文件提供到MAAS的预先定义的MAC地址集合来建立MAC地址分配表,其中MAAS响应于接收到MAC地址分配协议MAAP分组从MAC地址分配表中确定将为设备指派的MAC地址。
16.如权利要求14所述的方法,其中,确定将为设备指派的MAC地址包括从MAC地址分配表中选择所述MAC地址,从而使得对所选MAC地址应用散列算法会得到与耦合到所述设备的交换设备的端口相关联的散列数值。
17.如权利要求15所述的方法,其中,从MAC地址分配表中选择MAC地址包括从多个可用MAC地址当中顺序地或随机地选择下一个可用MAC地址,其中可用MAC地址是当前未被指派给设备的MAC地址。
18.如权利要求15所述的方法,其还包括:
在从MAC地址分配表中选择MAC地址时,将所述MAC地址标记为不可用或者从MAC地址分配表中去除所述MAC地址并且将所述MAC地址添加到已使用MAC地址表中;以及
在设备释放为其指派的MAC地址时,将所述MAC地址添加到MAC地址分配表中并且从已使用MAC地址表中去除所述MAC地址或者将所述MAC地址标记为可用。
19.如权利要求15所述的方法,其中,所述散列算法是:H(DM)=(DM[0]*1XOR DM[1]*2XOR DM[2]*3XOR DM[3]*4XOR DM[4]*5XOR DM[5]*6)MOD P,其中DM是MAC地址,H(DM)是MAC地址DM的所有六个字节的散列数值,并且P是交换设备的端口总数。
20.如权利要求14所述的方法,其中,在所述交换设备的启动处理期间创建MAC地址分配表,并且所述散列算法包括:H(DM)=(DM[0]*1XOR DM[1]*2...XOR DM[N-1]*N)MOD P,其中DM是MAC地址,H(DM)是MAC地址DM的散列数值,DM[N-1]是具有N个字节的MAC地址DM的字节,并且P是端口总数。
21.一种用于取回介质接入控制MAC地址的方法,所述方法包括:
向MAC分配服务器MAAS发送针对MAC地址的请求;
等待预定时间量以接收针对所述请求的响应,其中所述响应包括MAC地址;以及
在所述预定时间量内接收到针对所述请求的响应时使用所述MAC地址;
在所述预定时间量内未接收到响应时使用预先编程的MAC地址。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/438,794 | 2012-04-03 | ||
US13/438,794 US8861401B2 (en) | 2012-04-03 | 2012-04-03 | Layer 2 packet switching without look-up table for ethernet switches |
PCT/IB2013/052168 WO2013150404A1 (en) | 2012-04-03 | 2013-03-19 | Layer 2 packet switching without look-up table for ethernet switches |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104221331A CN104221331A (zh) | 2014-12-17 |
CN104221331B true CN104221331B (zh) | 2017-10-24 |
Family
ID=49234910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380017811.6A Active CN104221331B (zh) | 2012-04-03 | 2013-03-19 | 用于以太网交换机的没有查找表的第2层分组交换 |
Country Status (7)
Country | Link |
---|---|
US (3) | US8861401B2 (zh) |
JP (1) | JP6270816B2 (zh) |
KR (1) | KR20140107173A (zh) |
CN (1) | CN104221331B (zh) |
DE (1) | DE112013001904B4 (zh) |
GB (1) | GB2515442B (zh) |
WO (1) | WO2013150404A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9319335B1 (en) * | 2010-12-07 | 2016-04-19 | Pluribus Networks, Inc. | Distributed operating system for a layer 2 fabric |
US8861401B2 (en) | 2012-04-03 | 2014-10-14 | International Business Machines Corporation | Layer 2 packet switching without look-up table for ethernet switches |
US8902896B2 (en) | 2012-04-16 | 2014-12-02 | International Business Machines Corporation | Packet switching without look-up table for ethernet switches |
US9137173B2 (en) | 2012-06-19 | 2015-09-15 | Advanced Micro Devices, Inc. | Devices and methods for interconnecting server nodes |
US8930595B2 (en) | 2012-06-21 | 2015-01-06 | Advanced Micro Devices, Inc. | Memory switch for interconnecting server nodes |
US9253287B2 (en) | 2012-08-20 | 2016-02-02 | Advanced Micro Devices, Inc. | Speculation based approach for reliable message communications |
US20140068088A1 (en) * | 2012-09-04 | 2014-03-06 | Advanced Micro Devices, Inc. | Systems and methods for processing media access control (mac) addresses |
CN105847191B (zh) * | 2016-03-23 | 2019-03-01 | 华为技术有限公司 | 一种基于重排序算法的交换设备 |
CN108848202B (zh) * | 2018-06-21 | 2021-05-04 | Oppo(重庆)智能科技有限公司 | 电子装置、数据传输方法及相关产品 |
US11861595B2 (en) * | 2018-12-19 | 2024-01-02 | Jpmorgan Chase Bank , N.A. | Systems and methods for generation and use of a device wallet identifier |
US11050746B2 (en) * | 2019-01-29 | 2021-06-29 | Cisco Technology, Inc. | Media access control (MAC) address anonymization based on allocations by network controller elements |
CN113595812B (zh) * | 2021-06-25 | 2023-05-16 | 深圳市联洲国际技术有限公司 | 一种客户端识别方法、装置、存储介质及网络设备 |
CN113727222B (zh) * | 2021-08-16 | 2023-11-03 | 烽火通信科技股份有限公司 | 一种pon***中mac地址漂移的检测方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101252530A (zh) * | 2008-03-28 | 2008-08-27 | 中兴通讯股份有限公司 | 报文转发方法、***以及交换设备 |
Family Cites Families (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7466703B1 (en) | 1998-05-01 | 2008-12-16 | Alcatel-Lucent Usa Inc. | Scalable high speed router apparatus |
GB9810843D0 (en) | 1998-05-21 | 1998-07-22 | 3Com Technologies Ltd | Method for storing data in network devices |
US6876653B2 (en) | 1998-07-08 | 2005-04-05 | Broadcom Corporation | Fast flexible filter processor based architecture for a network device |
DE60031515T2 (de) | 1999-03-17 | 2007-08-23 | Broadcom Corp., Irvine | Netzwerkvermittlung |
US6587462B2 (en) | 2001-02-16 | 2003-07-01 | Dunti Corporation | Address mapping mechanism enabling multi-domain addressing in communication networks |
US7778259B1 (en) | 1999-05-14 | 2010-08-17 | Dunti Llc | Network packet transmission mechanism |
US6985431B1 (en) | 1999-08-27 | 2006-01-10 | International Business Machines Corporation | Network switch and components and method of operation |
US6690667B1 (en) * | 1999-11-30 | 2004-02-10 | Intel Corporation | Switch with adaptive address lookup hashing scheme |
US6804232B1 (en) * | 2000-03-27 | 2004-10-12 | Bbnt Solutions Llc | Personal area network with automatic attachment and detachment |
CA2337674A1 (en) | 2000-04-20 | 2001-10-20 | International Business Machines Corporation | Switching arrangement and method |
KR20020017265A (ko) | 2000-08-29 | 2002-03-07 | 구자홍 | 동일 아이피 서브넷상에 구성된 서로 다른 가상랜 사이의통신방법 |
JP4489308B2 (ja) | 2001-01-05 | 2010-06-23 | 富士通株式会社 | パケットスイッチ |
US7529851B1 (en) * | 2002-02-08 | 2009-05-05 | Cisco Technology, Inc. | Method and apparatus for MAC address assignment |
GB0227048D0 (en) | 2002-11-20 | 2002-12-24 | 3Com Corp | Network units for use in and organisation of cascade systems |
US7069312B2 (en) * | 2002-12-06 | 2006-06-27 | Microsoft Corporation | Network location signature for disambiguating multicast messages in dual-IP stack and/or multi-homed network environments |
JP4014155B2 (ja) * | 2003-01-27 | 2007-11-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報処理装置及び方法、プログラム、データ構造、並びにコンピュータ読取り可能な記録媒体 |
US20040170181A1 (en) | 2003-02-27 | 2004-09-02 | Padcom, Inc. | Prioritized alternate port routing |
US20040213278A1 (en) * | 2003-04-24 | 2004-10-28 | Broadcom Corporation | System, method, and computer program product for in-place, lightweight Ack promotion in a cable modem environment |
JP2005045442A (ja) * | 2003-07-25 | 2005-02-17 | Hitachi Cable Ltd | 宛先判定回路 |
JP4409991B2 (ja) | 2004-03-01 | 2010-02-03 | 富士通株式会社 | リンクアグリゲーションを用いた伝送制御システム |
US7433356B2 (en) * | 2004-05-13 | 2008-10-07 | International Business Machines Corporation | Methods and apparatus for creating addresses |
US7877519B2 (en) | 2004-10-18 | 2011-01-25 | Intel Corporation | Selecting one of a plurality of adapters to use to transmit a packet |
JP4704043B2 (ja) | 2005-01-07 | 2011-06-15 | 富士通株式会社 | 移動処理プログラム、情報処理装置、コンピュータシステム及び移動処理プログラムを格納したコンピュータ読み取り可能な記録媒体 |
JP4816161B2 (ja) * | 2006-03-10 | 2011-11-16 | 日本電気株式会社 | 無線通信装置、macアドレス管理システム、無線通信方法及び無線通信プログラム |
US7710862B2 (en) * | 2006-08-30 | 2010-05-04 | Hewlett-Packard Development Company, L.P. | Method and system of assigning media access control (MAC) addresses across teamed communication ports |
JP4918862B2 (ja) | 2007-01-05 | 2012-04-18 | 富士通株式会社 | リンクトレースフレーム転送プログラム、リンクトレースフレーム転送装置、リンクトレースフレーム転送方法 |
US8144709B2 (en) | 2007-04-06 | 2012-03-27 | International Business Machines Corporation | Method, system and computer processing an IP packet, routing a structured data carrier, preventing broadcast storms, load-balancing and converting a full broadcast IP packet |
US8089967B2 (en) | 2007-04-06 | 2012-01-03 | International Business Machines Corporation | Modification of a switching table of an internet protocol switch |
TWI335085B (en) | 2007-04-19 | 2010-12-21 | Ind Tech Res Inst | Bifacial thin film solar cell and method for fabricating the same |
US7995465B2 (en) | 2007-05-18 | 2011-08-09 | Nvidia Corporation | Intelligent load balancing and failover of network traffic |
US8553537B2 (en) | 2007-11-09 | 2013-10-08 | International Business Machines Corporation | Session-less load balancing of client traffic across servers in a server group |
CN101640943B (zh) | 2008-07-31 | 2012-11-07 | 国际商业机器公司 | 用于无线局域网的网络层切换方法及相应无线接入点设备 |
JP2010088055A (ja) * | 2008-10-02 | 2010-04-15 | Fujitsu Ltd | 通信システム、移動機、端末管理装置および通信方法 |
JP5131239B2 (ja) * | 2009-03-31 | 2013-01-30 | 富士通株式会社 | Ipアドレス割当制御プログラム、ipアドレス割当制御装置およびipアドレス割当制御方法 |
US8259726B2 (en) | 2009-05-28 | 2012-09-04 | Force10 Networks, Inc. | Method and apparatus for forwarding table reduction |
TWI491300B (zh) * | 2009-06-10 | 2015-07-01 | 皇家飛利浦電子股份有限公司 | 無線網路系統、使用於一無線網路系統中之加入器件、用於委任一無線網路系統之方法及電腦程式產品 |
US20100322086A1 (en) | 2009-06-17 | 2010-12-23 | Motorola, Inc. | Enabling buffer status reports in a communication system |
US8788570B2 (en) | 2009-06-22 | 2014-07-22 | Citrix Systems, Inc. | Systems and methods for retaining source IP in a load balancing multi-core environment |
US8953603B2 (en) | 2009-10-28 | 2015-02-10 | Juniper Networks, Inc. | Methods and apparatus related to a distributed switch fabric |
US8625429B2 (en) | 2010-12-17 | 2014-01-07 | Jakub Schmidtke | Scheduling data over multiple network interfaces |
US8446910B2 (en) * | 2011-04-14 | 2013-05-21 | Cisco Technology, Inc. | Methods for even hash distribution for port channel with a large number of ports |
US8861401B2 (en) | 2012-04-03 | 2014-10-14 | International Business Machines Corporation | Layer 2 packet switching without look-up table for ethernet switches |
US8902896B2 (en) | 2012-04-16 | 2014-12-02 | International Business Machines Corporation | Packet switching without look-up table for ethernet switches |
-
2012
- 2012-04-03 US US13/438,794 patent/US8861401B2/en not_active Expired - Fee Related
-
2013
- 2013-03-12 US US13/797,874 patent/US9450868B2/en active Active
- 2013-03-19 WO PCT/IB2013/052168 patent/WO2013150404A1/en active Application Filing
- 2013-03-19 GB GB1419383.3A patent/GB2515442B/en active Active
- 2013-03-19 CN CN201380017811.6A patent/CN104221331B/zh active Active
- 2013-03-19 KR KR1020147005286A patent/KR20140107173A/ko not_active Application Discontinuation
- 2013-03-19 DE DE112013001904.3T patent/DE112013001904B4/de active Active
- 2013-03-19 JP JP2015503962A patent/JP6270816B2/ja active Active
-
2014
- 2014-07-30 US US14/447,455 patent/US10148569B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101252530A (zh) * | 2008-03-28 | 2008-08-27 | 中兴通讯股份有限公司 | 报文转发方法、***以及交换设备 |
Also Published As
Publication number | Publication date |
---|---|
JP2015518317A (ja) | 2015-06-25 |
CN104221331A (zh) | 2014-12-17 |
US9450868B2 (en) | 2016-09-20 |
GB2515442B (en) | 2018-12-12 |
WO2013150404A1 (en) | 2013-10-10 |
US8861401B2 (en) | 2014-10-14 |
GB2515442A (en) | 2014-12-24 |
DE112013001904B4 (de) | 2021-12-23 |
KR20140107173A (ko) | 2014-09-04 |
US10148569B2 (en) | 2018-12-04 |
JP6270816B2 (ja) | 2018-01-31 |
US20140334498A1 (en) | 2014-11-13 |
US20130258899A1 (en) | 2013-10-03 |
DE112013001904T5 (de) | 2014-12-18 |
US20130259048A1 (en) | 2013-10-03 |
GB201419383D0 (en) | 2014-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104221331B (zh) | 用于以太网交换机的没有查找表的第2层分组交换 | |
US8214528B2 (en) | Address identifier scaling in converged networks | |
US10437775B2 (en) | Remote direct memory access in computing systems | |
US11088944B2 (en) | Serverless packet processing service with isolated virtual network integration | |
CN107851034B (zh) | 用于定义虚拟机的虚拟机构架简档的***和方法 | |
CN103581062B (zh) | 用于处理未知单播数据包的方法和*** | |
US8165138B2 (en) | Converged infiniband over ethernet network | |
US20080192648A1 (en) | Method and system to create a virtual topology | |
US20090063706A1 (en) | Combined Layer 2 Virtual MAC Address with Layer 3 IP Address Routing | |
US8942217B2 (en) | System and method for hierarchical link aggregation | |
US20080195756A1 (en) | Method and system to access a service utilizing a virtual communications device | |
JP2005006303A (ja) | 仮想ネットワーク・アドレス | |
CN103477588A (zh) | 刀片服务器中刀片间网络业务的分类和管理方法和*** | |
US20130272303A1 (en) | Packet switching without look-up table for ethernet switches | |
US10382391B2 (en) | Systems and methods for managing network address information | |
US20170126507A1 (en) | Introducing Latency and Delay For Test or Debug Purposes in a SAN Environment | |
US9166947B1 (en) | Maintaining private connections during network interface reconfiguration | |
US20150052575A1 (en) | Steering Traffic Among Multiple Network Services Using a Centralized Dispatcher | |
US20190140944A1 (en) | Routing between software defined networks and physical networks | |
US10931581B2 (en) | MAC learning in a multiple virtual switch environment | |
US11296981B2 (en) | Serverless packet processing service with configurable exception paths | |
WO2024001549A1 (zh) | 地址配置方法和电子设备 | |
US20230123734A1 (en) | Proxy-Less Private Connectivity Across VPC Networks With Overlapping Addresses | |
US9853885B1 (en) | Using packet duplication in a packet-switched network to increase reliability |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |