发明名称 高速网络分流设备用线路接口卡中的包预处理电路组件
摘要 高速网络分流设备用线路接口卡中的包预处理电路组件属于因特网主干网分流用的高速网络分流设备技术领域,其特征在于它含有:包输入电路、经发送信息队列存储器及包缓存存储器与包输入电路相连的包输出电路,与包输入电路互连的流对应端口存储器、流生命值存储器,与流生命值存储器相连的生命值自动老化处理电路,与生命值自动老化处理电路和包输出电路互连的CPU接口电路。它对应于IPv4、IPv6包,能保证属于同一数据流的数据包全部通过相同的端口发送,并尽可能达到两个端口的负载平衡;它能实现40字节到1500字节数据包的线速度处理。
申请公布号 CN1642146A 申请公布日期 2005.07.20
申请号 CN200510011111.3 申请日期 2005.01.07
申请人 清华大学 发明人 赵有健;关洪涛;吴建平;张小平;乐祖晖
分类号 H04L12/56 主分类号 H04L12/56
代理机构 代理人
主权项 1、高速网络分流设备用线路接口卡中的包预处理电路组件,其特征在于它是一个大规模可编程数字集成电路器件,它含有:■包输入电路,包括:◆输入IP包数据寄存器,它接收来自接口的数据包;◆生成IPv4数据包16位流标识用的寄存器组,包括:●源IP地址寄存器,32位;●目的IP地址寄存器,32位;●源协议端口寄存器,16位;●目的协议端口寄存器,16位;●协议域寄存器,8位;●上述各寄存器的数据输入端与上述输入IP包数据寄存器的输出端相连;◆生成IPv6数据包16位流标识的寄存器组,包括:●源IP地址寄存器,128位;●流标号寄存器,20位;●上述两个寄存器的数据输入端与上述输入IP包数据寄存器的输出端相连;◆第一内部控制状态机,它的输入端与上述输入IP包数据寄存器的输出端相连,它的状态控制信号输出端与上述分别生成IPv4数据包16位流标识、IPv6数据包16位流标识和各寄存器的相应输入端相连;◆第一逻辑运算器,它的各输入端分别与上述生成IPv4数据包16位流标识用的寄存器组中各寄存器的下述各输出端相连:源地址高16位输出端、源地址低16位输出端、目的地址高16位输出端、目的地址低16位输出端、协议域8位输出端、源协议端口16位输出端以及目的协议端口16位输出端;■上述第一逻辑运算器是一个16位寄存器,它的输出信号是把上述7个输入数据相累加后形成的16位流标识;◆第二逻辑运算器,它的各输入端分别与上述生成IPv6数据包16位流标识用的寄存器组中各寄存器的下述各输出端相连:16位源IP地址输出端,共有8个;高4位、低16位的流标号输出端;■上述第二逻辑运算器是一个16位寄存器,它的输出信号是把上述10个输入数据累加后形成的另一种16位流标识;◆第一流标识寄存器,它的输入端与上述第一逻辑运算器的输出端相连;◆第二流标识寄存器,它的输入端与上述第二逻辑运算器的输出端相连;◆第一多路数据选择器,它的两个输入端分别与上述第一、第二流标识寄存器的输出端相连;◆流标识寄存器,它的输入端与上述多路数据选择器的输出端相连;◆包缓存存储器写数据寄存器,它的输入端与上述输入IP包数据寄存器的输出端相连;◆包缓存存储器写地址寄存器,它的输入端与上述包缓存存储器写数据寄存器的数据有效信号输出端相连;◆包存储起始、终止地址寄存器,它的地址信号输入端与上述包缓存存储器写地址寄存器的输出端相连,它的控制信号输入端与上述内部控制状态机的状态控制信号输出端相连;◆发送信息寄存器,它的一组输入端与上述包存储起始、终止地址寄存器输出端相连,另一组输入端与下述发送端口号寄存器的输出端相连;◆发送端口号寄存器,它的发送信息输出端与上述发送信息寄存器输入端相连,它的新端口号输出端与下述新端口号寄存器的输入端相连;◆新端口号寄存器,它的输入端与上述发送端口号寄存器的新端口号输出端相连;◆第二多路数据选择器,它的输出端与上述发送端口号寄存器输入端相连;◆流端口号寄存器,它的输入端与下述流对应端口存储器的数据输出端相连接;它的输出端与上述多路数据选择器的输入端相连;◆当前负载最轻端口寄存器它的输出端与上述多路数据选择器的输入端相连;◆生命值是否为0判断电路,它的非零信号输出端与上述第二多路数据选择器的控制信号输入端相连;◆流生命值寄存器,它的输入端与下述流生命值存储器的数据输出端相连;◆第三逻辑运算器,它的输入端与上述流生命值寄存器的输出端相连,它的输出是流生命值寄存器内容加1的结果;◆新生命值寄存器,它的输入端与上述第三逻辑运算器的输出端相连;■流对应端口存储器,它的数据输入端与上述新端口号寄存器的输出端相连;它的地址输入端与上述流标识寄存器的输出端相连;■流生命值存储器,它具有两组数据和地址总线。它的第一组地址输入端与包输入电路中的流标识寄存器的输出端相连,所述的每一条流标识信号对应着前述流标识信号在流生命值存储器中的地址,它的这一组数据输出总线与包输入电路中的流生命值寄存器的输入端相连,它的这一组数据输入总线与包输入电路中的新生命值寄存器的输出端相连,它的第二组地址输入端与下述生命值自动老化处理电路中的生命值存储器地址寄存器输出端相连,它的这一组数据输出总线与生命值自动老化处理电路中的原始生命值寄存器的输入端相连,它的这一组数据输入总线与生命值自动老化处理电路中的老化生命值寄存器的输出端相连;■生命值自动老化处理电路,包括:◆内部时钟计数器,它是一个内部的时钟计数器,每个时钟周期计数器加一,它具有一个同步清零输入端与第一比较器的相等输出端相连;◆时钟周期寄存器,它的输入端来自CPU接口电路;◆第一比较器,它的一个输入端与内部时钟计数器的一个输出端相连,另一个输入端与时钟周期寄存器的输出端相连;◆生命值存储器地址寄存器,它的输入端与内部时钟计数器的一个输出端相连,它的输出端与流生命值存储器的第二组地址输入端相连;◆原始生命值寄存器,它的输入端与流生命值存储器的第二组数据输出总线相连,它的输出端经过一个右移的移位寄存器与老化生命值寄存器的输入端相连;◆老化生命值寄存器,它的输出端与流生命值存储器的第二组数据输入总线相连;■包发送信息队列存储器,它的输入端与包输入电路中的发送信息寄存器的输出端相连;■包缓存存储器,它具有两组数据和地址总线,它的第一组地址总线与包输入电路的包缓存存储器写地址寄存器的输出端相连,它的第一组数据总线与包输入电路的包缓存存储器写数据寄存器的输出端相连,它的第二组地址总线与包输出电路的包缓存存储器读地址寄存器的输出端相连,它的第二组数据总线与包输出电路的包缓存存储器读数据寄存器的输入端相连;■包输出电路,包括:◆包发送信息寄存器,它的输入端与上述发送信息队列存储器的输出端相连;◆包存储器起始地址寄存器,它的输入端与上述包发送信息寄存器的相应输出端相连;◆包存储器终止地址寄存器,它的输入端与上述包发送信息寄存器的另一个输出端相连;◆包存储器下一地址寄存器,它的输入端与下述包缓存存储器读地址寄存器的输出端经过加1逻辑的输出相连;◆第三多路数据选择器,它的两个输入端分别与上述包存储器起始地址寄存器、包存储器下一地址寄存器的输出端相连;◆包缓存存储器读地址寄存器,它的输入端与上述第三多路数据选择器的输出端相连;它的输出地址信号加“1”后送往上述包存储器下一地址寄存器,它的另一个输出端与包缓存存储器的第二组地址输入端相连;◆第二比较器,它的两个输入端分别与上述包存储器下一地址寄存器、包存储器终止地址寄存器的输出端相连,它的比较信号输出端与上述第三多路数据选择器的控制信号输入端相连;◆包发送端口寄存器,它的输入端与上述包发送信息寄存器的输出端相连;◆附加数据寄存器,它的一组输入端与上述包发送端口寄存器的输出端相连,它的另一组输入端与CPU接口电路相连,它的输出端与上述第3多路数据选择器的相应输入端相连;◆包缓存存储器读数据寄存器,它的输入端与包缓存存储器的第二组数据总线相连;◆第四多路数据选择器,它的两个输入端分别与上述包缓存存储器读数据寄存器及附加数据寄存器的输出端相连;◆第二内部控制状态机,它的输入端与上述第二比较器的输出端相连;它的三个输出端分别与上述包发送信息寄存器、第四多路数据选择器和第三多路数据选择器的控制信号输入端相连;◆写入上行数据队列存储器的数据寄存器,它的输入端与上述第四多路数据选择器的输出端相连,它的输出是上行数据队列存储器;■CPU接口电路,包括:◆CPU地址寄存器,它的输入端来自线路接口卡上的CPU的地址信号总线;◆CPU控制信号寄存器,它的输入端来自线路接口卡上的CPU输出的控制信号;◆第三内部控制状态机,它的输入端与上述CPU地址寄存器和CPU控制信号寄存器的输出端相连,它的输出控制信号分别与生命值老化周期寄存器,发送板卡号寄存器和CPU数据总线三态调度逻辑的控制输入信号相连;◆生命值老化周期寄存器,它的数据输入端与CPU数据总线三态调度逻辑的输出端相连,它的输出端与生命值自动老化电路的时钟周期寄存器的输入端相连;◆发送板卡号寄存器,它的数据输入端与CPU数据总线三态调度逻辑的输出端相连,它的输出端与包输出电路的附加数据寄存器的输入端相连;◆CPU数据总线三态调度逻辑,它的一组端口与线路接口卡上的CPU数据总线相连,由第三内部控制状态机的输出控制信号控制该端口的方向,完成三态调度,它的另外两组输出端分别与上述生命值老化周期寄存器和发送板卡号寄存器的输入端相连。
地址 100084北京市海淀区北京100084-82信箱