CN115955440A - 防丢包方法及相关装置 - Google Patents
防丢包方法及相关装置 Download PDFInfo
- Publication number
- CN115955440A CN115955440A CN202211735122.6A CN202211735122A CN115955440A CN 115955440 A CN115955440 A CN 115955440A CN 202211735122 A CN202211735122 A CN 202211735122A CN 115955440 A CN115955440 A CN 115955440A
- Authority
- CN
- China
- Prior art keywords
- port
- mesh
- preset
- level
- sending
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供的防丢包方法及相关装置,涉及数据网络技术领域。所述防丢包方法应用于网卡的交换芯片,首先,生成携带有网片的端口的buffer拥塞等级的流控帧;然后,将流控帧发送给线卡的交换芯片,以使线卡的交换芯片根据网片的端口的buffer拥塞等级,调整向网片的端口发送数据报文的速率,从而避免网卡的端口因拥塞出现丢包。
Description
技术领域
本发明涉及数据网络技术领域,具体而言,涉及一种防丢包方法及相关装置。
背景技术
网络交换机机架由多块线卡以及网片组成,每块线卡以及网片上有交换芯片,用于交换数据报文。任何一个线卡的面板端口进来的数据报文可以通过本线卡转发,即从本线卡的任何一个端口出去,数据报文也可以通过线卡->网片->线卡的方式转发。
由于线卡以及网片的面板端口的传输速率固定,因此,任意线卡或网片的接收带宽大于发送带宽时,会发生buffer(缓存)溢出,进而出现丢包情况。
目前的防丢包技术主要是针对线卡出现突发拥塞而提出的,而当线卡以及网片的面板端口传输速率相同时,突发拥塞则会发生在网片上,导致网片的缓存溢出,出现丢包。
发明内容
为了克服现有技术的,本发明实施例提供了一种防丢包方法及相关装置。
本发明实施例的技术方案可以这样实现:
第一方面,本发明实施例提供一种防丢包方法,应用于网络交换机机架中的网片的交换芯片,所述网络交换机机架还包括线卡,所述线卡的交换芯片与所述网片的交换芯片通信连接,所述方法包括:
生成携带有所述网片的端口的buffer拥塞等级的流控帧;
将所述流控帧发送给所述线卡的交换芯片,以使所述线卡的交换芯片根据所述网片的端口的buffer拥塞等级,调整向所述网片的端口发送数据报文的速率,避免所述网卡的端口因拥塞出现丢包。
可选地,在所述生成携带有所述网片的端口的buffer拥塞等级的流控帧之前,所述方法还包括获取所述网片的端口的buffer拥塞等级的步骤,其包括:
获取针对所述网片的端口的报文计数值,其中,所述报文计数值的变化表征所述网片的端口转入或转出数据报文;
根据所述报文计数值,确定所述网片的端口的buffer拥塞等级。
可选地,所述根据所述报文计数值,确定所述网片的端口的buffer拥塞等级的步骤包括:
若所述报文计数值小于第一预设值、且所述网片的端口处于轻度拥塞状态,则确定所述网片的端口的buffer拥塞等级为第一预设等级;
若所述报文计数值小于第二预设值、且所述网片的端口处于中度拥塞状态,则确定所述网片的端口的buffer拥塞等级为第二预设等级;
若所述报文计数值小于第三预设值、且所述网片的端口处于重度拥塞状态,则确定所述网片的端口的buffer拥塞等级为第三预设等级。
可选地,所述根据所述报文计数值,确定所述网片的端口的buffer拥塞等级的步骤还包括:
若所述报文计数值大于第二预设值、且所述网片的端口处于不拥塞状态,则确定所述网片的端口的buffer拥塞等级为第二预设等级;
若所述报文计数值大于第三预设值、且所述网片的端口处于轻度拥塞状态,则确定所述网片的端口的buffer拥塞等级为第三预设等级;
若所述报文计数值大于第四预设值、且所述网片的端口处于中度拥塞状态,则确定所述网片的端口的buffer拥塞等级为第四预设等级。
第二方面,本发明实施例提供一种防丢包方法,应用于网络交换机机架中的线卡的交换芯片,所述网络交换机机架还包括网片,所述网片的交换芯片与所述线卡的交换芯片通信连接,所述方法包括:
接收所述网片的交换芯片发送的流控帧,所述流控帧携带有所述网片的端口的buffer拥塞等级;
根据所述网片的端口的buffer拥塞等级,调整向所述网片的端口发送数据报文的速率,以避免所述网卡的端口因拥塞出现丢包。
可选地,所述根据所述网片的端口的buffer拥塞等级,调整向所述网片的端口发送数据报文的速率的步骤包括:
若所述网片的端口的buffer拥塞等级为第一预设等级,则将向所述网片的端口发送数据报文的速率提高至预设最大速率;
若所述网片的端口的buffer拥塞等级为第二预设等级,则将向所述网片的端口发送数据报文的速率按照第一预设降幅进行降低;
若所述网片的端口的buffer拥塞等级为第三预设等级,则将向所述网片的端口发送数据报文的速率按照第二预设降幅进行降低,其中,所述第二预设降幅大于所述第一预设降幅;
若所述网片的端口的buffer拥塞等级为第四预设等级,则将向所述网片的端口发送数据报文的速率降低至预设最小速率。
可选地,所述方法还包括:
在将向所述网片的端口发送数据报文的速率降低后,控制所述线卡的计数器开始计数;
若检测到所述计数器的值大于预设阈值,则将向所述网片的端口发送数据报文的速率在预设时间范围内逐步提高至所述预设最大速率。
第三方面,本发明实施例提供一种防丢包装置,应用于网络交换机机架中的网片的交换芯片,所述网络交换机机架还包括线卡,所述线卡的交换芯片与所述网片的交换芯片通信连接,所述装置包括:
生成模块,用于生成携带有所述网片的端口的buffer拥塞等级的流控帧;
发送模块,用于将所述流控帧发送给所述线卡的交换芯片,以使所述线卡的交换芯片根据所述网片的端口的buffer拥塞等级,调整向所述网片的端口发送数据报文的速率,避免所述网卡的端口因拥塞出现丢包。
第四方面,本发明实施例提供一种防丢包装置,应用于网络交换机机架中的线卡的交换芯片,所述网络交换机机架还包括网片,所述网片的交换芯片与所述线卡的交换芯片通信连接,所述装置包括:
接收模块,用于接收所述网片的交换芯片发送的流控帧,所述流控帧携带有所述网片的端口的buffer拥塞等级;
调整模块,用于根据所述网片的端口的buffer拥塞等级,调整向所述网片的端口发送数据报文的速率,以避免所述网卡的端口因拥塞出现丢包。
第五方面,本发明实施例提供一种交换芯片,所述交换芯片存在逻辑器件,所述逻辑器件烧录有计算机程序,所述计算机程序被执行时实现如第一方面所述的防丢包方法。
第六方面,本发明实施例提供一种交换芯片,所述交换芯片存在逻辑器件,所述逻辑器件烧录有计算机程序,所述计算机程序被执行时实现如第二方面所述的防丢包方法。
第七方面,本发明实施例提供一种网络交换机机架,所述网络交换机机架包括多个网片和多个线卡,每个所述网片上均存在如第五方面所述的交换芯片,每个所述线卡上均存在如第六方面所述的交换芯片。
第三方面,本发明实施例提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被执行时实现如第一方面所述的防丢包方法或如第二方面所述的防丢包方法。
相较于现有技术,本发明实施例提供的应用于网络交换机机架中的网片的交换芯片的防丢包方法,首先,生成携带有网片的端口的buffer拥塞等级的流控帧;然后,将流控帧发送给线卡的交换芯片,以使线卡的交换芯片根据网片的端口的buffer拥塞等级,调整向网片的端口发送数据报文的速率。由于本发明实施例例通过向线卡的交换芯片发送携带有网片的端口的buffer拥塞等级的流控帧,使线卡的交换芯片根据网片的端口的buffer拥塞等级,调整向网片的端口发送数据报文的速率,从而避免网卡的端口因拥塞出现丢包。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的一种网络交换机机架的结构示意图;
图2为本发明实施例提供的一种数据报文转发过程的示例图一;
图3为本发明实施例提供的一种数据报文转发过程的示例图二;
图4为本发明实施例提供的一种数据报文转发过程的示例图三;
图5为本发明实施例提供的一种应用于网片的交换芯片的防丢包方法的流程示意图;
图6为本发明实施例提供的一种获取buffer拥塞等级的方法的流程示意图;
图7为本发明实施例提供的一种部署在网卡的交换芯片中的端口资源管理装置的功能单元框图;
图8为本发明实施例提供的一种应用于线卡的交换芯片的防丢包方法的流程示意图;
图9为本发明实施例提供的一种应用于网片的交换芯片的防丢包装置的功能单元框图;
图10为本发明实施例提供的一种应用于线片的交换芯片的防丢包装置的功能单元框图。
图标:100-应用于网片的交换芯片的防丢包装置;101-生成模块;102-发送模块;103-获取模块;200-应用于线片的交换芯片的防丢包装置;201-接收模块;202-调整模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
如图1所示,网络交换机机架由多块线卡以及网片组成,每块线卡以及网片上有交换芯片,用于交换数据报文。
任何一个线卡的面板端口进来的数据报文可以通过本线卡转发,即从本线卡的任何一个面板端口出去,同时也可以通过线卡->网片->线卡的方式转发,需要注意地是,数据报文的转发过程中不能丢包。
通常线卡的每个面板端口传输速率固定,当其他线卡的端口同时往同一个线卡的某个面板端口发送数据报文时,由于该线卡的接收带宽比发送带宽高,导致该线卡来不及将数据报文发送出去,便会使该线卡的缓存溢出,进而出现丢包。
示例性地,如图2所示,假设每个线卡的面板端口传输速率均为100Gbps,线卡2的面板端口P0和线卡3的面板端口P0同时往线卡1的面板端口P1发送数据报文,且均以100Gbps全速的方式发送,也就是说,线卡1会通过网片1接收200Gbps的数据包往P1发送,由于P1的端口速率只有100Gbps,那么必然会导致P1端口buffer溢出,进而出现丢包。
传统解决方案是在线卡上通过分发令牌的方式,解决端口buffer溢出的问题,由于令牌来回响应与处理时间较长,端口buffer需要足够深才可以。
示例性地,如图3所示,假设线卡1的面板端口P1的buffer有1000个单位(每个单位能最多能存储256字节),分发给线卡2,线卡3..线卡m各k个,其中k*m<1000,线卡2和3各自发送的数据报文如果已经占用了k个buffer,那么不再往线卡1的P1发送数据报文,直到线卡1的P1再给线卡2和线卡3发送新的令牌。也就是说,即使线卡2和线卡3加起来以200Gbps的速率往线卡1的P1发送,但是因为发送的报文占用buffer有限,即使P1来不及将数据报文转出,也不至于会超过P1的buffer数量,从而导致丢包。
然而,传统解决方案只是解决了线卡与线卡之间的突发问题。如图4所示,如果网片1与线卡1的面板端口的传输速率是100Gbps,那么突发拥塞会发生在网片1,网片的端口的数据报文转出速率(100Gbps)小于转入速率(200Gbps),导致buffer溢出,进而出现丢包。
为了解决因网片发生突发拥塞而使数据报文的转发过程出现丢包,本发明实施例提供了一种应用于网片的交换芯片的防丢包方法,下面将进行详细介绍。
请参照图5,该防丢包方法包括步骤S101~S102。
S101,生成携带有所述网片的端口的buffer拥塞等级的流控帧。
其中,流控帧包括但不限于chip id、port id、Priority和Congestion Level。
在发送buffer拥塞时,网片的交换芯片将自身的chip id填入流控帧,线卡的交换芯片收到流控帧后,根据chip id便可获知是哪个网片出现了拥塞。
网片出现拥塞的端口可以是一个也可以是多个,在本发明实施例中,可以使用bitmap的方式来表示端口的port id,例如,bit0表示port 0,bit1表示port1,以此类推,可以根据需求做不同的设置。在发送拥塞时,网片的交换芯片将发生拥塞的端口的port id写入流控帧,线卡芯片收到流控帧后,根据port id可以获知是哪个网片的哪个端口出现了拥塞。
Priority是用于表述出现拥塞的端口中具体是哪个优先级或者子通道出现拥塞,可以根据需求进行扩展或者取消。
Congestion Level,即buffer拥塞等级,在本发明实施例中可以通过设置多个buffer拥塞等级,来使降速和提速相对比较平滑,不至于过渡浪费端口带宽。
S102,将流控帧发送给线卡的交换芯片,以使线卡的交换芯片根据网片的端口的buffer拥塞等级,调整向网片的端口发送数据报文的速率,避免网卡的端口因拥塞出现丢包。
其中,buffer拥塞等级表征端口的buffer拥塞程度。
示例性地,假设存在4个buffer拥塞等级,分别为等级0、等级1、等级2和等级3,等级0,表示端口buffer未拥塞;等级1,表示端口buffer出现轻微拥塞;等级2,表示端口buffer出现中度拥塞;等级3,表示端口buffer出现严重拥塞。
本发明实施例中,在执行步骤S101之前,需先获取所述网片的端口的buffer拥塞等级,如图6所示,其实现过程可以包括步骤S201~S202。
S201,获取针对网片的端口的报文计数值。
其中,报文计数值的变化表征网片的端口转入或转出数据报文。
网片的交换芯片部署有端口资源管理装置,如图7所示,端口资源管理装置包括报文转入模块、报文转出模块和端口资源计数模块。
当数据报文被计划从某一个端口转发出去的时,报文转入模块完成数据报文的缓存操作,并且给端口资源计数模块发起计数请求,内容为增加报文个数或报文长度计数。
当数据报文完成处理并向端口进行转出行为的时,报文转出模块将数据报文从缓存中取出发送,并向端口资源计数模块发起计数请求,内容为减少报文个数或报文长度计数。
在本发明实施例中,如果一个数据报文计划从某一个端口转发,但是由于端口暂时没有能力处理,那么这个数据报文就会留存在缓存中,也就是说,当一个突发流量产生时,如果端口没有足够的能力处理,那么这些突发流量的数据报文都会被暂存在缓存中,端口资源计数模块中的计数器就会维持一个比较高的数值。
当突发流量结束消失,之前缓存的报文仍然在继续从缓存中取出并转发,此时,端口资源计数模块中的计数器逐步减小,当计数器减小到一个比较小的值,说明突发流量的影响消失。
可以理解地,报文计数值就是指端口资源计数模块中的计数器的值。
S202,根据报文计数值,确定网片的端口的buffer拥塞等级。
在本发明实施例中,可以通过对报文计数值设置多个阈值,根据报文计数值与设置的阈值的比较结果,确定网片的端口的buffer拥塞等级,可以理解地,阈值的大小和个数可根据实际需要进行设置,相应地,buffer拥塞等级的个数可以根据实际需求进行设置。
在一种可能的实现方式中,buffer拥塞等级可以包括第一预设等级、第二预设等级、第三预设等级和第四预设等级,并且第一预设等级、第二预设等级、第三预设等级和第四预设等级表征端口的buffer拥塞程度逐步递增。
可选地,步骤S202的实现过程存在以下六种情况:
情况1,若报文计数值小于第一预设值、且网片的端口处于轻度拥塞状态,则确定网片的端口的buffer拥塞等级为第一预设等级;
情况2,若报文计数值小于第二预设值、且网片的端口处于中度拥塞状态,则确定网片的端口的buffer拥塞等级为第二预设等级;
情况3,若报文计数值小于第三预设值、且网片的端口处于重度拥塞状态,则确定网片的端口的buffer拥塞等级为第三预设等级;
情况4,若报文计数值大于第二预设值、且所述网片的端口处于不拥塞状态,则确定网片的端口的buffer拥塞等级为第二预设等级;
情况5,若报文计数值大于第三预设值、且网片的端口处于轻度拥塞状态,则确定网片的端口的buffer拥塞等级为第三预设等级;
情况6,若报文计数值大于第四预设值、且网片的端口处于中度拥塞状态,则确定网片的端口的buffer拥塞等级为第四预设等级。
示例性地,假设第一预设值、第二预设值、第三预设值和第四预设值分别threshold0、threshold1、threshold2和threshold3。其中,它们的大小满足threshold0<threshold1<threshold2<threshold3。
第一预设等级、第二预设等级、第三预设等级和第四预设等级分别用等级0、等级1、等级2和等级3表示。
利用threshold0、threshold1、threshold2和threshold3判断端口的buffer拥塞程度,即确定端口的buffer拥塞等级。
可以理解地,当报文计数值小于threshold0时,并且当前端口处于轻度拥塞状态,那么端口将从轻度拥塞状态转变为不拥塞状态,对应的buffer拥塞等级为等级0。
当报文计数值小于threshold1时,并且当前端口处于中度拥塞状态,那么端口将从中度拥塞状态转变为轻度拥塞状态,对应的buffer拥塞等级为等级1。
当报文计数值小于threshold2时,并且当前端口处于重度拥塞状态,那么端口将从重度拥塞状态转变为中度拥塞状态,对应的buffer拥塞等级为等级2。
当报文计数值大于threshold1时,并且当前端口处于不拥塞状态,那么端口将从不拥塞状态转变为轻度拥塞状态,对应的buffer拥塞等级为等级1。
当报文计数值大于threshold2时,并且当前端口处于轻度拥塞状态,那么端口将从轻度拥塞状态转变为中度拥塞状态,对应的buffer拥塞等级为等级2。
当报文计数值大于threshold3时,并且当前端口处于中度拥塞状态,那么端口将从中度拥塞状态转变为重度拥塞状态,对应的buffer拥塞等级为等级3。
本发明实施例还提供了一种应用于线片的交换芯片的防丢包方法,下面将进行详细介绍。
请参照图8,该防丢包方法包括步骤S301~S302。
S301,接收网片的交换芯片发送的流控帧。
其中,流控帧携带有网片的端口的buffer拥塞等级。
S302,根据网片的端口的buffer拥塞等级,调整向网片的端口发送数据报文的速率,以避免网卡的端口因拥塞出现丢包。
可选地,步骤S302的实现过程存在以下四种情况。
情况1,若网片的端口的buffer拥塞等级为第一预设等级,则将向网片的端口发送数据报文的速率提高至预设最大速率。
情况2,若网片的端口的buffer拥塞等级为第二预设等级,则将向网片的端口发送数据报文的速率按照第一预设降幅进行降低。
情况3,若网片的端口的buffer拥塞等级为第三预设等级,则将向网片的端口发送数据报文的速率按照第二预设降幅进行降低。
情况4,若网片的端口的buffer拥塞等级为第四预设等级,则将向网片的端口发送数据报文的速率降低至预设最小速率。
其中,预设最大速率、第一预设降幅、第二预设降幅以及预设最小速率可以根据实际需要进行设定。
示例性地,假设第一预设等级、第二预设等级、第三预设等级和第四预设等级分别用等级0、等级1、等级2和等级3表示,预设最大速率为100Gbps,预设最小速率为0Gbps,第一预设降幅为80%,第二预设降幅为20%。
等级0,表示端口buffer未拥塞,线卡向网片的端口发送数据报文的速率可以提高到100Gbps;等级1,表示端口buffer出现轻微拥塞,线卡向网片的端口发送数据报文的速率需要少许降低,降至预设最大速率的80%,即100Gbps*80%=80Gbps;等级2,表示端口buffer出现中度拥塞,线卡向网片的端口发送数据报文的速率需要大幅降低降至预设最大速率的20%,即100Gbps*20%=20Gbps;等级3,表示端口buffer出现严重拥塞,线卡需要立即停止向网片的端口发送数据报文,即将线卡向网片的端口发送数据报文的速率降低至0Gbps。
为了减轻网卡的交换芯片频繁向线卡的交换芯片发送流控帧,对于上述情况2~4,该防丢包方法还下述流程。
首先,在将向网片的端口发送数据报文的速率降低后,控制线卡的计数器开始计数。
然后,若检测到计数器的值大于预设阈值,则将向网片的端口发送数据报文的速率在预设时间范围内逐步提高至预设最大速率。
其中,预设阈值可以根据实际需要进行设定。
可以理解地,当网片端口的拥塞程度往更严重一级变化时,线卡的交换芯片收到流控帧后,根据流控帧中的buffer拥塞等级,将向网片的端口发送数据报文的速率降低,并且线卡的计数器开始计数,当计数器的值达到预设阈值时,开始逐步将向网片的端口发送数据报文的速率提高,直到达到预设最大速率,从而可以在多个端口存在buffer拥塞时,可以网卡的交换芯片频繁向线卡的交换芯片发送流控帧的情况。
为了执行上述方法实施例及各个可能的实施方式中的相应步骤,下面给出一种应用于网片的交换芯片的防丢包装置100的实现方式和一种应用于线卡的交换芯片的防丢包装置200。
请参照图9,该应用于网片的交换芯片的防丢包装置100包括生成模块101、发送模块102和获取模块103。
生成模块101,用于生成携带有网片的端口的buffer拥塞等级的流控帧。
发送模块102,用于将流控帧发送给线卡的交换芯片,以使线卡的交换芯片根据网片的端口的buffer拥塞等级,调整向网片的端口发送数据报文的速率,避免网卡的端口因拥塞出现丢包。
可选地,获取模块103用于获取针对网片的端口的报文计数值,其中,报文计数值的变化表征网片的端口转入或转出数据报文;根据报文计数值,确定网片的端口的buffer拥塞等级。
可选地,获取模块103具体用于若报文计数值小于第一预设值、且网片的端口处于轻度拥塞状态,则确定网片的端口的buffer拥塞等级为第一预设等级;若报文计数值小于第二预设值、且所述网片的端口处于中度拥塞状态,则确定网片的端口的buffer拥塞等级为第二预设等级;若报文计数值小于第三预设值、且网片的端口处于重度拥塞状态,则确定网片的端口的buffer拥塞等级为第三预设等级。
可选地,获取模块103还具体用于若报文计数值大于第二预设值、且网片的端口处于不拥塞状态,则确定网片的端口的buffer拥塞等级为第二预设等级;若报文计数值大于第三预设值、且网片的端口处于轻度拥塞状态,则确定网片的端口的buffer拥塞等级为第三预设等级;若报文计数值大于第四预设值、且网片的端口处于中度拥塞状态,则确定网片的端口的buffer拥塞等级为第四预设等级。
请参照图10,该应用于线卡的交换芯片的防丢包装置200包括接收模块201和调整模块202。
接收模块201,用于接收网片的交换芯片发送的流控帧,流控帧携带有网片的端口的buffer拥塞等级。
调整模块202,用于根据网片的端口的buffer拥塞等级,调整向网片的端口发送数据报文的速率,以避免网卡的端口因拥塞出现丢包。
可选地,调整模块202具体用于若网片的端口的buffer拥塞等级为第一预设等级,则将向网片的端口发送数据报文的速率提高至预设最大速率;若所述网片的端口的buffer拥塞等级为第二预设等级,则将向网片的端口发送数据报文的速率按照第一预设降幅进行降低;若网片的端口的buffer拥塞等级为第三预设等级,则将向网片的端口发送数据报文的速率按照第二预设降幅进行降低,其中,第二预设降幅大于第一预设降幅;若网片的端口的buffer拥塞等级为第四预设等级,则将向网片的端口发送数据报文的速率降低至预设最小速率。
可选地,调整模块202还具体用于在将向网片的端口发送数据报文的速率降低后,控制线卡的计数器开始计数;若检测到计数器的值大于预设阈值,则将向网片的端口发送数据报文的速率在预设时间范围内逐步提高至所述预设最大速率。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的应用于网片的交换芯片的防丢包装置100和应用于线卡的交换芯片的防丢包装置200的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明实施例还提供一种安装在网片上的交换芯片,该交换芯片存在逻辑器件,逻辑器件烧录有计算机程序,计算机程序被执行时实现如上述的方法实施例提供的方法中的相关操作。
本发明实施例还提供一种安装在线卡上的交换芯片,该交换芯片存在逻辑器件,逻辑器件烧录有计算机程序,计算机程序被执行时实现如上述的方法实施例提供的方法中的相关操作。
本发明实施例还提供一种包含计算机程序的计算机可读存储介质,计算机程序在被执行时可以用于执行上述的方法实施例提供的方法中的相关操作。
综上,本发明实施例提供的防丢包方法及相关装置,首先,生成携带有网片的端口的buffer拥塞等级的流控帧;然后,将流控帧发送给线卡的交换芯片,以使线卡的交换芯片根据网片的端口的buffer拥塞等级,调整向网片的端口发送数据报文的速率。由于本发明实施例例通过向线卡的交换芯片发送携带有网片的端口的buffer拥塞等级的流控帧,使线卡的交换芯片根据网片的端口的buffer拥塞等级,调整向网片的端口发送数据报文的速率,从而避免网卡的端口因拥塞出现丢包。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (13)
1.一种防丢包方法,其特征在于,应用于网络交换机机架中的网片的交换芯片,所述网络交换机机架还包括线卡,所述线卡的交换芯片与所述网片的交换芯片通信连接,所述方法包括:
生成携带有所述网片的端口的buffer拥塞等级的流控帧;
将所述流控帧发送给所述线卡的交换芯片,以使所述线卡的交换芯片根据所述网片的端口的buffer拥塞等级,调整向所述网片的端口发送数据报文的速率,避免所述网卡的端口因拥塞出现丢包。
2.如权利要求1所述的方法,其特征在于,在所述生成携带有所述网片的端口的buffer拥塞等级的流控帧之前,所述方法还包括获取所述网片的端口的buffer拥塞等级的步骤,其包括:
获取针对所述网片的端口的报文计数值,其中,所述报文计数值的变化表征所述网片的端口转入或转出数据报文;
根据所述报文计数值,确定所述网片的端口的buffer拥塞等级。
3.如权利要求2所述的方法,其特征在于,所述根据所述报文计数值,确定所述网片的端口的buffer拥塞等级的步骤包括:
若所述报文计数值小于第一预设值、且所述网片的端口处于轻度拥塞状态,则确定所述网片的端口的buffer拥塞等级为第一预设等级;
若所述报文计数值小于第二预设值、且所述网片的端口处于中度拥塞状态,则确定所述网片的端口的buffer拥塞等级为第二预设等级;
若所述报文计数值小于第三预设值、且所述网片的端口处于重度拥塞状态,则确定所述网片的端口的buffer拥塞等级为第三预设等级。
4.如权利要求3所述的方法,其特征在于,所述根据所述报文计数值,确定所述网片的端口的buffer拥塞等级的步骤还包括:
若所述报文计数值大于第二预设值、且所述网片的端口处于不拥塞状态,则确定所述网片的端口的buffer拥塞等级为第二预设等级;
若所述报文计数值大于第三预设值、且所述网片的端口处于轻度拥塞状态,则确定所述网片的端口的buffer拥塞等级为第三预设等级;
若所述报文计数值大于第四预设值、且所述网片的端口处于中度拥塞状态,则确定所述网片的端口的buffer拥塞等级为第四预设等级。
5.一种防丢包方法,其特征在于,应用于网络交换机机架中的线卡的交换芯片,所述网络交换机机架还包括网片,所述网片的交换芯片与所述线卡的交换芯片通信连接,所述方法包括:
接收所述网片的交换芯片发送的流控帧,所述流控帧携带有所述网片的端口的buffer拥塞等级;
根据所述网片的端口的buffer拥塞等级,调整向所述网片的端口发送数据报文的速率,以避免所述网卡的端口因拥塞出现丢包。
6.如权利要求5所述的方法,其特征在于,所述根据所述网片的端口的buffer拥塞等级,调整向所述网片的端口发送数据报文的速率的步骤包括:
若所述网片的端口的buffer拥塞等级为第一预设等级,则将向所述网片的端口发送数据报文的速率提高至预设最大速率;
若所述网片的端口的buffer拥塞等级为第二预设等级,则将向所述网片的端口发送数据报文的速率按照第一预设降幅进行降低;
若所述网片的端口的buffer拥塞等级为第三预设等级,则将向所述网片的端口发送数据报文的速率按照第二预设降幅进行降低,其中,所述第二预设降幅大于所述第一预设降幅;
若所述网片的端口的buffer拥塞等级为第四预设等级,则将向所述网片的端口发送数据报文的速率降低至预设最小速率。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
在将向所述网片的端口发送数据报文的速率降低后,控制所述线卡的计数器开始计数;
若检测到所述计数器的值大于预设阈值,则将向所述网片的端口发送数据报文的速率在预设时间范围内逐步提高至所述预设最大速率。
8.一种防丢包装置,其特征在于,应用于网络交换机机架中的网片的交换芯片,所述网络交换机机架还包括线卡,所述线卡的交换芯片与所述网片的交换芯片通信连接,所述装置包括:
生成模块,用于生成携带有所述网片的端口的buffer拥塞等级的流控帧;
发送模块,用于将所述流控帧发送给所述线卡的交换芯片,以使所述线卡的交换芯片根据所述网片的端口的buffer拥塞等级,调整向所述网片的端口发送数据报文的速率,避免所述网卡的端口因拥塞出现丢包。
9.一种防丢包装置,其特征在于,应用于网络交换机机架中的线卡的交换芯片,所述网络交换机机架还包括网片,所述网片的交换芯片与所述线卡的交换芯片通信连接,所述装置包括:
接收模块,用于接收所述网片的交换芯片发送的流控帧,所述流控帧携带有所述网片的端口的buffer拥塞等级;
调整模块,用于根据所述网片的端口的buffer拥塞等级,调整向所述网片的端口发送数据报文的速率,以避免所述网卡的端口因拥塞出现丢包。
10.一种交换芯片,其特征在于,所述交换芯片存在逻辑器件,所述逻辑器件烧录有计算机程序,所述计算机程序被执行时实现如权利要求1~4任一项所述的防丢包方法。
11.一种交换芯片,其特征在于,所述交换芯片存在逻辑器件,所述逻辑器件烧录有计算机程序,所述计算机程序被执行时实现如权利要求5~7任一项所述的防丢包方法。
12.一种网络交换机机架,其特征在于,所述网络交换机机架包括多个网片和多个线卡,每个所述网片上均存在如权利要求10所述的交换芯片,每个所述线卡上均存在如权利要求11所述的交换芯片。
13.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被执行时实现如权利要求1~4任一项所述的防丢包方法或如权利要求5~7任一项所述的防丢包方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211735122.6A CN115955440A (zh) | 2022-12-30 | 2022-12-30 | 防丢包方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211735122.6A CN115955440A (zh) | 2022-12-30 | 2022-12-30 | 防丢包方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115955440A true CN115955440A (zh) | 2023-04-11 |
Family
ID=87297061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211735122.6A Pending CN115955440A (zh) | 2022-12-30 | 2022-12-30 | 防丢包方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115955440A (zh) |
-
2022
- 2022-12-30 CN CN202211735122.6A patent/CN115955440A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110278157B (zh) | 拥塞控制方法及网络设备 | |
US8310934B2 (en) | Method and device for controlling information channel flow | |
US8576850B2 (en) | Band control apparatus, band control method, and storage medium | |
CN107404443B (zh) | 队列缓存资源控制方法及装置、服务器及存储介质 | |
WO2019105317A1 (zh) | 一种业务报文发送的方法、网络设备和*** | |
WO2016202092A1 (zh) | 基于多层队列流控反压的传送方法及装置 | |
CN103297346B (zh) | 一种基于ecn机制的tcp友好速率控制方法 | |
CN103685061A (zh) | 缓存数据控制方法和装置 | |
CN113612696A (zh) | 多主机网络适配器中的拥塞控制度量 | |
CN110830382A (zh) | 报文处理方法和装置、通信设备以及交换电路 | |
KR20040086197A (ko) | 통신시스템에서 흐름제어 방법 | |
CN115955440A (zh) | 防丢包方法及相关装置 | |
CN117176666A (zh) | 网络流量控制方法、装置、交换机、电子设备和存储介质 | |
CN115883465B (zh) | 流量控制方法、装置、服务器、***及存储介质 | |
CN111385223B (zh) | 流控方法、设备、***及存储介质 | |
CN111371692B (zh) | 基于tcp协议的窗口控制方法、装置和电子设备 | |
EP2798881B1 (en) | Shaping data packet traffic | |
CN114553776A (zh) | 一种信号乱序控制与速率自适应的传输装置及其传输方法 | |
CN112073325B (zh) | 数据拥塞控制及带宽预估方法 | |
CN116418745A (zh) | 一种数据交换方法及装置 | |
EP1506644B1 (en) | Shared-communications channel utilization for applications having different class of service requirements | |
CN112787944B (zh) | 流量控制方法、设备及计算机可读存储介质 | |
CN108881061B (zh) | 通信设备和通信方法 | |
CN111813717A (zh) | 一种数据帧存储切换的装置及方法 | |
EP4344155A1 (en) | Packet scheduling method and apparatus |
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 |