[发明专利]一种基于NetFPGA可编程虚拟路由器的数据包加速转发方法及装置有效
申请号: | 201410113046.4 | 申请日: | 2014-03-25 |
公开(公告)号: | CN103856407A | 公开(公告)日: | 2014-06-11 |
发明(设计)人: | 张毅;侯海兵;赵国锋;胡书敏;胡健 | 申请(专利权)人: | 重庆邮电大学 |
主分类号: | H04L12/741 | 分类号: | H04L12/741;H04L12/771 |
代理公司: | 重庆华科专利事务所 50123 | 代理人: | 康海燕 |
地址: | 400065 *** | 国省代码: | 重庆;85 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 netfpga 可编程 虚拟 路由器 数据包 加速 转发 方法 装置 | ||
1.一种基于NetFPGA可编程虚拟路由器的数据包加速转发装置,其特征在于:所述装置在数据转发层面包括常规转发模块和加速转发模块,构成一种并行架构,实现双引擎查找,常规转发模块对应于常规查找线路,加速转发模块对应于加速查找线路,所述装置包含:
数据包头部解析模块、索引查找模块、优先权判定模块、IP查找模块、ARP查找模块、加速查找模块、输出选择模块、数据包缓冲队列模块和数据包重新封装模块;其中加速查找模块和输出选择模块构成加速查找路线;IP查找模块、ARP查找模块和输出选择模块构成常规查找路线;
所述数据包头部解析模块,用于提取数据包包头的相关信息,通过该模块为数据包的后续查找提供相应信息;
所述索引查找模块,用于关键字的查找,为查找关键字匹配一个地址信息,该地址信息为路由表中路由条目的存储地址;索引查找模块由两个TCAM构成,TCAM_A用于加速路由表索引查找,TCAM_B用于常规路由表索引查找,两个TCAM并行运行;
所述优先权判定模块,用于选择优先权最高的查找线路进行路由查找,对于TCAM_A启动加速查找线路,对于TCAM_B启动常规查找线路,默认TCAM_A返回值优先权高于TCAM_B返回值优先权;
所述加速查找模块,存储数据转发所需的路由信息;该模块根据接收到的地址信息返回加速路由表中对应地址的路由信息,并对路由条目生存期进行修改;
所述输出选择模块,用于选择合适的查找线路上的输出数据为查找结果的输出,并与加速查找模块逆向通信;
所述数据包缓冲队列模块,该模块配合查找线路对数据包进行缓冲,为后面的数据包重新封装提供相应的数据;
所述数据包重新封装模块,该模块接收到输出选择模块的数据后,调取缓冲队列中的数据包,对数据包进行重新封装,包括修改下一跳MAC,输出端口,生存期TTL等,封装完成后将新的数据包输出。
2.根据权利要求1所述基于NetFPGA可编程虚拟路由器的数据包加速装置,其特征在于:所述数据包头部解析模块提取数据包包头的相关信息包括提取目的MAC、源MAC、目的IP地址、源IP地址、端口号、生存期TTL、校验和等。
3.根据权利要求1所述基于NetFPGA可编程虚拟路由器的数据包加速装置,其特征在于:所述索引查找模块的TCAM_A在进行查找匹配时,当发现存在与查找关键字匹配的信息时返回该关键字信息对应的地址信息;当没有与查找关键字匹配的信息时,则停止查找;TCAM_B在进行查找匹配时,当有关键字信息与查找关键字匹配时,返回对应的地址信息;当没有关键字信息匹配时,且没有默认信息匹配时则停止查找,并丢弃该数据包。
4.根据权利要求1所述基于NetFPGA可编程虚拟路由器的数据包加速装置,其特征在于:所述加速查找模块包含一个加速路由表,其中含有下一跳MAC地址、输出端口号、生存期,加速路由表采用刷新机制,定时更新表中内容,且加速查找模块支持用户操作。
5.根据权利要求4所述基于NetFPGA可编程虚拟路由器的数据包加速装置,其特征在于:所述加速路由表定时更新表中内容主要是对生存期的修改,即根据加速路由表刷新频率对条目生存期做递减操作,但是当加速路由表中的某一条目被查找一次时,则对该条目生存期加1,生存期最大为7最小为0,对于生存期为0的条目进行删除,并随时准备添加新条目信息。
6.根据权利要求4所述基于NetFPGA可编程虚拟路由器的数据包加速装置,其特征在于:所述输出选择模块在进行常规查时,将查找结果通过反馈线路发送到加速查找模块及TCAM_A中,并在加速路由表中给该条目产生一个生存期,该生存期默认为3。
7.一种基于NetFPGA可编程虚拟路由器的数据包加速方法,其特征在于:数据转发层面在接收到数据包后,首先进行数据包头部解析获取查找关键字,索引查找模块根据接收到的数据进行关键字匹配,当两个TCAM均有返回值时利用优先权判定模块选择优先权最高的TCAM返回值为输出,当选择加速路由表索引查找(TCAM_A)返回值为输出时,则进入加速查找线路进行查找,当选择常规路由表索引查找(TCAM_B)返回值为输出时,则进入常规查找线路进行查找,并将常规查找的结果通过反馈线路存储到加速路由表和加速路由表索引查找(即TCAM_A)中,最后由输出选择模块选择执行查找的线路上的数据作为查找结果,数据包重新封装模块根据查找结果,调取数据缓冲队列中的数据进行相应字段修改,重新封装后将新数据包转发出去。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆邮电大学,未经重庆邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410113046.4/1.html,转载请声明来源钻瓜专利网。