CN113518046B - 一种报文转发方法及框式交换设备 - Google Patents
一种报文转发方法及框式交换设备 Download PDFInfo
- Publication number
- CN113518046B CN113518046B CN202110345299.4A CN202110345299A CN113518046B CN 113518046 B CN113518046 B CN 113518046B CN 202110345299 A CN202110345299 A CN 202110345299A CN 113518046 B CN113518046 B CN 113518046B
- Authority
- CN
- China
- Prior art keywords
- data message
- message
- output port
- chip
- data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000012545 processing Methods 0.000 claims abstract description 94
- 230000003139 buffering effect Effects 0.000 claims description 8
- 238000009825 accumulation Methods 0.000 claims description 5
- 238000012217 deletion Methods 0.000 claims 1
- 230000037430 deletion Effects 0.000 claims 1
- 238000005516 engineering process Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/40—Constructional details, e.g. power supply, mechanical construction or backplane
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/205—Quality of Service based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3027—Output queuing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3045—Virtual queuing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种报文转发方法及框式交换设备,该方法应用于框式交换设备中任一接口板中的任一Qos调度芯片,该方法包括:接收该接口板中的包处理芯片转发的来自用户设备的第一数据报文;根据第一数据报文的第一出端口和第一报文优先级,确定用于缓存第一数据报文的VOQ,将其缓存进去;在按照第一出端口对应的未处于反压状态的VOQ所对应的报文优先级从高到低的顺序读取对应的VOQ中的数据报文时,若读取到第一数据报文,为其分配第一报文序列号,并添加进去得到第二数据报文;通过当前轮询到的网板中的包处理芯片,将第二数据报文发送给第一出端口所属的接口板中的Qos调度芯片。本申请在一定程度上避免了转发路径重叠问题的发生。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种报文转发方法及框式交换设备。
背景技术
随着芯片工艺的提升和串化解串器(SERializer/DESerializer,Serdes)技术的飞速发展,框式交换设备中的交换网板中的交叉开关矩阵(CROSSBAR)芯片逐步被包处理芯片所替代。
在一种网络场景下,该场景下的框式交换设备中的多个接口板和多个网板均包括有包处理芯片,这些包处理芯片可以是同一厂家的,也可以是不同厂家的。
当框式交换设备中的某接口板中的包处理芯片在通过该接口板上的某个端口接收到来自用户设备的数据报文后,先提取该数据报文的报文特征(例如,该数据报文的五元组),并根据设定的哈希算法,对提取的报文特征进行哈希运算;然后,该包处理芯片根据哈希结果确定中转该数据报文的网板;最后,该包处理芯片通过确定出的网板中的包处理芯片,将该数据报文发送给该数据报文的出端口所属的接口板中的包处理芯片,由该出端口所属的接口板中的包处理芯片通过该数据报文的出端口,将该数据报文转发出去。
可见,在框式交换设备转发数据报文的转发流程中,可以确保具有相同报文特征的数据报文的转发路径相同,但是,这种转发流程实际上与需要转发的流量强相关,并且,框式交换设备中的接口板中的包处理芯片的服务质量(Quality of Service,Qos)能力较弱,无法避免转发路径重叠的问题,尤其是当单条流量非常大时,可能出现转发路径重叠的链路因超带宽丢包的问题,进而影响用户体验。
例如,如图1所示,从接口板1的端口1进入框式交换设备1且需要从接口板2的端口2转发出去的流量,与从接口板3的端口3进入框式交换设备1且需要从接口板2的端口1转发出去的流量,在网板1到接口板2的路径上容易出现拥塞,从而容易导致这两条流量的相关数据报文叠加超过链路带宽时出现丢包现象。
发明内容
为克服相关技术中存在的问题,本申请提供了一种报文转发方法及框式交换设备。
根据本申请实施例的第一方面,提供一种报文转发方法,所述方法应用于框式交换设备中任一接口板中的任一Qos调度芯片,所述框式交换设备还包括多个网板,且该接口板还包括包处理芯片,所述方法包括:
接收所述包处理芯片转发的来自用户设备的第一数据报文,其中,所述第一数据报文为所述包处理芯片在接收到所述第一数据报文、且根据本地配置的端口与Qos调度芯片的对应关系确定出该Qos调度芯片为所述第一数据报文的入端口对应的Qos调度芯片时转发过来的;
根据所述第一数据报文的第一出端口和所述第一数据报文中携带的第一报文优先级,确定用于缓存所述第一数据报文的虚拟出端口队列(Virtual Output Queue,VOQ),并将所述第一数据报文缓存到确定出的VOQ中;
在按照所述第一出端口对应的未处于反压状态的VOQ所对应的报文优先级从高到低的顺序读取对应的VOQ中的数据报文时,若读取到所述第一数据报文,则按照预设的报文序列号分配规则,为所述第一数据报文分配第一报文序列号,并将其添加到所述第一数据报文中,得到第二数据报文;
通过当前轮询到的网板中的包处理芯片,将所述第二数据报文发送给所述第一出端口所属的接口板中所述第一出端口对应的Qos调度芯片,以使所述第一出端口对应的Qos调度芯片根据所述第二数据报文中携带的所述第一报文序列号、所述第一出端口和所述第一报文优先级,确定用于缓存删除所述第二数据报文中携带的所述第一报文序列号后得到的所述第一数据报文的出端口队列(Output Queue,OQ),并将所述第一数据报文缓存到确定出的OQ中,在需要发送所述第一数据报文时,从确定出的OQ中读取所述第一数据报文,并将所述第一数据报文发送给所述第一出端口所属的接口板中的包处理芯片,以由所述第一出端口所属的接口板中的包处理芯片通过所述第一出端口,将所述第一数据报文转发出去。
根据本申请实施例的第二方面,提供一种框式交换设备,所述框式交换设备包括多个接口板和多个网板,每个接口板中包括有包处理芯片和至少一个Qos调度芯片,每个网板中包括有包处理芯片;
其中,任一接口板中的包处理芯片,用于接收来自用户设备的第一数据报文,并根据本地配置的端口与Qos调度芯片的对应关系,确定需要处理所述第一数据报文的Qos调度芯片,并将所述第一数据报文转发给确定出的Qos调度芯片;
任一接口板中的任一Qos调度芯片,用于在自身为确定出的Qos调度芯片、且接收到所述第一数据报文时,执行以下操作:
根据所述第一数据报文的第一出端口和所述第一数据报文中携带的第一报文优先级,确定用于缓存所述第一数据报文的VOQ,并将所述第一数据报文缓存到确定出的VOQ中;
在按照所述第一出端口对应的未处于反压状态的VOQ所对应的报文优先级从高到低的顺序读取对应的VOQ中的数据报文时,若读取到所述第一数据报文,则按照预设的报文序列号分配规则,为所述第一数据报文分配第一报文序列号,并将其添加到所述第一数据报文中,得到第二数据报文;
通过当前轮询到的网板中的包处理芯片,将所述第二数据报文发送给所述第一出端口所属的接口板中所述第一出端口对应的Qos调度芯片,以使所述第一出端口对应的Qos调度芯片根据所述第二数据报文中携带的所述第一报文序列号、所述第一出端口和所述第一报文优先级,确定用于缓存删除所述第二数据报文中携带的所述第一报文序列号后得到的所述第一数据报文的OQ,并将所述第一数据报文缓存到确定出的OQ中,在需要发送所述第一数据报文时,从确定出的OQ中读取所述第一数据报文,并将所述第一数据报文发送给所述第一出端口所属的接口板中的包处理芯片,以由所述第一出端口所属的接口板中的包处理芯片通过所述第一出端口,将所述第一数据报文转发出去。
本申请的实施例提供的技术方案可以包括以下有益效果:
在本申请实施例中,通过在框式交换设备中的接口板中新增至少一个Qos调度芯片,专门用于协助接口板中的包处理芯片调度该包处理芯片侧接收到的数据报文,并通过轮询网板的方式,将数据报文发送到数据报文的出端口所属的接口板中出端口对应的Qos调度芯片上,最终经由出端口所属的接口板中相应的Qos调度芯片及其连接的包处理芯片转发出去。
可见,在本申请的报文转发流程中,可以在一定程度上避免转发路径的重叠问题的发生,进而提高了用户体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本申请的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的现有的框式交换设备的架构示意图;
图2为本申请实施例提供的一种报文转发方法的流程示意图;
图3为本申请实施例提供的框式交换设备转发数据报文的流程示意图;
图4为本申请实施例提供的框式交换设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
接下来对本申请实施例进行详细说明。
本申请实施例提供了一种报文转发方法,该方法应用于框式交换设备中任一接口板中的任一服务质量Qos调度芯片,该Qos调度芯片可以为现场可编程门阵列(Fiele-Programmable Gate Array,FPGA)芯片等,该框式交换设备还包括多个网板,且该接口板还包括包处理芯片,该方法可以包括如下步骤(如图1所示):
S21、接收包处理芯片转发的来自用户设备的第一数据报文。
S22、根据第一数据报文的第一出端口和第一数据报文中携带的第一报文优先级,确定用于缓存第一数据报文的VOQ,并将第一数据报文缓存到确定出的VOQ中。
S23、在按照第一出端口对应的未处于反压状态的VOQ所对应的报文优先级从高到低的顺序读取对应的VOQ中的数据报文时,若读取到第一数据报文,则按照预设的报文序列号分配规则,为第一数据报文分配第一报文序列号,并将其添加到第一数据报文中,得到第二数据报文。
S24、通过当前轮询到的网板中的包处理芯片,将第二数据报文发送给第一出端口所属的接口板中第一出端口对应的Qos调度芯片,以使第一出端口对应的Qos调度芯片根据第二数据报文中携带的第一报文序列号、第一出端口和第一报文优先级,确定用于缓存删除第二数据报文中携带的第一报文序列号后得到的第一数据报文的出端口队列OQ,并将第一数据报文缓存到确定出的OQ中,在需要发送第一数据报文时,从确定出的OQ中读取第一数据报文,并将第一数据报文发送给第一出端口所属的接口板中的包处理芯片,以由第一出端口所属的接口板中的包处理芯片通过第一出端口,将第一数据报文转发出去。
具体地,在上述步骤S21中,第一数据报文实际上是该接口板中的包处理芯片在接收到第一数据报文、且根据本地配置的端口与Qos调度芯片的对应关系确定出该Qos调度芯片(即,该接口板中的Qos调度芯片)为第一数据报文的入端口对应的Qos调度芯片时转发过来的。
需要说明的是,对于该接口板中的包处理芯片而言,在接收到第一数据报文后,先在本地配置的事先配置的端口与Qos调度芯片的对应关系中,查找第一数据报文的第一出端口对应的Qos调度芯片;然后,再将第一数据报文发送给查找到的Qos调度芯片。
例如,假设框式交换设备1中的接口板1上有端口1、端口2和端口3;假设接口板中包括有包处理芯片1、Qos调度芯片1和Qos调度芯片2;假设事先在包处理芯片1上配置了端口与Qos调度芯片的对应关系,具体为端口1和端口2对应Qos调度芯片1,端口3对应Qos调度芯片。
那么,包处理芯片1在接收到来自用户设备1的数据报文1后,会先在本地配置的端口与Qos调度芯片的对应关系中,查找数据报文1的出端口对应的Qos调度芯片;假设数据报文1的出端口是端口1,那么,包处理芯片1查找到的Qos调度芯片是Qos调度芯片1,此时,包处理芯片1会将数据报文1发送给Qos调度芯片1。
具体地,在上述步骤S22中,该Qos调度芯片可以通过以下方式确定用于缓存第一数据报文的VOQ:
在本地配置的出端口对应的VOQ中,查找第一出端口对应的VOQ;
在查找到的VOQ中,进一步查找第一报文优先级对应的VOQ,并将其确定为用于缓存第一数据报文的VOQ。
需要说明的是,在本申请实施例中,为了提高不同级别的用户的用户体验,可以事先在该Qos调度芯片上按照出端口和报文优先级配置相应的VOQ,在配置的同一出端口对应的VOQ中,不同的VOQ对应不同的报文优先级,这里的报文优先级可以表征用户设备的优先级。
具体地,在上述步骤S23中,对于该Qos调度芯片而言,在读取VOQ中的数据报文时,仅读取未处于反压状态的VOQ中的数据报文,这些
另外,在上述步骤S23中,该Qos调度芯片可以通过以下方式为第一数据报文分配第一报文序列号:
在第一数据报文为该Qos调度芯片接收到的首个出接口为第一出端口的数据报文时,将针对第一出端口设置的初始报文序列号作为第一报文序列号分配给第一数据报文;
在第一数据报文不为该Qos调度芯片接收到的首个出接口为第一出端口的数据报文时,按照预设的累加规则,对为上一个读取到的出端口为第一出端口且需要发往第一出端口所属的接口板中的Qos调度芯片的第三数据报文分配的第二报文序列号进行累加,并将累加后的报文序列号分配给第一数据报文。
需要说明的是,上述预设的累加规则可以设置为累加设定数值等,例如,设定数值可以为1等。
具体地,在上述步骤S24中,该Qos调度芯片通过当前轮询到的网板中的包处理芯片,将第二数据报文发送给第一出端口所属的接口板中的Qos调度芯片。也就是说,在本申请实施例中,针对已分配好报文序列号的数据报文,该Qos调度芯片按照轮询网板的方式选择需要转发数据报文的网板。
在这里,对于框式交换设备中的任一网板而言,该网板中的包处理芯片可以是Broadcom芯片或者Marvel芯片等,可使用标准的以太网接口对接框式交换设备中的接口板中的Qos调度芯片。对于框式交换设备中的任一接口板中的包处理芯片,其厂家可以与网板中的包处理芯片的厂家相同,也可以不同,使得框式交换设备的兼容性较好。
例如,假设对于某台框式交换设备来说,该框式交换设备中的Qos调度芯片A已为需要发往同一个接口板中的同一个Qos调度芯片(例如,Qos调度芯片B)的接口板的数据报文A、数据报文B和数据报文C分配好报文序列号,假设该框式交换设备中包括有网板A和网板B,那么,该Qos调度芯片在发送这3条数据报文时,可以将数据报文A通过网板A发送给Qos调度芯片B,可以将数据报文B通过网板B发送给Qos调度芯片B,可以将数据报文C通过网板A发送给Qos调度芯片B。
进一步地,在本申请实施例中,该Qos调度芯片还可以执行以下操作:
在接收到任一网板中的包处理芯片发送的第四数据报文时,根据第四数据报文中携带的第三报文序列号、第四数据报文的第二出端口和第四数据报文中携带的第二报文优先级,确定用于缓存删除第四数据报文中携带的第三报文序列号后得到的第五数据报文的OQ;
将第五数据报文缓存到确定出的OQ中;
在需要发送第五数据报文时,从缓存第五数据报文的OQ中读取第五数据报文;
将第五数据报文发送给第一包处理芯片,以由第一包处理芯片通过第二出端口,将第五数据报文转发出去。
具体地,在此操作流程中,该Qos调度芯片可以通过以下方式确定用于缓存删除第四数据报文中携带的第三报文序列号后得到的第五数据报文的OQ:
根据第三报文序列号,恢复出待缓存第五数据报文的报文顺序;
在需要缓存第五数据报文时,在本地配置的出端口对应的OQ中,查找第二出端口对应的OQ;
在查找到的OQ中,继续查找第二报文优先级对应的OQ,并将其确定为用于缓存第五数据报文的OQ。
更进一步地,在本申请实施例中,为了更好地调度数据报文,避免丢包,该Qos调度芯片还可以执行以下操作:
在接收到第一出端口所属的接口板中的Qos调度芯片发送的针对确定出的VOQ的反压信号时,将确定出的VOQ的状态更改为反压状态,其中,反压信号为第一出端口所属的接口板中的Qos调度芯片在监测到确定出的OQ中的数据报文达到设定数量时发出的。
需要说明的是,上述设定数量可根据实际经验值来设定。
并且,在本申请实施例中,一旦该Qos调度芯片侧的某个VOQ的状态是反压状态,就意味着VOQ对应的出端口所对应的OQ中的数据报文已达到设定数量,在这种情形下,该Qos调度芯片不再读取该VOQ中的数据报文,只进行正常的缓存操作,以避免丢包。
下面结合具体实施例对上述报文转发方法进行详细说明。
如图3所示,假设框式交换设备3中的接口板中的Qos调度芯片为FPGA芯片,假设框式交换设备3先后接收到出端口均为出端口1但报文优先级均不同的数据报文1、数据报文2、数据报文3和数据报文4。以数据报文4为例,描述一下框式交换设备3转发数据报文4的转发流程,具体如下:
1、框式交换设备3中的接口板31中的包处理芯片311通过入端口1接收数据报文4。
2、包处理芯片311在本地配置的端口与FPGA芯片的对应关系中,查找数据报文4的出端口(即,出端口1)对应的FPGA芯片;假设查找到的FPGA芯片为FPGA芯片312(如图3所示,其他FPGA芯片未示出),此时,包处理芯片311将数据报文4发送给FPGA芯片312。
3、FPGA芯片312接收到包处理芯片311发送的数据报文4后,先在本地配置的出端口对应的VOQ中,查找出端口1对应的VOQ,然后在查找到的VOQ中,进一步查找该报文优先级对应的VOQ,并将数据报文4缓存到查找到的该报文优先级对应的VOQ中(如图3所示的VOQ4)。
然后,FPGA芯片312在按照出端口1对应的未处于反压状态的VOQ所对应的报文优先级从高到低的顺序读取对应的VOQ中的数据报文时,若读取到数据报文4,且为上一个读取到的数据报文3分配的报文序列号为3,则FPGA芯片312为数据报文4分配4(对3累加1得到的),作为数据报文4的报文序列号,并将4添加到数据报文4中,得到添加后的数据报文4。
4、FPGA芯片312通过当前轮询到的网板35中的包处理芯片351,将添加后的数据报文4发送给出端口1所属的接口板(例如,图3所示的接口板36)中出端口1对应的FPGA芯片(例如,图3所示的FPGA芯片361,其他FPGA芯片未示出)。
需要说明的是,对于数据报文1、数据报文2和数据报文3,如图3所示,FPGA芯片312通过网板32中的包处理芯片321,将添加后的数据报文1发送给FPGA芯片361;FPGA芯片312通过网板33中的包处理芯片331,将添加后的数据报文2发送给FPGA芯片361;FPGA芯片312通过网板34中的包处理芯片341,将添加后的数据报文3发送给FPGA芯片361。
5、FPGA芯片361接收到添加后的数据报文4后,先根据添加后的数据报文4中携带的报文序列号,恢复出待缓存数据报文4的报文顺序。假设添加后的数据报文4最先到达FPGA芯片361,那么,需要等到4之前的报文序列号对应的数据报文全部到达FPGA芯片361后再进行相关缓存操作。
然后,FPGA芯片361在需要缓存数据报文4时,在本地配置的出端口对应的OQ中,查找出端口1对应的OQ;在查找到的OQ中,继续查找该报文优先级对应的OQ,并将数据报文4缓存到查找到的该报文优先级对应的OQ中。
最后,FPGA芯片361在需要发送数据报文4(即,轮到发送数据报文4)时,从查找到的该报文优先级对应的OQ中读取数据报文4,并将数据报文4发送给接口板36中的包处理芯片362。
6、包处理芯片362接收到数据报文4后,通过出端口1将4数据报文转发出去。
由以上技术方案可以看出,在本申请实施例中,通过在框式交换设备中的接口板中新增至少一个Qos调度芯片,专门用于协助接口板中的包处理芯片调度该包处理芯片侧接收到的数据报文,并通过轮询网板的方式,将数据报文发送到数据报文的出端口所属的接口板中相应的Qos调度芯片上,最终经由出端口所属的接口板中出端口对应的Qos调度芯片及其连接的包处理芯片转发出去。
可见,在本申请的报文转发流程中,可以在一定程度上避免转发路径的重叠问题的发生,进而提高了用户体验。
基于同一发明构思,本申请还提供了一种框式交换设备,如图4所示,所述框式交换设备包括多个接口板(图4仅示意性地示出了接口板41和接口板42)和多个网板(图4仅示意性地示出了网板43、网板44、网板45和网板46),每个接口板中包括有包处理芯片和至少一个Qos调度芯片,每个网板中包括有包处理芯片。
其中,任一接口板中的包处理芯片,用于接收来自用户设备的第一数据报文,并根据本地配置的端口与Qos调度芯片的对应关系,确定需要处理所述第一数据报文的Qos调度芯片,并将所述第一数据报文转发给确定出的Qos调度芯片;
任一接口板中的任一Qos调度芯片,用于在自身为确定出的Qos调度芯片、且接收到所述第一数据报文时,执行以下操作:
根据所述第一数据报文的第一出端口和所述第一数据报文中携带的第一报文优先级,确定用于缓存所述第一数据报文的虚拟出端口队列VOQ,并将所述第一数据报文缓存到确定出的VOQ中;
在按照所述第一出端口对应的未处于反压状态的VOQ所对应的报文优先级从高到低的顺序读取对应的VOQ中的数据报文时,若读取到所述第一数据报文,则按照预设的报文序列号分配规则,为所述第一数据报文分配第一报文序列号,并将其添加到所述第一数据报文中,得到第二数据报文;
通过当前轮询到的网板中的包处理芯片,将所述第二数据报文发送给所述第一出端口所属的接口板中所述第一出端口对应的Qos调度芯片,以使所述第一出端口对应的Qos调度芯片根据所述第二数据报文中携带的所述第一报文序列号、所述第一出端口和所述第一报文优先级,确定用于缓存删除所述第二数据报文中携带的所述第一报文序列号后得到的所述第一数据报文的出端口队列OQ,并将所述第一数据报文缓存到确定出的OQ中,在需要发送所述第一数据报文时,从确定出的OQ中读取所述第一数据报文,并将所述第一数据报文发送给所述第一出端口所属的接口板中的包处理芯片,以由所述第一出端口所属的接口板中的包处理芯片通过所述第一出端口,将所述第一数据报文转发出去。
优选地,所述任一接口板中的包处理芯片,具体用于:
在本地配置的端口与Qos调度芯片的对应关系中,查找所述第一数据报文的第一出端口对应的Qos调度芯片;
将查找到的Qos调度芯片确定为需要处理所述第一数据报文的Qos调度芯片。
优选地,所述任一接口板中的任一Qos调度芯片,具体用于通过以下方式确定用于缓存所述第一数据报文的VOQ:
在本地配置的出端口对应的VOQ中,查找所述第一出端口对应的VOQ;
在查找到的VOQ中,进一步查找所述第一报文优先级对应的VOQ,并将其确定为用于缓存所述第一数据报文的VOQ。
优选地,所述任一接口板中的任一Qos调度芯片,具体用于通过以下方式为所述第一数据报文分配第一报文序列号:
在所述第一数据报文为该第一Qos调度芯片接收到的首个数据报文时,将初始报文序列号作为第一报文序列号分配给所述第一数据报文;
在所述第一数据报文不为该第一Qos调度芯片接收到的首个数据报文时,按照预设的累加规则,对为上一个读取到的出端口为所述第一出端口且需要发往所述第二Qos调度芯片的第三数据报文分配的第二报文序列号进行累加,并将累加后的报文序列号分配给所述第一数据报文。
优选地,所述任一接口板中的任一Qos调度芯片,还用于:
在接收到任一网板中的包处理芯片发送的第四数据报文时,根据所述第四数据报文中携带的第三报文序列号、所述第四数据报文的第二出端口和所述第四数据报文中携带的第二报文优先级,确定用于缓存删除所述第四数据报文中携带的第三报文序列号后得到的第五数据报文的OQ;
将所述第五数据报文缓存到确定出的OQ中;
在需要发送所述第五数据报文时,从缓存所述第五数据报文的OQ中读取所述第五数据报文;
将所述第五数据报文发送给所述第一包处理芯片,以由所述第一包处理芯片通过所述第二出端口,将所述第五数据报文转发出去。
优选地,所述任一接口板中的任一Qos调度芯片,具体用于通过以下方式确定用于缓存删除所述第四数据报文中携带的第三报文序列号后得到的第五数据报文的OQ:
根据所述第三报文序列号,恢复出待缓存所述第五数据报文的报文顺序;
在需要缓存所述第五数据报文时,在本地配置的出端口对应的OQ中,查找所述第二出端口对应的OQ;
在查找到的OQ中,继续查找所述第二报文优先级对应的OQ,并将其确定为用于缓存所述第五数据报文的OQ。
优选地,所述任一接口板中的任一Qos调度芯片,还用于:
在接收到第二Qos调度芯片发送的针对确定出的VOQ的反压信号时,将确定出的VOQ的状态更改为反压状态,其中,所述反压信号为所述第二Qos调度芯片在监测到确定出的OQ中的数据报文达到设定数量时发出的。
优选地,所述任一接口板中的任一Qos调度芯片为FPGA芯片。
由以上技术方案可以看出,在本申请实施例中,通过在框式交换设备中的接口板中新增至少一个Qos调度芯片,专门用于协助接口板中的包处理芯片调度该包处理芯片侧接收到的数据报文,并通过轮询网板的方式,将数据报文发送到数据报文的出端口所属的接口板中相应的Qos调度芯片上,最终经由出端口所属的接口板中出端口对应的Qos调度芯片及其连接的包处理芯片转发出去。
可见,在本申请的报文转发流程中,可以在一定程度上避免转发路径的重叠问题的发生,进而提高了用户体验。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (14)
1.一种报文转发方法,其特征在于,所述方法应用于框式交换设备中任一接口板中的任一服务质量Qos调度芯片,所述框式交换设备还包括多个网板,且该接口板还包括包处理芯片,所述方法包括:
接收所述包处理芯片转发的来自用户设备的第一数据报文,其中,所述第一数据报文为所述包处理芯片在接收到所述第一数据报文、且根据本地配置的端口与Qos调度芯片的对应关系确定出该Qos调度芯片为所述第一数据报文的入端口对应的Qos调度芯片时转发过来的;
根据所述第一数据报文的第一出端口和所述第一数据报文中携带的第一报文优先级,确定用于缓存所述第一数据报文的虚拟出端口队列VOQ,并将所述第一数据报文缓存到确定出的VOQ中;
在按照所述第一出端口对应的未处于反压状态的VOQ所对应的报文优先级从高到低的顺序读取对应的VOQ中的数据报文时,若读取到所述第一数据报文,则按照预设的报文序列号分配规则,为所述第一数据报文分配第一报文序列号,并将其添加到所述第一数据报文中,得到第二数据报文;
通过当前轮询到的网板中的包处理芯片,将所述第二数据报文发送给所述第一出端口所属的接口板中所述第一出端口对应的Qos调度芯片,以使所述第一出端口对应的Qos调度芯片根据所述第二数据报文中携带的所述第一报文序列号、所述第一出端口和所述第一报文优先级,确定用于缓存删除所述第二数据报文中携带的所述第一报文序列号后得到的所述第一数据报文的出端口队列OQ,并将所述第一数据报文缓存到确定出的OQ中,在需要发送所述第一数据报文时,从确定出的OQ中读取所述第一数据报文,并将所述第一数据报文发送给所述第一出端口所属的接口板中的包处理芯片,以由所述第一出端口所属的接口板中的包处理芯片通过所述第一出端口,将所述第一数据报文转发出去。
2.根据权利要求1所述的方法,其特征在于,通过以下方式确定用于缓存所述第一数据报文的VOQ:
在本地配置的出端口对应的VOQ中,查找所述第一出端口对应的VOQ;
在查找到的VOQ中,进一步查找所述第一报文优先级对应的VOQ,并将其确定为用于缓存所述第一数据报文的VOQ。
3.根据权利要求1所述的方法,其特征在于,通过以下方式为所述第一数据报文分配第一报文序列号:
在所述第一数据报文为该Qos调度芯片接收到的首个出接口为所述第一出端口的数据报文时,将针对所述第一出端口设置的初始报文序列号作为第一报文序列号分配给所述第一数据报文;
在所述第一数据报文不为该Qos调度芯片接收到的首个出接口为所述第一出端口的数据报文时,按照预设的累加规则,对为上一个读取到的出端口为所述第一出端口且需要发往所述第一出端口所属的接口板中的Qos调度芯片的第三数据报文分配的第二报文序列号进行累加,并将累加后的报文序列号分配给所述第一数据报文。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到任一网板中的包处理芯片发送的第四数据报文时,根据所述第四数据报文中携带的第三报文序列号、所述第四数据报文的第二出端口和所述第四数据报文中携带的第二报文优先级,确定用于缓存删除所述第四数据报文中携带的第三报文序列号后得到的第五数据报文的OQ;
将所述第五数据报文缓存到确定出的OQ中;
在需要发送所述第五数据报文时,从缓存所述第五数据报文的OQ中读取所述第五数据报文;
将所述第五数据报文发送给该Qos调度芯片中的包处理芯片,以由该Qos调度芯片中的包处理芯片通过所述第二出端口,将所述第五数据报文转发出去。
5.根据权利要求4所述的方法,其特征在于,通过以下方式确定用于缓存删除所述第四数据报文中携带的第三报文序列号后得到的第五数据报文的OQ:
根据所述第三报文序列号,恢复出待缓存所述第五数据报文的报文顺序;
在需要缓存所述第五数据报文时,在本地配置的出端口对应的OQ中,查找所述第二出端口对应的OQ;
在查找到的OQ中,继续查找所述第二报文优先级对应的OQ,并将其确定为用于缓存所述第五数据报文的OQ。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到所述第一出端口所属的接口板中的Qos调度芯片发送的针对确定出的VOQ的反压信号时,将确定出的VOQ的状态更改为反压状态,其中,所述反压信号为所述第一出端口所属的接口板中的Qos调度芯片在监测到确定出的OQ中的数据报文达到设定数量时发出的。
7.一种框式交换设备,其特征在于,所述框式交换设备包括多个接口板和多个网板,每个接口板中包括有包处理芯片和至少一个服务质量Qos调度芯片,每个网板中包括有包处理芯片;
其中,任一接口板中的包处理芯片,用于接收来自用户设备的第一数据报文,并根据本地配置的端口与Qos调度芯片的对应关系,确定需要处理所述第一数据报文的Qos调度芯片,并将所述第一数据报文转发给确定出的Qos调度芯片;
任一接口板中的任一Qos调度芯片,用于在自身为确定出的Qos调度芯片、且接收到所述第一数据报文时,执行以下操作:
根据所述第一数据报文的第一出端口和所述第一数据报文中携带的第一报文优先级,确定用于缓存所述第一数据报文的虚拟出端口队列VOQ,并将所述第一数据报文缓存到确定出的VOQ中;
在按照所述第一出端口对应的未处于反压状态的VOQ所对应的报文优先级从高到低的顺序读取对应的VOQ中的数据报文时,若读取到所述第一数据报文,则按照预设的报文序列号分配规则,为所述第一数据报文分配第一报文序列号,并将其添加到所述第一数据报文中,得到第二数据报文;
通过当前轮询到的网板中的包处理芯片,将所述第二数据报文发送给所述第一出端口所属的接口板中所述第一出端口对应的Qos调度芯片,以使所述第一出端口对应的Qos调度芯片根据所述第二数据报文中携带的所述第一报文序列号、所述第一出端口和所述第一报文优先级,确定用于缓存删除所述第二数据报文中携带的所述第一报文序列号后得到的所述第一数据报文的出端口队列OQ,并将所述第一数据报文缓存到确定出的OQ中,在需要发送所述第一数据报文时,从确定出的OQ中读取所述第一数据报文,并将所述第一数据报文发送给所述第一出端口所属的接口板中的包处理芯片,以由所述第一出端口所属的接口板中的包处理芯片通过所述第一出端口,将所述第一数据报文转发出去。
8.根据权利要求7所述的框式交换设备,其特征在于,所述任一接口板中的包处理芯片,具体用于:
在本地配置的端口与Qos调度芯片的对应关系中,查找所述第一数据报文的第一出端口对应的Qos调度芯片;
将查找到的Qos调度芯片确定为需要处理所述第一数据报文的Qos调度芯片。
9.根据权利要求7所述的框式交换设备,其特征在于,所述任一接口板中的任一Qos调度芯片,具体用于通过以下方式确定用于缓存所述第一数据报文的VOQ:
在本地配置的出端口对应的VOQ中,查找所述第一出端口对应的VOQ;
在查找到的VOQ中,进一步查找所述第一报文优先级对应的VOQ,并将其确定为用于缓存所述第一数据报文的VOQ。
10.根据权利要求7所述的框式交换设备,其特征在于,所述任一接口板中的任一Qos调度芯片,具体用于通过以下方式为所述第一数据报文分配第一报文序列号:
在所述第一数据报文为该处理所述第一数据报文的Qos调度芯片接收到的首个数据报文时,将初始报文序列号作为第一报文序列号分配给所述第一数据报文;
在所述第一数据报文不为该处理所述第一数据报文的Qos调度芯片接收到的首个数据报文时,按照预设的累加规则,对为上一个读取到的出端口为所述第一出端口且需要发往所述第一出端口对应的Qos调度芯片的第三数据报文分配的第二报文序列号进行累加,并将累加后的报文序列号分配给所述第一数据报文。
11.根据权利要求7所述的框式交换设备,其特征在于,所述任一接口板中的任一Qos调度芯片,还用于:
在接收到任一网板中的包处理芯片发送的第四数据报文时,根据所述第四数据报文中携带的第三报文序列号、所述第四数据报文的第二出端口和所述第四数据报文中携带的第二报文优先级,确定用于缓存删除所述第四数据报文中携带的第三报文序列号后得到的第五数据报文的OQ;
将所述第五数据报文缓存到确定出的OQ中;
在需要发送所述第五数据报文时,从缓存所述第五数据报文的OQ中读取所述第五数据报文;
将所述第五数据报文发送给所述第一出端口所属的接口板中的包处理芯片,以由所述第一出端口所属的接口板中的包处理芯片通过所述第二出端口,将所述第五数据报文转发出去。
12.根据权利要求11所述的框式交换设备,其特征在于,所述任一接口板中的任一Qos调度芯片,具体用于通过以下方式确定用于缓存删除所述第四数据报文中携带的第三报文序列号后得到的第五数据报文的OQ:
根据所述第三报文序列号,恢复出待缓存所述第五数据报文的报文顺序;
在需要缓存所述第五数据报文时,在本地配置的出端口对应的OQ中,查找所述第二出端口对应的OQ;
在查找到的OQ中,继续查找所述第二报文优先级对应的OQ,并将其确定为用于缓存所述第五数据报文的OQ。
13.根据权利要求7所述的框式交换设备,其特征在于,所述任一接口板中的任一Qos调度芯片,还用于:
在接收到第二Qos调度芯片发送的针对确定出的VOQ的反压信号时,将确定出的VOQ的状态更改为反压状态,其中,所述反压信号为所述第二Qos调度芯片在监测到确定出的OQ中的数据报文达到设定数量时发出的。
14.根据权利要求7所述的框式交换设备,其特征在于,所述任一接口板中的任一Qos调度芯片为现场可编程门阵列FPGA芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110345299.4A CN113518046B (zh) | 2021-03-31 | 2021-03-31 | 一种报文转发方法及框式交换设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110345299.4A CN113518046B (zh) | 2021-03-31 | 2021-03-31 | 一种报文转发方法及框式交换设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113518046A CN113518046A (zh) | 2021-10-19 |
CN113518046B true CN113518046B (zh) | 2023-12-26 |
Family
ID=78062046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110345299.4A Active CN113518046B (zh) | 2021-03-31 | 2021-03-31 | 一种报文转发方法及框式交换设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113518046B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116074236A (zh) * | 2021-10-29 | 2023-05-05 | 华为技术有限公司 | 报文转发方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101567855A (zh) * | 2009-06-11 | 2009-10-28 | 杭州华三通信技术有限公司 | 分布式包交换系统和分布式包交换方法 |
CN108259355A (zh) * | 2014-12-30 | 2018-07-06 | 华为技术有限公司 | 一种报文转发方法和装置 |
US10721187B1 (en) * | 2017-05-18 | 2020-07-21 | Juniper Networks, Inc. | Emulating output queued behavior in a virtual output queue switch |
CN112311594A (zh) * | 2020-09-30 | 2021-02-02 | 新华三技术有限公司合肥分公司 | 一种规则下发方法、装置及网络设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7706394B2 (en) * | 2003-07-23 | 2010-04-27 | International Business Machines Corporation | System and method for collapsing VOQ's of a packet switch fabric |
US8817807B2 (en) * | 2012-06-11 | 2014-08-26 | Cisco Technology, Inc. | System and method for distributed resource control of switches in a network environment |
CN104348751B (zh) * | 2013-07-31 | 2019-03-12 | 中兴通讯股份有限公司 | 虚拟输出队列授权管理方法及装置 |
-
2021
- 2021-03-31 CN CN202110345299.4A patent/CN113518046B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101567855A (zh) * | 2009-06-11 | 2009-10-28 | 杭州华三通信技术有限公司 | 分布式包交换系统和分布式包交换方法 |
CN108259355A (zh) * | 2014-12-30 | 2018-07-06 | 华为技术有限公司 | 一种报文转发方法和装置 |
US10721187B1 (en) * | 2017-05-18 | 2020-07-21 | Juniper Networks, Inc. | Emulating output queued behavior in a virtual output queue switch |
CN112311594A (zh) * | 2020-09-30 | 2021-02-02 | 新华三技术有限公司合肥分公司 | 一种规则下发方法、装置及网络设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113518046A (zh) | 2021-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6938766B2 (ja) | パケット制御方法およびネットワーク装置 | |
US9313115B2 (en) | Traffic generator with priority flow control | |
US10129151B2 (en) | Traffic management implementation method and apparatus, and network device | |
US7221647B2 (en) | Packet communication apparatus and controlling method thereof | |
US8547843B2 (en) | System, method, and computer program product for controlling output port utilization | |
US6920145B2 (en) | Packet switch device and scheduling control method | |
US6741562B1 (en) | Apparatus and methods for managing packets in a broadband data stream | |
CN100553199C (zh) | 基于pcie交换网的组播实现方法、系统及设备 | |
US20220303217A1 (en) | Data Forwarding Method, Data Buffering Method, Apparatus, and Related Device | |
US6392996B1 (en) | Method and apparatus for frame peeking | |
CN101567855B (zh) | 分布式包交换系统和分布式包交换方法 | |
US6473815B1 (en) | Queue sharing | |
US10153962B2 (en) | Generating high-speed test traffic in a network switch | |
US20010030961A1 (en) | High-speed router | |
CN116114233A (zh) | 自动流管理 | |
CN103828313B (zh) | 网络系统、前端单元和控制消息传输速率降低方法 | |
CN113518046B (zh) | 一种报文转发方法及框式交换设备 | |
US8031682B2 (en) | Apparatus and method for aggregating and switching traffic in subscriber network | |
US9094290B2 (en) | Measuring and displaying bandwidth contention | |
JPWO2011074052A1 (ja) | 通信装置、統計情報収集制御装置および統計情報収集制御方法 | |
CN113612698A (zh) | 一种数据包发送方法及装置 | |
CN113422741B (zh) | 一种时间触发以太网交换机结构 | |
US10541935B2 (en) | Network processors | |
JP4252003B2 (ja) | 伝送装置 | |
US8441953B1 (en) | Reordering with fast time out |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |