基于Openflow控制报文处理方法、发送装置、接收装置和系统的制作方法

文档序号:8000407阅读:220来源:国知局
基于Openflow控制报文处理方法、发送装置、接收装置和系统的制作方法
【专利摘要】一种基于Openflow控制报文处理方法,包括:发送端判断需要对控制报文的数据进行分割时,将控制报文的数据分割为多段,每段封装为一个分片报文生成多个分片报文,其中,至少存在一个分片报文携带控制报文的分段指示信息,用于指示所述接收端该控制报文所分割的分段个数或者指示控制报文分段结束;发送端将多个分片报文发送给接收端。接收端接收到分片报文后,判断分片报文是否为一个控制报文的最后一个分片报文,或者,是否已接收完成该分片报文所属控制报文的所有分片报文;如果是,则将已接收到的属于同一控制报文的分片报文进行组装,生成控制报文。本发明还提供一种基于Openflow控制报文发送装置、接收装置和系统。
【专利说明】基于Openf low控制报文处理方法、发送装置、接收装置和 系统

【技术领域】
[0001] 本发明涉及信息传输领域,尤其涉及一种基于Openflow控制报文处理方法、发送 装置、接收装置和系统。

【背景技术】
[0002] 对于当前Openf 1OW最新版本1 · 3来说,其规定了对于of控制器和0F交换机 之间交互的性能、状态等请求和应答信息报文中,存在对多个端口和多个流表的状态, 性能和统计等信息,假如封装到单个Openflow协议报文中,因传送链路的MTU (Maximum Transmission Unit,最大传输单元)等限制,需要对该长控制报文进行分割和分片,封 装到多个Openflow报文中进行传送;现有版本上〇 penfl〇w协议中,使用一种Multipart Message(多分片信息)信息结构,来对长控制报文进行分片封装传送。其中, Multipart Request(多分片请求)信息结构如图1所示,其中,该结构中的OF Header(0penflow报文 头)中设为18来标识当前报文是Multipart Request报文;通过type (类型)字段来标识 控制信息类型报文;通过Flags (标志)字段中第1比特来标识是否为分片报文(相对于IP 报文MF标识)或后续是否存在一个或更多请求报文。而对于对应的应答报文Multipart Reply (多分片应答),其报文信息结构如图2所示,该结构中,OF Header中设为19来标识 当前报文为Multipart Reply报文。
[0003] 使用上述两种报文结构时,目的节点(设备)不知道什么时候开始组装和处理该 长控制报文,影响了节点的处理效率。


【发明内容】

[0004] 本发明要解决的技术问题是提供一种基于Openflow控制报文处理方法、发送装 置、接收装置和系统,提高控制报文处理效率。
[0005] 为了解决上述问题,本发明提供了一种基于Openflow控制报文处理方法,包括:
[0006] 发送端判断需要对控制报文的数据进行分割时,将所述控制报文的数据分割为多 段,每段封装为一个分片报文生成多个分片报文,其中,所述多个分片报文中至少存在一个 分片报文携带所述控制报文的分段指示信息,所述分段指示信息用于指示接收端所述控制 报文所分割的分段个数或者指示所述控制报文分段结束;
[0007] 所述发送端将所述多个分片报文发送给所述接收端。
[0008] 上述方法还可具有以下特点,所述多个分片报文中至少存在一个分片报文携带所 述控制报文的分段指示信息包括:
[0009] 在每个分片报文中携带该分片报文是否为该控制报文的最后一个分片报文的指 示信息;
[0010] 或者,在所述控制报文的最末一个数据段所在的分片报文中携带控制报文结束信 息; toon] 或者,在所述多个分片报文的至少一个分片报文中携带所述控制报文被分割的分 段个数。
[0012] 上述方法还可具有以下特点,所述在每个分片报文中携带该分片报文是否为该控 制报文的最后一个分片报文的指示信息包括:
[0013] 当所述分片报文为所述控制报文的最后一个分片报文时,将所述分片报文的分片 报文头中的特定字段置为第一预设值,指示当前分片报文为所述控制报文的最后一个分片 报文;
[0014] 当所述分片报文为所述控制报文的非最后个分片报文时,将所述分片报文的分 片报文头中的特定字段置为所述第一预设值外的值,指示当前分片报文为所述控制报文的 非最后一"t"分片报文。
[0015] 上述方法还可具有以下特点,在所述控制报文的最末一个数据段所在的分片报文 中携带控制报文结束信息包括:
[0016] 在所述控制报文的最后一个数据段所在的分片报文的净荷数据部分中增加特定 结束标识信息,指示所述分片报文携带的数据段为所述控制报文的最后一个数据段。
[0017] 上述方法还可具有以下特点,所述特定结束标识信息为结束类型、长度、值END TLV信息。
[0018] 本发明还提供一种基于Openflow控制报文处理方法,包括:
[0019] 接收端接收到分片报文后,判断所述分片报文是否为一个控制报文的最后一个分 片报文,或者,是否已接收完成该分片报文所属控制报文的所有分片报文;如果是,则将己 接收到的属于同一控制报文的分片报文进行组装,生成控制报文。
[0020] 上述方法还可具有以下特点,根据如下方式判断所述分片报文是否为一个控制报 文的最后一个分片报文:
[0021] 如果所述分片报文的分片报文头中的特定字段指示该分片报文为控制报文的最 后一个分片报文,则判断所述分片报文为其所属控制报文的最后一个分片报文;
[0022] 或者,如果所述分片报文的净荷数据部分中携带特定结束标识信息,则所述分片 报文为其所属控制报文的最后一个分片报文。
[0023] 上述方法还可具有以下特点,所述特定结束标识信息为结束类型、长度、值END TLV信息。
[0024] 上述方法还可具有以下特点,根据如下方式判断是否已接收完成该分片报文所属 控制报文的所有分片报文:
[0025] 在所述分片报文的所属控制报文的至少一个分片报文中接收到所述控制报文被 分割的分段个数,且当前已接收到的属于该控制报文的分片报文的个数为所述分段个数, 则判断已接收完成该分片报文所属控制报文的所有分片报文。
[0026] 本发明还提供一种基于Openflow控制报文发送装置,包括:
[0027] 分割模块,用于判断需要对控制报文的数据进行分割时,将所述控制报文的数据 分割为多段,每段封装为一个分片报文生成多个分片报文,其中,在所述多个分片报文中至 少一个分片报文中携带所述控制报文的分段指示信息,所述分段指示信息用于指示接收端 所述控制报文所分割的分段个数或者指示所述控制报文分段结束;
[0028] 发送模块,用于将所述多个分片报文发送给所述接收端。
[0029]上述装置还可具有以下特点,所述分割模块在所述多个分片报文中至少一个分片 报文中携带所述控制报文的分段指示信息包括:
[0030]在每个分片报文中携带该分片报文是否为该控制报文的最后一个分片报文的指 示信息;
[0031]或者,在所述控制报文的最末一个数据段所在的分片报文中携带控制报文结束信 息;
[0032]或者,在所述多个分片报文的至少一个分片报文中携带所述控制报文被分割的分 段个数。
[0033]上述装置还可具有以下特点,所述分割模块在每个分片报文中携带该分片报文是 否为该控制报文的最后一个分片报文的指示信息包括:
[0034]当所述分片报文为所述控制报文的最后一个分片报文时,将所述分片报文的分片 报文头中的特定字段置为第一预设值,指示当前分片报文为所述控制报文的最后一个分片 报文;
[0035]当所述分片报文为所述控制报文的非最后一个分片报文时,将所述分片报文的分 片报文头中的特定字段置为所述第一预设值外的值,指示当前分片报文为所述控制报文的 非最后一个分片报文。
[0036] 上述装置还可具有以下特点,所述分割模块在所述控制报文的最末一个数据段所 在的分片报文中携带控制报文结束信息包括:
[0037] 在所述控制报文的最后一个数据段所在的分片报文中的净荷数据部分中增加特 定结束标识信息,指示所述分片报文携带的数据段为所述控制报文的最后一个数据段。 [0038]上述装置还可具有以下特点,所述特定结束标识信息为结束类型、长度、值END TLV信息。
[0039] 本发明还提供一种基于Openf low控制报文接收装置,包括:
[0040] 接收模块,用于接收分片报文;
[0041] 组装模块,用于判断所述分片报文是否为一个控制报文的最后一个分片报文,或 者,是否已接收完成该分片报文所属控制报文的所有分片报文;如果是,则将已接收到的属 于同一控制报文的分片报文进行组装,生成控制报文。
[0042] 上述装置还可具有以下特点,所述组装模块根据如下方式判断所述分片报文是否 为一个控制报文的最后一个分片报文:
[0043] 如果所述分片报文的分片报文头中的特定字段指示该分片报文为控制报文的最 后一个分片报文,则判断所述分片报文为其所属控制报文的最后一个分片报文;
[0044] 或者,如果所述分片报文的净荷数据部分中携带特定结束标识信息,则所述分片 报文为其所属控制报文的最后一个分片报文。
[0045] 上述装置还可具有以下特点,所述特定结束标识信息为结束类型、长度、值END TLV信息。
[0046] 上述装置还可具有以下特点,所述组装模块根据如下方式判断是否己接收完成该 分片报文所属控制报文的所有分片报文:
[0047]在所述分片报文的所属控制报文的至少一个分片报文中接收到所述控制报文被 分割的分段个数,且当前已接收到的属于该控制报文的分片报文的个数为所述分段个数, 则判断已接收完成该分片报文所属控制报文的所有分片报文。
[0048] 本发明还提供一种基于Openflow控制报文处理系统,包括上述述的控制报文发 送装置和上述的控制报文接收装置。
[0049] 采用本发明实施例所述方法和装置,与现有OpenHow版本上Multipart Message 信息处理机制相比,通过设定最后末段数据标识信息或携带分段个数信息,方便目的节点 识别末段分片报文,从而进行报文重组,可以提高报文处理的效率,节省数据组装处理的时 间。

【专利附图】

【附图说明】
[0050] 图1是Multipart Request报文结构示意图;
[0051] 图2是Multipart Reply报文结构示意图;
[0052] 图3是本发明实施例控制信息通讯结构示意图;
[0053] 图4是本发明实施例长控制报文分割处理实例示意图;
[0054] 图5是本发明实施例发送节点报文分割处理示意图;
[0055] 图6是本发明实施例接收节点报文组装示意图;
[0056] 图7是本发明实施例控制报文发送装置框图;
[0057] 图8是本发明实施例控制报文接收装置框图;
[0058] 图9是本发明实施例控制报文处理系统框图。

【具体实施方式】
[0059]为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明 的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中 的特征可以相互任意组合。
[0060]另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的 顺序执行所示出或描述的步骤。
[0061] 本发明实施例提供一种基于Openf low控制报文处理方法,包括:
[0062]发送端判断需要对控制报文的数据进行分割时,将所述控制报文的数据分割为多 段,每段封装为一个分片报文生成多个分片报文,其中,所述多个分片报文中至少存在一个 分片报文携带所述控制报文的分段指示信息,所述分段指示信息用于指示所述接收端所述 控制报文所分割的分段个数或者指示所述控制报文分段结束;
[0063] 所述发送端将所述多个分片报文发送给接收端。
[0064] 在本实施例的一种备选方案中,所述多个分片报文中至少存在一个分片报文携带 所述控制报文的分段指示信息包括:
[0065] 在每个分片报文中携带该分片报文是否为该控制报文的最后一个分片报文的指 示信息;
[0066] 或者,在所述控制报文的最末一个数据段所在的分片报文中携带控制报文结束信 息;
[0067]或者,在所述多个分片报文的至少一个分片报文中携带所述控制报文被分割的分 段个数,以及,在所述多个分片报文中携带属于同一控制报文的标识信息。
[0068] 在本实施例的一种备选方案中,所述在每个分片报文中携带该分片报文是否为该 控制报文的最后一个分片报文的指示信息包括:
[0069] 当所述分片报文为所述控制报文的最后一个分片报文时,将所述分片报文的分片 报文头中的特定字段置为第一预设值,指示当前分片报文为所述控制报文的最后一个分片 报文;
[0070] 当所述分片报文为所述控制报文的非最后一个分片报文时,将所述分片报文的分 片报文头中的特定字段置为所述第一预设值外的值,指示当前分片报文为所述控制报文的 非最后一个分片报文。该特定字段可以是lbit,此时为一特定标识位,也可以是多比特。本 申请对此不作限定。
[0071] 在本实施例的一种备选方案中,在所述控制报文的最末一个数据段所在的分片报 文中携带控制报文结束信息包括:
[0072] 在所述控制报文的最后一个数据段所在的分片报文的净荷数据部分中增加特定 结束标识信息,指示所述分片报文携带的数据段为所述控制报文的最后一个数据段。所述 特定结束标识信息可以为结束类型、长度、值(END TLV)信息,当然,也可以是其它约定信 息。特定结束标识信息的位置可以是净荷数据部分的末尾位置,也可以起始位置,或其它约 定位置,等等,本申请对此不作限定。
[0073] 本发明实施例还提供一种基于Openf low控制报文处理方法,包括:
[0074] 接收端接收到分片报文后,判断所述分片报文是否为一个控制报文的最后一个分 片报文,或者,是否已接收完成该分片报文所属控制报文的所有分片报文;如果是,则将已 接收到的属于同一控制报文的分片报文进行组装,生成控制报文。
[0075] 在本实施例的一种备选方案中,根据如下方式判断所述分片报文是否为一个控制 报文的最后一个分片报文:
[0076]如果所述分片报文的分片报文头中的特定字段指示该分片报文为控制报文的最 后一个分片报文,则判断所述分片报文为其所属控制报文的最后一个分片报文;
[0077]或者,如果所述分片报文的净荷数据部分中携带特定结束标识信息,则所述分片 报文为其所属控制报文的最后一个分片报文。
[0078] 根据特定字段进行判断的一种方式是:当所述分片报文的分片报文头中的特定字 段为第一预设值时,表示当前分片报文为其所属控制报文的最后一个分片报文;当所述分 片报文的分片报文头中的特定字段为所述第一预设值外的值时,表示当前分片报文为其所 属控制报文的非最后一个分片报文。
[0079] 在本实施例的一种备选方案中,所述特定结束标识信息为END TLV信息。
[00S0]在本实施例的一种备选方案中,根据如下方式判断是否已接收完成该分片报文所 属控制报文的所有分片报文:
[0081] 在所述分片报文的所属控制报文的至少一个分片报文中接收到所述控制报文被 分割的分段个数,且当前已接收到的属于该控制报文的分片报文的个数为所述分段个数, 则判断已接收完成该分片报文所属控制报文的所有分片报文。
[0082]本发明实施例中,通过特定END TLV或设定标识位或字段来标识是否是该长控制 报文中末段数据或者设定分段的个数,使得目的节点接收到该控制报文后,能根据该标识 或所设定分段的个数,对分段数据进行不同处理操作,提高了节点的处理报文的效率。
[0083] 下面以OF(Openflow)控制器和OF(Openflow)交换机交互为例进一步说明本发 明,但本发明不限于OF控制器和OF交换机之间的交互,也不限于〇penfl〇w领域,可以用于 其它领域的信息传输。
[0084] 如图3所示,0F控制器和0F交换机之间进行控制报文交互,主要通过安全通道进 行发送。如图5,6所示,本发明实施例提供的控制报文处理方法包括:
[0085] 步骤101,当〇F控制器或0F交换机需要向其对端发送一个控制报文(控制请求报 文或控制应答报文)时,根据安全通道上MTU大小,来判断是否需要对该控制报文的数据进 行分割处理;
[0086]步骤102,若整个控制报文的长度大于MTU,则需要对该控制报文进行分割,分成 多个短的控制报文,每个封装到一个Multipart信息报文中传送;其中,Multipart信息报 文中除携带原控制报文的报文头OF header外,还增加了 Multipart自身的报文头,然后是 从原控制报文分割得到的数据段。
[0087] 步骤103,在封装成Multipart信息报文时,可以进行如下处理:
[0088] 如果当前Multipart信息报文为控制报文的最后一个Multipart信息报文,贝丨J设 定Multipart信息报文头的特定标识位的值为第一预设值;如果当前Multipart信息报文 为控制报文的非最后一个Multipart信息报文,则设定Multipart信息报文头的特定标识 位的值为非第一预设值,比如为不同于第一预设值的第二预设值;其中,该特定标识位可以 使用已有的字段,比如OFHeader的Flags字段,也可以是新增字段,本申请对此不作限定; 第一预设值可以是1或者其它值,第二预设值可以是0或者其它值;
[0089] 或者,如果当前Multipart信息报文为控制报文的最后一个Multipart信息报文, 在该Multipart信息报文中的净荷数据部分增加一个控制报文结束指示信息,比如增加 END TLV,以标识该控制数据信息已经结束,其中,控制报文结束指示信息可以位于净荷数 据部分的末尾,也可以位于净荷数据部分的起始处;
[0090] 或者,在Multipart报文的Multipart报头上添加该控制报文所分成的分段个 数。可以只在同一控制报文的一个Multipart信息报文中增加分段个数,也可以在同一 控制报文的多个Multipart信息报文中增加分段个数;比如,只在同一控制报文的第一个 Multipart信息报文中增加分段个数。Multipart信息报文所属的控制报文由OF Header 中携带的特定标识信息指不。同一控制报文的Multipart信息报文的OF Header中携带相 同的特定标识信息,指示其属于同一长控制报文。
[0091] 上述步骤101-103参见图5。
[0092] 步骤104,当对端的0F控制器或0F交换机接收到对端发送过来的Multipart Request/Reply报文时,对Multipart Message报文头部进行分析,若不是末段Multipart 报文,则进行解封装后,将该Multipart报文的数据净荷部分先保存起来;或者根据 Multipart信息报文所携带分段个数,来判断是否接收完了该控制报文所分的Multipart 信息报文的个数。
[0093] 步骤105,若接收到Multipart报头上其特定标识位值为第一预设值,或在 Mu 11ipart信息报文的净荷数据部分存在END TLV信息,则说明该Mu 11ipart信息报文报文 是其所属控制报文的末段数据,或者接收到Multipart信息报文的个数等于分段个数,则 进行解封装,然后开始该控制报文的组装和处理操作。上述步骤104-105参见图6。
[0094] 对于具体实施过程,以图4所示控制报文分片处理实例为例,包括:
[0095] 步骤2〇1,对于图3所示OF控制器和OF交换机,经常需要通过二者之间的安全通 道来发送基于流表、端口等状态,性能和统计等请求和应答报文信息,由于一次可能发送多 个端口和多个流表方面的信息,会组成一个长的控制报文;
[0096] 步骤202,当OF控制器向OF交换机发送一个比较长的请求信息报文,如图4所 示;其通过单个Openflow协议报文进行发送时,其封装后的帧长大于安全通道上MTU,从 而造成数据报文不能正常转发,所以需要0F控制器在转发之前对该长请求信息报文进行 分片处理,将该长的控制报文分成如图4所示的三个短的Multipart信息报文:Multipart packetl (多分片包 1),Multipart packet2 (多分片包 2)和 Multipart Packet3 (多分片 包3);且每个Multipart报文中将flags字段设为1,另外,将最后一个分片报文Multipart Packet3中的特定标识位置位或在净荷数据部分中增加 END TLV,或者在Multipart packetl,Multipart packet2和Multipart Packet3指示一个分片报文中携带分段个数为 3的信息;本实施例中,通过特定标识位来标识是否为最后一个Mui tipart报文,即图4中 的MF标识位,其中,如果MF = 0,则非最后一个Multipart报文,如果MF = 1,则为最后一 个 Multipart 报文。
[0097] 步骤203, 0F控制器将分割好的三个Multipart信息报文依次通过安全通道发送 给对端的0F交换机;
[0098] 步骤204,0F交换机接收到Multipart信息报文后,对Multipart报文信息进行分 析,假如先接收到分割后的Multipart Packetl报文,根据特定标识位未置位,或不存在END TLV或统计接收分段个数为1,小于分段个数3(本实施例中,假设分段个数由Multipart Packetl报文携带),判断出这是非末段分片报文,则进行解封装后,将净荷数据部分先保 存,不进行组装操作;
[00"]步骤 2〇5,当 〇F 交换机接收到 Multipart packet2 报文时,与 Multipartpacketl 一样进行分析操作,同样判断出这是非末段分片报文,将其净荷数据部分保存起来,不进行 组装操作;
[0100] 步骤2〇6,当0F交换机接收到Multipart Packet3报文时,由于其Multipart报 头上特定标识位已经置位(MF= 1),或者,存在END TLV报文,或者统计接收到的分片报文 的个数等于分段个数3,说明已经接收到最后一段数据,所以在Multipart Packet3解封装 后,开始该控制报文的组装和处理操作;
[0101]步骤207, 0F交换机组装好该长的控制报文后,根据该报文中请求信息,做出相应 的应答,并将该应答信息通过安全通道发送给对端的0F控制器。
[0102] 在本实施例的一种备选方案中,如果使用分段个数来进行指示(无特定标识位及 END TLV信息),且分段个数由Multipart Packet2报文携带,则接收到Multipart Packetl 后,进行解封装,将净荷数据部分先保存,不进行组装操作;
[0103] 接收到Multipart Packet2后,获取其中携带的分段个数信息,3个,判断当前接 收到Multipart Packet2所属的控制报文的分片报文只有两个(Multipart Packetl和 Multipart Packet2),则判断 Multipart Packet2 不是最后一个分片报文,对 Multipart Packet2进行解封装,将净荷数据部分先保存,不进行组装操作;
[0104] 接收到Multipart Packet3后,判断当前接收到Multipart Packet3所属的控制 报文的分片报文有3个,等于分段个数,则进行解封装,开始该控制报文的组装和处理操 作,将Multipart Packetl,2,3组装为一个控制报文。
[0105]在本实施例的一种备选方案中,如果使用分段个数来进行指示(无特定标识位 及END TLV信息),且分段个数由Multipart Packet3报文携带,处理方式类似,接收到 Multipart Packetl,2后进行解封装,将净荷数据部分先保存,不进行组装操作;接收到 Multipart Packet3后,获取分段个数信息为3,且当前接收到Multipart Packet3所属控 制报文的分片报文个数已经为3个,等于分段个数,则进行解封装,开始该控制报文的组装 和处理操作,将Multipart Packetl,2,3组装为一个控制报文。
[0106]本发明实施例提供一种基于Openf low控制报文发送装置,如7所示,包括:
[0107]分割模块,用于判断需要对控制报文的数据进行分割时,将所述控制报文的数据 分割为多段,每段封装为一个分片报文生成多个分片报文,其中,在所述多个分片报文中至 少一个分片报文中携带所述控制报文的分段指示信息,所述分段指示信息用于指示接收端 所述控制报文所分割的分段个数或者指示所述控制报文分段结束;
[0108]发送模块,用于将所述多个分片报文发送给所述接收端。
[0109] 在本实施例的一种备选方案中,所述分割模块在所述多个分片报文中至少一个分 片报文中携带所述控制报文的分段指示信息包括:
[0110]在每个分片报文中携带该分片报文是否为该控制报文的最后一个分片报文的指 示信息; 或者,在所述控制报文的最末一个数据段所在的分片报文中携带控制报文结束信 息;
[0112] 或者,在所述多个分片报文的至少一个分片报文中携带所述控制报文被分割的分 段个数,以及,在所述多个分片报文中携带属于同一控制报文的标识信息。
[0113]在本实施例的一种备选方案中,所述分割模块在每个分片报文中携带该分片报文 是否为该控制报文的最后一个分片报文的指示信息包括:
[0114]当所述分片报文为所述控制报文的最后一个分片报文时,将所述分片报文的分片 报文头中的特定字段置为第一预设值,指示当前分片报文为所述控制报文的最后一个分片 报文;
[0115]当所述分片报文为所述控制报文的非最后一个分片报文时,将所述分片报文的分 片报文头中的特定字段置为所述第一预设值外的值,指示当前分片报文为所述控制报文的 非最后一个分片报文。
[0116] 在本实施例的一种备选方案中,所述分割模块在所述控制报文的最末一个数据段 所在的分片报文中携带控制报文结束信息包括:
[0117]在所述控制报文的最后一个数据段所在的分片报文中的净荷数据部分中增加特 定结束标识信息,指示所述分片报文携带的数据段为所述控制报文的最后一个数据段。
[0118]在本实施例的一种备选方案中,所述特定结束标识信息为结束类型长度值END TLV信息。
[0119] 本发明实施例提供一种基于Openf low控制报文接收装置,如图8所示,包括:
[0120]接收模块,用于接收分片报文;
[0121]组装模块,用于判断所述分片报文是否为一个控制报文的最后一个分片报文,或 者,是否已接收完成该分片报文所属控制报文的所有分片报文;如果是,则将己接收到的属 于同一控制报文的分片报文进行组装,生成控制报文。
[0122] 在本实施例的一种备选方案中,所述组装模块根据如下方式判断所述分片报文是 否为一个控制报文的最后一个分片报文:
[0123] 如果所述分片报文的分片报文头中的特定字段指示该分片报文为控制报文的最 后一个分片报文,则判断所述分片报文为其所属控制报文的最后一个分片报文;
[0124]或者,如果所述分片报文的净荷数据部分中携带特定结束标识信息,则所述分片 报文为其所属控制报文的最后一个分片报文。
[0125] 在本实施例的一种备选方案中,所述特定结束标识信息为END TLV信息。
[0126] 在本实施例的一种备选方案中,所述组装模块根据如下方式判断是否已接收完成 该分片报文所属控制报文的所有分片报文:
[0127] 在所述分片报文的所属控制报文的至少一个分片报文中接收到所述控制报文被 分割的分段个数,且当前已接收到的属于该控制报文的分片报文的个数为所述分段个数, 则判断已接收完成该分片报文所属控制报文的所有分片报文。
[0128] 本发明实施例提供一种控制报文处理系统,如图9所示,包括上述控制报文发送 装置和控制报文接收装置。
[0129] 本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令 相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘 等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应 地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的 形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
【权利要求】
1. 一种基于Openflow控制报文处理方法,其特征在于,包括: 发送端判断需要对控制报文的数据进行分割时,将所述控制报文的数据分割为多段, 每段封装为一个分片报文生成多个分片报文,其中,所述多个分片报文中至少存在一个分 片报文携带所述控制报文的分段指示信息,所述分段指示信息用于指示接收端所述控制报 文所分割的分段个数或者指示所述控制报文分段结束; 所述发送端将所述多个分片报文发送给所述接收端。
2. 如权利要求1所述的方法,其特征在于,所述多个分片报文中至少存在一个分片报 文携带所述控制报文的分段指示信息包括: 在每个分片报文中携带该分片报文是否为该控制报文的最后一个分片报文的指示信 息; 或者,在所述控制报文的最末一个数据段所在的分片报文中携带控制报文结束信息; 或者,在所述多个分片报文的至少一个分片报文中携带所述控制报文被分割的分段个 数。
3. 如权利要求2所述的方法,其特征在于,所述在每个分片报文中携带该分片报文是 否为该控制报文的最后一个分片报文的指示信息包括: 当所述分片报文为所述控制报文的最后一个分片报文时,将所述分片报文的分片报 文头中的特定字段置为第一预设值,指示当前分片报文为所述控制报文的最后一个分片报 文; 当所述分片报文为所述控制报文的非最后一个分片报文时,将所述分片报文的分片报 文头中的特定字段置为所述第一预设值外的值,指示当前分片报文为所述控制报文的非最 后一个分片报文。
4. 如权利要求2所述的方法,其特征在于,在所述控制报文的最末一个数据段所在的 分片报文中携带控制报文结束信息包括: 在所述控制报文的最后一个数据段所在的分片报文的净荷数据部分中增加特定结束 标识信息,指示所述分片报文携带的数据段为所述控制报文的最后一个数据段。
5. 如权利要求4所述的方法,其特征在于,所述特定结束标识信息为结束类型、长度、 值END TLV信息。
6. -种基于Openflow控制报文处理方法,其特征在于,包括: 接收端接收到分片报文后,判断所述分片报文是否为一个控制报文的最后一个分片报 文,或者,是否已接收完成该分片报文所属控制报文的所有分片报文;如果是,则将已接收 到的属于同一控制报文的分片报文进行组装,生成控制报文。
7. 如权利要求6所述的方法,其特征在于,根据如下方式判断所述分片报文是否为一 个控制报文的最后一个分片报文: 如果所述分片报文的分片报文头中的特定字段指示该分片报文为控制报文的最后一 个分片报文,则判断所述分片报文为其所属控制报文的最后一个分片报文; 或者,如果所述分片报文的净荷数据部分中携带特定结束标识信息,则所述分片报文 为其所属控制报文的最后一个分片报文。
8. 如权利要求7所述的方法,其特征在于,所述特定结束标识信息为结束类型、长度、 值END TLV信息。
9. 如权利要求6所述的方法,其特征在于,根据如下方式判断是否己接收完成该分片 报文所属控制报文的所有分片报文: 在所述分片报文的所属控制报文的至少一个分片报文中接收到所述控制报文被分割 的分段个数,且当前已接收到的属于该控制报文的分片报文的个数为所述分段个数,则判 断已接收完成该分片报文所属控制报文的所有分片报文。
10. -种基于Openf low控制报文发送装置,其特征在于,包括: 分割模块,用于判断需要对控制报文的数据进行分割时,将所述控制报文的数据分割 为多段,每段封装为一个分片报文生成多个分片报文,其中,在所述多个分片报文中至少一 个分片报文中携带所述控制报文的分段指示信息,所述分段指示信息用于指示接收端所述 控制报文所分割的分段个数或者指示所述控制报文分段结束; 发送模块,用于将所述多个分片报文发送给所述接收端。
11. 如权利要求10所述的装置,其特征在于,所述分割模块在所述多个分片报文中至 少一个分片报文中携带所述控制报文的分段指示信息包括: 在每个分片报文中携带该分片报文是否为该控制报文的最后一个分片报文的指示信 息; 或者,在所述控制报文的最末一个数据段所在的分片报文中携带控制报文结束信息; 或者,在所述多个分片报文的至少一个分片报文中携带所述控制报文被分割的分段个 数。
12. 如权利要求11所述的装置,其特征在于,所述分割模块在每个分片报文中携带该 分片报文是否为该控制报文的最后一个分片报文的指示信息包括: 当所述分片报文为所述控制报文的最后一个分片报文时,将所述分片报文的分片报 文头中的特定字段置为第一预设值,指示当前分片报文为所述控制报文的最后一个分片报 文; 当所述分片报文为所述控制报文的非最后一个分片报文时,将所述分片报文的分片报 文头中的特定字段置为所述第一预设值外的值,指示当前分片报文为所述控制报文的非最 后一个分片报文。
13. 如权利要求11所述的装置,其特征在于,所述分割模块在所述控制报文的最末一 个数据段所在的分片报文中携带控制报文结束信息包括: -在所述控制报文的最后一个数据段所在的分片报文中的净荷数据部分中增加特定结 束标识信息,指示所述分片报文携带的数据段为所述控制报文的最后一个数据段。
14. 如权利要求I3所述的装置,其特征在于,所述特定结束标识信息为结束类型、长 度、值END TLV信息。
15. -种基于〇penf l〇w控制报文接收装置,其特征在于,包括: 接收模块,用于接收分片报文; 组装模块,用于判断所述分片报文是否为一个控制报文的最后一个分片报文,或者,是 否已接收完成该分片报文所属控制报文的所有分片报文;如果是,则将已接收到的属于同 一控制报文的分片报文进行组装,生成控制报文。 I6·如权利要求1S所述的装置,其特征在于,所述组装模块根据如下方式判断所述分 片报文是否为一个控制报文的最后一个分片报文: 如果所述分片报文的分片报文头中的特定字段指示该分片报文为控制报文的最后一 个分片报文,则判断所述分片报文为其所属控制报文的最后一个分片报文; 或者,如果所述分片报文的净荷数据部分中携带特定结束标识信息,则所述分片报文 为其所属控制报文的最后一个分片报文。
17. 如权利要求16所述的装置,其特征在于,所述特定结束标识信息为结束类型、长 度、值END TLV信息。
18. 如权利要求15所述的装置,其特征在于,所述组装模块根据如下方式判断是否已 接收完成该分片报文所属控制报文的所有分片报文: 在所述分片报文的所属控制报文的至少一个分片报文中接收到所述控制报文被分割 的分段个数,且当前已接收到的属于该控制报文的分片报文的个数为所述分段个数,则判 断已接收完成该分片报文所属控制报文的所有分片报文。
19. 一种基于Openf low控制报文处理系统,其特征在于,包括如权利要求10至14任一 所述的控制报文发送装置和如权利要求15至18任一所述的控制报文接收装置。
【文档编号】H04L12/951GK104219178SQ201310218940
【公开日】2014年12月17日 申请日期:2013年6月4日 优先权日:2013年6月4日
【发明者】刘国满 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1