[发明专利]路由器中采用IPv6头封装IPv4包的隧道转发系统有效

专利信息
申请号: 200910093532.3 申请日: 2009-10-12
公开(公告)号: CN101692647A 公开(公告)日: 2010-04-07
发明(设计)人: 徐明伟;杨珂;赵有健;全成斌;陈文龙 申请(专利权)人: 清华大学
主分类号: H04L12/56 分类号: H04L12/56;H04L12/46;H04L29/06
代理公司: 北京众合诚成知识产权代理有限公司 11246 代理人: 朱琨
地址: 100084 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 路由器中采用IPv6头封装IPv4包的隧道转发系统属于IPv6路由器技术领域,其特征在于,它由一片FPGA实现的隧道处理电路和两片级联的CAM、两片单端口SRAM和一片双端口SRAM及CPU控制单元构成,最大支持64K*288bits的V6路由表项,时钟频率为100MHz时,保证3.2Gbit/s的线速转发。利用CAM构造路由查找表,支持表项条数的动态分配,同时还负责路由表读写及维护。系统接收的IP数据包若是V4包,给V4包加一个V6包头成为V6隧道包;若是V6数据包,就不转换。然后提取包的查找信息,进行路由查找,根据返回的结果,对包进行处理:按照V4或V6转发、上交CPU处理、丢弃。
搜索关键词: 路由器 采用 ipv6 封装 ipv4 隧道 转发 系统
【主权项】:
路由器中采用IPv6头封装IPv4包的隧道转发系统,其特征在于,含有:一个集成于FPGA芯片上的隧道处理电路、SRAM单端口存储器、SRAM双端口存储器、CAM内容可寻址存储器以及CPU控制单元,其中:所述的隧道处理电路,含有:IP包输入接口电路、包过滤电路、包输入队列存储器FIFO、IPv6协议封装电路、IPv6包队列存储器FIFO、包相关信息提取电路、检索指令队列存储器FIFO、CAM控制电路、检索结果队列存储器FIFO、IPv6数据包相关信息队列存储器FIFO、IPv6数据包存储器RAM、包发送电路、CAM维护指令队列存储器FIFO、第0个上交包队列存储器FIFO、第1个上交包队列存储器FIFO、上交包发送电路、以及CPU接口电路,其中:IP包输入接口电路,输入端接收上级物理和数据链路层处理电路输出的数据就绪信号和数据总线信号,输出读信号给上级物理和数据链路层处理电路,所述IP包输入接口电路数据输出端和包过滤电路的输入端相连,对输入输出的IPv4和IPv6包头信号和包尾信号分别进行计数,将包头包尾计数输出信号发送给CPU接口电路,并接收CPU接口电路输入的复位信号和计数器清零信号;包过滤电路,输入端和IP包输入接口电路相连,还分别和第0个上交包队列存储器FIFO、包输入队列存储器FIFO输出快满信号相连,输出端分别和第0个上交包队列存储器FIFO的输入端、包输入队列存储器FIFO的输入端相连,对输入输出的包头信号和包尾信号进行计数,并发送给CPU接口电路,同时接收CPU接口电路输入的复位信号和计数器清零信号;包输入队列存储器FIFO,是一个先进先出队列存储器,数据宽度为36位,输入端与上述包过滤电路的IP包输出端相连,读信号来自IPv6协议封装电路,复位信号来自CPU接口电路;IPv6协议封装电路,输入端和所述包输入队列存储器FIFO相连,输出端和IPv6包队列存储器FIFO相连,此外输入端还接收IPv6包队列存储器FIFO输出的快满信号,IPv6协议封装电路对输入输出的包头信号和包尾信号进行计数,并发送给CPU接口电路,同时接收CPU接口电路输入的复位信号和计数器清零信号;IPv6包队列存储器FIFO,是一个先进先出队列存储器,数据宽度为40位,数据输入端与上述IPv6协议封装电路相连,读输入信号和包相关信息提取电路的读输出相连,输出端和包相关信息提取电路相连,复位信号来自CPU接口电路;包相关信息提取电路,输入端和IPv6包队列存储器的输出端相连,输出端分别和检索指令队列存储FIFO、IPv6数据包存储器RAM、IPv6数据包相关信息队列存储器FIFO相连,对输入输出的包头信号和包尾信号进行计数,并发送给CPU接口电路,同时接收CPU接口电路输入的复位信号和计数器清零信号;检索指令队列存储器FIFO,是一个先进先出队列存储器,数据宽度为100位,数据输入端与上述包相关信息提取电路相连,读输入信号和CAM控制电路的读输出相连,数据输出端和CAM控制电路相连;CAM控制电路,输入端分别和检索指令队列存储器FIFO输出端、CAM维护指令队列存储器FIFO输出端相连,CAM控制电路输出的CAM存储器读写控制命令总线信号以及双向数据请求总线REQDATA信号和CAM存储器相连,CAM控制电路和SRAM单端口存储器的数据总线相连,CAM控制电路输入端还和CAM存储器输出的读确认信号、查找匹配信号、查找输出有效信号相连,CAM控制电路输出的检索信息输出端和检索结果队列存储器FIFO相连,此外CAM控制电路的读信号分别和检索指令队列存储器FIFO的读输入端、CAM维护指令队列存储器FIFO读输入端相连,CAM控制电路输出端和CPU接口电路相连,将路由表保存的表项发送给CPU接口电路,CAM控制电路对IPv6路由查询次数和查询命中的信息进行计数,将这些信息作为查询状态信息发送给CPU接口电路,并接收CPU接口电路输入的复位信号和计数器清零信号;检索结果队列存储器FIFO,是一个先进先出队列存储器,数据宽度为148位,数据输入端与CAM控制电路的输出相连,读输入信号和包发送电路的读输出相连,数据输出端和包发送电路的输入端相连;IPv6数据包相关信息队列存储器FIFO,是一个先进先出队列存储器,数据宽度为60位,数据输入端与上述包相关信息提取电路相连,读输入信号和包发送电路的读输出相连,数据输出端和包发送电路相连;CAM维护指令队列存储器FIFO,是一个先进先出队列存储器,数据宽度为90位,数据输入端和CPU接口电路相连,读输入信号和CAM控制电路输出的读信号相连,数据输出端和CAM控制电路的数据输入端相连;包发送电路,分别向检索结果队列存储器FIFO、IPv6数据包相关信息队列存储器FIFO发出读信号,并和检索结果队列存储器FIFO、IPv6数据包相关信息队列存储器FIFO的输出端相连,包发送电路输出的读信号、读地址和IPv6数据包存储器RAM相连,IPv6数据包存储器RAM的数据输出端和包发送电路相连,包发送电路的输出还和第1个上交包队列存储器FIFO以及FPGA片外的上行FIFO相连,包发送电路对输入输出的IPv4、IPv6包头信号和包尾信号分别进行计数,并发送给CPU接口电路,同时接收CPU接口电路输入的复位信号和计数器清零信号;IPv6数据包存储器RAM是一个双端口的FPGA片内读写存储器,有一个数据写入端口和一个数据输出端口,数据写入端口和包相关信息提取电路的IPv6数据输出端相连,读端口的所有信号和包发送电路相连,IPv6数据包存储器RAM数据宽度为36位,读写端口分别有14根地址线;第0个上交包队列存储器FIFO,是一个先进先出队列存储器,数据宽度为36位,数据输入端与上述包过滤电路相连,读输入信号和上交包发送电路的读输出相连,数据输出端和上交包发送电路相连;第1个上交包队列存储器FIFO,是一个先进先出队列存储器,数据宽度为36位,数据输入端与包发送电路相连,读输入信号和上交包发送电路的读输出相连,数据输出端和上交包发送电路相连;上交包发送电路,输入端和第0个上交包队列存储器FIFO、第1个上交包队列存储器FIFO相连,数据输出端和SRAM双端口存储器的数据输入端相连,上交包发送电路发送的CPU中断信号、SRAM双端口存储器数据起始地址和终止地址、SRAM双端口存储器中待传送数据的长度信号输出端和CPU接口电路相连,CPU接口电路将CPU响应信号输出给上交包发送电路的输入端,上交包发送电路对输入输出的IPv4、IPv6包头信号和包尾信号分别进行计数,并发送给CPU接口电路,同时接收CPU接口电路输入的复位信号和计数器清零信号;CPU接口电路,和由FPGA实现的隧道处理电路内部各个电路相连,接收各个电路输入的IPv4、IPv6输入输出包头信号和包尾信号计数,以及CAM控制电路的查询状态计数,CPU接口电路与FPGA片外CPU控制单元的CPU地址总线、数据总线、读写控制信号相连,输出的中断信号和CPU控制单元的中断输入相连,CPU接口电路还和SRAM双端口存储器数据输出端口的地址总线、数据总线、读写控制信号相连,CPU接口电路接收CPU控制单元输入的复位信号,并将复位信号传送给FPGA内的其它各个电路,将清零信号传送给IP包输入接口电路、包过滤电路、IPv6协议封装电路、包相关信息提取电路、CAM控制电路、上交包发送电路、包发送电路,CPU接口电路还和CAM维护指令队列存储器FIFO的数据输入端相连,接收CAM控制电路输出的路由表表项数据,接收上交包发送电路输出的SRAM双端口存储器数据起始地址和终止地址、SRAM双端口存储器中待传送数据的长度以及中断请求信息,也向上交包发送电路发送CPU中断响应指示信号;所述包过滤电路是一个电路组件,其中:输入IP包数据寄存器,输入端和IP包输入接口电路的输出端相连;输入IP包数据寄存器的输出端分别和IPv4数据包寄存器、IPv6数据包寄存器相连;IPv4数据包寄存器的输出端分别和IPv4数据包延迟寄存器组、IPv4包头校验和寄存器、生存时间寄存器、包类型寄存器、状态控制机的输入端相连,同时也接收状态控制机的输出;IPv4数据包延迟寄存器组的输出端和数据选择器A的输入端相连;IPv4数据包头校验和生成器的输入端分别和IPv4头校验和寄存器输出、生存时间更新寄存器输出相连;生存时间寄存器的输出端和减一减法器A的输入端以及状态控制机的输入端相连,减一减法器A的输出端和生存时间更新寄存器的输入端相连,生存时间更新寄存器的输出端分别和IPv4数据包头校验和生成器、状态控制机相连;数据选择器A的输入端又分别和IPv4数据包延迟寄存器组的输出端、IPv4数据包头校验和生成器的输出端以及状态控制机的输出端相连,数据选择器A的输出端和更新后的IPv4数据包寄存器输入端相连;IPv6数据包寄存器的输出端分别和IPv6数据包延迟寄存器组、跳数寄存器、下一个头寄存器、IPv6目的地址寄存器、状态控制机的输入端相连,同时也接收状态控制机的输出;跳数寄存器的输出端和减一减法器B的输入端相连以及状态控制机相连,跳数更新寄存器的输出端还和状态控制机相连;减一减法器B的输出端和跳数更新寄存器的输入端相连;数据选择器B的输入端分别和IPv6数据包延迟寄存器组、跳数更新寄存器、状态控制机的输出端相连,数据选择器B的输出端和更新后的IPv6数据包寄存器输入端相连;下一个头寄存器的输入端和IPv6数据包寄存器的输出端相连,输出端和状态控制机相连;IPv6目的地址寄存器的输出端和比较器的输入端相连,比较器的另一个输入端和本路由器IPv6地址寄存器输出端相连;比较器的输出端和状态控制机的输入端相连;本路由器IPv6地址寄存器输入端和CPU接口电路的输出相连;数据选择器C的输入端分别和更新后的IPv4数据包寄存器、更新后的IPv6数据包寄存器的输出端相连、状态控制机以及包输入队列存储器FIFO的快满信号相连,数据选择器C的输出端分别和第0个上交包队列存储器FIFO、包输入队列存储器FIFO相连,同时数据选择器C的包头信号和包尾信号输出端也和计数器的输入端相连;计数器接收CPU接口电路输出的计数器清零信号,并将包头包尾信号计数信号传送给CPU接口电路的输入端;所述IPv6协议封装电路是一个电路组件,其中:包输入队列存储器FIFO接口电路,数据输入端和包输入队列存储器FIFO的数据输出端相连,输出的读信号和包输入队列存储器FIFO的读输入信号相连,控制输入输出端和状态控制机电路相连;IPv4包头数据寄存器,输入端和包输入队列存储器FIFO接口电路输出端以及状态控制机电路输出端相连,一个输出端和IPv4包头转IPv6隧道包头电路相连,另一个输出端和多路数据选择器电路输入端相连;IPv4负载数据寄存器,输入端和包输入队列存储器FIFO接口电路输出端相连,输出端和多路数据选择器电路输入端相连;IPv6数据寄存器,输入端和包输入队列存储器FIFO接口电路的输出端相连,输出端和多路数据选择器电路输入端相连;IPv6隧道包头数据寄存器,输入端和IPv4包头转IPv6隧道包头电路以及状态控制机电路相连,输出端和多路数据选择器电路相连;多路数据选择器电路的输出端和IPv6包队列存储器FIFO的输入端相连;包输入队列存储器FIFO接口电路将接收的数据包头信号和尾信号发送给计数器电路,多路数据选择器电路也把输出的数据包头、包尾信号传送给计数器电路,计数器电路输出的输入输出包头包尾信号计数和CPU接口电路的状态计数器值输入端相连,同时接收CPU接口电路输入的计数器清零信号;所述包相关信息提取电路是一个电路组件,由一系列的电路组成:IPv6包队列存储器接口电路,所述数据输入端和IPv6包队列存储器FIFO相连,输出的读信号和IPv6包队列存储器FIFO的读输入信号相连,控制输入输出端和状态控制机电路相连,输出端和包上交标识寄存器、包优先级寄存器、包源端口编号寄存器、包起始地址寄存器、包终止地址寄存器、包序列号寄存器、包目的地址寄存器、隧道标识寄存器以及包写入RAM电路相连;IPv6包信息发送电路的输入端和所述包上交标识寄存器、包优先级寄存器、包起始地址寄存器、包源端口编号寄存器、包终止地址寄存器、包序列号寄存器相连,控制信息来自于状态控制机,输出端接IPv6数据包相关信息队列存储器FIFO;检索指令发送电路的输入端和包序列号寄存器、包目的地址寄存器、隧道标识寄存器相连,输出端和检索指令队列存储器FIFO相连,控制输入端和状态控制机相连;包写入RAM电路的输出端和IPv6数据包存储器RAM相连,它的控制输入端和状态控制机相连;计数器的输入端分别和IPv6包队列存储器FIFO接口电路的输入包头信号以及输入包尾信号相连,还和包写入RAM电路输出的包头信号和包尾信号相连,同时也和CPU接口电路输入的计数器清零信号相连,输出的包头尾信号计数和CPU接口电路相连;所述CAM控制电路是一个电路组件,由一系列的电路组成:检索指令队列存储器FIFO接口电路的数据输入端和检索指令队列存储器FIFO输出端相连,输出的读信号和检索指令队列存储器FIFO的读信号相连,并且输出端也和状态控制机互连,接收状态控制机输出的控制信号;CAM写入数据寄存器的输入端和检索指令队列存储器FIFO接口电路、以及CAM维护指令队列存储器FIFO接口电路的输出端相连,输出端和CAM数据总线读写控制电路相连;CAM操作指令发送电路的输入端和检索指令队列存储器FIFO接口电路的输出端、CAM维护指令队列存储器FIFO接口电路的输出端相连,输出端直接和CAM存储器的命令总线INST、LTIN、SEGSEL、GMASK、CRB和请求选通信号REQSTB相连;SRAM写入数据寄存器的输入端和CAM维护指令队列存储器FIFO接口电路输出端,以及检索指令队列存储器FIFO接口电路的输出端相连,输出端和SRAM数据总线读写控制电路输入端相连;SRAM数据总线读写控制电路的输出端和SRAM读出数据寄存器、检索结果寄存器以及SRAM单端口存储器相连,控制信号输入端和状态机输出相连;CPU读出数据寄存器的输入端和CAM读出数据寄存器的输出端、SRAM读出数据寄存器的输出端相连,输出端和CPU接口电路相连;检索结果寄存器的输入端和数据包序列号寄存器的输出端相连,输出端和检索结果队列存储器FIFO相连;数据包序列号寄存器的输入端和检索指令队列存储器FIFO接口电路的输出端以及状态控制机的输出端相连;计数器的输入端和检索结果寄存器的输出端相连,还和CPU接口电路输入的计算器清零信号相连,它输出的查询状态计数输出和CPU接口电路相连;所述包发送电路是一个电路组件,由一系列的电路组成:IPv6数据包相关信息队列存储器FIFO接口电路,数据输入端和IPv6数据包相关信息队列存储器FIFO的输出端相连,控制输入和输出端与状态机控制电路相连,输出的读信号和IPv6数据包相关信息队列存储器FIFO读输入端相连,输出端分别和包存储起始地址寄存器、包存储终止地址寄存器、包长度寄存器、包优先级寄存器、源端口编号寄存器、包序列号寄存器A的输入端相连;检索结果队列存储器FIFO接口电路,数据输入端和检索结果队列存储器FIFO的输出相连,控制输入和输出端与状态机控制电路相连,输出端分别和包序列号寄存器B、目的端口编号寄存器、目的线卡编号寄存器、下一跳IPv6地址寄存器、下一跳IPv4地址寄存器、隧道IPv6目的地址寄存器的输入端相连;位宽为36位的附加数据寄存器组的输入端分别和包优先级寄存器、包长度寄存器、源端口编号寄存器、源线卡编号寄存器、目的端口编号寄存器、目的线卡编号寄存器、下一跳IPv6地址寄存器、下一跳IPv4地址寄存器、隧道IPv6目的地址寄存器的数据输出端相连;源线卡编号寄存器的输入来自CPU接口电路;增10加法器,输入端和包存储起始地址的输出相连,输出端与地址寄存器A相连;地址寄存器B的输入端和包存储起始地址的输出相连;增1加法器的输出端分别和IPv6数据包存储器读地址寄存器的输出端、地址寄存器C的输入端相连;多路数据选择器A,输入端分别和地址寄存器A、地址寄存器B、地址寄存器C相连,控制输入端和状态机控制电路的输出相连,输出端和IPv6数据包存储器读地址寄存器的输入端相连;数据比较器A,输入端和包存储终止地址寄存器的输出端以及IPv6数据包存储器读地址寄存器的输出端相连,输出端和状态机控制电路的输入端相连;位宽为36位的IP数据寄存器,输入端和IPv6数据包存储器RAM的数据输出端相连,输出端和多路数据选择器B的输入端相连;多路数据选择器B,数据输入端分别和位宽为36位的附加数据寄存器组的输出端、位宽为36位的IP数据寄存器的输出端相连,输出端和上交数据包寄存器、带附加数据的IPv4或IPv6数据包寄存器的输入端相连;上交数据包寄存器的输出端和第1个上交包队列存储器FIFO的输入端相连;带附加数据的IPv4或IPv6包寄存器的输出端发往与FPGA相连的上行FIFO;带附加数据的IPv4或IPv6包寄存器的还将发送的数据包头信号和包尾信号分别传送给计数器,计数器还和CPU接口电路输入的计数器清零信号相连,计数器输出的包头包尾信号计数信号发送给CPU接口电路;所述CAM存储器,是系统的FPGA片外存储器,读写控制命令总线信号以及数据请求总线REQDATA信号来自CAM控制电路,输出的地址总线信号和读写信号分别与SRAM单端口存储器的地址总线和读写信号相连,输出的读确认信号、查找匹配信号、查找输出有效信号和CAM控制电路输入端相连;所述SRAM单端口存储器,是系统的FPGA片外静态SRAM存储器,读写输入信号和地址信号来自CAM存储器的输出,数据输入输出端和CAM控制电路相连;所述SRAM双端口存储器,是系统的FPGA片外静态双端口SRAM存储器,分为数据写入端口和数据输出端口,数据写入端口的双向数据总线和上交包发送电路相连,数据写入端口的读写信号线、地址总线和上交包发送电路的输出端相连,数据输出端口的双向数据总线和CPU接口电路相连,数据输出端口的读写信号线、地址总线和CPU接口电路的输出端相连。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/200910093532.3/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top