CN100446508C - 一种实现报文转发的装置及方法 - Google Patents

一种实现报文转发的装置及方法 Download PDF

Info

Publication number
CN100446508C
CN100446508C CNB2005101213472A CN200510121347A CN100446508C CN 100446508 C CN100446508 C CN 100446508C CN B2005101213472 A CNB2005101213472 A CN B2005101213472A CN 200510121347 A CN200510121347 A CN 200510121347A CN 100446508 C CN100446508 C CN 100446508C
Authority
CN
China
Prior art keywords
memory
inquiry
forwarding information
information
packeted
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.)
Active
Application number
CNB2005101213472A
Other languages
English (en)
Other versions
CN1859293A (zh
Inventor
罗俊
伊学文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB2005101213472A priority Critical patent/CN100446508C/zh
Publication of CN1859293A publication Critical patent/CN1859293A/zh
Application granted granted Critical
Publication of CN100446508C publication Critical patent/CN100446508C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种实现报文转发的装置,通过采用第二存储器存储已转发报文的转发信息,第一存储器存储全部报文的转发信息,并通过查询控制单元对转发信息的查询进行控制,当接收到待转发报文时,所述查询控制单元首先查询第二存储器中是否存储有待转发报文的转发信息,若是,则获取第二存储器存储的所述转发信息,否则,查询第一存储器获取待转发报文的转发信息并将所述转发信息缓存到第二存储器中进行存储,进而获取所述待转发报文的转发信息,最终实现报文的转发。另外,本发明还公开了一种相应的方法。本发明减少了对报文进行处理的时间,提高了系统带宽的利用率和处理性能。

Description

一种实现报文转发的装置及方法
技术领域
本发明涉及一种报文处理技术,特别涉及一种实现报文转发的装置及方法。
背景技术
通信网络在传送报文的过程中,接入设备往往要对所接收的报文进行转发。为了实现高速信元或报文的转发,通常接入设备利用硬件获取待转发报文的转发信息。对所述转发信息查询的时间,在通常情况下用多少个系统时钟周期(cycle)表示。为了达到报文处理设备的线速处理能力,对转发信息查询的时间要求很高,例如千兆比特率以太网(GE,Gigabit Ethernet)接口的处理设备,若报文以1Gbit/s的速率到达,系统时钟为62.5M,对于一个64比特(Byte)的数据包来说,当一个GE接口时,留给硬件设备处理的时间有32cycles(62.5M×64×8/1G);若2个GE接口,留给硬件设备处理的时间则只有16cycles,显然对每个报文转发信息的查询时间有很高的要求。
在接入设备中,通常基于永久虚连接(PVC,Permanent Virtual Connection)来获取转发信息,硬件根据PVC连接索引查询相应的存储转发信息的属性表获取该转发信息,实现报文的转发。在实际的应用过程中接入设备需要接入许多用户,因此需要维护大量的连接信息表项,这些信息表项通常存储在同步静态随机存储器(SSRAM,Synchronous Static Random Access Memory)芯片中,所述连接信息表项;相应的,报文的处理过程则是在现场可编程门阵列(FPGA,Field programmable Gate Array)或者专门集成电路(ASIC,Application Specific Integrated Circuit)芯片中完成的。
通常情况下大部分转发信息基于连接索引可以直接查询出来,这是必需的查询时间,还有一些转发信息在得到连接索引后还需要对所述信息进行线性的查询比较。例如互联网协议(IP,Internet Protocol)绑定功能的实现,其含义是对某条PVC连接,配置多个IP地址,接收报文后,检查所述报文的源IP地址,如果不能在共享媒质SSRAM配置的转发信息中找到匹配的IP表项,则判定所述报文是非法报文,进行丢弃。
现有的实现报文转发的装置如图1所示,包括:接收待转发报文的接收单元1a、查询所述待转发报文转发信息的查询单元2a以及根据所述转发信息发送待转发报文的发送单元3a。其中所述查询单元包括:SSRAM存储器21a用于存储所有报文的转发信息,报文信息获取单元22a用于获取待转发报文的连接索引和查询关键字(Key)(例如报文IP、介质访问MAC地址信息等)以及SSRAM访问控制接口23a用于实现对SSRAM存储器21a的访问控制,。
参考图2,该图为现有技术查询转发信息的处理流程图。
报文对应的永久虚连接索引以Pvc_idx表示,也就是用于查询SSRAM中的线性信息表的查表索引,查询关键字以key表示,所述Key可以是报文的IP、介质访问MAC、虚拟局域网VLAN或其它属性,存储于SSRAM中的线性表中信息项以Item_0,Item_1,.....,Item_k表示,所述存储于SSRAM中的线性表中信息与key的属性相同。
步骤1,获取待转发报文的Pvc_idx和key;
步骤2,查询所述Pvc_idx在SSRAM中的线性信息表中所对应的所有信息项的第一个信息项Item_0;
步骤3,判断所述报文的key值与第一个信息项Item_0是否匹配,若是,则执行步骤4,否则,执行步骤5;
步骤4,判定查询成功,获取Item_0中的转发信息;
步骤5,判断是否查询完Pvc_idx对应的所有信息项,若是,则执行步骤6,否则,执行步骤7;
步骤6,判定所述报文为非法报文,查询失败,丢弃所述报文;
步骤7,查询所述Pvc_idx对应的所有信息项中的下一个信息项Item_i,比较所述Item_i是否与所述报文的key匹配,若是,则获取查询结果,否则,返回步骤5。
综上,上述现有转发报文的方案虽然可以查询报文的转发信息从而实现报文的转发,但还存在以下问题:
由于所述SSRAM存储器中存储有大量的信息项,查询待转发报文的转发信息是通过对SSRAM存储器进行线性查询来实现的,如果一条连接索引对应8个信息项的话,则平均需要查询比较4个信息项。特别是对于不能命中的情况,需要将8个信息项均进行比较后才能做出判断。通常对SSRAM存储器进行一次读操作需要5个时钟Cycles或以上的时间,加上1个Cycle比较时间,则平均查询时间最少是4×6=24个Cycles,而SSRAM存储了很多信息项,其它功能模块也需要读取或者写入,因此常常需要等待服务,则处理一个报文的时间会更长,显然现有技术在进行转发信息的查询时需要逐一查询信息项,占用太多的硬件查询时间,不利于线速处理,因而延长了报文的处理时间,造成了较大的转发延时,影响了系统带宽的利用率和处理性能。
发明内容
本发明解决的技术问题是提供一种实现报文转发的装置及方法,该装置及方法能够减少报文的处理时间,提高系统带宽的利用率和处理性能。
为解决上述问题,本发明实现报文转发的装置,包括:
接收待转发报文的接收单元;
查询所述待转发报文的转发信息的查询单元,以及
根据所述查询获取的转发信息发送待转发报文的发送单元,其特征在于,所述查询单元包括:
第一存储器,用于存储所有报文的转发信息;
第二存储器,用于存储已转发报文的转发信息;
查询控制单元,查询第二存储器中是否存储有待转发报文的转发信息,若是,则获取第二存储器存储的所述转发信息,否则,查询第一存储器获取待转发报文的转发信息并将所述转发信息缓存到第二存储器中进行存储。
其中,所述查询控制单元包括:
第二存储器查询判断单元,用于判断第二存储器中是否存储有待转发报文的转发信息,并在判断为是后获取待转发报文的转发信息;
第一存储器查询判断单元,在第二存储器查询判断单元判断为否后,查询第一存储器获取待转发报文的转发信息;
存储转移控制单元,用于将从第一存储器查询获取的所述转发信息缓存到第二存储器中进行存储。
其中,所述查询控制单元还包括:
第二存储器控制单元,用于直接或按照预设的间隔时间将第二存储器中的所有转发信息置为无效。
其中,所述第二存储器还存储有连接索引和查询关键字信息,所述第二存储器查询判断单元包括:
报文信息获取单元,用于获取待转发报文的连接索引和查询关键字;
查询地址确定单元,用于根据获取的待转发报文的连接索引和查询关键字,确定在第二存储器查询待转发报文的转发信息的查询地址;
信息项获取单元,用于获取所述查询地址空间中第二存储器存储的所有信息项;
查询结果获取单元,用于检测所述获取的所有信息项中的连接索引和查询关键字与所述待转发报文的连接索引和查询关键字是否一致,并在判断为是后,获取与所述待转发报文的连接索引和查询关键字一致的信息项中的转发信息。
其中,所述存储转移控制单元包括:
存储地址确定单元,用于根据待转发报文的连接索引和查询关键字,确定第二存储器中用于存储从第一存储器中查询获取的转发信息以及与所述转发信息相匹配的连接索引和查询关键字的存储地址;
转移控制单元,用于控制将从所述第一存储器中查询获取的转发信息以及与所述转发信息相匹配的连接索引和查询关键字缓存到所述确定的第二存储器的存储地址空间中进行存储。
其中,所述存储转移控制单元还包括:
选择单元,当用于存储从第一存储器查询获取的转发信息以及与所述转发信息相匹配的连接索引和查询关键字的所述存储地址空间已经被存满时,选择最早被存储到所述存储地址空间中的信息项所在的位置作为所述从第一存储器中查询的转发信息以及与该转发信息相匹配的连接索引和查询关键字的存储位置。
其中,所述第一存储器采用共享媒质,所述共享媒质为同步静态随机存储器,所述第二存储器采用现场可编程门阵列或者专用集成电路芯片的内部缓存。
其中,所述连接索引为永久虚连接索引,所述查询关键字包括:报文的互联网协议地址,或介质访问地址,或虚拟局域网地址。
相应地,本发明的一种实现报文转发的方法,包括:
a、接收待转发报文;
b、查询用于存储已转发报文转发信息的第二存储器中是否存储有所述待转发报文的转发信息,若是,则获取第二存储器存储的所述转发信息,执行e,否则,执行c;
c、查询用于存储所有报文转发信息的第一存储器中是否存储有所述待转发报文的转发信息,并在判断为是后,获取所述待转发报文的转发信息,并执行d;
d、将从第一存储器查询获取的所述转发信息缓存到第二存储器中进行存储,然后执行e;
e、根据所述转发信息发送待转发报文。
其中,所述步骤a之前还包括:
a1、判断是否有报文输入,若是,则执行a;否则,执行a2;
a2、判断预设的用于将第二存储器中的所有信息项置为无效的间隔时间是否到达,并在判断为是后,将所述第二存储器中的所有信息项置为无效。
其中,所述第二存储器还存储有连接索引和查询关键字信息,所述步骤b包括:
b1、获取待转发报文的连接索引和查询关键字;
b2、根据获取的待转发报文的连接索引和查询关键字,确定在第二存储器查询待转发报文转发信息的查询地址;
b3、获取所述查询地址空间中第二存储器存储的所有信息项;
b4、检测所述获取的所有信息项中的连接索引和查询关键字与所述待转发报文的连接索引和查询关键字是否一致,并在判断为是后,获取与所述待转发报文的连接索引和查询关键字一致的信息项中的转发信息。
其中,所述步骤d包括:
d1、根据待转发报文的连接索引和查询关键字,确定第二存储器中用于存储从第一存储器中查询获取的转发信息以及与所述转发信息相匹配的连接索引和查询关键字的存储地址;
d2、将从所述第一存储器中查询获取的转发信息以及与所述转发信息相匹配的连接索引和查询关键字缓存到所述确定的第二存储器的存储地址空间中进行存储。
其中,当用于存储从第一存储器查询获取的转发信息以及与所述转发信息相匹配的连接索引和查询关键字的所述存储地址空间已经被存满时,所述步骤d1和d2之间还包括:
选择最早被存储到所述存储地址空间中的信息项所在的位置作为所述从第一存储器中查询的转发信息以及与该转发信息相匹配的连接索引和查询关键字的存储位置。
与现有技术相比,本发明具有以下有益效果:
本发明将已转发报文的转发信息存储在第二存储器中,并通过查询控制单元对待转发信息的查询进行控制,当接收到待转发报文时,所述查询控制单元首先查询第二存储器中是否存储有待转发报文的转发信息,若是,则1到2个cycles就可以获取查询结果,否则,查询用于存储全部报文的转发信息第一存储器,因而,减少了报文的处理时间,减轻了第一存储器的负担,提高了系统带宽的利用率和处理性能。
附图说明
图1是现有技术转发报文的装置示意图;
图2是现有技术查询报文转发信息的处理流程图;
图3是本发明实现报文转发的装置的组成示意图;
图4是本发明第二存储器内冲突项的结构关系示意图;
图5是本发明实现报文转发的装置中的查询控制单元具体实现第一实施例示意图;
图6是本发明实现报文转发的装置中的查询控制单元具体实现第二实施例示意图;
图7是本发明实现报文转发的装置中的第二存储器查询判断单元具体实现示意图;
图8是本发明实现报文转发的装置中的存储转移控制单元具体实现第一实施例示意图;
图9是本发明实现报文转发的装置中的存储转移控制单元具体实现第二实施例示意图;
图10是本发明实现报文转发的方法的处理流程图;
图11是本发明实现报文转发的方法对第二存储器进行查询的处理流程图;
图12是本发明实现报文转发的方法中向第二存储器中存储信息的处理流程图。
具体实施方式
本发明的核心在于采用第二存储器存储已转发报文转发信息并通过查询控制单元对转发信息的查询进行控制,查询待转发报文的转发信息时,所述查询控制单元首先查询第二存储器中是否存储有待转发报文的转发信息,若是,则获取第二存储器存储的所述转发信息,否则,查询用于存储全部报文转发信息的第一存储器获取待转发报文的转发信息并将所述转发信息缓存到第二存储器中进行存储,从而减少了报文的处理时间,提高了系统带宽的利用率和处理性能。
参考图3,该图是本发明实现报文转发的装置的组成示意图,所述装置主要包括:
接收待转发报文的接收单元10;
查询所述待转发报文转发信息的查询单元20,以及
根据所述转发信息发送待转发报文的发送单元30,
其中所述查询单元包括:
第一存储器21,用于存储所有报文的转发信息;
第二存储器22,用于存储已转发报文的转发信息;
查询控制单元23,查询第二存储器中是否存储有待转发报文的转发信息,若是,则获取第二存储器存储的所述转发信息,否则,查询第一存储器获取待转发报文的转发信息并将所述转发信息缓存到第二存储器中进行存储。
下面进行详细说明,以第二存储器采用现场可编程门阵列(FPGA,Fieldprogrammable Gate Array)或者专门集成电路(ASIC,Application SpecificIntegrated Circuit)芯片的内部缓存为例,所述第二存储器除存储有转发信息外还存储有用于查询待转发报文转发信息的连接索引和查询关键字,所述第一存储器为现有技术,这里不再详细说明。
所述第二存储器存储能力受限于FPGA或ASIC内部可用RAM资源,因此当前一般不可能做到连接索引和Key值的一个线性存储,比如连接索引14bit,IP地址32bit,要做到线性,则需要246的存储空间,当前是不可能的,需要收敛,因此所述第二存储器采用哈希(Hash)算法进行设计,Hash算法可以采用循环冗余检验(CRC,Cyclic Redundancy Check),比特(Bit)异或等,或其它Hash算法,主要是提供一个收敛功能。考虑到Hash冲突(冲突是不可避免的,因为第二存储器的大小远小于第一存储器),每个地址存放多个连接索引、Key值及转发信息,一个连接索引、Key值和转发信息称为一项冲突项,一般一个查询地址至少包含两项冲突项,具体的冲突项的数量受限于FPGA或ASIC内部可用RAM资源情况。如图4,该图是所述第二存储器内冲突项的结构关系示意图,以所述第二存储器中一个地址空间存储三项冲突项为例,所述冲突项具体包括如下字段:
Valid:读数据有效信号;
学习-Ind:为学习指针,用于指示将从第一存储器查询获取的所述转发信息缓存到第二存储器中进行存储的存储位置;
转发信息项,用于存储从第一存储器查询待转发报文的转发信息;
Pvc_idx:永久虚连接连接索引;
Key:查询关键字。
当第二存储器查询转发信息时,通过待转发信息的连接索引Pvc_idx和查询关键字Key进行Hash来获取第二存储器的查询地址,并将所述第二存储器的查询地址中的三个冲突项在一个时钟周期中读出,然后将所述待转发报文的Pvc-idx和Key与读数据有效信号(Valid)的冲突项的连接索引Pvc-idx和Key进行比较,获取与所述待转发报文的Pvc-idx和Key完全一致的冲突项,进而获取待转发报文的转发信息。
当将从第一存储器查询获取的所述转发信息缓存到第二存储器中进行存储时,通过有效学习-Ind指针在三个冲突项中循环右移,将所述从第一存储器查询的存转发信息缓存到所述第二存储器的存储地址中进行存储,这样总是覆盖最老的冲突项。
参考图5,该图是本发明实现报文转发的装置中的查询控制单元具体实现第一实施例示意图,所述查询控制单元可包括:
第二存储器查询判断单元232,用于判断第二存储器中是否存储有待转发报文的转发信息,并在判断为是后获取待转发报文的转发信息;
第一存储器查询判断单元231,在第二存储器查询判断单元判断为否后,查询第一存储器获取待转发报文的转发信息;
存储转移控制单元233,用于将从第一存储器查询获取的所述转发信息缓存到第二存储器中进行存储。
参考图6,该图是本发明实现报文转发的装置中的查询控制单元具体实现第二实施例示意图。
本实施例考虑到在实际应用中存储于第一存储器中的信息项可能由于软件的修改而动态改变,因此需要对存储于第二存储器中的信息项进行定期的老化处理,所述老化处理为将第二存储中的所有信息项置为无效,以防止第一存储器与第二存储器相对于同一报文的转发信息不一致的现象。老化的时间间隔越长,对第一存储器的访问次数就越少,但同时两个存储器内的转发信息不一致的时间就越长,因此可以配置用于设计老化时间长度的软件,这样可以根据用户的需要,通过修改相应的设置来设定不同的老化时间长度实现定期老化。另外所述老化软件也可以设计一个快速老化标志,由软件进行触发,在不影响报文处理的情况下以最快的速度老化,完成老化处理后硬件再自动切换到正常老化时间长度,达到快速老化的要求。具体实现时,本实施例中所述查询控制单元同样包括:
第二存储器查询判断单元232,用于判断第二存储器中是否存储有待转发报文的转发信息,并在判断为是后获取待转发报文的转发信息;
第一存储器查询判断单元231,在第二存储器查询判断单元判断为否后,查询第一存储器获取待转发报文的转发信息;
存储转移控制单元233,用于将从第一存储器查询获取的所述转发信息缓存到第二存储器中进行存储。
另外,与第一实施例不同的,本实施例中所述查询控制单元还包括:
第二存储器控制单元234,用于直接或按照预设的间隔时间将所述第二存储器的所有转发信息项置为无效。
参考图7,该图是本发明实现报文转发的装置中的第二存储器查询判断单元具体实现示意图,所述第二存储器查询判断单元可包括:
报文信息获取单元2321,用于获取待转发报文的连接索引和查询关键字;
查询地址确定单元2322,用于根据获取的待转发报文的连接索引和查询关键字,确定查询待转发报文转发信息的查询地址;
信息项获取单元2323,用于获取所述查询地址空间中存储的所有信息项;
查询结果获取单元2324,用于检测所述获取的查询地址空间中存储的各信息项中的连接索引和查询关键字与所述待转发报文的连接索引和查询关键字是否一致,并在判断为是后,获取与所述待转发报文的连接索引和查询关键字一致的信息项。
参考图8,该图是本发明实现报文转发的装置中的存储转移控制单元具体实现第一实施例示意图,所述存储转移控制单元包括:
存储地址确定单元2331,用于根据待转发报文的连接索引和查询关键字,确定第二存储器中用于存储从第一存储器中查询获取的转发信息以及与所述转发信息相匹配的连接索引和查询关键字的存储地址;
转移控制单元2332,用于控制将从所述第一存储器中查询获取的转发信息以及与所述转发信息相匹配的连接索引和查询关键字缓存到所述确定的第二存储器的存储地址空间中进行存储。
参考图9,该图是本发明实现报文转发的装置中的存储转移控制单元具体实现第二实施例示意图。
具体实现时,本实施例中所述存储转移单元同样包括:
存储地址确定单元2331,用于根据待转发报文的连接索引和查询关键字,确定第二存储器中用于存储从第一存储器中查询获取的转发信息以及与所述转发信息相匹配的连接索引和查询关键字的存储地址;
转移控制单元2332,用于控制将从所述第一存储器中查询获取的转发信息以及与所述转发信息相匹配的连接索引和查询关键字缓存到所述确定的第二存储器的存储地址空间中进行存储。
另外,与第一实施例不同的,本实施例中所述存储转移控制单元还包括:
选择单元2333,当用于存储从第一存储器查询获取的转发信息以及与所述转发信息相匹配的连接索引和查询关键字的所述存储地址空间已经被存满时,选择最早被存储到所述存储地址空间内的信息项所在的位置作为所述从第一存储器中查询的转发信息以及与该查询结果相匹配的连接索引和查询关键字的存储位置。
下面说明本发明的另一方面。
参考图10,该图是本发明一种实现报文转发的方法的处理流程图。
步骤s1,等待接收报文,并判断是否有报文输入,若判断为是,则执行步骤s2,否则,执行步骤s5;
步骤s2,查询用于存储已转发报文转发信息的第二存储器中是否存储有所述待转发报文的转发信息,若是,则步骤s3,否则,执行步骤s7;
步骤s3,获取第二存储器存储的所述转发信息;
步骤s4,根据所述转发信息发送待转发报文;
步骤s5,判断预设的用于将第二存储器中的所有信息项置为无效的间隔时间是否到达,若判断为是,执行步骤s6,否则,返回步骤s1;
步骤s6,将所述第二存储器的所有信息项置为无效;
步骤s7,查询用于存储所有报文转发信息的第一存储器中是否存储有所述待转发报文的转发信息,若判断为是,则执行步骤s8,否则,执行步骤s10;
步骤s8,获取所述待转发报文的转发信息;
步骤s9,将从第一存储器查询获取的所述转发信息缓存到第二存储器中进行存储,并执行步骤s4;
步骤s10,丢弃所接收的报文。
下面详细叙述对第二存储器进行查询和存储的过程,不失一般性,以所述第二存储器存储有转发信息以及与所述转发信息相匹配的连接索引和查询关键字为例。
参考图11,该图是本发明转发报文的方法对第二存储器进行查询的处理流程图。
步骤s201,获取待转发报文的连接索引和查询关键字;
步骤s202,根据获取的待转发报文的连接索引和查询关键字,确定在第二存储器中查询待转发报文转发信息的查询地址;
步骤s203,获取所述查询地址空间中存储的所有信息项;
步骤s204,检测所述获取的查询地址空间中存储的各信息项中的连接索引和查询关键字与所述待转发报文的连接索引和查询关键字是否一致,并在判断为是后,获取与所述待转发报文的连接索引和查询关键字一致的信息项的转发信息。
参考图12,该图是本发明转发报文的方法中向第二存储器中存储信息的处理流程图。
步骤s301,根据待转发报文的连接索引和查询关键字,确定第二存储器中用于存储从第一存储器中查询获取的转发信息以及与所述转发信息相匹配的连接索引和查询关键字的存储地址;
步骤s302,判断用于存储从第一存储器查询获取的转发信息以及与所述转发信息相匹配的连接索引和查询关键字的所述存储地址空间已经被存满,若是,则执行,步骤s303,否则,执行步骤s304;
步骤s303,选择最早被存储到所述存储地址空间内的信息项所在的位置作为所述从第一存储器中查询的转发信息以及与该转发信息相匹配的连接索引和查询关键字的存储位置;
步骤s304,将从所述第一存储器中查询获取的转发信息以及与所述转发信息相匹配的连接索引和查询关键字缓存到所述确定的存储地址空间中进行存储。
另外,对第一存储进行查询的处理方法是现有技术,此处不再进行详细说明。
以上所述公开的是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (13)

1、一种实现报文转发的装置,包括:
接收待转发报文的接收单元;
查询所述待转发报文的转发信息的查询单元,以及
根据所述查询获取的转发信息发送待转发报文的发送单元,其特征在于,所述查询单元包括:
第一存储器,用于存储所有报文的转发信息;
第二存储器,用于存储已转发报文的转发信息;
查询控制单元,查询第二存储器中是否存储有待转发报文的转发信息,若是,则获取第二存储器存储的所述转发信息,否则,查询第一存储器获取待转发报文的转发信息并将所述转发信息缓存到第二存储器中进行存储。
2、根据权利要求1所述的实现报文转发的装置,其特征在于,所述查询控制单元包括:
第二存储器查询判断单元,用于判断第二存储器中是否存储有待转发报文的转发信息,并在判断为是后获取待转发报文的转发信息;
第一存储器查询判断单元,在第二存储器查询判断单元判断为否后,查询第一存储器获取待转发报文的转发信息;
存储转移控制单元,用于将从第一存储器查询获取的所述转发信息缓存到第二存储器中进行存储。
3、根据权利要求2所述的实现报文转发的装置,其特征在于,所述查询控制单元还包括:
第二存储器控制单元,用于直接或按照预设的间隔时间将第二存储器中的所有转发信息置为无效。
4、根据权利要求2所述的实现报文转发的装置,其特征在于,所述第二存储器还存储有连接索引和查询关键字信息,所述第二存储器查询判断单元包括:
报文信息获取单元,用于获取待转发报文的连接索引和查询关键字;
查询地址确定单元,用于根据获取的待转发报文的连接索引和查询关键字,确定在第二存储器查询待转发报文的转发信息的查询地址;
信息项获取单元,用于获取所述查询地址空间中第二存储器存储的所有信息项;
查询结果获取单元,用于检测所述获取的所有信息项中的连接索引和查询关键字与所述待转发报文的连接索引和查询关键字是否一致,并在判断为是后,获取与所述待转发报文的连接索引和查询关键字一致的信息项中的转发信息。
5、根据权利要求4所述的实现报文转发的装置,其特征在于,所述存储转移控制单元包括:
存储地址确定单元,用于根据待转发报文的连接索引和查询关键字,确定第二存储器中用于存储从第一存储器中查询获取的转发信息以及与所述转发信息相匹配的连接索引和查询关键字的存储地址;
转移控制单元,用于控制将从所述第一存储器中查询获取的转发信息以及与所述转发信息相匹配的连接索引和查询关键字缓存到所述确定的第二存储器的存储地址空间中进行存储。
6、根据权利要求5所述的实现报文转发的装置,其特征在于,所述存储转移控制单元还包括:
选择单元,当用于存储从第一存储器查询获取的转发信息以及与所述转发信息相匹配的连接索引和查询关键字的所述存储地址空间已经被存满时,选择最早被存储到所述存储地址空间中的信息项所在的位置作为所述从第一存储器中查询的转发信息以及与该转发信息相匹配的连接索引和查询关键字的存储位置。
7、根据权利要求1-6任一项所述的实现报文转发的装置,其特征在于,所述第一存储器采用共享媒质,所述共享媒质为同步静态随机存储器,所述第二存储器采用现场可编程门阵列或者专用集成电路芯片的内部缓存。
8、根据权利要求7所述的实现报文转发的装置,其特征在于,所述连接索引为永久虚连接索引,所述查询关键字包括:报文的互联网协议地址,或介质访问地址,或虚拟局域网地址。
9、一种实现报文转发的方法,用于上述权利要求1-6所述的实现报文转发的装置中,其特征在于,包括如下步骤:
a、接收待转发报文;
b、查询用于存储已转发报文转发信息的第二存储器中是否存储有所述待转发报文的转发信息,若是,则获取第二存储器存储的所述转发信息,执行e,否则,执行c;
c、查询用于存储所有报文转发信息的第一存储器中是否存储有所述待转发报文的转发信息,并在判断为是后,获取所述待转发报文的转发信息,并执行d;
d、将从第一存储器查询获取的所述转发信息缓存到第二存储器中进行存储,然后执行e;
e、根据所述转发信息发送待转发报文。
10、根据权利要求9所述的实现报文转发的方法,其特征在于,所述步骤a之前还包括:
a1、判断是否有报文输入,若是,则执行a;否则,执行a2;
a2、判断预设的用于将第二存储器中的所有信息项置为无效的间隔时间是否到达,并在判断为是后,将所述第二存储器中的所有信息项置为无效。
11、根据权利要10所述的实现报文转发的方法,其特征在于,所述第二存储器还存储有连接索引和查询关键字信息,所述步骤b包括:
b1、获取待转发报文的连接索引和查询关键字;
b2、根据获取的待转发报文的连接索引和查询关键字,确定在第二存储器查询待转发报文转发信息的查询地址;
b3、获取所述查询地址空间中第二存储器存储的所有信息项;
b4、检测所述获取的所有信息项中的连接索引和查询关键字与所述待转发报文的连接索引和查询关键字是否一致,并在判断为是后,荻取与所述待转发报文的连接索引和查询关键字一致的信息项中的转发信息。
12、根据权利要求11所述的实现报文转发的方法,其特征在于,所述步骤d包括:
d1、根据待转发报文的连接索引和查询关键字,确定第二存储器中用于存储从第一存储器中查询获取的转发信息以及与所述转发信息相匹配的连接索引和查询关键字的存储地址;
d2、将从所述第一存储器中查询获取的转发信息以及与所述转发信息相匹配的连接索引和查询关键字缓存到所述确定的第二存储器的存储地址空间中进行存储。
13、根据权利要求12所述的实现报文转发的方法,其特征在于,当用于存储从第一存储器查询获取的转发信息以及与所述转发信息相匹配的连接索引和查询关键字的所述存储地址空间已经被存满时,所述步骤d1和d2之间还包括:
选择最早被存储到所述存储地址空间中的信息项所在的位置作为所述从第一存储器中查询的转发信息以及与该转发信息相匹配的连接索引和查询关键字的存储位置。
CNB2005101213472A 2005-12-30 2005-12-30 一种实现报文转发的装置及方法 Active CN100446508C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005101213472A CN100446508C (zh) 2005-12-30 2005-12-30 一种实现报文转发的装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005101213472A CN100446508C (zh) 2005-12-30 2005-12-30 一种实现报文转发的装置及方法

Publications (2)

Publication Number Publication Date
CN1859293A CN1859293A (zh) 2006-11-08
CN100446508C true CN100446508C (zh) 2008-12-24

Family

ID=37298157

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101213472A Active CN100446508C (zh) 2005-12-30 2005-12-30 一种实现报文转发的装置及方法

Country Status (1)

Country Link
CN (1) CN100446508C (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100555991C (zh) * 2006-12-29 2009-10-28 华为技术有限公司 报文访问控制的方法、转发引擎装置和通信设备
CN101964759B (zh) * 2010-11-10 2012-03-28 中国人民解放军国防科学技术大学 支持多用户的高速报文分流方法
CN102567395A (zh) * 2010-12-30 2012-07-11 百度在线网络技术(北京)有限公司 一种签名服务器及其控制方法
CN102866348A (zh) * 2012-09-23 2013-01-09 成都市中州半导体科技有限公司 集成电路测试数据查询系统及查询方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6580707B1 (en) * 1997-09-17 2003-06-17 Kabushiki Kaisha Toshiba ATM repeater using hardware implemented transfer destination searching to reduce processor load
US20040008675A1 (en) * 2002-07-09 2004-01-15 International Business Machines Corporation Method and router for forwarding internet data packets
US6751225B1 (en) * 1997-09-17 2004-06-15 Sony Corporation Port within a multi-port bridge including a buffer for storing routing information for data packets received in the port
CN1592233A (zh) * 2003-08-30 2005-03-09 华为技术有限公司 安全日志的实现方法
CN1708029A (zh) * 2004-06-08 2005-12-14 华为技术有限公司 建立转发流表的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6580707B1 (en) * 1997-09-17 2003-06-17 Kabushiki Kaisha Toshiba ATM repeater using hardware implemented transfer destination searching to reduce processor load
US6751225B1 (en) * 1997-09-17 2004-06-15 Sony Corporation Port within a multi-port bridge including a buffer for storing routing information for data packets received in the port
US20040008675A1 (en) * 2002-07-09 2004-01-15 International Business Machines Corporation Method and router for forwarding internet data packets
CN1592233A (zh) * 2003-08-30 2005-03-09 华为技术有限公司 安全日志的实现方法
CN1708029A (zh) * 2004-06-08 2005-12-14 华为技术有限公司 建立转发流表的方法

Also Published As

Publication number Publication date
CN1859293A (zh) 2006-11-08

Similar Documents

Publication Publication Date Title
US5570466A (en) Multiple path trees and lan segments for routing in a network of bridge-connected lan segments
US5940596A (en) Clustered address caching system for a network switch
KR101502263B1 (ko) 하이브리드 통신 네트워크들에 대한 어드레싱 방식
US7411952B2 (en) Communication scheme with arbitration mechanism for cases of address initialization and server setting
CN107872486B (zh) 通信方法和装置
EP0909062A1 (en) Methods and apparatus for accelerating OSI layer 3 routers
US20080205299A1 (en) Configuration of fibre channel san path
CN102474467A (zh) 使用父-子链路聚合组的服务器端负载均衡
KR20120014554A (ko) 버퍼 디스크립션 테이블을 이용하는 can 모듈을 구비한 마이크로컨트롤러
JP5994190B2 (ja) パケット転送方法およびシステム
JP2000261505A5 (zh)
US9979643B2 (en) Communication apparatus, communication method, and computer-readable recording medium
CN100446508C (zh) 一种实现报文转发的装置及方法
CN103281317A (zh) 一种软件定义网络的攻击测试方法
US20060120390A1 (en) Master node for a lin network
JP3132426B2 (ja) 高速lanスイッチング制御方法とそのシステム
JP2008546293A (ja) バスシステムの作動方法、バスシステムおよびバス加入者
CN103281318B (zh) 一种针对软件定义网络的攻击测试装置
US20100098108A1 (en) Method and system for transmitting in tdm mode
KR100396916B1 (ko) 고속 라우터를 위한 입출력 포트간의 패킷 연결 방법
RU2304802C1 (ru) Устройство обработки адресов коммутатора локальной вычислительной сети, работающего по принципу прозрачного моста
JP2739949B2 (ja) 通信バッファ装置
CN100486240C (zh) 一种数据包复用接收受控器及数据接收方法
KR100579437B1 (ko) 듀얼 이더넷 컨트롤러와 그 이더넷 컨트롤러간 패킷전송방법
CN107547406B (zh) 分布式evpn网关组网中建立fib表的方法和装置

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