著录项信息
专利名称 | 千兆位计费系统 |
申请号 | CN02129312.0 | 申请日期 | 2002-08-30 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2003-02-19 | 公开/公告号 | CN1398085 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | 暂无 | IPC分类号 | 暂无查看分类表>
|
申请人 | 清华大学 | 申请人地址 | 北京市-82信箱
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 清华大学 | 当前权利人 | 清华大学 |
发明人 | 张承;蒋东兴;刘启新 |
代理机构 | 暂无 | 代理人 | 暂无 |
摘要
千兆位计费系统属于报文统计和计费技术领域,其特征在于,它含有:内、外网接口单元,包含依次互连的光电转换器和串并转换器;核心数据处理单元,它含有:分别与内、外网接口单元中串并转换器输出端依次串接的帧提取单元、权限搜索单元;分别与内、外网接口单元中串并转换器输入端依次串接的上述权限搜索单元、转发控制单元;分别顺次串接与上述帧提取单元和转发控制单元之间的报文缓冲单元;PCI总线接口单元;分别经内部总线与PCI接口单元、权限搜索单元相连的SRAM的和CAM的接口单元以及SRAM和CAM。转发控制单元可以根据控制字的要求把报文的基本信息发送到PCI单元,再通过PCI总线传到主机。它可以极大的降低主机负载,同时不影响正常的计费需求。
1、千兆位计费系统,含有网络接口单元和数据处理单元,其特征在于,它含有:内网接 口单元,包括和内网相连的光电转换器(1I)以及与该光电转换器(1I)互连的串并转换器 (2I);外网接口单元,包括和外网相连的光电转换器(1E)以及与该光电转换器(1E)互 连的串并转换器(2E);现场可编程门阵列FPGA制成的核心数据处理单元,包括分别依次与 上述串并转换器(2I)、(2E)的输出端串接的帧提取单元(3I)、(3E)和权限搜索单元(4I) (4E),分别依次与上述串并转换器(2I)、(2E)的输入端串接的上述权限搜索单元(4E) (4I)和转发控制单元(5E)(5I),分别顺次串接于上述帧提取单元(3I)、(3E)与转发 控制单元(5I)(5E)间的报文缓冲单元(6I)、(6E),PCI接口单元(7),分别依次同时经 内部总线P1、P2与上述PCI单元(7)、权限搜索单元(4I)(4E)相连的,交互连接有静态 随机存储器SRAM(10)的SRAM接口单元(8)和交互连接有内容寻址存储器CAM(11)的CAM 接口单元(9);其中的权限搜索单元(4I)(4E)各含有:输入端与帧提取单元(3I)、(3E) 的报文参数输出端相连,但输出端各自分别与SRAM接口单元(8)和CAM接口单元(9)互连 的SRAM查询单元和CAM查询单元,以及输入端都与SRAM查询单元、CAM查询单元输出端相 连,但输出端与转发控制单元(5I)(5E)的控制字输入端相连的控制字运算单元;SRAM(10) 和CAM(11)。
2、根据权利要求1所述的千兆位计费系统,其特征在于:所述的帧提取单元(3I)、(3E) 含有:输入端与串并转换器(2I)、(2E)的数据输出端相连的帧同步单元;输入端与上述帧 同步单元的输出端相连,而输出完整数据帧的输出端与上述报文缓冲单元(6I)、(6E)的输 入端相连的解码单元;输入端与上述解码单元的输出端相连,而输出报文参数的输出端与上 述权限搜索单元(4I)(4E)的输入端相连的参数提取单元。
3、根据权利要求1所述的千兆位计费系统,其特征在于:所述的报文缓冲单元(6I)、 (6E)是用以暂时保存接收到的完整数据帧的大容量先入先出存储器FIFO。
4、根据权利要求1所述的千兆位计费系统,其特征在于:所述的转发控制单元(5I)(5E) 含有:输入端与报文缓冲单元(6I)、(6E)的帧数据读出端相连的帧读取单元;输入端分别 与上述帧读出单元的输出端和权限搜索单元(4I)(4E)的输出端相连的转发单元,输入端 与上述转发单元的输出端相连的封装单元以及输入端与上述封装单元输出端相连而输出端与 串并转换器(2I)、(2E)的数据输入端相连的编码单元。
技术领域\n千兆位计费系统属于报文统计计费技术领域,尤其涉及用于千兆位网络环境下进行报文 过滤、分析、采样的PCI扩展卡。\n背景技术\n现在几乎所有的计费系统都采用微机主板加上双网卡组成基于IA32(32bit Intel Architecture,32位Intel体系结构)结构来进行报文统计。\n图1为该系统的工作原理。首先,NIC1(Network Interface Card,网络接口卡)将数 据帧接收下来(A),然后将该数据帧通过PCI(Peripheral Component Interfaces,外部设 备总线)总线以及桥设备(Bridge)传输到内存(Memory)中(B),计费程序将数据帧从网卡 的缓冲区读取到应用缓冲区(C),CPU分析该数据帧决定是否转发(D),当需要转发的时候先 进行适当的统计,再将数据帧转到网卡缓冲区(E),通过PCI总线传输到NIC2(F),最后NIC2 将该数据帧发送出去(G)。\n这类系统在低端应用中能够很好地工作,但是在高带宽环境下就成为制约网络效率的瓶 颈。这主要表现在如下几个方面:\n1)由于网卡等设备需要进行报文的缓冲,并等待CPU的处理,这将消耗较多时间,会导 致TCP(Transfer Control Protocol,传输控制协议)连接速度下降,根据具体实现,对连 接速度的影响可能高达30%。在千兆计费系统中这种影响更加显著。\n2)当网络带宽增加到1Gbps时,为了进行双向流量控制,要求总线能够接收和发送双向 数据,也就是达到4Gbps。普通的32位PCI总线仅仅能够提供1Gbps的带宽,根本不可能满 足这种要求;而66MHz-64位的PCI总线也仅仅能够进行数据的传输,没有剩余时间给CPU进 行报文的处理。解决的办法是采用半双工操作,也就是仅仅利用50%的网络带宽;或者是采 用两个监控系统分别进行内、外网的过滤,但是这将带来成本增倍、系统复杂度增加、可靠 性降低等不利因素;而且,即使如此,系统也需要空耗50%的时间进行报文在网卡和内存之 间的传输。\n3)普通百兆、千兆网卡并不是一个针对计费系统而定制的设备,在大量接收和发送报文 的时候会频繁产生中断,系统在进行进程切换的时候将会消耗很多时间。如果中断没有及时 响应,将直接导致报文的丢失,网络性能急剧恶化。\n4)由于CPU需要进行报文分析,分析所消耗的时间并不是一个固定值,而是依赖于特定 的规则。为了满足应用的要求,一个实用的计费系统需要对同一个报文进行几十甚至上百个 不同的分析、判断,极可能消耗较多时间,也可能因为不能及时处理导致后继报文的成片丢 失。\n由于前述原因,在网络高带宽环境下,传统计费系统已经远远不能满足要求了。图2是 一组实测的数据。为了测试传统计费方案的最佳效率,通过一台运行于Linux上的微机服务 器配备双千兆网卡(66MHz-64位PCI卡)在内核级完成报文的转发,其间没有任何规则处理。 即使如此,其结果也不能满足商业应用的要求。可以看出,对于一般网络报文的平均长度 (200~300字节),传统计费系统对网络带宽的影响达到60%以上。\n发明内容\n本发明的目的在于提供一种千兆位计费系统,以便利用全硬件的方式进行报文的权限判 断,克服软件处理的瓶颈,实现千兆位以太网环境下进行高性能计费。\n本发明的特征在于:它含有:内网接口单元,包括和内网相连的光电转换器(1I)以及 与该光电转换器(1I)互连的串并转换器(2I);外网接口单元,包括和外网相连的光电转 换器(1E)以及与该光电转换器(1E)互连的串并转换器(2E);现场可编程门阵列(Field Programmable Gate Array,FPGA)制成的核心数据处理单元,包括分别依次与上述串并转换 器(2I)、(2E)的输出端串接的帧提取单元(3I)、(3E)和权限搜索单元(4I)(4E),分 别依次与上述串并转换器(2I)、(2E)的输入端串接的上述权限搜索单元(4E)(4I)和转 发控制单元(5E)(5I),分别顺次串接于上述帧提取单元(3I)、(3E)与转发控制单元(5I) (5E)间的报文缓冲单元(6I)、(6E),PCI接口单元(7),分别依次同时经内部总线P1、 P2与上述PCI单元(7)、权限搜索单元(4I)(4E)相连的,交互连接有静态随机存储器SRAM (10)的SRAM接口单元(8)和交互连接有内容寻址存储器CAM(11)的CAM接口单元(9); 其中的权限搜索单元(4I)(4E)各含有:输入端与帧提取单元(3I)、(3E)的报文参数输 出端相连,但输出端各自分别与SRAM接口单元(8)和CAM接口单元(9)互连的SRAM查询 单元和CAM查询单元,以及输入端都与SRAM查询单元、CAM查询单元输出端相连,但输出端 与转发控制单元(5I)(5E)的控制字输入端相连的控制字运算单元;SRAM(10)和CAM(11)。 所述的帧提取单元(3I)、(3E)含有:输入端与串并转换器(2I)、(2E)的数据输出端相 连的帧同步单元;输入端与上述帧同步单元的输出端相连,而输出完整数据帧的输出端与上 述报文缓冲单元(6I)、(6E)的输入端相连的解码单元;输入端与上述解码单元的输出端相 连,而输出报文参数的输出端与上述权限搜索单元(4I)(4E)的输入端相连的参数提取单 元。所述的报文缓冲单元(6I)、(6E)是用以暂时保存接收到的完整数据帧的大容量先入先 出存储器FIFO。所述的转发控制单元(5I)(5E)含有:输入端与报文缓冲单元(6I)、(6E) 的帧数据读出端相连的帧读取单元;输入端分别与上述帧读出单元的输出端和权限搜索单元 (4I)(4E)的输出端相连的转发单元,输入端与上述转发单元的输出端相连的封装单元以 及输入端与上述封装单元输出端相连而输出端与串并转换器(2I)、(2E)的数据输入端相连 的编码单元。\n使用证明,它达到了预期目的。\n附图说明\n图1现有计费系统的原理图。\n图2现有计费系统平均网络帧长度与网络带宽的关系图。\n图3本发明提出的千兆位计费系统的原理框图。\n图4本发明提出的千兆位计费系统的核心数据处理单元中权限搜索单元(4I)(4E)的 框图。\n图5本发明提出的千兆位计费系统的核心数据处理单元中帧提取单元(3I)、(3E)的框 图。\n图6本发明提出的千兆位计费系统的核心数据处理单元中转发控制单元(5I)(5E)的 框图。\n具体实施方式\n千兆计费系统中,权限搜索单元(4I)(4E)用于根据报文基本参数获得该报文的控制 字。如图4所示,它包括SRAM查询单元,CAM查询单元以及控制字运算单元。SRAM查询单元 可以通过当前报文内网IP地址的低址部分查询SRAM接口单元,获得该内网IP的访问权限。 CAM查询单元可将当前报文外网IP地址输出到CAM查询该IP所属的网段。这两个查询单元 的结果都被输出到控制字运算单元。控制字运算单元则根据要求,判断该内网IP是否有权限 访问该外网IP,获得控制字,并根据外网IP的所属网段获得其费率。\n帧提取单元(3I)、(3E)如图5所示,包括帧同步单元、解码单元、参数提取单元。\n根据IEEE std.802.3(电子工程师协会802.3规范)的要求,帧同步单元需要根据输 入数据中的报文起始定界符/S/以及报文结束定界符/T/来确定报文的始末,并将其输出到解 码单元。解码单元则按照IEEE std.802.3的要求进行8B/10B的解码工作,获得可理解的报 文数据。这些数据被输出到报文缓冲单元(6I)、(6E),同时被发送到参数提取单元。参数 提取单元需要获得报文的源IP地址、目标IP地址等基本报文参数,这些信息被存放在报文 的固定地址处,通过对输入数据进行简单计数即可获取。\n其中,帧同步单元与解码单元位置可以互换。\n报文缓冲单元(6I)、(6E)由大容量FIFO(First In First Out,先入先出存储器) 组成。用于暂时保存接收到的完整数据帧。\n转发控制单元(5I)(5E)的结构如图6所示,包括帧读取单元、转发单元、封装单元、 编码单元。帧读取单元用于将完整的数据帧从报文缓冲单元(6I)、(6E)中读出。控制单元 接收到报文控制字,并决定当前报文是转发还是丢弃。如果报文需要转发,则传递到封装单 元,按照IEEE std.802.3的要求进行封装,然后由编码单元进行8B/10B的编码,最后发送 出去。\nSRAM接口单元(8)与CAM接口单元(9)的功能基本一致。核心数据处理模块通过SRAM 接口单元(8)对SRAM(10)进行数据读写,通过CAM接口单元(9)对CAM(11)进行数据 读、写、搜索等操作。在核心数据处理单元的内部,他们接受不同单元的数据传输请求,按 照固定的优先级或者轮转,实现一个多路选通器的功能。\nPCI接口单元实现了核心数据处理模块与主机系统的通讯。它的功能在PCI Local Bus Specification 2.1(PCI本地总线规范2.1版)中有具体的描述。本PCI接口单元基本实现 了该规范中所定义的PCI主设备的要求。\n图3中光电转换器(1I)(1E)的功能是将光信号转换成为电信号,或者相反的过程。光 信号被转换为PECL(Positive Emitter Coupled Logic,正电压射极耦合逻辑)的电信号传 送到串并转换器(2I)、(2E)进行处理;从串并转换器(2I)、(2E)发送过来的PECL信号 被转换为光信号发送出去。\n图3中串并转换器(2I)、(2E)是将从光电转换器(1I)(1E)传送过来的高速串行数 据转换为并行的数据,及其相反的过程。\n图3中的光电转换器(1I)(1E)以及串并转换器(2I)、(2E)被统称为网络接口单元。\n图3中核心数据处理单元的主要功能是进行报文数据的识别、处理和转发,它包括帧提 取单元(3I)(3E)、报文缓冲单元(6I)(6E)、转发控制单元(5E)(5I)、权限搜索单元 (4E)(4I)、SRAM接口单元(8)、CAM接口单元(9)、PCI接口单元(7)等。核心数据处 理单元可以用可编程器件实现。\n图3中内容寻址存储器CAM用于保存IP地址域。当输入报文的IP地址时,可以通过查 询CAM获得该IP地址所属的范围,即可实现对访问不同地址的控制以及多种费率统计。\n图3中静态随机存储器SRAM用于保存内网IP地址的权限等信息。\n图3中PCI总线用于计费系统与主机进行通讯。软件能够通过PCI总线将控制信息发送 到计费系统,同时计费系统也能将报文来源、目标、长度等发送到主机进行统计。\n以上的用芯片HFBR-53D5制的光电转换器(1I)、(1E),芯片HDMP-1646A制的串并转换 器(2I)、(2E),核心数据处理单元,芯片71016制的SRAM(10)和芯片75T43100制的CAM (11)构成了本系统,其工作过程如下:\n1.网络中的物理信号经过光电转换器(1I)、(1E)、串并转换器(2I)、(2E)变成10 位的并行数据,并交给帧提取单元(3I)、(3E);\n2.帧提取单元(3I)、(3E)对数据流进行解码等操作,获得数据帧,将数据帧投递到 报文缓冲单元(6I)、(6E),并将其相关信息发送到权限搜索单元(4I)(4E);\n3.报文缓冲单元(6I)、(6E)临时保存MAC帧数据;\n4.权限搜索单元(4I)(4E)获取报文信息,通过CAM接口(9)查询CAM(11),通过 SRAM接口(8)查询SRAM(10),计算出相应报文的权限,即控制码;\n5.权限搜索单元(4I)(4E)将该报文的控制码投递到转发控制单元(5I)(5E);\n6.转发控制单元(5I)(5E)将数据帧从报文缓冲单元(6I)、(6E)中读出,根据控 制码决定将该报文丢弃,或者按照以太网要求进行封装、编码后发送到串并转换器(2I)、 (2E);\n7.串并转换器(2I)、(2E)将并行数据转换为串行数据,然后通过光电转换器(1I)、 (1E)变成光信号发送出去。\n查询CAM以及SRAM获得控制码可以采用如下方法:\n1.将CAM分成多个数据段,在同一个数据段中保存相同权限、相同费率的IP地址范围, 通过输出结果中的高位地址来识别当前报文中的外网IP地址属于哪个数据段,即当前报文的 所属数据段;\n2.通过当前报文源IP地址的低位地址查询SRAM,获得相应内网IP地址的访问权限字;\n3.根据此权限字判断是否允许该内网IP访问该数据段内的网络,获得控制码。\nCAM的主要用途是在不同位置保存不同费率的IP地址范围,并且该IP地址范围可以通 过主机来进行动态的修改。如果不采用CAM,则可以仅仅通过查询SRAM实现单一权限控制, 即是否允许内网IP访问外网的控制。或者通过将不同费率的网络地址直接固化到核心数据处 理单元的权限搜索单元逻辑内来实现多费率计费的要求,其缺点是不能动态更新各种费率的 网络地址范围。\n由于主机需要统计报文流量,因此,转发控制单元(5E)(5I)可以根据控制字的要求, 将报文的基本信息,包括源IP地址、目标IP地址、源端口地址、目标端口地址、报文长度 等,发送到PCI接口单元,然后通过PCI总线传递到主机。使用这种方法采样,而不是将整 个报文传递到主机,可以极大的降低主机的负载,同时又不影响正常的计费需求。
法律信息
- 2007-11-07
专利权的终止未缴年费专利权终止
专利权的终止未缴年费专利权终止
- 2004-05-26
- 2003-02-19
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |