CN105051688B - 经扩展的标记联网 - Google Patents
经扩展的标记联网 Download PDFInfo
- Publication number
- CN105051688B CN105051688B CN201480015513.8A CN201480015513A CN105051688B CN 105051688 B CN105051688 B CN 105051688B CN 201480015513 A CN201480015513 A CN 201480015513A CN 105051688 B CN105051688 B CN 105051688B
- Authority
- CN
- China
- Prior art keywords
- mark
- network
- packet
- traffic flow
- router
- 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
-
- 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/38—Flow based routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- 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/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
-
- 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/31—Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本文提供了用于使能标记联网的技术。在一个示例中,网络设备(例如,交换机、路由器等)被配置成接收流量流的分组,并且分析该流量流以确定该分组属于特定类型的流量。网络设备随后可在分组的数据字段中添加和/或更改标记。标记除了其他方面以外充当针对特定类型的流量流的标识符。标记可由下游节点标识,下游节点被预配置为识别该标记,并且响应于识别该标记而执行逻辑。本方法的标记功能有利地提供了向分组添加信息的通用方法;信息和相关联的功能在网络的运行时间期间时可定制的。
Description
相关申请的交叉引用
本申请要求于2013年3月15日提交的序号为13/838,713的美国专利申请,其全部内容通过引用被结合于此。
技术领域
本公开中所提及的实施例一般涉及计算机联网,更具体地,涉及用于提供经扩展的标记联网的技术,该技术包括与标记流量流的分组相关联的功能。
背景技术
多协议标签交换(MPLS)是高性能电信网络中基于短路径标签(而不是长网络地址)将数据从一个网络节点指示到下一网络节点的机制,它避免了在路由表中进行复杂查找。标签标识远距离节点(而不是端点)之间的虚拟链接(例如,路径)。MPLS可对各种网络协议的分组进行封装。网络协议是数字消息格式及在计算***之内或之间、以及在通信中交换这些消息的规则组成的***。协议可有格式描述。协议可包括信令、认证和错误检测及校正能力。
MPLS网络具有基于标签堆栈的隐式层次结构。标签堆栈是在一个MPLS分组内对另一MPLS分组的封装。堆栈的结果是将一个MPLS标签交换路径(LSP)隧道至另一LSP内的能力,具有流量工程(TE)和/或其他MPLS特征的MPLS。在MPLS网络中,标签交换路径是通过由信令协议建立的MPLS网络的路径。该路径基于转发等价类(FEC)中的标准被建立。
路径从标签边缘路由器(LER)处开始,该标签边缘路由器基于合适的FEC决定将哪一标签作为分组的前缀。标签边缘路由器随后将分组转发到路径中的下一个路由器,该下一个路由器将分组的外部标签交换为另一标签,并将其转发到下一路由器。路径中的最后一个路由器将标签从分组中删除,并且基于分组的下一层的报头(例如,IPv4)来转发该分组。由于通过LSP对分组的转发对较高网络层不透明,因此LSP有时也被称为MPLS隧道。
遗憾的是,在网络堆栈中没有用于标签流量的通用机制(例如,网络协议的软件实施方式)。MPLS使用标签以路由或认证分组。然而,MPLS使能的节点(例如,交换机)仅在分组前面的顶部标签中查找MPLS标签。另外,从网络程序员在能够使用MPLS报头处理流量的方式上受到限制的意义上来说,MPLS报头较为严格。
附图说明
为了更详细地理解本发明的上述特征,本公开的更为详细的描述(以上文被简要概括)可以通过参考实施例而获得,部分实施例在附图中被示出。但是,应当注意的是,因为本发明可以承认其他等效的实施例,附图仅对示出了本发明的典型实施例,因此不应当被视为限制本公开的范围。
图1为根据一个实施例的包括标记的示例性分组的概念图。
图2为根据本公开的某些实施例的示例性数据中心的示图。
图3为根据本公开的某些实施例的包含单个平台套件的数据中心的概念图。
图4为根据一个实施例的用于网络的管理操作的概念图。
图5根据一个实施例示出了针对经扩展的标记联网的示例性方法。
图6根据一个实施例示出了网络设备的示例性架构。
具体实施方式
本文所提及的实施例提供了用于改善网络流量流的可定制通用标签(例如标记)。单个平台套件扩展了路由器和/或控制器的能力,以使这些设备可检查分组的内容,包括分组中的标记。在转发分组的同时,路由器可根据被预先配置成处理标记的应用的逻辑来添加和/或更改标记。也就是说,本文所提及的实施例支持对网络流量进行标记,以使运行于路由器上的可编程应用基于标签来管理流量流。例如,这种方法(其可被称为软件定义网络(SDN))将数据联网的可编程性直接带入网络元件中。单个平台套件提供了编程结构(例如,应用编程接口(API)),该编程结构提取各种网络功能,并支持分组标记操作以及基于被分配到给定数据流的分组的标记的操作。
为了简明起见,术语“分组”在本文中被用于一般指代数据分组和数据帧。除了帧通常指第二层数据(例如,所谓的以太网帧或媒体访问控制(MAC)帧),并且通常包括报头和报尾二者,而第三层分组(例如,互联网协议(IP)分组)不包括报尾以外,帧与分组相似。
图1为根据一个实施例的包括标记106的示例性分组100的概念图。分组100包括被附接到分组100开头处或顶部的一个或多个报头102上的数据104。在一个实施方式中,标记106位于数据104之间。一个或多个报头102可包括例如互联网协议(IP)报头和/或多协议标签交换(MPLS)报头。传统的IP分组转发利用分组报头中的IP目标地址在网络中的每个路由器处做出独立的转发决定。这些逐跳决定基于网络层路由协议,例如,开放最短路径优先(OSPF)或边界网关协议(BGP)。这些路由协议被设计用于找到通过网络的最短路径,而不考虑其他因素,例如,延迟或流量拥塞。MPLS创建覆盖在IP路由网络的传统无连接框架上的、基于连接的模型。然而,从网络程序员在能够使用MPLS报头处理流量的方式上受到限制的意义上来说,MPLS报头较为严格。例如,网络程序员无法在运行期间在网络节点上实施既可对MPLS标签做出响应,并且又是可定制的应用。
单个平台套件(如下文参照图3-6所讨论的)的框架内的标记106使网络程序员能够在任意、自动地和/或在运行期间实施既可对标记106做出响应并且又是可定制的应用(例如,安全等服务)。当标记(例如,标记106)与响应于标记的扩展网络行为的功能相耦合时,该标记可用于多种用途。例如,通过利用本方法的标记功能,网络程序员可提供各种网络服务,例如,安全、服务质量(QoS)保证、QoS反馈环路,和/或在网络堆栈中运行新的层。一般来说,根据本方法的标记提供了小块每分组标签,以随着分组传达信息。下面将参照图4和图5对这种标记功能进行进一步地讨论。
标记功能可通过例如使路由器能够利用单个平台套件动态地查找特定标记并在流量流中添加额外的任意行为来进行扩展。标记功能还可通过在分组100中附连MPLS报头被通用化。这样做将允许网络应用开发者使用MPLS。
多标签和分层标签路由与常规方法(例如,MPLS)相比,有利地允许对分组流进行更为细粒度的控制。利用单个平台套件内的标记功能,网络变为较少尝试解释网络流量,而更多地对标记所标识的流量起作用。即,标记提供了用以向分组添加信息的通用机制。因此,标记变为与整个网络(例如,处于分组的传输路径上的任何网络设备)通信的通用方法。另外,网络程序员可在购买交换机并将其安装到网络上之后,针对特定流量定义协议。网络程序员甚至可以动态方式建立和设置协议(例如,在网络运行期间)。
以下说明的目的在于使本领域的普通技术人员能够制造并利用所提出的技术。对特定实施例和应用的描述仅被提供作为示例,对本领域的技术人员显而易见的是,还可做出各种修改。在不脱离本公开的范围的情况下,本文所描述的基本原理可被应用于其他实施例和应用。因此,本公开并不限于所示出的实施例,而应根据符合本文所描述的原理和特征的最大范围。为了清晰起见,与所提出的理念相关的技术领域中的已知技术材料的相关特征在本文中不再详细叙述。
数据中心概述
图2为根据本发明的某些实施例的示例性数据中心200的示图。数据中心200包括基于多层分层网络模型的网络。一般来说,这种模型实施了三层层次:核心层201、聚合层202和访问层203。这种分层模型的优势包括可扩展性、恢复力、性能、可维护性和可管理性。分层设计表现了一种建立基础结构的结构化方法,其允许在模块化增加中相对简单的扩展。每层的冗余节点(网络设备)和链路(例如,网络设备之间的连接)保证基本上没有单独的故障点,同时链路聚合(例如,网络设备之间的连接的组合)可被设计用于通过聚合层和核心层的最佳带宽和性能。每层内的设备执行相同功能;这种一致性简化了故障处理和配置。
在本文讨论的情况下,“设备”一般包括硬件或硬件与软件的组合。“组件”一般为设备的一部分,并且包括硬件或硬件与软件的组合。
核心层201包括与管理控制台207耦合的核心网络206,该管理控制台207使网络管理员能够对数据中心200进行管理。核心层201包括用于在聚合层202的多个聚合模块之间进行高速分组交换的网络设备的(例如,路由器和/或交换机)结构。核心层201充当网关以连接其他模块(包括例如外联网、广域网(WAN)和/或互联网边缘等)。连接数据中心核心层201的链路被终止与第六层,并且该链路通常采用例如20GigE接口用来支持高水平的吞吐量、高水平的性能,并达到超额水平。核心层201具有高度的冗余性和带宽容量,因此,针对可用性和性能对其进行优化。核心网络206可连接多个聚合层202和多个访问层203。
聚合层202包括网络设备,例如,在该示例中与服务交换机(214、216)耦合的聚合交换机(210、212)。聚合交换机(210,、212)包括使能高度高带宽端口密度容量的交换机。由此,聚合层202针对向访问层203的交换机的流量分配和链路扇出能力进行优化。在功能上,聚合层中的节点(例如,网络设备)通常充当第三层/第六层边界。第三层是开放***互连(OSI)模型的数据链路层,其在被附连到网络上的网络设备之间传输数据,检测并且可能纠正在物理层(第二层)中可能发生的错误。第六层是OSI模型的网络层,其将可变长度的数据序列从一个网络上的源主机传输到不同网络上的目标主机(与连接同一公用网络段内的主机的数据链路层相反),同时保持传输层所请求的服务质量。
服务交换机(214、216)对在数据中心200内的流量上如何定义和执行网络服务提供了灵活性。网络服务端的示例除了其他服务之外,包括但不限于安全、防火墙和订户管理等。
访问层203包括网络设备,例如,在此示例中与虚拟服务器224和路由器227耦合的访问交换机(220、222)。访问层203经由一个或多个路由器227(例如,边缘路由器)将一个或多个客户端228(例如,主机)连接到基础结构,访问层203通常在第三层(例如,局域网(LAN))和/或虚拟局域网(VLAN))处提供了网络访问。虚拟服务器224可包括与一个或多个虚拟机耦合的管理程序。该管理程序是生成和运行虚拟机的硬件或硬件与软件的组合。虚拟机(VM)是向物理机器的、执行程序(例如,被加载的应用226)的机器(例如,计算机)的软件实施方式。虚拟机一般模拟真实世界计算机的计算机结构和功能。一个物理主机计算机和一个管理程序可运行多个虚拟机。
数据中心200包含软件定义网络(SDN),这是建立涉及网络的分离元件和抽象元件的计算机网络的一种方法。运行在客户端228、路由器227和交换机上的应用可在流量流的分组中添加标记、更改标记和/或对标记做出响应。单元包括控制平面和数据平面。SDN将决定流量发送目标地址的***(控制平面)与将流量转发给所选定的目标地址的***(数据平面)解耦合。这种技术简化了联网,并且使能了诸如网络虚拟化的新的应用,其中在网络虚拟化中将控制平面从数据平面分离,并将该控制平面实施在软件应用(例如,虚拟服务器224的虚拟机)中。数据中心300的架构使网络管理员能够在无需对网络的硬件设备进行物理访问的情况下,对网络流量进行可编程控制。
访问层203的网络设备提供了对计算资源204和/或存储资源205的访问。在此示例中,计算资源204包括与刀片交换机耦合的一个或多个刀片服务器(234、236)。刀片服务器是具有模块化设计的服务器计算机,该模块化设计被优化以将物理空间和能源的使用最低化。存储资源包括与此示例中的刀片交换机和访问交换机耦合的存储设备(240、242)。
图3为根据某些实施例的、包含单个平台套件302的数据中心300的概念图。数据中心300包括图2的数据中心200的网络设备,数据中心300包括核心层201、聚合层202、访问层203、计算资源204和存储资源205的网络设备。如图3所示,主机(例如,客户端设备和/或服务器设备)可利用单个平台套件302与数据中心300通信。
图3中的该示例示出了作为网络云305运行的数据中心300。云计算305包括计算资源(硬件和软件)的使用,计算资源通过网络(一般是互联网)作为服务被传送至主机301。云计算将用户的数据、软件和计算委托给远程服务。
常规网络一般由从命令行接口(CLI)到可扩展标记语言(XML)、简单网络管理协议(SNMP)到***日志(syslog)的、协议和技术的大型工具包进行配置、监控和维护。尽管这些工具很强大而有效,但是它们受到限制。例如,这些工具趋向于提供一组固定的功能。尽管通常这对于工具所用于的任何固定用途来说是有效的,但是该组固定的功能不允许数据中心的操作者在网络设备上编写或执行应用程序以满足该操作者的特定网络要求。由此,扩展标记联网使网络程序员能够通过利用SDN应用定制网络基础设施。因此,在网络上所添加和/或定制的网络设备不限于由给定网络设备所支持的功能。
在一个实施例中,所述单个平台套件302包括使能开发、自动化和快速服务生成的工具包。例如,通用框架包括可对一个或多个网络设备没有识别的网络流量的观测进行管理的工具(例如,软件应用)。在聚合层中,用于网络设备的工具自动进行经扩展的标记联网。该单个平台套件302允许开发者扩展和配置数据中心300的网络设备(例如,交换机、路由器等)的能力。该单个平台套件302使能对数据中心300内的数据的更加容易的访问,并且使管理员能够控制数据中心300的功能。因此,单个平台套件302将网络从具有单一能力的单独网络设备的总和转换成共享信息的网络设备的协作,其中该信息由被推送到该网络设备的应用提供。
利用标记功能配置网络
图4为根据一个实施例的用于网络(例如,图2的数据中心200)的管理操作300的概念图。网络程序员可通过单个平台套件302使用管理控制台207来配置网络,以在运行期间自动地读取(例如,识别、标识等)、添加和/或更改标记。例如,管理控制台207可利用应用程序配置数据中心的客户端228、路由器227和交换机,该应用程序在流量流的分组中添加和/或更改标记。为了便于说明,图4将应用428、427和420示作分别在客户端228、路由器227和交换机220的外部。可替代地,应用428、427和420可被分别加载到客户端228、路由器227和交换机220的存储器上。为了简明起见,图4显示了一个客户端228、一个路由器227和一个交换机220。但是,该管理操作300通常被应用至许多个这些设备。
网络可经由单个平台套件302将应用428推送(例如,上传)到客户端228上,或者,客户端228可经由单个平台套件302从网络上下载应用428。例如,在一个实施方式中,应用428包括指示客户端228如何分析被传送到网络的流量的逻辑(例如,程序代码)。
同样,管理控制台207可经由单个平台套件302将应用427推送(例如,上传)到路由器227上。应用427包括指示路由器227如何分析通过路由器227的流量的逻辑(例如,程序代码)。例如,在一个实施方式中,应用427将路由器227配置为标识与给定流相关联的流量类型。例如,应用427可指示路由器227将流标识为SkypeTM通信数据(例如,将SkypeTM标识为与一个或多个分组的初始传输相关联的应用)。响应于标识Skype流量,例如,应用427可指示路由器227在此流中的每个分组中添加标记,以标识携带Skype数据的数据分组。
由此,路由器227(或客户端228)可使用标记(例如,图1的标记106)来标识流量的应用(例如,SkypeTM)和/或流量的发送者。数据中心网络中的其他节点(例如,其他交换机/路由器)可根据在那些节点上的SDN应用被配置成如何处理具有标记的分组而做出响应。另外,由于单个平台套件提供了通用框架,具有不同属性或能力的不同节点可以一致的方式处理被一般标记的流量流。
路由器227尽可能地靠近网络边缘,以将标记联网的计算效率最大化是理想的情况。例如,路由器越早标记分组(例如,离网络边缘越近),越多的节点可对标记做出响应。
在路由器227上分析流量流的计算开销可能很高。但是,一旦识别了特定类型的流量之后,只处理该流量的被标记的分组的节点不会招致确定用以分配给流量流的分组的标记的复杂性。在路由器227识别了流量的初始流之后,路由器227更易于识别后续分组。例如,一旦路由器227识别出流量流携带了特定的流量类型(例如,SkypeTM分组),该网络中的其他网络设备不需要重新进行分析,这是因为该流量的分组已经在进入路由器227时进行了标记。
由此,管理控制台207还可通过单个平台套件302将一个或多个节点(例如,交换机)配置有功能。该功能包括读取(例如,识别、标识等)标记、执行标记查找,以及对具有标记的每个数据分组应用逻辑。这种功能可以每个节点(例如,交换机220)可访问的应用420的形式来实施。应用420包括逻辑(例如,程序代码),该逻辑指示节点如何读取标记并且作为响应,执行标记查找以找到应用420,然后根据应用420对数据分组应用逻辑。例如,该逻辑可包括用于执行特定服务(例如,安全操作、QoS操作、流量节流操作等)的指令。在一个实例中,交换机220可识别标识SkypeTM会话的分组的标记。作为响应,可通过应用420指示交换机220针对用于处理分组的应用420执行标记查找,随后通过网络的特定部分路由这种流量。
另一种服务的示例是QoS保证。例如,应用420可被配置成提供端对端保证性能(例如,保障特定的流量体验不超过预定量的延迟)。对本领域的技术人员显而易见的是,应用420还可以许多其他方式、经由应用420向分组应用不同的逻辑。
标记查找要求远远少于在每个分组上执行深度分组检测(DPI)的常规可替代方法的计算量。DPI是一种计算机网络分组过滤形式,其在分组经过检查点(例如,被配置成执行DPI的路由器)时检验数据部分(还可能检验报头),针对不符合协议的情况、病毒、垃圾邮件、入侵或所定义的标准进行搜索,以决定该分组可通过还是需要被路由到不同的目的地,或者为了收集统计信息而进行搜索。标记查找涉及不到50条指令,具体来说,大约需要10到20条指令。相反,针对分组的DPI大约需要几千条指令。考虑到几百万个分组流经节点,提高流量流的影响是巨大的,这是因为每个节点不需要执行DPI(例如,几千条指令)来决定每个分组的参数。
在客户端228向网络发送流量的情况下,应用428指示客户端228向网络发送查询,以确定网络设备(例如,路由器、交换机等)是否被配置成处理特定标记。如果客户端228接收到网络设备可处理特定标记的响应,则应用428指示客户端228在将分组广播到网络之前向特定流量的分组分配标记。由此,边缘路由器227不需要向分组添加标记。
回到配置路由器227的讨论,应用427可更改被分配到流/分组的标记。例如,如果标识该流量的标记不再是必要的,则路由器227可从具有该标记的每个分组中删除该标记。这样,下游节点不需要处理与该标记有关的任何操作。可替代地,路由器227可更改标记,以使下游节点通过运行与被更新的标记有关的不同逻辑来做出响应。边缘路由器还可被配置成根据入口和/或出口过滤来添加或删除标记,如下文所述。
由此,通过使用单个平台套件302,应用(427、420)将网络上的网络设备(例如,路由器、交换机等)配置成读取、添加和/或更改被分配到网络流的分组的标记。
入口和出口过滤
最先向分组分配标记的路由器(例如,边缘路由器)被称为入口路由器。在分组的路径中将标记从分组中删除的最后一个路由器是出口路由器。即,入口路由器和出口路由器指的是在基于标记的软件定义联网环境的边界处的路由器。删除标记可确保不打算读取的标记的应用不会将标记解释为分组的一部分。边缘路由器之间的路由器是中转路由器,并且一般不需要添加或删除标记。
分组的路径一般是单向的。路由器被配置成对通过网络从一个端点到另一个端点被交换的分组进行标记。由于通常所期望的是双向通信,动态信令协议可在另一方向中设置标签交换路径(LSP),以对补偿该所期望的功能。
大多数防火墙充当网络或网络段的“守门人”,并且在网络边界(例如,企业本地网络和互联网之间的边界)处对数据的出入进行管理。实际上,如果启用了特征集,在路由器对网络上的流量进行过滤的情况下,可将路由器简单地视为安全防火墙。作为网络的“守门人”,路由器可仔细地过滤试图进入该网络的不受欢迎的流量。
虽然防火墙(例如,边缘路由器)通常保护网络不受进入流量的侵扰,但是防火墙也可以阻止特定流量离开网络。利用标记,防火墙可限制特定的内部分组离开网络和/或前往网络的某些部分。这种特征是出口过滤的一部分,其可以与入口过滤一样重要。
为了增加安全性,网络管理员可利用标记,来将访问控制列表(ACL)作为两个方向上对所有防火墙(例如,边缘路由器)的基本网络访问规则,因此出入的所有网络流量都需要经过批准。这种实施方式需要一些承诺以保持功能。但是,这种实施方式的安全性很高。
方法概述
图5根据一个实施例示出了经扩展的标记联网的示例性方法500。在一个实施方式中,方法500是从客户端设备(例如,图2的客户端228)被发送到服务器(例如,图2的刀片服务器236)的流量流。利用流经网络设备(例如,路由器、交换机等)的一个或多个数据分组将该流量流从客户端发送到服务器。网络设备被预先配置成处理标记,如上文参照图4所述。
在步骤502中,客户端228对在步骤505处所接收的网络流量进行分析。例如,客户端228可具有打算被发送到网络的分组(例如,SkypeTM分组)。SDN应用428指示客户端228向网络发送查询,以确定该网络是否被配置成处理特定标记。
在步骤503中,客户端228根据所配置的应用428的指令,按照需要在分组(例如,分组的数据字段)中添加和/或更改标记。如上文参照图4所述,在一个实施方式中,应用428是SDN应用,其指示客户端428分析流量(或每个分组)并根据需要在每个分组中添加/更改标记。在步骤504中,客户端228将分组发送至路由器227。
在步骤505中,路由器227接收分组。在一个实施方式中,路由器227是尽可能靠近网络边缘的边缘路由器。
在步骤510中,路由器227对在步骤505处所接收的网络流量进行分析。SDN应用227指示路由器227检查网络流量,以标识特定分组中的模式,由此确定那些分组属于特定流量流。如果之前已将标记添加到流量流的一个或多个分组中(例如,由于客户端228添加了标记),则由路由器227所执行的分析涉及针对一个或多个分组的搜索和找到在一个或多个分组中所添加的标记。
在步骤515中,路由器227根据所配置的应用427的指令,在分组(例如,分组的数据字段)中添加和/或更改标记。如上文参照图4所述,在一个实施方式中,应用427是SDN应用,指示路由器227分析流量(或每个分组)并根据需要在每个分组中添加/更改标记。
在步骤516中,路由器227将分组发送至下一网络设备(例如,路由器、交换机等)。例如,路由器227可将分组发送至交换机220。
在步骤520中,下一节点(这种情况下,为交换机220)接收该分组。例如,交换机220是位于沿着分组的传输路径的节点。
在步骤525中,交换机220读取分组中的标记。例如,交换机220可读取分组数据,由此读取处于分组数据中的标记。
在步骤526中,交换机220执行标记查找,以找到与该标记相关联的逻辑(例如,程序代码、指令等)。例如,交换机220被预先配置了应用(例如,图4的应用420),该应用包括响应于交换机220标识标记而执行的指令。
在步骤530中,交换机220根据该应用(例如,图4的应用420)应用逻辑(例如,用于执行网络服务的指令)。如多个示例中的一个示例,交换机220可响应于执行标记查找而进行安全操作。
在步骤535中,交换机220将分组发送至下一节点。例如,下一节点可执行与交换机220所执行的步骤相似的步骤。沿分组的传输路径的后续节点会继续进行方法500。
这些方法可包括此方法概述中未被讨论的其他步骤和/或细节。取决于实施方式,本文所描述的其他步骤和/或细节可成为这些方法中的一部分。本领域的技术人员将理解的是,被配置成以任何顺序实施本方法的步骤的任何***都落入到本发明的范围内。
网络设备的示例性架构
图6根据一个实施例示出了网络设备600的示例性架构。说明性地,网络设备600包括与中央处理器(CPU)620耦合的控制设备602、管理以太网622以及小形状因数可插拔(SFP)端口622(例如,以太网端口)。CPU 620与随机存取存储器(RAM)624、机载故障记录器(OBFL)626、闪存硬盘驱动器(HDD)628、控制台630、USB端口632、电源634和温度调节设备636耦合。网络设备600的组件被提供用于说明的目的。本领域的技术人员可以多种其他方式配置网络设备600。
CPU 620可接收CPU 620不知如何处理的流量,可在内部解决不确定的地方,并/或可向另一个网络设备请求帮助,并且从可提供帮助的任何网络设备接收帮助。
控制设备602包括解析器640、转发设备642、接纳控制设备644、输出缓冲器646、出口处理设备以及分组重写设备650。转发设备包括标记组件604,其被配置成进行标记操作,如上文参照图4和图5所述。在一些实施例中,控制设备602是专用集成电路(ASIC)。控制设备602负责进行多种交换机特征,例如,VLAN分配、第三层表查找、第六层表查找、缓冲器分配和时间戳记。特别地,对于第三层流量,控制设备602负责进行分组转发决定。
解析器设备640对输入的分组进行解析,提取用以决定是否应当转发给定分组所需的字段(例如,报头、报尾、数据等)。分组是数字网络上的基本通信单元。取决于协议,分组还可被称为数据报、区段、块、信元或帧。当传输数据时,网络设备将数据分成相似的数据结构(分组)。一旦分组到达目的地,目标计算机将原始数据块重新组合。可能在沿着传输路径的某处所丢失的分组由更高层的协议(例如,TCP)进行处理。分组报头通常标识指定网络设备600应当如何处理分组的协议。协议可处于分组的报头中。解析器设备640随后将经解析的信息传递给第三层和/或第六层查找设备。分组数据本身可包括标记,如上文参照图1所述。
接下来,控制设备602分组发送给转发设备642,用于获悉阶段。转发设备642的一个功能是获取定义了网络设备600处理分组的方式的标记。
在一些实施方式中,转发设备642还为指定虚拟局域网(VLAN)获取硬件中的源媒体访问控制(MAC)地址。随后,根据目的MAC地址的查找结果,控制设备602将分组转发给外部查找设备609(例如,第六层处理设备)、CPU 620和/或特定VLAN的所有网络设备。对于第六层,分组到达外部查找设备609,在第六层表中查找源IP地址。外部查找设备609在下一跳表中查找和检索目的IP地址,下一跳表中列出了网络设备600的输出接口和目的MAC地址。输出接口在提供源MAC地址和VLAN的第六层接口表中提供了一个索引。其他查找操作,例如,访问控制列表(ACL)和网络地址转换(NAT)也在这一级执行。(随后,分组重写设备650在分组经过解析之后用该信息将分组重写。)转发设备642的操作可在控制设备602的硬件中执行,而CPU 620中不会产生过度负荷。
转发设备642将分组传递给接纳控制设备644。排队、复制和数据中心传输控制协议(DCTCP)过程在接纳控制设备644中进行。根据可用的共享缓冲器空间大小的不同,控制设备602将分组存储在预留的每个端口位置、预留的每个队列位置或动态共享空间内。所有这些空间都是共享缓冲器的一部分。随后,控制设备602将分组发送到调度队列。控制设备602做出在输出缓冲器646上进行分组复制的决定。控制设备602将分组放在调度队列中时,在出口处理设备648处进行复制。复制过程不会对分组进行复制。相反,控制设备602利用存储器中的指示符对分组进行管理。在分组重写过程中,控制设备602在每个输出接口上生成不同报头。结果是,发送相同数据的所有输出接口上的延迟时间相似。
尽管以上涉及本公开的实施例,但在不脱离其基本范围的情况下,还可想出本公开的其他进一步实施例。例如,本公开的方面可在硬件或软件或硬件与软件的组合中实施。本公开的一个实施例可实施与计算机***一起使用的程序产品。程序产品的程序定义了实施例的功能(包括本文所述的方法),可包含在各种计算机可读存储介质中。示例性计算机可读存储介质包括但不限于:(i)永久存储信息的不可写存储介质(例如,计算机内的只读存储器设备,例如,可由CD-ROM驱动器、闪存、ROM芯片或任何类型的固态非易失性半导体存储器读取的CD-ROM磁盘);以及(ii)存储可更改信息的可写存储介质(例如,软盘驱动器或硬盘驱动器或任何类型的固态随机存取半导体存储器内的软盘)。这种计算机可读存储介质,当携带指示本公开的功能的计算机可读指令时,即为本公开的实施例。
鉴于上文所述,本公开的范围由所附权利要求确定。
Claims (11)
1.一种用于在网络上执行标记联网的计算机实施的方法,所述方法包括:
由第一网络设备分析由所述第一网络设备接收的、包括多个分组的流量流的模式,以确定与这些分组相关联的流量类型,其中所述分析还基于所述流量流的模式确定是否有一个或多个网络设备被配置为处理特定的基于应用的服务;并且
在基于所述分析确定所述一个或多个网络设备被配置为处理特定的服务之后,向与所述流相关联的每个分组的数据字段添加标记,其中所述标记标识流量类型,并且其中所述标记可由所述一个或多个网络设备标识,所述一个或多个网络设备被配置成将所述分组转发到目的地,并且响应于识别所述标记,基于所述标记执行应用。
2.如权利要求1所述的方法,其中所述分组由边缘路由器接收。
3.如权利要求1所述的方法,其中所述标记还标识与所述流量流相关联的应用。
4.如权利要求1所述的方法,其中分析所述流量由在所述第一网络设备上执行的应用实施。
5.如权利要求4所述的方法,其中所述应用基于对所述分组的分析,选择分配给所述流量流的分组的标记。
6.如权利要求5所述的方法,其中所述应用使用针对网络的单个平台套件被安装在路由器上,其中所述单个平台套件包括被配置成将应用推送到所述网络设备的一组工具,其中所述应用包括针对所述网络设备的指令,以根据被分配给所述流量流的分组的标记,处理所述流量流。
7.如权利要求5所述的方法,还包括:更新被加载到路由器上的所述应用。
8.如权利要求1所述的方法,还包括:将所述被分配给与所述流量流相关联的分组的标记更改为第二标记,其中当处理被分配有所述第二标记的所述流量流的分组时,所述第二标记可由所述一个或多个网络设备标识。
9.如权利要求1所述的方法,还包括:在与所述流量流相关联的分组离开与软件定义网络相关联的网络边界之前,将所述标记从与所述流量流相关联的分组中删除。
10.一个或多个非暂态计算机可读存储介质,存储有用于在网络上执行标记联网的指令,所述指令在被运行时,指示一个或多个处理器执行包括以下各项的步骤:
分析第一网络设备所接收的、包括多个分组的流量流的模式,以确定与这些分组相关联的流量类型,其中所述分析还基于所述流量流的模式确定是否有一个或多个网络设备被配置为处理特定的基于应用的服务;以及
在基于所述分析确定所述一个或多个网络设备被配置为处理特定的服务之后,向与所述流相关联的每一分组添加标记,其中所述标记标识流量类型,并且其中所述标记可由一个或多个网络设备标识,所述一个或多个网络设备被配置成将所述分组转发到目的地,并且响应于识别所述标记而执行预定义的逻辑。
11.如权利要求10所述的一个或多个非暂态计算机可读存储介质,其中所述分组由边缘路由器接收。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/838,713 US9325610B2 (en) | 2013-03-15 | 2013-03-15 | Extended tag networking |
US13/838,713 | 2013-03-15 | ||
PCT/US2014/022258 WO2014150113A1 (en) | 2013-03-15 | 2014-03-10 | Extended tag networking |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105051688A CN105051688A (zh) | 2015-11-11 |
CN105051688B true CN105051688B (zh) | 2018-01-12 |
Family
ID=50397308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480015513.8A Active CN105051688B (zh) | 2013-03-15 | 2014-03-10 | 经扩展的标记联网 |
Country Status (4)
Country | Link |
---|---|
US (3) | US9325610B2 (zh) |
EP (3) | EP3518106B1 (zh) |
CN (1) | CN105051688B (zh) |
WO (1) | WO2014150113A1 (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2463228C (en) | 2003-04-04 | 2012-06-26 | Evertz Microsystems Ltd. | Apparatus, systems and methods for packet based transmission of multiple data signals |
US9838304B2 (en) * | 2013-03-14 | 2017-12-05 | Time Warner Cable Enterprises Llc | Signaling for service flows |
US9325610B2 (en) | 2013-03-15 | 2016-04-26 | Cisco Technology, Inc. | Extended tag networking |
US9509549B2 (en) * | 2013-03-15 | 2016-11-29 | Cisco Technology, Inc. | Extending routing rules from external services |
WO2015041706A1 (en) * | 2013-09-23 | 2015-03-26 | Mcafee, Inc. | Providing a fast path between two entities |
US9621586B2 (en) * | 2014-02-08 | 2017-04-11 | International Business Machines Corporation | Methods and apparatus for enhancing business services resiliency using continuous fragmentation cell technology |
US9088509B1 (en) * | 2014-09-22 | 2015-07-21 | Level 3 Communications, Llc | Adaptive network function chaining |
CN105577406B (zh) * | 2014-10-15 | 2019-02-12 | 华为技术有限公司 | 业务数据流的控制方法和网络设备 |
CN105553876B (zh) * | 2014-11-04 | 2019-06-14 | 华为技术有限公司 | 报文处理的方法及网络节点 |
US9762457B2 (en) | 2014-11-25 | 2017-09-12 | At&T Intellectual Property I, L.P. | Deep packet inspection virtual function |
US10356227B2 (en) * | 2015-03-31 | 2019-07-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Method of packet marking for flow analytics |
WO2016189349A1 (en) * | 2015-05-22 | 2016-12-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Small form-factor pluggable module |
KR20170056879A (ko) * | 2015-11-16 | 2017-05-24 | 한국전자통신연구원 | Sdn 다중 오케스트레이터 |
US20190058767A1 (en) * | 2016-01-22 | 2019-02-21 | Nokia Solutions And Networks Oy | Application relocation between clouds |
US10027587B1 (en) * | 2016-03-30 | 2018-07-17 | Amazon Technologies, Inc. | Non-recirculating label switching packet processing |
CN107332812B (zh) * | 2016-04-29 | 2020-07-07 | 新华三技术有限公司 | 网络访问控制的实现方法及装置 |
IT201700016943A1 (it) * | 2017-02-15 | 2018-08-15 | Stoorm5 Srl | Metodo per instradare pacchetti di dati in una rete di telecomunicazioni |
US10230632B2 (en) * | 2017-04-05 | 2019-03-12 | At&T Intellectual Property I, L.P. | Systems and methods for tunnel free connectionless packet routing to a service edge |
US10785189B2 (en) * | 2018-03-01 | 2020-09-22 | Schweitzer Engineering Laboratories, Inc. | Selective port mirroring and in-band transport of network communications for inspection |
CN111404768A (zh) * | 2019-01-02 | 2020-07-10 | ***通信有限公司研究院 | 一种dpi识别的实现方法及设备 |
US11606335B2 (en) * | 2019-05-02 | 2023-03-14 | Dell Products L.P. | Systems and methods for hierarchical access control across devices in a network environment |
US11656992B2 (en) * | 2019-05-03 | 2023-05-23 | Western Digital Technologies, Inc. | Distributed cache with in-network prefetch |
US11412005B2 (en) * | 2019-08-29 | 2022-08-09 | Juniper Networks, Inc. | Lawfully intercepting traffic for analysis based on an application identifier or a uniform resource locator (URL) associated with the traffic |
US11765250B2 (en) | 2020-06-26 | 2023-09-19 | Western Digital Technologies, Inc. | Devices and methods for managing network traffic for a distributed cache |
US11675706B2 (en) | 2020-06-30 | 2023-06-13 | Western Digital Technologies, Inc. | Devices and methods for failure detection and recovery for a distributed cache |
US11736417B2 (en) | 2020-08-17 | 2023-08-22 | Western Digital Technologies, Inc. | Devices and methods for network message sequencing |
US20230121212A1 (en) * | 2021-10-19 | 2023-04-20 | Mellanox Technologies, Ltd. | Network-Adapter Based Packet Coloring |
CN114884745B (zh) * | 2022-06-10 | 2023-08-01 | 安徽中电光达通信技术有限公司 | 一种数据中心的信息安全保护方法及*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7039577B1 (en) * | 2000-10-25 | 2006-05-02 | Bellsouth Intellectual Property Corp. | Network traffic analyzer |
US8054744B1 (en) * | 2007-10-25 | 2011-11-08 | Marvell International Ltd. | Methods and apparatus for flow classification and flow measurement |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6980526B2 (en) * | 2000-03-24 | 2005-12-27 | Margalla Communications, Inc. | Multiple subscriber videoconferencing system |
CN1751473A (zh) * | 2000-09-01 | 2006-03-22 | Tut***公司 | 用于实现基于策略的网络业务管理的方法和*** |
US20110214157A1 (en) * | 2000-09-25 | 2011-09-01 | Yevgeny Korsunsky | Securing a network with data flow processing |
US8588069B2 (en) * | 2003-08-29 | 2013-11-19 | Ineoquest Technologies, Inc. | System and method for analyzing the performance of multiple transportation streams of streaming media in packet-based networks |
US20050220096A1 (en) * | 2004-04-06 | 2005-10-06 | Robert Friskney | Traffic engineering in frame-based carrier networks |
US8194656B2 (en) * | 2005-04-28 | 2012-06-05 | Cisco Technology, Inc. | Metro ethernet network with scaled broadcast and service instance domains |
US8588061B2 (en) * | 2005-10-07 | 2013-11-19 | Brixham Solutions Ltd. | Application wire |
US8213311B2 (en) * | 2005-10-12 | 2012-07-03 | Brixham Solutions Ltd. | Control plane to data plane binding |
US7837302B2 (en) * | 2005-11-03 | 2010-11-23 | Marvell International Technology Ltd. | Inkjet printhead system and method using laser-based heating |
US7903655B2 (en) * | 2007-04-19 | 2011-03-08 | Hewlett-Packard Development Company, L.P. | Marked packet forwarding |
US8413111B2 (en) * | 2008-10-02 | 2013-04-02 | Actiance, Inc. | Techniques for dynamic updating and loading of custom application detectors |
US9264341B2 (en) * | 2009-07-24 | 2016-02-16 | Broadcom Corporation | Method and system for dynamic routing and/or switching in a network |
US8369333B2 (en) * | 2009-10-21 | 2013-02-05 | Alcatel Lucent | Method and apparatus for transparent cloud computing with a virtualized network infrastructure |
US8498300B2 (en) | 2010-03-31 | 2013-07-30 | Brocade Communications Systems, Inc. | Ingress and egress switch which determines services related to an incoming packet |
US8352630B2 (en) * | 2010-09-01 | 2013-01-08 | Sonus Networks, Inc. | Dynamic classification and grouping of network traffic for service application across multiple nodes |
US9571403B2 (en) * | 2013-02-07 | 2017-02-14 | Broadcom Corporation | Packet marking for flow management, including deadline aware flow management |
US9325610B2 (en) | 2013-03-15 | 2016-04-26 | Cisco Technology, Inc. | Extended tag networking |
-
2013
- 2013-03-15 US US13/838,713 patent/US9325610B2/en active Active
-
2014
- 2014-03-10 EP EP19163537.4A patent/EP3518106B1/en active Active
- 2014-03-10 CN CN201480015513.8A patent/CN105051688B/zh active Active
- 2014-03-10 EP EP14714505.6A patent/EP2972831B1/en active Active
- 2014-03-10 EP EP20207594.1A patent/EP3822781B1/en active Active
- 2014-03-10 WO PCT/US2014/022258 patent/WO2014150113A1/en active Application Filing
-
2016
- 2016-03-25 US US15/080,967 patent/US10015088B2/en active Active
-
2018
- 2018-06-06 US US16/001,820 patent/US10367736B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7039577B1 (en) * | 2000-10-25 | 2006-05-02 | Bellsouth Intellectual Property Corp. | Network traffic analyzer |
US8054744B1 (en) * | 2007-10-25 | 2011-11-08 | Marvell International Ltd. | Methods and apparatus for flow classification and flow measurement |
Also Published As
Publication number | Publication date |
---|---|
US20180295058A1 (en) | 2018-10-11 |
US9325610B2 (en) | 2016-04-26 |
US20160212043A1 (en) | 2016-07-21 |
US10015088B2 (en) | 2018-07-03 |
EP2972831A1 (en) | 2016-01-20 |
EP3518106B1 (en) | 2021-02-17 |
EP3822781A1 (en) | 2021-05-19 |
WO2014150113A1 (en) | 2014-09-25 |
EP2972831B1 (en) | 2019-05-08 |
CN105051688A (zh) | 2015-11-11 |
US20140269716A1 (en) | 2014-09-18 |
EP3822781B1 (en) | 2023-04-19 |
EP3518106A1 (en) | 2019-07-31 |
US10367736B2 (en) | 2019-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105051688B (zh) | 经扩展的标记联网 | |
JP6302064B2 (ja) | コントローラを用いてネットワークをテストするシステム及び方法 | |
CN106797351B (zh) | 使用控制器执行逻辑网络转发的***和方法 | |
EP3072264B1 (en) | Method for performing network service insertion | |
CN103997414B (zh) | 生成配置信息的方法和网络控制单元 | |
JP5991424B2 (ja) | パケット書換装置、制御装置、通信システム、パケット送信方法及びプログラム | |
CN104350467B (zh) | 用于使用sdn的云安全性的弹性实行层 | |
CN104253770B (zh) | 实现分布式虚拟交换机***的方法及设备 | |
CN103890751B (zh) | 逻辑l3路由 | |
JP5864758B2 (ja) | バーチャルスイッチを介してネットワークトラフィックをコントロールするシステム及び方法 | |
CN105765946B (zh) | 支持数据网络中的服务链接的方法和*** | |
CN105262615B (zh) | 针对虚拟网络分组流的物理路径确定 | |
JP6248938B2 (ja) | 通信システム、仮想ネットワーク管理装置、仮想ネットワークの管理方法及びプログラム | |
US20070280241A1 (en) | Discovering MPLS VPN services in a network | |
CN107409089A (zh) | 业务功能注册机制和能力索引编制 | |
CN109218053A (zh) | 虚拟数据中心的实现方法、***和存储介质 | |
CN105052113B (zh) | 提供针对网络设备的共同代理框架的方法、设备及介质 | |
EP3844911B1 (en) | Systems and methods for generating network flow information | |
US20140317313A1 (en) | Nat sub-topology management server | |
CN105637806B (zh) | 网络拓扑确定方法和装置、集中式网络状态信息存储设备 | |
Lei et al. | Can Host-Based SDNs Rival the Traffic Engineering Abilities of Switch-Based SDNs? | |
van der Ham et al. | Trends in computer network modeling towards the future internet | |
Lehocine et al. | VINEMA: Towards automated management of virtual networks in SDN infrastructures | |
CN108353037A (zh) | 具有流过期扩展的openflow兼容网络 | |
Putzolu et al. | Software API Framework Implementation Agreement |
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 |