发明名称 一种基于比特粒度可编程的路由器及路由方法
摘要 本发明提供一种可编程虚拟路由器及路由方法,其包括可编程硬件板卡、PCI/PCI‑E总线以及主机,所述硬件板卡通过所述总线与所述主机相连接,通过所述可编程硬件板卡实现比特粒度可编程的数据平面结构,所述数据平面结构支持数据包中任意比特的提取,支持在跨总线长度的边界部分任意比特长度的组合,从而数据包中任意域可被提取组合,通过多流水线的设计实现了多个虚拟路由器实例的并行运行;所述主机用于实现虚拟的控制平面,所述虚拟的控制平面与可编程硬件板卡中的多个虚拟路由器动态地连接来形成映射关系。本发明能够提供处理任意类型数据包的数据平面和在线编程能力。
申请公布号 CN103685041B 申请公布日期 2017.04.19
申请号 CN201210324804.8 申请日期 2012.09.04
申请人 清华大学 发明人 刘中金;李勇;杨懋;苏厉;金德鹏;曾烈光
分类号 H04L12/771(2013.01)I 主分类号 H04L12/771(2013.01)I
代理机构 北京路浩知识产权代理有限公司 11002 代理人 王莹
主权项 一种可编程虚拟路由器,其特征在于包括可编程硬件板卡、总线以及主机,所述硬件板卡通过所述总线与所述主机相连接,通过所述可编程硬件板卡实现比特粒度可编程的数据平面结构,所述数据平面结构支持数据包中任意比特的提取,支持在跨总线长度的边界部分任意比特长度的组合,从而数据包中任意域被进行提取组合,通过多流水线的设计实现多个虚拟路由器;所述主机用于实现虚拟的控制平面,所述虚拟的控制平面与可编程硬件板卡中的多个虚拟路由器动态地连接来形成映射关系;其中,所述可编程硬件板卡输出的端口判断是在包头处理完毕后才能决定,而此时的总线数据已经没有了包头的数据,需要包头的数据在FIFO中缓存以供输出。
地址 100084 北京市海淀区清华园北京市100084-82信箱