CN101299721B - 交换网报文交换方法和交换装置 - Google Patents

交换网报文交换方法和交换装置 Download PDF

Info

Publication number
CN101299721B
CN101299721B CN2008101152631A CN200810115263A CN101299721B CN 101299721 B CN101299721 B CN 101299721B CN 2008101152631 A CN2008101152631 A CN 2008101152631A CN 200810115263 A CN200810115263 A CN 200810115263A CN 101299721 B CN101299721 B CN 101299721B
Authority
CN
China
Prior art keywords
ply
yarn drill
message
route
formation
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
CN2008101152631A
Other languages
English (en)
Other versions
CN101299721A (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.)
Beijing Ziguang Communication Technology Group Co ltd
Original Assignee
Hangzhou H3C 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN2008101152631A priority Critical patent/CN101299721B/zh
Publication of CN101299721A publication Critical patent/CN101299721A/zh
Application granted granted Critical
Publication of CN101299721B publication Critical patent/CN101299721B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种交换网报文交换方法,包括:为交换装置中的每个端口配置独立的输出缓存;根据可插接的线卡类型,分别将每个端口的输出缓存划分为对应于各类线卡的相互独立的输出缓存队列;交换装置将源线卡和目的线卡的线卡类型相同的报文,交换至目的线卡所插接端口的与目的线卡类型对应的输出缓存队列。本发明还公开了一种交换装置、一种路由线卡和一种以太线卡。使用本发明能够在一个交换设备上实现至少2个交换平面。

Description

交换网报文交换方法和交换装置
技术领域
本发明涉及交换网技术,具体涉及一种应用于交换网的报文交换方法、一种交换装置、一种路由线卡和一种以太线卡。 
背景技术
为了扩充端口密度,目前诸如路由器和交换机的交换设备通常采用模块化系统结构。模块化系统结构包括交换网背板和插接在该交换网背板上的多个线卡。多个线卡通过交换网背板提供的交换网进行报文交换。可见,交换网是完成线卡间报文交换的核心部分。 
模块化以太网交换机的交换网称为以太交换平面。以太交换平面是以交换效率为先的交换平面,允许有丢包,从而避免拥塞和影响后续流量。图1为模块化以太网交换机的结构示意图。如图1所示,该以太网交换机包括以太网包交换芯片11和多个以太线卡12。图1中示出了m个以太线卡,m为大于1的整数。目前以太线卡12主要采用硬件实现,包括物理(PHY)层121和介质访问控制(MAC)层122。PHY层121直接与以太网包交换芯片11连接,MAC122完成以太线卡中IP报文和交换网中交换网协议报文的数据格式转换,然后将转换后的报文通过PHY层121发往以太网包交换芯片11。以太网包交换芯片11为交换装置,提供以太交换平面,该以太网包交换芯片11包括可作为入端口和/或出端口的多个端口,每个端口与一个以太线卡12相连;以太网包交换芯片11将接收自入端口的报文交换至出端口的输出缓存。当多个端口同时向一个端口发送流量时,由于包交换芯片的缓存有限,无法进入输出缓存的后续报文被丢弃。 
模块化路由器的交换网,称为路由交换平面。为了保证服务质量(QoS, Quality of Service),要求路由交换平面中不能丢包,丢包只能发生在交换网之外。路由器可以采用专门的路由交换芯片实现不丢包的报文交换,但是这种路由交换芯片造价较高。目前,出现了一种采用低成本以太网包交换芯片作为交换核心的模块化路由器。图2为采用以太网包交换芯片实现的模块化路由器结构示意图。如图2所示,该路由器包括以太网包交换芯片21和多个路由线卡22。其中,以太网包交换芯片21是模块化路由器的交换装置,其交换原理与图1中的以太网包交换芯片11相同。路由线卡22与以太线卡12的功能基本相同,但采用软件实现,具体包括交换接入单元(FAU,FabricAccess Unit)221和包处理器(PP,Packet Process)222。其中,由于PP222不能直接与以太网包交换芯片21的端口相连,因此由FAU221负责以太网包交换芯片21的端口和路由线卡22之间的适配连接,完成路由线卡中IP报文和交换网中交换网协议报文的数据格式转换。此外,路由交换网中不允许丢包,因此FAU221还包括分布式调度器223,各FAU221上的分布式调度器223交换调度信息(调度信息如图2中虚线所示),每个分布式调度器223控制所在路由线卡22向以太网包交换芯片21的发送流量,从而实现进入以太网包交换芯片21的同一目的线卡的流量小于或等于以太网包交换芯片21向该目的线卡输出的流量,这样,当多个端口同时向一个端口发送流量时,以太网包交换芯片21中也不会出现拥塞,保证以太网包交换芯片21交换不丢包。可见,由于分布式调度器223的加入,使得所有分布式调度器223构成了叠加在以太交换平面上的调度平面,叠加调度平面后的以太网交换平面,形成了无丢包的路由交换平面。 
目前,网络设备演进的一种趋势是路由交换和以太交换一体化,这需要在同一设备上同时实现以太交换平面和路由交换平面,使得交换设备可以同时提供以交换效率为先的以太网交换以及以服务质量为先的路由交换。 
但是,前述交换机和路由器只能在一个交换设备上实现一种交换平面: 
图1示出的交换机由于不能通过流控保证交换网不丢包,因此只能实现以太网交换平面,不能实现路由交换平面。 
图2示出的路由器通过在以太网交换平面上叠加调度平面从而实现路由交换平面。如果希望在路由交换平面上进一步实现以太交换平面,一种简单的实现方式是在路由器的以太网包交换芯片21上直接接入图1示出的以太线卡。由于现有的以太网包交换芯片中各端口可以共享输出缓存,因此以太交换平面和路由交换平面共享交换网输出缓存。当无调度的大量以太报文进入交换网后,可能导致交换网输出缓存溢出,输出缓存溢出会影响路由交换,导致路由交换丢包。 
例如,多个以太线卡同时向一个以太线卡发送流量时,目的以太线卡所插接端口的输出缓存会因同时接到大量以太报文而溢出,此时以太报文将挤占其他端口的输出缓存,当路由交换平面的输出缓存被大量占用时,无法为路由线卡提供足够空间缓存路由报文,导致丢包。 
再例如,如图3示出的以太报文影响路由交换平面的示意图,如果以太线卡LC2和路由线卡LC1同时向另一个路由线卡LC0发送流量,假设LC1和LC2分别以1G和10G流量通过以太网包交换芯片的端口1向LC0发送报文,来自LC1的流量用单箭头实线表示,来自LC2的流量用单箭头虚线表示。来自LC2的以太报文不受调度,会占用端口1的大量出口带宽,假设占用9G出口带宽,那么实际留给路由交换平面的出口带宽只剩1G,而路由交换平面还是按照10G出口带宽进行调度,允许LC1有10G流量进入端口1的输出缓存。那么,该端口1会同时接收到9G+10G的流量,而出口带宽只有10G,此时出现拥塞,导致端口1的输出缓存因溢出而丢包。此时,由于端口1的输出缓存不够,还有可能占用其他端口输出缓存。 
可见,在现有技术中,以太交换平面和路由交换平面之间并不是相互独立的,因此以太交换平面中不受控数据流会导致路由交换平面调度不准确,导致路由交换平面丢包。可以说,有丢包的路由交换平面并不能真正称之为路由交换平面。因此这种直接接入以太线卡且不做任何处理的方式,还没有真正实现一个交换设备同时具有2个交换平面:路由交换平面和以太网交换平面。 
发明内容
有鉴于此,本发明提供了一种交换网报文交换方法,能够在一个交换设备上实现2个交换平面。 
该方法包括:为交换装置中的每个端口配置独立的输出缓存;根据可插接的线卡类型,分别从每个端口的输出缓存中为每类线卡划分出独立的输出缓存队列; 
交换装置将源线卡和目的线卡的线卡类型相同的报文,交换至目的线卡所插接端口的与目的线卡类型对应的输出缓存队列; 
交换装置对于源线卡和目的线卡类型不同的报文的处理,具体为: 
如果报文的源线卡和目的线卡之一为不允许丢包的线卡类型,则将源线卡和目的线卡中允许丢包的线卡类型确定为选定线卡类型,将所述报文交换至目的线卡所插接端口中与所述选定线卡类型对应的输出缓存队列中; 
如果源线卡和目的线卡均为允许丢包的线卡,则按照预设规则,将该报文交换至目的线卡所插接端口中与源线卡或目的线卡类型对应的输出缓存队列中;所述预设规则为:交换至源线卡对应的输出缓存队列,或交换至目的线卡对应的输出缓存队列; 
对于每个端口,先发送不允许丢包的线卡类型对应的输出缓存队列中的报文,待发送完毕,再调度发送其他输出缓存队列中的报文。 
本发明还提供了一种交换装置,能够同时实现2个交换平面。 
该装置包括包交换单元和多个端口单元; 
所述每个端口单元包括独立的输出缓存,该输出缓存包括相互独立的至少2个输出缓存队列,每个输出缓存队列与所在交换装置可插接的一类线卡对应; 
所述包交换单元,用于将源线卡和目的线卡的线卡类型相同的报文,交换至目的线卡所插接端口单元中与目的线卡类型对应的输出缓存队列; 
所述包交换单元进一步用于,如果报文的源线卡和目的线卡的线卡类型不同,且源线卡和目的线卡之一为不允许丢包的线卡类型,则将源线卡和目的线 卡中允许丢包的线卡类型确定为选定线卡类型,将所述报文交换至目的线卡所插接端口单元中与所述选定线卡类型对应的输出缓存队列中; 
如果报文的源线卡和目的线卡的线卡类型不同,且源线卡和目的线卡均为允许丢包的线卡,则按照预设规则,将该报文交换至目的线卡所插接端口中与源线卡或目的线卡类型对应的输出缓存队列中;所述预设规则为:交换至源线卡对应的输出缓存队列,或交换至目的线卡对应的输出缓存队列; 
所述端口单元进一步包括输出调度模块,用于控制优先发送不允许丢包的线卡类型对应的输出缓存队列中的报文,待发送完毕,再调度发送其他输出缓存队列中的报文。 
本发明实施例通过对交换装置中各端口输出缓存的划分,令每个端口之间不共享缓存,避免端口之间对输出缓存的相互挤占;同时根据可插接的线卡类型,从每个端口的输出缓存中为每类线卡划分出独立的输出缓存队列,例如在插接路由线卡和路由线卡时,划分出路由输出缓存队列和以太输出缓存,同类线卡之间交换的报文只能占用相应端口中与线卡类型对应的输出缓存队列,避免了通过同一端口输出的不同类型报文之间对输出缓存的相互挤占。由于缓存隔离,交换平面间不会相互影响。当实现路由交换平面和以太交换平面时,路由交换平面不会受到以太交换平面中不受控报文的影响,因此路由交换平面不会出现丢包,从真正意义上实现了同一交换设备中的以太交换平面和路由交换平面。 
附图说明
图1为现有技术中模块化以太网交换机的结构示意图。 
图2为现有技术采用包交换芯片实现的模块化路由器结构示意图。 
图3为以太报文影响路由交换平面的示意图。 
图4为本发明实施例一路由线卡发送报文到路由线卡和以太线卡过程。 
图5为本发明实施例一LC0向包交换芯片发送报文的处理流程图。 
图6为本发明实施例一包交换芯片的处理流程图。 
图7为本发明实施例二以太线卡发送报文到路由线卡和以太线卡过程。 
图8为本发明实施例二LC3向包交换芯片发送报文的处理流程图。 
图9为本发明实施例二包交换芯片的处理流程。 
图10为本发明实施例中交换网报文交换系统的结构示意图。 
图11为图10中包交换芯片31的结构示意图。 
图12为图11中包交换单元311的结构示意图。 
图13为图10中路由线卡32的结构示意图。 
图14为图10中以太线卡33的结构示意图。 
具体实施方式
本发明实施例提供了一种交换网报文交换方案,其基本思想为:为交换装置中的每个端口配置独立的输出缓存;根据交换装置可插接的线卡类型,分别将每个端口的输出缓存划分为对应于各类线卡的相互独立的输出缓存队列;所述独立的含义为资源互不共享;交换装置将源线卡和目的线卡的线卡类型相同的报文,交换至目的线卡所插接端口的与目的线卡类型对应的输出缓存队列。 
以交换装置可插接的线卡类型为路由线卡和以太线卡为例,本发明实施例的交换网报文交换方案在为交换装置中的每个端口配置独立的输出缓存后,分别将每个端口的输出缓存划分为路由输出缓存队列和以太输出缓存队列;将源线卡和目的线卡均为路由线卡的报文交换至目的线卡所插接端口的路由输出缓存队列,将源线卡和目的线卡均为以太线卡的报文交换至目的线卡所插接端口的以太输出缓存队列。其中,源线卡和目的线卡均为路由线卡的报文包括路由数据报文,还包括调度信息报文。 
可见,本发明实施例通过对各端口输出缓存的划分,令每个端口之间不共享缓存,避免端口之间对输出缓存的相互挤占;同时每个输出缓存划分为相互独立的以太输出缓存队列和路由输出缓存队列,以太线卡之间交换的报 文只能占用相应端口的以太输出缓存队列,路由线卡之间交换的报文只能占用相应端口的路由输出缓存队列,避免了通过同一端口输出的不同类型报文之间对输出缓存的相互挤占,那么不仅实现了在同一交换设备中划分出两个交换平面,而且由于缓存隔离,路由交换平面不会受到以太交换平面中不受控报文的影响,因此路由交换平面不会出现丢包,从真正意义上实现了同一交换设备中的以太交换平面和路由交换平面。 
为了实现两个交换平面的互通,该方法进一步包括:交换装置将源线卡为路由线卡但目的线卡为以太线卡的报文,交换至目的线卡所插接端口的以太输出缓存队列;和/或,将源线卡为以太线卡但目的线卡为路由线卡的报文,交换至目的线卡所插接端口的以太输出缓存队列。此时,路由线卡所插接的端口可能会出现以太输出缓存队列和路由输出缓存队列均有报文的情况,为了保证路由交换平面不丢包,对于每个端口,交换装置先发送路由输出缓存队列中的报文,待发送完毕,再发送以太输出缓存队列中的报文,从而保证路由输出缓存队列中有足够的缓存空间提供给后续报文。 
可见,交换装置将源以太线卡的报文通过以太输出缓存队列输出到目的路由线卡,将源路由线卡的报文通过以太输出缓存队列输出到目的以太线卡,实现了路由交换平面和以太网交换平面的互通。 
此外,由于路由交换平面有流控调度,因此路由输出缓存队列中的数据包数量是受到流控调度的,基本不会产生拥塞。即使发向同一个路由线卡的以太报文过多,也只会影响该路由线卡所插接端口的以太输出缓存队列溢出,而不会影响到路由输出缓存队列,因此以太交换平面上的拥塞不会扩散到路由交换平面,从而保证路由交换平面不丢包。 
以下分2个实施例对以下情况进行描述:路由线卡发送报文到路由线卡,以太线卡发送报文到以太线卡,路由线卡发送报文到以太线卡,以及以太线卡发送报文到路由线卡。在现有技术中交换装置多由以太网包交换芯片实现,本发明实施例亦可如此,以下将采用以太网包交换芯片作为交换装置,并简称为包交换芯片。 
实施例一 
本实施例中,对图4示出的路由线卡发送报文到路由线卡、路由线卡发送报文到以太线卡的过程进行描述。图4中的LC0和LC1都是路由线卡,LC2是以太线卡。 
第一,交换前,对包交换芯片中的内部缓存按如下规则进行分配。 
1)输出方向缓存分配: 
a1、将包交换芯片总缓存中输出缓存部分分配给各出端口,分配原则可以采用平均分配。各出端口使用分配给自己的缓存。为了便于理解,以下将从线卡接收报文的端口称为入端口,将向线卡输出报文的端口称为出端口,本领域技术人员均能明白一个端口可以同时为出端口和入端口。 
b1、每个出端口的输出缓存被分为两个部分,分别为以太输出缓存队列和路由输出缓存队列;较佳地,路由输出缓存队列进一步分别两个部分,分别为路由数据输出缓存队列和路由调度信息输出缓存队列。以上为每个出端口划分出的三个缓存队列之间相互独立,不共享缓存空间。 
一个端口的三个输出缓存队列在输出调度时,有优先级之分。其中,路由调度信息输出缓存队列优先级最高,路由数据输出缓存队列优先级次之,以太输出缓存队列优先级最低。包交换芯片输出调度时,按照优先级调度,先调度发送高优先级缓存队列中的报文,高优先级缓存队列没有报文才调度发送较低优先级缓存队列中的报文,依次类推。 
一个端口的三个输出缓存队列的具体缓存空间大小可以根据实际需要划分。较佳地,将路由数据输出缓存队列划分得大些,以便为路由数据提供较大的缓存空间。 
通过上述输出方向缓存的分配,在同一个包交换芯片中实现了平面划分和平面缓存隔离,从而实现了数据流隔离和拥塞隔离。 
2)输入方向缓存分配: 
输入方向缓存用于缓存入端口接收到的待交换报文,由于包交换芯片内部输入缓存到输出缓存之间的带宽可以看作无限大,因此可以在很短的时间 内完成报文从输入缓存到输出缓存之间的交换。因此,输入缓存处通常不会产生溢出,输入缓存可以采用现有缓存结构,即不划分。但是为了进一步确保路由交换平面不丢包,本实施例按照输出方向缓存分配方式,对输入方向缓存进行分配,具体为: 
a2、将包交换芯片总缓存中输入缓存部分分配给各入端口,分配原则可以采用平均分配。各入端口使用分配给自己的缓存。 
b2、每个入端口的缓存被分为两个部分,分别为以太输入缓存队列和路由输入缓存队列;较佳地,路由输入缓存队列进一步分为两个部分,分别为路由数据输入缓存队列和路由调度信息输入缓存队列。以上为每个入端口划分出的三个缓存队列之间相互独立,不共享缓存空间。 
一个端口的三个输入缓存队列可不设定优先级,或参照输出缓存设置优先级的方式设置优先级。三个输入缓存队列的大小可根据实际需要划分。 
需要说明的是,通过以上缓存划分,包交换芯片的每一个端口可以接以太线卡或路由线卡,但同时只能接一种线卡。无论接哪种线卡,上述缓存分配都客观存在。例如,某端口接以太网线卡时,该端口可能不需要路由输出缓存队列,但是该端口的缓存仍被分为三份。 
第二,为了配合包交换芯片的交换,还需要对路由线卡上的发送缓存和接收缓存进行设置。其中,发送缓存用于缓存向包交换芯片发送的报文;接收缓存用于缓存从包交换芯片接收的报文。具体来说,对路由线卡中的发送缓存和接收缓存按照如下规则进行分配: 
1)发送缓存分配: 
将路由线卡(例如图4中LC0)中发送缓存分为路由发送缓存队列和以太发送缓存队列;路由发送缓存队列用于缓存向包交换芯片发送的路由数据报文,该路由数据报文不包括调度信息报文,因为调度信息由路由线卡中的分布式调度器处理,在生成后随时发送。以太发送缓存队列用于缓存向包交换芯片发送的以太报文。对发送缓存进行划分的目的是:分布式调度器能够根据调度信息,对路由发送缓存队列中的路由数据报文施加调度。 
路由发送缓存队列和以太发送缓存队列之间可以按照设定的队列间调度策略进行调度,例如,公平调度(RR)策略,权重调度(WRR)策略等。当然,也可以按照路由发送缓存队列优先原则,先发送完路由发送缓存队列中的报文,再发送以太发送缓存队列中的报文。 
2)接收缓存分配: 
路由交换平面不允许丢包是因为包交换芯片不能进行流检测,因此无法通过监测丢包,从而根据丢包情况进行丢包恢复等操作。而路由线卡可以进行流监测,因此在包交换芯片之外发生的丢包是可以接受的。有鉴于此,路由线卡的接收缓存可以采用现有缓存结构,即不划分。较佳地,本实施例为了在路由线卡中也不发生路由数据报文的丢包,将路由线卡(例如图4中LC1)中的接收缓存分为路由接收缓存队列和以太接收缓存队列; 
其中,路由接收缓存队列,用于缓存接收自包交换芯片的路由数据报文,该路由数据报文不包括调度信息,调度信息由路由线卡中的分布式调度器处理。以太接收缓存队列,用于缓存接收自包交换芯片的以太报文。 
路由接收缓存队列和以太接收缓存队列之间可以按照设定的队列间调度策略进行调度。较佳地,按照路由接收缓存队列优先原则,先发送完路由接收缓存队列中的报文再发送以太接收缓存队列中的报文。 
最后,以太线卡(例如图4中LC2)保持现有缓存结构,不对接收缓存和发送缓存进行队列划分。 
下面对本实施例中LC0的处理流程进行描述。图5示出了本发明实施例一中路由线卡LC0向包交换芯片发送报文的处理流程图,如图5所示,该方法包括以下步骤: 
步骤501:LC0插入包交换芯片后,从包交换芯片获得转发表。 
本步骤中,LC0插入包交换芯片后,与包交换芯片进行信息交换,告知包交换芯片自身线卡类型和相关信息,从包交换芯片获取转发表。该转发表包括报文的目的IP地址、目的线卡、目的线卡类型和交换平面标记之间的对应关系。其中,目的线卡的类型包括以太线卡和路由线卡。交换平面标记 表示出不同类型目的线卡的报文在包交换芯片中应该进入的交换平面,交换平面标记包括以太平面标记和路由平面标记。 
实际上,LC1和LC2也在插入包交换芯片后获得转发表。 
步骤502:LC0接收待交换报文,查找转发表,确定所接收待交换报文对应的目的线卡类型和交换平面标记,在待交换报文中加入交换平面标记,将携带交换平面标记的待交换报文封装为符合交换网协议的交换网报文,缓存到与目的线卡所插接端口中与目的线卡类型对应的发送缓存队列中。 
参见图4,假设LC0接收到来自外部的待交换报文A后,以待交换报文A的IP地址为索引,查找交换表,查找到待交换报文A对应的目的线卡为LC1,其线卡类型为路由线卡,且交换平面标记为2,表示该报文应进入路由交换平面。此时LC0在待交换报文A中加入标记2,该标记2可携带在待交换报文A的交换网包头中;然后将携带标记2的待交换报文A缓存到LC0的路由发送缓存队列中。其中,该交换网包头是在报文进入交换网之前,在IP头之外加入的符合交换网端口所支持协议的交换网包头。 
仍参见图4,如果待交换报文B对应的目的线卡为LC2,其线卡类型为以太线卡,且交换平面标记为3,表示该报文应进入以太交换平面。此时LC0在待交换报文B中加入标记3,该标记3可携带在待交换报文B的交换网包头中;然后将携带标记3的待交换报文B缓存到LC0的以太发送缓存队列中。 
在报文中加入标记是为了在路由线卡和包交换芯片中区分路由报文和以太报文,从而将其缓存到相应缓存队列中。本发明实施例中所定义的路由报文是指在路由交换平面接受交换处理的报文,以太报文是指在以太交换平面接受交换处理的报文。在实际中,有很多其他方式实现报文中加入相应标记的操作。例如, 
其他方式一,路由线卡插入包交换芯片后,获得转发表、以及目的线卡类型与交换平面标记之间的第二对应关系,转发表中包括IP地址与目的线卡及其线卡类型的第一对应关系。那么在查表后,可以根据第一对应关系查 找到待转发报文的目的线卡及其线卡类型,再根据第二对应关系查找到目的线卡类型对应的交换平面标记,作为加入待交换平面的交换平面标记。 
其他方式二,在路由线卡中配置上述第二对应关系,在路由线卡插入包交换芯片后获得转发表,转发表包括第一对应关系。那么在查表时,仍可以查找到加入待交换平面的交换平面标记。 
实际上采用哪种交换平面标记确定方式并不是重点,只要能够实现向相应报文打入相应标记即可。在实际中,也可以由包交换芯片根据源线卡和目的线卡的地址获取其线卡类型,再根据交换原则进行交换。 
步骤503:LC0根据设定的队列间调度策略,对路由发送缓存队列和以太发送缓存队列进行调度,将调度出的报文发送到包交换芯片中。 
队列间调度策略为RR调度策略、WRR调度策略或路由发送缓存队列优先的调度策略。其中, 
RR调度策略为公平调度,以1∶1的调度比例调度两个队列; 
WRR调度策略为权重调度,以设定的调度比例,例如1∶9,调度以太发送缓存队列和路由发送缓存队列; 
路由发送缓存队列优先的调度策略,优先调度路由发送缓存队列,当路由发送缓存队列中没有报文时,再调度以太发送缓存队列。 
采用队列间调度策略,当调度到以太发送缓存队列时,将以太发送缓存队列中的待发送报文发送给包交换芯片;当调度到路由发送缓存队列时,根据分布式调度器维护的路由交换平面的调度信息实施调度操作。根据调度信息实施调度为现有操作,具体可以为:LC0的分布式调度器根据接收自LC1的调度信息,确定为自身分配的向LC1发送数据包的流量,将流量换算为令牌数,根据令牌数判断是否允许发送路由发送缓存队列中的当前报文。 
需要说明的是,在对路由发送缓存队列和以太发送缓存队列进行调度的过程中,如果LC0的分布式调度器生成了调度信息,则立即对调度信息进行封装和发送,不受以上队列间调度影响。较佳地,封装时,在调度信息报文中加入高优先级路由平面标记,从而与路由数据报文相区分。相应的,路 由数据报文中的路由平面标记为低优先级路由平面标记。 
至此,本流程结束。 
图6为本发明实施例一中包交换芯片的处理流程图。该处理流程针对输入缓存分为以太输入缓存队列和路由输入缓存队列的情况进行描述。如图6所示,该方法包括以下步骤: 
步骤601:包交换芯片的某入端口,例如端口0,接收来自LC0的报文,根据所接收报文中的交换平面标记,将携带路由平面标记的报文缓存到端口0路由输入缓存队列中,将携带以太平面标记的报文缓存到端口0以太输入缓存队列中。 
如前所述,路由输入缓存队列具体包括路由数据输入缓存队列和路由调度信息输入缓存队列。因此,在本步骤中,还将接收自LC0的携带高优先级路由平面标记的调度信息报文,缓存到端口0路由输入缓存队列的路由调度信息输入缓存队列中。 
步骤602:将各入端口输入缓存队列中的报文交换至相应出端口的输出缓存队列中。交换原则为:将以太输入缓存队列中的报文交换至相应出端口的以太输出缓存队列中;将路由数据缓存队列中的路由数据报文交换至相应出端口的路由数据输出缓存队列中;将路由调度信息缓存队列中的调度信息交换至相应出端口的路由调度信息输出缓存队列中。从该交换原则可以看出,以太交换平面和路由交换平面的报文在包交换芯片中不互通,从而保证了路由交换不丢包。 
举个例子,参见图4,端口0以太输入缓存队列中的报文经交换处理,缓存到端口2以太输出缓存队列中,端口0路由输入缓存队列中的调度信息报文和路由数据报文经交换处理,缓存到端口1路由输出缓存队列中。 
在实际中,由于包交换芯片中入端口到出端口之间的带宽可以看作无限大,因此是否对以太输入缓存和路由输入缓存设置优先级,效果不是很明显。因此,可以采用前述队列间调度策略中的任意一种对入端口对应2个队列进行调度。采用路由缓存输入队列优先原则时,进一步优先调度路由调度信息 输入缓存队列,次之调度路由数据输入缓存队列,最后调度以太输入缓存队列。 
步骤603:包交换芯片的出端口,按照路由输出缓存队列优先的原则,输出路由输出缓存队列中的报文,当路由输出缓存队列的报文输出完,再输出以太输出缓存队列中的报文。 
在输出路由输出缓存队列中的报文时,进一步按照路由调度信息输出缓存队列优先的原则,输出路由调度信息输出缓存队列中的调度信息报文,当调度信息报文输出完,再输出路由数据包输出缓存队列中的路由数据报文。 
本步骤中,对于端口2来说,由于其接入的是以太线卡,因此端口2路由输出缓存队列中一直没有报文,会一直输出以太输出缓存队列中的报文。 
至此,本流程结束。 
在实际中,如果入端口对应的输入缓存不划分队列,则将所有接收的以太报文、路由数据报文和调度信息报文缓存到同一队列中,然后在交换时,根据报文中的交换平面标记,将报文交换到相应出端口中与交换平面标记对应的输出缓存队列中。 
下面描述路由线卡LC1和以太线卡LC2对来自包交换芯片报文的处理过程。 
如图4所示,LC1具有以太接收缓存队列和路由接收缓存队列,LC1接收到来自包交换芯片的报文后,根据报文中携带的交换平面标记,将携带以太平面标记的报文缓存到以太接收缓存队列中,将携带低优先级路由平面标记的报文缓存到路由接收缓存队列中,将携带高优先级路由平面标记的报文发送给分布式调度器处理。然后,LC1按照如前所述队列间调度策略中的一种对以太接收缓存队列和路由接收缓存队列进行调度,将调度出的报文封装为普通IP包,发送到外部。在封装前,还可以对以太报文进行相应处理,使其符合路由交换要求。 
如果不对LC1的接收缓存进行队列划分,则将所接收的除调度信息以外的报文缓存到同一个接收缓存队列中,然后按顺序封装并发送出去。 
如图4所示,LC2只具有一个接收缓存队列,LC2接收到来自包交换芯片的报文后,将其缓存到接收缓存队列中。然后,将接收缓存队列中的报文封装为普通IP包,发送到外部。图4中,LC2接收的报文为来自路由线卡的报文,如果需要对该报文进行相应处理使其符合以太交换要求,则该处理操作在路由线卡LC0完成。总之,由于路由线卡的功能设计相对灵活,因此在源线卡和目的线卡类型不一致的情况下,如果需要进行以太报文或路由报文之间的转换,则转换操作由路由线卡完成。 
本实施例中,LC0按照RR调度策略、WRR调度策略或路由发送缓存队列优先调度策略对以太发送缓存队列和路由发送缓存队列进行调度。LC0的调度策略会影响到从端口1输出的路由报文和以太报文所占用的输出带宽。 
例如,忽略调度信息所占用的带宽,采用RR调度策略时,作为出端口的端口1输出路由报文和以太报文所占用的输出带宽为1∶1。假设端口1分配给LC0的出口带宽为10G,端口0的入口带宽为10G。由于LC0按照1∶1的调度次数比例调度两个队列,因此最多有5G的路由报文通过端口1输出,端口1分配给LC0的10G输出带宽只有5G被占用,另外5G被浪费了。同时,允许有5G的以太报文通过端口2输出,但当以太报文很少时,其实际所需带宽很小,例如为1G,那么端口0中有4G入口带宽被浪费了,导致交换效率降低。 
采用WRR调度策略时,端口1输出路由报文和以太报文所占用的输出带宽与LC0中以太发送缓存队列和路由发送缓存队列的权重有关。权重设置不合理,也会出现上述带宽浪费,交换效率减低的问题。 
采用路由发送缓存队列优先调度策略时,LC0会按照分配的10G发送路由报文,当没有路由报文时,才发送以太报文。在包交换芯片的出端口处,也是按照优先发送路由报文原则进行数据发送的,那么就会出现这样一种情况:以太报文始终得不到调度,出现严重丢包。 
为了避免上述因LC0对以太输出缓存队列和路由输出缓存队列的调度 策略不够合理带来的种种缺陷,本发明实施例采用如下步骤确定调度策略: 
步骤1、预先配置调度以太输出缓存队列和路由输出缓存队列的初始调度比例,作为源线卡LC0的队列间调度策略;例如,配置初始调度比例为2∶8; 
步骤2、在目的线卡侧,即LC1和LC2侧,对所接收的路由报文和/或以太报文进行流量监测,将获得的来自不同源线卡的路由报文流量信息和/或以太报文流量信息,发送给相应源线卡。由于路由线卡需要依据流量信息进行调度策略调整,因此通常只需发送给路由线卡。其中,以太报文流量中可以不包括调度信息报文的流量。在本实施例中,路由线卡LC1统计路由报文流量信息和以太报文流量信息,以太线卡LC2只需要统计以太报文流量信息。当然,如果包交换芯片有足够处理能力承担流量监测任务,本步骤2的流量监测任务可由包交换芯片通过监测出端口流量完成。 
步骤3、LC0根据接收到的路由报文流量信息和以太报文流量信息,调整当前调度比例。例如,在判定以太报文流量小于第一阈值时,例如小于1G时,降低当前调度比例,令路由交换平面能够利用空闲带宽;在路由报文流量小于第二阈值时,例如小于5G时,提高当前调度比例,令以太交换平面能够利用空闲带宽。再例如,在判定以太报文流量与总流量之比小于第三阈值时,例如1/20,表明以太报文流量很小,降低当前调度比例;在判定路由报文流量与总流量之比小于第四阈值时,例如5/10,表明路由报文流量很小,提高当前调度比例。又例如,在判定以太报文流量与路由报文流量之比小于第五阈值,例如0.1/8,且路由报文流量已经达到允许的最大值,表明路由报文需要更大的流量,而以太报文只需要很小流量,此时,降低当前调度比例;在判定以太报文流量与路由报文流量之比大于第六阈值,例如2/3,且以太报文流量已经达到允许的最大值,此时,提高前调度比例。 
步骤4、在调整调度比例之后,可以在超过预设时间后,将调度比例恢复为初始调度比例。 
从本实施例的描述可以看出,如果报文的源线卡和目的线卡均为路由线 卡,则该报文不允许丢包,因此该报文走路由交换平面;如果报文的源线卡为路由线卡,而目的线卡为以太线卡,则说明该报文允许丢失,为了使其不影响路由交换平面的交换过程,该报文走以太交换平面。本实施例不仅实现了以太交换平面和路由交换平面的隔离,而且提供了路由交换平面向以太交换平面发送报文的实现方式,从而在同一设备上实现了路由交换平面和以太交换平面的融合。 
实施例二 
本实施例中,对图7示出的以太线卡发送报文到路由线卡、以太线卡发送报文到以太线卡的过程进行描述。与实施例一相同,本实施例中目的线卡仍为路由线卡LC1和以太线卡LC2,不同之处在于,本实施例的源线卡为以太线卡LC3。 
首先,在交换之前,对包交换芯片中的芯片内部缓存、路由线卡LC1的接收缓存队列进行分配。分配方式与实施例一中的相应分配方式相同。不对以太线卡LC2的接收缓存和LC3的发送缓存进行队列划分。 
图8示出了本发明实施例二中LC3向包交换芯片发送报文的处理流程图。如图8所示,该方法包括以下步骤: 
步骤801:LC3插入包交换芯片后,从包交换芯片获得以太平面标记。 
步骤802:LC3接收待交换报文,在待交换报文中加入以太平面标记。携带该以太平面标记的报文将被包交换芯片识别为在以太交换平面交换。 
步骤803:LC3将携带以太平面标记的待交换报文封装为符合交换网协议的报文,缓存到发送缓存队列中。 
步骤804:依次将发送缓存队列中的报文发送到包交换芯片中。 
至此,本流程结束。 
本实施例二中包交换芯片的处理流程参见图9,具体来说包括以下步骤: 
步骤901、包交换芯片的端口0根据所接收报文中携带的交换平面标记,将携带以太平面标记的报文缓存到端口0以太输入缓存队列中。 
步骤902、将端口0输入以太缓存队列中的报文交换到目的线卡所插接 端口的以太输出缓存队列中。 
本实施例中,将目的线卡为LC1的报文交换至端口1以太输出缓存队列中,将目的线卡为LC2的报文交换至端口2以太输出缓存队列中。 
步骤903、包交换芯片的各出端口,按照路由输出缓存队列优先的原则,输出路由输出缓存队列中的报文,当路由输出缓存队列的报文输出完,再输出以太输出缓存队列中的报文。 
至此,完成了包交换芯片的交换。 
LC1和LC2对来自包交换芯片报文的处理与实施例一相同。 
以上两个实施例中输入缓存队列可以是实际缓存队列,也可以是虚拟缓存队列。当为虚拟缓存队列时,虚拟缓存队列由计数器和控制器组成,利用计数器和控制器可以管理输入缓存队列的缓存大小。例如,当入端口的输入报文占用的缓存超过了计数器所允许的最大计数值时,控制器将后续包丢弃。虚拟缓存队列的实现为已知技术手段,这里不详细描述。 
采用本发明实施例的交换方法,可以解决图3示出的现有技术问题,仍参见图3,LC1和LC2分别向LC0发送9G和10G的报文,10G路由报文进入路由交换平面并缓存到端口1路由发送缓存队列,9G以太报文进入以太交换平面并缓存入端口1以太发送缓存队列。端口1优先发送路由发送缓存队列中的报文,那么LC1发送的报文流将占用10G出口带宽;待发送完毕,端口1发送以太发送缓存队列中的报文,那么LC2此时才占用出口带宽。如果发送路由发送缓存队列中的报文期间,不断有以太报文进入以太交换平面,以太交换平面缓存溢出,但是该溢出并不影响路由交换平面交换过程。可见,本发明实施例的报文交换方法可以解决现有技术中的问题。 
为了实现本发明的交换网报文交换方法,本发明实施例还提供了一种交换网报文交换系统。图10为本发明实施例中交换网报文交换系统的结构示意图。如图10所示,该系统包括交换装置31、至少一个路由线卡32和至少一个以太线卡33。其中,交换装置31如果采用专用集成电路实现,就称为包交换芯片31。路由线卡32和包交换芯片31之间交互以太报文和路由 报文,路由报文包括数据和调度信息;以太线卡33和包交换芯片31之间交互以太报文。图10中包交换芯片31与线卡之间的单箭头实线表示数据报文,双箭头虚线表示调度信息。 
图11示出了图10中包交换芯片31的结构示意图,如图11所示,该包交换芯片31包括包交换单元311和多个端口单元312;其中, 
各端口单元312被配置为具有独立的输出缓存,每个端口单元312包括输出缓存,该输出缓存被划分为相互独立的以太输出缓存队列1101和路由输出缓存队列1102。一个端口单元312可以做入端口和/或出端口。各端口单元312中以太输出缓存队列1101组成了以太交换平面,路由输出缓存队列1102组成了路由交换平面。为了显示清楚,图11中只示出了一个端口单元312,即端口单元4作为出端口时的具体结构,本领域技术人员可以明白每个端口单元312作为出端口时其结构均相同。 
包交换单元311,用于对从入端口接收的来自外部的报文进行交换处理,将源线卡和目的线卡均为以太线卡的报文,放入目的线卡所插接端口的以太输出缓存队列1101;将源线卡和目的线卡均为路由线卡的报文,放入目的线卡所插接端口的路由输出缓存队列1102。从而实现了以太线卡之间的报文交换和路由线卡之间的交换,而且两交换平面具有相互隔离的输出缓存队列,因此如果交换过程中发生了丢包,也不会影响到另一交换平面,保证路由交换平面在调度信息的调度下不丢包,以太交换平面在无调度的情况下保证交换效率。 
为了实现两交换平面之间的互通,包交换单元311进一步用于,将源线卡为路由线卡但目的线卡为以太线卡的报文,交换至目的线卡所插接端口单元312的以太输出缓存队列1101;和/或,将目的线卡为路由线卡但源线卡为以太线卡的报文,交换至目的线卡所插接端口单元312的以太输出缓存队列1101。 
同时,端口单元312进一步包括输出调度模块1103,用于对以太输出缓存队列1101和路由输出缓存队列1102中的报文发送进行调度,在其调度 下,优先发送所在端口单元312中路由输出缓存队列1102中的报文,待发送完毕,再发送以太输出缓存队列1101中的报文。 
为了优先发送路由输出缓存队列1102中的调度信息,较佳地,路由输出缓存队列1102进一步被划分为用于缓存路由数据包的路由数据输出缓存队列和用于缓存路由调度信息的调度信息输出缓存队列(图11中未示出这两个队列的划分)。在这种情况下,输出调度模块1103进一步调度优先发送路由信息输出缓存队列中的路由调度信息,待发送完毕,再发送路由数据输出缓存队列中的路由数据包。 
包交换单元311是交换核心,其确定每个报文所要缓存到的输出缓存队列类型时,可以直接从报文中提取源线卡和目的线卡地址,然后获取源线卡和目的线卡的类型,从而根据源线卡和目的线卡类型确定出输出缓存队列类型。在实际中,如方法实施例描述中所述,可以在各线卡中为报文打上标记,这样包交换单元311根据报文携带的标记直接处理即可。在后者情况下,如图12所示包交换单元311的结构示意图,包交换单元311包括线卡接入检测模块1201,标记维护模块1202和交换处理模块1203;其中, 
线卡接入检测模块1201,用于在检测到线卡接入端口单元312时,通知接入的以太线卡:在其发送来的待交换报文中加入以太平面标记;通知接入的路由线卡:在其发送来的目的线卡为以太线卡的待交换报文中加入以太平面标记,在其发送来的目的线卡为路由线卡的待交换报文中加入路由平面标记。 
标记维护模块1202,用于保存以太平面标记和路由平面标记并提供给线卡接入检测模块1201和交换处理模块1203。 
交换处理模块1203,用于根据所接收自端口单元312的待交换报文中的标记,将携带以太平面标记的待交换报文交换至目的线卡所插接端口单元312的以太输出缓存队列1101中;将携带路由平面标记的待交换报文交换至目的线卡所插接端口单元312的路由输出缓存队列1102中。 
如前所述,路由输出缓存队列1102被划分为缓存路由数据包的路由数 据输出缓存队列和缓存路由调度信息的调度信息输出缓存队列。因此,为了进一步区分路由数据包和路由调度信息,将路由平面标记分为标识路由数据包的低优先级路由平面标记和标识路由调度信息的高优先级路由平面标记。 
那么,交换处理模块1203进一步用于,在处理携带路由平面标记的待交换报文时,将携带低优先级路由平面标记的待交换路由数据报文交换至目的线卡所插接端口单元的路由数据输出缓存队列中;将携带高优先级路由平面标记的待交换调度信息报文交换至目的线卡所插接端口单元的路由调度信息输出缓存队列中。 
当端口单元312作为入端口时,其输入缓存可以不划分队列或划分队列。图11中示出了一个端口单元312,即端口单元1作为入端口且划分队列时的具体结构,本领域技术人员可以明白每个端口单元312作为入端口时其结构都相同。如图11所示,端口单元312包括报文区分模块1113、输入调度模块1114和输入缓存,输入缓存被划分为相互独立的以太输入缓存队列1111和路由输入缓存队列1112;不同端口单元312的输入缓存相互独立。 
报文区分模块1113,用于接收到来自外部的待转发报文后,将源线卡和/或目的线卡为以太线卡的报文,放入以太输入缓存队列1111中;将源线卡和目的线卡为路由线卡的报文,放入路由输入缓存队列1112中。 
输入调度模块1114,用于调度按照预设的队列间调度策略调度以太输入缓存队列1111和路由输入缓存队列1112的报文发送。队列间调度策略可以为任意一种调度策略,例如RR调度策略,WRR调度策略或路由输入缓存队列1112优先调度策略。该输入调度模块1114可以与所在端口单元的输出调度模块1103合并,作为所在端口单元的调度模块,负责总调度。 
以太输入缓存队列1111和路由输入缓存队列1112可以为真实的缓存队列也可以为虚拟缓存队列,如果采用虚拟缓存队列,则每一个虚拟缓存队列包括计数器和控制器,当入端口的输入报文占用的缓存超过了计数器所允许的最大计数值时,控制器将后续包丢弃。在本发明实施例中,计数器的最大计数值可以设置成为缓存队列分配的固定大小。 
下面对图13示出的本发明实施例中路由线卡32和以太线卡31的改进分别进行描述。 
图13为图10中路由线卡32的结构示意图。如图13所示,路由线卡32包括报文标记模块1301、发送缓存1310、接收缓存1320、分布式调度器1302和队列间调度器1303,其中, 
发送缓存1310被配置为相互独立的路由发送缓存队列1311和以太发送缓存队列1312,均用于缓存向包交换芯片31发送的待交换报文。 
报文标记模块1301,用于在接入包交换芯片31后,接收包交换芯片31返回的路由平面标记和以太平面标记;在所接收的目的线卡为路由线卡的待交换报文中加入所述路由平面标记,将携带路由平面标记的待交换报文缓存到所述路由发送缓存队列1311中;在所接收的目的线卡为以太线卡的待交换报文中加入所述以太平面标记,将携带以太平面标记的待交换报文缓存到所述路由发送缓存队列1312中。 
队列间调度器1303,用于按设定的队列间调度策略,调度路由发送缓存队列1311和以太发送缓存队列1312发送报文。较佳地,调度时,该队列间调度器1303将预设的初始调度比例作为队列间调度策略执行调度操作;接收以太交换平面和路由交换平面的流量检测结果,根据流量检测结果调整初始调度比例。 
分布式调度器1302,用于与包交换芯片31之间交互调度信息,在路由发送缓存队列1311发送报文时,根据调度信息控制其发送流量。 
图13中的接收缓存1320,用于缓存接收自包交换芯片31的经交换报文。该接收缓存1320可以不进行队列划分或进行队列划分,在进行队列划分的情况下,接收缓存1320划分为路由接收缓存队列1321和以太接收缓存队列1322,将接收的携带路由平面标记的报文缓存到路由接收缓存队列1321,将接收的携带以太平面标记的报文缓存到以太接收缓存队列1322。队列间调度器1303进一步负责这两个队列间的调度,调度输出的报文发送到路由线卡所连接的外网。 
当本发明实施例对路由线卡的改进应用在图2的路由线卡22中时,如 图13所示,本发明实施例中的报文标记模块1301在路由线卡中的PP中实现,在实际中,也可以在FAU中实现。队列间调度器1303、发送缓存1310和接收缓存1320在FAU中实现。 
图14为图10中以太线卡33的结构示意图。如图14所示,该以太线卡33包括报文标记模块1401和发送缓存队列1402, 
报文标记模块1401,用于在接入包交换芯片31后,接收包交换芯片31返回的以太平面标记,在发送给包交换芯片31的待交换报文中加入以太平面标记,将标记后的待交换报文缓存到发送缓存队列1402中。 
发送缓存队列1402,用于缓存等待向包交换芯片31发送的待交换报文。 
当本发明实施例对以太线卡的改进应用在图1的以太线卡12中时,本发明实施例中的报文标记模块1401和发送缓存队列1402都在MAC层实现。 
以上实施例仅以通过缓存的划分构造路由交换平面和以太交换平面为例进行描述。在实际中,该通过划分缓存构造相互隔离的交换平面的方法还可以用于构造其他交换平面。例如,将以太交换平面替换为其他交换平面,在路由交换平面和以太交换平面上叠加一个或一个以上其他类型的交换平面。因此本发明实施例的交换方案适应于在一个包交换芯片中构造多个交换平面的情况,且能够报文一个不允许丢包的交换平面交换不丢包,其实现为: 
当在包交换芯片上实现多个交换平面时,首先为每个端口配置独立的输出缓存,然后根据可插接的线卡类型,分别从每个端口的输出缓存中为每类线卡划分出一个独立的输出缓存队列,使得每个端口都具有对应于各类线卡的输出缓存队列。 
对应于同一类型报文的输出缓存队列组成一个交换平面。在多种线卡类型中有一种线卡所承载的报文在交换网中不允许丢包,该线卡称为不允许丢包线卡。 
交换时,当报文的源线卡和目的线卡类型相同时,将报文交换至目的线卡所插接端口中与目的线卡类型对应的输出缓存队列中。 
当报文的源线卡和目的线卡类型不同时,分为两种情况: 
其一、如果报文的源线卡和目的线卡之一为不允许丢包的线卡,则将源线卡和目的线卡中允许丢包的线卡类型作为选定线卡类型,将该报文交换至目的线卡所插接端口中与选定线卡类型对应的输出缓存队列中。 
其二、如果源线卡和目的线卡均为允许丢包的线卡,则按照预设规则,将该报文交换至目的线卡所插接端口中与源线卡或目的线卡类型对应的输出缓存队列中。所述预设规则为:交换至源线卡对应的输出缓存队列,或交换至目的线卡对应的输出缓存队列。 
对于包交换芯片的每个端口,在输出调度时,按照优先级进行调度,首先发送不允许丢包的线卡类型对应的输出缓存队列中的报文,待发送完毕,再调度发送其他输出缓存队列中的报文。其中,调度发送其他输出缓存队列中的报文时,可以根据任意一种队列间调度策略调度,不一定严格遵循优先级原则。 
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。 

Claims (15)

1.一种交换网报文交换方法,其特征在于,该方法包括:
为交换装置中的每个端口配置独立的输出缓存;根据所述交换装置中可插接的线卡类型,分别将每个端口的输出缓存划分为相互独立的对应于各类可插接线卡的输出缓存队列;
交换装置将源线卡和目的线卡的线卡类型相同的报文,交换至目的线卡所插接端口的与目的线卡类型对应的输出缓存队列;
交换装置对于源线卡和目的线卡类型不同的报文的处理,具体为:
如果报文的源线卡和目的线卡之一为不允许丢包的线卡类型,则将源线卡和目的线卡中允许丢包的线卡类型确定为选定线卡类型,将所述报文交换至目的线卡所插接端口中与所述选定线卡类型对应的输出缓存队列中;
如果源线卡和目的线卡均为允许丢包的线卡,则按照预设规则,将该报文交换至目的线卡所插接端口中与源线卡或目的线卡类型对应的输出缓存队列中;所述预设规则为:交换至源线卡对应的输出缓存队列,或交换至目的线卡对应的输出缓存队列;
对于每个端口,先发送不允许丢包的线卡类型对应的输出缓存队列中的报文,待发送完毕,再调度发送其他输出缓存队列中的报文。
2.如权利要求1所述的方法,其特征在于,所述可插接的线卡类型包括以太线卡和路由线卡,所述路由线卡为不允许丢包的线卡;
所述分别将每个端口的输出缓存划分为相互独立的对应于各类可插接线卡的输出缓存队列为:分别将每个端口的输出缓存划分为路由输出缓存队列和以太输出缓存队列;
所述将源线卡和目的线卡的线卡类型相同的报文,交换至目的线卡所插接端口的与目的线卡类型对应的输出缓存队列为:交换装置将源线卡和目的线卡均为路由线卡的报文,交换至目的线卡所插接端口的路由输出缓存队列,将源线卡和目的线卡均为以太线卡的报文,交换至目的线卡所插接端口的以太输出缓存队列;
所述将源线卡和目的线卡中允许丢包的线卡类型确定为选定线卡类型,将所述报文交换至目的线卡所插接端口中与所述选定线卡类型对应的输出缓存队列中为:交换装置将源线卡和目的线卡其中一个为路由线卡另一个为以太线卡的报文,交换至目的线卡所插接端口的以太输出缓存队列;
所述先发送不允许丢包的线卡类型对应的输出缓存队列中的报文,待发送完毕,再调度发送其他输出缓存队列中的报文为:先发送路由输出缓存队列中的报文,待发送完毕,再发送以太输出缓存队列中的报文。
3.如权利要求2所述的方法,其特征在于,该方法进一步包括:将所述路由输出缓存队列进一步划分为用于缓存路由数据包的路由数据输出缓存队列和用于缓存路由调度信息的路由调度信息输出缓存队列;
所述发送路由输出缓存队列中的报文为:优先发送路由调度信息输出缓存队列中的路由调度信息,待发送完毕,再发送路由数据输出缓存队列中的路由数据包。
4.如权利要求2所述的方法,其特征在于,该方法进一步包括:交换装置在检测到线卡接入端口时,向接入的以太线卡返回以太平面标记,向接入的路由线卡返回路由平面标记和以太平面标记;
所述将源线卡和目的线卡均为路由线卡的报文,交换至目的线卡所插接端口的路由输出缓存队列为:作为源线卡的路由线卡,在发送给交换装置的目的线卡为路由线卡的待交换报文中加入路由平面标记;交换装置根据所接收待交换报文中的路由平面标记,将该待交换报文交换至目的线卡所插接端口中的路由输出缓存队列中;
所述将源线卡和目的线卡均为以太线卡的报文,交换至目的线卡所插接端口的以太输出缓存队列为:作为源线卡的以太线卡,在发送给交换装置的待交换报文中加入以太平面标记;交换装置根据所接收待交换报文中的以太平面标记,将该待交换报文交换至目的线卡所插接端口中的以太输出缓存队列中;
所述将源线卡和目的线卡其中一个为路由线卡另一个为以太线卡的报文,交换至目的线卡所插接端口的以太输出缓存队列为:作为源线卡的路由线卡,在发送给交换装置的目的线卡为以太线卡的待交换报文中加入以太平面标记;作为源线卡的以太线卡,在发送给交换装置的待交换报文中加入以太平面标记;交换装置根据所接收待交换报文中的以太平面标记,将该待交换报文交换至目的线卡所插接端口的以太输出缓存队列中。
5.如权利要求4所述的方法,其特征在于,所述路由输出缓存队列包括路由数据输出缓存队列和路由调度信息输出缓存队列;
所述在该待交换报文中加入路由平面标记包括:当待交换报文为路由数据报文时,在该待交换报文中加入低优先级路由平面标记;当待交换报文为调度信息报文时,在该待交换报文中加入高优先级路由平面标记;
所述交换装置根据所接收待交换报文中的路由平面标记,将该待交换报文交换至目的线卡所插接端口的路由输出缓存队列中包括:交换装置根据所接收待交换报文中的高优先级路由平面标记,将该待交换报文交换至目的线卡所插接端口的路由调度信息输出缓存队列中;根据所接收待交换报文中的低优先级路由平面标记,将该待交换报文交换至目的线卡所插接端口的路由数据输出缓存队列中。
6.如权利要求2或4所述的方法,其特征在于,该方法进一步包括:
将路由线卡的发送缓存划分为相互独立的路由发送缓存队列和以太发送缓存队列;
路由线卡将目的线卡为路由线卡的待交换报文缓存在所述路由发送缓存队列中,将目的线卡为以太线卡的待交换报文缓存在所述以太发送缓存队列中;
按设定的队列间调度策略,调度所述路由发送缓存队列和以太发送缓存队列发送报文。
7.如权利要求6所述的方法,其特征在于,所述按设定的队列间调度策略,调度所述路由发送缓存队列和以太发送缓存队列发送报文为:
在路由线卡中预先配置调度以太发送缓存队列和路由发送缓存队列的初始调度比例;
路由线卡根据接收的以太交换平面和路由交换平面的流量检测结果,调整所述初始调度比例。
8.如权利要求2所述的方法,其特征在于,该方法进一步包括:为所述交换装置的每个端口配置独立的输入缓存;分别将每个端口的输入缓存划分为相互独立的路由输入缓存队列和以太输入缓存队列;
所述交换之前,交换装置将源线卡和目的线卡都为路由线卡的报文,放入接收该报文的端口的路由输入缓存队列中;将源线卡和/或目的线卡为以太线卡的报文,放入接收该报文的端口的以太输入缓存队列中;
按照队列间调度策略,调度路由输入缓存队列和以太输入缓存队列中的报文接受交换处理。
9.如权利要求8所述的方法,其特征在于,所述路由输入缓存队列和所述以太输入缓存队列均为虚拟输入缓存队列。
10.如权利要求6所述的方法,其特征在于,所述队列间调度策略为:公平调度策略、权重调度策略或优先级调度策略。
11.如权利要求8所述的方法,其特征在于,所述队列间调度策略为:公平调度策略、权重调度策略或优先级调度策略。
12.一种交换装置,其特征在于,该装置包括包交换单元和多个端口单元;
所述每个端口单元包括独立的输出缓存,该输出缓存包括相互独立的至少2个输出缓存队列,每个输出缓存队列与可插接在所在交换装置的一类线卡对应;
所述包交换单元,用于将源线卡和目的线卡的线卡类型相同的报文,交换至目的线卡所插接端口单元中与目的线卡类型对应的输出缓存队列;
所述包交换单元进一步用于,如果报文的源线卡和目的线卡的线卡类型不同,且源线卡和目的线卡之一为不允许丢包的线卡类型,则将源线卡和目的线卡中允许丢包的线卡类型确定为选定线卡类型,将所述报文交换至目的线卡所插接端口单元中与所述选定线卡类型对应的输出缓存队列中;
如果报文的源线卡和目的线卡的线卡类型不同,且源线卡和目的线卡均为允许丢包的线卡,则按照预设规则,将该报文交换至目的线卡所插接端口中与源线卡或目的线卡类型对应的输出缓存队列中;所述预设规则为:交换至源线卡对应的输出缓存队列,或交换至目的线卡对应的输出缓存队列;
所述端口单元进一步包括输出调度模块,用于控制优先发送不允许丢包的线卡类型对应的输出缓存队列中的报文,待发送完毕,再调度发送其他输出缓存队列中的报文。
13.如权利要求12所述的交换装置,其特征在于,可插接在该交换装置上的线卡为路由线卡和以太线卡,所述输出缓存包括路由输出缓存队列和以太输出缓存队列,所述路由线卡为不允许丢包的线卡。
14.如权利要求13所述的交换装置,其特征在于,所述路由输出缓存队列进一步被划分为用于缓存路由数据包的路由数据输出缓存队列和用于缓存路由调度信息的路由调度信息输出缓存队列;
所述输出调度模块进一步用于,在发送路由输出缓存队列中的报文时,优先发送路由信息输出缓存队列中的路由调度信息,待发送完毕,再发送路由数据输出缓存队列中的路由数据包。
15.如权利要求13或14所述的交换装置,其特征在于,所述包交换单元包括线卡接入检测模块,标记维护模块和交换处理模块;
所述线卡接入检测模块,用于在检测到线卡接入端口时,通知接入的以太线卡在其发送来的待交换报文中加入以太平面标记;通知接入的路由线卡在其发送来的目的线卡为以太线卡的待交换报文中加入以太平面标记,在其发送来的目的线卡为路由线卡的待交换报文中,加入路由平面标记;
所述标记维护模块,用于保存预设的所述以太平面标记和路由平面标记,并提供给所述线卡接入检测模块和交换处理模块;
所述交换处理模块,用于根据所接收待交换报文中的标记,将携带以太平面标记的待交换报文交换至目的线卡所插接端口单元中的以太输出缓存队列中;将携带路由平面标记的待交换报文交换至目的线卡所插接端口单元中的路由输出缓存队列中。
CN2008101152631A 2008-06-19 2008-06-19 交换网报文交换方法和交换装置 Active CN101299721B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101152631A CN101299721B (zh) 2008-06-19 2008-06-19 交换网报文交换方法和交换装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101152631A CN101299721B (zh) 2008-06-19 2008-06-19 交换网报文交换方法和交换装置

Publications (2)

Publication Number Publication Date
CN101299721A CN101299721A (zh) 2008-11-05
CN101299721B true CN101299721B (zh) 2012-04-18

Family

ID=40079413

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101152631A Active CN101299721B (zh) 2008-06-19 2008-06-19 交换网报文交换方法和交换装置

Country Status (1)

Country Link
CN (1) CN101299721B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101873269B (zh) * 2010-06-24 2014-03-19 杭州华三通信技术有限公司 数据转发设备和端口缓存的分配方法
CN102025625A (zh) * 2010-12-08 2011-04-20 中兴通讯股份有限公司 一种三层虚链路支持多块线卡的方法及装置
CN102065009A (zh) * 2010-12-16 2011-05-18 中兴通讯股份有限公司 分布式队列分配方法及分布式系统
WO2012119414A1 (zh) * 2011-08-24 2012-09-13 华为技术有限公司 交换网的流量控制方法和装置
CN105763472B (zh) * 2014-12-18 2020-08-11 中兴通讯股份有限公司 一种跨板转发的方法和装置
CN107689923B (zh) * 2016-08-04 2021-02-12 华为技术有限公司 报文处理方法及路由器
CN106850440B (zh) * 2017-01-16 2020-02-04 北京中科睿芯科技有限公司 一种面向多地址共享数据路由包的路由器、路由方法及其芯片
CN107547450B (zh) * 2017-07-28 2020-04-17 新华三技术有限公司 一种板间数据添加方法与装置
CN109861931B (zh) * 2019-01-25 2020-11-06 西安微电子技术研究所 一种高速以太网交换芯片的存储冗余系统
CN110677358A (zh) * 2019-09-25 2020-01-10 杭州迪普科技股份有限公司 一种报文处理方法及一种网络设备
CN111092858B (zh) * 2019-11-25 2021-02-09 新华三半导体技术有限公司 报文处理方法、装置、器件和系统
CN112118155A (zh) * 2020-09-18 2020-12-22 苏州浪潮智能科技有限公司 一种交换机端口状态监控的方法和设备
CN115567435A (zh) * 2021-07-02 2023-01-03 中国船舶重工集团公司第七二四研究所 一种基于fpga的路由信息并行快速查找及管理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6813243B1 (en) * 2000-02-14 2004-11-02 Cisco Technology, Inc. High-speed hardware implementation of red congestion control algorithm
CN1731767A (zh) * 2005-07-29 2006-02-08 杭州华为三康技术有限公司 一种交换设备、实现交换设备的方法和交换方法
CN1933441A (zh) * 2005-09-16 2007-03-21 中国科学院计算技术研究所 一种支持均匀交换的路由器交换结构及服务质量保证方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6813243B1 (en) * 2000-02-14 2004-11-02 Cisco Technology, Inc. High-speed hardware implementation of red congestion control algorithm
CN1731767A (zh) * 2005-07-29 2006-02-08 杭州华为三康技术有限公司 一种交换设备、实现交换设备的方法和交换方法
CN1933441A (zh) * 2005-09-16 2007-03-21 中国科学院计算技术研究所 一种支持均匀交换的路由器交换结构及服务质量保证方法

Also Published As

Publication number Publication date
CN101299721A (zh) 2008-11-05

Similar Documents

Publication Publication Date Title
CN101299721B (zh) 交换网报文交换方法和交换装置
CN101304383B (zh) 交换网报文交换方法和交换系统
CN104104616B (zh) 数据调度和交换的方法、装置及系统
JP3002726B1 (ja) 可変速度ディジタル交換方式
CN101536413B (zh) 队列感知的流控制
US7855960B2 (en) Traffic shaping method and device
CN101272345B (zh) 一种流量控制的方法、系统和装置
CN103179049B (zh) 分级自适应动态出端口和队列缓冲区管理的系统和方法
EP1891778B1 (en) Electronic device and method of communication resource allocation.
EP0678996A2 (en) Apparatus and method of processing bandwidth requirements in an ATM switch
CN102726009B (zh) 一种数据流交换控制方法及相关设备
CN101277196B (zh) 一种基于pcie交换网的通信系统、通信方法及线卡板
DE60217685T2 (de) System und verfahren zum vermitteln von daten unter verwendung eines gemeinsamen koppelfeldes
CN103607343B (zh) 一种适用于星载处理转发器的混合交换结构
CN101212467B (zh) 一种mpls网络的业务调度方法
CN110493132A (zh) 一种适用于多业务类型的卫星网络可变长度标签设计方法
US20080273546A1 (en) Data switch and a method of switching
EP3487132B1 (en) Packet processing method and router
CN101212412A (zh) 一种mpls网络的业务调度系统
CN114845340B (zh) 对视频业务优化tt时隙分配方法、系统、介质及终端
US20070115826A1 (en) Systems and methods for increasing capacity in collision-based data networks
CN101729373B (zh) 对多优先级业务进行调度的方法及装置
US20070263542A1 (en) Method for Transmitting Data Available in the Form of Data Packets
CN101771603A (zh) 数据交换方法及设备
CN1791097B (zh) 在基于wdm的obs环网中应用的接收端口指示帧控制方法

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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: NEW H3C TECHNOLOGIES Co.,Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: HANGZHOU H3C TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230812

Address after: 24th Floor, Block B, Zhizhen Building, No. 7 Zhichun Road, Haidian District, Beijing, 100088

Patentee after: Beijing Ziguang Communication Technology Group Co.,Ltd.

Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466

Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd.