CN104737507B - 在大规模数据中心环境中用机会第3层转发确保任意到任意可达性的方法及装置 - Google Patents

在大规模数据中心环境中用机会第3层转发确保任意到任意可达性的方法及装置 Download PDF

Info

Publication number
CN104737507B
CN104737507B CN201380052852.9A CN201380052852A CN104737507B CN 104737507 B CN104737507 B CN 104737507B CN 201380052852 A CN201380052852 A CN 201380052852A CN 104737507 B CN104737507 B CN 104737507B
Authority
CN
China
Prior art keywords
host device
address
packet
network
switch
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.)
Expired - Fee Related
Application number
CN201380052852.9A
Other languages
English (en)
Other versions
CN104737507A (zh
Inventor
希亚姆·卡帕迪亚
尼勒什·沙哈
布尚·卡内卡尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN104737507A publication Critical patent/CN104737507A/zh
Application granted granted Critical
Publication of CN104737507B publication Critical patent/CN104737507B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/113Arrangements for redundant switching, e.g. using parallel planes
    • H04L49/118Address processing within a device, e.g. using internal ID or tags for routing within a switch
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/742Route cache; Operation thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

提供了用于更新交换机设备的路由表的技术。在网络中的第一机架单元的第一交换机设备处,与网络中的主机设备的地址有关的信息被接收。地址被存储在软件缓存中。来自被分配到第一子网并且被容宿在第一机架单元中的第一主机设备的分组被接收。该分组目的地为被分配到第二子网并且被容宿在网络中的第二机架单元中的第二主机设备。分组使用子网条目被转发并且分组可以在条目被安装构成软件缓存之前的期间保持次优。软件缓存被评估以确定第二主机设备的地址。分组随后被最优地转发。这将初始次优并且随后最优地确保网络中的任意到任意通信。

Description

在大规模数据中心环境中用机会第3层转发确保任意到任意 可达性的方法及装置
技术领域
本公开涉及在网络环境中优化服务器之间的数据通信。
背景技术
在数据中心环境中,机架单元可以覆盖很多托管物理主机设备和虚拟主机设备的服务器设备。这些服务器被连接到机架顶(ToR)交换机设备,机架顶交换机设备反过来经由脊柱结构被连接到其它ToR交换机。不同机架单元中的主机设备之间的数据通信的分组可以经由脊柱结构在相应的ToR交换机设备之间被路由。在这些数据中心环境中,期望的是对于任何主机设备都能够与数据中心中的任何其它主机设备进行通信,而不管主机设备是否位于不同的机架单元内。这样的通信被称为任意到任意(any to any)通信。ToR交换机可以被提供以沿主机设备之间的路由路径在网络中发送数据分组。
附图说明
图1示出了包括多个机架单元的示例网络拓扑结构,每个机架单元覆盖一个或多个主机设备和在网络中最优地路由分组的交换机设备。
图2示出了交换机设备的示例框图,交换机设备被配置为更新交换机设备的路由表数据库以在网络中最优地路由分组。
图3示出了包括与网络中的主机设备相关联的地址信息的示例路由表。
图4示出了描绘了由交换机设备执行的更新路由表并且在网络中最优地路由分组的操作的示例流程图。
具体实施方式
概述
提供了用于更新交换机设备的路由表以使得网络内的最优分组传送成为可能的技术。这些技术可以被体现为方法、装置和执行该方法的计算机可读存储介质中的指令。在网络中的第一机架单元的第一交换机设备处,关于与网络中的所有主机设备相关联的一个或多个地址的信息被接收。地址被存储在第一交换机设备处的缓存中。来自被分配到第一子网并且被容宿在第一机架单元中的第一主机设备的分组被接收。该分组目的地为被分配到第二子网并且被容宿在网络中的第二机架单元中的第二主机设备。分组的副本被存储在缓存中。缓存随后被评估以确定第二主机设备的地址,并且与第二主机设备的地址有关的信息被写入第一交换机设备的存储器组件中。
示例实施例
本文描述的技术涉及在网络中优化数据通信。示例系统/拓扑结构100被示出在图1中。拓扑结构100(在下文中称为“网络拓扑结构”或“网络”)具有多个机架单元(或“机架”)。机架单元以标号102(1)-102(3)被示出。机架单元102(1)在下文中可以被称为“机架单元1”,机架单元102(2)在下文中可以被称为“机架单元2”,以此类推。
每个机架单元102(1)-102(3)被配置为托管一个或多个物理服务器单元(在下文中称为“服务器”)。服务器以标号104(1)-104(3)被示出。服务器104(1)在下文中可以被称为“服务器1”,服务器104(2)在下文中可以被称为“服务器2”,以此类推。服务器104(1)-104(3)可以被布置在一个或多个局域网(LAN)中。例如,所有服务器104(1)-104(3)(或服务器的子集)可以被布置在相同的LAN中,或服务器104(1)-104(3)可以各自被布置在不同的LAN中。
每个机架单元还具有交换机设备(“交换机”、“机架顶交换机”或“ToR交换机”),交换机设备以标号106(1)-106(3)被示出。交换机106(1)-106(3)被连接到中心交换机设备,中心交换机设备以标号107被示出。例如,中心交换机设备107可以是被布置在“脊柱(spine)”网络配置中的结构交换机设备,而交换机106(1)-106(3) 可以被布置在关于中心交换机设备107的“叶”网络配置中。交换机106(1)在下文中可以被称为“叶1”/“ToR交换机1”,交换机106(2)在下文中可以被称为“叶2”/“ToR交换机2”,以此类推。中心交换机设备107在下文中可以被称为“结构脊柱交换机”。交换机106(1)-106(3)被配置为将来自机架单元内的相应的服务器104(1)-104(3)的通信(例如,分组)转发到适当的目的地设备,并且还被配置为经由结构脊柱交换机107与驻留在其它机架单元内的其它交换机进行通信。例如,ToR交换机1转发来自和去往机架单元1中的服务器1的通信,ToR交换机2转发来自和去往机架单元2中的服务器的通信,以此类推。在一个示例中,结构脊柱交换机107可以是被配置为使用已知的结构路径或多链路传输互连(TRILL)技术来发送和接收通信的“瘦”交换机设备。
服务器104(1)-104(3)是被配置为在网络100中互相交换数据通信的物理服务器。每个服务器104(1)-104(3)可以被配置为管理或托管多个设备。这些设备被称为主机设备并且以标号108(1)-108(3)被示出。主机设备108(1)在下文中可以被称为“主机1”,主机设备108(2)在下文中可以被称为“主机2”等。主机设备108(1)-108(3)例如可以是被配置为在网络100内互相通信的物理网络设备或虚拟网络设备。为了简单起见,主机设备108(1)-108(3)在下文中被描述为虚拟设备或虚拟机,但应该理解的是本文描述的通信技术对物理主机设备也是适用的。
服务器104(1)-104(3)在硬件或软件组件上托管主机设备108(1)-108(3)中的相应的-个主机设备。例如,一些主机设备108(1)-108(n)可以被分配到不同VLAN中的不同子网。在一个示例中,如图1中所示,主机1(具有互联网协议(IP)地址1.1.1.2)由机架单元1中的服务器1托管并且被分配到VLAN 100中的子网1.1.1.1/24。主机2(具有IP地址2.2.2.2)由机架单元2中的服务器2托管并且被分配到VLAN 200中的子网2.2.2.1/24。主机3和主机N由机架单元3中的服务器3托管并且被分配到VLAN 200。主机3(具有IP地址2.2.2.3)属于VLAN 200的子网2.2.2.1/23,并且主机N(具有IP地址2.2.2.N)属于VLAN 200中的子 网2.2.2.1/24。因此,主机2、主机3和主机N各自被分配到相同的VLAN200,而主机1被分配到不同的VLAN 100。
ToR交换机1、ToR交换机2和ToR交换机3可以是由开发系统互连(OSI)模型定义的第2层网络交换机设备。由于第2层交换机设备、ToR交换机1、ToR交换机2和ToR交换机3被配置为使用与互相通信的网络设备(例如,服务器104(1)-104(3)和/或主机设备108(1)-108(n))相关联的介质访问控制(MAC)/IP地址信息。交换机106(1)-106(n)可以利用与主机设备108(1)-108(n)相关联的地址信息来在网络100中最优地路由主机设备之间的通信。例如,交换机106(1)-106(n)被配置为具有分组转发处理逻辑110以更新相应的路由表并且在网络100中最优地指导通信。这些技术在本文被详细描述。
应该理解的是图1可以包括任意数量的机架单元、服务器、主机设备、ToR交换机和结构脊柱交换机。例如每个机架单元可以具有任意数量的被配置为托管任意数量的主机设备的服务器。为了简单起见,图1中所示出的拓扑结构连同本文描述的最优地路由技术被描述。
现在参照图2,图2示出了ToR交换机设备的示例框图。为了简单起见,图2中的ToR交换机设备以标号106被示出,但是应该理解的是ToR交换机设备106可以是网络100中的任意ToR交换机设备。ToR交换机设备106包括多个网络端口202、交换机专用集成电路(ASIC)单元204、处理器206和存储器208以及其它组件。端口202被配置为从网络100中的设备接收通信(例如,分组)并且将通信发送到网络100中的设备。例如,端口202可以被配置为将数据分组发送到服务器104(1)-104(3)和将数据分组发送到结构脊柱交换机107或从服务器104(1)-104(3)接收数据分组和从结构脊柱交换机107接收数据分组。端口被耦合到交换机ASIC 204。交换机ASIC 204使得被ToR交换机设备106接收的分组能够被转发到网络100中的适当设备。例如,当ToR交换机设备106在第一端口处接收分组时,交换机ASIC 204确定网络中的第二端口,分组应该在该第二端口上被转发。也就是说,如果分组在来自服务器1的第一端口处被接收,交换机ASIC 204可以确定将分组转发到第二端口,第二端口 服务结构脊柱交换机107。
交换机ASIC 204被耦合到处理器206。如文本所述,处理器206例如是被配置为执行用于执行ToR交换机设备106的各种操作和任务的程序逻辑指令(即,软件)的微处理器或微控制器。例如,处理器206被配置为执行分组转发处理逻辑210以访问和更新具有与网络100中的主机设备108(1)-108(n)的子网相关联的地址信息的路由表数据库212。处理器206的功能可以通过被编码在一个或多个有形的计算机可读存储介质或设备(例如,存储设备、光盘、数字视频光盘、闪速存储器驱动等以及诸如ASIC、数字信号处理器指令、由处理器执行的软件等之类的嵌入式逻辑)中的逻辑来实施。
存储器208可以包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质设备、光学存储介质设备、闪速存储器设备、电学的、光学的、或其它物理的/有形的(非暂态)存储器存储设备。存储器208存储用于分组转发处理逻辑210的软件指令。存储器208还存储路由表数据库(如上所述,存储与主机设备108(1)-108(n)的子网相关联的地址信息)和软件缓存214。因此,通常存储器208可以包括用包括计算机可执行指令的软件编码的一个或多个计算机可读存储介质(例如,存储器存储设备)并且当软件被执行(例如,被处理器206执行)时,软件能操作来执行针对分组转发处理逻辑210本文所描述的操作。
分组转发处理逻辑210可以采取诸如固定逻辑或可编程逻辑(例如,由处理器执行的计算机指令/软件)之类的多种形式中的任何形式,以便被编码在一个或多个有形的计算机可读存储介质或存储设备中用于执行。在一个示例中,分组转发处理逻辑210可以被存储在交换机ASIC 204的存储器组件中。处理器206可以是包括固定数字逻辑的ASIC、或它们的组合。
例如,存储器206可以通过固定或可编程的数字逻辑集成电路中的数字逻辑门来实现,数字逻辑门被配置为执行分组转发处理逻辑210。在一个示例中,处理器206还可以存储软件缓存214。通常,分组转发处理逻辑210可以被实现在用包括计算机可执行指令的软件编码的一个或多个计 算机可读存储介质中,并且当软件被执行时能操作来执行下文中描述的操作。
返回参照图1,通常,如上所解释的,网络100中的ToR交换机106(1)-106(3)可以学习与主机设备108(1)-108(n)相关联的地址信息。例如,由于主机设备108(1)-108(n)连接网络100,与主机设备相关联的信息根据已知的地址学习技术(例如,MAC地址学习或内部边界网关协议(iBGP))或任何相似的协议被分发到ToR交换机设备106(1)-106(3)。该信息可以包括与主机设备相关联的MAC/IP地址、被分配到主机设备的子网和被分配到主机设备的VLAN以及其它信息。
一旦接收到该信息(在下文中被称为“地址信息”),ToR交换机设备106(1)-106(3)就可以更新存储器组件以包括与主机设备108(1)-108(n)相关联的地址信息。例如,存储器组件可以是ToR交换机106(1)-106(3)的相应的路由表数据库212。换言之,由于ToR交换机106(1)-106(3)接收关于主机设备108(1)-108(n)的地址信息,ToR交换机106(1)-106(3)可以将该信息存储在它们相应的路由表数据库212中,并且因此路由表数据库212将存储将主机设备映射到与主机设备相关联的相应的地址信息的信息。
在一个示例中,ToR交换机106(1)-106(3)最初接收与主机设备108(1)-108(3)相关联的地址信息,并且将该信息存储在相应的临时软件缓存中。当ToR交换机尝试将地址信息存储在路由表数据库212中时,地址信息被说是从软件缓存被“泄露”到存储器组件(例如,路由表数据库212或转发信息库表)。因此,ToR交换机通过将来自ToR交换机的软件缓存的地址信息“写”到ToR交换机的路由表数据库来存储与主机设备108(1)-108(3)相关联的地址信息。
通过将地址信息存储在路由表数据库212中,ToR交换机106(1)-106(3)确保它们具有在网络100内转发分组的必要的路由信息。因此,ToR交换机106(1)-106(3)可以从任何主机设备接收分组,并且基于路由表数据库212中的地址信息,ToR交换机可以将分组转发到网络100中的任何其它主机设备(也被称为“任意到任意通信”或“任意到任意可 达性”)。ToR交换机执行该转发而针对分组在主机设备之间仍保留最优通信路径。例如,如果网络100中的所有ToR交换机将所有主机设备的地址信息存储在它们相应的路由表数据库212中,则ToR交换机将能够实现到适当的目的地ToR交换机(并且最终到目的地主机设备)的通信的最优一跳转发(例如,经由结构脊柱交换机107)。
然而,针对大数据中心,对ToR交换机来说将网络100中的每个主机设备的地址信息存储在路由表数据库中是不切实际的。网络100中的每个机架单元可以存储大量服务器,并且每个服务器可以托管更大量的主机设备。例如,机架单元可以存储数千服务器,并且每个服务器可以托管数千主机设备,因此在ToR交换机的路由表数据库中引起数百万的潜在条目。因此,在大数据中心环境中,如果ToR交换机存储每个主机设备的地址信息,则ToR交换机的处理能力可能被削弱,并且ToR交换机为了在网络100中最优地路由数据分组而搜索大量的路由表数据库条目会导致通信延迟或中断。
因此,对ToR交换机来说更实际的是将仅参加网络100中的活动数据流或活动数据通信的主机设备的地址信息存储在路由表数据库中,而仍维持网络100内的所有主机设备之间的任意到任意可达性。如上所解释的,当接收与网络中的主机设备相关联的地址信息时,ToR交换机最初将地址信息存储在软件缓存中,随后如果期望地址信息,ToR交换机则将地址信息写到路由表数据库212。本文提供的技术涉及仅针对活动数据通信中涉及的主机设备将来自软件缓存的地址信息写到ToR交换机设备的路由表数据库。
如上所述,当地址信息被存储在路由表数据库中时,主机设备间在网络100中被发送的分组通过网络100被最优地发送。例如,在图1中,假设主机1和主机3的地址信息被存储在所有ToR交换机的路由表数据库中,从主机1被发送的、目的地为主机3的分组将在网络中按如下所示进行最优游历(经由ToR交换机之间的一跳路径):
主机1->ToR交换机1->结构脊柱交换机->ToR交换机3->主机3。
换言之,通过将与主机1和主机3相关联的地址信息写到路由表数据 库212,ToR交换机可以通过使用最优一跳路径的网络来发送分组,这是由于主机1和主机3的地址信息被存储在路由表数据库212中(例如,包括与主机1和主机3相关联的VLAN信息和子网)。
然而,如果主机1和主机3的地址信息未被写到ToR交换机的路由表数据库212,ToR交换机可能不能最优地路由从主机1被发送的、目的地为主机3的分组。替代地,ToR交换机可以具有与主机1和主机3相关联的部分信息。例如,由于地址信息未被存储在ToR交换机的路由表数据库212中,ToR交换机可能仅知道主机1和主机3驻留的子网/VLAN。因此,主机1和主机3之间的初始的分组通信可以通过网络进行次优游历,如下所示:
主机1->ToR交换机1->结构脊柱交换机->ToR交换机2->结构脊柱交换机->ToR交换机3->主机3
换言之,最初的分组通信可以在分组条目被存储在软件缓存中之前的时间段使用子网条目信息进行次优游历(例如,经由两跳路径)。在分组条目被存储在软件组件中后,随后的分组通信可以在网络中最优游历。也就是说,在图1中的参照A处,分组从主机1最初被发送到ToR交换机1。当接收分组时,ToR交换机1确定分组目的地为VLAN 200中的主机设备。然而,由于与主机3相关联的地址信息未被存储在ToR交换机1的路由表数据库中,ToR交换机1将分组转发到服务VLAN 200中的主机设备的任意ToR交换机。也就是说,ToR交换机1知道分组目的地为VLAN200中的主机设备,但是由于它不具有被存储在它的路由表数据库中的主机3的地址信息,因此ToR交换机1将分组转发到驻留在VLAN 200中的任意ToR交换机。换句说说,ToR交换机1可能不能将分组转发到管理主机3的ToR交换机,但ToR交换机1将能够将分组转发到最终能够将分组转发到正确的ToR交换机的ToR交换机,以维持网络100中的任意到任意可达性。
因此,在图1中的B处,分组从ToR交换机1被发送到结构脊柱交换机107,并且随后在C处,分组从结构脊柱交换机107被发送到ToR交换机2。一旦接收分组,ToR交换机2就评估分组并且确定它不管理目的地 主机设备(主机3)。因此,ToR交换机2将分组转发到服务VLAN 200中的主机设备的另一ToR交换机,并且因此ToR交换机在D处将分组转发返回到结构脊柱交换机107以在E处被转发到ToR交换机3。一旦接收分组,ToR交换机3就确定它管理主机3,并且因此将分组转发到主机3。
现在参照图3,并继续参照图1。图3在标号300处示出了被存储在路由表数据库212中的地址信息条目的示例。在一个示例中,被直接连接到ToR交换机(例如,“本地”子网)的主机设备一加入网络,这些主机设备的地址信息就被写入ToR交换机的路由表数据库,以指示这些主机设备的邻近(adjacency)。本地子网可以被直接安装在ToR交换机的存储器组件(例如,硬件)中。
在另一示例中,每当ToR交换机接收具有不在它的路由表数据库中并且未被直接连到ToR交换机(例如,“远程”子网)的源地址或目的地地址的分组时,ToR交换机设备将地址信息置于它的软件缓存中并且将该信息写到路由表数据库212中。远程子网可以穿过子网跨度作为包含ToR组的ECMP条目被安装在存储器组件中。在一个示例中,iBGP或相似的协议将远程子网的子网前缀通知到网络中的ToR交换机。
因此,在图1中的示例中,如上所述,一旦从主机1接收分组,ToR交换机1就评估分组、并且在它的软件缓存中标识与主机1相关联的地址信息、并且将该地址信息存储或写到它的路由表数据库212。另外,ToR交换机1评估分组、并且在它的软件缓存中标识与主机3相关联的地址信息、并且将该地址信息写到它的路由表数据库212。同样地,一旦接收分组时,ToR交换机2和ToR交换机3就将与主机1和主机3相关联的地址信息写入路由表数据库212中。因此,ToR交换机将与网络100的常用数据流中涉及的主机设备相关联的地址信息存储在它们的路由表数据库中。
在上述示例中,从主机1到主机3的分组的初始传送通过网络100被次优(sub-optimally)发送,这是由于ToR交换机1、ToR交换机2和ToR交换机3在它们的相应的路由表数据库中不具有适当的地址信息。然而,在该信息被写到路由表数据库后,主机1和主机3之间随后的分组将 通过网络被最优发送。也就是说,在主机1和主机3的地址信息被存储在ToR交换机的路由表数据库中后,分组将在网络100进行最优游历,如下所示:
主机1->ToR交换机1->结构脊柱交换机->ToR交换机3->主机3。
因此,通过允许分组到达目的地主机设备(主机3),任意到任意可达性在网络100的主机设备之间被维持,虽然在初始分组传送期间是次优。随后的分组传送随后被最优(例如,经由一跳路由)发送,而仍维持任意到任意可达性。换言之,在网络中任意到任意可达性通常是可能的,并且通过利用本文描述的技术,ToR交换机能够针对网络中的主机设备之间的最优可达性,来开拓主机设备之间的活动会话的最优路径(如果存在最优路径的话)。这些技术通过避免网络中活动的主机到主机流的多跳避免了网络带宽的不必要的使用。应该理解的是本文的技术可以被应用到在互联网协议(IP)版本4(IPv4)协议下操作的主机设备以及可以被应用到在IP版本6(IPv6)协议下操作的主机设备。
现在参照图4,图4示出了描绘用于将地址信息存储在ToR交换机的存储器组件中并且在网络100中路由分组的操作的示例流程图400。在标号410处,ToR交换机接收关于与网络100中的所有主机设备相关联的一个或多个地址(例如地址信息)的信息。在操作415处,ToR交换机将地址存储在软件缓存中,并且在操作420处,ToR交换机接收起源于被分配到第一子网、被容宿在第一机架单元中的第一主机设备的分组,并且分组目的地为被分配到第二子网、被容宿在网络100中的第二机架单元中的第二主机设备。ToR交换机随后在操作425处将分组的副本存储在软件缓存中。在操作430处,ToR交换机评估软件缓存以确定第二主机设备的地址。在操作435处,ToR交换机随后将第二主机设备的地址写入存储器组件中。
应该理解的是上述连同所有实施例描述的技术可以由用包括执行本文描述的方法和步骤的计算机可执行指令的软件编码的一个或多个计算机可读存储介质来执行。例如,由一个或多个ToR交换机106(1)-106(3)执行的操作可以由一个或多个计算机或机器可读存储介质(非暂态)或设 备(被处理器执行并且包括执行本文描述的技术的软件、硬件或软件和硬件的组合)执行。
总之,提供了一种方法,包括:在网络中的第一机架单元的第一交换机设备处,接收关于与网络中的所有主机设备相关联的一个或多个地址的信息;在第一交换机设备处将地址存储在缓存中;接收起源于被分配到第一子网并且被容宿在第一机架单元中的第一主机设备的分组,该分组目的地为被分配到第二子网并且被容宿在网络中的第二机架单元中的第二主机设备;将分组的副本存储在缓存中;评估缓存以确定第二主机设备的地址;以及将与第二主机设备的地址有关的信息写入第一交换机设备的存储器组件中。
另外,提供了用包括计算机可执行指令的软件编码的一个或多个计算机可读存储介质,并且当软件被执行时能操作来执行以下处理:接收关于与网络中的所有主机设备相关联的一个或多个地址的信息;将地址存储在缓存中;接收起源于被分配到第一子网并且被容宿在第一机架单元中的第一主机设备的分组,该分组目的地为被分配到第二子网并且被容宿在网络中的第二机架单元中的第二主机设备;将分组的副本存储在缓存中;评估缓存以确定第二主机设备的地址;以及将与第二主机设备的地址有关的信息写入存储器组件中。
另外,提供了一种装置,包括:端口单元;交换机单元,该交换机单元被耦合到端口单元;存储器单元;以及处理器,该处理器被耦合到交换机单元和存储器单元并且被配置为:接收关于与网络中的所有主机设备相关联的一个或多个地址的信息;将地址存储在缓存中;接收起源于被分配到第一子网并且被容宿在第一机架单元中的第一主机设备的分组,该分组目的地为被分配到第二子网并且被容宿在网络中的第二机架单元中的第二主机设备;将分组的副本存储在缓存中;评估缓存以确定第二主机设备的地址;以及将与第二主机设备的地址有关的信息写入存储器组件中。
上述描述仅旨在作为示例。在不脱离本文描述的概念的范围的情况下,并且在权利要求的等同的范围内,可以做出各种修改和结构改变。

Claims (14)

1.一种用于确保任意到任意可达性的方法,包括:
在网络中的第一机架单元的第一交换机设备处,接收关于与所述网络中的所有主机设备相关联的一个或多个地址的信息;
将所述地址存储在所述第一交换机设备处的缓存中;
在存储器组件的一个或多个部分中存储针对所述网络中的活动通信的地址解析信息;所述缓存是与存储所述地址解析信息的所述存储器组件的一个或多个部分分离的暂态存储设备;接收起源于被分配到第一子网并且被容宿在所述第一机架单元中的第一主机设备的分组,所述分组目的地为被分配到第二子网并且被容宿在所述网络中的第二机架单元中的第二主机设备;
确定所述第二主机设备没有参与任何活动通信并且所述地址解析信息不包含与所述第二主机设备相关联的地址;
基于所述地址解析信息来标识第三机架中与所述第二子网相关联的第二交换机设备;
将所述分组转发到所述第二交换机设备;
确定所述第二主机设备变为参与了活动通信;
将所述分组的副本存储在所述缓存中;
评估所述缓存以确定所述第二主机设备的所述地址;以及
将与所述第二主机设备的所述地址有关的所述信息写入所述第一交换机设备的所述存储器组件的一个或多个部分中用于未来的地址解析;
接收起源于所述第一主机设备的后续分组,所述后续分组目的地为所述第二主机设备;以及
通过利用被写到所述第一交换机设备的所述存储器组件的、关于与所述第二主机设备相关联的所述地址的所述信息,来将所述分组转发到所述第二机架单元中的第二交换机设备。
2.如权利要求1所述的方法,其中转发包括:以使得所述分组经由一跳路线穿过所述网络的方式转发所述分组。
3.如权利要求1所述的方法,其中转发包括:经由最初的次优路线和后续最优路线转发所述分组以确保所述网络中的任意到任意通信。
4.如权利要求1所述的方法,还包括:将关于与被直接连接到所述第一交换机设备的主机设备相关联的地址的信息写到所述第一交换机设备的所述存储器组件。
5.如权利要求4所述的方法,其中写与被直接连接到所述第一交换机设备的主机设备相关联的地址包括:将条目写入所述存储器组件以指示被直接连接到所述第一交换机设备的所述主机设备的邻近。
6.如权利要求1所述的方法,还包括:将与未被直接连接到所述第一交换机设备的主机设备相关联的子网前缀信息写到所述第一交换机设备的所述存储器组件。
7.如权利要求6所述的方法,还包括:
从所述第一交换机设备的所述存储器组件中的所述子网前缀信息检索所述第二主机设备的所述第二子网;以及
将所述分组发送到管理所述第二子网中的主机设备的交换机设备。
8.如权利要求1所述的方法,其中写关于所述第二主机设备的所述地址的所述信息包括:将关于所述第二主机设备的所述地址的所述信息写成所述第一交换机设备的所述存储器组件中的路由表数据库中的条目。
9.一种用于确保任意到任意可达性的装置,包括:
多个网络端口;
交换机单元,所述交换机单元被耦合到所述多个网络端口;
存储器;以及
处理器,所述处理器被耦合到所述交换机单元和所述存储器并且被配置为:
接收关于与网络中的所有主机设备相关联的一个或多个地址的信息;
将所述地址存储在缓存中;
在存储器组件的一个或多个部分中存储针对所述网络中的活动通信的地址解析信息;所述缓存是与存储所述地址解析信息的所述存储器组件的一个或多个部分分离的暂态存储设备;
接收起源于被分配到第一子网并且被容宿在第一机架单元中的第一主机设备的分组,所述分组目的地为被分配到第二子网并且被容宿在所述网络中的第二机架单元中的第二主机设备;
确定所述第二主机设备没有参与任何活动通信并且所述地址解析信息不包好与所述第二主机设备相关联的地址;
基于所述地址解析信息来标识第三机架中与所述第二子网相关联的第二交换机设备;
将所述分组转发到所述第二交换机设备;
确定所述第二主机设备变为参与了活动通信;
将所述分组的副本存储在所述缓存中;
评估所述缓存以确定所述第二主机设备的所述地址;
将与所述第二主机设备的所述地址有关的所述信息写入所述存储器组件的一个或多个部分中用于未来的地址解析;
接收起源于所述第一主机设备的后续分组,所述后续分组目的地为所述第二主机设备;以及
通过利用被写到所述存储器组件的、关于与所述第二主机设备相关联的所述地址的所述信息,来将所述分组转发到所述第二机架单元中的交换机设备。
10.如权利要求9所述的装置,其中所述处理器还被配置为:以使得所述分组经由一跳路线穿过所述网络的方式转发所述分组。
11.如权利要求9所述的装置,其中所述处理器还被配置为:经由最初的次优路线和后续最优路线转发所述分组以确保所述网络中的任意到任意通信。
12.如权利要求9所述的装置,其中所述处理器还被配置为:将与主机设备相关联的子网前缀信息写到所述存储器组件。
13.如权利要求12所述的装置,其中所述处理器还被配置为:
从所述存储器组件中的所述子网前缀信息检索所述第二主机设备的所述第二子网;以及
将所述分组发送到管理所述第二子网中的主机设备的交换机设备。
14.如权利要求12所述的装置,其中所述处理器还被配置为:将关于所述第二主机设备的所述地址的所述信息写成所述存储器组件中的路由表数据库中的条目。
CN201380052852.9A 2012-10-10 2013-09-30 在大规模数据中心环境中用机会第3层转发确保任意到任意可达性的方法及装置 Expired - Fee Related CN104737507B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/648,394 2012-10-10
US13/648,394 US9537793B2 (en) 2012-10-10 2012-10-10 Ensuring any-to-any reachability with opportunistic layer 3 forwarding in massive scale data center environments
PCT/US2013/062526 WO2014058635A1 (en) 2012-10-10 2013-09-30 Ensuring any-to-any reachability with opportunistic layer 3 forwarding in massive scale data center environments

Publications (2)

Publication Number Publication Date
CN104737507A CN104737507A (zh) 2015-06-24
CN104737507B true CN104737507B (zh) 2018-03-06

Family

ID=49385377

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380052852.9A Expired - Fee Related CN104737507B (zh) 2012-10-10 2013-09-30 在大规模数据中心环境中用机会第3层转发确保任意到任意可达性的方法及装置

Country Status (4)

Country Link
US (1) US9537793B2 (zh)
EP (1) EP2907279B1 (zh)
CN (1) CN104737507B (zh)
WO (1) WO2014058635A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9426060B2 (en) 2013-08-07 2016-08-23 International Business Machines Corporation Software defined network (SDN) switch clusters having layer-3 distributed router functionality
US9430437B1 (en) * 2013-08-09 2016-08-30 Inphi Corporation PCIE lane aggregation over a high speed link
US20150098475A1 (en) * 2013-10-09 2015-04-09 International Business Machines Corporation Host table management in software defined network (sdn) switch clusters having layer-3 distributed router functionality
US10091105B2 (en) * 2013-10-25 2018-10-02 Yaoqing Liu Efficient forwarding information base caching system and method
US9444890B2 (en) * 2013-12-12 2016-09-13 International Business Machines Corporation Switch-based data tiering
US9485115B2 (en) 2014-04-23 2016-11-01 Cisco Technology, Inc. System and method for enabling conversational learning in a network environment
CN104579834B (zh) * 2014-12-31 2018-01-05 武汉中元华电科技股份有限公司 一种电力系统中构造转发路径的方法
WO2017077094A1 (en) * 2015-11-05 2017-05-11 Rockley Photonics Limited Multi-dimensional optoelectronic switch
WO2017101114A1 (zh) * 2015-12-18 2017-06-22 华为技术有限公司 一种数据中心网络组网的方法以及数据中心网络
CN106899503B (zh) * 2015-12-18 2019-08-16 华为技术有限公司 一种数据中心网络的路由选择方法及网络管理器
US10230810B1 (en) 2016-03-18 2019-03-12 Barefoot Networks, Inc. Storing packet data in mirror buffer
US10949199B1 (en) 2017-09-14 2021-03-16 Barefoot Networks, Inc. Copying packet data to mirror buffer
EP3684055A1 (en) 2017-09-15 2020-07-22 Sony Corporation Image processing device and method
US10477288B2 (en) * 2018-02-05 2019-11-12 David I-Keong Wong Data center interconnect as a switch
US10742513B2 (en) * 2018-02-05 2020-08-11 David I-Keong Wong Network interconnect as a switch
US10608939B1 (en) 2018-02-13 2020-03-31 Barefoot Networks, Inc. Identifying congestion in a network
US11258752B2 (en) * 2020-04-13 2022-02-22 Texas Instruments Incorporated Address resolution information acquisition (ARIA) for a computing device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101019381A (zh) * 2004-11-02 2007-08-15 思科技术公司 在访问广域网期间维持为指定站点中的IPv6节点分配的唯一本地地址的机密性
CN102119512A (zh) * 2008-08-11 2011-07-06 微软公司 分布式负载平衡器
CN102195865A (zh) * 2010-03-09 2011-09-21 丛林网络公司 多宿网络中的通信网络路径和状态信息
CN102694720A (zh) * 2011-03-24 2012-09-26 日电(中国)有限公司 编址方法、编址装置、架构管理器、交换机和数据路由方法

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991299A (en) 1997-09-11 1999-11-23 3Com Corporation High speed header translation processing
US6542967B1 (en) * 1999-04-12 2003-04-01 Novell, Inc. Cache object store
US6678274B1 (en) * 1999-07-30 2004-01-13 Riverstone Networks, Inc. Method and system for managing forwarding tables
JP2001345863A (ja) * 2000-06-06 2001-12-14 Fujitsu Ltd Ip処理装置
US7114003B2 (en) * 2000-10-18 2006-09-26 Nortel Networks Limited Content networks
US7035255B2 (en) * 2000-11-14 2006-04-25 Broadcom Corporation Linked network switch configuration
KR20020055287A (ko) 2000-12-28 2002-07-08 구자홍 라우터 장치의 패킷 라우팅 방법
US20020152328A1 (en) * 2001-04-11 2002-10-17 Mellanox Technologies, Ltd. Network adapter with shared database for message context information
JP4097914B2 (ja) * 2001-06-11 2008-06-11 富士通株式会社 移動端末対応ルータ
US6606322B2 (en) 2001-08-17 2003-08-12 Mcdata Corporation Route lookup caching for a fiber channel switch
AU2002317425A1 (en) * 2002-07-16 2004-02-02 Nokia Corporation Optimized routing between communication networks
US7899879B2 (en) * 2002-09-06 2011-03-01 Oracle International Corporation Method and apparatus for a report cache in a near real-time business intelligence system
US7512136B2 (en) * 2002-11-15 2009-03-31 The Directv Group, Inc. Apparatus and method for preserving routable IP addresses using ARP proxy
US20040170181A1 (en) * 2003-02-27 2004-09-02 Padcom, Inc. Prioritized alternate port routing
US7369561B2 (en) * 2003-07-17 2008-05-06 Samsung Electronics Co., Ltd. Apparatus and method for route summarization and distribution in a massively parallel router
US7487255B2 (en) 2003-08-14 2009-02-03 Hewlett-Packard Development Company, L.P. Routing cache management with route fragmentation
US7467228B2 (en) * 2003-08-25 2008-12-16 Hewlett-Packard Development Company, L.P. Diversified host based route selection metric
US7620732B2 (en) * 2003-11-18 2009-11-17 Kabushiki Kaisha Toshiba Apparatus for and method of setting communication path
US8073968B1 (en) * 2004-11-03 2011-12-06 Cisco Technology, Inc. Method and apparatus for automatically optimizing routing operations at the edge of a network
JP2008537612A (ja) * 2005-01-06 2008-09-18 テーベラ・インコーポレーテッド インテリジェント・メッセージング・アプリケーション・プログラミング・インタフェース
US7835301B1 (en) * 2005-04-15 2010-11-16 Nvidia Corporation Extended service set mesh topology representation
US20060268834A1 (en) * 2005-05-26 2006-11-30 Symbol Technologies, Inc. Method, system and wireless router apparatus supporting multiple subnets for layer 3 roaming in wireless local area networks (WLANs)
US8265076B2 (en) 2006-01-20 2012-09-11 Cisco Technology, Inc. Centralized wireless QoS architecture
US8825806B2 (en) * 2006-07-26 2014-09-02 International Business Machines Corporation Selection and configuration of storage-area network storage device and computing device
US8208463B2 (en) 2006-10-24 2012-06-26 Cisco Technology, Inc. Subnet scoped multicast / broadcast packet distribution mechanism over a routed network
EP2073118A1 (en) * 2007-12-17 2009-06-24 Nokia Siemens Networks Oy Load distribution in distributed database system
US8996683B2 (en) * 2008-06-09 2015-03-31 Microsoft Technology Licensing, Llc Data center without structural bottlenecks
US8160063B2 (en) * 2008-06-09 2012-04-17 Microsoft Corporation Data center interconnect and traffic engineering
GB2461955A (en) * 2008-07-25 2010-01-27 Gnodal Ltd Ethernet bridge or router employing a distributed MAC address table
US8848575B2 (en) * 2009-02-23 2014-09-30 Brocade Communications Systems, Inc. High availability and multipathing for fibre channel over ethernet
US20110103391A1 (en) * 2009-10-30 2011-05-05 Smooth-Stone, Inc. C/O Barry Evans System and method for high-performance, low-power data center interconnect fabric
US8504718B2 (en) * 2010-04-28 2013-08-06 Futurewei Technologies, Inc. System and method for a context layer switch
US9065773B2 (en) * 2010-06-22 2015-06-23 Juniper Networks, Inc. Methods and apparatus for virtual channel flow control associated with a switch fabric
US8483046B2 (en) * 2010-09-29 2013-07-09 International Business Machines Corporation Virtual switch interconnect for hybrid enterprise servers
US10033585B2 (en) * 2010-12-15 2018-07-24 Juniper Networks, Inc. Methods and apparatus related to a switch fabric system having a multi-hop distributed control plane and a single-hop data plane
US9001827B2 (en) * 2010-12-17 2015-04-07 Big Switch Networks, Inc. Methods for configuring network switches
US8665723B2 (en) * 2011-08-30 2014-03-04 International Business Machines Corporation Managing data on Infiniband (IB) networks
US9015852B2 (en) * 2012-04-30 2015-04-21 Cisco Technology, Inc. Protecting address resolution protocol neighbor discovery cache against denial of service attacks
WO2014052485A1 (en) * 2012-09-26 2014-04-03 Huawei Technologies Co. Ltd. Overlay virtual gateway for overlay networks
US8943490B1 (en) * 2012-09-28 2015-01-27 Juniper Networks, Inc. Intelligent non-stop software upgrade

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101019381A (zh) * 2004-11-02 2007-08-15 思科技术公司 在访问广域网期间维持为指定站点中的IPv6节点分配的唯一本地地址的机密性
CN102119512A (zh) * 2008-08-11 2011-07-06 微软公司 分布式负载平衡器
CN102195865A (zh) * 2010-03-09 2011-09-21 丛林网络公司 多宿网络中的通信网络路径和状态信息
CN102694720A (zh) * 2011-03-24 2012-09-26 日电(中国)有限公司 编址方法、编址装置、架构管理器、交换机和数据路由方法

Also Published As

Publication number Publication date
WO2014058635A1 (en) 2014-04-17
EP2907279B1 (en) 2017-04-19
US9537793B2 (en) 2017-01-03
CN104737507A (zh) 2015-06-24
US20140098823A1 (en) 2014-04-10
EP2907279A1 (en) 2015-08-19

Similar Documents

Publication Publication Date Title
CN104737507B (zh) 在大规模数据中心环境中用机会第3层转发确保任意到任意可达性的方法及装置
US11240066B2 (en) System and method for distributed flow state P2P setup in virtual networks
CN105453523B (zh) 用于确保流量的无缝流动的方法和装置
CN105706400B (zh) 在网络上转发分组的方法和装置
EP2802995B1 (en) Connecting layer-2 domains over layer-3 networks
Yu et al. BUFFALO: Bloom filter forwarding architecture for large organizations
CN104412551B (zh) 具有虚拟机移动性的分组转发最优化
US8296459B1 (en) Custom routing decisions
ES2713078T3 (es) Sistema y método para implementar y gestionar redes virtuales
US9560016B2 (en) Supporting IP address overlapping among different virtual networks
US20110261723A1 (en) Network system, controller, method and program
CN109937401A (zh) 经由业务旁路进行的负载均衡虚拟机的实时迁移
KR20180073726A (ko) 논리적 라우터
CN106209638A (zh) 从虚拟局域网至虚拟可扩展局域网的报文转发方法和设备
US20190356632A1 (en) Method and system for network traffic steering towards a service device
Chen et al. A scalable multi-datacenter layer-2 network architecture
US10484281B1 (en) Router operating methods and apparatus using virtual VPN instances for hosts of remote extranet VPNs
CN111031056B (zh) 一种在安全组中实现安全域功能的方法
US10965596B2 (en) Hybrid services insertion
Shpiner et al. SAL: Scaling data centers using smart address learning
Bozakov et al. OpenVRoute: An open architecture for high-performance programmable virtual routers
EP4012976A1 (en) Layer-two tunnel switching method, system, and apparatus
CN106506378B (zh) Mac地址表的更新方法和装置
US20240080267A1 (en) Systems and methods for asymmetrical peer forwarding in an sd-wan environment
CN106254237B (zh) 增强型icmp重定向方法

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180306

Termination date: 20210930

CF01 Termination of patent right due to non-payment of annual fee