CN1411217A - 利用缓存技术提高ip报文转发速度的方法 - Google Patents
利用缓存技术提高ip报文转发速度的方法 Download PDFInfo
- Publication number
- CN1411217A CN1411217A CN01135671A CN01135671A CN1411217A CN 1411217 A CN1411217 A CN 1411217A CN 01135671 A CN01135671 A CN 01135671A CN 01135671 A CN01135671 A CN 01135671A CN 1411217 A CN1411217 A CN 1411217A
- Authority
- CN
- China
- Prior art keywords
- message
- memory
- description unit
- network equipment
- unit
- 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.)
- Granted
Links
Abstract
本发明涉及一种利用缓存技术提高IP报文转发速度的方法,主要包括下述步骤:首先在内存管理单元申请内存块组成多个报文描述单元;再将这些报文描述单元采用单循链表连接起来,组成一个转发报文池;接收到报文时,直接从转发报文池中申请到报文描述单元;经过各层软件处理之后发送报文,并将报文描述单元释放回转发报文内存池。本发明由于采用报文描述单元和转发报文内存池,方便地将多块内存统一管理,从而使报文转发速度大幅提高。
Description
技术领域
本发明涉及数据通信中的IP报文转发的方法特别是一种提高IP报文转发速度的方法。
背景技术
在数据通信中,如附图1所示,数据是通过一个个的报文在不同网络设备之间传递的。数据在设备中需要经过层层软件处理后在网络介质上传输,如附图2所示:网络分层结构使得数据报文内容也呈分层结构,一个报文到达网络设备后,经过物理层分析、链路层分析、网络层路由后,再由链路层封装、物理层发送到其它网络设备。各层软件对报文的分析、处理结果需要往多层之间传递,所以一个报文除了报文本身需要一块内存缓存外,还至少需要一块内存保存不同软件的处理结果。在报文转发过程中,如附图3所示,表示报文的多块内存是通过内存管理模块的函数调用在每个报文来时申请、在转发完后释放,而内存管理模块因为要考虑到通用性、内存碎片、共享处理等特点,申请和释放算法往往比较复杂,占用了较多的CPU资源;同时,现代网络设备每秒处理报文已达100万~1万万包,在每个报文转发过程中,如附图4所示,组成数据报文的多块内存都要被申请、释放一次,在报文转发过程中耗费大量的CPU资源,较大地影响了转发效率。
发明内容
针对上述问题,本发明的目的是提供一种在数据通信中利用缓存技术,将多块内存统一管理来提高IP报文转发速度的方法,该方法包括以下步骤:
a、在内存管理单元中建立多个报文描述单元;
b、将多个报文描述单元组成一个转发报文内存池;
c、网络设备接收到报文后,申请者直接从转发报文池申请报文描述单元;
d、物理层、链路层及网络层的软件分别对报文进行处理,最后由网络设备发送;
e、报文发送后,释放报文描述单元。
其中上述步骤a中在内存管理单元建立报文描述单元包括以下步骤:
a1、系统启动时,从内存管理单元申请一个报文的多块内存,其中所述内存块包括控制块、数据块、信息块或其它内存块;
a2、将上述内存块全部初始化;
a3、通过指针建立好控制块与其它内存块的连接关系;
a4、组成一个报文描述单元。
其中上述步骤d中报文处理包括以下步骤:
d1、接收单元对报文进行处理,将输出信息填入报文描述单元;
d2、向上层软件递交报文;
d3、上层软件对报文进行处理,将输出信息填入报文描述单元;
d4、再次将报文传递给物理层;
d5、网络设备将报文转发给下一个网络设备。
本发明由于采用缓存技术,引入了“报文描述单元”,并通过它将表示一个报文的多块内存统一管理;同时采用转发报文内存池来简化操作;在报文转发过程中,提供接口将以往一个报文分为多块内存、多次申请及释放的操作合为一次统一地申请和释放操作,使申请、释放效率大幅度提高,占用CPU时间大大减少;同时对外部模块,报文内存申请接口由多个统一为一个,使用简单、高效。
附图说明
以下结合附图详细说明本发明的实现方法:
图1是网络通信的分层结构图;
图2是网络通信数据报文的分层结构图;
图3是现有报文转发流程图;
图4是现有报文内存单独申请算法示意图;
图5是本发明报文描述单元示意图;
图6是本发明报文转发过程中软件模块交互图;
图7是本发明转发报文池组成图。
实施方式
如图1~图7所示,本发明利用缓存技术提高IP报文转发速度的方法的具体实施包括以下步骤:
首先,在内存管理单元中建立多个报文描述单元;其中本步骤中在内存管理单元中建立报文描述单元包括以下步骤:
a1、当系统启动时,从内存管理单元申请组成一个报文的多块内存,所述内存块包括数据块、控制块、信息块或其它内存块;
a2、将上述内存块全部初始化;
a3、并通过指针建立好控制块与其它内存块的连接关系;
a4、组成一个如图5所示的包括数据块、控制块、信息块和其它内存块的报文描述单元。
系统重复上述申请、初始化、连接步骤,组成多个报文描述单元,并将它们存放在内存管理单元中。
其次,将多个报文描述单元组成一个转发报文内存池;从内存管理单元中申请一定数量的报文描述单元,并将它们按照单循环链表连接起来,构成一个如图7所示的环状转发报文内存池。当网络设备接收到报文后,申请者直接从转发报文内存池申请报文描述单元;即当网络设备接收到一个报文后,接收单元随即向内存管理单元申请存放报文信息的内存块,申请者直接从转发报文内存池中获得一个报文描述单元,剩下的报文描述单元仍然按照单循环链表连接起来。
然后,物理层、链路层及网络层的软件分别对报文进行处理,最后由网络设备发送;此时,如图6所示,本步骤中各层软件分别对报文进行处理,最后由网络设备发送包括以下步骤:
d1、接收单元对报文进行处理,将输出信息填入报文描述单元;其中将输出信息填入报文描述单元是通过调用本算法提供的函数来实现的。
d2、向上层软件递交报文;
d3、上层软件对报文进行处理,将输出信息填入报文描述单元;本步骤中报文需要经过链路层分析、网络层路由、链路层封装等多重分析、处理,各层软件对报文分析、处理后,将输出信息填入报文描述单元。
d4、再次将报文传递给物理层;
d5、网络设备将报文转发给下一个网络设备;
最后,报文发送后,释放报文描述单元;报文由网络设备发送到下一个网络设备后,需要将报文所占用的内存释放掉,此时,整个报文描述单元作为一个整体释放回到转发报文内存池中,重新与其它报文描述单元采用单循环链表连接起来,等待下一次被调用。
Claims (6)
1、一种利用缓存技术提高IP报文转发速度的方法,其特征在于包括以下步骤:
a、在内存管理单元中建立多个报文描述单元;
b、将多个报文描述单元组成一个转发报文内存池;
c、网络设备接收到报文后,申请者直接从转发报文池申请报文描述单元;
d、物理层、链路层及网络层的软件分别对报文进行处理,最后由网络设备发送;
e、报文发送后,释放报文描述单元。
2、根据权利要求1所述的提高IP报文转发速度的方法,其特征在于上述步骤a中在内存管理单元建立报文描述单元包括以下步骤:
a1、系统启动时,从内存管理单元申请组成一个报文的多块内存,其中所述内存块包括控制块、数据块、信息块或许其它内存块;
a2、将上述内存块全部初始化;
a3、通过指针建立好控制块与其它内存块的连接关系;
a4、组成一个报文描述单元。
3、根据权利要求1所述的提高IP报文转发速度的方法,其特征在于上述步骤b中将多个报文描述单元组成一个转发报文内存池是将多个报文描述单元采用单循环链表连接起来,构成一个环状报文内存池。
4、根据权利要求1所述的提高IP报文转发速度的方法,其特征在于上述步骤c中网络设备接收到报文后,申请者直接从转发报文池申请报文描述单元是整个报文描述单元以指针形式一次性被申请者获得。
5、根据权利要求1所述的提高IP报文转发速度的方法,其特征在于上述步骤d中物理层链路层及网络层的软件分别对报文进行处理,最后由网络设备发送包括以下步骤:
d1、接收单元对报文进行处理,将输出信息填入报文描述单元;
d2、向上层软件递交报文;
d3、上层软件对报文进行处理,将输出信息填入报文描述单元;
d4、再次将报文传递给物理层;
d5、网络设备将报文转发给下一个网络设备;
6、根据权利要求1所述的提高IP报文转发速度的方法,其特征在于上述步骤e中报文发送后,释放报文描述单元是将整个报文描述单元作为一个整体放回到转发报文池中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN01135671A CN1129281C (zh) | 2001-10-17 | 2001-10-17 | 利用缓存技术提高ip报文转发速度的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN01135671A CN1129281C (zh) | 2001-10-17 | 2001-10-17 | 利用缓存技术提高ip报文转发速度的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1411217A true CN1411217A (zh) | 2003-04-16 |
CN1129281C CN1129281C (zh) | 2003-11-26 |
Family
ID=4673248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN01135671A Expired - Fee Related CN1129281C (zh) | 2001-10-17 | 2001-10-17 | 利用缓存技术提高ip报文转发速度的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1129281C (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1298147C (zh) * | 2003-11-18 | 2007-01-31 | 中兴通讯股份有限公司 | 一种在组播数据包转发时实现减少内存占用空间的方法 |
CN101170511B (zh) * | 2007-11-20 | 2010-11-24 | 中兴通讯股份有限公司 | 嵌入式操作系统中实现多核处理器通信的装置及方法 |
CN101369983B (zh) * | 2008-10-15 | 2010-12-22 | 杭州华三通信技术有限公司 | 内存缓冲区管理方法及系统 |
CN102075432A (zh) * | 2011-01-25 | 2011-05-25 | 上海聚欣网络科技有限公司 | 一种用于发送及接收报文的方法、装置、设备及系统 |
CN101321170B (zh) * | 2008-07-01 | 2011-07-27 | 北京锐安科技有限公司 | 一种新型的过滤查找表自动更新方法 |
CN102348237A (zh) * | 2011-10-28 | 2012-02-08 | 重庆邮电大学 | 一种宽带无线通信系统中的数据排队方法 |
CN113282040A (zh) * | 2021-05-26 | 2021-08-20 | 苏州智加科技有限公司 | 减少整车网关转发丢帧的方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100444579C (zh) * | 2005-01-18 | 2008-12-17 | 北京大学 | 一种基于自适应缓存机制实现快速网络报文分发的方法 |
-
2001
- 2001-10-17 CN CN01135671A patent/CN1129281C/zh not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1298147C (zh) * | 2003-11-18 | 2007-01-31 | 中兴通讯股份有限公司 | 一种在组播数据包转发时实现减少内存占用空间的方法 |
CN101170511B (zh) * | 2007-11-20 | 2010-11-24 | 中兴通讯股份有限公司 | 嵌入式操作系统中实现多核处理器通信的装置及方法 |
CN101321170B (zh) * | 2008-07-01 | 2011-07-27 | 北京锐安科技有限公司 | 一种新型的过滤查找表自动更新方法 |
CN101369983B (zh) * | 2008-10-15 | 2010-12-22 | 杭州华三通信技术有限公司 | 内存缓冲区管理方法及系统 |
CN102075432A (zh) * | 2011-01-25 | 2011-05-25 | 上海聚欣网络科技有限公司 | 一种用于发送及接收报文的方法、装置、设备及系统 |
CN102075432B (zh) * | 2011-01-25 | 2012-11-28 | 上海聚欣网络科技有限公司 | 一种用于发送及接收报文的方法、装置、设备及系统 |
CN102348237A (zh) * | 2011-10-28 | 2012-02-08 | 重庆邮电大学 | 一种宽带无线通信系统中的数据排队方法 |
CN102348237B (zh) * | 2011-10-28 | 2014-07-16 | 重庆邮电大学 | 一种宽带无线通信系统中的数据排队方法 |
CN113282040A (zh) * | 2021-05-26 | 2021-08-20 | 苏州智加科技有限公司 | 减少整车网关转发丢帧的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN1129281C (zh) | 2003-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1315077C (zh) | 有效处理网络数据的系统和方法 | |
CN1975680A (zh) | 基于Java的进程间异步通信的实现方法 | |
CN1360783A (zh) | 数据包的处理 | |
CN1881945A (zh) | 改进型分布式核心操作系统 | |
CN1859325A (zh) | 基于链表的进程间消息传递方法 | |
CN1846409A (zh) | 用于基于传输控制协议话务流特征进行超高速缓存查找的设备和方法 | |
CN1317640C (zh) | 实时操作系统环境下多任务应用软件模块的管理方法 | |
CN1933454A (zh) | 一种基于java消息服务的同步消息接口实现方法 | |
CN1129281C (zh) | 利用缓存技术提高ip报文转发速度的方法 | |
CN1777148A (zh) | 一种路由表下一跳ip地址到mac地址解析方法 | |
CN1518298A (zh) | 虚拟输出队列(VoQ)管理方法和装置 | |
CN1617525A (zh) | 一种保证通用路由封装隧道传输可靠的方法 | |
CN1271833C (zh) | 无需ip重组分发分组的装置和方法 | |
CN1499751A (zh) | 数据发射装置、发射和接收数据的方法及数据通信系统 | |
CN1286277C (zh) | 网络处理器中核心处理器与微引擎之间的通信方法 | |
CN1225105C (zh) | 一种适用于应用服务器的呼叫处理方法 | |
CN1955990A (zh) | 综合电信平台中的流程执行方法及系统 | |
CN1476212A (zh) | 一种实现同步数字体系上传送数据包的方法和装置 | |
CN1870708A (zh) | 一种话单传送方法、话单传送系统及交换设备 | |
CN1933450A (zh) | 板间通信方法及接口板 | |
CN1521990A (zh) | 全动态分布式网络服务管理系统及其服务方法 | |
CN101030927A (zh) | 基于通信中间件的电信oss子系统间的接口通信方法 | |
CN1941733A (zh) | 一种集群通信中的报文群发方法 | |
CN1901492A (zh) | 一种通过网络中的总线接口进行通信的方法和系统 | |
CN1314238C (zh) | 实现嵌入式系统中任务间自适应通讯的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
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 | ||
DD01 | Delivery of document by public notice |
Addressee: Huawei Technologies Co., Ltd. Document name: Notification of Termination of Patent Right |
|
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20031126 Termination date: 20111017 |