[发明专利]一种数据包转发方法及设备有效
申请号: | 201410060240.0 | 申请日: | 2014-02-21 |
公开(公告)号: | CN104869062B | 公开(公告)日: | 2018-11-09 |
发明(设计)人: | 沈伟锋;钟来军;刘洪宽 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L12/741 | 分类号: | H04L12/741 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 唐华明 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 首包 数据包 索引记录 数据包转发 交换机 转发 读取 数据包标识 数据包到达 交换 | ||
本发明公开了一种数据包转发方法,该方法应用于OpenFlow交换机,在该方法应用过程中,当有分片数据包的首包到达OpenFlow交换机时,依据所述首包生成索引记录,所述索引记录中包含有所述首包所在数据包的数据包标识与所述首包中的第四层信息的对应关系;当与所述首包相对应的非首包的分片数据包到达OpenFlow交换机时,读取所述索引记录中的第四层信息,并依据所述第四层信息对所述非首包的分片数据包进行转发,从而解决了OpenFlow交换机无法根据第四层信息对非首包以外的数据包进行转发的问题。
技术领域
本申请涉及网络通信领域,特别是涉及一种数据包转发方法及设备。
背景技术
开放流(OpenFlow)技术最早由斯坦福大学提出,旨在基于现有TCP/IP技术条件,以创新的网络互联理念,解决当前网络面对新业务产生的种种瓶颈。它的核心思想就是将原本完全由交换机/路由器控制的数据包转发过程,转化为OpenFlow交换机和控制服务器分别完成的独立过程。
一个完整的数据包在进行转发的过程中,当数据包的长度超过链路层的最大传输单元(Maximum Transmission Unit,MTU)时,IP层会对数据包进行数据包分片,分片获得的第一个数据包称为首包,首包中包含了数据包转发过程中所需的开放式系统互联OSI的第四层信息,除首包以外的其它数据包中不包含OSI的第四层信息。
发明人经过研究发现,OpenFlow交换机对经过分片的非首包的数据包进行转发时,由于经过分片的非首包的数据包中不包含OSI的第四层数信息,导致OpenFlow交换机无法根据所述第四层信息对非首包以外的数据包进行转发。
发明内容
本发明实施例提供一种数据包转发方法及设备,以解决OpenFlow交换机无法根据第四层信息对非首包以外的数据包进行转发的问题。
为实现上述目的,本发明实施例提供如下技术方案:
第一方面,提供一种数据包转发方法,包括:
接收非首包的分片数据包;
依据所述分片数据包中的数据包标识,查找索引表中与所述数据包标识相对应的索引记录;
当查找到与所述数据包标识相对应的所述索引记录时,读取所述索引记录中的开放式系统互联OSI的第四层信息,并依据所述第四层信息对所述分片数据包进行转发;
其中,所述索引记录是根据与所述分片数据包相对应的首包生成的,所述索引记录中包含有所述数据包标识与所述首包中的所述第四层信息的对应关系。
结合第一方面,在第一种可能的实现方式中,所述索引记录的建立过程包括:
当接收到所述首包时,获取所述首包中包含的所述数据包标识及所述第四层信息;
建立所述数据包标识与所述第四层信息的索引关系;
根据所述索引关系在所述索引表中生成包含所述数据包标识与所述第四层信息的对应关系的所述索引记录。
结合第一方面,在第二种可能的实现方式中,还包括:
当未查找到所述索引记录时,对所述分片数据包进行缓存;并在缓存时长满足预设缓存周期时,在所述索引表中重新查找所述索引记录。
结合第一方面,在第三种可能的实现方式中,所述依据所述第四层信息对所述分片数据包进行转发包括:
将所述第四层信息补充至与所述分片数据包相对应的转发信息中;
依据所述转发信息对所述分片数据包进行转发。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410060240.0/2.html,转载请声明来源钻瓜专利网。