CN101291546B - 核心路由器交换结构协处理器 - Google Patents
核心路由器交换结构协处理器 Download PDFInfo
- Publication number
- CN101291546B CN101291546B CN2008101147370A CN200810114737A CN101291546B CN 101291546 B CN101291546 B CN 101291546B CN 2008101147370 A CN2008101147370 A CN 2008101147370A CN 200810114737 A CN200810114737 A CN 200810114737A CN 101291546 B CN101291546 B CN 101291546B
- Authority
- CN
- China
- Prior art keywords
- module
- cell
- data
- packet
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 239000004744 fabric Substances 0.000 claims abstract description 56
- 238000013467 fragmentation Methods 0.000 claims abstract description 20
- 238000006062 fragmentation reaction Methods 0.000 claims abstract description 20
- 230000015654 memory Effects 0.000 claims description 154
- 230000015572 biosynthetic process Effects 0.000 claims description 85
- 238000005755 formation reaction Methods 0.000 claims description 85
- 230000006798 recombination Effects 0.000 claims description 18
- 238000005215 recombination Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 9
- 239000013256 coordination polymer Substances 0.000 claims description 6
- 108010022579 ATP dependent 26S protease Proteins 0.000 claims description 4
- 238000012217 deletion Methods 0.000 claims description 4
- 230000037430 deletion Effects 0.000 claims description 4
- 238000001914 filtration Methods 0.000 claims description 3
- 101000885476 Homo sapiens DDB1- and CUL4-associated factor 13 Proteins 0.000 claims description 2
- 102100022736 Sperm-egg fusion protein LLCFC1 Human genes 0.000 claims description 2
- 230000009471 action Effects 0.000 claims description 2
- 238000003780 insertion Methods 0.000 claims description 2
- 230000037431 insertion Effects 0.000 claims description 2
- 210000001503 joint Anatomy 0.000 claims description 2
- 238000009827 uniform distribution Methods 0.000 claims description 2
- 238000012544 monitoring process Methods 0.000 claims 1
- 239000000284 extract Substances 0.000 abstract 1
- 238000013461 design Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008521 reorganization Effects 0.000 description 3
- 101000911390 Homo sapiens Coagulation factor VIII Proteins 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 102000057593 human F8 Human genes 0.000 description 2
- 229940047431 recombinate Drugs 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000012356 Product development Methods 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
核心路由器交换结构协处理器属于因特网主干网核心路由器技术领域,其特征在于:由上行和下行两模块组成,用FPGA外接存储器实现,支持4Gb/s包线速。上行模块,接收数据包过滤掉无用数据后,数据被分成两路,每一路数据包被分成定长带优先级的若干数据片。每个数据片加上特定的头成为信元,信元依据优先级和目的地址不同属于不同队列,存于存储器,依据队列信息和来自下行模块的流量控制信息,调度出信元,并发送给交换结构。下行模块从交换结构接收两路信元,提取其中的流量控制信息给上行模块,去掉信元头还原为数据片,数据片依据来源优先级不同属于不同队列,存于存储器,含有一个以上完整数据包分片的队列参加调度,调度成功的队列的数据包被输出。
Description
技术领域
核心路由器交换结构协处理器(Switch Co-process Module)属于因特网主干网核心路由器技术领域。
背景技术
根据所处位置不同,核心路由器交换结构协处理器分为两个功能模块:协处理器上行模块,它和交换结构输入端相连;协处理器下行模块,它和交换结构输出端相连。不同厂家的具体实现方式各不相同,有的使用专门定制的ASIC芯片,也有的使用的是FPGA。有些厂家将交换结构协处理器归入网络处理器。
FPGA(Field Programmable Gate Array)是上世纪80年代末开始使用的大规模可编程数字集成电路器件。它充分利用计算机辅助设计技术进行器件的开发与应用。用户借助于计算机不仅能自行设计专用集成电路芯片,还可在计算机上进行功能仿真和实时仿真,及时发现问题,调整电路,改进设计方案。这样,设计者不必动手搭接电路、调试验证,只须在计算机上操作很短的时间,即可设计出与实际系统相差无几的理想电路。而且,FPGA器件采用标准化结构,体积小、集成度高、功耗低、速度快,可无限次反复编程,因此,成为科研产品开发及其小型化的首选器件,其应用极为广泛。
不管采用FPGA还是采用专门定制的芯片,交换结构协处理器都需要外接存储器,用来换缓存接收的网络数据。
发明内容
本发明目的在于提供一种核心路由器交换结构协处理器的实现机制,具体实现采用FPGA技术。协处理器上行模块接收路由器接收方向处理模块通过上行FIFO发来的数据包,对数据包进行分片,根据通用交换第一层协议CSIX-L1(Common Switch Specification-L1)的要求,给每个数据片加上特定的片头,片头包含数据片负载长度、数据片目的地址、数据片当前所在的源线卡号、数据片的优先级,该数据片称为信元。再根据交换结构通过下行模块提供给上行模块的流量控制信息对信元进行缓存、调度、最后发送到交换结构,由交换结构实现信元数据交换,交换结构根据信元头中的目的地址找到交换结构的出口。信元到达目的地址指定的输出端口,从而实现路由功能。
下行模块接收交换结构发送的符合CSIX-L1协议的信元,对信元的正确性进行判断,去掉信元头,将信元按分片的顺序组合,还原为数据包,还原得到的数据包应该和分片之前进入交换结构上行模块的原始数据包完全一样。然后再对数据包进行缓存、调度、最后发送到交换结构协处理器相连的下行FIFO。为了实现数据包的快速处理,协处理器采用流水线结构实现。
本发明的特征为:交换结构协处理器由上行模块和下行模块组成,内部逻辑采用FPGA实现,接收的网络数据保存在FPGA外围存储器中。
上行模块采用单一的上行模块主时钟CLK工作,它由下列子模块构成:
(1)包输入接口,它从外部FIFO中读取数据包,并将数据包发送到包分路器。
(2)包分路器,它将一路输入数据在两个输出端之间分配,将数据分为两路,它的输入端和包输入接口电路输出端相连,也和反压模块的输出相连。和包分路器相连的第一和第二路数据处理系列模块,结构和功能都完全一样。
(3)包分路器输入端和包输入接口、第一路反压模块和第二路反压模块输出端相连,它的输出端分别接FIFO10、FIFO20。FIFO10、FIFO20以及后续所有设计中采用的FIFOxx模块都是先入先出的队列存储器
(4)包分片:包括第一路包分片和第二路包分片,它们的输入端分别与上述的包队列存储器输出端相连。
(5)FIFO11和FIFO12,它的数据输入端和各自包分片输出端相连;它的读输入和信元缓存管理读FIFO输出相连。
(6)信元缓存管理:包括第一路信元缓存管理和第二路信元缓存管理。它们的输入端分别和第一路队列调度或第二路队列调度、FIFO11或FIFO21输出端相连,同时它也接收后继FIFO12或FIFO22的快满反馈信号。第一路信元缓存管理和第一路信元存储器、第一路链表存储器相连。第二路信元缓存管理和第二路信元存储器、第二路链表存储器相连。
(7)队列调度:包括第一路队列调度和第二路队列调度。第一路队列调度和第一路信元缓存管理模块、流量控制模块相连,第二路队列调度和第二路信元缓存管理模块、流量控制模块相连。第一路队列调度输出和第一路信元缓存管理模块相应的输入端口相连,第二路队列调度输出和第二路信元缓存管理模块相应的输入端口相连。
(8)流量控制,它接收来自交换结构下行模块的流控数据,并将流控信息发送到队列调度和信元发送。
(9)FIFO12和FIFO22,它们的输入端分别和信元缓存管理模块的数据输出端和数据输出有效信号相连。同时它们的读信号分别和信元发送模块相连。
(10)信元发送:包括第一路信元发送和第二路信元发送。第一路信元发送模块的输入端和FIFO12的数据线和空标志线相连,它输出的读数据信号和FIFO12的读信号相连;第二路信元发送模块的输入端和FIFO22的数据线和空标志线相连,它输出的读数据信号和FIFO22的读信号相连。此外,信元发送模块的输入端也和流量控制模块相连。
(11)上行CPU接口,它使得上行模块内部各个功能模块与线路接口卡上的CPU进行互联,接受CPU指令,对上行模块运行进行控制,同时扫描出各个功能模块内部状态信息。
(12)第一路反压模块和第二路反压模块,它分别接收FIFO10、FIFO20、FIFO11、FIFO21和信元缓存管理模块输出的外部信元存储器快满信号。
下行模块含有下列子模块构成:
同上行模块一样,交换结构协处理器下行模块也由两路模块构成,除了流量控制模块和数据包发送模块由两路共用外,两路数据处理电路其它模块的结构和功能完全对称相同。
(1)交换结构接口:包括第一路交换结构接口和第二路交换结构接口。第一路交换结构接口输入端和交换结构出口输出的信元开始信号SOF0、奇偶校验信号PAR0、32位信元数据信号data0、数据同步时钟CSIX_CLK0相连,同时它也接收第一路信元FIFO模块的信元快满反馈信号,它也和下行模块主时钟CLK相连。第二路交换结构接口输入端和交换结构出口输出的信元开始信号SOF1、奇偶校验信号PAR1、32位信元数据信号data1、数据同步时钟CSIX_CLK1相连,同时它也接收第二路信元FIFO模块的信元快满反馈信号,它也和下行模块主时钟CLK相连。
交换结构接口将接收的信元区分为单播、多播和流控信元,完成单播、多播和流控信元的分离,并将分离出的单播和多播数据去掉CSIX-L1信元头,余下的信元负载部分发送给各自的信元FIFO模块。如果信元FIFO模块反馈给交换结构接口的FIFO快满信号有效,则交换结构接口将接收的信元以一个完整的信元负载为单位丢弃,不发送给信元FIFO模块。除了交换结构接口模块有双时钟外,下行模块的其它子模块都只有一个单一时钟CLK,为避免叙述上的重复不再在下面的模块中说明,也不在图3——协处理器下行模块内部的各个子模块之间的关系图中画出来。
(2)信元FIFO模块:包括第一路信元FIFO和第二路信元FIFO,它们的输入端和各自的交换结构接口输出端相连,它的读信号来自包重组模块。
(3)包重组模块:包括第一路包重组和第二路包重组,它们的数据输入端和各自相连的信元FIFO的数据输出端以及信元FIFO是否为空的指示信号相连。此外,它还接收各自相连的数据片FIFO反馈的快满信号。
(4)数据片FIFO模块:包括第一路数据片FIFO和第二路数据片FIFO,它们的数据输入端与各自相连的包重组模块的输出端相连,它的读信号来自各自相连的数据包缓存管理模块。
(5)数据包缓存管理模块:包括第一路数据包缓存管理和第二路数据包缓存管理,它们的数据输入端和各自的数据片FIFO数据输出端相连,它们接收各自相连的队列调度模块输出的队列调度信息、数据包FIFO快满信号,数据包缓存管理模块还和各自的片外数据片存储器和链表存储器相连。
(6)队列调度:包括第一路队列调度和第二路队列调度,它们的输入和输出端与各自的数据包缓存管理模块相应的输入输出相连。
(7)数据包FIFO:包括第一路数据包FIFO和第二路数据包FIFO,它们的输入端和各自的数据包缓存管理模块数据输出总线相连,它们的写信号和各自的数据包缓存管理模块数据输出有效信号相连,数据包FIFO读信号和各自的数据包发送模块输出的读信号相连。
(8)数据包发送模块:它的数据输入端和第一路及第二路的数据包FIFO输出数据总线相连,它还接收FPGA外接的下一级FIFO快满反馈信号,同时给FPGA外接的下一级FIFO发送数据。
(9)流量控制模块,它的输入端分别接收第一路、第二路信元处理模块交换结构接口模块的输出流控数据总线fc0、fc1,以及第一路和第二路信元处理模块信元FIFO快满信号。下行模块由两路处理单元构成:第一路信元处理和第二路信元处理的结构和功能完全一样。
(10)下行CPU接口,它使得下行模块内部各个功能模块与线路接口卡上的CPU进行互联,接受外界的CPU指令,对下行模块运行进行控制,同时扫描出其各个子模块内部状态信息。
通过上述方法构建的交换结构协处理器,达到的性能指标为:
实现2路CSIX-L1信元输入输出处理;
IPV4达到40Byte包线速处理,最大包长4470字节;
IPV6达到80Byte包线速处理,最大包长4470字节;
支持MPLS多协议标记交换数据包,最大包长4470字节;
QOS支持1024个单播队列,上行模块支持一个多播队列,下行模块支持16个多播队列;
支持76字节信元(64字节负载)或128字节信元(116字节负载)配置;
支持16个目的线卡;
支持64种单播优先级;
链表式存储共享管理;
支持加权轮询优先级调度;
支持CSIX-L1流量控制;
FPGA主频为100MHZ时支持数据包的最低速率是4Gb/s。
附图说明
图1交换结构协处理器在整个核心路由器中的位置以及和周围器件的关系
图2构成协处理器上行模块内部的各个子模块之间的关系
图3构成协处理器下行模块内部的各个子模块之间的关系
图4下行模块交换结构接口内部结构
图5与交换结构协处理器相连的两个输入输出FIFO的数据包结构
说明:(1)bit35~34(包的头尾指示):10:数据包开始,00:数据包中间数据,01:数据包结束,11:数据包错误(ERR)。bit33~32(MOD,最后一个32位有效字节指示,只有在包尾时才有意义):00:最后四个字节都有效,01:最后四个字节中三个字节有效(bit31~8),10:最后四个字节中两个字节有效(bit31~16),11:最后四个字节中一个字节有效(bit31~24)。无效位用0填充。bit31~31,数据包的具体内容。
(2)源线卡号:bit15~8,共8位,但目前只用了bit11~8,其它位置0。
(3)目标端口号:bit19~8,共12位,用来指明数据包到达目标线卡后的输出端口。
图6 CSIX-L1协议信元总体数据结构
图7 CSIX-L1协议信元基本头结构
图8单播信元扩展头
说明:目的地址就是信元到达的目标线卡号。
图9多播信元扩展头
说明:多播目的标识就是信元到达的目标线卡号。
图10流量控制信元
图11信元负载数据结构
说明:来自数据包接收模块的数据包被分片后装入到流量管理TM负载里进行传输。只有最后一个数据片可以小于最大负载长度,位数不够的话需要填充至4字节的倍数。
图12流量管理TM头
说明:(1)源线卡号:0x0~0xf表示源线卡号0~源线卡号0xf。
(2)信元标识:10为包分片生成的第一个信元,00为包分片生成的中间信元,01为包分片生成的最后一个信元,11一个包分片只生成一个信元。
(3)信元序列号:用于重组时识别信元的序列信息。针对每一个包所分片的信元,其第一个信元序列号为0x0,第二个为0x1,依次类推,直到最后一个帧。再下一个包时仍然从0x0开始。
(4)类型:00表示单播,01多播,10和11不用。
(5)信元优先级:这里的5位和信元扩展头中的3位优先级组成信元的8个优先级,分别是0x0~0x3f,这种分级标识,可以表示64个不同的优先级。
图13数据片存储器或信元存储器存储块划分示意图
说明:图(a)一个数据片(或信元)由一个英文字母加一个阿拉伯数字代表,英文字母相同的数据片(或信元)属于同一个队列,阿拉伯数字表示当前数据片(或信元)在各自队列中被存入存储器的顺序。
图(b)示意的是每个存储块的序列号,数据片存储器或信元存储器存储块划分为2N个存储块,N一般取不小于13的自然数,一个存储块可以保存一个数据片(或信元)。
图14数据片存储器或信元存储器存储块和链表存储器的存储单元的关系示意图
说明:链表存储器每个存储单元和存储器划分成的存储块一一对应,链表存储器每个存储单元保存对应存储块存储的信元或数据片的相关信息,以及同一队列下一个节点的地址信息。
具体实施方式
核心路由器中交换结构协处理器用在线路接口卡上,由FPGA配合一组外部存储器芯片实现。
交换结构协处理器由两个功能模块:上行模块和下行模块构成,它和周围器件的连接关系以及在高性能核心路由器中的位置见附图1。由图可以知,交换结构协处理器通过两个FIFO和数据包处理电路相连,数据包处理电路和路由器物理和数据链路层处理电路相连。数据包处理电路由接收和发送两个模块组成,接收模块主要完成从物理和数据链路层处理电路接收和区分MPLS流和IP流,进行路由查找操作,并将查找得到的路由信息添加到数据包的包头,然后通过上行FIFO传送到交换结构协处理器。数据包处理的发送模块从下行FIFO接收交换结构协处理器发送的数据包,将数据区分为MPLS流和IP流,完成将数据包发送到物理和数据链路层处理电路的一系列操作,有些数据包上交操作系统处理,但大部分数据包发送到互连网。
交换结构协处理器上行模块将数据包拆分为交换结构可以处理的信元,并将信元发送到交换结构。上行模块的流量控制信息,来自交换结构和下行模块,并由下行模块传送到上行模块,控制上行模块向交换结构发送信元数据的速率。下行模块完成数据信元恢复成数据包的工作。
系统上电后,通过上行CPU接口模块、下行CPU接口模块和外部CPU进行通信,通过CPU对整个协处理器进行初始化,初始化完成后,系统才可以正常工作。
上行模块的工作流程如下:
1)通过包输入接口模块从上行FIFO读取数据包,数据包传送以1拍为单位进行,一拍含32位数据,不足一拍的,用0补足,为了说明数据包的头尾信息,和最后一拍实际有效字节数,一拍数据外加4位边带信息,bit35~34做为包的头尾指示标识,bit33~32,说明最后一拍实际有效字节数。包输入接口完成数据包过滤,将数据包之间的无效数据过滤掉,过滤后每一个完整的数据包都有且只有一个头标识和一个尾标识。
2)包分路器接收第一路反压模块和第二路反压模块信号,在第一路反压模块或第二路反压模块信号无效的情况下,根据设定的状态,对接收包的头标识进行识别,以包为单位进行分路。包分路器支持4种分路方式:(1)数据包优先分配给第一路FIFO10,只有在第一路反压模块反压信号有效的情况下,第二路反压信号无效的情况下,数据包才分配给第二路FIFO20,(2)数据包在第一路FIFO10和第二路FIFO20之间均匀分配,(3)数据包只分配给第一路FIFO10,(4)数据包只分配给第二路FIFO20。在实际运行时,可以根据情况设定系统在一种分路方式下工作。
3)数据包分片。根据设定的分片大小,将数据包分片为76或128字节的信元,每个信元加上符合CSIX-L1协议的信元头和本专利定义的流量管理TM(traffic manager)头。TM头的源线卡号:0x0-0xf。指出信元的源线卡号。信元标识:10为包分成的第一个信元,00为包的中间信元,01为包的最后一个信元,11为一个信元组成一个包。信元序列号:每一个数据包被拆分成一个以上的信元,每个信元分配一个序列号,用于重组时识别信元的序列信息。针对每一个包分片形成的信元,其第一个信元序列号为0x0,第二个为0x1,依次类推,直到最后一个信元。类型:00表示单播,01多播,10和11不用。TM包含的信元5位优先级和单播扩展头包含的3位信元优先级组成一个信元的8比特优先级。多播的优先级置零,未用。
4)信元缓存管理模块将接收的具有相同目的地址、相同优先级的信元按分片顺序存放在同一个队列中。总共支持1024个单播队列,1个多播队列。单播队列分为64个优先级,发往16个不同的目的地址,所以有1024个单播队列。多播队列不分优先级。信元存储器按照最大信元的大小被分成大小相等的2N个存储块,N一般取不小于13的自然数,每个存储块可以存储一个信元,组成每个存储块的存储单元地址是连续的。一个数据包常常拆分成一个以上的数据信元,这些数据信元保存在不同的存储块中,这些存储块在存储器中的位置可以是互不相邻。
信元缓存管理模块管理采用链表队列对信元存储空间进行管理,它包含两类链表:信元队列链表和空链表,信元队列链表的链表节点保存每个队列包含的信元信息,空链表保存外部信元存储器中没有利用的所有存储块信息,两类链表都保存在外部链表存储器中,动态共享链表存储器空间。信元存储器每个存储块的起始地址和链表存储器中链表节点存储地址一一对应,链表的每个节点单元存储地址指示每个存储块的起始地址,单元的存储内容,指示属于同一个链表的下一个链表节点的地址。信元缓存管理含有信元队列状态存储器,该存储器保存每个信元队列是否存在信元的状态信息,每个存储单元取值为0或1,1表示相应队列含有信元,0表示不含信元,一个队列对应信元队列状态存储器的一个存储单元,所以信元状态存储器至少应该有1025个存储单元。
信元缓存管理模块每接收到一个信元,就要从空链表中找到队头节点对应的存储块,将信元数据存入该存储块,并将该存储块对应的链表节点从空链表中删除,同时将他插入到它所属的信元队列链表尾部。
外部信元存储器的未使用存储块个数小于等于16时,信元缓存管理模块发出外部信元存储器快满信号给各自相连的FIFO11或FIFO21,同时停止从FIFO11或FIFO21读入信元,如果后来通过信元的发送,未使用存储块个数增加,信元缓存管理模块继续从各自相连的FIFO11或FIFO21读入信元。
5)流量控制模块,它接收来自交换结构下行模块的流量控制信息,并将得到的流量控制信息发送给队列调度模块和信元发送模块。
6)队列调度采用带加权的优先级调度规则,多播没有优先级,为了便于调度,也给多播定义一个加权值。系统支持64个单播优先级,每种优先级定义一个加权值,优先级越高对应的加权值就越大,每个队列初始的加权和值都为0。队列调度模块周期性地从信元缓存管理模块得到1024个单播队列和1个多播队列的状态信息,若得到某个队列状态信息为0,则置该队列的加权和值为0,如果某个队列的状态信息不为0,则该队列的加权和值等于该队列原来的加权和值再加上该队列优先级对应的加权值,队列调度模块对1025个队列进行周期性的调度,调度出当前加权和值最大的队列号传送给信元缓存管理模块。每次调度完毕,应该对调度成功队列的加权和进行更新,更新后的调度成功队列加权和等于未调度之前的加权和减去该队列优先级对应的加权值。
7)信元缓存管理模块根据接收的调度信息,通过队列链表得到该队列第一个信元节点的存储起始地址,从外部信元缓存中读出信元,发送到FIFO12或FIFO22,并更新信元队列状态存储器的相应存储单元,同时,信元缓存管理模块要将输出信元的存储块对应的链表节点从所属队列链表中删除,同时将该节点插入到空链表的尾部。
8)信元发送模块根据来自流量控制模块的链路级流控信息,决定是否从FIFO12或FIFO22中读取信元,将信元发送到交换结构。如果链路级流控信息有效,就不从FIFO12或FIFO22读取信元,也不进行信元发送。否则如果链路级流控信息无效,就从FIFO12或FIFO22读取信元,并将读取的信元发送到交换结构,发送的信元遵循CSIX-L1接口协议。
9)上行模块初始化以及监控信息通过上行CPU接口模块进行。通过上行CPU接口配置系统参数,读取系统状态。
下行模块的工作流程如下:
1)交换结构接口接收交换结构传送的CSIX-L1信元,接收的数据首先在输入数据寄存器组中进行暂存,如图4所示,然后,将寄存器组内的数据写入到先入先出FIFO存储器。FIFO存储器完成交换结构输入数据时钟域csix-clk和FPGA系统内部时钟域clk的隔离。
FIFO存储器每输出一个节拍的数据,数据校验模块都要对接收的数据进行一次奇偶校验和长度校验,如果校验发现错误时,数据校验模块给信元分类传送错误指示信号。
信元分类模块通过数据寄存器组得到接收的信元,在状态控制机的时序控制下,利用得到的数据校验指示信号,将接收的信元区分为单播、多播和流控信元,并标识该信元的对错信息,完成单播、多播和流控信元的分离,并将分离出的单播和多播数据去掉信元基本头、扩展头以及垂直校验数据发送到下一级信元FIFO模块,将流控信元发送到流量控制模块。
2)包重组模块从前一级信元FIFO中读出信元,并将信元去掉TM头组合成数据包。合成数据包的依据是信元TM头中源线卡号、类型、信元标识、信元序列号、8位优先级(信元扩展头中的3位优先级以及TM头中的5位优先级)。包重组模块将TM头中具有相同类型、源线卡号、8位优先级的信元归为一个队列,共有1040个队列:1024个单播队列、16个多播队列。包重组模块含有一个序列号存储器,序列号存储器为1040个队列的每一个队列分配一个存储单元,用来记录每个队列预期接收的信元序列号。例如:系统复位后,每个队列预期接收的第一个信元序列号应该是0,如果不是0,说明信元在传送的过程中发生了乱序的错误,用该信元组成的数据包就是错误数据包。预期序列号每接收一个信元,它的值加1,给出同一队列接收的下一个信元的预期序列号。每个队列接收完一个数据包的所有分片后,该队列对应序列号置0,为接收下一个数据包的第一个分片做准备。包重组模块能识别和标识错误的数据包。
3)数据片FIFO对包重组后的数据片和数据片对应的队列号进行缓存,然后传送给数据包缓存管理模块。
4)数据包缓存管理模块将来自数据片FIFO的数据片,根据队列号和接收顺序依次存放。数据包缓存管理模块总共支持1024个单播队列,16个多播队列,单播队列分64个优先级,多播队列不分优先级。采用链表结构进行数据包存储的队列管理,为了进行数据包的存储管理,数据包缓存管理模块外接两个存储器,一个存储器,做为链表存储器,一个存储器做为数据片存储器。数据片存储器被分成大小相等的2N个存储块,N一般取不小于13的自然数,每个存储块可以存储一个数据片,组成每个存储块的存储单元地址是连续的。一个数据包常常由一个以上的数据片组成,这些数据片保存在不同的存储块中,这些存储块在存储器中的位置可以是互不相邻,每个存储块的起始地址和链表存储器中的链表节点存储地址一一对应。
链表存储器保存链表,链表的每个节点单元存储地址指示每个存储块的起始地址,单元的存储内容,存储数据片信息,同时存储属于同一个队列的下一个链表节点的地址。数据包缓存管理模块也包含两类链表:数据片队列链表和空链表,这两类链表的建立、删除、插入方式和信元缓存管理模块一样。
如果数据包缓存管理模块从数据片FIFO接收到构成某一个数据包的所有分片时,称数据包缓存管理接收到一个完整的数据包。数据包缓存管理模块含有数据包队列状态存储器,该存储器保存每个数据包队列是否存在数据包的状态标识信息,每个存储单元取值为0或1,1表示相应队列含有一个以上完整数据包,0表示不含完整数据包(但仍然可能含有某个数据包的若干数据片),队列状态存储器的一个存储单元对应一个队列。
外部数据片存储器的未使用存储块个数小于等于16时,数据包缓存管理模块停止从各自的数据片FIFO读入数据片,如果后来通过数据片的发送,未使用存储块个数增加,数据包缓存管理模块继续从各自相连的数据片FIFO读入数据片。
5)队列调度采用带加权的优先级调度规则,多播没有优先级,为了便于调度,也给多播定义一个统一加权值。系统支持64个单播优先级,每种优先级定义一个加权值,优先级越高对应的加权值就越大,每个队列初始的加权和值都为0。队列调度模块周期性地从数据包缓存管理模块得到1024个单播队列和16个多播队列的状态信息,若得到某个队列状态信息为0,则置该队列的加权和值为0,如果某个队列的状态信息不为0,则该队列的加权和值等于该队列原来的加权和值再加上该队列优先级对应的加权值,队列调度模块对1040个队列进行周期性的调度,调度出当前加权和值最大的队列号传送给数据包缓存管理模块。每次调度完毕,应该对调度成功队列的加权和进行更新,更新后的调度成功队列加权和等于该队列调度之后的加权和减去该队列优先级对应的加权值。
6)数据包缓存管理根据接收的调度信息,从片外缓存中读出调度成功的队列中含有的队列头数据包的所有分片,发送到数据包FIFO,并更新数据包队列状态存储器的相应存储单元。同信元缓存管理模块一样,数据包缓存管理每发送一个数据片,都要进行队列链表节点的删除操作和空链表的插入操作。
7)数据包FIFO接收数据包缓存管理模块发送的数据包,并将接收的数据包发送给数据包发送模块。
8)数据包发送模块以包为单位,从含有数据包的两路数据包FIFO中,采用公平轮循算法,读取数据包,发送到FPGA外接的下行片外FIFO中。
9)下行模块初始化以及监控信息通过下行CPU接口模块进行。通过下行CPU接口配置系统参数,读取系统状态。
Claims (5)
1.核心路由器交换结构协处理器,其特征在于,所述交换结构协处理器是在大规模可编程数字集成电路芯片FPGA和FPGA片外存储器中实现的,由上行模块和下行模块组成,其中:
上行模块,它包括下列功能子模块:包输入接口模块、包分路器模块、第一路反压模块、第二路反压模块、6个先进先出存储器:FIFO10、FIFO11、FIFO12、FIFO20、FIFO21、FIFO22、第一路包分片模块、第二路包分片模块、第一路信元缓存管理模块、第二路信元缓存管理模块、第一路队列调度模块、第二路队列调度模块、第一路信元发送模块、第二路信元发送模块、流量控制模块、以及上行CPU接口电路模块;其中:
包输入接口模块,它有一个外部先进先出数据包存储器FIFO的输入端,从外部上行FIFO读取数据包,过滤掉无效数据,过滤后的每个数据包,有且只有一个头标识和尾标识;
包分路器模块,它的输入端和包输入接口模块的数据包输出端相连,对输入的数据包,根据设定的状态,对包的头标识进行识别,以包为单位分为两路,第一路发送到FIFO10,第二路发送到FIFO20;
FIFO10、FIFO20各自的数据包输入端分别和所述的包分路器模块的数据包输出端相连;
包分路器接收第一路反压模块和第二路反压模块信号,在第一路反压模块或第二路反压模块信号无效的情况下,根据设定的状态,对接收包的头标识进行识别,以包为单位进行分路,包分路器支持4种分路方式:(1)数据包优先分配给FIFO10,只有在第一路反压模块反压信号有效的情况下,第二路反压信号无效的情况下,数据包才分配给FIFO20,(2)数据包在FIFO10和FIFO20之间均匀分配,(3)数据包只分配给FIFO10,(4)数据包只分配给FIFO20,在实际运行时,可以根据情况设定系统在一种分路方式下工作;
第一路包分片模块从FIFO10接收数据包,第二路包分片模块从FIFO20接收数据包,分别把数据包分片为76或128字节的信元,为每个信元加上符合CSIX-L1协议的信元头,CSIX-L1信元头后面紧接的是负载数据,负载数据包含一个流量管理TM头,该TM头包括:源线卡号、信元标识、信元序列号、类型和优先级,一个信元含有8位优先级:TM头含优先级中的5位,信元扩展头中含优先级的3位,第一路包分片模块将分成的信元发送给FIFO11,第二路包分片模块将分成的信元发送给FIFO21;
FIFO11和FIFO21,它们的数据输入端分别和第一路和第二路包分片模块输出端相连,而它们的读输入端分别和第一路信元缓存管理模块、第二路信元缓存管理模块各自的读FIFO输出端分别连接;
第一路信元缓存管理模块和第二路信元缓存管理模块分别从FIFO11、FIFO21读入信元,分别把信元中具有相同目的线卡号和优先级的数据,按照分片的顺序存放在同一个队列中,不同目的线卡号和优先级的信元组成不同的队列,每个队列信息以链表保存;
信元存储器按照最大信元的大小被分成大小相等的2N个存储块,N取不小于13的自然数,每个存储块存储一个信元,组成每个存储块的存储单元地址是连续的,一个数据包拆分成一个以上的数据信元,这些数据信元保存在不同的存储块中,这些存储块在存储器中的位置可以是互不相邻;
信元缓存管理模块采用链表队列对信元存储空间进行管理,它包含两类链表:信元队列链表和空链表,信元队列链表的链表节点保存每个队列包含的信元信息,空链表保存外部信元存储器中没有利用的所有存储块信息,两类链表都保存在外部链表存储器中,动态共享链表存储器空间,信元存储器每个存储块的起始地址和链表存储器中链表节点存储地址一一对应,链表的每个节点单元存储地址指示每个存储块的起始地址,单元的存储内容,指示属于同一个链表的下一个链表节点的地址;
信元缓存管理模块每接收到一个信元,就要从空链表中找到队头节点对应的存储块,将信元数据存入该存储块,并将该存储块对应的链表节点从空链表中删除,同时将他插入到它所属的信元队列链表尾部;
每个信元缓存管理模块都各有一个片内状态存储器,每个队列是否存在信元的状态信息保存在状态存储器中,状态存储器一个存储单元对应一个队列,因为信元缓存管理模块支持1024个单播队列,1个多播队列,信元状态存储器至少有1025个存储单元,其中1024个存储单元存储1024个单播队列的状态,1个存储单元存储一个多播队列的状态,每个单元分别用“1”或“0”表示对应的队列是否存在信元,两个信元缓存管理单元都分别管理1024个分成64个优先级的单播队列、以及一个不分优先级的多播队列;
流量控制模块,接收来自交换结构下行模块的流控数据,并将到达的流控数据发送到第一路队列调度模块、第二路队列调度模块以及第一路信元发送模块、第二路信元发送模块;
所述的第一路队列调度模块和第二路队列调度模块,队列调度采用带加权的优先级调度规则,多播没有优先级,为了便于调度,也给多播定义一个加权值,系统支持64个单播优先级,每种优先级定义一个加权值,优先级越高对应的加权值就越大,每个队列初始的加权和值都为0,队列调度模块周期性地从信元缓存管理模块得到1024个单播队列和1个多播队列的状态信息,若某个队列状态信息为0,则置该队列的加权和值为0,如果某个队列的状态信息不为0,则该队列的加权和值等于该队列原来的加权和值再加上该队列优先级对应的加权值,队列调度模块对1025个队列进行周期性的调度,调度出当前加权和值最大的队列号传送给信元缓存管理模块,每次调度完毕,应该对调度成功队列的加权和进行更新,更新后的调度成功队列加权和等于未调度之前的加权和减去该队列优先级对应的加权值;
信元缓存管理模块根据接收的调度信息,通过队列链表得到该队列第一个信元节点的存储起始地址,从外部信元缓存中读出信元,发送到FIFO12或FIFO22,并更新信元队列状态存储器的相应存储单元,同时,信元缓存管理模块要将输出信元的存储块对应的链表节点从所属队列链表中删除,同时将该节点插入到空链表的尾部;
外部信元存储器未使用空闲存储块个数小于等于16时,信元缓存管理模块发出外部信元存储器快满信号给各自相连的FIFO11或FIFO21,同时停止从FIFO11或FIFO21读入信元,如果后来通过信元的发送,未使用空闲存储块个数增加,信元缓存管理模块继续从各自相连的FIFO11或FIFO21读入信元;
第一路信元发送模块和第二路信元发送模块根据采自流量控制模块的链路级流量控制信息,决定是否分别从FIFO12、FIFO22中读取信元发送到外部的交换结构,如果流量控制信息有效,说明交换结构没有准备好接收信元,则不读FIFO12或FIFO22,不进行信元发送,否则,流量控制信息无效,说明交换结构准备好接收信元,则读FIFO12或FIFO22,进行信元发送;
上行CPU接口电路模块使得所述的上行模块中各个功能子模块与线卡上的CPU模块互连,CPU模块发送指令对上行模块各个子模块的运行进行控制,同时通过CPU模块指令能够读出各个功能子模块的当前运行状态信息,供用户监控上行模块的运行使用;
下行模块,它包含下列功能子模块:第一路信元处理模块、第二路信元处理模块、流量控制模块、数据包发送模块以及下行CPU接口模块,其中:
第一信元处理模块和第二信元处理模块包括:交换结构接口模块、信元FIFO模块、包重组模块、数据片FIFO模块、数据包缓存管理模块、队列调度模块、以及数据包FIFO模块;除了交换结构接口模块有双时钟外,其它模块都只采用下行模块主时钟CLK做为工作时钟;
其中:
交换结构接口模块:包括第一路交换结构接口模块和第二路交换结构接口模块,第一路交换结构接口模块输入端和交换结构出口输出的信元开始信号SOF0、奇偶校验信号PAR0、32位信元数据信号data0、数据同步时钟CSIX_CLK0相连,同时它也接收第一路信元FIFO模块的存储空间快满反馈信号,和下行模块主时钟CLK相连;第二路交换结构接口模块输入端和交换结构出口输出的信元开始信号SOF1、奇偶校验信号PAR1、32位信元数据信号data1、数据同步时钟CSIX_CLK1相连,同时它也接收第二路信元FIFO模块的存储空间快满反馈信号,和下行模块主时钟CLK相连;
交换结构接口模块将接收的信元区分为单播、多播和流控信元,完成单播、多播和流控信元的分离,并将分离出的单播和多播数据去掉CSIX-L1信元基本和扩展头,保留扩展头中的优先级信息,信元扩展头中的优先级信息和余下的信元负载部分发送给各自的信元FIFO模块;如果信元FIFO模块反馈给交换结构接口的FIFO快满信号有效,则交换结构接口模块将接收的信元以一个完整的信元负载为单位丢弃,不发送给信元FIFO模块;
除了交换结构接口模块有双时钟外,下行模块的其它子模块都只有一个下行模块主时钟CLK;
交换结构接口模块还提取信元中的链路级流量控制信息,分离出流量控制信元,这些信息发送给流量控制模块;
信元FIFO模块:包括第一路信元FIFO模块和第二路信元FIFO模块,它们各自输入端和所述各自相连交换结构接口模块输出端相连,它的读信号来自包重组模块;
包重组模块:包括第一路包重组模块和第二路包重组模块,它们各自的数据输入端分别和对应的信元FIFO数据输出端以及信元FIFO是否为空的指示信号相连,此外,它还接收各自相连的数据片FIFO反馈的快满信号,如果数据片FIFO反馈的快满信号无效,包重组模块就从信元FIFO中读取去掉CSIX-L1头的信元负载数据,根据信元负载数据流量管理TM头中的源线卡号、信元标识、信元序列号、类型和信元8位优先级来判断接收的信元是否正确,包重组模块去掉负载数据的TM头,去掉TM头的CSIX-L1负载称为数据片,按照TM头中的源线卡号、类型和信元优先级不同,数据片分属于不同队列,如果数据片来源的源线卡号、类型和优先级相同,则它们属于同一队列,共1040个队列:1024个单播队列,16个多播队列,包重组模块将数据片和数据片对应的队列号传送给数据片FIFO;包重组模块含有一个序列号存储器,序列号存储器为1040个队列的每一个队列分配一个存储单元,用来记录每个队列预期接收的信元序列号,利用序列号存储器包重组模块能识别和标识错误的数据包;
数据片FIFO模块:包括第一路数据片FIFO和第二路数据片FIFO,它们的数据输入端与各自相连的包重组模块的输出端相连,它的读信号来自各自相连的数据包缓存管理模块;
数据包缓存管理模块接收队列调度模块输出的队列调度信息、数据包FIFO快满信号,数据包缓存管理模块还和片外数据缓存和链表存储器相连;
数据包缓存管理模块:包括第一路数据包缓存管理和第二路数据包缓存管理,它们的数据输入端和各自相连的数据片FIFO数据输出端相连,数据包缓存管理模块将来自数据片FIFO具有相同源线卡号和优先级的数据片,按照接收的顺序存放在同一个队列中,一个数据包由一个或多个数据片组成,数据包缓存管理模块总共支持1024个单播队列,16个多播队列,共1040个队列,单播队列分成64个优先级,多播队列不分优先级,采用链表结构进行数据包存储的队列管理,为了进行数据包的存储管理,数据包缓存管理模块外接两个存储器,一个存储器,做为链表存储器,一个存储器做为数据片存储器,数据片存储器被分成大小相等的2N个存储块,N取不小于13的自然数,每个存储块存储一个数据片,组成每个存储块的存储单元地址是连续的,一个数据包由一个以上的数据片组成,这些数据片保存在不同的未使用的空闲存储块中,这些空闲存储块在存储器中的位置可以是互不相邻,每个存储块的起始地址和链表存储器中的链表节点存储地址一一对应;
链表存储器保存链表,链表的每个节点单元存储地址指示每个数据片的起始地址,单元的存储内容,存储数据片信息,同时存储属于同一个队列的下一个链表节点的地址,数据包缓存管理模块也包含两类链表:数据片队列链表和空链表,这两类链表的建立、删除、插入方式和信元缓存管理模块一样;
数据包缓存管理模块含有数据包队列状态存储器,该存储器保存每个数据包队列是否存在数据包的状态标识信息,每个存储单元取值为0或1,1表示相应队列含有完整数据包,0表示不含完整数据包,队列状态存储器一个存储单元对应一个队列;
外部数据片存储器的未使用存储块个数小于等于16时,数据包缓存管理模块停止从各自的数据片FIFO读入数据片,如果后来通过数据片的发送,未使用存储块个数增加,数据包缓存管理模块继续从各自相连的数据片FIFO读入数据片;
队列调度模块:包括第一路队列调度模块和第二路队列调度模块,它们的输入和输出端与各自相连的数据包缓存管理模块相应的输入输出相连,队列调度模块为所有多播队列定义一个加权值,为64个单播优先级,每种优先级定义一个加权值,优先级越高对应的加权值就越大,每个队列初始的加权和值都为0,队列调度模块周期性地从数据包缓存管理模块得到1024个单播队列和16个多播队列的状态信息,若得到某个队列状态信息为0,则置该队列的加权和值为0,如果某个队列的状态信息不为0,则该队列的加权和值等于该队列原来的加权和值加上该队列优先级对应的加权值,队列调度模块对1040个队列进行周期性的调度,调度出一个加权和值最大的队列号传送给数据包缓存管理模块,每次调度完毕,应该对调度成功队列的加权和进行更新,更新后的调度成功队列加权和等于该队列调度之后的加权和减去该队列优先级对应的加权值;
数据包缓存管理模块根据接收的调度信息,从片外缓存中读出调度成功的队列中含有的队列头数据包的所有分片,发送到数据包FIFO,并更新数据包队列状态存储器的相应存储单元,同信元缓存管理模块一样,数据包缓存管理每发送一个数据片,都要进行队列链表节点的删除操作和空链表的插入操作;
数据包FIFO模块:包括第一路数据包FIFO模块和第二路数据包FIFO模块,它们各自把从数据包缓存管理模块收到的数据包发送给数据包发送模块,数据包发送模块以包为单位,交替从第一路数据包FIFO模块和第二路数据包FIFO模块中读取数据发送给交换结构协处理器相连的外部下行FIFO;
流量控制模块,它的输入端分别接收第一路、第二路信元处理交换结构接口模块的输出流控数据总线fc0、fc1,以及第一路和第二路信元处理模块信元FIFO快满信号,流量控制模块的输出接上行流量控制模块数据输入端;
下行CPU接口模块,它使得下行模块内部各个功能模块与线路接口卡上的CPU模块进行互连,CPU模块发送指令对下行模块运行进行控制,也能够根据CPU模块指令读出其各个功能子模块内部状态信息。
2.根据权利要求1所述的核心路由器交换结构协处理器,其特征在于,包分路器模块,以包为单位,把数据分成两路,每路对一个完整的数据包进行处理。
3.根据权利要求1所述的核心路由器交换结构协处理器,其特征在于,在所述的上行模块包分片模块中,把每个数据包分成一片或一片以上符合CSIX-L1协议的信元,CSIX-L1信元头后面紧接的是负载数据,负载数据包含一个流量管理TM头,该TM头包括:源线卡号、信元标识、信元序列号、类型和优先级。
4.根据权利要求1所述的核心路由器交换结构协处理器,其特征在于,上行模块的包分路器将数据分成两路,它的第一路包处理模块包括:第一路反压模块、FIFO10、FIFO11、FIFO12、第一路包分片模块、第一路信元缓存管理模块、第一路队列调度模块和第一路信元发送模块;它的第二路包处理模块包括:第二路反压模块、FIFO20、FIFO21、FIFO22、第二路包分片模块、第二路信元缓存管理模块、第二路队列调度模块和第二路信元发送模块;第一路包处理模块和第二路包处理模块结构对称,构成和功能完全一样。
5.根据权利要求1所述的核心路由器交换结构协处理器,其特征在于,下行模块也由两路模块构成,除了流量控制模块和数据包发送模块由两路共用外,2路数据处理电路其它模块的结构和功能分别完全对称相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101147370A CN101291546B (zh) | 2008-06-11 | 2008-06-11 | 核心路由器交换结构协处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101147370A CN101291546B (zh) | 2008-06-11 | 2008-06-11 | 核心路由器交换结构协处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101291546A CN101291546A (zh) | 2008-10-22 |
CN101291546B true CN101291546B (zh) | 2011-09-14 |
Family
ID=40035555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101147370A Expired - Fee Related CN101291546B (zh) | 2008-06-11 | 2008-06-11 | 核心路由器交换结构协处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101291546B (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101453425B (zh) * | 2009-01-15 | 2011-02-16 | 北京邮电大学 | 基于加权层分配和轮转实现的支持区分服务质量交换方法和系统 |
CN102006313B (zh) * | 2009-08-31 | 2015-05-27 | 中兴通讯股份有限公司 | 基于个人网的业务内容分发方法和装置 |
CN101645846B (zh) * | 2009-09-02 | 2011-10-26 | 中兴通讯股份有限公司 | 一种路由交换设备及其数据缓存的方法 |
WO2011050542A1 (zh) * | 2009-10-31 | 2011-05-05 | 深圳市利德嘉实业有限公司 | 支持视频质量分级的路由器构造方法 |
CN101778055B (zh) * | 2009-12-31 | 2013-03-13 | 卓望数码技术(深圳)有限公司 | 一种消息处理方法和网络实体 |
CN102447608B (zh) * | 2010-10-08 | 2014-11-05 | 中兴通讯股份有限公司 | 采用加速技术实现包重组的方法、装置及系统 |
CN102447607B (zh) * | 2010-10-08 | 2014-08-13 | 中兴通讯股份有限公司 | 采用地址冗余技术实现包重组的方法、装置及系统 |
CN104956637B (zh) * | 2012-10-25 | 2018-04-24 | 柏思科技有限公司 | 在多个逻辑网络连接中优先化封装数据包的方法、装置以及系统 |
CN103023800A (zh) * | 2012-11-29 | 2013-04-03 | 北京航空航天大学 | 采用流表映射调度策略对多核网络处理器下的流量进行调度的方法 |
CN103268290B (zh) * | 2013-01-04 | 2016-02-17 | 深圳爱淘城网络科技股份有限公司 | 基于优先级锁定的闪存存储方法 |
CN104243527B (zh) * | 2013-06-20 | 2018-08-21 | 华为技术有限公司 | 数据同步方法、数据同步装置及分布式系统 |
CN104639444B (zh) * | 2013-11-11 | 2019-10-15 | 南京中兴软件有限责任公司 | 多播缓存的释放方法及装置 |
CN105610730B (zh) * | 2014-11-19 | 2020-03-13 | 中兴通讯股份有限公司 | Cpu与网络设备之间的消息交互方法及系统 |
CN105763481A (zh) * | 2014-12-19 | 2016-07-13 | 北大方正集团有限公司 | 一种信息缓存方法及装置 |
EP3253091B1 (en) | 2015-01-30 | 2021-03-10 | Huawei Technologies Co., Ltd. | Data processing method and equipment |
CN107924507B (zh) * | 2015-06-02 | 2022-04-26 | 利维帕尔森有限公司 | 基于一致性加权和路由规则的动态通信路由 |
CN109587084A (zh) * | 2015-12-30 | 2019-04-05 | 华为技术有限公司 | 一种报文存储转发方法和电路及设备 |
US10044628B2 (en) | 2016-06-13 | 2018-08-07 | Pismo Labs Technology Limited | Methods and systems for receiving and transmitting packets based on priority levels |
CN107809395B (zh) * | 2017-10-11 | 2019-12-10 | 大唐恩智浦半导体有限公司 | 一种电池管理系统的通信方法及电池管理系统 |
US11070464B2 (en) * | 2018-10-16 | 2021-07-20 | Juniper Networks, Inc. | Optimized multicast forwarding with a cache |
CN111200472B (zh) * | 2018-11-19 | 2021-11-09 | 福建天泉教育科技有限公司 | 新入网设备的数据同步方法 |
CN112988653B (zh) * | 2019-12-16 | 2024-04-12 | 广州希姆半导体科技有限公司 | 数据处理电路、装置以及方法 |
CN111522643B (zh) * | 2020-04-22 | 2024-06-25 | 杭州迪普科技股份有限公司 | 基于fpga的多队列调度方法、装置、计算机设备及存储介质 |
CN114116368A (zh) * | 2020-08-31 | 2022-03-01 | 上海阵量智能科技有限公司 | 用于系统芯片性能监控的数据处理方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2506044Y (zh) * | 2001-08-16 | 2002-08-14 | 北京百年树人远程教育有限公司 | 具有服务质量保证的低端路由器 |
CN1588818A (zh) * | 2004-08-18 | 2005-03-02 | 北京首信股份有限公司 | 在交换机的交换端口实现主备倒换的方法和装置 |
EP1528709A2 (en) * | 2003-10-30 | 2005-05-04 | Agilent Technologies Inc., A Delaware Corporation | Communications network element and method of updating monitoring functionalities |
CN1655534A (zh) * | 2005-02-25 | 2005-08-17 | 清华大学 | 核心路由器上支持访问控制列表功能的双栈兼容路由查找器 |
-
2008
- 2008-06-11 CN CN2008101147370A patent/CN101291546B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2506044Y (zh) * | 2001-08-16 | 2002-08-14 | 北京百年树人远程教育有限公司 | 具有服务质量保证的低端路由器 |
EP1528709A2 (en) * | 2003-10-30 | 2005-05-04 | Agilent Technologies Inc., A Delaware Corporation | Communications network element and method of updating monitoring functionalities |
CN1588818A (zh) * | 2004-08-18 | 2005-03-02 | 北京首信股份有限公司 | 在交换机的交换端口实现主备倒换的方法和装置 |
CN1655534A (zh) * | 2005-02-25 | 2005-08-17 | 清华大学 | 核心路由器上支持访问控制列表功能的双栈兼容路由查找器 |
Also Published As
Publication number | Publication date |
---|---|
CN101291546A (zh) | 2008-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101291546B (zh) | 核心路由器交换结构协处理器 | |
US9313115B2 (en) | Traffic generator with priority flow control | |
CN102523764B (zh) | 中继装置 | |
CN105900386B (zh) | 一种用于传送以太网分组的方法及装置 | |
CN105227485B (zh) | 基于流持续时间的用于网络中路径选择的方法和装置 | |
CN103946803B (zh) | 具有高效工作排队的处理器 | |
CN101692647B (zh) | 路由器中采用IPv6头封装IPv4包的隧道转发系统 | |
CN101160856B (zh) | 一种网络处理器 | |
US9602436B2 (en) | Switching device | |
CN102549552A (zh) | 用于处理流感知网络节点中的数据分组的方法 | |
CN108833299A (zh) | 一种基于可重构交换芯片架构的大规模网络数据处理方法 | |
CN103944837A (zh) | 网络处理器单元和用于网络处理器单元的方法 | |
JPH1051471A (ja) | 仮想メッセージ転送経路上への転送スケジューリングの効率を高めるために、転送サービスレートが近い仮想メッセージ転送経路同士をまとめるメカニズムを有するデジタルネットワーク | |
CN101978659A (zh) | 分组交换的片上互连网络中的快速虚拟通道 | |
EP2092436A2 (en) | A network interface card for use in parallel computing systems | |
CN104778025B (zh) | 基于随机访问存储器的先入先出存储器的电路结构 | |
JP2000349789A (ja) | メモリー幅の非常に広いtdmスイッチシステム | |
CN103049240A (zh) | Pci-e设备及其接收数据重排序方法 | |
CN103297350B (zh) | 一种信元交换系统的实现方法和交换设备 | |
CN101594201B (zh) | 链式队列管理结构整合错误数据过滤的方法 | |
US7568074B1 (en) | Time based data storage for shared network memory switch | |
TWI223747B (en) | Increasing memory access efficiency for packet applications | |
CN102308538B (zh) | 报文处理方法及装置 | |
EP2754050B1 (en) | A method and apparatus for storing data | |
US8670454B2 (en) | Dynamic assignment of data to switch-ingress buffers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110914 Termination date: 20210611 |
|
CF01 | Termination of patent right due to non-payment of annual fee |