一种报文缓存方法及路由器的制作方法

文档序号:7854350阅读:227来源:国知局
专利名称:一种报文缓存方法及路由器的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种报文缓存方法及路由器。
背景技术
Internet应用正在渗透到社会的各个方面,对社交、经济发生了巨大的影响,一个基于Internet的社会正在到来。Internet上的内容也逐渐从文本、图片,发展到了语音、视频等。内容的丰富促进了流量的增长。同时,宽带接入技术也在不断进步,每个用户的带宽从原来的64kbps,已经通过DSL(digital subscriber line,数字用户线路)技术增长到Mbps级,而光接入,如基于PON(passive optical network,无源光纤网络)技术的FTTH (fiber to the home,光纤入户)技术,将来可以进一步将接入速度提高到Gbps级。Internet网络中,IP是基本的业务承载协议,实现IP报文转发的路由器作为Internet业务转发的核心设备。随着流量的增长,路由器容量需求也越来越大。发明人发现,传统路由器线卡的包缓存buffer是大容量路由器设计的瓶颈之一;一般当前路由器要支持大量的缓存,该缓存的大小与端到端的RTT (round-trip time,往返延时)有关,通常要求达到百毫秒级,比如200ms;由于缓存芯片的带宽较小,要实现大容量,需要采用大量存储memory芯片并行,来提高带宽,这样需要TM(流量管理)芯片出大量的管脚,这也成为芯片尺寸的重要限制。此外,大量的缓存芯片占用了线卡的大量面积,限制了线卡集成度的提升。

发明内容
本发明的实施例提供一种报文缓存方法及路由器,能够减少线卡上的包缓存,进而提高线卡集成度。为达到上述目的,本发明的实施例采用如下技术方案一方面,本发明实施例提供一种路由器,包括输入线卡、输出线卡和与所述输入线卡和输出线卡连接的交换框,其特征在于,所述路由器还包括缓存模块,所述缓存模块与所述交换框的交换模块连接;所述缓存模块用于缓存所述输入线卡经由所述交换框的交换模块转发至所述缓存模块的队列报文。再一方面,本发明实施例提供一种报文缓存方法,包括将通过输入线卡接收到的队列报文发送至交换框;通过所述交换框的交换模块将所述队列报文发送至缓存模块进行缓存。本发明实施例提供提供的报文缓存方法及路由器,能够在路由器输入线卡的包缓存中的队列报文存满之后将该队列报文缓存至路由器提供的缓存模块中,能够减少线卡上的包缓存,进而提高线卡集成度。



为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I为本发明实施例提供的一种路由器结构示意图;图2为本发明另一实施例提供的一种路由器结构不意图;图3为本发明实施例提供的一种集群路由器结构示意图;
图4为本发明实施例提供的一种缓存模块结构示意图;图5为本发明实施例提供的一种报文缓存方法流程示意图;图6为本发明另一实施例提供的一种报文缓存方法流程示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提供的路由器,如图I所示,包括输入线卡11、输出线卡41和与输入线卡11和输出线卡41连接的交换框31,该路由器I还包括缓存模块21,缓存模块21与交换框31连接;缓存模块21用于缓存输入线卡11经由交换框31的交换模块转发至缓存模块21的队列报文。如图I所示,示例性的,路由器I提供的输入线卡11还包括网络处理单元111、第二流量管理单元113、交换接口芯片114,当然输入线卡11还包括其他的结构如接口单元、介质访问控制单元等但由于不涉及本发明的发明点在此不再提及,同样的,输出线卡41还包括网络处理单元411、包缓存412、流量管理单元413和交换接口芯片414。这里输入线卡和输入线卡是以线卡的即时功能(即对于同一列队列报文,在某一时刻一个线卡只负责对该队列报文的输入或者输出)进行命名的,在实际应用中线卡通常是同时具备数据的输入和输出功能的。当然,这里交换框31可以包括缓存模块21,缓存模块21可以直接集成在交换框31所在的单板(即交换芯片)上与交换框31的交换模块311进行报文的交互,亦可将缓存模块21采用单独的专用单板实现并通过插在专用的槽位上实现与交换框31所在的单板的连接,并与交换框31的交换模块311进行报文交互。本发明实施例提供的路由器能够在路由器输入线卡的包缓存中的队列报文缓存至路由器提供的缓存模块中,以此减少线卡上的包缓存,进而提高线卡集成度。进一步的,如图2所示,为本发明另一实施例提供的路由器1,其中缓存模块21还包括输出交换接口芯片单元214、输入交换接口芯片单元213、第一流量管理单元211和缓存单元212 ;输出交换接口芯片单元214、输入交换接口芯片单元213和缓存单元212分别与第一流量管理单元212连接;其中,输入交换接口芯片单元213用于接收输入线卡11经由交换框31的交换模块311转发的队列报文,并将该队列报文发送至第一流量管理单元211 ;第一流量管理单元211用于接收输入交换接口芯片单元213发送的队列报文,并将该队列报文的目的地修改为输出线卡41后发送至缓存单元212进行缓存;输出交换接口芯片单元214用于通过第一流量管理单元211将缓存单元212缓存的队列报文发送至交换模块311,以便交换模块311将该队列报文发送至输出线卡41。进一步,可选的,如图2所示,输入线卡11还包括第二流量管理单元113,用于检测进入输入线卡11的包缓存112的队列报文,当包缓存112中的队列报文到达预设的第一水线时,将进入输入线卡11的包缓存112的队列报文和包缓存112中存储的队列报文的目的地修改为缓存模块21的缓存单元212。再进一步,可选的,第二流量管理单元113,还用于在包缓存112中的队列报文下 降到预设的第三水线并且缓存单元212中的队列报文下降到预设的第二水线时,将进入输入线卡11包缓存112的队列报文及包缓存112中存储的队列报文的目的地修改为输出线卡41,以便在缓存单元212中的队列报文清零时,输入线卡11将该队列报文转发至输出线卡41。需要说明的是,该过程中为第一流量管理单元211对缓存单元212中的队列报文进行检测,并且在检测到缓存单元212中的队列报文下降到预设的第二水线时通知第二流量管理单元113,当然这里在整个路由器构架中缓存模块是与各个线卡(包括输入线卡和输出线卡)通过交换框的交换模块互联的,因此缓存模块和各个线卡可以通过交换框的交换模块在缓存模块和各个线卡之间建立的信道实现各自的流量管理单元对队列报文流量检测结果的交互,此外以上实施例中提到的队列报文均是基于路由器中的同一列队列报文进行说明的。可选的,结合图2,这里提供一种具体方案,输入线卡11的第二流量管理单元113为进入输入线卡11的队列报文设置第一级地址标签并将带有第一级目的标签的队列报文存入输入线卡11的包缓存112,这里第一级目的标签所代表的目的地即输出线卡41,此时队列报文通过交换框31的交换模块311进入第一级目的标签指示的输出线卡41,在输入线卡11的第二流量管理单元113检测到包缓存112当中的队列报文达到预设的第一水线时,第二流量管理单元113为进入输入线卡11的队列报文设置第二级目的标签,并将包缓存112中存储的队列报文相应的也设置为第二级目的标签,这里第二级目的标签所代表的目的地即缓存模块21,此时队列报文根据第二级目的标签通过交换框31的交换模块311进入缓存模块21的输入交换接口芯片单元213,然后通过第一流量管理单元211存储至缓存模块21的缓存单元212,该过程中缓存模块21的第一流量管理单元211将带有第二级目的标签的队列报文设置为第一级目的标签(这里具体操作为直接将第二级目的标签剥离,队列报文上只剩下第一级目的标签)并存储于缓存单元212,此后缓存单元212中带有第一级目的标签的队列报文经过第一流量管理单元211和缓存模块21的输出交换接口芯片单元214进入交换框31的交换模块311,然后被交换至输出线卡41 ;当输入线卡11的第二流量管理单元113检测到包缓存112中的队列报文下降到预设的第三水线并且缓存模块21的第一流量管理单元211检测到缓存单元212中的队列报文下降到预设的第二水线时,将进入输入线卡11包缓存112的队列报文及包缓存112中存储的队列报文设置为第一级目的标签,此时缓存模块21中的队列报文数量下降为零后,输入线卡模块11中的队列报文便直接经由交换框31从包缓存112进入输出线卡模块41。这里在上述的实施例中,针对队列报文的目的地修改方式为采用设置一级或二级目的标签的方式,当然该过程也可以通过其他方式实现,只要是本领域的技术人员根据本方法变化或替换揭露技术方案,都应涵盖在本发明的保护范围之内;此外上述的缓存单元212为缓存卡或其他形式的存储器。根据现有技术,以上第一级目的标签和第二级目的标签所指示的目的地是在整个路由器系统中统一进行编码的,因此带有目的标签的队列报文的目的地是可以被路由器中各个节点所识别的。当然参照图3所示,本发明实施例提供的路由 器可以为集群路由器,包括线卡框21和交换框22,线卡框21包括至少两个线卡211和对应线卡数量的交换模块212,每个线卡211分别与所有的交换模块212相连;其中一个线卡211用作输入线卡时另一个线卡模块211用作输出线卡;交换框22包含对应线卡211数量的交换模块221,线卡框22中的任一交换模块221分别与交换框中的所有交换模块212连接;该集群路由器2还包括集中缓存框23 ;集中缓存框23中包括至少一个缓存模块232、至少一个与缓存模块232相连的交换模块231,交换模块231分别与交换框22中的所有交换模块221相连。当然缓存模块232包括输出交换接口芯片单元2334、输入交换接口芯片单元2331、第一流量管理器单元2332和缓存单元2333,缓存模块232的第一流量管理单元2332通过输出交换接口芯片单元2334和输入交换接口芯片单元2331与集中缓存框2中的交换模块231的相连;第一流量管理单元2332和缓存单元2333相连。当然本发明实施例提供的集群路由器的工作原理与本发明上述的实施例提供的路由器的工作原理是相同的因此不再赘述。本发明实施例提供一种报文缓存方法,如图5所示,包括以下步骤S101、将通过输入线卡接收到的队列报文发送至交换框。S102、通过交换框的交换模块将队列报文发送至缓存模块进行缓存。本发明实施例提供的集中缓存方法,能够在将输入路由器输入线卡的包缓存中的队列报文缓存至路由器提供的缓存模块中,以此减少线卡上的包缓存,进而提高线卡集成度。进一步,可选的,参照图6所示,本发明另一实施例提供的一种集中缓存方法,包括如下步骤S201、检测进入输入线卡的包缓存的队列报文。S202、当包缓存中的队列报文到达预设的第一水线时,将进入输入线卡的包缓存的队列报文和包缓存中存储的队列报文的目的地修改为缓存模块,并发送至交换框。S203、通过交换框的交换模块将队列报文发送至交换模块的输入交换接口芯片单
J Li οS204、通过输入交换接口芯片单元将接收到的队列报文发送至第一流量管理单
J Li οS205、通过第一流量管理单元将队列报文的目的地修改为输出线卡,并将队列报
文发送至缓存单元进行缓存。本发明实施例提供的集中缓存方法,能够在输入路由器输入线卡的包缓存中的队列报文数量到达预设的水线时将该队列报文缓存至路由器提供的缓存模块中,以此减少线卡上的包缓存,进而提高线卡集成度。进一步的,参照图6所示该方法还包括S206、通过第一流量管理单元检测进入缓存单元的队列报文。S207、通过第二流量管理单元检测进入输入线卡的包缓存的队列报文。S208、当包缓存中的队列报文下降到预设的第二水线并当缓存单元中的队列报文下降到预设的第三水线时,将进入输入线卡的包缓存的队列报文及包缓存中存储的队列报文的目的地修改为输出线卡,以便在缓存单元中的 队列报文清零时,输入线卡将队列报文转发至输出线卡。这样当线卡包缓存的队列报文数量数量恢复正常水平,且缓存模块中的队列报文清零后,队列报文恢复原有的调度方式即直接被转发至输出线卡,从而避免对队列报文转发效率的影响。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
权利要求
1.一种路由器,包括输入线卡、输出线卡和与所述输入线卡和输出线卡连接的交换框,其特征在于,所述路由器还包括缓存模块,所述缓存模块与所述交换框的交换模块连接; 所述缓存模块用于缓存所述输入线卡经由所述交换框的交换模块转发至所述缓存模块的队列报文。
2.根据权利要求I所述的路由器,其特征在于,所述缓存模块还包括输出交换接口芯片单元、输入交换接口芯片单元、第一流量管理单元和缓存单元;所述输出交换接口芯片单元、输入交换接口芯片单元和所述缓存单元分别与所述第一流量管理单元连接; 其中,所述输入交换接口芯片单元用于接收所述输入线卡经由所述交换框的交换模块转发的所述队列报文,并将所述队列报文发送至所述第一流量管理单元; 所述第一流量管理单元用于接收所述输入交换接口芯片单元发送的所述队列报文,并将所述队列报文的目的地修改为输出线卡后发送至所述缓存单元进行缓存; 所述输出交换接口芯片单元用于通过所述第一流量管理单元将所述缓存单元缓存的所述队列报文发送至所述交换模块,以便所述交换模块将所述队列报文发送至所述输出线卡。
3.根据权利要求I或2所述的路由器,其特征在于,所述输入线卡还包括第二流量管理单元,用于检测输入所述输入线卡的包缓存的队列报文,当所述包缓存中的所述队列报文到达预设的第一水线时,将进入所述输入线卡的包缓存的所述队列报文和所述包缓存中存储的所述队列报文的目的地修改为所述缓存模块。
4.根据权利要求3所述的路由器,其特征在于,所述第二流量管理单元,还用于在所述包缓存中的所述队列报文下降到预设的第三水线并且所述缓存单元中的所述队列报文下降到预设的第二水线时,将进入所述输入线卡包缓存的所述队列报文及所述包缓存中存储的所述队列报文的目的地修改为所述输出线卡,以便在所述缓存单元中的队列报文清零时,所述输入线卡将所述队列报文转发至所述输出线卡。
5.根据权利要求I 4所述的任一路由器,其特征在于,所述交换框包括所述缓存模块。
6.—种报文缓存方法,其特征在于,包括 将通过输入线卡接收到的队列报文发送至交换框; 通过所述交换框的交换模块将所述队列报文发送至缓存模块进行缓存。
7.根据权利要求6所述的方法,其特征在于,所述将输入线卡接收到的队列报文发送至交换框包括 检测进入所述输入线卡的包缓存的队列报文; 当所述包缓存中的所述队列报文到达预设的第一水线时,将进入所述输入线卡的包缓存的所述队列报文和所述包缓存中存储的所述队列报文的目的地修改为缓存模块,并发送至交换框。
8.根据权利要求6或7所述的方法,其特征在于,所述通过所述交换框的交换模块将所述队列报文发送至缓存模块进行缓存包括 通过所述交换框的交换模块将所述队列报文发送至所述缓存模块的输入交换接口芯片单元; 通过所述输入交换接口芯片单元将接收到的所述队列报文发送至所述缓存模块的第一流量管理单元; 通过所述第一流量管理单元将所述队列报文的目的地修改为输出线卡,并将所述队列报文发送至所述缓存模块的缓存单元进行缓存。
9.根据权利要求8所述的方法,其特征在于,所述通过所述第一流量管理单元将所述队列报文的目的地修改为输出线卡,并将所述队列报文发送至所述缓存模块的缓存单元进行缓存后还包括 通过所述第一流量管理单元检测进入所述缓存单元的所述队列报文; 通过所述第二流量管理单元检测进入所述输入线卡的包缓存的所述队列报文; 当所述包缓存中的所述队列报文下降到预设的第二水线并当所述缓存单元中的所述队列报文下降到预设的第三水线时,将进入所述输入线卡的包缓存的所述队列报文及所述包缓存中存储的所述队列报文的目的地修改为所述输出线卡,以便在所述缓存单元中的所 述队列报文清零时,所述输入线卡将所述队列报文转发至所述输出线卡。
全文摘要
本发明实施例提供一种报文缓存方法及路由器,涉及通讯领域,能够减少线卡上的包缓存的数量,从而提高线卡集成度。该路由器包括输入线卡、输出线卡和与所述输入线卡和输出线卡连接的交换框,所述路由器还包括缓存模块,所述缓存模块与所述交换框的交换模块连接;所述缓存模块用于缓存所述输入线卡经由所述交换框的交换模块转发至所述缓存模块的队列报文。本发明实施例应用于路由器制造。
文档编号H04L12/56GK102739536SQ20121021336
公开日2012年10月17日 申请日期2012年6月26日 优先权日2012年6月26日
发明者何健飞 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1