CN106302184B - 一种流表项下发方法、流表项保存方法、相关装置和系统 - Google Patents
一种流表项下发方法、流表项保存方法、相关装置和系统 Download PDFInfo
- Publication number
- CN106302184B CN106302184B CN201510323801.6A CN201510323801A CN106302184B CN 106302184 B CN106302184 B CN 106302184B CN 201510323801 A CN201510323801 A CN 201510323801A CN 106302184 B CN106302184 B CN 106302184B
- Authority
- CN
- China
- Prior art keywords
- network device
- controller
- reserved
- flow entry
- storage information
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000004044 response Effects 0.000 claims description 90
- 238000012217 deletion Methods 0.000 claims description 14
- 230000037430 deletion Effects 0.000 claims description 14
- 230000006870 function Effects 0.000 description 77
- 238000010586 diagram Methods 0.000 description 18
- 230000000694 effects Effects 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- COCAUCFPFHUGAA-MGNBDDOMSA-N n-[3-[(1s,7s)-5-amino-4-thia-6-azabicyclo[5.1.0]oct-5-en-7-yl]-4-fluorophenyl]-5-chloropyridine-2-carboxamide Chemical compound C=1C=C(F)C([C@@]23N=C(SCC[C@@H]2C3)N)=CC=1NC(=O)C1=CC=C(Cl)C=N1 COCAUCFPFHUGAA-MGNBDDOMSA-N 0.000 description 3
- 230000001143 conditioned effect Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 101100055496 Arabidopsis thaliana APP2 gene Proteins 0.000 description 1
- 101100016250 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GYL1 gene Proteins 0.000 description 1
- 102100038359 Xaa-Pro aminopeptidase 3 Human genes 0.000 description 1
- 101710081949 Xaa-Pro aminopeptidase 3 Proteins 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
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/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- 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/02—Topology update or discovery
-
- 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/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- 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/02—Topology update or discovery
- H04L45/036—Updating the topology between route computation elements, e.g. between OpenFlow controllers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种流表项下发方法、流表项保存方法、相关装置和系统,控制器获取用于在网络设备上实现一项功能的至少一条流表项以及所述网络设备的设备标识;所述控制器根据所述设备标识获取所述网络设备的存储信息,所述存储信息包括所述网络设备用于存储流表项的存储空间中的空闲空间;所述控制器比对所述空闲空间与所述至少一条流表项的总容量;通过比对结果明确所述网络设备是否具有足够的空闲存储空间存储所述至少一条流表项。在所述网络设备具有大于等于所述流表项的存储空间时下发所述至少一条流表项,在所述网络设备不具有存储流表项的存储空间时不下发所述至少一条流表项,提高了控制器下发流表项的成功率。
Description
技术领域
本发明涉及通信领域,特别是涉及一种流表项下发方法、流表项保存方法、相关装置和系统。
背景技术
控制器为网络设备下发流表项,使得网络设备可以根据获取的流表项执行相应的功能例如转发、丢弃报文等。为了能够让网络设备实现某一项功能,控制器需要向所述网络设备下发与该功能相关的一条或者多条流表项。网络设备一般会划定专用的存储空间专门用于存储控制器下发的流表项。
现有技术在控制器向网络设备下发流表项的过程中,控制器并不会考虑该网络设备用于存储流表项的存储空间的存储状况。可能会出现在网络设备存储流表项的存储空间不足的情况下,控制器依然为了使该网络设备执行某一功能向该网络设备下发流表项。由于这时该网络设备没有足够存储空间,无法保存或只能保存部分接收到的流表项。导致该网络设备无法实现该功能,造成控制器下发流表项失败。
提高控制器下发流表项的成功率是需要解决的技术问题。
发明内容
为了解决上述技术问题,本发明实施例提供了一种流表项下发方法、流表项保存方法、相关装置和系统,以使得控制器在在所述空闲空间小于所述总容量时不向所述网络设备下发所述流表项,提高了控制器下发流表项的成功率。
第一方面,本发明实施例提供了一种流表项下发方法,所述方法包括:
控制器获取用于在网络设备上实现一项功能的至少一条流表项以及所述网络设备的设备标识;
所述控制器根据所述设备标识获取所述网络设备的存储信息,所述存储信息包括所述网络设备用于存储流表项的存储空间中的空闲空间;
所述控制器比对所述空闲空间与所述至少一条流表项的总容量;
若所述空闲空间大于等于所述总容量,所述控制器根据所述设备标识向所述网络设备下发所述至少一条流表项;
若所述空闲空间小于所述总容量,所述控制器不向所述网络设备下发所述至少一条流表项。
在第一方面的第一种可能的实现方式中,所述用于存储流表项的存储空间中的空闲空间具体包括预留空闲空间和非预留空闲空间,所述至少一条流表项还具有对应的用户标识,所述方法还包括:
所述控制器根据所述用户标识判断所述存储空间中是否具有所述用户标识对应的预留子空间,所述预留子空间为部分或全部所述预留空闲空间;
若具有所述预留子空间,所述控制器比对所述空闲空间与所述至少一条流表项的总容量,包括:
所述控制器比对所述预留子空间与所述至少一条流表项的总容量;
若所述预留子空间大于等于所述总容量,所述控制器根据所述设备标识向所述网络设备下发所述至少一条流表项;
若所述预留子空间小于所述总容量,所述控制器比对所述非预留空闲空间与所述总容量;
若所述非预留空闲空间大于等于所述总容量,所述控制器根据所述设备标识向所述网络设备下发所述至少一条流表项;
若所述非预留空闲空间小于所述总容量,所述控制器不向所述网络设备下发所述至少一条流表项。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述控制器根据所述用户标识判断所述存储空间中是否具有所述用户标识对应的预留子空间,还包括:
若不具有所述预留子空间,所述控制器比对所述非预留空闲空间与所述总容量;
若所述非预留空闲空间大于等于所述总容量,所述控制器根据所述设备标识向所述网络设备下发所述至少一条流表项;
若所述非预留空闲空间小于所述总容量,所述控制器不向所述网络设备下发所述至少一条流表项。
结合第一方面或者第一方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述控制器根据所述设备标识获取所述网络设备的存储信息,包括:
所述控制器根据所述设备标识向所述网络设备发送请求消息,所述请求消息用于请求获取所述网络设备的所述存储信息;
所述控制器接收所述网络设备根据所述请求消息回复的应答消息,所述应答消息用于向所述控制器通告所述网络设备上的所述存储信息;
所述控制器从所述应答消息中获取所述网络设备的所述存储信息。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述请求消息是OpenFlow协议的扩展的Multipart请求消息,所述扩展的Multipart请求消息包括Type字段和请求Body字段,所述Type字段携带指示存储信息的类型值,所述请求Body字段为空或者携带所述设备标识;
相应地,所述应答消息是OpenFlow协议的扩展的Multipart应答消息,所述Multipart应答消息包括所述Type字段和应答Body字段,所述应答Body字段携带所述网络设备的存储信息。
结合第一方面或者第一方面的第一种或第二种或第三种或第四种可能的实现方式,在第五种可能的实现方式中,还包括:
所述控制器在向所述网络设备下发所述至少一条流表项,或者接收到所述网络设备发送的流表项删除通知时,相应更新所述存储信息,所述流表项删除通知包括所述网络设备删除的流表项容量和所述删除的流表项在被删除前在所述存储空间中所存储的位置。
第二方面,本发明实施例提供了一种流表项下发装置,所述流表项下发装置包括:
获取单元,用于获取用于在网络设备上实现一项功能的至少一条流表项以及所述网络设备的设备标识;
查找单元,用于根据所述设备标识获取所述网络设备的存储信息,所述存储信息包括所述网络设备用于存储流表项的存储空间中的空闲空间;
比对单元,用于比对所述空闲空间与所述至少一条流表项的总容量;
若所述空闲空间大于等于所述总容量,触发发送单元根据所述设备标识向所述网络设备下发所述至少一条流表项;
若所述空闲空间小于所述总容量,不触发所述发送单元向所述网络设备下发所述至少一条流表项。
在第二方面的第一种可能的实现方式中,所述用于存储流表项的存储空间中的空闲空间具体包括预留空闲空间和非预留空闲空间,所述至少一条流表项还具有对应的用户标识,还包括:
判断单元,用于根据所述用户标识判断所述存储空间中是否具有所述用户标识对应的预留子空间,所述预留子空间为部分或全部所述预留空闲空间;
若具有所述预留子空间,触发所述比对单元所包括的第一比对子单元,
所述第一比对子单元,用于比对所述预留子空间与所述至少一条流表项的总容量;
若所述预留子空间大于等于所述总容量,触发所述发送单元根据所述设备标识向所述网络设备下发所述至少一条流表项;
若所述预留子空间小于所述总容量,触发所述比对单元所包括的第二比对子单元,
所述第二比对子单元,用于比对所述非预留空闲空间与所述总容量;
若所述非预留空闲空间大于等于所述总容量,触发所述发送单元根据所述设备标识向所述网络设备下发所述至少一条流表项;
若所述非预留空闲空间小于所述总容量,不触发所述发送单元向所述网络设备下发所述至少一条流表项。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,还包括:
若所述判断单元的判断结果为不具有所述预留子空间,触发所述第二比对子单元;
若所述非预留空闲空间大于等于所述总容量,触发所述发送单元根据所述设备标识向所述网络设备下发所述至少一条流表项;
若所述非预留空闲空间小于所述总容量,不触发所述发送单元向所述网络设备下发所述至少一条流表项。
结合第二方面或者第二方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述查找单元还包括:
发送子单元,用于根据所述设备标识向所述网络设备发送请求消息,所述请求消息用于请求获取所述网络设备的所述存储信息;
接收子单元,用于接收所述网络设备根据所述请求消息回复的应答消息,所述应答消息用于向所述控制器通告所述网络设备上的所述存储信息;
获取子单元,用于从所述应答消息中获取所述网络设备的所述存储信息。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述请求消息是开放流OpenFlow协议的扩展的多部分Multipart请求消息,所述扩展的Multipart请求消息包括类型Type字段和请求主体Body字段,所述Type字段携带指示存储信息的类型值,所述请求Body字段为空或者携带所述设备标识;
相应地,所述应答消息是OpenFlow协议的扩展的Multipart应答消息,所述Multipart应答消息包括所述Type字段和应答Body字段,所述应答Body字段携带所述网络设备的存储信息。
结合第二方面或者第二方面的第一种或第二种或第三种或第四种可能的实现方式,在第五种可能的实现方式中,还包括:
更新单元,用于在向所述网络设备下发所述至少一条流表项,或者接收到所述网络设备发送的流表项删除通知时,相应更新所述存储信息,所述流表项删除通知包括所述网络设备删除的流表项容量和所述删除的流表项在被删除前在所述存储空间中所存储的位置。
第三方面,本发明实施例提供了一种流表项保存方法,所述方法包括:
网络设备向控制器发送所述网络设备的存储信息,所述存储信息包括所述网络设备用于存储流表项的存储空间中的空闲空间;
所述网络设备接收所述控制器下发的至少一条流表项,所述至少一条流表项用于在所述网络设备上实现一项功能;
所述网络设备将所述至少一条流表项保存在存储空间中。
在第三方面的第一种可能的实现方式中,在所述网络设备向控制器发送所述网络设备的存储信息之前,还包括:
所述网络设备获取所述控制器发送的请求消息,所述请求消息用于请求获取所述网络设备的所述存储信息;
所述网络设备向控制器发送所述网络设备的存储信息,包括:
所述网络设备根据所述请求消息向所述控制器回复应答消息,所述应答消息用于向所述控制器通告所述网络设备上的所述存储信息。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述请求消息是开放流OpenFlow协议的扩展的多部分Multipart请求消息,所述扩展的Multipart请求消息包括类型Type字段和请求主体Body字段,所述Type字段携带指示存储信息的类型值,所述请求Body字段为空或者携带所述设备标识;
相应地,所述应答消息是OpenFlow协议的扩展的Multipart应答消息,所述Multipart应答消息包括所述Type字段和应答Body字段,所述应答Body字段携带所述网络设备的存储信息。
第四方面,本发明实施例提供了一种流表项保存装置,包括:
发送单元,用于向控制器发送所述网络设备的存储信息,所述存储信息包括所述网络设备用于存储流表项的存储空间中的空闲空间;
接收单元,用于接收所述控制器下发的至少一条流表项,所述至少一条流表项用于在所述网络设备上实现一项功能;
保存单元,用于将所述至少一条流表项保存在存储空间中。
在第四方面的第一种可能的实现方式中,
所述接收单元还用于在触发所述发送单元之前,获取所述控制器发送的请求消息,所述请求消息用于请求获取所述网络设备的所述存储信息;
所述发送单元具体用于根据所述请求消息向所述控制器回复应答消息,所述应答消息用于向所述控制器通告所述网络设备上的所述存储信息。
结合第四方面的第一种可能的实现方式,在第二种可能的实现方式中,所述请求消息是开放流OpenFlow协议的扩展的多部分Multipart请求消息,所述扩展的Multipart请求消息包括类型Type字段和请求主体Body字段,所述Type字段携带指示存储信息的类型值,所述请求Body字段为空或者携带所述设备标识;
相应地,所述应答消息是OpenFlow协议的扩展的Multipart应答消息,所述Multipart应答消息包括所述Type字段和应答Body字段,所述应答Body字段携带所述网络设备的存储信息。
第五方面,本发明实施例提供了一种流表项下发系统,所述系统包括控制器和网络设备:
所述控制器用于获取用于在网络设备上实现一项功能的至少一条流表项以及所述网络设备的设备标识;根据所述设备标识获取所述网络设备的存储信息,所述存储信息包括所述网络设备用于存储流表项的存储空间中的空闲空间;比对所述空闲空间与所述至少一条流表项的总容量;若所述空闲空间大于等于所述总容量,根据所述设备标识向所述网络设备下发所述至少一条流表项;若所述空闲空间小于所述总容量,不向所述网络设备下发所述至少一条流表项;
所述网络设备用于向控制器发送所述网络设备的存储信息,所述存储信息包括所述网络设备用于存储流表项的存储空间中的空闲空间;接收所述控制器下发的至少一条流表项,所述至少一条流表项用于在所述网络设备上实现一项功能;将所述至少一条流表项保存在存储空间中。
由上述技术方案可以看出,当控制器为了使得网络设备实现一项功能,向所述网络设备下发对应所述功能的至少一条流表项之前,所述控制器比对所述至少一条流表项的总容量和网络设备的存储信息,通过比对结果明确所述网络设备是否具有足够的空闲存储空间存储所述至少一条流表项。在所述网络设备具有大于等于所述流表项的存储空间时下发所述至少一条流表项,在所述网络设备不具有存储流表项的存储空间时不下发所述至少一条流表项,提高了控制器下发流表项的成功率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1a为下发流表项的第一种情况示意图;
图1b为下发流表项的第二种情况示意图;
图1为本发明实施例提供的一种流表项下发方法的方法流程图;
图2为本发明实施例提供的一种存储信息获取方法的方法流程图;
图3为本发明实施例提供的一种流表项下发方法的方法流程图;
图4为本发明实施例提供的一种流表项下发装置的装置结构图;
图5为本发明实施例提供的一种流表项下发装置的装置结构图;
图6为本发明实施例提供的一种流表项下发装置的装置结构图;
图7为本发明实施例提供的一种流表项下发装置的装置结构图;
图8为本发明实施例提供的一种流表项保存方法的方法流程图;
图9为本发明实施例提供的一种流表项保存方法的方法流程图;
图10为本发明实施例提供的一种流表项保存装置的装置结构图;
图11为本发明实施例提供的一种控制器的硬件结构示意图;
图12为本发明实施例提供的一种网络设备的硬件结构示意图。
具体实施方式
控制器通过向网络设备下发流表项,使得网络设备可以通过接收的流表项实现功能。在控制器向网络设备下发流表项的过程中,控制器并不会考虑该网络设备用于存储流表项的存储空间的存储状况。可能会出现在网络设备存储流表项的存储空间不足的情况下,控制器依然为了使该网络设备执行某一功能向该网络设备下发流表项。由于这时该网络设备没有足够存储空间,无法保存或只能保存部分接收到的流表项。导致该网络设备无法通过流表项实现该功能,造成控制器下发流表项失败。
进一步以具体场景为例,通过附图说明传统方式存在的问题,图1a为下发流表项的第一种情况示意图。在图1a中,应用程序(英文:Application,缩写:APP)1为了使网络设备1实现功能1,需要让控制器向网络设备1下发四条流表项即如1a中所示的待下发流表项1,而网络设备1用于存储流表项的存储空间中只有存储三条流表项的空闲空间。图1a的情况下,如控制器下发所述待下发流表项1,网络设备1最多只能存储四条流表项其中的三个,既无法让网络设备1实现功能1,也浪费了网络设备1的存储资源。
图1b为下发流表项的第二种情况示意图。在图1b中,APP2为了使网络设备2实现功能2,需要让控制器向网络设备2下发三条流表项即如1b中所示的待下发流表项2;于此同时,APP3为了使网络设备2实现功能3,也需要让控制器向网络设备2下发三条流表项即如1b中所示的待下发流表项3,而网络设备2用于存储流表项的存储空间中只有存储四条流表项的空闲空间。在图1b的情况下,若控制器同时向网络设备2下发所述待下发流表项2和待下发流表项3,有可能会出现网络设备2使用原空闲空间中的两个来存储所述待下发流表项2中三条流表项中的两个,使用原空闲空间中的另外两个来存储所述待下发流表项3中三条流表项中的两个。由此导致网络设备2即无法实现功能2也无法实现功能3,又浪费了网络设备2的存储资源。
为此,本发明实施例提供了一种流表项下发方法、流表项保存方法、相关装置和系统,当控制器为了使得网络设备实现一项功能,向所述网络设备下发对应所述功能的至少一条流表项之前,所述控制器比对所述至少一条流表项的总容量和网络设备的存储信息,通过比对结果明确所述网络设备是否具有足够的空闲存储空间存储所述至少一条流表项。在所述网络设备具有大于等于所述流表项的存储空间时下发所述至少一条流表项,在所述网络设备不具有存储流表项的存储空间时不下发所述至少一条流表项,提高了控制器下发流表项的成功率。
所述网络设备的存储空间中还可以为一些需要执行的特定功能例如具有高优先级的功能或者需要在所述网络设备上实现功能的特定用户例如重要用户或者重要App分配专用的预留空间,使得与上述相关的流表项例如与特定功能相关的流表项、由特定用户生成的流表项或者由重要应用生成的流表项需要下发到所述网络设备中时,所述存储空间中有专门用于存储上述流表项的预留存储空间。而且即使预留存储空间的空闲空间不足,可以将上述流表项在所述存储空间的非预留空闲空间足够时存储在非预留空闲空间中。由此尽量保证了重要流表项能够被所述网络设备存储的几率,提高了所述存储空间的使用效率。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1为本发明实施例提供的一种流表项下发方法的方法流程图,所述方法包括:
101:控制器获取用于在网络设备上实现一项功能的至少一条流表项以及所述网络设备的设备标识。
本发明实施例中所述的流表项可以理解为是用户或者某一项应用希望能在网络设备上实现一项功能时构造生成的。为了网络设备能够实现一项功能需要控制器为该网络设备下发与该功能相关的所有需要下发的流表项,这里所述的所有需要下发的流表项可以为至少一条流表项。当所述至少一条流表项全部成功下发到所述网络设备中或者说被所述网络设备存储到专门用于存储流表项的存储空间后,所述网络设备将可以根据所述至少一条流表项实现所述功能。
在本发明实施例中,优选的应用于部署了软件定义网络(英文:Software DefinedNetwork,缩写:SDN)技术的网络中。所述网络设备可以是用于进行路由转发的转发设备。例如可以为支持OpenFlow协议的交换机、路由器等设备。
102:所述控制器根据所述设备标识获取所述网络设备的存储信息,所述存储信息包括所述网络设备用于存储流表项的存储空间中的空闲空间。
举例说明,若所述控制器在本地已经存储了所述存储信息,那么所述控制器可以通过所述设备标识在本地进行查找,以查找到对应的所述设备标识的所述存储信息。或者,若所述控制器在本地虽然存储了所述存储信息,但所述控制器可以根据所述设备标识向所述网络设备发送请求消息,用于请求获取所述网络设备的存储信息,接收所述网络设备根据所述请求消息返回的应答消息,以此获取所述应答消息中携带的所述网络设备的存储信息并可以用获取的该存储信息来对本地存储的所述存储信息进行更新。或者,若所述控制器在本地并没有存储所述存储信息,所述控制器可以根据所述设备标识向所述网络设备发送请求消息,用于请求获取所述网络设备的存储信息,接收所述网络设备根据所述请求消息返回的应答消息,以此获取所述应答消息中携带的所述网络设备的存储信息。还需要注意的是,所述网络设备也可以周期性的自动将自身的存储信息上传到所述控制器。
所述存储信息可以为一种用于标识所述网络设备中专门用于存储流表项的存储空间存储状况的参数,其中可以包括已被使用的存储空间和未被使用的空闲存储空间的参数。在本发明实施例中主要关注的是尚未被用于存储的空闲存储空间的参数。
所述请求消息和所述应答消息可以为设定出的一种新的消息,或者也可以为通过对协议的扩展在已有消息的基础上定义出新的类型。图2为本发明实施例提供了一种存储信息获取方法的方法流程图,所述方法包括:
201:所述控制器根据所述设备标识向所述网络设备发送请求消息,所述请求消息用于请求获取所述网络设备的所述存储信息。
202:所述控制器接收所述网络设备根据所述请求消息回复的应答消息,所述应答消息用于向所述控制器通告所述网络设备上的所述存储信息。
203:所述控制器从所述应答消息中获取所述网络设备的所述存储信息。
可选的,本发明实施例还提供了一种通过对协议的扩展在已有消息的基础上定义出新的类型的方式得到所述请求消息和应答消息。
在OpenFlow协议中,控制器和网络设备之间可以使用多部分消息(MultipartMessages)来传输网络设备的状态信息。控制器可以通过向网络设备发送多部分请求消息(英文:Multipart request)来请求获得该网络设备的状态信息等,该网络设备在收到Multipart请求消息后,向该控制器返回多部分应答消息(英文:Multipart reply),并在该Multipart应答消息中携带所需的状态消息。所述Multipart请求消息和Multipart应答消息的OpenFlow协议格式中,可以通过类型字段:“uint16_t type;/*One of the OFPMP_*constants.*/”设置类型值,不同的类型值对应不同的状态信息。例如若控制器需要从网络设备获取状态信息1,控制器向网络设备发送的Multipart请求消息中的所述类型(Type)字段可以设置为对应状态信息1的类型值1,若需要状态信息2,所述类型字段可以设置为对应状态信息2的类型值2。也就是说,可以通过对所述类型字段的设置来控制所述Multipart请求消息和Multipart应答消息中携带的内容。但是当前OpenFlow协议中并不支持控制器通过Multipart消息从网络设备获取网络设备的存储信息。
为了实现控制器从网络设备获取网络设备的存储信息这一功能。本发明实施例对OpenFlow协议进行了扩展,为所述Multipart请求消息和Multipart应答消息定义了一种新的类型值:存储信息(STORAGE),具体如下:
/*Storage description.
*The request body is empty.
*The reply body is struct ofp_storage.*/
OFPMP_STORAGE=14,
其中ofp_storage:
/*Body of reply to OFPMP_STORAGE request.*/
struct ofp_storage{
uint32_t total_size;/*Total flow table entry size of the switch.*/
uint32_t idle_size;/*Unused size of the flow table entry.*/
};
OFP_ASSERT(sizeof(struct ofp_desc)==8);
可以理解为,定义了“存储信息”作为类型值,类型值的值为14,具有这个类型值的Multipart请求报文的请求主体(body)字段为空,Multipart应答消息的应答body字段具有ofp_storage结构,该ofp_storage结构包括所述网络设备用于存储流表项的存储空间的总容量和空闲容量。
若在所述控制器和网络设备使用上述新定义出的类型值为“STORAGE”Multipart消息,图2所对应实施例中的所述请求消息可以是OpenFlow协议的扩展的Multipart请求消息,所述扩展的Multipart请求消息包括类型Type字段和请求Body字段,所述Type字段携带指示存储信息的类型值,所述请求字段为空或者携带所述设备标识。在所述Multipart请求消息的请求字段为携带所述设备标识的情况下,可以通过所述请求字段中的所述设备标识实现校验等功能。
相应地,所述应答消息是OpenFlow协议的扩展的Multipart应答消息,所述Multipart应答消息包括所述Type字段和应答Body字段,所述应答Body字段携带所述网络设备的存储信息。
举例说明,当所述网络设备接收到所述Multipart请求消息,所述网络设备通过所述Multipart请求消息Type字段的类型值识别所述Multipart请求消息为请求获取存储信息的请求消息。所述网络设备可以生成对应所述Multipart请求消息的Multipart应答消息,在所述Multipart应答消息的应答Body字段中携带自身的所述存储信息。
当所述控制器获取所述网络设备发送的所述Multipart应答消息,所述控制器通过所述Multipart应答消息Type字段的类型值识别所述Multipart应答消息为携带了所述存储信息的应答消息,所述控制器从所述Multipart应答消息的应答Body字段中获取所需的所述存储信息。
103:所述控制器比对所述空闲空间与所述至少一条流表项的总容量。
举例说明,所述比对主要是用来确定所述网络设备剩余的存储空间是否足够存储所述至少一条流表项。由于流表项的容量大小基本差不多,故所述存储空间可以以流表项为单位表示。例如所述空闲空间具体为三条流表项单位,所述至少一条流表项的总容量具体为两条流表项,那么比对结果就是所述空闲空间大于所述总容量。
104:若所述空闲空间大于等于所述总容量,所述控制器根据所述设备标识向所述网络设备下发所述至少一条流表项。
105:若所述空闲空间小于所述总容量,所述控制器不向所述网络设备下发所述至少一条流表项。
举例说明,若所述空闲空间大于等于所述总容量,可以理解为所述网络设备的所述存储空间中具有足够的空闲空间用于保存所述至少一条流表项。这种情况下,所述控制器向所述网络设备下发所述至少一条流表项在正常情况下可以被所述网络设备存储到所述存储空间中。所述网络设备能够通过所述至少一条流表项实现所述功能。
若所述空闲空间小于所述总容量,可以理解为所述网络设备的所述存储空间中的空闲空间不足,不具备存储所述至少一条流表项的条件。这种情况下,即使所述控制器向所述网络设备下发所述至少一条流表项,所述网络设备在正常情况下也无法保存所述至少一条流表项或者在所述至少一条流表项为多个的情况下最多只可能保存所述至少一条流表项的一部分。即使在能够保存所述至少一条流表项的一部分例如当所述至少一条流表项具体为三条流表项时,所述网络设备只能保存其中两条流表项的情况下,所述网络设备无法根据所保存的所述至少一条流表项的一部分例如所述两条流表项实现原本需要所述三条流表项才能实现的所述功能。这种情况站在所述控制器的角度上,可以理解为下发流表项失败。在这种情况下不向所述网络设备下发所述至少一条流表项可以有效避免由于所述网络设备无法存储所述至少一条流表项,或者只能存储所述至少一条流表项中的一部分导致下发流表项失败情况的出现,或者可以有效减少下发流表项失败的出现次数。
需要注意的是,若所述存储信息保存在所述控制器中,可选的,所述存储信息可以由所述控制器进行更新。
所述控制器在向所述网络设备下发所述至少一条流表项,或者接收到所述网络设备发送的流表项删除通知时,相应更新所述存储信息,所述流表项删除通知包括所述网络设备删除的流表项容量和所述删除的流表项在被删除前在所述存储空间中所存储的位置。
举例说明,若所述控制器通过比对,向所述网络设备下发了所述至少一条流表项,所述控制器将相应的更新对应所述网络设备的存储信息,将空闲空间减少所述至少一条流表项的总容量,将非空闲空间或者说已使用空间增加所述至少一条流表项的总容量。若接收到所述流表项删除通知,所述控制器将所述空闲空间增加所述删除的流表项容量,将非空闲空间减少所述删除的流表项容量。通过更新所述存储信息,可以提高判断、比对的准确率,进而起到帮助提高控制器下发流表项的成功率的作用。
可见,当控制器为了使得网络设备实现一项功能,向所述网络设备下发对应所述功能的至少一条流表项之前,所述控制器比对所述至少一条流表项的总容量和网络设备的存储信息,通过比对结果明确所述网络设备是否具有足够的空闲存储空间存储所述至少一条流表项。在所述网络设备具有大于等于所述流表项的存储空间时下发所述至少一条流表项,在所述网络设备不具有存储流表项的存储空间时不下发所述至少一条流表项,提高了控制器下发流表项的成功率。
实施例二
在图1所对应实施例的基础上,图3为本发明实施例提供的一种流表项下发方法的方法流程图。所述方法包括:
301:控制器获取用于在网络设备上实现一项功能的至少一条流表项以及所述网络设备的设备标识,所述至少一条流表项还具有对应的用户标识。
举例说明,所述用户标识可以理解为用于标识所述至少一条流表项由某一用户或者某一项应用构造生成的,或者所述用户标识也可以理解为用于标识所述至少一条流表项所对应的所述功能。所述用户可以是指使用所述网络设备的用户,例如,数据中心场景中的租户。
302:所述控制器根据所设备述标识查找到所述网络设备的存储信息,所述存储信息包括所述网络设备用于存储流表项的存储空间中的空闲空间,所述用于存储流表项的存储空间中的空闲空间具体包括预留空闲空间和非预留空闲空间。
举例说明,本发明实施例中所述的预留可以理解为在所述存储空间中,预先保留一部分空闲空间作为预留空间,所述预留空间用于专门保存与用户标识对应的流表项。所述预留空闲空间可以理解为所述预留空间中还未被使用的空间。所述非预留空闲空间可以理解为所述空闲空间中除了所述预留空闲空间外的其他空闲空间。
303:所述控制器根据所述用户标识判断所述存储空间中是否具有所述用户标识对应的预留子空间,所述预留子空间为部分或全部所述预留空闲空间,若具有所述预留子空间,执行304。
举例说明,所述预留空间可以包括一个或多个子空间。例如用户标识A和用户标识B在所述存储空间中均具有预留的空间,其中,所述预留空间中专门用于用户标识A的部分可以理解为对应用户标识A的子空间A,所述预留空间中专门用于用户标识B的部分可以理解为对应用户标识B的子空间B。在本发明实施例中,所述预留子空间特指为所述用户标识预留的子空间中尚未被使用的空闲空间。
若所述用户标识用于标识所述至少一条流表项由某一用户或者某一项应用构造生成,则所述预留空间中与所述用户标识对应的子空间可以专门用于存储由该用户或该应用构造生成的流表项。若所述用户标识用于标识所述至少一条流表项所对应的所述功能,则所述预留空间中与所述用户标识对应的子空间可以专门用于存储使得所述网络设备实现所述功能的流表项。
需要注意的是,可选的,在303中,若所述控制器根据所述用户标识判断发现所述存储空间中不具有所述预留子空间,执行306。具体实施内容参见306部分的相关描述。
304:所述控制器比对所述预留子空间与所述至少一条流表项的总容量;若所述预留子空间大于等于所述总容量,执行305;若所述预留子空间小于所述总容量,执行306。
305:所述控制器根据所述设备标识向所述网络设备下发所述至少一条流表项。
举例说明,若所述预留子空间大于等于所述总容量,则可以理解为所述网络设备的所述存储空间中为所述用户标识预留的预留空间中具有足够的空闲空间用于保存所述至少一条流表项。这种情况下,所述控制器向所述网络设备下发所述至少一条流表项在正常情况下可以被所述网络设备存储到所述存储空间的所述预留子空间中。所述网络设备能够通过所述至少一条流表项实现所述功能。
若所述预留子空间小于所述总容量,可以理解为所述网络设备的所述存储空间中为所述用户标识预留的预留空间中没有足够的空闲空间用于存储所述至少一条流表项。这种情况下,可以进一步通过比对判断所述非预留空闲空间中是否具有存储所述至少一条流表项的条件。
306:所述控制器比对所述非预留空闲空间与所述总容量;若所述非预留空闲空间大于等于所述总容量,执行305。
也就是说,对于所述用户标识在所述预留空间中具有对应的子空间的流表项,可以在对应的子空间中不具有足够空闲空间的情况下,进一步具有存储在非预留空闲空间中的可能。所述非预留空闲空间可以理解为存储流表项的公共空间中的空闲区域,也就是说不限制、不限定保存在所述非预留空闲空间中流表项的用户标识。
若所述非预留空闲空间大于等于所述总容量,可以理解为所述网络设备的所述存储空间中的非预留空闲空间中具有足够的空闲空间用于保存所述至少一条流表项。所述控制器具有向所述网络设备下发所述至少一条流表项的条件。
需要注意的是,当306中所述控制器通过比对,若所述非预留空闲空间小于所述总容量,执行307。
307:所述控制器不向所述网络设备下发所述至少一条流表项。
举例说明,在所述网络设备的所述存储空间不具备完全存储所述至少一条流表项的情况下,不向所述网络设备下发所述至少一条流表项可以有效避免由于所述网络设备无法存储所述至少一条流表项,或者只能存储所述至少一条流表项中的一部分导致下发流表项失败情况的出现,或者可以有效减少下发流表项失败的出现次数。
所述网络设备的存储空间中还可以为一些需要执行的特定功能例如具有高优先级的功能或者需要在所述网络设备上实现功能的特定用户例如重要用户或者重要App分配专用的预留空间,使得与上述相关的流表项例如与特定功能相关的流表项、由特定用户生成的流表项或者由重要应用生成的流表项需要下发到所述网络设备中时,所述存储空间中有专门用于存储上述流表项的预留存储空间。而且即使预留存储空间的空闲空间不足,可以将上述流表项在所述存储空间的非预留空闲空间足够时存储在非预留空闲空间中。由此尽量保证了重要流表项能够被所述网络设备存储的几率,提高了所述存储空间的使用效率。
可选的,接下来进一步说明在所述存储空间具有预留空间和非预留空间的情况下,且所述存储信息保存在所述控制器中时,所述存储信息可以由所述控制器进行更新。
所述控制器在向所述网络设备下发所述至少一条流表项,或者接收到所述网络设备发送的流表项删除通知时,相应更新所述存储信息,所述流表项删除通知包括所述网络设备删除的流表项容量和所述删除的流表项在被删除前在所述存储空间中所存储的位置。
根据不同的情况举例说明所述控制器相应的更新对应所述网络设备的存储信息。
若在所述预留子空间大于等于所述总容量的情况下所述控制器向所述网络设备下发所述至少一条流表项,所述控制器将所述预留子空间减少所述总容量。
若在所述非预留空闲空间大于等于所述总容量的情况下所述控制器向所述网络设备下发所述至少一条流表项,所述控制器将所述非预留空闲空间减少所述总容量。
若所述控制器接收到所述流表项删除通知,所述控制器可以根据所述删除的流表项在被删除前在所述存储空间中所存储的位置,对所述存储信息进行更新。例如当所述删除的流表项在被删除前在所述存储空间中所存储的位置具体在预留空间中对应的子空间时,所述控制器可以将该子空间的预留子空间增加所述删除的流表项容量。例如当所述删除的流表项在被删除前在所述存储空间中所存储的位置具体在非预留空间中时,所述控制器可以将非预留空闲空间增加所述删除的流表项容量。通过更新所述存储信息,可以提高判断、比对的准确率,进而起到帮助提高控制器下发流表项的成功率的作用。
实施例三
图4为本发明实施例提供的一种流表项下发装置的装置结构图,所述流表项下发装置400包括:
获取单元401,用于获取用于在网络设备上实现一项功能的至少一条流表项以及所述网络设备的设备标识。
本发明实施例中所述的流表项可以理解为是用户或者某一项应用希望能在网络设备上实现一项功能时构造生成的。为了网络设备能够实现一项功能需要控制器为该网络设备下发与该功能相关的所有需要下发的流表项,这里所述的所有需要下发的流表项可以为至少一条流表项。当所述至少一条流表项全部成功下发到所述网络设备中或者说被所述网络设备存储到专门用于存储流表项的存储空间后,所述网络设备将可以根据所述至少一条流表项实现所述功能。
在本发明实施例中,优选的应用于部署了SDN技术的网络中。所述网络设备可以是用于进行路由转发的转发设备。例如可以为支持OpenFlow协议的交换机、路由器等设备。
查找单元402,用于根据所述设备标识查找到所述网络设备的存储信息,所述存储信息包括所述网络设备用于存储流表项的存储空间中的空闲空间。
举例说明,若所述控制器在本地已经存储了所述存储信息,那么所述查找单元402可以通过所述设备标识在本地进行查找,以查找到对应的所述设备标识的所述存储信息。或者,若所述控制器在本地虽然存储了所述存储信息,但所述查找单元402可以根据所述设备标识向所述网络设备发送请求消息,用于请求获取所述网络设备的存储信息,接收所述网络设备根据所述请求消息返回的应答消息,以此获取所述应答消息中携带的所述网络设备的存储信息并可以用获取的该存储信息来对本地存储的所述存储信息进行更新。或者,若所述控制器在本地并没有存储所述存储信息,所述查找单元402可以根据所述设备标识向所述网络设备发送请求消息,用于请求获取所述网络设备的存储信息,接收所述网络设备根据所述请求消息返回的应答消息,以此获取所述应答消息中携带的所述网络设备的存储信息。还需要注意的是,所述网络设备也可以周期性的自动将自身的存储信息上传到所述控制器。
所述存储信息可以为一种用于标识所述网络设备中专门用于存储流表项的存储空间存储状况的参数,其中可以包括已被使用的存储空间和未被使用的空闲存储空间的参数。在本发明实施例中主要关注的是尚未被用于存储的空闲存储空间的参数。
所述请求消息和所述应答消息可以为设定出的一种新的消息,或者也可以为通过对协议的扩展在已有消息的基础上定义出新的类型。在图4所对应实施例的基础上,图5为本发明实施例提供的一种流表项下发装置的装置结构图,所述流表项下发装置400中的所述查找单元402还包括:
发送子单元501,用于根据所述设备标识向所述网络设备发送请求消息,所述请求消息用于请求获取所述网络设备的所述存储信息。
接收子单元502,用于接收所述网络设备根据所述请求消息回复的应答消息,所述应答消息用于向所述控制器通告所述网络设备上的所述存储信息。
获取子单元503,用于从所述应答消息中获取所述网络设备的所述存储信息。
可选的,本发明实施例还提供了一种通过对协议的扩展在已有消息的基础上定义出新的类型的方式得到所述请求消息和应答消息。
在OpenFlow协议中,控制器和网络设备之间可以使用Multipart消息来传输网络设备的状态信息。控制器可以通过向网络设备发送Multipart请求消息来请求获得该网络设备的状态信息等,该网络设备在收到Multipart请求消息后,向该控制器返回Multipart应答消息,并在该Multipart应答消息中携带所需的状态消息。所述Multipart请求消息和Multipart应答消息的OpenFlow协议格式中,可以通过类型字段:“uint16_t type;/*Oneof the OFPMP_*constants.*/”设置类型值,不同的类型值对应不同的状态信息。例如若控制器需要从网络设备获取状态信息1,控制器向网络设备发送的Multipart请求消息中的所述类型(Type)字段可以设置为对应状态信息1的类型值1,若需要状态信息2,所述类型字段可以设置为对应状态信息2的类型值2。也就是说,可以通过对所述类型字段的设置来控制所述Multipart请求消息和Multipart应答消息中携带的内容。但是当前OpenFlow协议中并不支持控制器通过Multipart消息从网络设备获取网络设备的存储信息。
为了实现控制器从网络设备获取网络设备的存储信息这一功能。本发明实施例对OpenFlow协议进行了扩展,为所述Multipart请求消息和Multipart应答消息定义了一种新的类型值:存储信息(STORAGE),具体如下:
/*Storage description.
*The request body is empty.
*The reply body is struct ofp_storage.*/
OFPMP_STORAGE=14,
其中ofp_storage:
/*Body of reply to OFPMP_STORAGE request.*/
struct ofp_storage{
uint32_t total_size;/*Total flow table entry size of the switch.*/
uint32_t idle_size;/*Unused size of the flow table entry.*/
};
OFP_ASSERT(sizeof(struct ofp_desc)==8);
可以理解为,定义了“存储信息”作为类型值,类型值的值为14,具有这个类型值的Multipart请求报文的请求主体(body)字段为空,Multipart应答消息的应答body字段具有ofp_storage结构,该ofp_storage结构包括所述网络设备用于存储流表项的存储空间的总容量和空闲容量。
若在所述控制器和网络设备使用上述新定义出的类型值为“STORAGE”Multipart消息,图2所对应实施例中的所述请求消息可以是OpenFlow协议的扩展的Multipart请求消息,所述扩展的Multipart请求消息包括类型Type字段和请求Body字段,所述Type字段携带指示存储信息的类型值,所述请求字段为空或者携带所述设备标识。在所述Multipart请求消息的请求字段为携带所述设备标识的情况下,可以通过所述请求字段中的所述设备标识实现校验等功能。
相应地,所述应答消息是OpenFlow协议的扩展的Multipart应答消息,所述Multipart应答消息包括所述Type字段和应答Body字段,所述应答Body字段携带所述网络设备的存储信息。
举例说明,当所述网络设备接收到所述Multipart请求消息,所述网络设备通过所述Multipart请求消息Type字段的类型值识别所述Multipart请求消息为请求获取存储信息的请求消息。所述网络设备可以生成对应所述Multipart请求消息的Multipart应答消息,在所述Multipart应答消息的应答Body字段中携带自身的所述存储信息。
当所述控制器获取所述网络设备发送的所述Multipart应答消息,所述控制器通过所述Multipart应答消息Type字段的类型值识别所述Multipart应答消息为携带了所述存储信息的应答消息,所述控制器从所述Multipart应答消息的应答Body字段中获取所需的所述存储信息。
比对单元403,用于比对所述空闲空间与所述至少一条流表项的总容量。
举例说明,所述比对主要是用来确定所述网络设备剩余的存储空间是否足够存储所述至少一条流表项。由于流表项的容量大小基本差不多,故所述存储空间可以以流表项为单位表示。例如所述空闲空间具体为三条流表项单位,所述至少一条流表项的总容量具体为两条流表项,那么比对结果就是所述空闲空间大于所述总容量。
若所述空闲空间大于等于所述总容量,触发发送单元404根据所述设备标识向所述网络设备下发所述至少一条流表项。
若所述空闲空间小于所述总容量,不触发所述发送单元404向所述网络设备下发所述至少一条流表项。
举例说明,若所述空闲空间大于等于所述总容量,可以理解为所述网络设备的所述存储空间中具有足够的空闲空间用于保存所述至少一条流表项。这种情况下,所述发送单元404向所述网络设备下发所述至少一条流表项在正常情况下可以被所述网络设备存储到所述存储空间中。所述网络设备能够通过所述至少一条流表项实现所述功能。
若所述空闲空间小于所述总容量,可以理解为所述网络设备的所述存储空间中的空闲空间不足,不具备存储所述至少一条流表项的条件。这种情况下,即使所述发送单元404向所述网络设备下发所述至少一条流表项,所述网络设备在正常情况下也无法保存所述至少一条流表项或者在所述至少一条流表项为多个的情况下最多只可能保存所述至少一条流表项的一部分。即使在能够保存所述至少一条流表项的一部分例如当所述至少一条流表项具体为三条流表项时,所述网络设备只能保存其中两条流表项的情况下,所述网络设备无法根据所保存的所述至少一条流表项的一部分例如所述两条流表项实现原本需要所述三条流表项才能实现的所述功能。这种情况站在所述控制器的角度上,可以理解为下发流表项失败。在这种情况下不向所述网络设备下发所述至少一条流表项可以有效避免由于所述网络设备无法存储所述至少一条流表项,或者只能存储所述至少一条流表项中的一部分导致下发流表项失败情况的出现,或者可以有效减少下发流表项失败的出现次数。
需要注意的是,若所述存储信息保存在所述控制器中,可选的,所述存储信息可以由更新单元601进行更新。在图4所对应实施例的基础上,图6为本发明实施例提供的一种流表项下发装置的装置结构图,所述流表项下发装置400还包括:
更新单元601,用于在向所述网络设备下发所述至少一条流表项,或者接收到所述网络设备发送的流表项删除通知时,相应更新所述存储信息,所述流表项删除通知包括所述网络设备删除的流表项容量和所述删除的流表项在被删除前在所述存储空间中所存储的位置。
举例说明,若所述比对单元403通过比对,向所述网络设备下发了所述至少一条流表项,所述更新单元601将相应的更新对应所述网络设备的存储信息,将空闲空间减少所述至少一条流表项的总容量,将非空闲空间或者说已使用空间增加所述至少一条流表项的总容量。若接收到所述流表项删除通知,所述更新单元601将所述空闲空间增加所述删除的流表项容量,将非空闲空间减少所述删除的流表项容量。通过更新所述存储信息,可以提高判断、比对的准确率,进而起到帮助提高控制器下发流表项的成功率的作用。
可见,当控制器为了使得网络设备实现一项功能,向所述网络设备下发对应所述功能的至少一条流表项之前,所述控制器比对所述至少一条流表项的总容量和网络设备的存储信息,通过比对结果明确所述网络设备是否具有足够的空闲存储空间存储所述至少一条流表项。在所述网络设备具有大于等于所述流表项的存储空间时下发所述至少一条流表项,在所述网络设备不具有存储流表项的存储空间时不下发所述至少一条流表项,提高了控制器下发流表项的成功率。
实施例四
在实施例三的基础上,所述用于存储流表项的存储空间中的空闲空间具体包括预留空闲空间和非预留空闲空间,所述至少一条流表项还具有对应的用户标识。
举例说明,本发明实施例中所述的预留可以理解为在所述存储空间中,预先保留一部分空闲空间作为预留空间,所述预留空间用于专门保存与用户标识对应的流表项。所述预留空闲空间可以理解为所述预留空间中还未被使用的空间。所述非预留空闲空间可以理解为所述空闲空间中除了所述预留空闲空间外的其他空闲空间。
举例说明,所述用户标识可以理解为用于标识所述至少一条流表项由某一用户或者某一项应用构造生成的,或者所述用户标识也可以理解为用于标识所述至少一条流表项所对应的所述功能。所述用户可以是指使用所述网络设备的用户,例如,数据中心场景中的租户。
在图4所对应实施例的基础上,图7为本发明实施例提供的一种流表项下发装置的装置结构图,所述控制器400还包括:
判断单元701,用于根据所述用户标识判断所述存储空间中是否具有所述用户标识对应的预留子空间,所述预留子空间为部分或全部所述预留空闲空间。
举例说明,所述预留空间可以包括一个或多个子空间。例如用户标识A和用户标识B在所述存储空间中均具有预留的空间,其中,所述预留空间中专门用于用户标识A的部分可以理解为对应用户标识A的子空间A,所述预留空间中专门用于用户标识B的部分可以理解为对应用户标识B的子空间B。在本发明实施例中,所述预留子空间特指为所述用户标识预留的子空间中尚未被使用的空闲空间。
若所述用户标识用于标识所述至少一条流表项由某一用户或者某一项应用构造生成,则所述预留空间中与所述用户标识对应的子空间可以专门用于存储由该用户或该应用构造生成的流表项。若所述用户标识用于标识所述至少一条流表项所对应的所述功能,则所述预留空间中与所述用户标识对应的子空间可以专门用于存储使得所述网络设备实现所述功能的流表项。
若具有所述预留子空间,触发所述比对单元403所包括的第一比对子单元702,
所述第一比对子单元702,用于比对所述预留子空间与所述至少一条流表项的总容量。
若所述预留子空间大于等于所述总容量,触发所述发送单元404根据所述设备标识向所述网络设备下发所述至少一条流表项。
举例说明,若所述预留子空间大于等于所述总容量,则可以理解为所述网络设备的所述存储空间中为所述用户标识预留的预留空间中具有足够的空闲空间用于保存所述至少一条流表项。这种情况下,所述发送单元404向所述网络设备下发所述至少一条流表项在正常情况下可以被所述网络设备存储到所述存储空间的所述预留子空间中。所述网络设备能够通过所述至少一条流表项实现所述功能。
若所述预留子空间小于所述总容量,可以理解为所述网络设备的所述存储空间中为所述用户标识预留的预留空间中没有足够的空闲空间用于存储所述至少一条流表项。这种情况下,可以进一步通过比对判断所述非预留空闲空间中是否具有存储所述至少一条流表项的条件。
若所述预留子空间小于所述总容量;或者,若所述判断单元701的判断结果为不具有所述预留子空间,触发所述比对单元403所包括的第二比对子单元703,
所述第二比对子单元703,用于比对所述非预留空闲空间与所述总容量。
若所述非预留空闲空间大于等于所述总容量,触发所述发送单元404根据所述设备标识向所述网络设备下发所述至少一条流表项。
也就是说,对于所述用户标识在所述预留空间中具有对应的子空间的流表项,可以在对应的子空间中不具有足够空闲空间的情况下,进一步具有存储在非预留空闲空间中的可能。所述非预留空闲空间可以理解为存储流表项的公共空间中的空闲区域,也就是说不限制、不限定保存在所述非预留空闲空间中流表项的用户标识。
若所述非预留空闲空间大于等于所述总容量,可以理解为所述网络设备的所述存储空间中的非预留空闲空间中具有足够的空闲空间用于保存所述至少一条流表项。所述发送单元404具有向所述网络设备下发所述至少一条流表项的条件。
若所述非预留空闲空间小于所述总容量,不触发所述发送单元404向所述网络设备下发所述至少一条流表项。
举例说明,在所述网络设备的所述存储空间不具备完全存储所述至少一条流表项的情况下,不向所述网络设备下发所述至少一条流表项可以有效避免由于所述网络设备无法存储所述至少一条流表项,或者只能存储所述至少一条流表项中的一部分导致下发流表项失败情况的出现,或者可以有效减少下发流表项失败的出现次数。
所述网络设备的存储空间中还可以为一些需要执行的特定功能例如具有高优先级的功能或者需要在所述网络设备上实现功能的特定用户例如重要用户或者重要App分配专用的预留空间,使得与上述相关的流表项例如与特定功能相关的流表项、由特定用户生成的流表项或者由重要应用生成的流表项需要下发到所述网络设备中时,所述存储空间中有专门用于存储上述流表项的预留存储空间。而且即使预留存储空间的空闲空间不足,可以将上述流表项在所述存储空间的非预留空闲空间足够时存储在非预留空闲空间中。由此尽量保证了重要流表项能够被所述网络设备存储的几率,提高了所述存储空间的使用效率。
可选的,接下来进一步说明在所述存储空间具有预留空间和非预留空间的情况下,且所述存储信息保存在所述控制器中时,所述存储信息如何由所述更新单元601进行更新。
所述更新单元601在向所述网络设备下发所述至少一条流表项,或者接收到所述网络设备发送的流表项删除通知时,相应更新所述存储信息,所述流表项删除通知包括所述网络设备删除的流表项容量和所述删除的流表项在被删除前在所述存储空间中所存储的位置。
根据不同的情况举例说明所述更新单元601相应的更新对应所述网络设备的存储信息。
若在所述预留子空间大于等于所述总容量的情况下所述发送单元304向所述网络设备下发所述至少一条流表项,所述更新单元401将所述预留子空间减少所述总容量。
若在所述非预留空闲空间大于等于所述总容量的情况下所述发送单元404向所述网络设备下发所述至少一条流表项,所述更新单元401将所述非预留空闲空间减少所述总容量。
若所述控制器接收到所述流表项删除通知,所述更新单元601可以根据所述删除的流表项在被删除前在所述存储空间中所存储的位置,对所述存储信息进行更新。例如当所述删除的流表项在被删除前在所述存储空间中所存储的位置具体在预留空间中对应的子空间时,所述更新单元601可以将该子空间的预留子空间增加所述删除的流表项容量。例如当所述删除的流表项在被删除前在所述存储空间中所存储的位置具体在非预留空间中时,所述更新单元601可以将非预留空闲空间增加所述删除的流表项容量。通过更新所述存储信息,可以提高判断、比对的准确率,进而起到帮助提高控制器下发流表项的成功率的作用。
实施例五
图8为本发明实施例提供的一种流表项保存方法的方法流程图,所述方法包括:
801:网络设备向控制器发送所述网络设备的存储信息,所述存储信息包括所述网络设备用于存储流表项的存储空间中的空闲空间。
本步骤的内容请参见图1所对应实施例中102的相关描述以及图2所对应实施例的相关描述,这里不再赘述。
802:所述网络设备接收所述控制器下发的至少一条流表项,所述至少一条流表项用于在所述网络设备上实现一项功能。
803:所述网络设备将所述至少一条流表项保存在存储空间中。
可选的,在图8所对应实施例的基础上,图9为本发明实施例提供的一种流表项保存方法的方法流程图,包括:
901:所述网络设备获取所述控制器发送的请求消息,所述请求消息用于请求获取所述网络设备的所述存储信息。
902:所述网络设备根据所述请求消息向所述控制器回复应答消息,所述应答消息用于向所述控制器通告所述网络设备上的所述存储信息。
903:所述网络设备接收所述控制器下发的至少一条流表项,所述至少一条流表项用于在所述网络设备上实现一项功能。
904:所述网络设备将所述至少一条流表项保存在存储空间中。
可选的,所述请求消息是OpenFlow协议的扩展的Multipart请求消息,所述扩展的Multipart请求消息包括Type字段和请求Body字段,所述Type字段携带指示存储信息的类型值,所述请求Body字段为空或者携带所述设备标识;
相应地,所述应答消息是OpenFlow协议的扩展的Multipart应答消息,所述Multipart应答消息包括所述Type字段和应答Body字段,所述应答Body字段携带所述网络设备的存储信息。
实施例六
图10为本发明实施例提供的一种流表项保存装置的装置结构图,所述流表项保存装置1000包括:
发送单元1001,用于向控制器发送所述网络设备的存储信息,所述存储信息包括所述网络设备用于存储流表项的存储空间中的空闲空间。
接收单元1002,用于接收所述控制器下发的至少一条流表项,所述至少一条流表项用于在所述网络设备上实现一项功能。
保存单元1003,用于将所述至少一条流表项保存在存储空间中。
可选的,所述接收单元1002还用于在触发所述发送单元1001之前,获取所述控制器发送的请求消息,所述请求消息用于请求获取所述网络设备的所述存储信息。
所述发送单元1001具体用于根据所述请求消息向所述控制器回复应答消息,所述应答消息用于向所述控制器通告所述网络设备上的所述存储信息。
可选的,所述请求消息是OpenFlow协议的扩展的Multipart请求消息,所述扩展的Multipart请求消息包括Type字段和请求Body字段,所述Type字段携带指示存储信息的类型值,所述请求Body字段为空或者携带所述设备标识;
相应地,所述应答消息是OpenFlow协议的扩展的Multipart应答消息,所述Multipart应答消息包括所述Type字段和应答Body字段,所述应答Body字段携带所述网络设备的存储信息。
实施例七
本发明实施例还提供了一种流表项下发系统,所述系统包括控制器和网络设备:
所述控制器用于获取用于在网络设备上实现一项功能的至少一条流表项以及所述网络设备的设备标识;根据所述设备标识获取所述网络设备的存储信息,所述存储信息包括所述网络设备用于存储流表项的存储空间中的空闲空间;比对所述空闲空间与所述至少一条流表项的总容量;若所述空闲空间大于等于所述总容量,根据所述设备标识向所述网络设备下发所述至少一条流表项;若所述空闲空间小于所述总容量,不向所述网络设备下发所述至少一条流表项。
所述网络设备用于向控制器发送所述网络设备的存储信息,所述存储信息包括所述网络设备用于存储流表项的存储空间中的空闲空间;接收所述控制器下发的至少一条流表项,所述至少一条流表项用于在所述网络设备上实现一项功能;将所述至少一条流表项保存在存储空间中。
实施例八
参阅图11,图11为本发明实施例提供的一种控制器的硬件结构示意图,所述控制器1100包括存储器1101、接收器1102和发送器1103,以及分别与所述存储器1101、所述接收器1102和所述发送器1103连接的处理器1104,所述存储器1101用于存储一组程序指令,所述处理器1104用于调用所述存储器1101存储的程序指令执行如下操作:
触发所述接收器1102获取用于在网络设备上实现一项功能的至少一条流表项以及所述网络设备的设备标识;
根据所述设备标识获取所述网络设备的存储信息,所述存储信息包括所述网络设备用于存储流表项的存储空间中的空闲空间;
比对所述空闲空间与所述至少一条流表项的总容量;
若所述空闲空间大于等于所述总容量,触发所述发送器1103根据所述设备标识向所述网络设备下发所述至少一条流表项;
若所述空闲空间小于所述总容量,不触发所述发送器1103向所述网络设备下发所述至少一条流表项。
可选地,所述处理器1104可以为中央处理器(Central Processing Unit,CPU),所述存储器1101可以为随机存取存储器(Random Access Memory,RAM)类型的内部存储器,所述接收器1102和所述发送器1103可以包含普通物理接口,所述物理接口可以为以太(Ethernet)接口或异步传输模式(Asynchronous Transfer Mode,ATM)接口。所述处理器1104、发送器1103、接收器1102和存储器1101可以集成为一个或多个独立的电路或硬件,如:专用集成电路(Application Specific Integrated Circuit,ASIC)。
实施例九
参阅图12,图12为本发明实施例提供的一种网络设备的硬件结构示意图,所述网络设备1200包括存储器1201、接收器1202和发送器1203,以及分别与所述存储器1201、所述接收器1202和所述发送器1203连接的处理器1204,所述存储器1201用于存储一组程序指令,所述处理器1204用于调用所述存储器1201存储的程序指令执行如下操作:
触发所述接收器1202向控制器发送所述网络设备的存储信息,所述存储信息包括所述网络设备用于存储流表项的存储空间中的空闲空间;
触发所述发送器1203接收所述控制器下发的至少一条流表项,所述至少一条流表项用于在所述网络设备上实现一项功能;
将所述至少一条流表项保存在存储空间中。
可选地,所述处理器1204可以为CPU,所述存储器1201可以为RAM类型的内部存储器,所述接收器1202和所述发送器1203可以包含普通物理接口,所述物理接口可以为Ethernet接口或ATM接口。所述处理器1204、发送器1203、接收器1202和存储器1201可以集成为一个或多个独立的电路或硬件,如:ASIC。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(Read-Only Memory,ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本发明的优选实施方式,并非用于限定本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种流表项下发方法,其特征在于,所述方法包括:
控制器获取用于在网络设备上实现一项功能的至少一条流表项以及所述网络设备的设备标识;所述至少一条流表项还具有对应的用户标识;
所述控制器根据所述设备标识获取所述网络设备的存储信息,所述存储信息包括所述网络设备用于存储流表项的存储空间中的空闲空间;所述用于存储流表项的存储空间中的空闲空间具体包括预留空闲空间和非预留空闲空间;
所述控制器根据所述用户标识判断所述存储空间中是否具有所述用户标识对应的预留子空间,所述预留子空间为部分或全部所述预留空闲空间;
若具有所述预留子空间,且所述预留子空间大于等于所述至少一条流表项的总容量,所述控制器根据所述设备标识向所述网络设备下发所述至少一条流表项。
2.根据权利要求1所述的方法,其特征在于,所述控制器根据所述设备标识获取所述网络设备的存储信息,包括:
所述控制器根据所述设备标识向所述网络设备发送请求消息,所述请求消息用于请求获取所述网络设备的所述存储信息;
所述控制器接收所述网络设备根据所述请求消息回复的应答消息,所述应答消息用于向所述控制器通告所述网络设备上的所述存储信息;
所述控制器从所述应答消息中获取所述网络设备的所述存储信息。
3.根据权利要求2所述的方法,其特征在于,所述请求消息是开放流OpenFlow协议的扩展的多部分Multipart请求消息,所述扩展的多部分Multipart请求消息包括类型Type字段和请求主体Body字段,所述类型Type字段携带指示存储信息的类型值,所述请求主体Body字段为空或者携带所述设备标识;
相应地,所述应答消息是OpenFlow协议的扩展的Multipart应答消息,所述扩展的Multipart应答消息包括所述类型Type字段和应答Body字段,所述应答Body字段携带所述网络设备的存储信息。
4.根据权利要求1所述的方法,其特征在于,还包括:
所述控制器在向所述网络设备下发所述至少一条流表项,或者接收到所述网络设备发送的流表项删除通知时,相应更新所述存储信息,所述流表项删除通知包括所述网络设备删除的流表项容量和所述删除的流表项在被删除前在所述存储空间中所存储的位置。
5.一种流表项下发装置,其特征在于,所述流表项下发装置包括:
获取单元,用于获取用于在网络设备上实现一项功能的至少一条流表项以及所述网络设备的设备标识;所述至少一条流表项还具有对应的用户标识;
查找单元,用于根据所述设备标识获取所述网络设备的存储信息,所述存储信息包括所述网络设备用于存储流表项的存储空间中的空闲空间;所述用于存储流表项的存储空间中的空闲空间具体包括预留空闲空间和非预留空闲空间;
判断单元,用于根据所述用户标识判断所述存储空间中是否具有所述用户标识对应的预留子空间,所述预留子空间为部分或全部所述预留空闲空间;
若具有所述预留子空间,触发比对单元所包括的第一比对子单元,
所述第一比对子单元,用于比对所述预留子空间与所述至少一条流表项的总容量;若所述预留子空间大于等于所述总容量,触发发送单元根据所述设备标识向所述网络设备下发所述至少一条流表项。
6.根据权利要求5所述的装置,其特征在于,所述查找单元还包括:
发送子单元,用于根据所述设备标识向所述网络设备发送请求消息,所述请求消息用于请求获取所述网络设备的所述存储信息;
接收子单元,用于接收所述网络设备根据所述请求消息回复的应答消息,所述应答消息用于向控制器通告所述网络设备上的所述存储信息;
获取子单元,用于从所述应答消息中获取所述网络设备的所述存储信息。
7.根据权利要求6所述的装置,其特征在于,所述请求消息是开放流OpenFlow协议的扩展的多部分Multipart请求消息,所述扩展的多部分Multipart请求消息包括类型Type字段和请求主体Body字段,所述类型Type字段携带指示存储信息的类型值,所述请求主体Body字段为空或者携带所述设备标识;
相应地,所述应答消息是OpenFlow协议的扩展的Multipart应答消息,所述扩展的Multipart应答消息包括所述类型Type字段和应答Body字段,所述应答Body字段携带所述网络设备的存储信息。
8.根据权利要求5所述的装置,其特征在于,还包括:
更新单元,用于在向所述网络设备下发所述至少一条流表项,或者接收到所述网络设备发送的流表项删除通知时,相应更新所述存储信息,所述流表项删除通知包括所述网络设备删除的流表项容量和所述删除的流表项在被删除前在所述存储空间中所存储的位置。
9.一种流表项保存方法,其特征在于,所述方法包括:
网络设备向控制器发送所述网络设备的存储信息,所述存储信息包括所述网络设备用于存储流表项的存储空间中的空闲空间;所述用于存储流表项的存储空间中的空闲空间具体包括预留空闲空间和非预留空闲空间;
所述网络设备接收所述控制器下发的至少一条流表项,所述至少一条流表项用于在所述网络设备上实现一项功能;所述至少一条流表项还具有对应的用户标识;所述用户标识在所述存储空间中具有对应的预留子空间,所述预留子空间为部分或全部所述预留空闲空间;
所述网络设备通过所述预留子空间保存所述至少一条流表项。
10.根据权利要求9所述的方法,其特征在于,在所述网络设备向控制器发送所述网络设备的存储信息之前,还包括:
所述网络设备获取所述控制器发送的请求消息,所述请求消息用于请求获取所述网络设备的所述存储信息;
所述网络设备向控制器发送所述网络设备的存储信息,包括:
所述网络设备根据所述请求消息向所述控制器回复应答消息,所述应答消息用于向所述控制器通告所述网络设备上的所述存储信息。
11.根据权利要求10所述的方法,其特征在于,所述请求消息是开放流OpenFlow协议的扩展的多部分Multipart请求消息,所述扩展的多部分Multipart请求消息包括类型Type字段和请求主体Body字段,所述类型Type字段携带指示存储信息的类型值,所述请求主体Body字段为空或者携带设备标识;
相应地,所述应答消息是OpenFlow协议的扩展的Multipart应答消息,所述扩展的Multipart应答消息包括所述类型Type字段和应答Body字段,所述应答Body字段携带所述网络设备的存储信息。
12.一种流表项保存装置,其特征在于,包括:
发送单元,用于向控制器发送网络设备的存储信息,所述存储信息包括所述网络设备用于存储流表项的存储空间中的空闲空间;所述用于存储流表项的存储空间中的空闲空间具体包括预留空闲空间和非预留空闲空间;
接收单元,用于接收所述控制器下发的至少一条流表项,所述至少一条流表项用于在所述网络设备上实现一项功能;所述至少一条流表项还具有对应的用户标识;所述用户标识在所述存储空间中具有对应的预留子空间,所述预留子空间为部分或全部所述预留空闲空间;
保存单元,用于通过所述预留子空间保存所述至少一条流表项。
13.根据权利要求12所述的装置,其特征在于,
所述接收单元还用于在触发所述发送单元之前,获取所述控制器发送的请求消息,所述请求消息用于请求获取所述网络设备的所述存储信息;
所述发送单元具体用于根据所述请求消息向所述控制器回复应答消息,所述应答消息用于向所述控制器通告所述网络设备上的所述存储信息。
14.根据权利要求13所述的装置,其特征在于,所述请求消息是开放流OpenFlow协议的扩展的多部分Multipart请求消息,所述扩展的多部分Multipart请求消息包括类型Type字段和请求主体Body字段,所述类型Type字段携带指示存储信息的类型值,所述请求主体Body字段为空或者携带设备标识;
相应地,所述应答消息是OpenFlow协议的扩展的Multipart应答消息,所述扩展的Multipart应答消息包括所述类型Type字段和应答Body字段,所述应答Body字段携带所述网络设备的存储信息。
15.一种流表项下发系统,其特征在于,所述系统包括控制器和网络设备:
所述控制器用于获取用于在网络设备上实现一项功能的至少一条流表项以及所述网络设备的设备标识;所述至少一条流表项还具有对应的用户标识;根据所述设备标识获取所述网络设备的存储信息,所述存储信息包括所述网络设备用于存储流表项的存储空间中的空闲空间;所述用于存储流表项的存储空间中的空闲空间具体包括预留空闲空间和非预留空闲空间;根据所述用户标识判断所述存储空间中是否具有所述用户标识对应的预留子空间,所述预留子空间为部分或全部所述预留空闲空间;若具有所述预留子空间,且所述预留子空间大于等于所述至少一条流表项的总容量,根据所述设备标识向所述网络设备下发所述至少一条流表项;
所述网络设备用于向控制器发送所述网络设备的存储信息,所述存储信息包括所述网络设备用于存储流表项的存储空间中的空闲空间;接收所述控制器下发的至少一条流表项;通过所述预留子空间保存所述至少一条流表项。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510323801.6A CN106302184B (zh) | 2015-06-12 | 2015-06-12 | 一种流表项下发方法、流表项保存方法、相关装置和系统 |
PCT/CN2016/085130 WO2016197917A1 (zh) | 2015-06-12 | 2016-06-07 | 一种流表项下发方法、流表项保存方法、相关装置和系统 |
EP16806815.3A EP3300321B1 (en) | 2015-06-12 | 2016-06-07 | Flow entry issuing method, flow entry storage method, relevant apparatus and system |
US15/837,811 US10469388B2 (en) | 2015-06-12 | 2017-12-11 | Flow entry delivering method, flow entry storage method, related apparatus, and related system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510323801.6A CN106302184B (zh) | 2015-06-12 | 2015-06-12 | 一种流表项下发方法、流表项保存方法、相关装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106302184A CN106302184A (zh) | 2017-01-04 |
CN106302184B true CN106302184B (zh) | 2020-02-14 |
Family
ID=57502864
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510323801.6A Expired - Fee Related CN106302184B (zh) | 2015-06-12 | 2015-06-12 | 一种流表项下发方法、流表项保存方法、相关装置和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10469388B2 (zh) |
EP (1) | EP3300321B1 (zh) |
CN (1) | CN106302184B (zh) |
WO (1) | WO2016197917A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11374859B2 (en) | 2020-08-04 | 2022-06-28 | Pensando Systems, Inc. | Flow table programming using flow miss metadata and burst action assist via CPU offload |
US11456952B2 (en) | 2020-08-04 | 2022-09-27 | Pensando Systems, Inc. | Methods and systems for removing expired flow table entries using an extended packet processing pipeline |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101808159A (zh) * | 2010-03-10 | 2010-08-18 | 宇龙计算机通信科技(深圳)有限公司 | 一种备份移动终端信息的方法、系统及移动终端 |
CN102289453A (zh) * | 2011-06-20 | 2011-12-21 | 北京星网锐捷网络技术有限公司 | 三态内容寻址存储器规则存储方法、装置及网络设备 |
CN103168453A (zh) * | 2010-10-15 | 2013-06-19 | 日本电气株式会社 | 交换机系统和数据转发方法 |
CN104077191A (zh) * | 2014-07-18 | 2014-10-01 | 广州金山网络科技有限公司 | 一种用于管理内存资源的方法及装置 |
CN104426815A (zh) * | 2013-08-27 | 2015-03-18 | 中兴通讯股份有限公司 | 一种sdn中流表下发的方法和系统、of控制器和of交换机 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102893577A (zh) * | 2010-06-17 | 2013-01-23 | 松下电器产业株式会社 | 数据发送装置及数据发送方法 |
US9001827B2 (en) * | 2010-12-17 | 2015-04-07 | Big Switch Networks, Inc. | Methods for configuring network switches |
CN102724112B (zh) * | 2012-05-31 | 2015-03-25 | 华为技术有限公司 | 一种基于tcp协议的传输方法、接收端设备及系统 |
US9548920B2 (en) * | 2012-10-15 | 2017-01-17 | Cisco Technology, Inc. | System and method for efficient use of flow table space in a network environment |
KR101816627B1 (ko) * | 2013-08-31 | 2018-01-09 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 저장 시스템에서 조작 요청을 처리하기 위한 방법 및 장치 |
WO2015123853A1 (zh) * | 2014-02-21 | 2015-08-27 | 华为技术有限公司 | 一种数据流处理方法及装置 |
CN104219150B (zh) * | 2014-09-03 | 2018-03-16 | 新华三技术有限公司 | 流表下发方法及装置 |
KR102286882B1 (ko) * | 2015-03-06 | 2021-08-06 | 삼성전자 주식회사 | 이동 통신 시스템에서 사용자 체감 품질 관리 방법 및 장치 |
-
2015
- 2015-06-12 CN CN201510323801.6A patent/CN106302184B/zh not_active Expired - Fee Related
-
2016
- 2016-06-07 EP EP16806815.3A patent/EP3300321B1/en active Active
- 2016-06-07 WO PCT/CN2016/085130 patent/WO2016197917A1/zh active Application Filing
-
2017
- 2017-12-11 US US15/837,811 patent/US10469388B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101808159A (zh) * | 2010-03-10 | 2010-08-18 | 宇龙计算机通信科技(深圳)有限公司 | 一种备份移动终端信息的方法、系统及移动终端 |
CN103168453A (zh) * | 2010-10-15 | 2013-06-19 | 日本电气株式会社 | 交换机系统和数据转发方法 |
CN102289453A (zh) * | 2011-06-20 | 2011-12-21 | 北京星网锐捷网络技术有限公司 | 三态内容寻址存储器规则存储方法、装置及网络设备 |
CN104426815A (zh) * | 2013-08-27 | 2015-03-18 | 中兴通讯股份有限公司 | 一种sdn中流表下发的方法和系统、of控制器和of交换机 |
CN104077191A (zh) * | 2014-07-18 | 2014-10-01 | 广州金山网络科技有限公司 | 一种用于管理内存资源的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3300321A4 (en) | 2018-05-30 |
US20180102974A1 (en) | 2018-04-12 |
EP3300321A1 (en) | 2018-03-28 |
US10469388B2 (en) | 2019-11-05 |
CN106302184A (zh) | 2017-01-04 |
WO2016197917A1 (zh) | 2016-12-15 |
EP3300321B1 (en) | 2020-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3528466A1 (en) | Information sending method, unit and system | |
US9742667B2 (en) | Packet processing method, device and system | |
CN107104824B (zh) | 一种网络拓扑确定方法和装置 | |
CN110635987A (zh) | 一种报文传输方法、装置、设备及机器可读存储介质 | |
CN109274592B (zh) | Mac地址表项处理方法、装置以及计算机可读介质 | |
US10051552B2 (en) | Method for realizing resource attribute notification, and common service entity | |
CN111886843B (zh) | 低功耗蓝牙网络维护方法、电子设备、蓝牙网络和介质 | |
CN111182659A (zh) | 一种Mesh设备的模式切换方法、模式切换装置及Mesh设备 | |
CN112600693A (zh) | 业务请求的处理方法、系统、电子设备及计算机存储介质 | |
CN106302184B (zh) | 一种流表项下发方法、流表项保存方法、相关装置和系统 | |
CN103414641A (zh) | 邻居表项释放方法、装置和网络设备 | |
JPWO2013145045A1 (ja) | 無線デバイス、アドレス決定方法、通信システム及び無線端末 | |
CN115209378A (zh) | 车辆的服务资源动态分配方法、系统、管理服务器及介质 | |
CN110708275B (zh) | 一种协议报文的处理方法和装置 | |
CN110635968A (zh) | 堆叠双活检测通道的监控方法、装置、设备及存储介质 | |
US20030214931A1 (en) | Network access control technique in a CDMA system | |
US9596131B2 (en) | Method for transiting operation mode of routing processor | |
CN106603723B (zh) | 一种请求消息处理方法及装置 | |
CN104022896B (zh) | 一种配置管理方法、装置及网络设备 | |
CN104486401A (zh) | 数据分区控制方法及系统 | |
CN110851186A (zh) | 网络设备重启的方法、装置、电子设备及可读存储介质 | |
CN107707480B (zh) | 一种报文转发方法及装置 | |
CN105245637B (zh) | 一种冲突处理方法及设备 | |
CN110944059B (zh) | 一种通信方法及装置 | |
CN112995922B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200214 |
|
CF01 | Termination of patent right due to non-payment of annual fee |