CN106302232A - 一种缓存管理方法及本端设备 - Google Patents
一种缓存管理方法及本端设备 Download PDFInfo
- Publication number
- CN106302232A CN106302232A CN201510270283.6A CN201510270283A CN106302232A CN 106302232 A CN106302232 A CN 106302232A CN 201510270283 A CN201510270283 A CN 201510270283A CN 106302232 A CN106302232 A CN 106302232A
- Authority
- CN
- China
- Prior art keywords
- packet
- judged result
- local device
- routing iinformation
- preset rules
- 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.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种缓存管理方法,包括:接收第一数据包;获取所述第一数据包对应的第一路由信息;判断所述第一数据包对应的第一路由信息是否满足第一预设规则,获取第一判断结果;所述第一预设规则用于表征本端设备能够依据所述第一路由信息将所述第一数据包发送至与所述第一数据包对应的目的端设备;依据获取到的所述第一判断结果确定是否缓存所述第一数据包。本发明实施例还公开了一种本端设备。
Description
技术领域
本发明涉及数据通信领域,尤其涉及一种缓存管理方法及本端设备。
背景技术
在网络系统中,路由器或者交换机中数据交换架构主要由线卡(Line Card)与交换模块(Switch Fabric)构成,如图1所示,所述线卡中主要设置有接口模块(Interface Module)、包处理模块(Packet Processor)和交换接入模块(SwitchAccess),其中,所述接口模块可以具体通过SDH成帧器或者以太网物理层加链路层芯片实现;所述包处理模块可以具体通过网络处理器(NP)或者基于FPGA的包处理器实现。
多个路由器或者交换机的交换接入模块和交换模块组成了交换网,通常交换接入模块与交换模块之间使用高速串行链路实现互联,因此,交换网具有健壮性,当有某个交换接入模块被拔出或者重新插入时,不能影响其他流量。
现有交换网中,交换接入模块在存储数据包时,会根据业务类型、优先级等信息对数据包进行分类并存储,当与存储的所述数据包对应的目的交换接入模块拔出时,也即与该数据包对应的目的端线卡拔出时,使得通往所述目的交换接入模块的数据包没有路由,此时,通常将此类没有路由的数据包丢弃,但是,由于此类没有路由的数据包在丢弃之前已经完成了所述包处理模块的处理过程,但又不能发送至目的交换接入模块,而是被直接丢弃,因此,此类没有路由的数据包占用了本端线卡的内存,减慢了本端线卡的处理速度;进一步地即使此类没有路由的数据包被全部缓存,并发送至交互模块,则当目的交换接入模块重新插入时,且当缓存中存有大量发往该目的交换接入模块的数据包时,这些数据包会重新获得路由,并发送至该目的交换接入模块,导致出向流量发生突变,即突然增大,进而导致交换模块流量波动。随着交换网络的规模提高以及交换处理能力的提高,插拔交换接入模块引起的流量波动越来越不可忽视,现有技术又难以解决此问题。
发明内容
为解决现有存在的技术问题,本发明实施例提供了一种缓存管理方法及本端设备,能够使本端设备有针对性的缓存数据包,为避免流量波动奠定了基础。
本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种缓存管理方法,所述方法包括:
接收第一数据包;
获取所述第一数据包对应的第一路由信息;
判断所述第一数据包对应的第一路由信息是否满足第一预设规则,获取第一判断结果;所述第一预设规则用于表征本端设备能够依据所述第一路由信息将所述第一数据包发送至与所述第一数据包对应的目的端设备;
依据获取到的所述第一判断结果确定是否缓存所述第一数据包。
上述方案中,所述依据获取到的所述第一判断结果确定是否缓存所述第一数据包,包括:
当获取到的所述第一判断结果表征所述第一数据包对应的第一路由信息满足所述第一预设规则时,缓存所述第一数据包,并对所述第一数据包进行数据处理。
上述方案中,所述依据获取到的所述第一判断结果确定是否缓存所述第一数据包,包括:
当获取到的所述第一判断结果表征所述第一数据包对应的第一路由信息不满足所述第一预设规则时,丢弃所述第一数据包。
上述方案中,所述方法还包括:
判断所述本端设备中是否存在与当前存储的至少一个第二数据包中的第二数据包对应的第二路由信息,获取第二判断结果;
当所述第二判断结果表征所述本端设备中不存在与所述当前存储的至少一个第二数据包中的第二数据包对应的第二路由信息时,丢弃所述至少一个第二数据包中的第二数据包。
上述方案中,所述方法还包括:
当所述第二判断结果表征所述本端设备中存在与所述当前存储的至少一个第二数据包中的第二数据包对应的第二路由信息时,判断第二路由信息是否满足第三预设规则,获取第三判断结果;所述第三预设规则用于表征所述本端设备不能够依据第二路由信息将第二数据包发送至与第二数据包对应的目的端设备;
当所述第三判断结果表征第二路由信息满足所述第三预设规则时,丢弃所述至少一个第二数据包中的第二数据包。
上述方案中,所述方法还包括:
依据所述本端设备至至少一个目的端设备之间的路由状态信息,生成路由表;
对应地,所述获取所述第一数据包对应的第一路由信息,包括:
依据所述路由表,获取所述第一数据包对应的第一路由信息。
本发明实施例还公开了一种本端设备,所述本端设备包括:
接收单元,用于接收第一数据包;
获取单元,用于获取所述第一数据包对应的第一路由信息;
第一判断单元,用于判断所述第一数据包对应的第一路由信息是否满足第一预设规则,获取第一判断结果;所述第一预设规则用于表征本端设备能够依据所述第一路由信息将所述第一数据包发送至与所述第一数据包对应的目的端设备;
第一处理单元,用于依据获取到的所述第一判断结果确定是否缓存所述第一数据包。
上述方案中,所述第一处理单元,还用于当获取到的所述第一判断结果表征所述第一数据包对应的第一路由信息满足所述第一预设规则时,缓存所述第一数据包,并对所述第一数据包进行数据处理。
上述方案中,所述第一处理单元,还用于当获取到的所述第一判断结果表征所述第一数据包对应的第一路由信息不满足所述第一预设规则时,丢弃所述第一数据包。
上述方案中,所述本端设备还包括:
第二判断单元,用于判断所述本端设备中是否存在与当前存储的至少一个第二数据包中的第二数据包对应的第二路由信息,获取第二判断结果;
第二处理单元,用于当所述第二判断结果表征所述本端设备中不存在与所述当前存储的至少一个第二数据包中的第二数据包对应的第二路由信息时,丢弃所述至少一个第二数据包中的第二数据包。
上述方案中,所述本端设备还包括:
第三判断单元,用于当所述第二判断结果表征所述本端设备中存在与所述当前存储的至少一个第二数据包中的第二数据包对应的第二路由信息时,判断第二路由信息是否满足第三预设规则,获取第三判断结果;所述第三预设规则用于表征所述本端设备不能够依据第二路由信息将第二数据包发送至与第二数据包对应的目的端设备;
第三处理单元,还用于当所述第三判断结果表征第二路由信息满足所述第三预设规则时,丢弃所述至少一个第二数据包中的第二数据包。
上述方案中,所述本端设备还包括:
数据生成单元,用于依据所述本端设备至至少一个目的端设备之间的路由状态信息,生成路由表;
对应地,所述获取单元,用于依据所述路由表,获取所述第一数据包对应的第一路由信息。
本发明实施例所述的缓存管理方法及本端设备,通过接收第一数据包,获取所述第一数据包对应的第一路由信息,判断所述第一数据包对应的第一路由信息是否满足第一预设规则,获取第一判断结果,进而依据获取到的所述第一判断结果确定是否缓存所述第一数据包,如此,使得本端设备能够有针对性的缓存数据包,进而为避免流量波动奠定了基础。
附图说明
图1为本发明实施例本端线卡的具体结构示意图一;
图2为本发明实施例本端线卡的具体结构示意图二;
图3为本发明实施例缓存管理方法的实现流程示意图;
图4为本发明实施例本端设备基于逻辑功能划分的结构示意图。
具体实施方式
本发明实施例的基本思想是:本端设备,也即本端线卡接收第一数据包;获取所述第一数据包对应的第一路由信息;判断所述第一数据包对应的第一路由信息是否满足第一预设规则,获取第一判断结果;所述第一预设规则用于表征本端设备能够依据所述第一路由信息将所述第一数据包发送至与所述第一数据包对应的目的端设备;依据获取到的所述第一判断结果确定是否缓存所述第一数据包。
在数据包传输过程中,如图1所示,数据包从接口模块进入到本端线卡后,接口模块将所述数据包中错误的数据包丢弃,并将正确的数据包传递给包处理模块进行处理,所述包处理模块根据数据包的目的地址,例如目的MAC地址或者目的IP地址、业务类型、优先级等信息对数据包进行分析处理,确定出数据包所发往的目的端线卡中的交换接入模块,也即目的交换接入模块,以及确定出数据包的流编号,然后将数据包发送至本端线卡中的交换接入模块。所述本端线卡中的交换接入模块根据数据包的目的地址缓存数据,并等待所述目的交换接入模块的调度,当所述目的交换接入模块允许数据包发往自身时,所述本端线卡中的交换接入模块依据获取到的路由信息,将所述数据包通过交换模块发送至所述目的交换接入模块;其中,本端线卡的交换接入模块中存储有自身至至少一个目的端线卡的交换接入模块的路由信息。
进一步地,如图2所示,包处理模块包括入向处理子模块和包处理子模块;交换接入模块包括出向处理子模块;其中,所述入向处理子模块用于接收接口模块发送的数据包;所述包处理子模块用于对数据包进行数据处理,例如,根据所述数据包的目的地址、业务类型、优先级等信息对所述数据包进行分析处理;所述出向处理子模块用于存储本端线至至少一个目的端线卡的交换接入模块的路由信息,即存储有路由表。
以下结合图1和图2所示的本端线卡的具体结构对本发明实施例做进一步详细说明;这里,所附附图仅供参考说明之用,并非用来限定本发明。
实施例一
图3为本发明实施例缓存管理方法的实现流程示意图;所述方法应用于本端设备,具体地,所述本端设备可以为线卡,也即本端线卡;如图3所示,所述方法包括:
步骤301:接收第一数据包;
在一具体实施例中,如图1所示,所述本端线卡中的接口模块接收所述第一数据包,并将所述第一数据包发送至所述本端线卡中的包处理模块。
步骤302:获取所述第一数据包对应的第一路由信息;
在一具体实施例中,所述本端线卡中的包处理模块接收到所述第一数据包后,获取所述第一数据包对应的第一路由信息,这里,所述本端线卡中的包处理模块向本端线卡中的交换接入模块获取所述第一数据包对应的第一路由信息。
为使包处理模块能够获取到所述第一数据包对应的第一路由信息,本发明实施例中,所述方法还包括:依据所述本端设备至至少一个目的端设备之间的路由状态信息,生成路由表;对应地,所述获取所述第一数据包对应的第一路由信息,包括:依据所述路由表,获取所述第一数据包对应的第一路由信息。
在一具体实施例中,所述本端线卡中的交换接入模块依据所述本端线卡至至少一个目的端线卡中的交换接入模块之间的路由状态信息,也即交换网拓扑结构,生成路由表;所述路由表中包含有本端线卡通往各个目的端线卡的路由信息,也即本端线卡中的交换接入模块通往各个目的端线卡的交换接入模块的路由信息。
这里,所述路由状态信息包括可到达状态和不可到达状态,例如,所述本端线卡能够依据路由信息将数据包发送至与数据包对应的目的端线卡的交换接入模块中,此时,路由状态为可到达状态;相反地,所述本端线卡不能够依据路由信息将数据包发送至与数据包对应的目的端线卡的交换接入模块中,此时,路由状态为不可到达状态。
另外,在实际应用中,当目的端设备,例如目的端线卡插拔状态发生变化,或者倒换断链时,所述本端设备即本端线卡能够即时更新所述路由表,也即所述本端线卡中的交换接入模块能够即时更新所述路由表。例如,当加入新的目的端线卡,即加入新的目的端线卡的交换接入模块时,路由表将被更新,此时,本端线卡中的包处理模块能够获取到更新后的路由表,进而依据更新后的路由表判断是否在更新后的路由表中存在有接收到的所述第一数据包的第一路由信息,如此,有针对性的缓存第一数据包,例如,本端线卡中的包处理模块只有在确定出更新后的路由表中存在有所述第一数据包的第一路由信息,且能够依据所述第一路由信息将所述第一数据包发送至与所述第一数据包对应的目的端线卡,也即所述第一路由信息处于可到达状态时,所述本端线卡中的包处理模块才会对所述第一数据包进行缓存处理,因此,有效避免了无路由数据存入本端设备而浪费存储空间的问题,以及避免了由于无路由数据而导致的缓存读出数据带宽降低的问题。
步骤303:判断所述第一数据包对应的第一路由信息是否满足第一预设规则,获取第一判断结果;所述第一预设规则用于表征本端设备能够依据所述第一路由信息将所述第一数据包发送至与所述第一数据包对应的目的端设备;
在一具体实施例中,所述本端线卡中的包处理模块判断所述第一数据包对应的第一路由信息是否满足第一预设规则,具体地,所述本端线卡中的包处理模块判断是否能够依据所述第一路由信息将所述第一数据包发送至与所述第一数据包对应的目的端线卡中,进而依据获取到的第一判断结果确定是否对所述第一数据包进行缓存处理。
在一具体实施例中,当获取到的所述第一判断结果表征本端线卡能够依据所述第一路由信息将所述第一数据包发送至与所述第一数据包对应的目的端线卡中,此时,所述本端线卡中的包处理模块缓存所述第一数据包,并对所述第一数据包进行数据处理;
当获取到的所述第一判断结果表征本端线卡不能够依据所述第一路由信息将所述第一数据包发送至与所述第一数据包对应的目的端线卡中,此时,丢弃所述第一数据包。
步骤304:依据获取到的所述第一判断结果确定是否缓存所述第一数据包。
本实施例中,所述依据获取到的所述第一判断结果确定是否缓存所述第一数据包,包括:
当获取到的所述第一判断结果表征所述第一数据包对应的第一路由信息满足所述第一预设规则时,缓存所述第一数据包,并对所述第一数据包进行数据处理。
本实施例中,所述依据获取到的所述第一判断结果确定是否缓存所述第一数据包,包括:
当获取到的所述第一判断结果表征所述第一数据包对应的第一路由信息不满足所述第一预设规则时,丢弃所述第一数据包。
为进一步确定缓存在本端线卡的包处理模块中的数据包是否存在路由信息,或者即使本端线卡的包处理模块中的数据包存储有与之对应的路由信息时,还需要进一步确定存储的路由信息是否处于可到达状态,如此,以便于有针对性的丢弃没有路由信息的数据包,以及丢弃路由信息处于不可到达状态的数据包,进而释放存储空间,为降低本端线卡的包处理模块的运算量奠定基础,因此,本实施例中,所述方法还包括:
判断所述本端设备中是否存在与当前存储的至少一个第二数据包中的第二数据包对应的第二路由信息,获取第二判断结果;
当所述第二判断结果表征所述本端设备中不存在与所述当前存储的至少一个第二数据包中的第二数据包对应的第二路由信息时,丢弃所述至少一个第二数据包中的第二数据包。
在一具体实施例中,对于已经存入缓存的数据包,如果没有路由信息,则数据包将不会被调度送往交换模块,如果已经存入缓存的数据包长时间保持不被调度,则可以采用老化方式丢弃该长时间保持不被调度的数据包。
在实际应用中,本端线卡的包处理模块对于每一个从缓存中调度出的数据包,均会根据调度出的数据包的目的地址确定是否被丢弃,也即根据调度出的数据包的对应的目的端线卡的交换接入模块的路由信息确定是否被丢弃,若调度出的数据包的对应的目的端线卡的交换接入模块的路由信息处于不可到达状态,则在对所述调度出的数据包进行分析处理之前,以及在发送至本端线卡的交换接入模块之前丢弃该调度出的数据包,如此,节省了本端线卡的缓存空间,释放了缓存读出带宽,同时降低了运算量,提升了本端线卡的性能。
本实施例中,所述方法还包括:
当所述第二判断结果表征所述本端设备中存在与所述当前存储的至少一个第二数据包中的第二数据包对应的第二路由信息时,判断第二路由信息是否满足第三预设规则,获取第三判断结果;所述第三预设规则用于表征所述本端设备不能够依据第二路由信息将第二数据包发送至与第二数据包对应的目的端设备;
当所述第三判断结果表征第二路由信息满足所述第三预设规则时,丢弃所述至少一个第二数据包中的第二数据包。
这里,值得注意的是,所述本端线卡与所述目的端线卡均为线卡,在结构上不存在区别,其中“本端”及“目的端”仅适用于区别数据包的发送方向,因此,本发明实施例所述的本端设备既可以为本端线卡,又可以为目的端线卡。
为实现上述方法,本发明实施例还提供了一种本端设备,具体地,所述本端设备可以为线卡,也即本端线卡;如图4所示,所述本端设备包括:
接收单元41,用于接收第一数据包;
获取单元42,用于获取所述第一数据包对应的第一路由信息;
第一判断单元43,用于判断所述第一数据包对应的第一路由信息是否满足第一预设规则,获取第一判断结果;所述第一预设规则用于表征本端设备能够依据所述第一路由信息将所述第一数据包发送至与所述第一数据包对应的目的端设备;
第一处理单元44,用于依据获取到的所述第一判断结果确定是否缓存所述第一数据包。
本发明实施例中,所述第一处理单元44,还用于当获取到的所述第一判断结果表征所述第一数据包对应的第一路由信息满足所述第一预设规则时,缓存所述第一数据包,并对所述第一数据包进行数据处理。
本发明实施例中,所述第一处理单元44,还用于当获取到的所述第一判断结果表征所述第一数据包对应的第一路由信息不满足所述第一预设规则时,丢弃所述第一数据包。
本发明实施例中,所述本端设备还包括:
第二判断单元45,用于判断所述本端设备中是否存在与当前存储的至少一个第二数据包中的第二数据包对应的第二路由信息,获取第二判断结果;
第二处理单元46,用于当所述第二判断结果表征所述本端设备中不存在与所述当前存储的至少一个第二数据包中的第二数据包对应的第二路由信息时,丢弃所述至少一个第二数据包中的第二数据包。
本发明实施例中,所述本端设备还包括:
第三判断单元47,用于当所述第二判断结果表征所述本端设备中存在与所述当前存储的至少一个第二数据包中的第二数据包对应的第二路由信息时,判断第二路由信息是否满足第三预设规则,获取第三判断结果;所述第三预设规则用于表征所述本端设备不能够依据第二路由信息将第二数据包发送至与第二数据包对应的目的端设备;
第三处理单元48,还用于当所述第三判断结果表征第二路由信息满足所述第三预设规则时,丢弃所述至少一个第二数据包中的第二数据包。
本发明实施例中,所述本端设备还包括:
数据生成单元49,用于依据所述本端设备至至少一个目的端设备之间的路由状态信息,生成路由表;
对应地,所述获取单元42,用于依据所述路由表,获取所述第一数据包对应的第一路由信息。
在实际应用中,所述接收单元41、获取单元42、第一判断单元43、第一处理单元44、第二判断单元45、第二处理单元46、第三判断单元47以及所述第三处理单元48均可以集成于所述本端设备,也即本端线卡的包处理模块中,也就是说,所述收单元41、获取单元42、第一判断单元43、第一处理单元44、第二判断单元45、第二处理单元46、第三判断单元47以及所述第三处理单元48均通过本端线卡中的包处理模块实现;所述数据生成单元49可通过本端线卡中的交换接入模块实现。
本发明实施例所述的缓存管理方法及本端设备,通过接收第一数据包,获取所述第一数据包对应的第一路由信息,判断所述第一数据包对应的第一路由信息是否满足第一预设规则,获取第一判断结果,进而依据获取到的所述第一判断结果确定是否缓存所述第一数据包,如此,使得本端设备能够有针对性的缓存数据包,进而为避免流量波动奠定了基础,有效解决了流量稳定性问题。
本领域技术人员应当理解,本发明实施例的本端设备中各处理单元的功能,可参照前述缓存管理方法的相关描述而理解;而且,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
实施例二
本发明实施例提供了一种基于缓存管理方法的本端线卡,其中,所述本端线卡包括:接口模块、包处理模块以及交换接入模块;其中,所述包处理模块包括入向处理子模块和包处理子模块;所述交换接入模块包括出向处理子模块;所述本端线卡通过所述交换接入模块中的出向处理子模块与交换模块连接。
本实施例中,所述包处理模块,接收第一数据包;获取所述第一数据包对应的第一路由信息;判断所述第一数据包对应的第一路由信息是否满足第一预设规则,获取第一判断结果;所述第一预设规则用于表征本端设备能够依据所述第一路由信息将所述第一数据包发送至与所述第一数据包对应的目的端设备;依据获取到的所述第一判断结果确定是否缓存所述第一数据包;
本实施例中,所述包处理模块,还用于当获取到的所述第一判断结果表征所述第一数据包对应的第一路由信息满足所述第一预设规则时,缓存所述第一数据包,并对所述第一数据包进行数据处理;
还用于当获取到的所述第一判断结果表征所述第一数据包对应的第一路由信息不满足所述第一预设规则时,丢弃所述第一数据包。
本实施例中,所述包处理模块,还用于判断所述本端设备中是否存在与当前存储的至少一个第二数据包中的第二数据包对应的第二路由信息,获取第二判断结果;
当所述第二判断结果表征所述本端设备中不存在与所述当前存储的至少一个第二数据包中的第二数据包对应的第二路由信息时,丢弃所述至少一个第二数据包中的第二数据包。
本实施例中,所述包处理模块,还用于当所述第二判断结果表征所述本端设备中存在与所述当前存储的至少一个第二数据包中的第二数据包对应的第二路由信息时,判断第二路由信息是否满足第三预设规则,获取第三判断结果;所述第三预设规则用于表征所述本端设备不能够依据第二路由信息将第二数据包发送至与第二数据包对应的目的端设备;
还用于当所述第三判断结果表征第二路由信息满足所述第三预设规则时,丢弃所述至少一个第二数据包中的第二数据包。
本实施例中,所述交换接入模块,还用于依据所述本端设备至至少一个目的端设备之间的路由状态信息,生成路由表;
对应地,所述包处理模块,还用于依据所述路由表,获取所述第一数据包对应的第一路由信息。
本实施例中,所述出向处理子模块,用于向交换模块发送数据包,具体的格式可以是包格式或者是包切割成的信元;其中,所述出向处理子模块还用于存储所述交换接入模块的路由表,该路由表由目的交换接入模块作索引,存储的是按照高速串行链路表示的可达性指示,如果某个高速串行链路可达,则相应bit会被置位。进一步地,路由表对应的路由信息随时根据网络拓扑更新,通过收发两端交换控制信息完成;其中,所述两端指的本端线卡与目的端线卡。在拔出某个目的端线卡的交换接入模块后,目的端线卡的交换接入模块到达本端线卡交换接入模块的链路将断开,这样可以根据链路信息更新路由表,将对应bit复位。
当新的目的端线卡的交换接入模块被插入,则目的端线卡的交换接入模块到达本端线卡交换接入模块的链路变为可到达,即路由信息可到达,这样本端线卡的交换接入模块中的出向处理子模块会根据更新的网络结构更新路由表。
进一步地,所述入向处理子模块内部包含一个准入控制子单元,所述准入控制子单元用于分辨数据包对应的路由信息是否可达,所述出向处理子模块的路由表每次发生更新,就会将更新信息发送至所述入向处理子模块,例如,将更新后的路由表发送至入向处理子模块,所述入向处理子模块内部用二级查表方式获得可达信息,进一步地,所述入向处理子模块会根据业务及优先级映射出一个内部队列号,再由内部队列号查表获得与数据包对应的目的交换接入模块的信息,然后再根据目的交换接入模块的信息获得可达信息,也即路由信息。
在目的交换接入模块可到达时,也即数据包对应的路由信息可到达时,该数据包才被允许写入缓存,如果不可到达,则在写入缓存前即被丢弃,不占用宝贵的缓存及带宽资源。由于路由表存储于出向处理子模块,基于路由的缓存管理在入向处理子模块,路由表更新需要一定的时间,在路由表更新的时间里,可能会有部分不可到达的数据包进入缓存,对于这部分数据包,由于没有目的地,即没有路由信息,可采用老化方法丢弃。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明实施例的实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明实施例原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明实施例的保护范围。
Claims (12)
1.一种缓存管理方法,其特征在于,所述方法包括:
接收第一数据包;
获取所述第一数据包对应的第一路由信息;
判断所述第一数据包对应的第一路由信息是否满足第一预设规则,获取第一判断结果;所述第一预设规则用于表征本端设备能够依据所述第一路由信息将所述第一数据包发送至与所述第一数据包对应的目的端设备;
依据获取到的所述第一判断结果确定是否缓存所述第一数据包。
2.根据权利要求1所述的方法,其特征在于,所述依据获取到的所述第一判断结果确定是否缓存所述第一数据包,包括:
当获取到的所述第一判断结果表征所述第一数据包对应的第一路由信息满足所述第一预设规则时,缓存所述第一数据包,并对所述第一数据包进行数据处理。
3.根据权利要求1所述的方法,其特征在于,所述依据获取到的所述第一判断结果确定是否缓存所述第一数据包,包括:
当获取到的所述第一判断结果表征所述第一数据包对应的第一路由信息不满足所述第一预设规则时,丢弃所述第一数据包。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
判断所述本端设备中是否存在与当前存储的至少一个第二数据包中的第二数据包对应的第二路由信息,获取第二判断结果;
当所述第二判断结果表征所述本端设备中不存在与所述当前存储的至少一个第二数据包中的第二数据包对应的第二路由信息时,丢弃所述至少一个第二数据包中的第二数据包。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当所述第二判断结果表征所述本端设备中存在与所述当前存储的至少一个第二数据包中的第二数据包对应的第二路由信息时,判断第二路由信息是否满足第三预设规则,获取第三判断结果;所述第三预设规则用于表征所述本端设备不能够依据第二路由信息将第二数据包发送至与第二数据包对应的目的端设备;
当所述第三判断结果表征第二路由信息满足所述第三预设规则时,丢弃所述至少一个第二数据包中的第二数据包。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
依据所述本端设备至至少一个目的端设备之间的路由状态信息,生成路由表;
对应地,所述获取所述第一数据包对应的第一路由信息,包括:
依据所述路由表,获取所述第一数据包对应的第一路由信息。
7.一种本端设备,其特征在于,所述本端设备包括:
接收单元,用于接收第一数据包;
获取单元,用于获取所述第一数据包对应的第一路由信息;
第一判断单元,用于判断所述第一数据包对应的第一路由信息是否满足第一预设规则,获取第一判断结果;所述第一预设规则用于表征本端设备能够依据所述第一路由信息将所述第一数据包发送至与所述第一数据包对应的目的端设备;
第一处理单元,用于依据获取到的所述第一判断结果确定是否缓存所述第一数据包。
8.根据权利要求7所述的本端设备,其特征在于,所述第一处理单元,还用于当获取到的所述第一判断结果表征所述第一数据包对应的第一路由信息满足所述第一预设规则时,缓存所述第一数据包,并对所述第一数据包进行数据处理。
9.根据权利要求7所述的本端设备,其特征在于,所述第一处理单元,还用于当获取到的所述第一判断结果表征所述第一数据包对应的第一路由信息不满足所述第一预设规则时,丢弃所述第一数据包。
10.根据权利要求7所述的本端设备,其特征在于,所述本端设备还包括:
第二判断单元,用于判断所述本端设备中是否存在与当前存储的至少一个第二数据包中的第二数据包对应的第二路由信息,获取第二判断结果;
第二处理单元,用于当所述第二判断结果表征所述本端设备中不存在与所述当前存储的至少一个第二数据包中的第二数据包对应的第二路由信息时,丢弃所述至少一个第二数据包中的第二数据包。
11.根据权利要求10所述的本端设备,其特征在于,所述本端设备还包括:
第三判断单元,用于当所述第二判断结果表征所述本端设备中存在与所述当前存储的至少一个第二数据包中的第二数据包对应的第二路由信息时,判断第二路由信息是否满足第三预设规则,获取第三判断结果;所述第三预设规则用于表征所述本端设备不能够依据第二路由信息将第二数据包发送至与第二数据包对应的目的端设备;
第三处理单元,还用于当所述第三判断结果表征第二路由信息满足所述第三预设规则时,丢弃所述至少一个第二数据包中的第二数据包。
12.根据权利要求7所述的本端设备,其特征在于,所述本端设备还包括:
数据生成单元,用于依据所述本端设备至至少一个目的端设备之间的路由状态信息,生成路由表;
对应地,所述获取单元,用于依据所述路由表,获取所述第一数据包对应的第一路由信息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510270283.6A CN106302232A (zh) | 2015-05-25 | 2015-05-25 | 一种缓存管理方法及本端设备 |
PCT/CN2015/095019 WO2016188058A1 (zh) | 2015-05-25 | 2015-11-19 | 一种缓存管理方法、本端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510270283.6A CN106302232A (zh) | 2015-05-25 | 2015-05-25 | 一种缓存管理方法及本端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106302232A true CN106302232A (zh) | 2017-01-04 |
Family
ID=57393621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510270283.6A Withdrawn CN106302232A (zh) | 2015-05-25 | 2015-05-25 | 一种缓存管理方法及本端设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106302232A (zh) |
WO (1) | WO2016188058A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101483883A (zh) * | 2008-12-17 | 2009-07-15 | 上海华为技术有限公司 | 一种数据处理方法、装置和通信系统 |
CN102006226A (zh) * | 2010-11-19 | 2011-04-06 | 福建星网锐捷网络有限公司 | 报文缓存管理方法、装置及网络设备 |
CN103780507A (zh) * | 2014-02-17 | 2014-05-07 | 杭州华三通信技术有限公司 | 缓存资源的管理方法及装置 |
CN104394081A (zh) * | 2014-12-05 | 2015-03-04 | 迈普通信技术股份有限公司 | 一种数据处理方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11127184A (ja) * | 1997-10-20 | 1999-05-11 | Oki Electric Ind Co Ltd | ルーティング方法及びルータ |
CN104243323B (zh) * | 2013-06-06 | 2019-07-09 | 中兴通讯股份有限公司 | 交换网多播路由方法及系统 |
CN103312614B (zh) * | 2013-07-02 | 2016-08-24 | 福建星网锐捷网络有限公司 | 一种组播报文处理方法、线卡及通信设备 |
CN103856407B (zh) * | 2014-03-25 | 2016-09-07 | 重庆邮电大学 | 一种基于NetFPGA可编程虚拟路由器的数据包加速转发方法及装置 |
CN104092632B (zh) * | 2014-07-14 | 2017-11-14 | 新华三技术有限公司 | 一种网络设备 |
-
2015
- 2015-05-25 CN CN201510270283.6A patent/CN106302232A/zh not_active Withdrawn
- 2015-11-19 WO PCT/CN2015/095019 patent/WO2016188058A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101483883A (zh) * | 2008-12-17 | 2009-07-15 | 上海华为技术有限公司 | 一种数据处理方法、装置和通信系统 |
CN102006226A (zh) * | 2010-11-19 | 2011-04-06 | 福建星网锐捷网络有限公司 | 报文缓存管理方法、装置及网络设备 |
CN103780507A (zh) * | 2014-02-17 | 2014-05-07 | 杭州华三通信技术有限公司 | 缓存资源的管理方法及装置 |
CN104394081A (zh) * | 2014-12-05 | 2015-03-04 | 迈普通信技术股份有限公司 | 一种数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2016188058A1 (zh) | 2016-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230239368A1 (en) | Accelerated network packet processing | |
CN108462646B (zh) | 一种报文处理方法及装置 | |
US11924099B2 (en) | Method for forwarding packet in hybrid network, device, and system | |
US8130754B2 (en) | On-chip and chip-to-chip routing using a processor element/router combination | |
US9485200B2 (en) | Network switch with external buffering via looparound path | |
US10097467B1 (en) | Load balancing for multipath groups routed flows by re-associating routes to multipath groups | |
CN105308920B (zh) | 多播流重排序方案 | |
CN109005170A (zh) | 一种RapidIO协议到FC协议的转换方法 | |
US9992094B1 (en) | Adaptive forwarding tables | |
CN106612236A (zh) | 众核网络处理器及其微引擎的报文调度方法、系统 | |
US11126249B1 (en) | Power reduction methods for variable sized tables | |
CN106027397B (zh) | 一种星型拓展的分布式测量设备网络通信方法 | |
US20100040060A1 (en) | Fast emulation of mac table flushing for elan unicasts | |
US8565234B1 (en) | Multicast queueing in a switch | |
CN105407045A (zh) | 基于安全隔离的路由器虚拟化方法 | |
US8325735B2 (en) | Multi-link load balancing for reverse link backhaul transmission | |
WO2012051862A1 (zh) | 一种路由选择出口的方法和装置 | |
CN105282036A (zh) | 一种路由节点、路由交换方法及系统 | |
US12028263B2 (en) | Telemetry and buffer-capacity based circuits for load-balanced fine-grained adaptive routing in high-performance system interconnect | |
CN103916321B (zh) | 定义软件定义网络的网络元件的查找表实现的方法和设备 | |
CN106302232A (zh) | 一种缓存管理方法及本端设备 | |
US20100138554A1 (en) | Interfacing with streams of differing speeds | |
CN109547352A (zh) | 报文缓存队列的动态分配方法和装置 | |
CN108023828A (zh) | 一种共享动态缓冲的MPNoC路由器 | |
Lin et al. | Power and latency efficient mechanism: a seamless bridge between buffered and bufferless routing in on-chip network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20170104 |
|
WW01 | Invention patent application withdrawn after publication |