CN107624240B - 用于自动的基于策略的路由的网络元件的配置 - Google Patents
用于自动的基于策略的路由的网络元件的配置 Download PDFInfo
- Publication number
- CN107624240B CN107624240B CN201680027510.5A CN201680027510A CN107624240B CN 107624240 B CN107624240 B CN 107624240B CN 201680027510 A CN201680027510 A CN 201680027510A CN 107624240 B CN107624240 B CN 107624240B
- Authority
- CN
- China
- Prior art keywords
- network
- network element
- ports
- network node
- forwarding
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
在一个实施例中,接收来自耦合到网络元件的第一网络节点的转发策略。该转发策略指定耦合到网络元件的第二网络节点的地址。识别网络元件的多个端口,其中第二网络节点可通过多个端口中的每一个端口从网络元件访问。转发策略被应用于网络元件的多个端口。在多个端口中的端口处接收的来自第二网络节点的网络流量被转发到第一网络节点。
Description
相关申请
本申请根据35U.S.C.§119(e)要求2015年5月13日提交的序列号为62/161,004、名称为“DISTRIBUTED SERVICE POLICY ABSTRACTION LAYER(分布式服务策略抽象层)”的美国临时申请的权益。
技术领域
本公开总体上涉及通信领域,并且更具体地涉及用于自动的基于策略的路由的网络元件的配置。
背景技术
数据中心越来越多地被企业用于有效协作、数据存储和资源管理。典型的数据中心网络包含多个网络元件,包括服务器、负载均衡器、路由器、交换机等。连接网络元件的网络提供对数据中心服务的安全的用户访问,并且提供用于部署、互连和共享资源聚合的基础设施。提高数据中心的运营效率并且优化数据中心的资源利用率是数据中心管理人员面临的一些挑战。数据中心管理人员寻求持续支持各种应用和服务的弹性基础设施。正确规划的数据中心网络提供应用和数据完整性,并进一步优化应用可用性和性能。
附图说明
为了提供对本公开及其特征和优点的更完整的理解,参考以下结合附图的描述,其中相同的附图标记表示相同的部分,其中:
图1根据某些实施例示出了包括服务设备和网络元件的系统的框图,其中,该网络元件具有到一个或多个目的地服务器的多个路径。
图2根据某些实施例示出了包括服务设备和具有多个虚拟设备上下文的网络元件的系统的框图,其中,每个虚拟设备上下文均具有至一个或多个目的地服务器的至少一个路径。
图3示出了根据某些实施例的网络元件的框图。
图4示出根据某些实施例的在服务设备与一个或多个目的地服务器之间具有多个L3网络跳跃的系统的框图。
图5示出根据某些实施例的在服务设备与一个或多个目的地服务器之间具有多个L2和/或L3网络跳跃的系统的框图。
图6示出了根据某些实施例的用于配置用于自动基于策略路由(APBR)的一个或多个网络元件的示例方法。
图7示出了根据某些实施例的用于为网络配置通信服务器的示例方法。
具体实施方式
概述
在一个实施例中,接收来自耦合到网络元件的第一网络节点的转发策略。转发策略指定耦合到该网络元件的第二网络节点的地址。识别该网络元件的多个端口,其中可通过多个端口中的每一个端口从网络元件访问第二网络节点。转发策略被应用于网络元件的多个端口。在多个端口中的端口处接收的来自第二网络节点的网络流量被转发到第一网络节点。
示例实施例
图1根据某些实施例示出了包括服务设备(service appliance)104和网络元件108的系统100的框图,其中,网络元件108具有到一个或多个目的地服务器116的多个路径112。系统100还包括通过网络124耦合到网络元件108的多个客户端设备120。目的地服务器116可以是服务器群(farm)128的一部分或者是可操作用于响应来自客户端120的请求的其他设备组的一部分。目的地服务器116通过网络132a和132b被耦合到网络元件108。
网络服务通常被插入到诸如系统100的网络中。作为非限制性示例,网络服务可以包括负载均衡或应用递送服务。网络服务可以由一个或多个服务设备104执行,该服务设备104可以是集成到网络元件108(例如,交换机、路由器等)中的服务器刀片或线卡,或者可以是外部设备。网络服务的配设通常需要手动配置网络元件108和其他网络节点(例如,服务器)。
例如,当提供负载均衡或应用递送服务时,客户端设备120发送请求(例如,一个或多个分组),该请求由在一个或多个服务设备104上运行的服务应用拦截。例如,该请求的一个或多个分组可以具有客户端设备的源地址和服务设备的目的地地址(例如,可以与可由服务器群128的服务器116中的每一者提供的一个或多个服务相关联的虚拟互联网协议(IP)地址)。在接收到来自客户端的请求时,服务设备104的服务应用被配置为在一组服务器(例如,服务器群128)中选择服务器(例如,目的地服务器116)来完成该请求。服务应用然后可以将一个或多个分组的目的地地址更改为所选择的目的地服务器的地址,并将具有客户端设备的源地址和所选择的服务器的目的地地址的分组转发到所选择的服务器。
为了确保返回分组(例如,从所选择的服务器流向客户端设备的分组)经由服务应用被发送(以便客户端设备看起来源自服务设备104的地址),可以在服务设备104和目的地服务器116之间的各种网络节点(例如,网络元件108)上建立路由/重定向策略。在每个网络节点上手动配置策略以处理流量重定向(以便从目的地服务器到客户端的返回流量被发送到服务设备104)并且基于目的地服务器的可用性来手动更新配置策略的过程是冗长乏味、耗时且容易出错的。
在本公开的各种实施例中,本文公开了通过将转发策略注入到网络元件108中来将到服务设备104的返回流量重定向的配置自动化的方法和装置。各种实施例可以包括:建立服务设备与网络元件之间的通信信道;在网络元件处接收来自服务设备的转发策略,该转发策略请求网络元件将预定分组(例如,从一个或多个目的地服务器接收到的分组)转发到服务设备;识别网络元件的哪些端口被包括在去往一个或多个目的地服务器的路由中,在网络元件的所识别的端口上实现转发策略,并将转发策略发送到位于网络元件和一个或多个目的地服务器之间的其他网络元件。其他网络元件可以执行类似的过程来确保返回流量在被递送到客户端120之前被定向回服务设备104。
当接收到具有目的地服务器的源地址和客户端设备的目的地地址的返回分组时,网络元件108可以基于转发策略来确定是否将返回分组转发到服务设备104,并在肯定确定的情况下将返回分组发送到服务设备104(如果网络元件108与服务设备相邻,则它将把返回分组递送到服务设备)。在至少一些实施例中,网络元件108可以将到达网络元件的返回流量的“下一跳”IP地址设置为服务设备104的IP地址,而无需修改返回流量的分组。然后,网络元件108将返回流量转发到服务设备,该服务设备然后将返回流量定向到具有服务设备104的源地址和客户端设备120的目的地地址的客户端(例如,服务设备104可以将分组的源地址修改为服务设备的IP地址)。
客户端设备120可以是可操作来发送和接收网络流量(例如,数据分组)的任何合适的计算设备。在各种实施例中,作为非限制性示例,“计算设备”可以是或者包括:计算机、工作站、服务器、大型机、嵌入式计算机、嵌入式控制器、嵌入式传感器、个人数字助理、膝上型计算机、蜂窝电话、IP电话、智能手机、平板计算机、转换式平板计算机、计算设备、网络设备、接收机、可穿戴计算机、手持计算器、虚拟机、虚拟设备或任何其他用于处理和传输数据的电子设备、微电子设备或微机电设备。客户端设备可以包括适当的操作系统,例如,Microsoft Windows、Linux、Android、Mac OSX、Apple iOS、Unix或类似的操作系统。客户端设备120可以通过网络124与彼此以及与其他网络资源通信地耦合。
网络元件108可以是可操作以结合转发策略来处理和/或转发流量的任何设备或系统。例如,网络元件可以包括网络交换机、路由器、服务器(物理服务器或在物理硬件上虚拟地实现的服务器)、机器(物理机器或在物理硬件上虚拟地实现的机器)、端用户设备、接入点、电缆盒、网关、网桥、负载均衡器、防火墙,内联服务节点、代理、处理器、模块;可操作以在网络环境中交换、接收和传输信息的其他合适的设备、组件、元件、专有设备或对象;或者这些中的两者或更多者的组合。网络元件可以包括促进与处理和/或转发网络流量相关的操作的任何合适的硬件、软件、组件、模块、接口或对象。这可以包括允许有效交换数据或信息的适当的算法和通信协议。网络元件108可以作为汇聚节点(用于聚集来自多个访问域的流量)被部署在数据中心中、在核心网络内或采用其他合适的配置。
在一些实施例中,网络元件108包括在数据链路层(层2)处处理和路由数据的多端口网桥。在另一个示例中,网络元件108可以在其他各种层(例如,层3网络层、层4(具有网络地址转换和负载分配)、层7(基于应用特定事务的负载分配))处或者在多个层(例如,层2和层3)处处理和/或路由数据。在某些实施例中,交换机的功能可以被集成到诸如网关、路由器或服务器之类的其他网络元件中。在各种实施例中,网络元件108是受管理的交换机(例如,使用命令行界面(CLI)、web界面等来管理)。在一个特定实施例中,网络元件是N7K交换机。
网络元件108可以通过通信信道136(例如,通过端口信道)连接到服务设备104。如本文所使用的,“通信信道”包括用于从一个或多个发送方(例如,网络元件108)向一个或多个接收方(例如,服务设备104)传送信息信号(例如,数据分组、控制分组等)的物理传输介质(例如,有线)或逻辑连接(例如,无线电信道、网络连接)。本文使用的通信信道可以包括一个或多个通信链路,其可以是物理的(例如有线的)或逻辑的(例如数据链路、无线链路等)。通信信道的终止点可以包括诸如以太网端口、串行端口之类的接口。在系统100的实施例中,通信信道136可以是针对控制消息(即,包括控制分组的消息)和数据消息(即,包括数据分组的消息)二者而部署的单个信道。
在一些实施例中,服务设备104可以是具有被设计成提供一个或多个网络服务(包括负载均衡、防火墙、入侵防护、虚拟专用网络(VPN)、代理、或其他网络服务)的集成软件(例如,固件)的分立(并且通常是分离的)硬件设备或虚拟机。
在一些实施例中,服务设备104被分配以IP地址(在一些实施例中,该IP地址可以是虚拟IP地址)或客户端可以向其寻址网络流量的其他地址。客户端可以通过向服务设备104的地址发送请求来请求来自服务器群128(或其他服务器组)的服务。网络元件108基于流量的目的地地址(匹配服务设备的地址)将流量递送至服务设备104。在一些实施例中,服务设备104可操作来基于诸如如下项之类的任何合适的标准在多个服务器116间对从客户端120接收到的流量进行负载均衡:源IP地址、源媒体访问控制(MAC)地址、源端口、协议(例如,诸如IPv4或IPv6的一个或多个L3协议或诸如传输控制协议(TCP)或用户数据报协议(UDP)的一个或多个L4协议)、一个或多个QoS参数、一个或多个虚拟局域网(VLAN)标识符和/或与网络流量的一个或多个分组的报头或主体相关联(例如,由其指定)的其他合适的信息。
在从多个可用服务器中选择目的地服务器116之后,服务设备可以将网络流量发送到目的地服务器。例如,服务设备可以将分组的目的地地址修改为目的地服务器116的地址(例如,IP地址),然后通过网络元件108向目的地服务器发送分组。
在一些情况下,网络元件108可以被配置有智能服务卡管理器模块(ISCM),并且服务设备104可以被配置有对应的智能服务卡客户端模块(ISCC)。ISCM和ISCC可以形成基础设施的用于在网络元件108上配置服务设备104的部分,例如,作为网络元件108中的虚拟线卡。ISCM和ISCC可以包括任何合适的逻辑,包括硬件、软件或它们的组合。在一些实施例中,ISCM或ISCC可以包括由处理器执行的软件。
在一些情况下,ISCC和ISCM可以被配置为使得服务设备104作为虚拟线卡或某个其他虚拟网络节点/实体。术语“线卡”和“服务模块”在本文中可互换使用以指代与电信线路(例如,铜线或光纤)相接口并且提供到电信网络的其余部分的路径的模块化电子电路。服务设备在本文可以简称为“设备”或“模块”。因此,虚拟线卡与ISCM是可互换的(在某些情况下)。虚拟服务模块(或虚拟线卡)是提供(与服务模块)相同功能的(服务模块的)逻辑实例。服务模块可以执行各种功能,包括提供网络服务(例如,类似于服务设备)。服务模块和服务设备之间的一个区别在于服务模块实体地位于网络元件内,例如在适当的实体插槽上。虚拟服务模块可以类似地配置在网络元件中。
在示例中,(外部)服务设备104可以连接到网络元件108(例如,交换机),并且像网络元件内的服务模块那样工作,而不必占用网络元件中的实体插槽。这样的配置可以整合设备的配设并且使设备具有作为网络元件内的服务模块的益处。对这些服务设备进行配设和配置的任务主要由网络元件上提供的基础设施来执行,使得网络管理员可以方便地在网络中添加/删除服务设备。
根据本公开的实施例,设备用户可以享受使用了网络元件108的基础设施的服务模块的简单配置和操作的益处。例如,为网络配置设置服务设备104可能是不必要的。基本上所有这样的配置可以经由网络元件108而不是服务设备104来进行。服务设备104可以将任何网络(例如,L2/L3网络)特定控制面和数据面操作卸载(即,转移)到网络元件108。利用专用集成电路(ASIC)(潜在地嵌入在网络元件108中)的数据路径加速在各种实施例中也是可能的。网络元件108可以通过通信信道136将控制消息传输到服务设备104。因此,可以经由网络元件108来实现对服务设备104内的服务的配置和配设。
服务设备104或网络元件108可以包括一个或多个计算机系统的一个或多个部分。在特定实施例中,这些计算机系统中的一个或多个可执行本文描述或示出的一个或多个方法的一个或多个步骤。在特定实施例中,一个或多个计算机系统可以提供本文描述或示出的功能。在一些实施例中,在一个或多个计算机系统上运行的编码软件可以执行本文描述或示出的一个或多个方法的一个或多个步骤和/或提供本文描述或示出的功能。一个或多个计算机系统的组件可以包括任何合适的物理形式、配置、数量、类型和/或布局。在适当的情况下,一个或多个计算机系统可以是单一的或分布式的,可以跨越多个位置,可以跨越多个机器,或者可以驻留在云中,云可以包括一个或多个网络中的一个或多个云组件。
服务设备104可以在属于被耦合到网络元件108的一个或多个服务器群128的服务器116之间进行负载均衡。服务器群128包括可操作来与客户端120通信的一个或多个服务器116。在一些实施例中,服务器群128内的各种服务器116可以各自可操作以向客户端120提供一个或多个服务。例如,服务器116可以是彼此冗余的,使得服务器群的服务器的至少一个子集中的任何服务器可以向客户端120提供(一个或多个)相同的服务。在一些实施例中,客户端120可以向服务器116发送请求,服务器116可以基于该请求执行处理,并且可以利用所请求的数据来响应客户端。在特定实施例中,服务器群128中的个别服务器可经由一个或多个网络元件(例如,交换机)与同一服务器群128中的其他服务器通信。在各种实现方式中,服务器群128中的服务器可以经由一个或多个网络元件108与另一个服务器群中的服务器进行通信。
虽然本文中的各种附图示出了服务器群128,但是应该认识到,可以使用其他服务器组。如本文所使用的,服务器可以指被配置为经由一个或多个网络与客户端120传送网络流量的任何设备。因此,术语“服务器”可以包括计算机、虚拟机、网络设备、应用服务器、路由器、交换机、网关、网桥、负载均衡器、防火墙、处理器、模块或可操作以在网络环境中交换信息的任何其他合适的设备、组件、专有元件或对象。此外,服务器116可以包括促进其操作的任何合适的硬件、软件、组件、模块、接口或对象。这可能包括允许有效交换数据或信息的适当的算法和通信协议。在一个示例中,服务器群128可以由连接小型办公室中的台式计算机的LAN替换。在另一示例中,服务器群128可以用无线通信设备的网络来替换。在又一示例中,服务器群128可以由一个或多个超级计算机替换。在本公开的宽泛框架内构想了各种其他配置和设备。
本文描述的网络(例如,网络124、132a和132b)可以是以一个或多个合适的网络协议进行操作的任何合适的网络或一个或多个网络的组合。网络可以表示用于接收和发送通过通信系统传播的信息分组的一系列点、节点或网络元件以及互连的通信路径。例如,网络可以包括一个或多个防火墙、路由器、交换机、安全设备、防病毒服务器或其他有用的网络设备。网络提供源和/或主机之间的通信接口,并且可以包括任何局域网(LAN)、无线局域网(WLAN)、城域网(MAN)、内联网、外联网、互联网、广域网(WAN)、虚拟专用网络(VPN)、蜂窝网络或取决于网络拓扑结构而促进网络环境中的通信的任何其他适合的架构或系统。网络可以包括通过通信介质彼此耦合(并且彼此通信)的任何数量的硬件或软件元件。作为一个示例,网络可以在包括从耦合到网络的源节点到目的地节点的路径中的一个或多个网络元件108。在一些实施例中,网络可以简单地包括诸如电缆(例如,以太网电缆)、空气或其他传输介质之类的连接。
网络元件108可以经由任何数量的不同路径(例如,网络路径112a或网络路径112b)到达目的地服务器116。网络路径由网络段(segment)和网络节点组成,来自源的数据在其到达目的地的路途上经过这些网络段和网络节点。在所描绘的实施例中,网络路径112a可以包括网络元件108的第一端口,而网络路径112b包括网络元件108的第二端口。在各种实施例中,网络路径可以共享或不共享一个或多个段或网络节点。在各种实施例中,在网络元件108和目的地服务器116之间发送的分组可以离开网络元件108的同一端口,但仍然可以行进不同路径而到达目的地服务器116。在一些情况下,从客户端120a到目的地服务器116的分组可以从网络元件108的第一端口通过路径112a行进到目的地服务器116,而从目的地服务器116到客户端120a的分组可以在其到达客户端120a的路上经过路径112b到达网络元件108的第二端口。
在数据中心或其他配置中,如系统100所示,使网络元件108经由多个网络路径112(利用网络元件108的多个端口)耦合到一个或多个服务器群可能是常见的。这意味着可以在任何时间点使用一个或多个网络路径112来在服务器116和客户端120之间发送流量。在一些实施例中,交换机的每个端口具有相同的权重(即,流量具有相同的可能性在每个端口退出交换机),并且可能没有预定的方式来知道哪个端口将用于到达服务器116或哪个端口将用于来自服务器的返回流量。这种情况可以被称为等价多路径(ECMP)的情况。因此,当网络元件108确定其应实现转发策略以将从服务器116接收到的流量转发回服务设备104时,网络元件108可确定其端口中的哪一个端口可用于到达服务器116。在一些实施例中,ISCM向统一/单播路由信息库(URIB)注册以确定网络元件108可以通过其到达目的地服务器116的路由和下一跳端口。在各种实施例中,URIB是运行在网络元件108的控制面的软件模块,并且URIB可以经由一个或多个API与ISCM进行通信。URIB可以具有关于针对网络元件的每个端口建立了哪些IP路由的信息。ISCM可以传输目的地服务器的IP地址,并且URIB将返回一个或多个下一跳IP地址和/或可以通过其到达下一跳IP地址的一个或多个端口。如果URIB一次只返回一个下一跳端口,则在ECMP情况下可以多次调用适当的API来获取所有下一跳端口。随后,转发策略将被应用于每个所标识的端口。网络元件108可以存储转发策略已经被应用于哪些端口的指示,使得如果服务器116之后通过一个或多个端口变得不可达,则可以从服务器116从其不可达的每个端口中移除转发策略。
图2根据某些实施例示出了包括服务设备104和具有多个虚拟设备上下文(VDC)140的网络元件108a的系统200的框图,每个虚拟设备上下文(VDC)140均具有至一个或多个目的地服务器116的至少一个路径。网络元件108a可以具有本文关于网络元件108描述的任何特征,反之亦然。
VDC 140a和140b允许网络元件108在设备级被虚拟化,从而将物理网络元件呈现为多个逻辑设备。每个经配置的VDC 140将其自身呈现为对物理网络元件的框架内所连接的用户唯一的设备。VDC 140可以作为网络元件内的单独的逻辑实体运行,从而维护其自己的唯一的运行软件进程组,具有其自己的配置,并且在某些情况下由单独的管理员进行管理。VDC 140可以包含它自己的唯一且独立的一组VLAN和虚拟路由转发实例(VRF)。VRF可用于虚拟化层3转发和路由表。
每个VDC 140可以具有被分配给它的物理端口,因此也允许硬件数据面被虚拟化。在至少一些实施例中,网络元件108的物理交换机端口是不能在VDC 140之间共享的资源。在每个VDC 140内,单独的管理域可以管理VDC 140本身,从而允许管理面本身也被虚拟化。
在一些实施例中,能够配置有VDC的网络元件具有默认设置,在该默认设置中,网络元件上的所有物理端口被分配给默认VDC 140(例如,VDC 140a)。当新的VDC 140b被创建时,可能需要管理员将一组物理端口从默认VDC 140a分配给新创建的VDC 140b,从而为新的VDC 140b提供用于与网络上的其他设备进行通信的手段。在至少一些实施例中,一旦物理端口被分配给特定的VDC 140,其就被专门绑定到该VDC 140,并且其他的VDC 140不能访问该端口。在特定实施例中,VDC间的通信不是从网络元件108内部促进的,而是必须在不同的VDC 140的端口之间进行离散的外部连接以允许它们之间的通信。
在各种配置中,客户端设备120可以通过网络元件108的多个VDC 140中的任何一个与服务器116进行通信。例如,客户端设备120a可以使用VDC 140a经由网络路径144a向服务器发送请求,但是使用VDC 140b通过网络路径144b从服务器116接收响应。例如,可以使用与VDC 140a相关联的第一VLAN从客户端向服务器发送流量,而可以使用与VDC 140b相关联的第二VLAN从服务器向客户端发送返回流量。
每个VDC 140可以与其自身的ISCM实例相关联。但是,每个ISCM实例对其特定的VDC是本地的,并且不管理其他VDC或其物理端口的操作。在各种实施例中,网络元件108可以包括可由网络元件108的每个VDC(例如,经由其ISCM)访问的全局数据库或提供对该全局数据库的访问。一个ISCM可以创建转发策略,将策略存储在共享数据库中,并且通知网络元件的其他ISCM策略已被添加到共享数据库。网络元件108上的每个其他ISCM然后可以从共享数据库访问新策略,并确定VDC是否能够到达服务器116和服务设备104。如果是,则将转发策略应用于VDC的能够到达服务器116的所有物理端口。当需要删除策略时,查询全局共享数据库以确定应用策略的所有VDC,并相应地发出删除请求。
图3示出了根据某些实施例的网络元件108a的框图。网络元件108a被配置为包括两个VDC:140a和140b,但是网络元件108可以被配置有任何适当数量的VDC,包括零个VDC(在这种情况下,在VDC 140内示出的组件可以与整个网络元件108而不是网络元件的VDC140相关联)。网络元件108a还包括处理器148和存储设备152。
在所描绘的实施例中,网络元件108a包括计算机系统以促进其操作的执行。在特定实施例中,计算机系统可以包括处理器、存储设备以及一个或多个通信接口等其他组件。作为示例,网络元件108a包括计算机系统,该计算机系统包括通过VDC 140a和140b虚拟化的一个或多个处理器148、存储设备152以及一个或多个通信接口156。这些组件可以一起工作以提供本文描述的功能。
通信接口156可以用于在网络元件108和一个或多个网络(例如,124、132a或132b)和/或耦合到网络或其他通信信道的网络节点(例如,服务器116、服务设备104)之间的信令和/或数据的通信。例如,通信接口156可以用于发送和接收诸如数据分组的网络流量。每个通信接口156可以根据诸如异步传输模式(ATM)、帧中继或千兆位以太网(或其他IEEE802.3标准)之类的任何合适的标准发送和接收数据和/或信号。在特定实施例中,通信接口156包括可以各自用作入口和/或出口端口的一个或多个物理端口160。作为一个示例,通信接口156可以包括多个以太网端口。
处理器148可以是微处理器、控制器或任何其他合适的计算设备、资源、或硬件、所存储的软件和/或经编码的逻辑的组合,其可操作以单独或与网络元件108的其他组件一起提供网络元件功能。在一些实施例中,网络元件108可以利用多个处理器来执行本文描述的功能。
处理器可以执行任何类型的指令以实现本说明书中的详细操作。在一个示例中,处理器可以将要素或物品(例如,数据)从一个状态或事物转换为另一个状态或事物。在另一个示例中,本文概述的活动可以用固定逻辑或可编程逻辑(例如,由处理器执行的软件/计算机指令)来实现,并且本文所标识的元件可以是某种类型的可编程处理器、可编程数字逻辑(例如现场可编程门阵列(FPGA)、可擦除可编程只读存储器(EPROM)、电可擦除可编程ROM(EEPROM))或包括数字逻辑、软件、代码、电子指令或其任何适当组合的ASIC。
存储设备152可以包括任何形式的易失性或非易失性存储器,包括但不限于磁介质(例如,一个或多个磁带驱动器)、光介质、随机存取存储器(RAM)、只读存储器(ROM)、闪存、可移动介质或任何其他合适的一个或多个本地或远程存储器组件或组件。存储设备152可以存储由网络元件108使用的任何合适的数据或信息,包括嵌入在计算机可读介质中的软件和/或包含在硬件中或以其他方式存储(例如,固件)的经编码的逻辑。存储设备152还可以存储由处理器148执行的各种计算和确定的结果和/或中间结果。作为示例,当由处理器运行时执行ISCM 164的功能的软件可以被存储在存储设备152中。在所描绘的实施例中,存储设备152还包括全局转发策略数据库168,如前所述,全局转发策略数据库168可由各个VDC 140的所有ISCM 164访问。
在所描绘的实施例中,每个VDC 140包括其自己的ISCM 164的实例、具有一个或多个物理端口160的通信接口156以及转发逻辑172。ISCM可以能够将从服务设备104、(例如,相同或不同的网络元件108的)另一ISCM 164、或网络管理员接收的转发策略传输至网络元件108的其他部分(例如,转发逻辑172)。
根据各种实施例,ISCM 164还可以提供各种功能,诸如处理网络元件108或网络元件的VDC 140与一个或多个服务设备104之间的(即,调节、管理、处理等)消息。例如,与这种消息相关的功能可能涉及高可用性活动、定时器事件、分组交换流、美国信息交换标准代码(ASCII)生成、日志记录、事件处理、运行状况监视(health monitoring)、调试等。
在已经配置了端口(例如,设备端口和网络元件(例如,交换机)端口)之后,ISCM164和服务设备104的相应ISCC可以执行自动发现和引导程序(bootstrap)以建立适当的控制信道。在建立控制信道之后,服务设备104中的应用可以通过应用控制面向ISCC发送控制消息(例如,使用UDP套接字接口)。应用控制面通常包含用于执行工作流管理、自我管理和其他应用控制层处理的一个或多个软件组件。ISCC可以通过通信信道136将控制消息转发给网络元件108a的ISCM 164。在示例实施例中,ISCM 164和ISCC可以经由UDP分组进行通信;然而,通过本公开的教导可以适应各种其他协议和格式。ISCM 164可以使用处理器148和存储设备152来执行与网络元件108中的服务设备104相关联的功能。类似地,服务设备104可以配设有(或者可以访问)处理器和类似的存储设备,ISCC可以使用所述处理器和类似的存储设备在服务设备104中执行本文描述的功能。
转发逻辑172可以可操作以将由APBR请求指示的转发策略(例如,这样的策略:可以被自动分发给网络中的必要网络元件并由网络中的必要网络元件实现,而不需要在每个网络元件处进行手动配置)或用户指定的流量转发策略应用到经由通信接口156接收到的流量,并将通过策略处理的流量发送到通信接口156,用于转发出网络元件108的适当端口160。在所描绘的实施例中,转发逻辑172包括解析逻辑176、密钥构建逻辑180和端口选择逻辑184。在各种实施例中,转发逻辑172的任何合适部分可以包括可编程逻辑(例如,由处理器执行的软件/计算机指令)、固定逻辑、可编程数字逻辑(例如FPGA、EPROM、EEPROM或其他设备)、包括数字逻辑、软件、代码、电子指令的ASIC或任何其他合适的组合。在特定实施例中,转发逻辑172包括可操作以基于流量定制信息(例如,从网络管理员接收的APBR请求或流量转发策略)通过利用可由实体(例如,ISCM 164)重编程的逻辑(例如,诸如TCAM 188之类的一个或多个存储器)来执行定制的流量转发的ASIC或其他设备。在这样的实施例中,解析逻辑176、密钥构建逻辑180和端口选择逻辑184的功能由硬件通过这样的逻辑来执行(与可以通过由网络处理器执行的软件指令来执行这种功能的实现方式相反)。对逻辑的重新配置可以通过在诸如TCAM 188或其他存储器元件之类的转发逻辑172的存储器中存储不同的值来执行,而转发逻辑172的其余部分保持固定。在各种实施例中,存储在存储器中的值可以向转发逻辑172提供控制输入,但不是作为由处理器执行的指令集的一部分的典型指令。与利用网络处理器来处理传入网络流量的设备相比,通过在硬件中实现该逻辑,网络元件108可以以更高的速度(例如,线速率)来处理传入流量(例如,交换/桥接或路由流量)。在其他实施例中,各种转发逻辑元件的任何操作可以在软件中(例如,利用处理器148)执行。
解析逻辑176可以可操作以从网络元件108的端口160接收分组。解析逻辑176可以被配置为解析来自所接收的分组的信息。解析逻辑176可以被配置为解析任何合适的信息,例如,与分组相关联(例如包括在其中)的一个或多个协议(诸如L3或L4协议)、分组的源地址(例如IP地址、MAC地址、或其他地址)、分组的目的地地址(例如IP地址、MAC地址、或其他地址)、与分组相关联的一个或多个端口(例如,源或目的地L4端口)、VLAN标识符、QoS值或来自分组的报头或主体的其他合适的信息。在一些实施例中,要由解析逻辑176解析的信息基于被包括在由网络元件108或其VDC实现的各种转发策略(其可以包括与网络元件108的各个不同端口相关联的转发策略)中的信息。在一些实施例中,解析逻辑176被逐个端口地配置,使得来自每个端口的分组可以基于与该端口相关联的转发策略而被解析。
由解析逻辑176解析的信息被传送给密钥构建逻辑180。密钥构建逻辑根据解析逻辑176的输出来构造密钥。密钥可以包含从分组解析出的全部或部分信息。然后该密钥被传送给端口选择逻辑184。
在接收与数据分组相关联的密钥之前,转发逻辑172可以从ISCM 164接收转发策略,并将其自身配置为实施转发策略。例如,转发逻辑172可以将与特定端口160相关联的转发策略存储在诸如TCAM 188之类的内容可寻址存储器中。TCAM是通过存储器内容而不是地址来寻址的一种存储器,并且其提供非常快的搜索。TCAM是CAM中的一种,其中搜索可以包括仅需要要匹配的搜索标签的一部分的“不关心”值。
当在端口160上接收到分组时,由密钥构建逻辑180生成的密钥(以及与该分组相关联的任何其他合适的信息)可以被传送到端口选择逻辑184。端口选择逻辑184使用密钥以在TCAM 188中执行查找。端口选择逻辑184然后将基于与来自分组的密钥中的信息相匹配(并且在多个转发策略都与密钥相匹配的情况下具有最高优先级)的转发策略来通过网络元件108的适当端口160转发流量。
根据本文描述的各种实施例,转发策略可以指示传入分组应该被转发到服务设备104。例如,转发策略可以指示分组的下一跳IP地址应该是服务设备104的IP地址。与网络元件108(或适当的VDC 140)相关联的路由表可以被相应地修改,使得分组可以经由面向服务设备104的端口160从网络元件108路由到服务设备104的IP地址。在一些实施例中,路由表被存储在与转发策略(例如,TCAM 188)分开的存储器(例如,静态随机存取存储器)中。
在各种实施例中,ISCM 164接收转发策略(例如经由APBR请求),并在将这些策略传输给转发逻辑172之前将转发策略转换成适合转发逻辑172使用的格式。例如,如结合图6进行更详细的解释,转发策略可以用于生成一个或多个访问控制列表(ACL)和路由图。
图4根据某些实施例示出了在服务设备104与一个或多个目的地服务器116之间具有多个L3网络跳的系统400的框图。在所描绘的实施例中,系统400包括经由网络124耦合到客户端120并经由通信信道136耦合到服务设备104的网络元件108b。网络元件108b可以通过另一个网络元件108c耦合到服务器群128。网络元件108b和108c可以具有本文结合网络元件108和108a描述的任何合适的特性。每个网络元件108可以是从服务设备104到服务器群128的路径中的L3跳。
在这样的实施例中,用于将返回流量从服务器116发送到服务设备104的转发策略应当由每个L3跳(即,网络元件108)来实现以将返回流量重定向到可以通过其来到达该设备的端口。例如,在所描绘的实施例中,如果转发策略未被应用到网络元件108c,则从服务器116到客户端设备120的返回流量可被从网络元件108c路由到网络124中的网络节点,从而绕过网络元件108b和服务设备104。
当网络元件108(例如,108b)接收到转发策略时,诸如ping或traceroute的网络操作可以用于确定分组将从网络元件到服务器116的路由。例如,多个UDP、互联网控制消息协议回应请求、或TCP SYN分组可以被寻址到服务器116。分组的生存时间(TTL)值(也称为跳程限制)被用于确定正被穿过以到达目的地服务器的中间路由器。网络元件108b可以从这个路由确定可以通过其到达目的地服务器116的端口(即,可以通过其到达下一跳的端口)。转发策略将被应用于此端口。该策略将被输入到全局转发策略数据库168中,并且还将被发送到作为到目的地服务器116的路由中的下一跳(例如,网络元件108c)的网络元件。当下一跳处的网络元件108c接收到转发策略时,它将查找在其上可以到达目的地服务器116的端口,在该端口上应用策略(例如,通过将在该端口接收到的返回流量的下一跳设置为从其接收到转发策略的网络元件108的IP地址),并将策略存储在其自己的数据库168中。可以针对到目的地服务器116的路由中的每个网络元件108重复该过程。
到达每个网络元件108的返回流量将触发转发策略,并且将被重定向出服务设备104可以通过其到达的端口。对于网络元件108c,该端口将被耦合到网络元件108b。网络元件108b上的转发策略将使得该分组被重定向到服务设备104。
图5根据某些实施例示出了在服务设备104与一个或多个目的地服务器116之间具有多个L2节点和/或L3网络跳的系统500的框图。在所描绘的实施例中,客户端120和目的地服务器之间的任何特定网络元件108(或其VDC)可以用作路由器(例如,作为L3网络跳)和/或作为交换机(例如,作为L2节点)。
在这样的网络配置中,发现协议可以由网络元件108的ISCM实例运行,以促进在适当的网络元件108(或其VDC)上应用转发策略,从而将来自目的地服务器116的返回流量定向回到发送流量的服务设备104。发现协议可能会导致ISCM实例之一被选择来托管通信服务器。所有其他ISCM实例可以使用客户端/服务器模型与通信服务器(例如,主机ISCM)进行通信。因此,ISCM实例彼此之间不直接传输网络配置信息(例如,转发策略),而是将配置信息传输给通信服务器,通信服务器然后将配置信息传输给其他ISCM实例。
在各种实施例中,ISCM实例164可以使用任何合适的L2或L3多播协议来发现网络中的每个其他ISCM实例164。可以在任何合适的时间执行发现过程,例如,在启动时、在新的IMSC在线时、或者在主机IMSC离线时。ISCM实例的任何合适的参数可以与其他ISCM实例共享,以促进对主机ISCM实例的选择。在特定实施例中,每个ISCM可以多播对ISCM唯一的标识符。作为一个示例,每个ISCM实例可以多播ISCM标识符,该ISCM标识符包括对于运行该ISCM实例的网络元件108唯一的号码(例如,网络元件的机架序号),该号码与和ISCM实例相关联的VDC的标识符相连接(或者如果在运行ISCM的网络元件108上没有VDC实例正在运行,则为默认值)。
每个ISCM可以被配置为基于从其他ISCM实例接收的参数来确定是否应该托管通信服务器。类似地,每个ISCM可以基于所接收的参数来确定哪个ISCM正托管通信服务器。在一个示例中,具有最低值的ISCM标识符的ISCM被选择为主机,但是可以使用其他合适的方法来选择主机ISCM(例如,最高值的ISCM标识符等)。
充当主机的ISCM可以发出参数,其他ISCM(充当客户端)可以使用该参数来与主机ISCM所托管的通信服务器进行通信。任何合适的通信协议都可以用来在客户端ISCM和通信服务器之间进行通信。在特定实施例中,使用可扩展消息传送和呈现协议(XMPP),并且主机ISCM将通信服务器配置为XMPP服务器,并将与XMPP服务器相关联的参数发送给其他ISCM。在其他实施例中,可以使用L2多播机制或L3多播或广播机制来代替XMPP。在特定实施例中,与通信服务器相关联的参数可以在发现阶段由每个ISCM发出。也就是说,如果每个ISCM要托管通信服务器,则该ISCM可以发送其他ISCM所需要的参数。例如,由一个或多个ISCM发送的参数可以包括(除了上述的ISCM ID之外)与ISCM相关联的IP地址(即,运行ISCM的网络元件108或VDC的IP地址)、用于与其他网络元件通信的端口(例如,XMPP服务器端口)以及从通信服务器传输或与通信服务器进行通信所需的任何其他参数。在一些实施例中,在ISCM被发现之后,与ISCM相关联的IP地址被交换。
所有其他的ISCM可以通过主机ISCM连接到通信服务器。当ISCM从所连接的服务设备104的ISCC接收到转发策略时,该转发策略可以在托管该ISCM的网络元件108的适当端口上被编程(例如,经由本文关于图1和图2描述的方法)。ISCM也可以通过通信服务器将转发策略发送给其他ISCM。在一个示例中,通信服务器可以将转发策略广播给所有其他ISCM。在另一示例中,通信服务器可以基于指示策略不应该被一个或多个ISCM应用的信息来针对网络中的特定ISCM抑制转发策略(例如,通信服务器可能不将转发策略发送到网络元件的如下ISCM,该ISCM不传输与转发策略相关联的VLAN的流量)。
如果策略与特定参数(例如,VLAN参数、路由参数)匹配,则进行接收的ISCM可以将该策略应用于通过其可达目的地服务器的一个或多个端口。如果ISCM的参数与转发策略不匹配(例如,如果目的地服务器不能从与该ISCM相关联的网络元件可达或者如果策略与不由网络元件传送的VLAN相关联),则ISCM可将策略存储在存储器(例如,数据库168)中,而无需对网络元件108的任何端口进行编程。如果网络配置稍后改变使得参数匹配,则此时策略可被应用于网络元件108的适当端口。
通信服务器可以通过正使用的通信协议(例如,XMPP)与另一ISCM交换心跳消息(heart message)。如果确定通信服务器已经离线(例如,如果在预定时间段内没有接收到心跳消息),则基于在发现阶段期间共享的信息来选择新的主机ISCM,并且新的主机ISCM将配置通信服务器并与其他ISCM共享相关联的通信参数。
在一些实施例中,当新的网络元件在网络内上线时,该网络元件的(一个或多个)ISCM通过将必要的信息发送给网络中的其他ISCM来参与发现协议。如果新的ISCM具有使得其适合于托管通信服务器的参数,则它将相应地进行自我配置,并且其他ISCM将转换为与新的通信服务器进行通信。如果新的ISCM不适合托管通信服务器,则其他ISCM中的至少有一个ISCM将通信服务器的必要细节通知给新的ISCM,以便新的ISCM能够从通信服务器接收现有的转发策略。
虽然以上示例集中于ISCM之间的转发策略的通信,但是通信方案可以用于在ISCM之间传输任何合适的配置信息(例如,任何合适的网络策略)。
图6根据某些实施例示出了用于针对APBR来配置一个或多个网络元件108的示例方法600。在步骤604处,接收APBR请求。例如,可以从服务设备104接收APBR请求。APBR请求可以包括指示要在一个或多个网络元件处应用的一个或多个转发策略的信息。在一些实施例中,网络元件108的控制信道被用于使创建转发策略的任务自动化。服务设备104根据其配置知道服务器群128中的服务器116的IP地址,并且可以将该信息发送到APBR请求中的网络元件108。在一些实施例中,APBR请求可以指定目的地服务器的IP地址、端口和协议。
在步骤608处,确定APBR请求是否与网络元件(或其VDC)所应用的任何其他APBR请求相冲突。例如,如果APBR请求指定了与所应用的APBR请求相同的目的地服务器IP地址、端口和协议,则可以认为它与该APBR请求冲突。如果不存在冲突的APBR请求,则该方法转到步骤616。如果存在冲突的APBR请求,则在步骤612处确定接收到的APBR请求是否优先于所应用的APBR请求。可以使用任何合适的方法来确定哪个APBR请求应该优先。在一个示例中,在网络元件处从附接到该网络元件的服务设备接收的APBR请求优先于从另一个网络元件接收的APBR请求。如果接收到的APBR请求优先,则该方法移到步骤616,否则该方法将移到步骤624。
在步骤616处,确定目的地服务器116通过其可达的端口。在特定实施例中,网络元件108的每个VDC的ISCM可以确定其哪个端口可以到达目的地服务器116。
在步骤620处,基于APBR请求的转发策略被应用于在步骤616处识别的每个端口。在一些实施例中,这可涉及创建访问控制列表(ACL)和关联的路由图。ACL可以具有匹配标准,该匹配标准包括由服务器116用于发送分组的协议、服务器116的IP地址、以及服务器116的端口。ACL将允许与该标准匹配的所有流量(使得所述流量不被网络元件108阻止)。作为非限制性示例,ACL中的指定协议可以包括任何L4协议,例如TCP、UDP、或TCP和UDP二者。
路由图可以与ACL相关联,以便针对与ACL标准相匹配的流量设置下一跳IP。该关联关系可以被存储在任何合适的位置,诸如数据库168中。在最接近(例如,连接到)服务设备104的第一ISCM的情况下,下一跳IP地址被设置为服务设备104的IP地址。在位于第一ISCM和目的地服务器之间的网络路径中的第二ISCM的情况下,下一跳IP地址可以被设置为第二ISCM上游的ISCM的IP地址(例如,第一ISCM或第一ISCM与第二ISCM之间的另一ISCM的IP地址)。然后,路由图被应用到网络元件108的被标识为能够到达目的地服务器116的所有端口。因此,在单个APBR请求适用于至实际服务器的多个下一跳接口(即,端口)的情形中,路由图将被应用于每个下一跳接口。当下一跳接口已经具有针对其分配的路由图时,可以对现有路由图附加序列。
在步骤624处,APBR请求被转发到到达目的地服务器116的可能网络路径上的一个或多个其他网络元件108。这些网络元件可以执行与以上描述的步骤类似的步骤。
在步骤628处,从服务器116到客户端120的数据分组被网络元件108(APBR请求在该网络元件108处被实现)转发到服务设备104,服务设备104修改分组的源地址以匹配服务设备104的地址,然后通过网络元件108将分组发送回客户端120。
在步骤632处,基于APBR请求的转发策略被删除。在一些实施例中,各种事件可以触发转发策略的自动清除。例如,转发策略可以响应于服务器116变得不可用或者响应于与服务设备相关联的事件(诸如运行状况监视失败、服务设备重新启动、强制的CLI或用户触发的服务关闭或其他适合的事件)而被清除。在各种实施例中,如果发生这些事件之一,则可从端口移除路由图,并删除路由图和ACL。网络元件108还可以指示下游网络元件108删除它们与服务设备和/或服务器116相关联的转发策略。
图6中所示的一些步骤可以在适当的情况下被重复、组合、修改或删除,并且还可以包括额外的步骤。另外,在不脱离具体实施例的范围的情况下,可以以任何合适的顺序执行步骤。
图7根据某些实施例示出了用于为网络配置通信服务器的示例方法700。在步骤704处,在网络的ISCM实例之间多播ISCM实例标识符。在步骤708处,选择主机ISCM实例来托管通信服务器。在步骤712处,主机ISCM与其他ISCM实例共享通信服务器的配置参数。在替代实施例中,该信息可以在步骤704中与ISCM实例标识符一起被共享。
在步骤712处,可以经由通信服务器在ISCM之间传输网络配置数据。例如,APBR请求可以被从耦合到服务设备104的ISCM传输到网络中的一个或多个其他ISCM。同时,心跳消息可以在步骤720处由通信服务器交换。基于这些消息,可以在步骤724处确定通信服务器是否仍然在线。如果通信服务器仍在线,则ISCM可以继续通过通信服务器与其他ISCM进行通信。如果通信服务器已经离线,则在步骤708处,选择另一ISCM来托管通信服务器。然后通信可以在步骤716处通过新的通信服务器重新开始。
图7中所示的一些步骤可以在适当的情况下被重复、组合、修改或删除,并且还可以包括额外的步骤。另外,在不脱离具体实施例的范围的情况下,可以以任何合适的顺序来执行步骤。
应注意到图6-图7中的步骤仅示出可由本文所述的网络元件执行或在其内执行的一些可能的方案。在适当的情况下,这些步骤中的一些可以被删除或移除,或者在不脱离本公开的范围的情况下这些步骤可以被大幅修改或更改。另外,这些操作中的多个操作可能被描述为与一个或多个附加操作同时或并行执行。但是,这些操作的时序可能会被大幅改变。为了举例和讨论,已经提供了前面的操作流程。网络元件108提供了大量的灵活性,因为在不脱离本公开的教导的情况下,可以提供任何合适的布置、时间顺序、配置和定时机制。
另外,应该注意的是,利用上面提供的示例,可以根据一个或多个网络元件来描述交互。然而,这仅仅是为了清楚和示例的目的而实现的。在某些情况下,通过仅引用有限数量的网络元件来描述给定一组流程的一个或多个功能可能更容易。应该意识到,本文描述的系统是容易扩展的,并且还可以容纳大量的组件以及更复杂/精细的布置和配置。因此,所提供的示例不应当限制范围或者禁止有选择地对网络流量进行负载均衡的广泛技术,因为这可能被应用于无数其他体系结构。
本领域技术人员可以确定许多其他的改变、替换、变化、更改和修改,并且本公开意图包括落入所附权利要求范围内的所有这些改变、替换、变化、更改和修改。为了协助美国专利商标局(USPTO),另外,任何在本申请中发表的任何专利的读者在解释所附权利要求时,申请人都希望注意到,申请人:(a)不意图任何所附权利要求援引35U.S.C第112部分第(6)段,因为它在本申请日存在,除非在特定的权利要求中特别使用“用于......的装置”或“用于...的步骤”这样的词语;和(b)不意图通过说明书中的任何陈述以任何未在所附权利要求中反映的方式来限制本公开。
Claims (20)
1.一种用于路由的方法,包括:
在网络元件处接收定向到与第一网络节点相关联的第一地址的第一网络流量;
将所述第一网络流量转发到所述第一网络节点;
从所述第一网络节点接收定向到第二地址的所述第一网络流量以及针对第二网络流量的转发策略,该第二地址与耦合到所述网络元件的第二网络节点相关联,其中所述第二网络流量源自所述第二网络节点;
识别所述网络元件的多个端口,其中所述第二网络节点可通过所述多个端口中的每一个端口从所述网络元件访问;
将所述第一网络流量经由所述多个端口中的一个端口转发到所述第二网络节点;
配置所述网络元件的所述多个端口以应用所述转发策略;
在所述多个端口中的一个端口处接收来自所述第二网络节点的所述第二网络流量;以及
通过将所述第二网络流量转发到所述第一网络节点来应用所述转发策略。
2.根据权利要求1所述的方法,其中,所述第一网络节点是可操作以在多个服务器之间对网络流量进行负载均衡的服务设备,并且其中所述第二网络节点是所述多个服务器中的一个服务器。
3.根据权利要求1所述的方法,其中,配置所述网络元件的所述多个端口以应用所述转发策略包括:配置所述网络元件以针对与所述转发策略相匹配的网络流量将下一跳互联网协议地址设置为所述第一网络节点的所述第一地址。
4.根据权利要求1所述的方法,其中,所述多个端口中的第一端口与所述网络元件的第一虚拟设备上下文相关联,并且所述多个端口中的第二端口与所述网络元件的第二虚拟设备上下文相关联。
5.根据权利要求4所述的方法,还包括:将所述转发策略存储在由所述网络元件的所述第一虚拟设备上下文和所述网络元件的所述第二虚拟设备上下文所共享的数据库中。
6.根据权利要求1所述的方法,还包括:
确定从所述网络元件到所述第二网络节点的网络路径中的至少一个附加网络元件;以及
将所述转发策略传输给所述至少一个附加网络元件。
7.根据权利要求6所述的方法,其中,所述第二网络流量是从所述至少一个附加网络元件接收的。
8.根据权利要求6所述的方法,其中,将所述转发策略传输给所述至少一个附加网络元件包括:将所述转发策略传输到由第二网络元件托管的通信服务器以传输到所述至少一个附加网络元件。
9.根据权利要求1所述的方法,还包括:从所述多个端口中的第一端口向所述第二网络节点发送来自所述第一网络节点的所述第一网络流量,以及在所述多个端口中的第二端口处接收所述第二网络流量。
10.根据权利要求1所述的方法,其中,所述网络元件是能够桥接和路由数据分组的网络交换机。
11.一种用于路由的装置,包括:
处理器,用于:
接收定向到与第一网络节点相关联的第一地址的第一网络流量;
将所述第一网络流量转发到所述第一网络节点;
从所述第一网络节点接收定向到第二地址的所述第一网络流量以及针对第二网络流量的转发策略,该第二地址与耦合到所述装置的第二网络节点相关联,其中所述第二网络流量源自所述第二网络节点;
识别所述装置的多个端口,其中所述第二网络节点可通过所述多个端口中的每一个端口从所述装置访问;
将所述第一网络流量经由所述多个端口中的一个端口转发到所述第二网络节点;
配置所述装置的所述多个端口以应用所述转发策略;
在所述多个端口中的一个端口处接收来自所述第二网络节点的所述第二网络流量;以及
通过将所述第二网络流量转发到所述第一网络节点来应用所述转发策略。
12.根据权利要求11所述的装置,其中,所述第一网络节点是可操作以在多个服务器之间对网络流量进行负载均衡的服务设备,并且其中,所述第二网络节点是所述多个服务器中的一个服务器。
13.根据权利要求11所述的装置,其中,所述多个端口中的第一端口与所述装置的第一虚拟设备上下文相关联,并且所述多个端口中的第二端口与所述装置的第二虚拟设备上下文相关联。
14.根据权利要求11所述的装置,其中,所述处理器还用于:
确定从所述装置到所述第二网络节点的网络路径中的至少一个附加网络元件;以及
将所述转发策略传输给所述至少一个附加网络元件。
15.根据权利要求14所述的装置,其中将所述转发策略传输到所述至少一个附加网络元件包括:将所述转发策略传输到由第二网络元件托管的通信服务器以传输到所述至少一个附加网络元件。
16.存储一个或多个指令的至少一个计算机可读非暂态介质,所述一个或多个指令在由处理器执行时将所述处理器配置为使得执行操作,所述操作包括:
在网络元件处接收定向到与第一网络节点相关联的第一地址的第一网络流量;
将所述第一网络流量转发到所述第一网络节点;
从所述第一网络节点接收定向到第二地址的所述第一网络流量以及针对第二网络流量的转发策略,该第二地址与耦合到所述网络元件的第二网络节点相关联,其中所述第二网络流量源自所述第二网络节点;
识别所述网络元件的多个端口,其中,所述第二网络节点可通过所述多个端口中的每一个端口从所述网络元件访问;
将所述第一网络流量经由所述多个端口中的一个端口转发到所述第二网络节点;
配置所述网络元件的所述多个端口以应用所述转发策略;
在所述多个端口中的一个端口处接收来自所述第二网络节点的所述第二网络流量;以及
通过将所述第二网络流量转发到所述第一网络节点来应用所述转发策略。
17.根据权利要求16所述的介质,其中,所述第一网络节点是可操作以在多个服务器之间对网络流量进行负载均衡的服务设备,并且其中所述第二网络节点是所述多个服务器中的一个服务器。
18.根据权利要求16所述的介质,其中,所述多个端口中的第一端口与所述网络元件的第一虚拟设备上下文相关联,并且所述多个端口中的第二端口与所述网络元件的第二虚拟设备上下文相关联。
19.根据权利要求16所述的介质,其中,所述操作还包括:
确定从所述网络元件到所述第二网络节点的网络路径中的至少一个附加网络元件;以及
将所述转发策略传输至所述至少一个附加网络元件。
20.根据权利要求19所述的介质,其中,将所述转发策略传输到所述至少一个附加网络元件包括:将所述转发策略传输到由第二网络元件托管的通信服务器以传送到所述至少一个附加网络元件。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562161004P | 2015-05-13 | 2015-05-13 | |
US62/161,004 | 2015-05-13 | ||
US14/835,435 | 2015-08-25 | ||
US14/835,435 US9935882B2 (en) | 2015-05-13 | 2015-08-25 | Configuration of network elements for automated policy-based routing |
PCT/US2016/031652 WO2016183085A1 (en) | 2015-05-13 | 2016-05-10 | Configuration of network elements for automated policy-based routing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107624240A CN107624240A (zh) | 2018-01-23 |
CN107624240B true CN107624240B (zh) | 2020-10-16 |
Family
ID=56072437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680027510.5A Active CN107624240B (zh) | 2015-05-13 | 2016-05-10 | 用于自动的基于策略的路由的网络元件的配置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9935882B2 (zh) |
EP (1) | EP3295654B1 (zh) |
CN (1) | CN107624240B (zh) |
WO (1) | WO2016183085A1 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104021069B (zh) * | 2013-02-28 | 2017-07-11 | 国际商业机器公司 | 基于分布式虚拟机系统的软件性能测试的管理方法和系统 |
US9935834B1 (en) | 2015-03-13 | 2018-04-03 | Cisco Technology, Inc. | Automated configuration of virtual port channels |
US10305816B1 (en) | 2015-03-31 | 2019-05-28 | Cisco Technology, Inc. | Adjustable bit mask for high-speed native load balancing on a switch |
US9954783B1 (en) | 2015-03-31 | 2018-04-24 | Cisco Technology, Inc. | System and method for minimizing disruption from failed service nodes |
US10110668B1 (en) | 2015-03-31 | 2018-10-23 | Cisco Technology, Inc. | System and method for monitoring service nodes |
US10103995B1 (en) | 2015-04-01 | 2018-10-16 | Cisco Technology, Inc. | System and method for automated policy-based routing |
US10079725B1 (en) | 2015-04-01 | 2018-09-18 | Cisco Technology, Inc. | Route map policies for network switches |
US9985894B1 (en) | 2015-04-01 | 2018-05-29 | Cisco Technology, Inc. | Exclude filter for load balancing switch |
US10033631B1 (en) | 2015-04-23 | 2018-07-24 | Cisco Technology, Inc. | Route distribution for service appliances |
US10075377B1 (en) | 2015-04-23 | 2018-09-11 | Cisco Technology, Inc. | Statistical collection in a network switch natively configured as a load balancer |
US10469389B1 (en) | 2015-04-23 | 2019-11-05 | Cisco Technology, Inc. | TCAM-based load balancing on a switch |
CN105099789B (zh) * | 2015-09-02 | 2018-03-16 | 华为技术有限公司 | 一种网元升级方法及设备 |
US10986039B2 (en) * | 2015-11-11 | 2021-04-20 | Gigamon Inc. | Traffic broker for routing data packets through sequences of in-line tools |
US10848432B2 (en) | 2016-12-18 | 2020-11-24 | Cisco Technology, Inc. | Switch fabric based load balancing |
US10965598B1 (en) | 2017-10-04 | 2021-03-30 | Cisco Technology, Inc. | Load balancing in a service chain |
US11082312B2 (en) | 2017-10-04 | 2021-08-03 | Cisco Technology, Inc. | Service chaining segmentation analytics |
US10965596B2 (en) | 2017-10-04 | 2021-03-30 | Cisco Technology, Inc. | Hybrid services insertion |
US10778723B2 (en) | 2018-03-26 | 2020-09-15 | Forescout Technologies, Inc. | Device visibility and scanning including network segments |
CN110233713B (zh) * | 2019-06-26 | 2022-08-09 | 广东九博科技股份有限公司 | 一种基于lldp报文的多链路通信方法及系统 |
US11528299B2 (en) * | 2020-05-06 | 2022-12-13 | Hewlett Packard Enterprise Development Lp | Method device and system for policy based packet processing |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101427549A (zh) * | 2006-04-25 | 2009-05-06 | 轨道数据公司 | 用于网络设备的虚拟串列式结构 |
CN101795235A (zh) * | 2010-03-18 | 2010-08-04 | 中兴通讯股份有限公司 | 一种路由映射的处理方法及运营商边界设备 |
CN102238081A (zh) * | 2010-04-26 | 2011-11-09 | 国际商业机器公司 | 发送ip分组流的方法和设备 |
CN102404229A (zh) * | 2011-12-14 | 2012-04-04 | 华为技术有限公司 | 负载均衡系统、装置及方法 |
CN102783099A (zh) * | 2012-05-15 | 2012-11-14 | 华为技术有限公司 | 控制业务传输的方法和装置 |
CN103929368A (zh) * | 2014-05-05 | 2014-07-16 | 华为技术有限公司 | 多业务单元负载均衡方法及装置 |
WO2014131462A1 (en) * | 2013-03-01 | 2014-09-04 | Nokia Solutions And Networks Oy | Software defined networking for edge nodes |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6601084B1 (en) | 1997-12-19 | 2003-07-29 | Avaya Technology Corp. | Dynamic load balancer for multiple network servers |
US6779039B1 (en) | 2000-03-31 | 2004-08-17 | Avaya Technology Corp. | System and method for routing message traffic using a cluster of routers sharing a single logical IP address distinct from unique IP addresses of the routers |
US6996615B1 (en) | 2000-09-29 | 2006-02-07 | Cisco Technology, Inc. | Highly scalable least connections load balancing |
US7184403B1 (en) | 2001-03-16 | 2007-02-27 | Cisco Technology, Inc. | Hardware load balancing through a single fabric |
EP1315349B1 (en) | 2001-11-21 | 2008-03-19 | Sun Microsystems, Inc. | A method for integrating with load balancers in a client and server system |
US7191235B1 (en) | 2002-11-26 | 2007-03-13 | Cisco Technology, Inc. | System and method for communicating data in a loadbalancing environment |
US8239942B2 (en) | 2002-12-30 | 2012-08-07 | Cisco Technology, Inc. | Parallel intrusion detection sensors with load balancing for high speed networks |
US7284053B1 (en) | 2003-03-31 | 2007-10-16 | Cisco Technology, Inc. | System and method for loadbalancing in a network environment |
JP4336625B2 (ja) | 2004-06-17 | 2009-09-30 | 株式会社日立製作所 | パケット転送装置 |
US7020090B2 (en) | 2004-06-21 | 2006-03-28 | Cisco Technology, Inc. | System and method for loadbalancing in a network environment using feedback information |
US20060098573A1 (en) | 2004-11-08 | 2006-05-11 | Beer John C | System and method for the virtual aggregation of network links |
US7623455B2 (en) | 2005-04-02 | 2009-11-24 | Cisco Technology, Inc. | Method and apparatus for dynamic load balancing over a network link bundle |
US7340744B2 (en) | 2005-04-08 | 2008-03-04 | Cisco Technology, Inc. | System and method for optimizing sessions and network resources in a loadbalancing environment |
US7694011B2 (en) | 2006-01-17 | 2010-04-06 | Cisco Technology, Inc. | Techniques for load balancing over a cluster of subscriber-aware application servers |
US8194664B2 (en) | 2006-10-10 | 2012-06-05 | Cisco Technology, Inc. | Two-level load-balancing of network traffic over an MPLS network |
US8116310B2 (en) | 2007-11-24 | 2012-02-14 | Cisco Technology, Inc. | Reducing packet flooding by a packet switch |
US7852774B2 (en) | 2007-11-28 | 2010-12-14 | Cisco Technology, Inc. | User datagram protocol traceroute probe extension |
US8259722B1 (en) | 2008-05-19 | 2012-09-04 | Juniper Networks, Inc. | Integrated packet inspection and modification system and network device for internet service provider market research and influence |
US9309539B2 (en) | 2009-04-10 | 2016-04-12 | Poet Research, Inc. | System for recycling water to facilitate the production of ethanol |
US8588066B2 (en) | 2010-03-26 | 2013-11-19 | Citrix Systems, Inc. | Systems and methods for link load balancing on a multi-core device |
US8937942B1 (en) | 2010-04-29 | 2015-01-20 | Juniper Networks, Inc. | Storing session information in network devices |
US8499093B2 (en) | 2010-05-14 | 2013-07-30 | Extreme Networks, Inc. | Methods, systems, and computer readable media for stateless load balancing of network traffic flows |
US8868726B1 (en) | 2010-07-02 | 2014-10-21 | Symantec Corporation | Systems and methods for performing backups |
US20120163164A1 (en) | 2010-12-27 | 2012-06-28 | Brocade Communications Systems, Inc. | Method and system for remote load balancing in high-availability networks |
US9178805B2 (en) | 2010-12-28 | 2015-11-03 | Citrix Systems, Inc. | Systems and methods for policy based routing for multiple next hops |
EP2482492A1 (en) | 2011-01-25 | 2012-08-01 | TeliaSonera AB | Measuring service quality |
US8676980B2 (en) | 2011-03-22 | 2014-03-18 | Cisco Technology, Inc. | Distributed load balancer in a virtual machine environment |
US20120303809A1 (en) | 2011-05-25 | 2012-11-29 | Microsoft Corporation | Offloading load balancing packet modification |
EP3462686B1 (en) | 2011-08-17 | 2019-10-16 | Nicira Inc. | Distributed logical l3 routing |
US8553552B2 (en) | 2012-02-08 | 2013-10-08 | Radisys Corporation | Stateless load balancer in a multi-node system for transparent processing with packet preservation |
CN103259739A (zh) * | 2012-02-15 | 2013-08-21 | 株式会社日立制作所 | 负载均衡设备以及负载均衡方法 |
US9648133B2 (en) | 2012-03-12 | 2017-05-09 | Telefonaktiebolaget L M Ericsson | Optimizing traffic load in a communications network |
US10097452B2 (en) | 2012-04-16 | 2018-10-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Chaining of inline services using software defined networking |
US8848741B2 (en) | 2012-06-21 | 2014-09-30 | Breakingpoint Systems, Inc. | High-speed CLD-based TCP segmentation offload |
US8805990B2 (en) | 2012-07-12 | 2014-08-12 | Microsoft Corporation | Load balancing for single-address tenants |
US8904224B2 (en) | 2012-07-20 | 2014-12-02 | International Business Machines Corporation | Providing replication and fail-over as a network service in data centers |
US9246998B2 (en) | 2012-10-16 | 2016-01-26 | Microsoft Technology Licensing, Llc | Load balancer bypass |
US9137156B2 (en) | 2013-04-24 | 2015-09-15 | Brocade Communications Systems, Inc. | Scalable and efficient flow-aware packet distribution |
US9264400B1 (en) * | 2013-12-02 | 2016-02-16 | Trend Micro Incorporated | Software defined networking pipe for network traffic inspection |
US20150188731A1 (en) * | 2013-12-27 | 2015-07-02 | Daniel P. Daly | Programmable Distributed Networking |
US20150326473A1 (en) * | 2014-05-09 | 2015-11-12 | Futurewei Technologies, Inc. | Service Chain Path Route Reservations |
US9882815B2 (en) | 2014-12-22 | 2018-01-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Adaptive load balancing in packet processing |
-
2015
- 2015-08-25 US US14/835,435 patent/US9935882B2/en active Active
-
2016
- 2016-05-10 WO PCT/US2016/031652 patent/WO2016183085A1/en active Application Filing
- 2016-05-10 EP EP16724790.7A patent/EP3295654B1/en active Active
- 2016-05-10 CN CN201680027510.5A patent/CN107624240B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101427549A (zh) * | 2006-04-25 | 2009-05-06 | 轨道数据公司 | 用于网络设备的虚拟串列式结构 |
CN101795235A (zh) * | 2010-03-18 | 2010-08-04 | 中兴通讯股份有限公司 | 一种路由映射的处理方法及运营商边界设备 |
CN102238081A (zh) * | 2010-04-26 | 2011-11-09 | 国际商业机器公司 | 发送ip分组流的方法和设备 |
CN102404229A (zh) * | 2011-12-14 | 2012-04-04 | 华为技术有限公司 | 负载均衡系统、装置及方法 |
CN102783099A (zh) * | 2012-05-15 | 2012-11-14 | 华为技术有限公司 | 控制业务传输的方法和装置 |
WO2014131462A1 (en) * | 2013-03-01 | 2014-09-04 | Nokia Solutions And Networks Oy | Software defined networking for edge nodes |
CN103929368A (zh) * | 2014-05-05 | 2014-07-16 | 华为技术有限公司 | 多业务单元负载均衡方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2016183085A1 (en) | 2016-11-17 |
US9935882B2 (en) | 2018-04-03 |
CN107624240A (zh) | 2018-01-23 |
US20160337244A1 (en) | 2016-11-17 |
EP3295654B1 (en) | 2020-07-08 |
EP3295654A1 (en) | 2018-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107624240B (zh) | 用于自动的基于策略的路由的网络元件的配置 | |
CA3106407C (en) | Multi-cloud connectivity using srv6 and bgp | |
US10116559B2 (en) | Operations, administration and management (OAM) in overlay data center environments | |
US9755971B2 (en) | Traffic flow redirection between border routers using routing encapsulation | |
EP3222062B1 (en) | System and method to chain distributed applications in a network environment | |
EP3172875B1 (en) | Method for performing logical network forwarding using a controller | |
EP3072264B1 (en) | Method for performing network service insertion | |
US9185056B2 (en) | System and methods for controlling network traffic through virtual switches | |
EP3692685B1 (en) | Remotely controlling network slices in a network | |
US9930149B2 (en) | Multicast traffic distribution in a multi-pod network environment | |
US11792119B2 (en) | Multi-protocol service chaining among devices of interconnected topology | |
EP3917095A1 (en) | Multi-protocol service chaining among devices of interconnected topology | |
US8675669B2 (en) | Policy homomorphic network extension | |
US11582067B2 (en) | Systems and methods for providing network connectors | |
EP3491789A1 (en) | Extending an mpls network using commodity network devices | |
US20240007396A1 (en) | Multi-protocol service chaining among devices of interconnected topology | |
Vadivelu et al. | Design and performance analysis of complex switching networks through VLAN, HSRP and link aggregation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |