【技术实现步骤摘要】
一种通过硬件发包机制提升路由下发效率的方法及系统
本专利技术涉及路由
,具体涉及一种通过硬件发包机制提升路由下发效率的方法及系统。
技术介绍
传统的ASIC(ApplicationSpecificIntegratedCircuit,专用集成电路)芯片采用TCAM(TernaryContentAddressMemory,三态内容寻址存储器)方式进行Ipv4/Ipv6路由下发,在软件下发表项的时候,采用Hash二分法或者平衡二叉树的方式对路由软件同步表缓存,在复杂的软件表项计算和搬移下,调用软件API(ApplicationProgrammingInterface,应用编程接口),通过Cpu的Pcie(总线与接口标准)下发消息到指定的TCAM条目位置。由于TCAM成本昂贵,容量小,此方式不能满足大路由容量的需求。采用传统的DRAM(DynimicRandomAccessMemory,动态随机存取存储器)方式下发Ipv4/Ipv6路由,软件采用M-Tries(多步长单词查找树)树方式进行路由下发分配,利用DRAM的空 ...
【技术保护点】
1.一种通过硬件发包机制提升路由下发效率的方法,其特征在于,包括以下步骤:/n将待配置的低掩码路由映射到硬件发包器的数据包内容中,/n通过硬件发包器将所述低掩码路由下发至DRAM中。/n
【技术特征摘要】
1.一种通过硬件发包机制提升路由下发效率的方法,其特征在于,包括以下步骤:
将待配置的低掩码路由映射到硬件发包器的数据包内容中,
通过硬件发包器将所述低掩码路由下发至DRAM中。
2.如权利要求1所述的方法,其特征在于,
所述低掩码路由为长度为1至24位掩码的IPV4路由或长度小于等于64位掩码的IPv6路由。
3.如权利要求2所述的方法,其特征在于,将待配置的低掩码路由映射到硬件发包器的数据包内容中,具体包括以下步骤:
对于掩码长度小于/等于16位的IPv4路由或掩码长度小于/等于56位的Ipv6路由,根据该路由对应的路由操作修改IP查找树;
遍历软件同步表的第一级的下一跳索引中该条路由覆盖地址段,对上述地址段中的每一个地址,反向计算出地址IP的前16/56位作为KEY,在IP查找树中查找KEY对应的路由项;
比较在IP查找树中找到的路由项与软件同步表中记录的路由项是否存在差异;
若存在差异,根据IP查找树中找到的路由项更新软件同步表中的下一跳索引的路由项值,并将需要更新的下一跳索引、以及对应的软件同步表的第一级的地址,配置到硬件发包器中;
根据当前路由掩码长度覆盖的地址范围,配置硬件发包器的发包个数。
4.如权利要求3所述的方法,其特征在于,将待配置的低掩码路由映射到硬件发包器的数据包内容中,具体还包括以下步骤:
对于掩码长度大于16位的IPv4路由或掩码长度大于56位的Ipv6路由,以IPv4/Ipv6路由地址的前16/56位进行哈希运算得到一个地址作为软件同步表的第二级的地址索引,保存到软件同步表的第一级中;
若第二级的地址索引无效,建立第一级对应的软件同步表的第二级块,从IP查找树中恢复出当前路由地址的原始第二级块数据填入新建的第二级块;
根据该路由对应的路由操作修改IP查找树;
通过当前路由地址和掩码长度计算出该路由在软件同步表的第二级块中所覆盖的地址段;
遍历上述地址段,对上述地址段中的每一个地址,结合第二级的地址索引反向计算出完整IP,采用该IP作为KEY,在IP查找树中进行最长匹配查找;
比较在IP查找树中找到的路由项与软件同步表的第二级块中记录的路由项是否存在差异;
若存在差异,将第一级中保存的第二级的索引地址、需要更新的下一跳索引配置到硬件发包器中;
根据当前路由掩码长度覆盖的地址范围,配置硬件发包器的发包个数。
5.如权利要求4所述的方法,其特征在于,通过硬件发包器将所述低掩码路由下发至DRAM中,具体包括以下步骤:
判断IPV4路由掩码长度是否小于等于16或IPV6路由掩码长度是否小于等于56位;
如果为是,提取报文头部中第一级的地址和第一级的下一跳索引,将发包个数控制器的计数值加上第一级的地址,将第一级的下一跳索引更新至各地址对应的DRAM路由表项;
如果为否,将IPV4路由的IP头部的前16位或IPV6路由的IP头部的前56位进行地址查找,获取第一级的下一跳索引和第二级的地址索引;通过低8位地址加上第二级的地址索引进行地址查找,获取第二级的下一跳索引,如果查找到的第二级的下一跳索引有效,采用该第二级的下一跳索引作为需更新的下一跳索引;如果查找到的第二级的下一跳索引无效,采用第一级的下一跳索引作为需更新的下一跳索引;提取报文头部中第二级的基地址,将发包个数控制器的计数值加上第二级的基地址,将需更新...
【专利技术属性】
技术研发人员:王欢,
申请(专利权)人:烽火通信科技股份有限公司,武汉飞思灵微电子技术有限公司,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。