CN108604997B - 用于对差异化服务编码点(dscp)和显式拥塞通知(ecn)的监视进行配置的控制平面的方法和设备 - Google Patents
用于对差异化服务编码点(dscp)和显式拥塞通知(ecn)的监视进行配置的控制平面的方法和设备 Download PDFInfo
- Publication number
- CN108604997B CN108604997B CN201680081075.4A CN201680081075A CN108604997B CN 108604997 B CN108604997 B CN 108604997B CN 201680081075 A CN201680081075 A CN 201680081075A CN 108604997 B CN108604997 B CN 108604997B
- Authority
- CN
- China
- Prior art keywords
- session
- dscp
- ecn
- test
- reflector
- 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
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0866—Checking the configuration
- H04L41/0873—Checking configuration conflicts between network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0882—Utilisation of link capacity
Abstract
一种方法由实现控制客户端的网络设备执行,所述方法用于配置会话发送器执行测试以在会话发送器和会话反射器之间的正向方向和反向方向上在单个测试会话中确定差异化服务编码点(DSCP)和显式拥塞通知(ECN)是否被修改。使用所述单个测试会话来测试多个DSCP和ECN。该方法包括从服务器接收包括会话反射器的特性的服务器问候消息,确定会话反射器是否支持在单个测试会话中使用多个DSCP,设置建立响应消息以指示DSCP和ECN测试,以及确定会话反射器是否支持DSCP和ECN监视。该方法还包括响应于确定会话反射器支持DSCP和ECN监视,在建立响应消息中添加DSCP和ECN监视的指示符,以及向服务器发送建立响应消息。
Description
相关申请的交叉引用
本申请涉及与本申请同日提交的题为“Method and Apparatus for Data Planeto Monitor Differentiated Services Code Point(DSCP)and Explicit CongestionNotification(ECN)”的申请。
技术领域
本发明的实施例涉及数据业务测量领域,更具体地,涉及监视差异化服务编码点(DSCP)值和显式拥塞通知(ECN)值。实施例使得能够使用单个测试会话来测试DSCP和ECN的多个组合。
背景技术
由互联网工程任务组(IETF)请求评论(RFC)5357定义的双向主动测量协议(TWAMP)广泛用于测量互联网协议(IP)网络中的延迟和延迟变化。TWAMP基于一种早期协议,由IETF RFC 4656定义的单向主动测量协议(OWAMP)。TWAMP提供了一种用于测量网络设备之间的双向度量的通用协议。测量在测试会话中执行,该测试会话允许在两个网络设备之间的测试会话中对数据业务进行双向或往返测量。
TWAMP由两个相互关联的协议组成:控制协议(TWAMP-Control)和测试协议(TWAMP-Test)。TWAMP-Control用于发起、启动和停止测试会话,而TWAMP-Test用于在两个TWAMP实体之间交换测试分组。存在一组TWAMP实体或TWAMP逻辑实体,其被称为会话发送器、会话反射器、服务器和控制客户端。
控制客户端发起与服务器的传输控制协议(TCP)连接,服务器用问候消息进行响应。控制客户端用模式信息进行响应,然后服务器发送其接受。控制客户端将会话发送器配置为在与会话反射器的测试会话中发送测试分组。服务器将会话反射器配置为将从会话发送器接收的测试分组返回给会话发送器。因此,以这种方式,TWAMP建立测试会话,在测试会话中,会话发送器可以分别识别和测量实现会话发送器和会话反射器的网络设备之间的数据业务流。
每个测试会话都使用差异化服务编码点(DSCP)和显式拥塞通知(ECN)字段来进行。TWAMP的DSCP和ECN监视扩展允许运营商检测两个测试点之间的正向和反向方向上的DSCP字段的有意或错误的重新标记以及ECN字段的变化。但是,为了测试DSCP和ECN的多个组合,需要为每个组合建立单独的测试会话。因此,在TWAMP-Control协议被用于协商TWAMP测试会话的情况下,将会重新协商测试参数,其中包括源和目标用户数据报协议(UDP)端口号,这可能会影响DSCP和ECN监视的结果。在TWAMP由命令行界面(CLI)或网络管理系统(NMS)/中央控制器控制的情况下,必须配置单独的测试会话。
发明内容
在一个实施例中,一种方法由实现控制客户端的网络设备执行,所述方法用于配置会话发送器执行测试以在会话发送器和会话反射器之间的正向方向和反向方向上在单个测试会话中确定差异化服务编码点DSCP和显式拥塞通知ECN是否被修改,其中使用所述单个测试会话来测试多个DSCP和ECN。所述方法包括:从服务器接收包括会话反射器的特性的服务器问候消息;确定会话反射器是否支持在所述单个测试会话中使用多个DSCP;设置建立响应消息以指示DSCP和ECN测试;以及确定会话反射器是否支持DSCP和ECN监视。所述方法还包括:响应于确定会话反射器支持DSCP和ECN监视,在所述建立响应消息中添加DSCP和ECN监视的指示符;以及向服务器发送所述建立响应消息。
在一个实施例中,一种方法由实现服务器的网络设备执行,所述方法用于配置会话反射器执行测试以在会话发送器和会话反射器之间的正向方向和反向方向上在单个测试会话中确定差异化服务编码点DSCP和显式拥塞通知ECN是否被修改,其中使用所述单个测试会话来测试多个DSCP和ECN。所述方法包括:向控制客户端发送包括会话反射器特性的服务器问候消息,所述会话反射器特性包括支持在会话中使用多个DSCP和ECN;从控制客户端接收指示DSCP和ECN测试参数的建立响应消息;以及根据所述DSCP和ECN测试参数来配置会话反射器。
在一个实施例中,一种网络设备实现客户端控制器,所述网络设备用于配置会话发送器执行测试以在会话发送器和会话反射器之间的正向方向和反向方向上在单个测试会话中确定差异化服务编码点DSCP和显式拥塞通知ECN是否被修改,其中使用所述单个测试会话来测试多个DSCP和ECN。所述网络设备包括:非暂时性机器可读介质,其中存储有测试会话管理器;以及处理器。所述处理器耦合到所述非暂时性机器可读介质。所述处理器用于执行所述测试会话管理器。所述测试会话管理器被配置为:从服务器接收包括会话反射器的特性的服务器问候消息;确定会话反射器是否支持在所述单个测试会话中使用多个DSCP;设置建立响应消息以指示DSCP和ECN测试;确定会话反射器是否支持DSCP和ECN监视;响应于确定会话反射器支持DSCP和ECN监视,在所述建立响应消息中添加DSCP和ECN监视的指示符;以及向服务器发送所述建立响应消息。
在另一实施例中,一种网络设备实现服务器,所述网络设备用于配置会话反射器执行测试以在会话发送器和会话反射器之间的正向方向和反向方向上在单个测试会话中确定差异化服务编码点DSCP和显式拥塞通知ECN是否被修改,其中使用所述单个测试会话来测试多个DSCP和ECN。所述网络设备包括:非暂时性机器可读介质,其中存储有测试会话管理器;以及处理器。所述处理器耦合到所述非暂时性机器可读介质。所述处理器用于执行所述测试会话管理器。所述测试会话管理器被配置为:向控制客户端发送包括会话反射器特性的服务器问候消息,所述会话反射器特性包括支持在会话中使用多个DSCP和ECN;从控制客户端接收指示DSCP和ECN测试参数的建立响应消息;以及根据所述DSCP和ECN测试参数来配置会话反射器。
在一个实施例中,一种计算设备与具有多个网络设备的网络中的网络设备通信。所述计算设备执行用于实现网络功能虚拟化NFV的多个虚拟机,其中所述多个虚拟机中的虚拟机执行服务器以配置会话反射器执行测试以在会话发送器和会话反射器之间的正向方向和反向方向上在单个测试会话中确定差异化服务编码点DSCP和显式拥塞通知ECN是否被修改,其中使用所述单个测试会话来测试多个DSCP和ECN。所述计算设备包括:非暂时性机器可读介质,其中存储有测试会话管理器;以及处理器。所述处理器耦合到所述非暂时性机器可读介质。所述处理器用于执行虚拟机。所述虚拟机用于执行所述测试会话管理器。所述测试会话管理器被配置为:向控制客户端发送包括会话反射器特性的服务器问候消息,所述会话反射器特性包括支持在会话中使用多个DSCP和ECN;从控制客户端接收指示DSCP和ECN测试参数的建立响应消息;以及根据所述DSCP和ECN测试参数来配置会话反射器。
在另一实施例中,一种控制平面设备被配置为实现包括多个网络设备的软件定义联网SDN网络的控制平面,其中,所述控制平面设备被配置为执行一种方法来实现协调器,以执行测试以在会话发送器和会话反射器之间的正向方向和反向方向上在单个测试会话中确定差异化服务编码点DSCP和显式拥塞通知ECN是否被修改,其中使用所述单个测试会话来测试多个DSCP和ECN。所述控制平面设备包括:非暂时性机器可读介质,其中存储有协调器;以及处理器,耦合到所述非暂时性机器可读介质。所述处理器用于执行所述协调器。所述协调器被配置为:确定会话反射器的特性;确定会话反射器是否支持在单个测试会话中使用多个DSCP;设置配置消息以指示DSCP和ECN测试;确定会话反射器是否支持DSCP和ECN监视;响应于确定会话反射器支持DSCP和ECN监视,在所述配置消息中添加DSCP和ECN监视的指示符;以及向会话发送器和会话反射器发送所述配置消息。
附图说明
通过参考以下用于说明本发明实施例的描述和附图,可以最佳地理解本发明。附图中:
图1A是用于双向主动测量协议(TWAMP)的控制客户端的过程的一个实施例的流程图。
图1B是用于由软件定义联网(SDN)控制器实现的TWAMP测试会话的协调器的过程的一个实施例的流程图。
图2是用于TWAMP的服务器的过程的一个实施例的流程图。
图3是用于TWAMP的会话发送器的过程的一个实施例的流程图。
图4是用于TWAMP的会话反射器的过程的一个实施例的流程图。
图5是用于TWAMP的会话发送器的另一过程的一个示例实施例的流程图。
图6是用于TWAMP的会话反射器的另一过程的一个示例实施例的流程图。
图7是用于TWAMP的会话发送器的又一过程的另一示例实施例的流程图。
图8是用于TWAMP的会话反射器的又一过程的另一示例实施例的流程图。
图9是会话发送器和会话反射器之间的示例测试会话。
图10A示出了根据本发明一些实施例的示例网络内的网络设备(ND)之间的连接性以及ND的三种示例实现。
图10B示出了根据本发明一些实施例的用于实现专用网络设备的示例方式。
图10C示出了根据本发明一些实施例的可以耦合虚拟网络单元(VNE)的各种示例方式。
图10D示出了根据本发明一些实施例的在每个ND上具有单一网络单元(NE)的网络,在该直接方案中,对比了(传统路由器常用的)传统分布式方案与用于维护可达性和转发信息(也被称为网络控制)的集中式方案。
图10E示出了根据本发明一些实施例的以下简单情况:每个ND实现单一NE,而集中式控制平面将不同ND中的多个NE抽象为(表示)虚拟网络之一中的单一NE。
图10F示出了根据本发明一些实施例的以下情况:在不同ND上实现多个VNE并且多个VNE彼此耦合,以及集中式控制平面将上述多个VNE加以抽象,使得其表现为虚拟网络之一中的单一VNE。
图11示出了根据本发明一些实施例的具有集中式控制平面(CCP)软件的通用控制平面设备。
具体实施方式
以下描述描述了用于数据业务测量的方法和装置,并且更具体地,描述了使用双向主动测量协议(TWAMP)或类似协议来测试差异化服务编码点(DSCP)和显式拥塞通知(ECN)的多个组合。实施例使得能够使用单个测试会话来测试多个组合。使用单个测试会话可以减少与测试多个DSCP和ECN组合相关联的开销,其中开销是由多个测试会话的建立和拆除引起的。现有技术要求为要测试的每个DSCP和ECN的组合建立单独的测试会话,从而需要更多的计算和存储资源。所提供的实施例主要涉及使用TWAMP实现测试会话,但是,本领域技术人员将理解,原理和过程也适用于其他类似的测试会话技术,包括ping、服务级协商(SLA)测试等类似的技术。
在以下描述中,阐述了大量的具体细节,例如逻辑实现、操作码(opcode)、装置,用于指定运算数、资源分区/共享/复制实现、系统组件的类型和相互关系、以及逻辑分区/整合选择,以提供对本发明的更全面的理解。然而,本领域技术人员将意识到,本发明可以在没有这些具体细节的情况下实施。在其它实例中,并未详细示出控制结构、门级别电路和全软件指令序列,以不使本发明模糊。在使用所包括的描述的情况下,本领域普通技术人员将能够在不进行过度试验的情况下实现恰当的功能。
说明书中对“一个实施例”、“实施例”、“示例实施例”的引用指示了所描述的实施例可以包括特定特征、结构、或特性,但是每个实施例可以不必包括该特定特征、结构、或特性。此外,这种短语不必参考同一实施例。此外,当结合实施例来描述具体特征、结构或特性时,应认为结合其他实施例(不管是否是显式描述的)来实现这种特征、结构或特性是在本领域技术人员的知识内的。
在本文中,括号中的文本和具有虚线边界(例如,长划点虚线、短划线虚线、点虚线、以及点)的框可以用于示出向本发明实施例添加附加特征的可选操作。然而,这种标注不应当被视为意味着:在本发明的某些实施例中,他们是仅有的选项或可选操作,和/或具有实线边界的框不是可选的。
在以下描述和权利要求中,可以使用术语“耦合”和“连接”以及它们的派生词。应当理解:这些术语不意在作为彼此的同义词。“耦合”用于指示两个或更多个元素可以或可以不彼此直接物理或电学接触、彼此协作或交互。“连接”用于指示在彼此耦合的两个或更多个元素之间建立通信。
电子设备使用机器可读介质(也被称为计算机可读介质)来(内部和/或通过网络使用其他电子设备)存储和传输代码(其由软件指令构成,且有时被称为计算机程序代码或计算机程序)和/或数据,机器可读介质是例如机器可读存储介质(例如,磁盘、光盘、只读存储器(ROM)、闪存设备、相变存储器)和机器可读传输介质(也被称为载体)(例如,电、光、无线电、声或其他形式的传播信号-例如载波、红外信号)。从而,电子设备(例如,计算机)包括硬件和软件,例如一个或多个处理器的集合,其耦合到用于存储在该处理器集合上执行的代码和/或用于存储数据的一个或多个及其可读存储介质。例如,电子设备可以包括包含代码在内的非易失性存储器,因为即使在电子设备关闭(当掉电时)时非易失性存储器也可以保持代码/数据,以及在打开电子设备时,通常将要由该电子设备的处理器执行的该部分代码从较慢的非易失性存储器中拷贝到该电子设备的易失性存储器(例如,动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM))中。通常的电子设备还包括用于与其他电子设备建立网络连接(以使用传播信号来发送和/或接收代码和/或数据)的一个或多个物理网络接口的集合。本发明实施例的一个或多个部分可以使用软件、固件、和/或硬件的不同组合来实现。
网络设备(ND)是将网络上其他电子设备(例如,其他网络设备、端用户设备)加以通信互联的电子设备。一些网络设备是为多个联网功能(例如,路由、桥接、交换、层2聚合、会话边界控制、服务质量、和/或订户管理)提供支持、和/或为多应用服务(例如,数据、语音、和视频)提供支持的“多服务网络设备”。
概览
每个双向主动测量协议(TWAMP)测试会话使用特定的差异化服务编码点(DSCP)和显式拥塞通知(ECN)来进行,该DSCP和ECN在会话发送器和会话反射器之间交换的测试分组中使用。DSCP和ECN是在TWAMP测试会话中使用的TWAMP测试分组中的字段,预期在会话发送器和会话反射器之间的正向和反向路径上保持不变。可以定义TWAMP的DSCP和ECN监视扩展,使运营商能够检测测试分组中DSCP字段的有意或错误的对数据业务的重新标记,以及ECN字段的变化。可以在两个测试点(即会话发送器和会话反射器)之间的正向和反向方向上进行这些字段的监视。但是,为了测试和监视DSCP和ECN的多个组合(多至DSCP和ECN的所有组合)的结果或者这些值的任何子集,需要为将被测试的每个DSCP和ECN组合建立单独的测试会话,在一些实施例中,这包括对相同的DSCP和ECN组合进行重复测试。因此,在TWAMP-Control协议被用于协商和建立TWAMP测试会话的情况下,将会重新协商测试参数,其中包括源和目标用户数据报协议(UDP)端口号,这可能会影响DSCP和ECN监视的结果。在TWAMP由命令行界面(CLI)或网络管理系统(NMS)/中央控制器控制的情况下,必须配置单独的测试会话来测试和监视每个DSCP和ECN组合。
与现有的TWAMP-Control协议一致,CLI或中央控制器可用于配置参数,包括测试会话的DSCP和ECN字段的特定值。在一些实施例中,DSCP和ECN监视TWAMP扩展被用于实现在测试会话的正向和反向方向上检测DSCP和ECN的变化,但是仍然仅针对这些DSCP和ECN值的单个组合。现有的TWAMP-Test协议要求会话发送器和会话反射器设置的DSCP和ECN值在特定测试会话的生命期内保持不变。必须使用单独的TWAMP测试会话来测试多个DSCP和ECN组合,在按照每个组合(1∶1)来建立和拆除每个测试会话会时会产生大量开销。本发明的实施例克服了现有技术的这一缺点。
实施例通过添加一种指示会话反射器使用在接收到的TWAMP测试分组中定义的特定DSCP和ECN值来作为相应的反射的TWAMP测试分组中的DSCP和ECN值的机制,克服了用于监视DSCP和ECN的TWAMP过程的缺陷。结合将TWAMP扩展为包括必需的DSCP和ECN的特定DSCP和ECN监视TWAMP扩展,实施例提供了一组方法和系统,其可以利用该信息在单个测试会话中实现全面的DSCP和ECN监视。
实施例通过提供一种由网络实体使用的方法和装置克服了现有TWAMP协议的限制,该方法和装置协商会话反射器对DSCP和ECN的单侧双向监视的参数,以请求特定的DSCP和ECN监视模式。实施例提出了一种由网络设备使用的方法和装置,该方法和装置实现互联网协议(IP)网络中的DSCP和ECN监视,以指定在给定测试单模中使用的DSCP和ECN处理模式。RFC 5357规定了可用于协商和发信号通知用于TWAMP测试会话的参数的TWAMP控制协议。服务器问候消息中模式字段中的服务器列出会话反射器的能力。建立响应消息的模式字段中的控制客户端代表会话发送器来请求模式。每个服务器和控制客户端比较所通告的能力,并相应地设置用于会话发送器和会话反射器的测试模式。
在一个实施例中,在正向和反向方向上实现DSCP和ECN监视。检查会话反射器是否同时支持DSCP和ECN监视TWAMP扩展。TWAMP扩展是指RFC 5357中定义的基本TWAMP能力的修改和扩展。如果会话反射器可以处理DSCP和ECN监视,则会话反射器可以被配置用于至少处理往返测试(即,会话反射器支持DSCP和ECN监视TWAMP扩展)。如果会话反射器不支持DSCP和ECN监视,则控制客户端和服务器之间的TWAMP控制协议协商将不会启动TWAMP测试会话(即,在会话反射器不能支持DSCP和ECN监视的情况下)。在使用命令行界面(CLI)或中央控制器(例如,在SDN网络中)来配置TWAMP测试会话的参数的情况下,响应于CLI、Netconf或类似查询,可以基于由会话发送器和会话反射器报告的能力来完成模式选择。如果会话反射器支持DSCP和ECN监视或类似的TWAMP扩展,则可以进行正向和反向方向上的更详细的独立测试。相比于现有的TWAMP实施方式,这些实施例通过在单个TWAMP测试会话内,针对往返和/或单独的正向和反向测试执行新类型的IP性能测量、DSCP和ECN监视来提供了优点。实施例的特征可以被实现为TWAMP的扩展,在本文中被称为单测试会话多DSCP TWAMP扩展。
图1A是用于双向主动测量协议(TWAMP)的客户端控制实体的过程的一个实施例的流程图。实现控制客户端过程的实施例,其中,控制客户端由与实现服务器或服务器和会话反射器的网络设备通信的网络设备来实现。在一些实施例中,实现控制客户端的网络设备也可以实现会话发送器。该过程在TWAMP控制协议的操作环境,即TWAMP的控制平面中开始。服务器和控制客户端正在交换消息,包括与会话发送器和会话反射器的特性和/或能力有关的信息。控制客户端建立TCP连接以发起该协商。
在建立TCP连接之后,控制客户端从服务器接收包括会话反射器的特性和能力的服务器问候消息(框101)。服务器问候消息具体可以包括关于会话反射器是否支持DSCP和ECN监视TWAMP扩展和/或单测试会话多DSCP TWAMP扩展或类似能力的信息。这些TWAMP扩展使会话发送器能够生成并利用测试会话,其中在同一测试会话中测试多个DSCP和ECN,并且单个测试会话允许在会话发送器和会话反射器之间的正向和反向方向上进行独立测试。
控制客户端的过程检查接收到的会话反射器的特性,以检查其对这些TWAMP扩展的支持。该过程检查会话反射器是否支持单测试会话多DSCP TWAMP扩展,换句话说,会话反射器是否支持在单个测试会话中使用多个DSCP(框103)。如果会话反射器不支持单个测试会话中的多个DSCP,则该过程可以结束(框109),因为不能执行期望的单测试会话过程。在其他实施例中,该过程可以恢复使用多个测试会话来执行测试。如果会话反射器支持单测试会话多DSCP,则准备好建立响应消息以由控制客户端发送到服务器。可以更新该建立响应消息以指示要在相关联的测试会话中使用DSCP和ECN测试(框105),这意味着测试会话将利用会话反射器的这种功能。
然后,控制客户端检查会话反射器是否支持DSCP和ECN监视(框107)。如果会话反射器支持DSCP和ECN监视,则该过程在建立响应消息中添加指示符以指示要实现DSCP和ECN监视(框111)。如果会话反射器不支持DSCP和ECN监视,则该过程可以将建立响应消息转发到服务器(框115)。然后,服务器可以使用此信息并进行反馈,以配置会话反射器使用TWAMP来支持所需的测试会话配置。该过程可以通过由实现控制客户端的网络设备执行的TWAMP模块来实现。
图1B是用于由软件定义联网(SDN)控制器实现的TWAMP测试会话的协调器的过程的一个实施例的流程图。在该实施例中,确定会话反射器和会话发送器的能力的过程由测试会话管理器实现,该测试会话管理器是由中央控制器执行的协调器的形式。与控制客户端实现一样,测试会话管理器必须确定会话反射器和/或会话发送器的特性(框151)。会话反射器和/或会话发送器可以将其能力直接报告给中央控制器的协调器,或者控制客户端和服务器可以分别报告这些能力。在报告了能力之后,确定会话反射器是否支持在单个测试会话中使用多个DSCP(框153)。如果支持,则更新要被发送到会话反射器或服务器的配置消息以指示将要执行DSCP和ECN测试(框155)。如果不支持单个测试会话中的多个DSCP,则该过程可以结束测试会话的配置(框159),因为会话反射器不能支持它。这可能导致使用标准DSCP和ECN测试,针对每个DSCP和ECN组合使用单独的测试会话。
在更新配置消息之后,确定会话反射器和/或会话发送器是否支持对DSCP和ECN监视的支持(框157)。如果会话反射器(和会话发送器)支持DSCP和ECN监视,则可以更新配置消息以添加要利用DSCP和ECN监视的指示符(框161)。如果不支持DSCP和ECN监视,则完成配置消息并且可以将其发送到会话反射器或服务器来实现配置(框165)。已描述了对会话反射器进行配置,然而,本领域技术人员将理解,类似地,会话发送器可以被配置为以生成、设置和发送类似配置消息的等同方式来参与用于DSCP和ECN测试的测试会话。
图2是用于TWAMP的服务器的过程的一个实施例的流程图。服务器负责对会话反射器进行配置,以建立用于DSCP和ECN测试的TWAMP测试会话。可以通过向控制客户端发送服务器问候消息来发起该过程,该服务器问候消息包括会话反射器特性和能力,其中包括会话反射器是否支持单个测试会话中的多个DSCP(例如,通过单测试会话多DSCP TWAMP扩展)以及TWAMP的DSCP和ECN监视扩展(框201)。响应于发送该消息,服务器可以从控制客户端接收建立响应消息。建立响应消息可以指示包括在单个测试会话中使用多个DSCP的测试会话参数以及用于测试会话的DSCP和ECN监视参数(框203)。然后,服务器可以根据接收到的DSCP和ECN测试参数来配置会话反射器(框205)。
图3是用于TWAMP的会话发送器的过程的一个实施例的流程图。控制客户端配置会话发送器以启动与会话反射器的TWAMP测试会话。然后,会话发送器确定要测试的下一个初始正向DSCP和ECN,并确定要测试的下一个初始反向DSCP和ECN(框301)。然后,会话发送器生成包括下一个初始正向DSCP和ECN(例如,在IP首部或类似位置中)和下一个初始反向DSCP和ECN(例如,在第一测试分组的有效载荷或类似位置中)的第一测试分组(框303)。会话发送器发送所生成的具有所选择的正向和反向DSCP和ECN的第一测试分组,以如上所述在单个测试会话中使用(框305)。在其他实施例中,第一测试分组可以作为测试分组集合中的一个被发送。这些测试分组可以具有相同的DSCP和ECN组合。以这种方式,该过程可以确定该集合中的是否有任何测试分组被修改,因为一些测试分组可能被不同地处理或路由,并且发送测试分组集合而不是一个测试分组提高了发现这种情况的可能性。然而,为了清楚起见,主要参考发送单个测试分组来描述实施例。本领域技术人员将理解,原理、过程和结构还包括测试分组集合的使用。
第一个测试分组包括DSCP和ECN的两个集合,可以使用对要测试的组合进行迭代的任何算法来选择这两个集合。两个集合中的一个集合用于正向方向(例如,它可以在正向方向的IP首部中)和第二个集合用于反向方向(例如,当第二测试分组是针对反向集合生成时,该集合可以在将被会话反射器使用的有效载荷中)。以这种方式,可以分别测试两个方向(即,会话发送器到会话反射器,然后是会话反射器到会话发送器)。如果指定的初始正向DSCP和ECN到达会话反射器(即,正向方向)并且初始反向DSCP和ECN到达会话发送器(即,反向方向),则针对该组合的DSCP和ECN测试成功,表明DSCP和ECN在每个方向上都没有改变。如果DSCP或ECN在任一方向上发生变化,则可以知道在特定方向上发生变化,如果只能进行往返测试,则无法知道是哪一方向(即,正反方向使用相同的DSCP和ECN)。
响应于发送第一测试分组,会话发送器接收第二测试分组,该第二测试分组具有最终反向DSCP和ECN以及到达会话反射器的最终正向DSCP和ECN(框307)。第一测试分组和第二测试分组的正向传输和反向传输分别在相同的测试会话中发生。测试会话保持开放,并且该过程可以对任意数量的DSCP和ECN组合进行迭代,其中在正向和反向方向上使用单独的DSCP和ECN集合。当响应于第一测试分组发送第二测试分组时,可以通过单独的过程并行处理测试分组的发送和接收。为清楚起见,该过程被示为单个过程。但是,会话反射器返回的测试分组可以按任何顺序来处理,而不限于测试分组的串行处理。
在一些实施例中,可以检查接收到的第二测试分组是否是有效测试分组(框309)。有效性检查可以认证或类似地分析接收到的第二测试分组的内容和格式。如果第二测试分组无效,则可以重新发送第一测试分组。可以对尝试重新发送第一测试分组以获得有效响应第二测试分组的次数进行限制。如果分组有效,或者如果没有进行有效性检查,则该过程继续从第二测试分组收集最终正向和最终反向的DSCP和ECN(框311)。该信息可以被相关并存储在任何数据结构中,以跟踪所测试的每个DSCP和ECN组合的成功和失败。在发送和接收测试分组集合的情况下,可以单独或按组收集和分析每个集合。
然后确定是否已经测试了所有正向和反向的DSCP和ECN组合(框317)。如果是,则测试所有指定的DSCP和ECN组合的过程完成(框319)。如果仍然要在正向或反向方向上测试附加的DSCP和ECN组合,则确定要测试下一个DSCP和ECN组合(框301)。然后,该过程在相同的测试会话(即,相同的TCP连接和TWAMP测试会话)内继续,直到测试完所有指定的DSCP和ECN子集(其可以包括所有DSCP和ECN组合或其任何子集)。
图4是用于TWAMP的会话反射器的过程的一个实施例的流程图。会话反射器由服务器配置。会话反射器在测试会话内从会话发送器接收第一测试分组(框401)。如上所述,第一测试分组可以是测试分组集合中的一个测试分组,但是,当在会话反射器处被接收时,每个测试分组被单独处理。在一些实施例(未示出)中,可以验证第一测试分组,并且如果无效,则可以请求重新发送第一测试分组。会话反射器检查所接收的第一测试分组,并识别和收集正向方向的最终DSCP和ECN(框403)。然后,识别被设置为在反向方向的第二测试分组中使用的DSCP和ECN(框405)。要在反向方向上使用的DSCP和ECN可以在所接收的第一测试分组的有效载荷或类似部分中。在其他实施例中,例如在配置是经由中央控制器或CLI的情况下,反向DSCP和ECN可以由服务器提供,或类似地被配置在会话反射器处。
然后,会话反射器生成第二测试分组(框407)。所确定的反向方向的DSCP和ECN可以与任何其他相关信息一起被插入第二测试分组中。插入第二测试分组中的信息可以包括第一测试分组的最终正向DSCP和ECN,从而与反向方向测试分开地来报告正向方向的结果。可以将第一测试分组最终正向DSCP和ECN插入第二测试分组的有效载荷中。然后,所生成的第二测试分组在与正向方向上和该过程的任何先前迭代中使用的相同测试会话中被发送到会话发送器(框409)。在会话反射器不支持DSCP和ECN监视的实施例中,不执行对单独的反向DSCP和ECN进行识别,并且在响应消息中利用由会话反射器接收的相同DSCP和ECN。
图5是用于TWAMP的会话发送器实体的过程的一个示例实施例的流程图。该过程是测试会话的示例实施方式。在该示例实施方式中,会话发送器生成第一测试分组,该第一测试分组具有包括初始反向DSCP和ECN的有效载荷和具有初始正向DSCP和ECN的IP首部(框501)。在一些实施例中,第一测试分组可以是具有任何数量的具有相同DSCP和ECN的测试分组的测试分组集合的一部分。放置在有效载荷中的DSCP和ECN将用于反向测试。IP首部中的DSCP和ECN用于正向测试。然后,向会话反射器发送第一测试分组(框503)。响应于第一测试分组,会话反射器返回第二测试分组(框505)。第二测试分组包括有效载荷中的最终正向DSCP和ECN,其识别会话反射器在第一测试分组的正向方向上接收的实际DSCP和ECN,该实际DSCP和ECN可以与会话发送器发送的初始正向DSCP和ECN进行比较。第二测试分组的IP首部包括最终反向DSCP和ECN。可以将最终反向DSCP和ECN与包括在第一测试分组中的预期的初始反向DSCP和ECN进行比较。如果最终正向和反向DSCP和ECN与初始正向和反向DSCP和ECN不同,则会话发送器可以确定给定的DSCP和ECN组合是否在相应的正向或反向方向上被正确处理。该过程可以在单个TWAMP测试会话内实现。
图6是用于TWAMP的会话反射器实体的另一过程的一个示例实施例的流程图。该过程是对图5的会话发送器过程互补的示例实施方式。该过程由会话反射器实现。会话反射器从会话发送器接收第一测试分组(框601)。第一测试分组包括具有用于反向测试的初始反向DSCP和ECN的有效载荷。IP首部具有DSCP和ECN的第二集合,它们是最终正向DSCP和ECN,可以被返回到会话发送器以检查正向方向的DSCP和ECN是否在不改变的情况下被转发。
会话反射器生成具有IP首部的第二测试分组,该IP首部包含从会话发送器接收的消息的有效载荷中指定的初始反向DSCP和ECN(框603)。第二测试分组还包括来自所接收的第一测试分组的IP首部的最终正向DSCP和ECN。这可以放在第二测试分组的有效载荷中,由会话发送器进行检查。一旦完成第二测试分组,就可以将其发送到会话发送器(框605)。
图7是用于会话发送器TWAMP的又一过程的另一示例实施例的流程图。在该备选实施方式中,用于反向方向测试的DSCP和/或ECN不在第一测试分组中发送。相反,它由控制客户端/会话发送器和服务器/会话反射器来单独协商。在这种情况下,通过交换TWAMP控制消息或使用类似的机制来协商在会话发送器和会话反射器之间使用的DSCP和ECN(框701)。然后,会话发送器使用商定的用于正向方向的初始正向DSCP和ECN来生成第一测试分组(框703)。然后向会话反射器发送具有序列号、具有商定的初始正向DSCP和ECN的第一测试分组(框705)。已协商的DSCP和ECN组合可以用于在同一测试会话内发送的任意数量的测试分组,但是,在生成每个测试分组时序列号将增加。然后,会话反射器返回具有相同序列号的第二测试分组,并被会话发送器接收(框707)。使用序列号将第二测试分组与第一测试分组相关联(框709)。一旦关联,可以在会话发送器处执行验证。在反向方向上使用的DSCP和ECN可以是相同的,也可以是单独协商的。
图8是用于TWAMP的会话反射器实体的又一过程的另一示例实施例的流程图。在该备选实施方式中,用于反向方向测试的DSCP和ECN不在第一测试分组中发送。相反,它由控制客户端/会话发送器和服务器/会话反射器来单独协商。这与图7的会话发送器的过程互补。在这种情况下,通过交换TWAMP控制消息或使用类似的机制来协商在会话发送器和会话反射器之间使用的反向DSCP和ECN(框801)。然后,会话反射器使用商定的用于正向方向的初始DSCP和ECN来接收第一测试分组(框803)。然后,会话反射器使用所接收的第一测试分组中的序列号来生成具有商定的反向DSCP和ECN的第二测试分组(框805)。协商的DSCP和ECN可以用于在同一测试会话内测试的任何数量的测试分组;但是,在生成每个测试分组时,序列号将增加以区分测试分组。然后,由会话反射器发送具有相同序列号的第二测试分组(框807)。
图9是会话发送器和会话反射器之间的示例测试会话。该示例示出了会话发送器与会话反射器进行通信的方案。会话发送器和会话反射器在会话发送器和会话反射器之间建立连接,例如传输控制协议(TCP)。会话发送器包括DSCP和ECN监视器(例如,作为测试会话管理器或类似组件的一部分)。会话发送器生成并发送第一测试分组,该第一测试分组包括具有用于反向方向的初始反向DSCP和ECN(例如,DSCP A1和ECN B1)的有效载荷以及具有另一DSCP和ECN组合(例如,DSCP X1和ECN Y1)的IP首部。沿着路由的第一测试分组被修改,使得DSCP变为Z1。任何中间网络设备都可以修改DSCP和ECN。
会话反射器通过IP和UDP或TCP端口接收第一测试分组。会话反射器可以包括测试会话管理器或类似组件中的DSCP和ECN分组处理器。会话反射器生成具有IP首部的第二测试分组,该IP首部包括在第一测试分组有效载荷中指定的DSCP和ECN。在第一测试分组IP首部中接收的最终正向DSCP和ECN(例如,DSCP Z1和ECN Y1)也被添加到要在会话发送器处验证的有效载荷中的第二测试分组。在接收的第一测试分组有效载荷中指定的初始反向DSCP和ECN(例如,DSCP A1和ECN B1)被用作所发送的第二测试分组中的IP首部DSCP和ECN。在会话发送器处接收所发送的第二测试分组。在该示例情形中,IP首部中的ECN被修改(例如,ECN C1)。因此,正向和反向的测试被分开,从而允许会话发送器识别特定于正向和反向的DSCP和ECN的变化。
将参照其他附图的示例实施例来描述该流程图和其他流程图中的操作。然而,应当理解:流程图中的操作可以由本发明中除了参照其他附图描述的那些实施例之外的实施例来执行,且本发明的参照这些其他附图讨论的实施例可以执行与参照流程图来讨论的那些实施例不同的操作。
架构
图10A示出了根据本发明一些实施例的示例网络内的网络设备(ND)之间的连接性以及ND的三种示例实现。图10A示出了ND1000A~H,以及通过A~B、B~C、C~D、D~E、E~F、F~G、A~G之间和H与A、C、D和G中每一个之间的线示出了它们的连接性。这些ND是物理设备,且这些ND之间的连接性可以是无线的或有线的(经常被称为链路)。从ND 1000A、E和F延伸的附加线示出了:这些ND担当网络的入口点和出口点(且从而这些ND有时被称为边缘ND;而其他ND可以被称为核心ND)。
图10A中的两个示例ND实现是:1)专用网络设备1002,其使用定制的专用集成电路(ASIC)和专有操作系统(OS);以及2)通用网络设备1004,其使用常见的现货供应(COTS)处理器和标准OS。
专用网络设备1002包括联网硬件1010,联网硬件2210包括计算资源1012(其通常包括一个或多个处理器的集合)、转发资源1014(其通常包括一个或多个ASIC和/或网络处理器)、以及物理网络接口(NI)1016(有时被称为物理端口)、以及其中存储有联网软件1020的非瞬时机器可读存储介质1018。物理NI是ND中的硬件,通过该硬件进行网络连接(例如,通过无线网络接口控制器(WNIC)以无线方式或者通过将电线插入连接到网络接口控制器(NIC)的物理端口),例如由ND 1000A~H之间的连接所示出的那些连接。在操作期间,联网软件1020可以由联网硬件1010来执行,以实例化一个或多个联网软件实例1022的集合。每个联网软件实例1022以及联网硬件1010的执行该网络软件实例的部分(如果其是专用于该联网软件实例的硬件和/或由该联网软件实例与其他联网软件实例1022按时间共享的硬件的时间片)形成了单独的虚拟网络单元1030A~R。每个虚拟网络单元(VNE)1030A~R包括控制通信和配置模块1032A~R(有时被称为本地控制模块或控制通信模块)和转发表1034A~R,使得给定的虚拟网络单元(例如,1030A)包括控制通信和配置模块(例如,1032A)、一个或多个转发表的集合(例如,1034A)、以及联网硬件1010的执行虚拟网络单元(例如,1030A)的部分。
软件1020可以包括当由网络硬件1010执行时使网络硬件1010执行本发明的一个或多个实施例的操作的、作为部分联网软件实例1022的代码。软件1020可以包括测试会话管理器1064A,其包括实现服务器、控制客户端、会话发送器和/或会话反射器的方法的DSCP和ECN监视器和/或DSCP和ECN分组处理器。在一个实施例中,测试会话管理器1064A由服务器或控制客户端实现,DSCP和ECN监视由会话发送器实现,DSCP和ECN分组处理器由会话反射器实现。
专用网络设备1002经常在物理上和/或逻辑上被视为包括:1)ND控制平面1024(有时被称为控制平面),包括执行控制通信和配置模块1032A~R的计算资源1012;以及2)ND转发平面1026(有时被称为转发平面、数据平面、或媒体平面),包括利用转发表1034A~R的转发资源2214和物理NI 1016。作为ND是路由器(或实现路由功能)的示例,ND控制平面1024(执行控制通信和配置模块1032A~R的计算资源1012)通常负责参与控制如何路由(例如,数据的下一跳和该数据的输出物理NI)数据(例如,分组)并负责在转发表1034A~R中存储该路由信息,以及ND转发平面1026负责在物理NI 1016上接收该数据并基于转发表1034A~R将该数据转发出物理NI 1016中的恰当物理NI。
图10B示出了根据本发明一些实施例的用于实现专用网络设备1002的示例方式。图10B示出了包括卡1038(通常是可热插拔的)在内的专用网络设备。尽管在一些实施例中,卡1038具有两种类型(作为ND转发平面1026来工作的一个或多个(有时被称为线路卡)、以及进行工作以实现ND控制平面1024的一个或多个(有时被称为控制卡)),备选实施例可以将功能结合到单一卡上和/或包括附加卡类型(例如,一种附加类型的卡被称为服务卡、资源卡、或多应用卡)。服务卡可以提供特殊处理(例如,层4到层7服务(例如,防火墙、网际协议安全(IPsec)、安全套接字层(SSL)/传输层安全(TLS)、入侵检测系统(IDS)、对等(P2P)、基于IP的语音(VoIP)会话边界控制器、移动无线网关(网关通用分组无线电服务(GPRS)支持节点(GGSN)、演进分组核心(EPC)网关)))。作为示例,服务卡可以用于端接IPsec隧道,并执行伴随的认证和加密算法。这些卡通过示出为底板1036的一个或多个互联机制耦合在一起(例如,第一全网格耦合线路卡以及第二全网格耦合所有卡)耦合。
返回图10A,通用网络设备1004包括硬件1040,硬件2240包括一个或多个处理器1042(其经常是COTS处理器)的集合和网络接口控制器1044(NIC,也被称为网络接口卡)(其包括物理NI 1046)、以及其中存储有软件1050的非瞬时机器可读存储介质1048。在操作期间,处理器1042执行软件1050以实例化一个或多个应用程序1064A~R的一个或多个集合。虽然一个实施例不实现虚拟化,但是备选实施例可以使用不同形式的虚拟化——由虚拟化层1054和软件容器1062A~R来表示。例如,一个这样的备选实施例实现操作系统级虚拟化,在这种情况下,虚拟化层1054表示操作系统的内核(或在基础操作系统上执行的简化),其允许建立多个软件容器1062A~R,每个容器可以用于执行应用程序集合1064A~R中的一个应用程序。在该实施例中,多个软件容器1062A~R(也称为虚拟化引擎、虚拟专用服务器或jail)中的每一个都是用户空间实例(通常是虚拟存储器空间);这些用户空间实例彼此分开,并与运行操作系统的内核空间分开;除非明确允许,否则在给定用户空间中运行的应用程序集合不能访问其他进程的内存。另一个这样的备选实施例实现完全虚拟化,在这种情况下:1)虚拟化层1054表示在主机操作系统之上执行的管理程序(hypervisor,有时称为虚拟机监视器(VMM))或管理员;以及2)软件容器1062A~R,分别表示被称为虚拟机的紧密隔离形式的软件容器,其由管理程序运行并且可包括客户操作系统。虚拟机是将程序运行的好像它们在物理的、非虚拟化的机器上执行一样的物理机器的软件实现;以及应用一般不知道它们运行在虚拟机上还是运行在“裸机”的主机电子设备上,然而出于优化目的,一些系统提供允许操作系统或应用能够意识到存在虚拟化的准虚拟化(para-virtualization)。
一个或多个应用程序1064A~R的一个或多个集合以及虚拟化层1054和软件容器1062A~R(如果实现的话)的实例化统称为软件实例1052。应用程序1064A~R的每个集合、相应的软件容器1062A~R(如果实现的话)、以及执行它们的硬件1040的部分(可以是专用于该执行的硬件和/或软件容器1062A~R临时共享的硬件的时间片),形成分隔的虚拟网络单元1060A~R。
虚拟网络单元1060A~R执行与虚拟网络单元1030A~R类似的功能,例如,类似于控制通信和配置模块1032A和转发表1034A(硬件1040的这种虚拟化有时被称为网络功能虚拟化(NFV))。从而,NFV可以用于将很多网络设备类型统一到工业标准高容量服务器硬件、物理交换机、和物理存储器,它们可以位于数据中心、ND、和客户住宅设备(CPE)中。然而,本发明的不同实施例可以用不同方式来实现软件容器1062A~R中的一个或多个。例如,尽管将本发明的实施例示出为每个虚拟机1062A~R对应于一个VNE 1060A~R,备选实施例可以在更精细级别粒度上实现该对应关系(例如,线路卡虚拟机虚拟化线路卡,控制卡虚拟机虚拟化控制卡等);应当理解,本文参考软件容器1062A~R与VNE的对应关系来描述的技术同样适用于使用这种更精细级别粒度的实施例。
在某些实施例中,虚拟化层1054包括提供与物理以太网交换机类似的转发服务的虚拟交换机。具体地,该虚拟交换机在软件容器1062A~R和NIC 1044之间转发业务,以及可选地在软件容器1062A~R之间转发业务;此外,该虚拟交换机可以在策略不允许VNE1060A~R彼此通信通信时强制执行它们之间的网络隔离(例如,通过执行虚拟局域网(VLAN))。
软件1050可以包括当由处理器1042执行时使处理器1042执行本发明的一个或多个实施例的操作的、作为部分软件容器1062A~R的代码。软件1050可以包括测试会话管理器1065A,其包括实现服务器、控制客户端、会话发送器和/或会话反射器的方法的DSCP和ECN监视器和/或DSCP和ECN分组处理器。在一个实施例中,测试会话管理器1064A由服务器或控制客户端实现,DSCP和ECN监视由会话发送器实现,DSCP和ECN分组处理器由会话反射器实现。
图10A中的第三示例ND实现是混合网络设备1006,其在单一ND或ND内的单一卡中包括定制ASIC/专有OS和COTS处理器/标准OS。在这种混合网络设备的某些实施例中,平台VM(即,实现专用网络设备1002的功能的VM)可以向混合网络设备1006中存在的联网硬件提供准虚拟化。
不管ND的上述示例实现如何,当考虑由ND实现的多个VNE中的单一一个VNE时,或者在NV当前仅实现单一VNE的情况下,缩写的术语网络单元(NE)有时被用于指代该VNE。同样在全部上述示例实现中,每个VNE(例如,VNE 1030A~R、VNE 1060A~R、以及混合网络设备1006中的那些)在物理NI(例如,1016、1046)上接收数据并将该数据转发出物理NI(例如,1016、1046)中的恰当物理NI。例如,实现IP路由器功能的VNE基于IP分组中的一些IP首部信息来转发IP分组;其中IP首部信息包括源IP地址、目的IP地址、源端口、目的端口(其中“源端口”和“目的端口”在此指代协议端口,与ND的物理端口相对)、传输协议(例如,用户数据报文协议(UDP)、传输控制协议(TCP)和差异化服务编码点(DSCP)值。
图10C示出了根据本发明一些实施例的可以耦合VNE的各种示例方式。图10C示出了在ND 1000H中实现的VNE 1070A.1~2270A.P(以及可选的VNE 1070A.Q~1070A.R)以及ND 1000H中的VNE 1070H.1。在图10C中,VNE 1070A.1~P在以下意义上是彼此分离的:它们可以从ND 1000A外部接收分组并向ND 1000外部转发分组。VNE 1070A.1与VNE 1070H.1耦合,从而它们在其各自ND之间传输分组;VNE 1070A.2~1070A.3可以可选地在它们之间转发分组,而不向ND 1000A外部转发分组;以及VNE 1070A.P可以可选地是VNE链中的第一个,该VNE链包括VNE 1070A.Q,之后包括VNE 1070A.R(有时这被称为动态服务链接,其中,一系列VNE中的每个VNE提供不同服务——例如,一个或多个层4~7网络服务)。尽管图10C示出了VNE之间的各种示例关系,备选实施例可以支持其他关系(例如,更多/更少的VNE、更多/更少的动态服务链、具有公共VNE和一些不同VNE的多个不同动态服务链)。
图10A的ND例如可以形成互联网或私有网络的一部分;以及其他电子设备(未示出,例如端用户设备,包括工作站、膝上型计算机、上网本、平板电脑、掌上上型计算机、移动电话、智能电话、平板手机、多媒体电话、基于网际协议的语音(VoIP)电话、终端、便携式媒体播放器、GPS单元、可穿戴设备、游戏系统、机顶盒、支持互联网的家用电器)可以耦合到网络(直接或通过诸如接入网之类的其他网络),以通过网络(例如,互联网或覆盖(例如,隧道传输)在互联网上的虚拟私有网络(VPN))彼此通信(直接或通过服务器)和/或访问内容和/或服务。这种内容和/或服务通常由属于服务/内容提供商的一个或多个服务器(未示出)或参与对等(P2P)服务的一个或多个端用户设备(未示出)来提供,且可以包括例如公开网页(例如,自由内容、商店前端页面、搜索服务)、私有网页(例如,提供电子邮件服务的用户名/密码访问网页)、和/或基于VPN的公司网络。例如,端用户设备可以耦合(例如,通过(无线或有线)耦合到接入网的客户住宅设备)到边缘ND,边缘ND耦合(例如,通过一个或多个核心ND)到其他边缘ND,该其他边缘ND耦合到担当服务器的电子设备。然而,通过计算和存储虚拟化,作为图10A中ND来工作的一个或多个电子设备还可以提供一个或多个这种服务器(例如,在通用网络设备1004的情况下,软件容器1062A~R中的一个或多个可以作为服务器工作;这对于混合网络设备1006来说也将是正确的;在专用网络设备1002的情况下,一个或多个这种服务器还可以运行在由计算资源1012执行的虚拟层上);在该情况下,服务器被称为是与该ND的VNE同处一地。
虚拟网络是提供网络服务(例如,L2和/或L3服务)的物理网络(例如,图10A中的那个物理网络)的逻辑抽象。虚拟网络可以实现为在底层网络(例如,L3网络,如使用隧道(例如,通用路由封装(GRE)、层2隧道传输协议(L2TP)、IPSec)来创建覆盖网络的网际协议(IP)网络)上提供网络服务(例如,层2(L2,数据链路层)和/或层3(L3,网络层)服务)的覆盖网络(有时被称为网络虚拟覆盖)。
网络虚拟边缘(NVE)位于底层网络的边缘处,并参与实现网络虚拟化;NVE的面向网络侧使用底层网络向其他NVE隧道传输帧以及隧道传输来自其他NVE的帧;NVE的面向外部侧向网络外部的系统发送数据和从网络外部的系统接收数据。虚拟网络实例(VNI)是NVE上虚拟网络的特定实例(例如,ND上的NE/VNE、ND上NE/VNE的一部分,其中,通过仿真将该NE/VNE分为多个VNE);可以在NVE上实例化一个或多个VNI(例如,作为ND上的不同VNE)。虚拟接入点(VAP)是NVE上用于将外部系统连接到虚拟网络的逻辑连接点;VAP可以是通过逻辑接口标识符(例如,VLAN ID)来识别的物理或虚拟端口。
网络服务的示例包括:1)以太网LAN仿真服务(类似于互联网工程任务组(IETF)多协议标签交换(MPLS)或以太网VPN(EVPN)服务的基于以太网的多点服务),其中,外部系统通过基于底层网络的LAN环境跨网络互连(例如,NVE针对不同的这种虚拟网络提供分离的L2VNI(虚拟交换实例),以及提供跨底层网络的L3(例如,IP/MPLS)隧道传输封装);以及2)虚拟化IP转发服务(从服务定义角度来说,类似于IETF IP VPN(例如,边界网关协议(BGP)/MPLS IPVPN),其中,外部系统通过基于底层网络的L3环境跨网络互连(例如,NVE针对不同的这种虚拟网络提供分离的L3VNI(转发和路由实例),以及提供跨底层网络的L3(例如,IP/MPLS)隧道传输封装)。网络服务还可以包括服务质量能力(例如,业务分类标记、业务调节(conditioning)和调度)、安全能力(例如,用于保护客户住宅免受源自网络的攻击的过滤器,以避免有缺陷的路由公告)、以及管理能力(例如,完全检测和处理)。
图10D示出了根据本发明一些实施例的在图10A的每个ND上具有单一网络单元的网络,在该直接方案中,对比了(传统路由器常用的)传统分布式方案与用于维护可达性和转发信息(也被称为网络控制)的集中式方案。具体地,图10D示出了具有与图10A的ND1000A~H相同连接性的网络单元(NE)1070A~H。
图10D示出了分布式方案1072将用于生成可达性和转发信息的责任分布在NE1070A~H上;换言之,邻居发现和拓扑发现的过程是分布式的。
例如,在使用专用网络设备1002的情况下,ND控制平面2224的控制通信和配置模块1032A~R通常包括用于实现一个或多个路由协议的可达性和转发信息模块(例如,诸如边界网关协议(BGP)之类的外部网关协议、内部网关协议(IGP)(例如,开放最短路径优先(OSPF)、中间系统对中间系统(IS-IS)、路由信息协议(RIP))、标签分布协议(LDP)、资源预留协议(RSVP)、以及RSVP-业务工程(TE):用于LSP隧道的RSVP扩展、通用多协议标签交换(GMPLS)信令RSVP-TE,其与其他NE通信以交换路由,然后基于一个或多个路由度量来选择那些路由。从而,NE 1070A~H(例如,执行控制通信和配置模块1032A~R的计算资源1012)通过分布式地确定网络内的可达性并计算其各自的转发信息来执行其参与控制如何路由(例如,数据的下一跳以及该数据的输出物理NI)数据(例如,分组)的责任。路由和邻接关系存储在ND控制平面1024上的一个或多个路由结构中(例如,路由信息库(RIB)、标签信息库(LIB)、一个或多个邻接关系结构)。ND控制平面1024使用基于路由结构的信息(例如,邻接关系和路由信息)对ND转发平面1026编程。例如,ND控制平面1024将邻接关系和路由信息编程到ND转发平面1026上的一个或多个转发表1034A~R(例如,转发信息库(FIB)、标签转发信息库(LFIB)、以及一个或多个邻接关系结构)中。对于层2转发,ND可以存储一个或多个桥接表,该一个或多个桥接表用于基于该数据中的层2信息来转发数据。尽管上面的示例使用了专用网络设备1002,相同的分布式方案1072可以实现在通用网络设备1004和混合网络设备1006上。
图10D示出了集中式方案1074(也被称为软件定义的联网(SDN)),其将做出与从底层系统(该底层系统向所选目的地转发业务)发送业务的位置有关的决定的系统加以去耦合。所示出的集中式方案1074具有用于在集中式控制平面1076(有时被称为SDN控制模块、控制器、网络控制器、开放流控制器、SDN控制器、控制平面节点、网络虚拟化机构、或管理控制实体)中生成可达性和转发信息的责任,并从而使得邻居发现和拓扑发现的过程集中式。集中式控制平面1076具有针对数据平面1080(有时被称为基础架构层、网络转发平面、或转发平面(其不应当与ND转发平面相混淆))的南向接口(south bound interface)1082,该数据平面1080包括NE 1070A~H(有时被称为交换机、转发元件、数据平面元件、或节点)。集中式控制平面1076包括网络控制器1078,网络控制器2278包括确定网络内的可达性并通过南向接口1082向数据平面1080的NE 1070A~H分发转发信息的集中式可达性和转发信息模块1079(其可以使用开放流协议)。从而,在通常与ND分离的电子设备上执行的集中式控制平面1076中将网络情报(network intelligence)集中式。
例如,在数据平面1080中使用专用网络设备1002的情况下,ND控制平面1024的每个控制通信和配置模块1032A~R通常包括提供南向接口1082的VNE侧的控制代理。在该情况下,ND控制平面1024(执行控制通信和配置模块1032A~R的计算资源1012)通过与集中式控制平面1076通信的控制代理来执行其参与控制如何路由(例如,数据的下一跳和该数据的输出物理NI)数据(例如,分组)的责任,以从集中式可达性和转发信息模块1079接收转发信息(以及在一些情况下的可达性信息)(应当理解:在本发明的一些实施例中,除了与集中式控制平面1076通信之外,控制通信和配置模块1032A~R还可以在确定可达性和计算转发信息时扮演某个角色-尽管不像分布式方案情况下那么多;这种实施例一般被视为落入集中式方案1074中,但也可以被视为是混合方案)。
尽管上述示例使用了专用网络设备1002,可以使用通用网络设备1004和混合网络设备1006来实现同样的集中式方案1074(例如,每个VNE 1060A~R通过与集中式控制平面1076通信来执行其控制如何路由(例如,该数据的下一跳和该数据的输出物理NI)数据(例如,分组)的责任,以从集中式可达性和转发信息模块1079接收转发信息(以及在一些情况下,可达性信息);应当理解:在本发明的一些实施例中,除了与集中式控制平面1076通信之外,VNE 1060A~R还可以在确定可达性和/或计算转发信息时扮演某个角色——尽管不像分布式方案情况下那么多)。事实上,对SDN技术的使用可以增强通常在通用网络设备1004或混合网络设备1006实现中使用的NFV技术,因为NFV能够通过提供其上可以运行SDN软件的基础架构来支持SDN,且因为NFV和SDN都打算利用商品服务器硬件和物理交换机。
在一些实施例中,集中控制平面1064可以包括作为测试会话管理器或协调器1081的一部分的代码,该代码在由网络设备执行时使得网络设备执行本发明的一个或多个实施例的操作。测试会话管理器或协调器1081如上所述地配置会话发送器和会话反射器。
图10D还示出了集中式控制平面1076具有针对应用层1086的北向接口1084,在应用层2286中驻留有应用1088。集中式控制平面1076具有针对应用1088来形成虚拟网络1092(有时被称为逻辑转发平面、网络服务、或覆盖网络(且数据平面1080的NE 1070A~H是底层网络))的能力。从而,集中式控制平面1076维护所有ND和所配置的NE/VNE的全局视图,且其将虚拟网络高效地映射到底层ND(包括当物理网络通过硬件(ND、链路、或ND组件)故障、添加、或移除来改变时维护这些映射)
尽管图10D示出了与集中式方案1074不同的分布式方案1072,在本发明的某些实施例中,网络控制的工作可以用不同方式分布或者这二者可以结合。例如:1)实施例一般可以使用集中式方案(SDN)1074,但是具有委托给NE的某些功能(例如,分布式方案可以用于实现故障监视、性能监视、保护切换、以及用于邻居和/或拓扑发现的原语中的一项或多项);或者2)本发明的实施例可以经由集中式控制平面和分布式协议这二者来执行邻居发现和拓扑发现,且比较结果以在它们不一致的地方提出异常。这种实施例一般被视为落入集中式方案1074中,但也可以被视为是混合方案。
尽管图10D示出了每个ND 1000A~H实现单一NE 1070A~H的简单情况,应当理解:参照图10D描述的网络控制方案同样适用于一个或多个ND 1000A~H实现多个VNE(例如,VNE 1030A~R、VNE 1060A~R、在混合网络设备1006中的那些)的网络。备选地或附加地,网络控制器1078还可以对在单一ND中实现多个VNE加以仿真。具体地,取代(或除了)在单一ND中实现多个VNE(之外),网络控制器1078(还)可以将单一ND中的VNE/NE的实现呈现为虚拟网络1092中的多个VNE(在同一个虚拟网络1092中的全部、不同虚拟网络1092中的每一个、或某种组合)。例如,网络控制器1078可以使得ND在底层网络中实现单一VNE(NE),然后对集中式控制平面1076内的该NE的资源进行逻辑分割,以在虚拟网络1092中呈现不同的VNE(其中,底层网络中的这些不同VNE共享底层网络中ND上的单一VNE/NE实现的资源)。
另一方面,图10E和10F分别示出了NE和VNE的示例抽象,网络控制器1078可以将其作为不同的虚拟网络1092的一部分来呈现。图10E示出了根据本发明一些实施例的以下简单情况:ND 1000A~H中的每一个实现单一NE 1070A~H(参见图10D),而集中式控制平面1076将不同ND中的多个NE(NE 1070A~C和G~H)抽象为(以表示)图10D的虚拟网络1092之一中的单一NE 1070I。图10E示出了:在该虚拟网络中,NE 1070I耦合到NE 1070D和1070F,它们都依然耦合到NE 1070E。
图10F示出了根据本发明一些实施例的以下情况:在不同ND(ND1000A和ND 1000H)上实现多个VNE(VNE 1070A.1和VNE 1070H.1)并且多个VNE彼此耦合,以及集中式控制平面1076将这些多个VNE加以抽象,使得他们表现为图10D的虚拟网络1092之一中的单一VNE1070T。从而,NE或VNE的抽象可以跨多个ND。
尽管本发明的一些实施例将集中式控制平面1076时限为单一实体(例如,单一电子设备运行的软件的单一实例),备选实施例可以出于冗余和/或可扩缩性的目的将功能分散在多个实体上(例如,不同电子设备上运行的软件的多个实例)。
类似于网络设备实现,可以用各种方式(例如,专用设备、通用(例如,COTS)设备、或混合设备)来实现集中式控制平面1076上运行的电子设备,且从而实现包括集中式可达性和转发信息模块1079在内的网络控制器1078。这些电子设备将类似地包括计算资源、一个或多个物理NIC的集合、以及其上存储有集中式控制平面软件的非瞬时机器可读存储介质。例如,图11示出了包括硬件1140在内的通用控制平面设备1104,硬件2340包括一个或多个处理器1142(其经常是COTS处理器)的集合和网络接口控制器1144(NIC;也被称为网络接口卡)(其包括物理NI 1146)、以及其中存储有集中式控制平面(CCP)软件1150的非瞬时机器可读存储介质1148。
在使用计算虚拟化的实施例中,处理器1142通常执行软件以实例化虚拟化层1154和软件容器1162A~R(例如,利用操作系统级虚拟化,虚拟化层1154表示操作系统的内核(或在基础操作系统上执行的简化),其允许建立多个软件容器1162A~R(表示分隔的用户空间实例,也称为虚拟化引擎、虚拟专用服务器或监狱),每个软件容器可用于执行一组一个或多个应用程序;在完全虚拟化的情况下,虚拟化层1154表示管理程序(有时称为虚拟机监视器(VMM))或在主机操作系统之上执行的管理程序,并且软件容器1162A~R分别表示紧密隔离形式的、被称为虚拟机的软件容器,虚拟机由虚拟机管理程序运行且可以包括客户操作系统;对于半虚拟化,运行虚拟机的操作系统或应用程序可能会意识到存在虚拟化以用于优化目的)。同样,在使用计算虚拟化的实施例中,在操作期间,CCP软件1150的实例(示为CCP实例1176A)在虚拟化层1154之上的软件容器1162A内执行。在不使用计算虚拟化的实施例中,在主机操作系统之上的CCP实例1176A在“裸机”通用控制平面设备1104上执行。CCP实例1176A以及虚拟化层1154和软件容器1162A~R(如果实现的话)的实例化统称为软件实例1152。
在一些实施例中,CCP实例1176A包括网络控制器实例1178。网络控制器实例1178包括:集中式可达性和转发信息模块实例1179(其是向操作系统提供网络控制器1078的上下文并与各种NE通信的中间件层)、以及中间件层上的CCP应用层1180(有时被称为应用层)(提供各种网络操作所要求的情报,例如协议、网络情景察觉、以及用户接口)。在更为抽象的级别上,集中式控制平面1076中的该CCP应用层1180使用虚拟网络视图(网络的逻辑视图)来工作,且中间件层提供从虚拟网络到物理视图的转换。
在一些实施例中,控制平面设备1104可以包括作为测试会话管理器或协调器1181的一部分的代码,该代码在被执行时使得控制平面设备执行本发明的一个或多个实施例的操作。测试会话管理器或协调器1181如上所述地配置会话发送器和会话反射器。
集中式控制平面1076基于针对每个流的CCP应用层1180计算和中间件层映射向数据平面1080发送相关消息。流可以被定义为具有匹配给定比特模式的首部的分组集合;在该意义下,传统IP转发也是基于流的转发,其中,通过例如目的IP地址来定义流;然而,在其他实现中,用于流定义的给定比特模式可以在分组首部中包括更多的字段(例如,10个或更多个)。数据平面1080的不同ND/NE/VNE可以接收不同消息,且从而接收不同的转发信息。数据平面1080处理这些消息,并将恰当的流信息和对应动作编程到恰当NE/VNE的转发表(有时被称为流表)中,然后NE/VNE可以将进入的分组映射到转发表中表示的流,并基于转发表中的匹配来转发分组。
诸如开放流之类的标准定义了用于消息的协议以及用于处理分组的模型。用于处理分组的模型包括:首部解析、分组分类、以及做出转发决定。首部解析描述了如何基于已知的协议集合来解释分组。一些协议字段用于构建匹配结构(或键),该匹配结构(或键)将在分组分类中使用(例如,第一键字段可以是源媒体访问控制(MAC)地址,以及第二键字段可以是目的MAC地址)。
分组分类涉及在存储器中执行查找,以通过基于转发表条目的匹配结构、或键来确定转发表中的哪个条目(也被称为转发表条目或流条目)最佳匹配分组对分组进行分类。转发表条目中表示的很多流可以对应于/匹配分组是可能的;在该情况下,系统通常被配置为根据定义方案从很多转发表条目中确定一个转发表条目(例如,选择匹配的第一个转发表条目)。转发表条目包括匹配标准的特定集合(值集合或通配符、或者对分组的什么部分应当与特定值/多个特定值/通配符进行比较的指示、如匹配能力所定义的-针对分组首部中的特定字段或者对于某个其他分组内容)以及在接收到匹配分组时针对数据平面要采取的一个或多个动作的集合。例如,动作可以是:针对使用特定端口的分组,将首部推到分组上,对分组进行泛洪(flood),或简单地丢弃该分组,。从而,具有特定传输控制协议(TCP)目的端口的IPv4/IPv6分组的转发表条目可以包含指定这些分组应当被丢弃的动作。
基于在分组分类期间识别出的转发表条目,做出转发决定并执行动作通过针对分组来执行在匹配的转发表条目中识别出的动作集合来发生。
然而,当未知分组(例如,如开放流用语中使用的“错失分组”或“匹配错失”)到达数据平面1080处时,通常向中心控制平面1076转发该分组(或分组首部和内容的子集)。然后集中式控制平面1076将转发表条目编程到数据平面1080中,以适应属于该未知分组的流的分组。一旦集中式控制平面1076将特定转发表条目编程到数据平面1080中,则具有匹配凭证的下一个分组将匹配该转发表条目并采取与所匹配条目相关联的动作集合。
已经在计算机存储器内的数据位的事务的算法和符号表示方面呈现了本发明详细描述的一些部分。这些算法和表示是数据处理领域的技术人员通常用来向本领域的其他技术人员传播他们的工作内容的方式。算法在这里通常被设想为导致期望结果的自相一致的事务顺序。事务是需要对物理量的物理操纵的步骤。通常(尽管并不一定),这些量采用能够被存储、传送、组合、比较和以其它方式操纵的电或磁信号的形式。已证明为了方便,主要为了通常使用的原因,这些信号可以利用比特、值、元素、符号、特征、项、数字等来进行表示。
然而,应当记住,所有这些和类似的术语将与适当的物理量相关联,并且仅仅是应用于这些量的方便的标记。除非如以上讨论中显而易见的另行明确声明,否则应当意识到:在说明书全文中,使用诸如“处理”或“运算(computing)”或“计算(calculating)”或“确定”或“显示”等之类的术语的讨论指代计算机系统或类似电子计算设备的动作和进程,该计算机系统或类似电子计算设备将表示计算机系统的寄存器和存储器中的物理(电子)量的数据操作和变换为类似表示为计算机系统存储器或寄存器或其他这种信息存储、传输或显示设备中的物理量的其他数据。
这里给出的算法和显示并非固有地与任何特定计算机或其他装置相关。各种通用系统可以与根据本文的教导的程序一起使用,或者可以证明能够方便地构造更专门的装置来执行所需的方法事务。从上面的描述中可以看出各种这些系统所需的结构。另外,没有参考任何特定编程语言描述本发明的实施例。应当理解,可以使用各种编程语言来实现如本文所述的本发明实施例的教导。
在前述说明书中,已经参考本发明的特定示例性实施例描述了本发明的实施例。显而易见的是,在不脱离所附权利要求中阐述的本发明的更广泛的精神和范围的情况下,可以对其进行各种修改。因此,说明书和附图应当被看做说明性的而不是限制意义的。
在整个说明书中,已经通过流程图呈现了本发明的实施例。应当理解,这些流程图中描述的事务和事务顺序仅用于说明目的,而不是作为对本发明的限制。本领域普通技术人员将认识到,在不脱离所附权利要求中阐述的本发明的更广泛精神和范围的情况下,可以对流程图进行变化。
Claims (15)
1.一种由实现控制客户端的网络设备执行的方法,所述方法用于配置会话发送器执行测试以在会话发送器和会话反射器之间的正向方向和反向方向上在单个测试会话中确定差异化服务编码点DSCP和显式拥塞通知ECN是否被修改,其中使用所述单个测试会话来测试多个DSCP和ECN,所述方法包括:
从服务器接收包括会话反射器的特性的服务器问候消息;
确定会话反射器是否支持在所述单个测试会话中使用多个DSCP;
响应于确定所述会话反射器支持在所述单个测试会话中使用多个DSCP,设置建立响应消息以指示DSCP和ECN测试;
确定会话反射器是否支持DSCP和ECN监视;
响应于确定会话反射器支持DSCP和ECN监视,在所述建立响应消息中添加DSCP和ECN监视的指示符;以及
向服务器发送所述建立响应消息。
2.根据权利要求1所述的方法,其中,所述服务器问候消息包括指示会话反射器支持在所述单个测试会话中使用多个DSCP的字段。
3.根据权利要求1所述的方法,其中,所述服务器问候消息包括指示会话反射器支持DSCP和ECN监视的字段。
4.一种由实现服务器的网络设备执行的方法,所述方法用于配置会话反射器执行测试以在会话发送器和会话反射器之间的正向方向和反向方向上在单个测试会话中确定差异化服务编码点DSCP和显式拥塞通知ECN是否被修改,其中使用所述单个测试会话来测试多个DSCP和ECN,所述方法包括:
向控制客户端发送包括会话反射器特性的服务器问候消息,所述会话反射器特性包括支持在会话中使用多个DSCP和ECN;
从控制客户端接收指示DSCP和ECN测试参数的建立响应消息;以及
根据所述DSCP和ECN测试参数来配置会话反射器。
5.根据权利要求4所述的方法,其中,所述DSCP和ECN测试参数包括多个DSCP和ECN测试或DSCP和ECN监视参数。
6.一种实现客户端控制器的网络设备,所述网络设备用于配置会话发送器执行测试以在会话发送器和会话反射器之间的正向方向和反向方向上在单个测试会话中确定差异化服务编码点DSCP和显式拥塞通知ECN是否被修改,其中使用所述单个测试会话来测试多个DSCP和ECN,所述网络设备包括:
非暂时性机器可读介质,其中存储有测试会话管理器;以及
处理器,耦合到所述非暂时性机器可读介质,所述处理器用于执行所述测试会话管理器,所述测试会话管理器被配置为:从服务器接收包括会话反射器的特性的服务器问候消息;确定会话反射器是否支持在所述单个测试会话中使用多个DSCP;响应于确定所述会话反射器支持在所述单个测试会话中使用多个DSCP,设置建立响应消息以指示DSCP和ECN测试;确定会话反射器是否支持DSCP和ECN监视;响应于确定会话反射器支持DSCP和ECN监视,在所述建立响应消息中添加DSCP和ECN监视的指示符;以及向服务器发送所述建立响应消息。
7.根据权利要求6所述的网络设备,其中,所述服务器问候消息包括指示会话反射器支持在所述单个测试会话中使用多个DSCP的字段。
8.根据权利要求6所述的网络设备,其中,所述服务器问候消息包括指示会话反射器支持DSCP和ECN监视的字段。
9.一种实现服务器的网络设备,所述网络设备用于配置会话反射器执行测试以在会话发送器和会话反射器之间的正向方向和反向方向上在单个测试会话中确定差异化服务编码点DSCP和显式拥塞通知ECN是否被修改,其中使用所述单个测试会话来测试多个DSCP和ECN,所述网络设备包括:
非暂时性机器可读介质,其中存储有测试会话管理器;以及
处理器,耦合到所述非暂时性机器可读介质,所述处理器用于执行所述测试会话管理器,所述测试会话管理器被配置为:向控制客户端发送包括会话反射器特性的服务器问候消息,所述会话反射器特性包括支持在会话中使用多个DSCP和ECN;从控制客户端接收指示DSCP和ECN测试参数的建立响应消息;以及根据所述DSCP和ECN测试参数来配置会话反射器。
10.根据权利要求9所述的网络设备,其中,所述DSCP和ECN测试参数包括多个DSCP和ECN测试或DSCP和ECN监视参数。
11.一种计算设备,所述计算设备与具有多个网络设备的网络中的网络设备通信,所述计算设备执行用于实现网络功能虚拟化NFV的多个虚拟机,其中所述多个虚拟机中的虚拟机执行服务器以配置会话反射器执行测试以在会话发送器和会话反射器之间的正向方向和反向方向上在单个测试会话中确定差异化服务编码点DSCP和显式拥塞通知ECN是否被修改,其中使用所述单个测试会话来测试多个DSCP和ECN,所述计算设备包括:
非暂时性机器可读介质,其中存储有测试会话管理器;以及
处理器,耦合到所述非暂时性机器可读介质,所述处理器用于执行虚拟机,所述虚拟机用于执行所述测试会话管理器,所述测试会话管理器被配置为:向控制客户端发送包括会话反射器特性的服务器问候消息,所述会话反射器特性包括支持在会话中使用多个DSCP和ECN;从控制客户端接收指示DSCP和ECN测试参数的建立响应消息;以及根据所述DSCP和ECN测试参数来配置会话反射器。
12.根据权利要求11所述的计算设备,其中,所述服务器问候消息包括指示会话反射器支持在所述单个测试会话中使用多个DSCP的字段。
13.根据权利要求11所述的计算设备,其中,所述服务器问候消息包括指示会话反射器支持DSCP和ECN监视的字段。
14.一种控制平面设备,被配置为实现包括多个网络设备的软件定义联网SDN网络的控制平面,其中,所述控制平面设备被配置为执行一种方法来实现协调器,以执行测试以在会话发送器和会话反射器之间的正向方向和反向方向上在单个测试会话中确定差异化服务编码点DSCP和显式拥塞通知ECN是否被修改,其中使用所述单个测试会话来测试多个DSCP和ECN,所述控制平面设备包括:
非暂时性机器可读介质,其中存储有协调器;以及
处理器,耦合到所述非暂时性机器可读介质,所述处理器用于执行所述协调器,所述协调器被配置为:确定会话反射器的特性;确定会话反射器是否支持在单个测试会话中使用多个DSCP;响应于确定所述会话反射器支持在所述单个测试会话中使用多个DSCP,设置配置消息以指示DSCP和ECN测试;确定会话反射器是否支持DSCP和ECN监视;响应于确定会话反射器支持DSCP和ECN监视,在所述配置消息中添加DSCP和ECN监视的指示符;以及向会话发送器和会话反射器发送所述配置消息。
15.根据权利要求14所述的控制平面设备,其中,所述配置消息包括标识要被测试的DSCP和ECN值的字段。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2016/050615 WO2017134488A1 (en) | 2016-02-05 | 2016-02-05 | Method and apparatus for control plane to configure monitoring of differentiated service code point (dscp) and explicit congestion notification (ecn) |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108604997A CN108604997A (zh) | 2018-09-28 |
CN108604997B true CN108604997B (zh) | 2021-03-02 |
Family
ID=55405384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680081075.4A Active CN108604997B (zh) | 2016-02-05 | 2016-02-05 | 用于对差异化服务编码点(dscp)和显式拥塞通知(ecn)的监视进行配置的控制平面的方法和设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10965576B2 (zh) |
EP (1) | EP3412003B1 (zh) |
CN (1) | CN108604997B (zh) |
WO (1) | WO2017134488A1 (zh) |
ZA (1) | ZA201805301B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10965577B2 (en) * | 2016-02-05 | 2021-03-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for data plane to monitor differentiated services code point (DSCP) and explicit congestion notification (ECN) |
US10613958B2 (en) | 2018-03-12 | 2020-04-07 | Spirent Communications, Inc. | Secure method for managing a virtual test platform |
US10693729B2 (en) | 2018-03-12 | 2020-06-23 | Spirent Communications, Inc. | Acceleration of node configuration for TWAMP with a large number of test sessions |
US10848372B2 (en) * | 2018-03-12 | 2020-11-24 | Spirent Communications, Inc. | Scalability, fault tolerance and fault management for TWAMP with a large number of test sessions |
US10841196B2 (en) * | 2018-03-26 | 2020-11-17 | Spirent Communications, Inc. | Key performance indicators (KPI) for tracking and correcting problems for a network-under-test |
EP3614627B1 (en) * | 2018-08-20 | 2021-09-15 | EXFO Inc. | Telecommunications network and services qoe assessment |
CN111953619B (zh) * | 2020-08-07 | 2022-05-13 | 苏州浪潮智能科技有限公司 | 一种基于dscp对报文进行分流的方法、系统、设备及介质 |
CN112311607B (zh) * | 2020-11-18 | 2022-10-18 | 迈普通信技术股份有限公司 | Cli配置验证方法、装置、控制器及可读存储介质 |
CN114513408B (zh) * | 2022-01-05 | 2023-10-27 | 新华三技术有限公司 | 一种ecn门限配置方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102265566A (zh) * | 2008-10-23 | 2011-11-30 | 法国电信公司 | 用于配置用以管理附属于数据流的数据分组的参数的方法 |
CN102594713A (zh) * | 2012-03-29 | 2012-07-18 | 杭州华三通信技术有限公司 | 一种实现显式拥塞通告的方法及设备 |
CN103051560A (zh) * | 2013-01-07 | 2013-04-17 | 浙江工商大学 | 一种转发和控制分离系统中拥塞控制的实现方法 |
CN103354989A (zh) * | 2010-08-12 | 2013-10-16 | 思杰系统有限公司 | 用于中间装置中的多级服务质量分类的系统和方法 |
CN103404065A (zh) * | 2011-03-08 | 2013-11-20 | 高通股份有限公司 | 通过将差分服务代码点(dscp)比特字段映射到介质访问控制协议数据单元(mpdu)比特字段来提供针对单个数据流的多种重传策略 |
CN104221326A (zh) * | 2012-04-04 | 2014-12-17 | 瑞典爱立信有限公司 | 用于在双向主动测量协议(twamp)实体之间的连接性的可扩展的测量的方法 |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4078755B2 (ja) | 1999-06-02 | 2008-04-23 | 株式会社日立製作所 | 帯域監視方法 |
US6839321B1 (en) | 2000-07-18 | 2005-01-04 | Alcatel | Domain based congestion management |
US8339963B2 (en) | 2003-08-27 | 2012-12-25 | Rockstar Consortium Us Lp | Technique for end-to-end admission control of real-time packet flows |
US7623458B2 (en) | 2005-09-30 | 2009-11-24 | The Boeing Company | System and method for providing integrated services across cryptographic boundaries in a network |
JP4758362B2 (ja) | 2007-01-30 | 2011-08-24 | 株式会社日立製作所 | 中継装置、プログラム及び中継方法 |
US9306812B2 (en) | 2007-07-05 | 2016-04-05 | Rpx Clearinghouse Llc | System and method for providing network application performance management in a network |
US8238254B2 (en) | 2009-05-14 | 2012-08-07 | Avaya Inc. | Detection and display of packet changes in a network |
US8619621B2 (en) | 2009-08-20 | 2013-12-31 | Verizon Patent And Licensing Inc. | Performance monitoring-based network resource management with mobility support |
EP2391068A1 (en) | 2010-03-31 | 2011-11-30 | British Telecommunications public limited company | Provision of path characterisation information in networks |
EP2641359B1 (en) | 2010-11-18 | 2015-07-29 | Telefonaktiebolaget L M Ericsson (publ) | Systems and methods for measuring available capacity and tight link capacity of ip paths from a single endpoint |
US8724467B2 (en) | 2011-02-04 | 2014-05-13 | Cisco Technology, Inc. | System and method for managing congestion in a network environment |
CN103095511A (zh) * | 2011-10-28 | 2013-05-08 | 华为技术有限公司 | 一种在IPsec机制下的网络测试方法,装置及系统 |
CA2858207C (en) | 2012-01-05 | 2019-02-26 | Voipfuture Gmbh | Determination of a quality induced termination rate of communication sessions |
EP2648441A1 (en) | 2012-04-05 | 2013-10-09 | Alcatel Lucent | Probing techniques |
EP2665239B1 (en) | 2012-05-14 | 2016-08-31 | Alcatel Lucent | An adaptive streaming aware networks node, client and method with priority marking |
CN104813699B (zh) | 2012-10-02 | 2019-01-08 | 瑞典爱立信有限公司 | 在传输网络内使用主动探测优化无线电服务的方法和系统 |
US9602383B2 (en) | 2012-10-11 | 2017-03-21 | Telefonaktiebolaget Lm Ericsson (Publ) | General packet radio service tunnel performance monitoring |
US9338678B2 (en) | 2012-10-11 | 2016-05-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Performance monitoring of control and provisioning of wireless access points (CAPWAP) control channels |
KR101955689B1 (ko) * | 2012-10-26 | 2019-03-07 | 삼성전자주식회사 | 서로 다른 이동 통신 네트워크들의 엔티티들을 포함하는 네트워크에서 종단간 서비스 레벨 협약을 측정 및 관리하는 방법 및 장치 |
US9485165B2 (en) | 2012-12-14 | 2016-11-01 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for augmenting TWAMP |
US9306830B2 (en) * | 2013-01-30 | 2016-04-05 | Accedian Networks Inc. | Layer-3 performance monitoring sectionalization |
US9331925B2 (en) | 2013-03-12 | 2016-05-03 | Cisco Technology, Inc. | Multiple test site bandwidth limit measurement |
WO2014142723A1 (en) * | 2013-03-15 | 2014-09-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Hypervisor and physical machine and respective methods therein for performance measurement |
US20160192233A1 (en) * | 2013-06-13 | 2016-06-30 | Telefonaktiebolaget L M Ericsson (Publ) | Congestion control for a multimedia session |
US9350657B2 (en) | 2013-07-08 | 2016-05-24 | Nicira, Inc. | Encapsulating data packets using an adaptive tunnelling protocol |
JP6258472B2 (ja) | 2013-09-20 | 2018-01-10 | コンヴィーダ ワイヤレス, エルエルシー | 信頼wlanアクセスおよびネットワークにおけるトラフィック検出およびdscpマッピングに基づくモバイルネットワークオペレータ(mno)qos制御 |
US10425351B2 (en) | 2013-11-08 | 2019-09-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Allocation of resources for real-time communication |
US9363178B2 (en) | 2013-12-18 | 2016-06-07 | Telefonaktiebolaget L M Ericsson (Publ) | Method, apparatus, and system for supporting flexible lookup keys in software-defined networks |
WO2016003348A1 (en) | 2014-07-04 | 2016-01-07 | Telefonaktiebolaget L M Ericsson (Publ) | Methods and first, second and network nodes for managing traffic characteristics |
US9948605B2 (en) * | 2014-07-18 | 2018-04-17 | Comcast Cable Communications, Llc | Network traffic classification |
US9537741B2 (en) * | 2014-07-25 | 2017-01-03 | Telefonaktiebolaget L M Ericsson (Publ) | Data path performance measurement using test messages in a software defined network |
JP6553196B2 (ja) * | 2015-01-27 | 2019-07-31 | ノキア ソリューションズ アンド ネットワークス オサケユキチュア | トラフィックフローの監視 |
US9906453B2 (en) | 2015-11-13 | 2018-02-27 | Wipro Limited | System and method for modifying per hop behavior of one or more expedited forwarding packets |
US10965577B2 (en) | 2016-02-05 | 2021-03-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for data plane to monitor differentiated services code point (DSCP) and explicit congestion notification (ECN) |
US10476770B2 (en) | 2017-12-29 | 2019-11-12 | Juniper Networks, Inc. | Packet loss detection for user datagram protocol (UDP) traffic |
-
2016
- 2016-02-05 EP EP16705824.7A patent/EP3412003B1/en active Active
- 2016-02-05 CN CN201680081075.4A patent/CN108604997B/zh active Active
- 2016-02-05 WO PCT/IB2016/050615 patent/WO2017134488A1/en active Application Filing
- 2016-02-05 US US16/075,133 patent/US10965576B2/en active Active
-
2018
- 2018-08-10 ZA ZA201805301A patent/ZA201805301B/en unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102265566A (zh) * | 2008-10-23 | 2011-11-30 | 法国电信公司 | 用于配置用以管理附属于数据流的数据分组的参数的方法 |
CN103354989A (zh) * | 2010-08-12 | 2013-10-16 | 思杰系统有限公司 | 用于中间装置中的多级服务质量分类的系统和方法 |
CN103404065A (zh) * | 2011-03-08 | 2013-11-20 | 高通股份有限公司 | 通过将差分服务代码点(dscp)比特字段映射到介质访问控制协议数据单元(mpdu)比特字段来提供针对单个数据流的多种重传策略 |
CN102594713A (zh) * | 2012-03-29 | 2012-07-18 | 杭州华三通信技术有限公司 | 一种实现显式拥塞通告的方法及设备 |
CN104221326A (zh) * | 2012-04-04 | 2014-12-17 | 瑞典爱立信有限公司 | 用于在双向主动测量协议(twamp)实体之间的连接性的可扩展的测量的方法 |
CN103051560A (zh) * | 2013-01-07 | 2013-04-17 | 浙江工商大学 | 一种转发和控制分离系统中拥塞控制的实现方法 |
Non-Patent Citations (1)
Title |
---|
Differentiated Service Code Point and Explicit Congestion Notification Monitoring in the Two-Way Active Measurement Protocol (TWAMP);J. Hedin;《Internet Engineering Task Force (IETF)》;20160201;正文第1-11页 * |
Also Published As
Publication number | Publication date |
---|---|
US10965576B2 (en) | 2021-03-30 |
CN108604997A (zh) | 2018-09-28 |
US20180375753A1 (en) | 2018-12-27 |
ZA201805301B (en) | 2019-10-30 |
WO2017134488A1 (en) | 2017-08-10 |
EP3412003B1 (en) | 2022-09-07 |
EP3412003A1 (en) | 2018-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11438254B2 (en) | Apparatus and method to trace packets in a packet processing pipeline of a software defined networking switch | |
CN108702326B (zh) | 检测sdn控制平面循环的方法、设备和非暂时性机器可读介质 | |
CN108055878B (zh) | 揭示最大分段标识符深度值的方法、设备和存储介质 | |
EP3378205B1 (en) | Service based intelligent packet-in buffering mechanism for openflow switches by having variable buffer timeouts | |
US11968082B2 (en) | Robust node failure detection mechanism for SDN controller cluster | |
CN108604997B (zh) | 用于对差异化服务编码点(dscp)和显式拥塞通知(ecn)的监视进行配置的控制平面的方法和设备 | |
CN109076018B (zh) | 利用is-is协议实现分段路由网络中网元的方法和设备 | |
US11115328B2 (en) | Efficient troubleshooting in openflow switches | |
US9544240B1 (en) | MTU discovery over multicast path using bit indexed explicit replication | |
EP3417579B1 (en) | Techniques for exposing maximum node and/or link segment identifier depth utilizing ospf | |
CN108604999B (zh) | 用于监视差异化服务编码点(dscp)和显式拥塞通知(ecn)的数据平面方法和设备 | |
WO2016174597A1 (en) | Service based intelligent packet-in mechanism for openflow switches | |
WO2017089945A1 (en) | Mechanism to improve control channel efficiency by distributing packet-ins in an openflow network | |
WO2018042230A1 (en) | Configurable selective packet-in mechanism for openflow switches | |
US20220247679A1 (en) | Method and apparatus for layer 2 route calculation in a route reflector network device | |
US20220311703A1 (en) | Controller watch port for robust software defined networking (sdn) system operation | |
US20230239235A1 (en) | Transient loop prevention in ethernet virtual private network egress fast reroute | |
WO2017187222A1 (en) | Robust method of distributing packet-ins in a software defined networking (sdn) network |
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 |