CN105723674B - 用于在网络控制协议中动态地绑定头字段标识符的方法 - Google Patents
用于在网络控制协议中动态地绑定头字段标识符的方法 Download PDFInfo
- Publication number
- CN105723674B CN105723674B CN201480024646.1A CN201480024646A CN105723674B CN 105723674 B CN105723674 B CN 105723674B CN 201480024646 A CN201480024646 A CN 201480024646A CN 105723674 B CN105723674 B CN 105723674B
- Authority
- CN
- China
- Prior art keywords
- head
- sdn switch
- head file
- sdn
- binding
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- 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/0803—Configuration setting
-
- 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/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
头字段标识符能够在软件定义网络中经由软件定义网络(SDN)控制器与交换机之间的信令动态地绑定到头字段。动态地建立头绑定定义可以允许新的头字段由SDN交换机识别并操纵(例如,匹配、修改等)而无须更新对应标准。为了达到此目的,SDN控制器将绑定请求发送到SDN交换机以请求头字段标识符动态地与头字段类型相关联。如果所述SDN交换机确认所述绑定请求,那么所述头字段标识符用于识别被传输到所述SDN交换机的消息(例如,控制消息等)中的所述头字段类型。
Description
相关申请交叉参考
本专利申请要求2013年5月7日递交的发明名称为“用于在网络控制协议中动态地绑定头字段标识符的方法”的第61/820,331号美国临时申请的优先权,以及2014年5月5日递交的发明名称为“用于在网络控制协议中动态地绑定头字段标识符的方法”的第14/269,704号美国专利申请的优先权,在先申请的内容如同全文复制一般以引入的方式并入本文本中。
技术领域
本发明大体上涉及基于包的通信,以及在特定实施例中,涉及用于在网络控制协议中动态地绑定头字段标识符的方法。
背景技术
控制网络流量转发行为的例如OpenFlow的协议,通常是指识别可能受特定转发处理的信息流的特定信息(头字段、时隙等)。在OpenFlow中,例如,flow_mod消息通过使用分配给特定预定义头字段的标识符值来识别在包中匹配的信息。当协议被指定时,这些标识符值是绑定的(例如,经定义以表示)头字段。该方法是不灵活的,因为它需要修改协议规范以引入对新的头字段或先前未被分配标识符值的现有头字段的支持。这阻碍了创新,并且因此需要支持新的头字段的更灵活的技术。
发明内容
通过描述用于在网络控制协议中动态地绑定头字段标识符的方法的本发明的实施例,大体上实现了技术优势。
根据一个实施例,提供一种用于动态地绑定头字段标识符的方法。在此实例中,所述方法包括将绑定请求发送到SDN域的SDN交换机。所述绑定请求请求建立动态地使头字段与第一头字段标识符相关联的动态头定义。所述方法进一步包括判定SDN交换机是否确认动态头定义的建立。当SDN交换机确认动态头定义的建立时,第一头字段标识符被配置为识别传输到SDN交换机的消息中的头字段。还提供用于执行此方法的装置。
根据另一实施例,用于动态地绑定头字段标识符的另一方法。在此实例中,所述方法包括接收来自SDN控制器的绑定请求。所述绑定请求请求建立动态地使头字段与第一头字段标识符相关联的动态头定义。所述方法进一步包括将或者确认或者拒绝动态头定义的建立的绑定响应发送到SDN控制器,并且当绑定响应确认动态头定义的建立时,使用第一头字段标识符来识别通过SDN交换机接收到的消息中的头字段。还提供用于执行此方法的装置。
附图说明
为了更完整地理解本发明及其优点,现在参考下文结合附图进行的描述,其中:
图1示出一个实施例的SDN架构的图;
图2示出一个实施例的用于动态地将头字段标识符绑定到头字段类型的通信序列的协议图;
图3示出一个实施例的用于动态地将头字段标识符绑定到头字段类型的方法的流程图;
图4示出另一实施例的用于动态地将头字段标识符绑定到头字段类型的方法的流程图;
图5示出展示用于动态地将头字段标识符绑定到头字段类型的实施例的技术的优势的图表;
图6示出实施例的头字段/类型ID绑定信息格式的图;
图7示出一个实施例的通信设备的图;以及
图8示出一个实施例的计算平台的图。
除非另有说明,否则不同图中的对应标号和符号通常指代对应的部分。绘制各图是为了清楚地说明实施例的相关方面,因此未必是按比例绘制的。
具体实施方式
下文将详细论述本发明实施例的制作和使用。但应了解,本发明提供的许多可适用的发明构思可实施在多种具体环境中。所论述的具体实施例仅仅说明用于实施和使用本发明的具体方式,而不限制本发明的范围。
本发明的各方面提供一种在SDN架构中用于动态地绑定头字段标识符使得头字段能够由SDN交换机识别并操纵(例如,匹配、修改等)的方法。在一个实施例中,SDN控制器将绑定请求发送到SDN交换机以请求头字段标识符动态地与头字段类型相关联。如果SDN交换机确认绑定请求,那么头字段标识符用于识别被传输到SDN交换机的消息(例如,控制消息等)中的头字段类型。例如,在OpenFlow网络中,绑定请求可以包括请求对应头字段动态地与第一OpenFlow可扩展匹配(OXM)类的第一OXM字段相关联的码点绑定指示。如果已通过SDN交换机确认码点绑定指示,那么将在将第一OXM字段和第一OXM类承载于OXM类型长度值(TLV)中的消息中识别头字段。在一些实施例中,SDN交换机和SDN控制器可以协商不同的头字段绑定关联。例如,SDN交换机可以返回请求(或指示)不同的头字段标识符与所述头字段类型相关联的绑定响应。为了支持传统的SDN交换机(例如,并不识别动态绑定请求的交换机)后向兼容,在SDN交换机在超时期间内未返回绑定响应时,SDN控制器可以判定所述SDN交换机被配置为理解一组默认头绑定关联。所述默认组绑定可以由通信标准出版物定义。例如,在OpenFlow网络中,所述默认组绑定可以对应于在OpenFlow交换机规范(第1.3.3版,协议版本0x04)的第7.2.3.7章节中所列的那些,所述章节如同全文复制一般以引入的方式并入本文本中。下文更详细地解释本发明的这些以及其它方面。
图1示出被配置为支持头字段标识符到头字段类型的动态绑定的实施例的SDN架构100。如图所示,SDN架构100包括SDN控制器101和SDN交换机102。如本文中所使用,术语“SDN交换机”是指在软件定义网络中被配置为执行数据面处理任务的任何数据面实体,所述任务例如包转发、滤波、计算、压缩处理等。例如,在实施例SDN架构100中,SDN交换机102可以是被配置为执行数据面处理的任何实体(硬件、在主机设备上实例化的虚拟机等)。在本发明中,术语“SDN控制器”是指被配置为控制(例如,指导、配置等)SDN交换机的数据面处理操作的任何设备(或设备的集合)。因此,SDN控制器101可以是被配置为驱动SDN交换机102的数据面处理的任何实体。
本发明的各方面提供使用绑定请求/响应动态地绑定头字段标识符的技术。图2示出用于动态地将头字段标识符绑定到头字段类型的实施例的通信序列200的协议图。如图所示,SDN控制器201将绑定请求消息210发送到SDN交换机202。绑定请求消息210可以请求在SDN交换机的运行操作期间头字段动态地与头字段标识符相关联。在一些实施例中,单个绑定请求消息可以请求多个动态的头字段绑定。在接收到绑定请求消息210后,SDN交换机202可以将绑定响应消息220返回给SDN控制器201。绑定响应消息220可以确认绑定请求消息210所请求的动态绑定关联。在此类情况下,SDN控制器201可以将适当的条目写入数据表以反映头字段标识符将在SDN交换机202处的数据面处理期间用于识别头字段。替代地,绑定响应消息220可以请求(或以其它方式指示)头字段动态地与不同头字段标识符相关联。在此类情况下,SDN控制器201可以确认替代的绑定,或请求另一个绑定。在一些实施例中,承载于绑定响应220中的替代绑定指示可以由SDN控制器201接受而无需肯定确认传输到SDN交换机202。
在一些实施例中,头字段由头类型、偏移和长度定义。偏移可以是位于头字段与头的开始之间的多个比特位。长度可以是包括在头字段中的多个比特位。SDN控制器和交换机可以通过通用名(例如,“以太网”或“IPv4”的字符串)或特定头字段值(例如,以太类型值、IP头协议字段值等)知晓头类型。在一些实施例中,对于SDN控制器和SDN交换机,头字段定义是先验信息。在其它实施例中,SDN控制器将头字段定义发送到SDN交换机作为头字段标识符绑定协议的一部分。在一些实施例中,绑定请求/响应消息用于形成新的头绑定定义和/或修改现有头绑定定义。
本发明的各方面也可以用于绑定元数据的标识符。元数据可以包括存储于SDN交换机中的数据。元数据可以描述SDN网络中的对象。例如,元数据可以描述软件定义网络中的包或包序列、目的地、源或业务流。在一些实施例中,元数据不包括在包净荷中(或完全不包括在包中)。例如,元数据可以经由消息传输。元数据元素的位置和大小可以连同相关联标识符绑定一起指定。
图3示出可以由SDN控制器执行的用于动态地将头字段标识符绑定到头字段类型的实施例的方法300。如图所示,方法300以步骤310开始,其中SDN控制器将绑定请求发送到SDN交换机。绑定请求可以明确识别所请求的头绑定定义,或可以通过参考含有用于所请求的头绑定定义的信息的数据面模型(例如,协商数据面模型(NDM))隐含地识别所请求的头绑定定义。此后,方法300前进到步骤320,其中SDN控制器判定是否在超时周期截止之前接收到绑定响应。如果在超时周期截止之前接收到绑定响应,那么方法300前进到步骤330,其中SDN控制器对头字段采用动态头字段标识符。头字段标识符可以是由绑定请求请求的原始头字段标识符,或可以是在绑定响应中指示的替代头字段标识符,并且可以通过将适当的条目写入由SDN控制器存储的表而动态地绑定到头字段类型。如果在超时周期截止之前未接收到绑定响应,那么方法300前进到步骤340,其中SDN控制器判定SDN交换机处将使用默认绑定进行数据面处理。
图4示出可以由SDN交换机执行的用于动态地将头字段标识符绑定到头字段类型的实施例的方法400。如图所示,方法400以步骤410开始,其中SDN交换机接收来自SDN控制器的绑定请求。所述绑定请求识别所请求的头绑定定义。此后,方法400前进到步骤420,其中SDN交换机判定其是否能够支持所请求的头绑定定义。如果不能,那么方法400前进到步骤430,其中SDN交换机发送绑定响应,指示不支持头定义。如果SDN交换机能够支持所请求的头绑定定义,那么方法400前进到步骤440,其中SDN交换机判定是否可接受所请求的头绑定定义。如果不能,那么方法400前进到步骤450,其中SDN交换机发送指示替代头定义的绑定响应。如果所请求的头绑定定义可接受,那么方法400前进到步骤460,其中SDN交换机发送绑定响应,确认所请求的头绑定定义。在本发明中,术语“头字段定义”和“头绑定定义”可互换地使用,并且除非另有说明,否则应解释为尤其包括头字段ID绑定和头类型ID。
动态地绑定头字段标识符允许在SDN网络中实施专用的头字段类型而无需必须更新标准。图5示出图表,其示出用于动态地绑定头字段标识符的实施例技术在与更新通信协议标准以反映新的头字段绑定的常规方法相比时如何节省时间。
例如,在控制器和交换机建立关系时,可以实施用于动态地绑定头字段标识符的实施例的技术。这使得增加了对新的信息(例如,头字段)的支持,而无需对网络控制协议规范进行任何改变。本发明的各方面提供对控制协议规范中的绑定网络信息标识符的替代方案,控制协议规范例如OpenFlow 1.3中的枚举oxm_ofb_match_fields。例如,实施例的方法可以用通用术语定义网络信息,以及或者当写下协商数据面模型(NDM)规范时或者当在控制器与交换机之间建立控制关系时将这些定义绑定到控制协议标识符值。NDM是特定网络应用中的交换机所需的转发行为的规范。这些行为可以一般术语或以网络控制协议的术语(例如,OpenFlow)来定义,并且提供控制器实施者与交换机实施者之间的共享理解。
以下是头类型ID绑定和头字段ID绑定的实施例NDM编码的一个实例:
在分组网络中,管理包的转发行为的信息在包头中进行编码。包头可以包括含有与包相关的不同信息的若干字段。一般来说,这些字段能够通过与头的开始的偏移(以比特位为单位)以及字段大小(以比特位为单位)来描述。多个包头可以在包穿过网络时被附加到包上,例如,包可以具有所附加的TCP、IP以及以太网MAC头。包解析(例如,识别头字段)可以是涉及解析第一头、识别接下来的头、解析下一头、识别接下来的头等的重复过程。
头可以在包中呈现多种次序,并且相同的头类型可以多次呈现。头的开始可以出现在包中的任意位置中。因此,头字段可以描述为属于具体头类型、位于与头的开始特定的偏移处以及是特定大小的。
为了解析头,可能需要知晓头类型。可以基于接收到包的端口、先前头的内容或头自身的内容知晓头类型。例如,在802.3端口上接收到的包可以假定为含有以太网MAC头,在所述头中的以太类型字段可以识别下一头为IP,并且IP头的第一半字节可以识别其为IPv4头类型。可以为NDM定义用于判定待解析的包头类型的规则,以建立对将由交换机处理的包的编码和语义的共同理解,并且所述规则是控制器关于在交换机中配置何种转发行为控制的决策的基础。
然而,当与自定义头定义相比时,使用通用描述在控制协议中识别头字段可能不太紧凑和/或涉及增大解析复杂性。自定义头定义和/或头解析规则可以使用两个值,即头类型标识符值和头字段标识符值。例如,OpenFlow协议中的OpenFlow可扩展匹配(OXM)TLV使用两个字段对字段标识符进行编码:16位oxm_class值和7位oxm_field值。在此情况下,oxm_field值在OpenFlow协议规范中以枚举oxm_ofb_match_fields数据类型来定义。
本发明的各方面提供协议以判定或选择头字段标识符值绑定。这可以消除对在控制协议中静态地指定头字段标识符值的需要。
头字段在头类型的上下文中进行识别。头类型识别为与包划分机制(例如,以太网、GFP、PPP/HDLC等)相关联的划分基准头类型或识别为通过标准协议识别方案(例如,以太类型、GFP净荷类型标识符、PPP协议数目等)识别的头类型。对于在具体控制应用程序中所需的每个头类型,连同相关头字段一起指定头类型。控制器和交换机交换针对每个头类型的以下信息:头类型识别方法、头类型、头字段;以及头长度。
头类型识别方法可以指定用于识别头的方法的类型,例如划分基准类型、先前分配的本地头类型标识符值等。头类型可以指定标准协议标识符(例如,划分基准类型、先前分配的本地头类型标识符和值等)或分配的本地头类型标识符值(例如,针对控制协议实例)。每个头字段可以指定偏移和大小,例如(偏移、大小),以及分配的本地头字段标识符值(例如,针对控制协议实例)。头长度可以指定标量值(例如,针对固定大小头)或头字段标识符值(例如,针对含有长度字段的可变长度头)。
为方便起见,可以将固定值分配到通用头类型识别字段,例如分配到以太类型、GFP净荷类型标识符和PPP协议数目。这些通用字段为识别大多数其它有用的协议头类型提供基础。偏移可以表达为固定值或表达为涉及固定值和头字段的算术表达式。
实施例的协议可以在控制器与交换机之间交换上文所描述的信息,以协定用于识别特定包头字段的值。待协定的标识符是分配的本地头类型标识符值和分配的本地头字段标识符值。任一***可以请求将使用的值,这取决于所述***是否具有针对这些标识符的偏好或具体要求。如果分配的本地头类型标识符值和分配的本地头字段标识符值作为零(或其它一些选定的特殊值,例如-1)发送,那么这是邀请另一个***来分配标识符值。如果交换机发送标识符值绑定,那么控制器必须采用这些值。如果交换机发送零值,那么控制器必须分配值并且将这些值传输到交换机。
控制器可以首先发送信息而不指定标识符值(使用零值),以向交换机指示控制器在控制交换机的行为时使用的所有字段。交换机可以特定标识符值(绑定)或以未指定绑定(零值)来响应。接着,控制器将最终绑定发送到交换机,重复交换机所需的值或设定未由交换机指定的值。
可以使用特定程序来支持先前的固定字段标识符分配的向后兼容性。例如,在通过交换机将0x8000的oxm_class值以及如在枚举oxm_ofb_match_fields数据类型中定义的oxm_field值发送到控制器以用于在OpenFlow 1.3中定义的字段时,交换机可能需要由所述规范指定的标识符。这将要求控制器采用这些标识符值来指定字段。
如果控制器和交换机使用例如表类型模板(TTP)等的协商数据面模型(NDM)以协定交换机必须支持的行为控制,那么在NDM中可以包括等效于以上内容的信息。在此情况下,如果NDM包括使用的头类型标识符值和头字段标识符值,那么可缩短或跳过头字段标识符值绑定过程。例如,TTP可以包括头类型标识符值和头字段标识符值,作为TTP描述的一部分。替代地,TTP可以包括头类型和头字段并且对这些头类型和头字段分配标识符值设定规范方法,使得明确值不必包括于TTP中,但在控制器和交换机同意使用TTP时将同样地被控制器和交换机两者所理解。
通过交换以上所提到的信息,控制器和交换机协定分配的本地头类型标识符值和分配的本地头字段标识符值。接着,控制器可以使用本地头类型标识符值和本地头字段标识符值向交换机发送参考头字段的命令。例如,在OpenFlow消息中的OXM TLV中,针对具体头类型分配的本地头类型标识符值可以用作oxm_class值并且分配的本地头字段标识符值可以用作oxm_field值。本地头字段识别值可以用来指代匹配运算中的头字段或由控制器用来经由控制协议指定交换机行为的其它逻辑或算术表达式中的头字段。它们也可以用于来自交换机的消息以识别控制器的通知或响应中的头字段。
本发明的各方面提供协议交换,以基于或者头类型识别和字段偏移/大小规范,或者NDM规范(含有等效信息),来协定本地头字段标识符值。本发明的实施例基于本地协定生成并解释头字段标识符值。另外,本发明通过允许交换机强制预定义绑定而支持向后兼容性。本文中所论述的实施例可以包括绑定在TTP等NDM中的头字段标识符值。
在实施例中,绑定请求响应可以包括头类型ID绑定信息和头字段ID绑定信息。头类型ID绑定信息可以指定头类型识别的方式,以及识别头类型的一个或多个值和用于识别头类型的头类型ID绑定(例如,本地码点)。在一个实施例中,头类型ID绑定信息可以指定基准划分类型为用于头类型识别的方式。基准划分类型可以是用于例如以太网、GFP、HDLC、ATM HEC成帧等包划分头方案的绑定。在另一实施例中,头类型ID绑定信息可以指定协议ID为用于头类型识别的方式。协议ID可以是用于协议ID方案(例如,以太类型、IP协议、NLPID等)的绑定。在另一个实施例中,头类型ID绑定信息可以指定字段ID和字段值(例如,“字段ID”+“字段值”)为头类型识别的方式。头字段ID和字段值可以对应于先前绑定的字段ID码点和字段值,并且可以允许头定义使用本地字段ID绑定(而不是公共绑定)用于协议ID字段。头字段ID绑定信息可以包括头类型、字段偏移(以比特位为单位)、字段长度(以比特位为单位)以及字段ID绑定。字段ID绑定可以是用于识别对应头字段的本地码点。
图6示出实施例的头类型ID绑定信息格式600、610、620、630以及实施例的头字段ID绑定信息格式640的图。头类型ID绑定信息格式600可以表示通用结构,并且头类型ID绑定信息格式610、620、630可以表示由头类型ID绑定信息格式600表示的通用结构的子类的实例。如图所示,头类型ID绑定信息格式600包括头ID方法字段602、头类型字段604以及头类型ID绑定字段608。头类型ID绑定信息格式610包括基准划分字段612、基准划分类型字段614以及头类型ID绑定字段618。头类型ID绑定信息格式620包括协议ID字段622、协议ID类型字段624、协议ID值字段626以及头类型ID绑定字段628。头类型ID绑定信息格式630包括字段ID/值632、字段ID 634、字段值636以及头类型ID绑定638。头ID方法字段602可以是通用头字段。基准划分字段612、协议ID字段622以及字段ID/值632可以是由头ID方法字段602表示的通用头字段的子类的实例。头类型字段604可以是通用头字段。基准划分类型字段614、协议ID类型字段624和协议ID值字段626以及字段ID 634和值字段636可以是由头类型字段604表示的通用头字段的子类的实例。头类型ID绑定字段608、618、628以及638可以大体类似于彼此。
实施例头字段ID绑定信息640包括头类型ID字段642、字段偏移644、字段长度646以及字段ID绑定648。头类型ID字段642是在头类型ID绑定信息格式600(例如,头类型ID绑定字段608、618、628以及638中的一者)的实例中绑定的值。字段偏移644、字段长度646以及字段ID绑定648包括用于在消息中定位头字段的信息。
图7示出可以等效于上文所论述的一个或多个设备(例如,SDN控制器、SDN交换机等)的实施例设备700的框图。通信设备700可以包括处理器704、存储器706以及多个接口710到714,所述组件可以(或可以不)如图7中所示来布置。处理器704可以是能够执行计算和/或其它处理相关任务的任何组件,并且存储器706可以是能够存储用于处理器704的程序和/或指令的任何组件。接口710到714可以是允许通信设备700与SDN控制器、SDN交换机、用户接口等其它设备通信的任何组件或组件的集合。
图8是处理***的框图,该处理***可以用来实现本文公开的设备和方法。特定设备可利用所有所示的组件或所述组件的仅一子集,且设备之间的集成程度可能不同。此外,设备可以包括部件的多个实例,例如多个处理单元、处理器、存储器、发射器、接收器等。处理***可以包括配备了一个或多个输入/输出设备,例如扬声器、麦克风、鼠标、触摸屏、按键、键盘、打印机、显示器等的处理单元。处理单元可以包括中央处理器(CPU)、存储器、大容量存储设备、视频适配器以及连接至总线的I/O接口。
总线可以是任意类型的若干总线架构中的一或多个,包括存储总线或存储控制器、外设总线、视频总线等等。CPU可包括任何类型的电子数据处理器。存储器可包括任何类型的***存储器,例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、同步DRAM(SDRAM)、只读存储器(ROM)或其组合等等。在一个实施例中,存储器可包括在开机时使用的ROM以及执行程序时使用的程序和数据存储器的DRAM。
大容量存储设备可包括任何类型的存储器设备,其用于存储数据、程序和其它信息,并使这些数据、程序和其它信息通过总线访问。大容量存储设备可包括如下项中的一项或多项:固态磁盘、硬盘驱动器、磁盘驱动器、光盘驱动器等等。
视频适配器以及I/O接口提供接口以将外部输入以及输出设备耦合到处理单元上。如所图示,输入以及输出设备的实例包括耦合到视频适配器上的显示器以及耦合到I/O接口上的鼠标/键盘/打印机。其它设备可以耦合到处理单元上,并且可以利用额外的或较少的接口卡。例如,可使用如通用串行总线(USB)(未示出)等串行接口为打印机提供接口。
处理单元还包括一个或多个网络接口,所述网络接口可以包括例如以太网电缆等有线链路,和/或用于接入节点或不同网络的无线链路。网络接口允许处理单元经由网络与远程单元通信。举例来说,网络接口可以经由一个或多个发射器/发射天线以及一个或多个接收器/接收天线提供无线通信。在一个实施例中,处理单元耦合到局域网或广域网上以用于数据处理以及与远程设备通信,所述远程设备为例如其它处理单元、因特网、远程存储设施等。
虽然已参考说明性实施例描述了本发明,但此描述并不意图限制本发明。本领域技术人员在参考该描述后,说明性实施例的各种修改和组合,以及本发明其它实施例将是显而易见的。因此,所附权利要求书包括任何此类修改或实施例。
Claims (19)
1.一种用于动态地绑定头字段标识符的方法,其特征在于,所述方法包括:
通过软件定义网络SDN控制器将绑定请求发送到SDN域的SDN交换机,所述绑定请求请求建立动态地使头字段与第一头字段标识符相关联的动态头定义;以及
通过所述SDN控制器判定所述SDN交换机是否确认所述动态头定义的建立,其中当所述SDN交换机确认所述动态头定义的建立时,所述第一头字段标识符被配置为识别传输到所述SDN交换机的消息中的所述头字段。
2.根据权利要求1所述的方法,其特征在于,进一步包括:
当所述SDN交换机确认所述动态头定义的建立时,更新所述SDN控制器中的表以使所述头字段与所述第一头字段标识符相关联。
3.根据权利要求1所述的方法,其特征在于,进一步包括:
通过所述SDN控制器接收来自所述SDN交换机的绑定响应,其中所述绑定响应包括动态地使所述头字段与不同于所述第一头字段标识符的第二头字段标识符相关联的替代头绑定关联;以及
更新所述SDN控制器中的表以使所述头字段与所述第二头字段标识符相关联。
4.根据权利要求1所述的方法,其特征在于,判定所述SDN交换机是否确认所述动态头定义的建立包括:
当在自发送所述绑定请求开始的阈值周期内未接收到来自所述SDN交换机的绑定响应时,判定所述SDN交换机已经拒绝了所述动态头定义的建立。
5.根据权利要求1所述的方法,其特征在于,进一步包括:
当在自发送所述绑定请求开始的阈值周期内未接收到来自所述SDN交换机的绑定响应时,判定所述SDN交换机识别一组默认的头定义。
6.根据权利要求1所述的方法,其特征在于,所述动态头定义是使所述头字段与第一OpenFlow可扩展匹配OXM类的第一OXM字段相关联的码点绑定指示。
7.根据权利要求6所述的方法,其特征在于,判定所述SDN交换机是否确认所述动态头定义的建立包括:
判定所述SDN交换机已确认所述码点绑定指示的建立。
8.根据权利要求7所述的方法,其特征在于,所述SDN交换机被配置为当所述第一OXM字段和所述第一OXM类承载于消息的OXM类型长度值TLV中时,判定所述头字段与所述消息相关联。
9.根据权利要求8所述的方法,其特征在于,所述绑定请求通过参考协商数据面模型来识别所述动态头定义,所述协商数据面模型是描述一类转发行为的先验信息。
10.一种软件定义网络SDN控制器,其特征在于,包括:
处理器;以及
计算机可读存储介质,其存储由所述处理器执行的程序,所述处理器执行所述程序时实现以下步骤:
将绑定请求发送到SDN域的SDN交换机,所述绑定请求请求建立动态地使头字段与第一头字段标识符相关联的动态头定义;以及
判定所述SDN交换机是否确认所述动态头定义的建立,其中当所述SDN交换机确认所述动态头定义的建立时所述第一头字段标识符被配置为识别传输到所述SDN交换机的消息中的所述头字段。
11.根据权利要求10所述的SDN控制器,其特征在于,所述处理器执行所述程序以进一步实现以下步骤:
接收来自所述SDN交换机的绑定响应,其中所述绑定响应包括动态地使所述头字段与不同于所述第一头字段标识符的第二头字段标识符相关联的替代头定义;以及
更新所述SDN控制器中的表以使所述头字段与所述第二头字段标识符相关联。
12.根据权利要求10所述的SDN控制器,其特征在于,判定所述SDN交换机是否确认所述动态头定义的建立包括:
当在自发送所述绑定请求开始的阈值周期内未接收到来自所述SDN交换机的绑定响应时,判定所述SDN交换机识别一组默认的头定义。
13.根据权利要求10所述的SDN控制器,其特征在于,所述动态头定义是使所述头字段与第一OpenFlow可扩展匹配OXM类的第一OXM字段相关联的码点绑定指示。
14.一种用于动态地绑定头字段标识符的方法,其特征在于,所述方法包括:
通过软件定义网络SDN交换机接收来自SDN控制器的绑定请求,所述绑定请求请求建立动态地使头字段与第一头字段标识符相关联的动态头定义;
通过所述SDN交换机将绑定响应发送到所述SDN控制器,其中所述绑定响应或者确认或者拒绝所述动态头定义的建立;以及
当所述绑定响应确认所述动态头定义的建立时,使用所述第一头字段标识符来识别由所述SDN交换机接收到的消息中的所述头字段。
15.根据权利要求14所述的方法,其特征在于,所述绑定响应指示动态地使所述头字段与第二头字段标识符相关联的替代头定义的建立,所述第二头字段标识符不同于所述第一头字段标识符。
16.根据权利要求14所述的方法,其特征在于,当所述绑定响应拒绝所述动态头定义的建立时,使用默认头字段标识符来识别由所述SDN交换机接收到的消息中的所述头字段,其中,所述绑定响应指示所述默认头字段的定义由所述SDN交换机理解。
17.一种软件定义网络SDN交换机,其特征在于,包括:
处理器;以及
计算机可读存储介质,其存储由所述处理器执行的程序,所述处理器执行所述程序时实现以下步骤:
接收来自SDN控制器的绑定请求,所述绑定请求请求建立动态地使头字段与第一头字段标识符相关联的动态头定义;
将绑定响应发送到所述SDN控制器,其中所述绑定响应或者确认或者拒绝所述动态头定义的建立;以及
当所述绑定响应确认所述动态头定义的建立时,使用所述第一头字段标识符来识别由所述SDN交换机接收到的消息中的所述头字段。
18.根据权利要求17所述的SDN交换机,其特征在于,所述绑定响应指示动态地使所述头字段与第二头字段标识符相关联的替代头定义的建立,所述第二头字段标识符不同于所述第一头字段标识符。
19.根据权利要求17所述的SDN交换机,其特征在于,当所述绑定响应拒绝所述动态头定义的建立时,使用默认头字段标识符来识别由所述SDN交换机接收到的消息中的所述头字段,其中,所述绑定响应指示所述默认头字段的定义由所述SDN交换机理解。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361820331P | 2013-05-07 | 2013-05-07 | |
US61/820,331 | 2013-05-07 | ||
US14/269,704 | 2014-05-05 | ||
US14/269,704 US9674315B2 (en) | 2013-05-07 | 2014-05-05 | Methods for dynamically binding header field identifiers in a network control protocol |
PCT/CN2014/076951 WO2014180312A2 (en) | 2013-05-07 | 2014-05-07 | Methods for dynamically binding header field identifiers in a network control protocol |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105723674A CN105723674A (zh) | 2016-06-29 |
CN105723674B true CN105723674B (zh) | 2019-07-12 |
Family
ID=51864758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480024646.1A Active CN105723674B (zh) | 2013-05-07 | 2014-05-07 | 用于在网络控制协议中动态地绑定头字段标识符的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9674315B2 (zh) |
EP (1) | EP3014852B1 (zh) |
CN (1) | CN105723674B (zh) |
WO (1) | WO2014180312A2 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10713726B1 (en) | 2013-01-13 | 2020-07-14 | United Services Automobile Association (Usaa) | Determining insurance policy modifications using informatic sensor data |
US20140278573A1 (en) | 2013-03-15 | 2014-09-18 | State Farm Mutual Automobile Insurance Company | Systems and methods for initiating insurance processing using ingested data |
CN104219160B (zh) * | 2013-05-31 | 2018-08-14 | 华为技术有限公司 | 生成输入参数的方法及设备 |
US9947051B1 (en) | 2013-08-16 | 2018-04-17 | United Services Automobile Association | Identifying and recommending insurance policy products/services using informatic sensor data |
US11087404B1 (en) | 2014-01-10 | 2021-08-10 | United Services Automobile Association (Usaa) | Electronic sensor management |
US11416941B1 (en) | 2014-01-10 | 2022-08-16 | United Services Automobile Association (Usaa) | Electronic sensor management |
US10552911B1 (en) | 2014-01-10 | 2020-02-04 | United Services Automobile Association (Usaa) | Determining status of building modifications using informatics sensor data |
US11847666B1 (en) | 2014-02-24 | 2023-12-19 | United Services Automobile Association (Usaa) | Determining status of building modifications using informatics sensor data |
US10614525B1 (en) | 2014-03-05 | 2020-04-07 | United Services Automobile Association (Usaa) | Utilizing credit and informatic data for insurance underwriting purposes |
CN105790982A (zh) * | 2014-12-22 | 2016-07-20 | 中兴通讯股份有限公司 | 交叉设置处理方法及装置 |
CN106936716B (zh) * | 2015-12-31 | 2020-01-31 | 华为技术有限公司 | 一种ttp解析转换方法、转发表项发送方法及装置 |
CN107404440B (zh) * | 2016-05-19 | 2021-01-29 | 华为技术有限公司 | 一种转发表项发送方法、报文转发方法及装置 |
US20170359259A1 (en) * | 2016-06-09 | 2017-12-14 | Hewlett Packard Enterprise Development Lp | Packet field matching in openflow |
CN109218060B (zh) * | 2017-07-07 | 2023-04-07 | 中兴通讯股份有限公司 | 一种业务配置驱动流表的方法及装置 |
US11469953B2 (en) | 2017-09-27 | 2022-10-11 | Intel Corporation | Interworking of legacy appliances in virtualized networks |
CN111133417A (zh) * | 2017-10-24 | 2020-05-08 | 英特尔公司 | 硬件辅助的虚拟交换机 |
US11216424B2 (en) | 2018-06-07 | 2022-01-04 | Spatika Technologies Inc. | Dynamically rendering an application programming interface for internet of things applications |
US11374978B2 (en) * | 2018-10-29 | 2022-06-28 | LGS Innovations LLC | Methods and systems for establishment of security policy between SDN application and SDN controller |
US11082303B2 (en) * | 2019-07-22 | 2021-08-03 | Vmware, Inc. | Remotely hosted management of network virtualization |
WO2021236785A1 (en) * | 2020-05-22 | 2021-11-25 | Spatika Technologies Inc. | Dynamically rendering an application programming interface for internet of things applications |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7948991B1 (en) * | 2008-05-09 | 2011-05-24 | Cisco Technology, Inc. | Broadcast and multicast transmissions with acknowledgement scheduling |
WO2014019205A1 (zh) * | 2012-08-02 | 2014-02-06 | 华为技术有限公司 | 处理数据报文的方法、装置及*** |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1220508A1 (en) | 2000-12-29 | 2002-07-03 | TELEFONAKTIEBOLAGET LM ERICSSON (publ) | Method for transmitting data packets in a cellular communication network |
US7106733B2 (en) | 2002-03-20 | 2006-09-12 | Intel Corporation | Method and apparatus for network header compression |
CN102308534A (zh) | 2009-02-03 | 2012-01-04 | 日本电气株式会社 | 应用交换机***和应用交换机方法 |
US8873398B2 (en) * | 2011-05-23 | 2014-10-28 | Telefonaktiebolaget L M Ericsson (Publ) | Implementing EPC in a cloud computer with openflow data plane |
US10050824B2 (en) * | 2012-01-20 | 2018-08-14 | Arris Enterprises Llc | Managing a cluster of switches using multiple controllers |
CN102882808B (zh) | 2012-10-12 | 2015-04-29 | 武汉钢铁(集团)公司 | 通过扩展sip协议实现的ip调度方法及ip调度*** |
-
2014
- 2014-05-05 US US14/269,704 patent/US9674315B2/en active Active
- 2014-05-07 WO PCT/CN2014/076951 patent/WO2014180312A2/en active Application Filing
- 2014-05-07 EP EP14794240.3A patent/EP3014852B1/en active Active
- 2014-05-07 CN CN201480024646.1A patent/CN105723674B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7948991B1 (en) * | 2008-05-09 | 2011-05-24 | Cisco Technology, Inc. | Broadcast and multicast transmissions with acknowledgement scheduling |
WO2014019205A1 (zh) * | 2012-08-02 | 2014-02-06 | 华为技术有限公司 | 处理数据报文的方法、装置及*** |
Non-Patent Citations (1)
Title |
---|
OpenFlow Primitive Set;Navindra Yadav, Dan Cohn;《Google Docs》;20110701;第1-10页 |
Also Published As
Publication number | Publication date |
---|---|
US20140334492A1 (en) | 2014-11-13 |
EP3014852A4 (en) | 2016-09-28 |
WO2014180312A2 (en) | 2014-11-13 |
EP3014852A2 (en) | 2016-05-04 |
CN105723674A (zh) | 2016-06-29 |
WO2014180312A3 (en) | 2016-04-07 |
EP3014852B1 (en) | 2019-07-10 |
US9674315B2 (en) | 2017-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105723674B (zh) | 用于在网络控制协议中动态地绑定头字段标识符的方法 | |
CN106357421B (zh) | 传输灵活以太网的业务流的方法和装置 | |
US6799220B1 (en) | Tunneling management messages over a channel architecture network | |
CN108769165A (zh) | 一种物联网中数据处理方法、物联网接入*** | |
US10050859B2 (en) | Apparatus for processing network packet using service function chaining and method for controlling the same | |
WO2017088494A1 (zh) | 一种链路管理方法及装置 | |
TW451136B (en) | Data transmission control device and electronic machine | |
CN105472023A (zh) | 一种远程直接存储器存取的方法及装置 | |
CN105337981A (zh) | 一种中继装置、更新方法及设备间进行数据交互的方法 | |
CN104753804B (zh) | 一种数据流传输控制方法、装置及*** | |
CN106330779A (zh) | 服务器、物理交换机以及通信*** | |
CN107222458A (zh) | 一种兼容Modbus协议的BACnet协议栈的数据处理方法及*** | |
CN107454000A (zh) | 网络数据传输装置及方法 | |
JP5624997B2 (ja) | デバイスの複数のコンポーネント間でメモリ資源を共有するための通信プロトコル | |
CN109600318A (zh) | 一种监控sdn中应用程序的方法及sdn控制器 | |
CN110072267A (zh) | 智能音箱联网的方法、装置、存储介质以及智能音箱 | |
CN112769743B (zh) | 一种报头压缩方法、装置及设备 | |
CN103181123A (zh) | 减少预留流的最大等待时间 | |
CN107506324A (zh) | 转接设备、远程通信***、数据传输方法及装置 | |
TW519822B (en) | Information processing device, information processing method and bridge using the same | |
CN109905387A (zh) | 一种数据处理方法及装置 | |
CN104426715A (zh) | 一种分布式测试工具控制方法 | |
CN108989175A (zh) | 一种通信方法及装置 | |
CN101471923A (zh) | 发送协议报文、识别协议报文类型的方法、设备和*** | |
CN110430478B (zh) | 组网通信方法、装置、终端设备及存储介质 |
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 |