CN1165141C - 路由器接口驱动数据转发过程的方法 - Google Patents
路由器接口驱动数据转发过程的方法 Download PDFInfo
- Publication number
- CN1165141C CN1165141C CNB01112525XA CN01112525A CN1165141C CN 1165141 C CN1165141 C CN 1165141C CN B01112525X A CNB01112525X A CN B01112525XA CN 01112525 A CN01112525 A CN 01112525A CN 1165141 C CN1165141 C CN 1165141C
- Authority
- CN
- China
- Prior art keywords
- data
- router
- busy
- interface
- buffer queue
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种路由器接口驱动数据转发过程的控制方法,包括以下步骤:(1)在路由器接口处分别设立存储待处理数据的发送和接收缓冲队列;(2)当有待处理数据需要转发时,判断路由器硬件是否忙;(3)若判断为忙时,则将所述待处理数据存入所述缓冲队列,等路由器硬件转为闲时,由驱动程序将上述缓冲队列中的数据转发,若判断为闲时,通过缓冲队列直接发送所述数据。本发明的方法可使路由器的转发效率提高20%。
Description
技术领域
本发明涉及路由器数据转发过程的驱动方法,具体地说,涉及一种提高路由器接口驱动数据发送和接收过程中转发效率的方法。
背景技术
路由器作为网络互联过程的重要设备负责相关联的网络之间的数据交换动作,即在相关网络之间实现数据的接收和发送。这当中,路由器对。数据的一般处理过程包括:路由器自一个网络的端口接收该网络传送的数据,具体地说,路由器内作为接口单板的物理层接收并处理所述数据后,被处理的数据作为数据包被送至路由器内的数据链路层;数据链路层处理该数据包,然后将处理后的数据包传送至网络协议层,进行对所述数据包进行路由协议处理,找到该数据包的目的地址,重新将经过如上多级处理的数据包再回送至所述数据链路层;数据链路层重新处理被会送的数据包,并重新处理后再回送至其述物理层,物理层作为网络间的传送接口,将上述处理的数据自其端口发送至另一相关网络,从而实现数据在网络间的传送。
上述过程可如图1所示,图中虚线内的部分表示路由器的接口部分。
从图1可知,路由器接口单板负责数据的发送和接收。接口驱动转发的效率直接关系路由器转发的效率。在一般接口驱动的发送和接收过程中,若遇到硬件忙(例如:一般路由器上普通串口模块),则认为转发失败,终止本次数据包的处理,终止物理过程为:在发送情况下,若遇到硬件忙,则给上层调用函数返回失败,接口发送函数不再做其他处理,终止本次发送。在接收情况下,若遇到硬件忙,则丢弃本次接收数据,接收函数不再做其他处理,终止本次接收。若在发送过程中遇到硬件忙,则由上层软件以后重新发送;若在接收过程中遇到硬件忙,则丢弃本次接收的数据包。例如,一般路由器的普通串口模块一般就是按照上述过程来处理转发过程中的硬件忙的。这种现有技术的处理方法虽然具有简单、可靠等优点,但其明显缺点在于这种路由器接口的转发效率不高。
发明内容
本发明的目的是针对一般处理方法的缺点作出的改进,提供一种控制路由器接口驱动数据转发过程的方法,可提高所示接口转发的效率。
为实现上述目的,本发明提出一种路由器接口驱动数据转发过程的方法,包括以下步骤:
(1)在路由器接口处分别设立存储待处理数据的发送和接收缓冲队列;
(2)当有待处理数据需要转发时,判断路由器硬件是否忙;
(3)若判断为忙时,则将所述待处理数据存入所述缓冲队列,等路由器硬件转为闲时,由驱动程序将上述缓冲队列中的数据转发,若判断为闲时,通过缓冲队列直接发送所述数据。
其中,具有多个所述接口的模块构成高密度接口模块,所述的发送和接收缓冲队列支持该高密度接口模块。
采用本发明的路由器接口驱动数据转发过程的方法,可借助接收缓冲队列或发送缓冲队列存储数据,而不使待转发处理的数据被终止或丢弃,从而提高网络间的数据转发效率。与现有技术路由器的数据转发过程相比,采用本发明控制方法的路由器的数据转发效率可提高20%左右。
附图说明
以下结合附图通过具体实施例进一步详细描述本发明路由器接口驱动转发过程的方法,其中:
图1是现有技术路由器数据接/发送的转发流程图;
图2是说明本发明路由器接口驱动转发过程控制方法一种实施例的转发流程图。
具体实施方式
图2是本发明路由器接口驱动转发过程方法的一个实施例的转发流程图,包括以下步骤:
接收缓冲队列处理待转发数据包并维护数据包标志(S1),同时,判断路由器硬件是否“忙”(S2),并且当判断为“忙”时,则将该待转发数据包存入所述接收缓冲队列(S3),而如果判断硬件“不忙”,则启动硬件转发功能(S4),实现由驱动程序使数据经接收缓冲队列送至路由器的物理层,并依次经过路由器中的数据链路层和网络协议层,以及相反路径,经与路由器发送接口相连的发送缓冲队列转发数据,即图2中所示的步骤S5,从而结束转发过程。
本实施例中所述的接收缓冲队列和发送收缓冲队列可为“先进先出优先权缓冲队列”。发送和接收缓冲队列为优先权队列。对于高密度接口模块(即一个接口模块上有多个接口),不同接口的优先权可以不一样(比如有些接口连接重要客户)。不同通道的优先权可以由路由器配置管理人员设定。当转发过程中遇到硬件忙时,将对应转发通道的通道号以及该通道的优先权作为一个记录存入队列。当硬件闲时,检查先进先出优先权队列,首先处理优先权级别高的通道;当优先权相同时,按先进先出的原则处理具有相同优先权的各个通道。某个通道处理完毕后,该通道号对应的记录删除。
通道硬件是否“忙”的检测是通过读取接口模块上通信控制器相应寄存器状态的方式来实现的。在每次转发前,都必须首先读取对应通信控制器的寄存器状态,若状态为“闲”,则直接启动转发:若状态为“忙”,则按照本专利描述的方法将对应通道存入先进先出优先权队列,等待处理。
由上可见,本发明的方法与现有技术处理方法的区别在于:现有技术的处理方法是遇到硬件忙时终止本次发送或接收处理,判断为该次发送或接收失败,而本发明的处理方法是遇到硬件“忙”时,并不终止该次发送或接收处理,而是将待发送或待接收处理的数据放入分别设置的队列中,在硬件“闲”时,再由接口驱动软件将数据发送或接收过程处理完毕。
考虑到硬件忙只是一个暂时的现象,在发送和接收过程中,若遇到硬件忙,并不等于发送和接收失败。若将待处理的数据放入分别设立的接收缓冲队列和发送缓冲队列,由驱动程序在硬件闲时再转发所述缓冲队列中的数据。以如此的方式可以将转发过程中遇到硬件忙的数据正确地转发,避免了在发送过程中上层软件的重发和在接收过程中的丢弃数据包。
Claims (7)
1.一种路由器接口驱动数据转发过程的方法,包括以下步骤:
(1)在路由器接口处分别设立存储待处理数据的发送和接收缓冲队列;
(2)当有待处理数据需要转发时,判断路由器硬件是否忙;
(3)若判断为忙时,则将所述待处理数据存入所述缓冲队列,等路由器硬件转为闲时,由驱动程序将上述缓冲队列中的数据转发,若判断为闲时,通过缓冲队列直接发送所述数据。
2.按权利要求1所述的方法,其特征在于,具有多个所述接口的模块构成高密度接口模块,所述的发送和接收缓冲队列支持该高密度接口模块。
3.按权利要求2所述的方法,其特征在于,所述多个接口具有不同的的优先权。
4.按照权利要求3所述的方法,其特征在于,所述发送缓冲队列和接收缓冲队列是先进先出优先权缓冲队列。
5.按权利要求4所述的方法,其特征在于,当所述多个接口优先权相同时,按照先进先出的原则处理信号。
6、按权利要求1所述的方法,其特征在于,所述判断路由器硬件是否忙是通过读取所述接口上通信控制器相应寄存器状态而实现的。
7、按权利要求2所述的方法,其特征在于,所述判断路由器硬件是否忙是通过读取所述接口模块上通信控制器相应寄存器状态而实现的。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CNB01112525XA CN1165141C (zh) | 2001-03-27 | 2001-03-27 | 路由器接口驱动数据转发过程的方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CNB01112525XA CN1165141C (zh) | 2001-03-27 | 2001-03-27 | 路由器接口驱动数据转发过程的方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN1377194A CN1377194A (zh) | 2002-10-30 |
| CN1165141C true CN1165141C (zh) | 2004-09-01 |
Family
ID=4659307
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CNB01112525XA Expired - Fee Related CN1165141C (zh) | 2001-03-27 | 2001-03-27 | 路由器接口驱动数据转发过程的方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN1165141C (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100343812C (zh) * | 2005-03-25 | 2007-10-17 | 上海高智软件系统有限公司 | 提高归属位置寄存器接口系统处理速度的方法 |
Families Citing this family (24)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6760772B2 (en) | 2000-12-15 | 2004-07-06 | Qualcomm, Inc. | Generating and implementing a communication protocol and interface for high data rate signal transfer |
| US8812706B1 (en) | 2001-09-06 | 2014-08-19 | Qualcomm Incorporated | Method and apparatus for compensating for mismatched delays in signals of a mobile display interface (MDDI) system |
| DE602004030236D1 (de) | 2003-06-02 | 2011-01-05 | Qualcomm Inc | Erzeugen und implementieren eines signalprotokolls und einer schnittstelle für höhere datenraten |
| EP2363991A1 (en) | 2003-08-13 | 2011-09-07 | Qualcomm Incorporated | A signal interface for higher data rates |
| KR100973103B1 (ko) | 2003-09-10 | 2010-08-02 | 콸콤 인코포레이티드 | 고속 데이터 인터페이스 |
| CN102801615A (zh) | 2003-10-15 | 2012-11-28 | 高通股份有限公司 | 高数据速率接口 |
| CN101827074B (zh) | 2003-10-29 | 2013-07-31 | 高通股份有限公司 | 高数据速率接口 |
| CN101729205A (zh) | 2003-11-12 | 2010-06-09 | 高通股份有限公司 | 具有改进链路控制的高数据速率接口 |
| CA2546971A1 (en) | 2003-11-25 | 2005-06-09 | Qualcomm Incorporated | High data rate interface with improved link synchronization |
| CA2731265A1 (en) | 2003-12-08 | 2005-06-23 | Qualcomm Incorporated | High data rate interface with improved link synchronization |
| CA2775734C (en) | 2004-03-10 | 2014-01-07 | Qualcomm Incorporated | High data rate interface apparatus and method |
| US8705521B2 (en) | 2004-03-17 | 2014-04-22 | Qualcomm Incorporated | High data rate interface apparatus and method |
| MXPA06010873A (es) | 2004-03-24 | 2007-04-02 | Qualcomm Inc | Metodo y aparato de interfase de tasa de datos alta. |
| JP4664360B2 (ja) | 2004-06-04 | 2011-04-06 | クゥアルコム・インコーポレイテッド | 高速データレートインタフェース装置及び方法 |
| US8650304B2 (en) | 2004-06-04 | 2014-02-11 | Qualcomm Incorporated | Determining a pre skew and post skew calibration data rate in a mobile display digital interface (MDDI) communication system |
| US8692838B2 (en) | 2004-11-24 | 2014-04-08 | Qualcomm Incorporated | Methods and systems for updating a buffer |
| US8539119B2 (en) | 2004-11-24 | 2013-09-17 | Qualcomm Incorporated | Methods and apparatus for exchanging messages having a digital data interface device message format |
| US8873584B2 (en) | 2004-11-24 | 2014-10-28 | Qualcomm Incorporated | Digital data interface device |
| US8667363B2 (en) | 2004-11-24 | 2014-03-04 | Qualcomm Incorporated | Systems and methods for implementing cyclic redundancy checks |
| US8723705B2 (en) | 2004-11-24 | 2014-05-13 | Qualcomm Incorporated | Low output skew double data rate serial encoder |
| US8699330B2 (en) | 2004-11-24 | 2014-04-15 | Qualcomm Incorporated | Systems and methods for digital data transmission rate control |
| CN1960324B (zh) * | 2005-11-02 | 2010-07-21 | 盛科网络(苏州)有限公司 | 以回路完成隧道封装和解封装处理的网络交换机和方法 |
| US8730069B2 (en) | 2005-11-23 | 2014-05-20 | Qualcomm Incorporated | Double data rate serial encoder |
| US8692839B2 (en) | 2005-11-23 | 2014-04-08 | Qualcomm Incorporated | Methods and systems for updating a buffer |
-
2001
- 2001-03-27 CN CNB01112525XA patent/CN1165141C/zh not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100343812C (zh) * | 2005-03-25 | 2007-10-17 | 上海高智软件系统有限公司 | 提高归属位置寄存器接口系统处理速度的方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN1377194A (zh) | 2002-10-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN1165141C (zh) | 路由器接口驱动数据转发过程的方法 | |
| US20240106736A1 (en) | System and method for facilitating efficient packet forwarding using a message state table in a network interface controller (nic) | |
| US6577596B1 (en) | Method and apparatus for packet delay reduction using scheduling and header compression | |
| US7221647B2 (en) | Packet communication apparatus and controlling method thereof | |
| US20250133026A1 (en) | Remote Direct Memory Access (RDMA) over Converged Ethernet with congestion reduction for Prevention of Loss of Data | |
| CN1443413A (zh) | 交换系统 | |
| CN1093210A (zh) | 分组交换机的信息流控制系统 | |
| CN1099788C (zh) | 局域网交换器结构 | |
| CN104243346A (zh) | 针对网络设备以减小的缓冲器使用进行流控制 | |
| CN1267419A (zh) | 电信网中的信息流控制 | |
| CN1742469A (zh) | 用于在存储区域网之间传输数据的方法和设备 | |
| US8751881B1 (en) | Transmission buffer under-run protection | |
| US8331232B2 (en) | Method and apparatus for improving data transmission in router fabric cards through pseudo-synchronous data switching | |
| JPH0766838A (ja) | 輻輳制御フレームリレー装置 | |
| CN120729810B (zh) | 提高PCIe重传效率的数据传输系统、方法及交换机 | |
| US20060087964A1 (en) | Method and apparatus for switching among different network paths while suppressing ghost packets | |
| JP2001223707A (ja) | クロスポイント・スイッチ・コントロール装置 | |
| CN1222803A (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 | ||
| C17 | Cessation of patent right | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20040901 Termination date: 20110327 |