用于在网络控制协议中动态地绑定头字段标识符的方法_2

文档序号:9932895阅读:来源:国知局
息传输。元数据元素的位置和大小可以连同相关联 标识符绑定一起指定。
[0024] 图3示出可以由SDN控制器执行的用于动态地将头字段标识符绑定到头字段类型 的实施例的方法300。如图所示,方法300以步骤310开始,其中SDN控制器将绑定请求发送到 SDN交换机。绑定请求可以明确识别所请求的头绑定定义,或可以通过参考含有用于所请求 的头绑定定义的信息的数据面模型(例如,协商数据面模型(NDM))隐含地识别所请求的头 绑定定义。此后,方法300前进到步骤320,其中SDN控制器判定是否在超时周期截止之前接 收到绑定响应。如果在超时周期截止之前接收到绑定响应,那么方法300前进到步骤330,其 中SDN控制器对头字段采用动态头字段标识符。头字段标识符可以是由绑定请求请求的原 始头字段标识符,或可以是在绑定响应中指示的替代头字段标识符,并且可以通过将适当 的条目写入由SDN控制器存储的表而动态地绑定到头字段类型。如果在超时周期截止之前 未接收到绑定响应,那么方法300前进到步骤340,其中SDN控制器判定SDN交换机处将使用 默认绑定进行数据面处理。
[0025]图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。
[0026]动态地绑定头字段标识符允许在SDN网络中实施专用的头字段类型而无需必须更 新标准。图5示出图表,其示出用于动态地绑定头字段标识符的实施例技术在与更新通信协 议标准以反映新的头字段绑定的常规方法相比时如何节省时间。
[0027]例如,在控制器和交换机建立关系时,可以实施用于动态地绑定头字段标识符的 实施例的技术。这使得增加了对新的信息(例如,头字段)的支持,而无需对网络控制协议规 范进行任何改变。本发明的各方面提供对控制协议规范中的绑定网络信息标识符的替代方 案,控制协议规范例如OpenFlow 1 ? 3中的枚举oxm_of b_match_f i e 1 ds。例如,实施例的方法 可以用通用术语定义网络信息,以及或者当写下协商数据面模型(NDM)规范时或者当在控 制器与交换机之间建立控制关系时将这些定义绑定到控制协议标识符值。NDM是特定网络 应用中的交换机所需的转发行为的规范。这些行为可以一般术语或以网络控制协议的术语 (例如,OpenFlow)来定义,并且提供控制器实施者与交换机实施者之间的共享理解。
[0028]以下是头类型ID绑定和头字段ID绑定的实施例NDM编码的一个实例: "头类型":[ ("头" :."以太网'',//名称不是必需的,担是为了清楚起见:而包括 "类型ID" : [0,0,"以太网"]//基准划分类型 "oxm-class". : 3 "头字]殳,, :| ("字段" :"MAC_DA", "位罝" ;[0,48], "oxm_rield" .: 1 }, _ {"字段" :"MAC-SA,,, "位丑" :[48,48]. ''oxmjMdf : .2. ("字段" :"以太类型", "位罝" :[96,16], "oxm_rield" .: .3 } _ r头" :"C-TAG",
[0029] "类型 ID" : [3.3,0x8100] //[以太网、以太类型、TPID] "oxm_class" ; 4 "头字i殳,, :[ r字段" :"vid", "位置" :[4,12], //假定最重要字节优先,最重要比特位优先 "?〇xni_llcIcr, : 1 }, _ 广字段" :"PCP", …位罝" :[0,3] ^ "oxm-field" : 2 } 5 广字段" :"DEI"' "位罝?' : [3.1], "?〇xni_llcIcr, : 3 > r头" :"IPv4", "类型丨D,' : [3,3,0x0800] //[以太网、以太类型、IPv4] "oxm_class" :. 5 "头字i": [ //以下并不包括ip头中的所有字段 广字段" :"版本'', "位置" :[0,4], %xm」Md" :: 1 }, _ r字段" :iHL" "位昱" :[4,4], "oxm-rield". : :2 L - r字段" :"dscp", "位置" :[8,6], %xm_:fie.ld" :: 3 1, _ !"字段" :"ECN", "位昱" :[14,2], "(wm-field" : 4 L - 广字段》 : "长度'', "位置'' :[16,16], %xm. field" ::: :5
[0030] T_ f', P字 I史" :"ttl' "位昱" :[64,8], "(wm-field" : 6 L - 广字段" :"协议", "位置" :[72,8], %xm_:fie.ld" :: 7. 1, _ 广字段" :"1P_DA", "位昱" :[96,32], "(wm-field" : 8 L - r字段" :"ip-sa,% "位置" :[128,32], "oxm_field" : f I " } ]
[0031] 在分组网络中,管理包的转发行为的信息在包头中进行编码。包头可以包括含有 与包相关的不同信息的若干字段。一般来说,这些字段能够通过与头的开始的偏移(以比特 位为单位)以及字段大小(以比特位为单位)来描述。多个包头可以在包穿过网络时被附加 到包上,例如,包可以具有所附加的TCP、IP以及以太网MAC头。包解析(例如,识别头字段)可 以是涉及解析第一头、识别接下来的头、解析下一头、识别接下来的头等的重复过程。
[0032] 头可以在包中呈现多种次序,并且相同的头类型可以多次呈现。头的开始可以出 现在包中的任意位置中。因此,头字段可以描述为属于具体头类型、位于与头的开始特定的 偏移处以及是特定大小的。
[0033] 为了解析头,可能需要知晓头类型。可以基于接收到包的端口、先前头的内容或头 自身的内容知晓头类型。例如,在802.3端口上接收到的包可以假定为含有以太网MAC头,在 所述头中的以太类型字段可以识别下一头为IP,并且IP头的第一半字节可以识别其为IPv4 头类型。可以为NDM定义用于判定待解析的包头类型的规则,以建立对将由交换机处理的包 的编码和语义的共同理解,并且所述规则是控制器关于在交换机中配置何种转发行为控制 的决策的基础。
[0034] 然而,当与自定义头定义相比时,使用通用描述在控制协议中识别头字段可能不 太紧凑和/或涉及增大解析复杂性。自定义头定义和/或头解析规则可以使用两个值,即头 类型标识符值和头字段标识符值。例如,OpenFlow协议中的OpenFlow可扩展匹配(OXM)TLV 使用两个字段对字段标识符进行编码:16位oxm_class值和7位oxm_field值。在此情况下, oxm_fi eld值在OpenFlow协议规范中以枚举oxm_ofb_match_fi elds数据类型来定义。
[0035] 本发明的各方面提供协议以判定或选择头字段标识符值绑定。这可以消除对在控 制协议中静态地指定头字段标识符值的需要。
[0036] 头字段在头类型的上下文中进行识别。头类型识别为与包划分机制(例如,以太 网、GFP、PPP/HDLC等)相关联的划分基准头类型或识别为通过标准协议识别方案(例如,以 太类型、GFP净荷类型标识符、PPP协议数目等)识别的头类型。对于在具体控制应用程序中 所需的每个头类型,连同相关头字段一起指定头类型。控制器和交换机交换针对每个头类 型的以下信息:头类型识别方法、头类型、头字段;以及头长度。
[0037] 头
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1