分片报文的转发方法及装置制造方法及图纸

技术编号:20550057 阅读:16 留言:0更新日期:2019-03-09 22:20
本发明专利技术公开了一种分片报文的转发方法及装置,该方法包括:确定待转发报文是否分片报文;若确定所述待转发报文是分片报文,则确定所述分片报文是否是首片报文;若确定所述分片报文是首片报文,则根据三元组冲突链记录表转发所述首片报文以及已缓存的与所述首片报文的三元组信息相同的分片报文;若确定所述分片报文不是首片报文,则根据所述三元组冲突链记录表确定转发所述分片报文还是缓存所述分片报文。该方案可以大大提高转发效率,同时减少分片报文的缓存,节省网络设备的缓存资源,避免了其他报文的丢包。

【技术实现步骤摘要】
分片报文的转发方法及装置
本专利技术涉及通信
,尤指一种分片报文的转发方法及装置。
技术介绍
以太网和802.3协议对数据帧的大小都有一个限制,其最大值分别是1500和1492个字节,链路层的这个特性称作最大传输单元(MaximumTransmissionUnit,MTU)。不同类型的网络大多数都有一个上限,如果互联网协议(InternetProtocol,IP)层有一个报文要传,且数据大小比链路层的MTU还大,那么IP层就要把报文分成若干片,得到若干分片报文,每个分片报文的数据大小都小于MTU。目前,针对分片报文进行转发时,采用五元组hash算法,一个报文的所有分片报文全部到来之前,先缓存起来,直到该报文的所有分片报文全部收到,再进行分片报文的重组,再转发重组后的报文。上述方法中,由于需要在接收到一个报文的所有分片报文并进行重组后才能转发,需要耗费很长时间,转发效率较低;并且会长时间缓存这些分片报文,长时间占用网络设备资源,甚至会造成其他报文的丢包。
技术实现思路
本专利技术实施例提供一种分片报文的转发方法及装置,用以解决现有技术中存在的转发效率较低、长时间占用网络设备资源,甚至会造成其他报文的丢包的问题。根据本专利技术实施例,提供一种分片报文的转发方法,包括:确定待转发报文是否分片报文;若确定所述待转发报文是分片报文,则确定所述分片报文是否是首片报文;若确定所述分片报文是首片报文,则根据三元组冲突链记录表转发所述首片报文以及已缓存的与所述首片报文的三元组信息相同的分片报文;若确定所述分片报文不是首片报文,则根据所述三元组冲突链记录表确定转发所述分片报文还是缓存所述分片报文。具体的,确定待转发报文是否分片报文,具体包括:确定所述待转发报文是否包含分片字段;若确定所述待转发报文包含所述分片字段,则确定所述待转发报文是分片报文;若确定所述待转发报文未包含分片字段,则确定所述待转发报文不是分片报文。具体的,确定所述分片报文是否是首片报文,具体包括:获取所述分片报文的分片偏移字段的数值;若所述分片偏移字段的数值为0,则确定所述分片报文是首片报文;若所述分片偏移字段的数值大于0,则确定所述分片报文不是首片报文。具体的,根据三元组冲突链记录表转发所述首片报文以及已缓存的与所述首片报文的三元组信息相同的分片报文,具体包括:确定是否已建立三元组冲突链记录表;若确定未建立所述三元组冲突链记录表,则新建所述三元组冲突链记录表,根据所述首片报文获取流标识,在所述三元组冲突链记录表中对应保存所述首片报文的三元组信息和所述流标识,根据所述流标识转发所述首片报文;若确定已建立所述三元组冲突链记录表,则确定所述三元组冲突链记录表是否保存所述首片报文的三元组信息;若确定所述三元组冲突链记录表中保存所述首片报文的三元组信息,则确定所述三元组冲突链记录表中是否保存所述首片报文的三元组信息对应的流标识,若确定在所述三元组冲突链记录表中保存所述流标识,则根据所述流标识转发所述首片报文和所述三元组冲突链记录表对应的报文链中缓存的与所述首片报文的三元组信息相同的分片报文;若确定在所述三元组冲突链记录表中未保存所述流标识,则根据所述首片报文获取所述流标识,在所述三元组冲突链记录表中与所述首片报文的三元组信息对应保存所述流标识,根据所述流标识转发所述首片报文和所述报文链中缓存的与所述首片报文的三元组信息相同的分片报文;若确定所述三元组冲突链记录表中未保存所述首片报文的三元组信息,则根据所述首片报文获取流标识,在所述三元组冲突链记录表中对应保存所述首片报文的三元组信息以及所述流标识,根据所述流标识转发所述首片报文和所述报文链中缓存的与所述首片报文的三元组信息相同的分片报文。具体的,根据所述三元组冲突链记录表确定转发所述分片报文还是缓存所述分片报文,具体包括:确定是否已建立三元组冲突链记录表;若确定未建立所述三元组冲突链记录表,则新建所述三元组冲突链记录表,在所述三元组冲突链记录表中保存所述分片报文的三元组信息、在所述三元组冲突链记录表的报文链中缓存所述分片报文;若确定已建立所述三元组冲突链记录表,则确定所述三元组冲突链记录表是否保存所述所述分片报文的三元组信息;若确定所述三元组冲突链记录表中保存所述分片报文的三元组信息,则确定在所述三元组冲突链记录表中是否保存所述分片报文的三元组信息对应的流标识,若确定在所述三元组冲突链记录表中保存所述流标识,则根据所述流标识转发所述分片报文;若确定在所述三元组冲突链记录表中未保存所述流标识,则在所述三元组冲突链记录表的报文链中缓存所述分片报文;若确定所述三元组冲突链记录表中未保存所述分片报文的三元组信息,则在所述三元组冲突链记录表中保存所述分片报文的三元组信息、在所述三元组冲突链记录表的报文链中缓存所述分片报文。根据本专利技术实施例,还提供一种分片报文的转发装置,包括:第一确定模块,用于确定待转发报文是否分片报文;第二确定模块,用于若确定所述待转发报文是分片报文,则确定所述分片报文是否是首片报文;处理模块,用于若确定所述分片报文是首片报文,则根据三元组冲突链记录表转发所述首片报文以及已缓存的与所述首片报文的三元组信息相同的分片报文;若确定所述分片报文不是首片报文,则根据所述三元组冲突链记录表确定转发所述分片报文还是缓存所述分片报文。具体的,所述第一确定模块,具体用于:确定所述待转发报文是否包含分片字段;若确定所述待转发报文包含所述分片字段,则确定所述待转发报文是分片报文;若确定所述待转发报文未包含分片字段,则确定所述待转发报文不是分片报文。具体的,所述第二确定模块,具体用于:获取所述分片报文的分片偏移字段的数值;若所述分片偏移字段的数值为0,则确定所述分片报文是首片报文;若所述分片偏移字段的数值大于0,则确定所述分片报文不是首片报文。具体的,所述处理模块,用于根据三元组冲突链记录表转发所述首片报文以及已缓存的与所述首片报文的三元组信息相同的分片报文,具体用于:确定是否已建立三元组冲突链记录表;若确定未建立所述三元组冲突链记录表,则新建所述三元组冲突链记录表,根据所述首片报文获取流标识,在所述三元组冲突链记录表中对应保存所述首片报文的三元组信息和所述流标识,根据所述流标识转发所述首片报文;若确定已建立所述三元组冲突链记录表,则确定所述三元组冲突链记录表是否保存所述首片报文的三元组信息;若确定所述三元组冲突链记录表中保存所述首片报文的三元组信息,则确定所述三元组冲突链记录表中是否保存所述首片报文的三元组信息对应的流标识,若确定在所述三元组冲突链记录表中保存所述流标识,则根据所述流标识转发所述首片报文和所述三元组冲突链记录表对应的报文链中缓存的与所述首片报文的三元组信息相同的分片报文;若确定在所述三元组冲突链记录表中未保存所述流标识,则根据所述首片报文获取所述流标识,在所述三元组冲突链记录表中与所述首片报文的三元组信息对应保存所述流标识,根据所述流标识转发所述首片报文和所述报文链中缓存的与所述首片报文的三元组信息相同的分片报文;若确定所述三元组冲突链记录表中未保存所述首片报文的三元组信息,则根据所述首片报文获取流标识,在所述三元组冲突链记录表中对应保存所述首片报文的三元组信息以及所述流标识,根据所述流标识转发所述首片报本文档来自技高网...

【技术保护点】
1.一种分片报文的转发方法,其特征在于,包括:确定待转发报文是否分片报文;若确定所述待转发报文是分片报文,则确定所述分片报文是否是首片报文;若确定所述分片报文是首片报文,则根据三元组冲突链记录表转发所述首片报文以及已缓存的与所述首片报文的三元组信息相同的分片报文;若确定所述分片报文不是首片报文,则根据所述三元组冲突链记录表确定转发所述分片报文还是缓存所述分片报文。

【技术特征摘要】
1.一种分片报文的转发方法,其特征在于,包括:确定待转发报文是否分片报文;若确定所述待转发报文是分片报文,则确定所述分片报文是否是首片报文;若确定所述分片报文是首片报文,则根据三元组冲突链记录表转发所述首片报文以及已缓存的与所述首片报文的三元组信息相同的分片报文;若确定所述分片报文不是首片报文,则根据所述三元组冲突链记录表确定转发所述分片报文还是缓存所述分片报文。2.如权利要求1所述的方法,其特征在于,确定待转发报文是否分片报文,具体包括:确定所述待转发报文是否包含分片字段;若确定所述待转发报文包含所述分片字段,则确定所述待转发报文是分片报文;若确定所述待转发报文未包含分片字段,则确定所述待转发报文不是分片报文。3.如权利要求1所述的方法,其特征在于,确定所述分片报文是否是首片报文,具体包括:获取所述分片报文的分片偏移字段的数值;若所述分片偏移字段的数值为0,则确定所述分片报文是首片报文;若所述分片偏移字段的数值大于0,则确定所述分片报文不是首片报文。4.如权利要求1所述的方法,其特征在于,根据三元组冲突链记录表转发所述首片报文以及已缓存的与所述首片报文的三元组信息相同的分片报文,具体包括:确定是否已建立三元组冲突链记录表;若确定未建立所述三元组冲突链记录表,则新建所述三元组冲突链记录表,根据所述首片报文获取流标识,在所述三元组冲突链记录表中对应保存所述首片报文的三元组信息和所述流标识,根据所述流标识转发所述首片报文;若确定已建立所述三元组冲突链记录表,则确定所述三元组冲突链记录表是否保存所述首片报文的三元组信息;若确定所述三元组冲突链记录表中保存所述首片报文的三元组信息,则确定所述三元组冲突链记录表中是否保存所述首片报文的三元组信息对应的流标识,若确定在所述三元组冲突链记录表中保存所述流标识,则根据所述流标识转发所述首片报文和所述三元组冲突链记录表对应的报文链中缓存的与所述首片报文的三元组信息相同的分片报文;若确定在所述三元组冲突链记录表中未保存所述流标识,则根据所述首片报文获取所述流标识,在所述三元组冲突链记录表中与所述首片报文的三元组信息对应保存所述流标识,根据所述流标识转发所述首片报文和所述报文链中缓存的与所述首片报文的三元组信息相同的分片报文;若确定所述三元组冲突链记录表中未保存所述首片报文的三元组信息,则根据所述首片报文获取流标识,在所述三元组冲突链记录表中对应保存所述首片报文的三元组信息以及所述流标识,根据所述流标识转发所述首片报文和所述报文链中缓存的与所述首片报文的三元组信息相同的分片报文。5.如权利要求1-4任一所述的方法,其特征在于,根据所述三元组冲突链记录表确定转发所述分片报文还是缓存所述分片报文,具体包括:确定是否已建立三元组冲突链记录表;若确定未建立所述三元组冲突链记录表,则新建所述三元组冲突链记录表,在所述三元组冲突链记录表中保存所述分片报文的三元组信息、在所述三元组冲突链记录表的报文链中缓存所述分片报文;若确定已建立所述三元组冲突链记录表,则确定所述三元组冲突链记录表是否保存所述所述分片报文的三元组信息;若确定所述三元组冲突链记录表中保存所述分片报文的三元组信息,则确定在所述三元组冲突链记录表中是否保存所述分片报文的三元组信息对应的流标识,若确定在所述三元组冲突链记录表中保存所述流标识,则根据所述流标识转发所述分片报文;若确定在所述三元组冲突链记录表中未保存所述流标识,则在所述三元组冲突链记录表的报文链中缓存所述分片报文;若确定所述三元组冲突链记录表中未保存所述分片报文的三元组信息,则在所述三元组冲突链记录表中保存所述分片报文的三元组信息、在所述三元组冲突链记录表的报文链中缓存所述分片报文。6.一种分片报文的转发装置,其特...

【专利技术属性】
技术研发人员:邱扩伟
申请(专利权)人:锐捷网络股份有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1