04-数据缓冲区配置
本章节下载: 04-数据缓冲区配置 (232.86 KB)
目 录
数据缓冲区用来临时存储报文,以免报文丢失。如图1-1所示,数据缓冲区分为接收缓冲区、发送缓冲区和Headroom缓冲区:
· 接收缓冲区:用来缓存接收的数据。当设备的CPU繁忙时,端口不能立即将收到的报文交给CPU处理,会将数据暂时存储到接收缓冲区;
· 发送缓冲区:用来缓存发送的数据。当网络拥塞时,端口不能立即发送数据,为防止数据丢失,会将数据暂时存储到发送缓冲区;
· Headroom缓冲区:设备优先使用接收缓冲区和发送缓冲区,当这两种数据缓冲区用尽后,设备将使用Headroom数据缓冲区提供额外的报文缓存能力。
发送数据缓冲区和接收数据缓冲区在缓存数据时,都会同时用到cell资源。cell资源用来存储数据包的内容,端口会根据报文的实际大小占用相应大小的cell资源。比如一个cell资源是208字节,当发送的报文是128字节时,端口会给它分配一个cell资源,当发送的报文是300字节时,端口会给它分配两个cell资源。
cell资源又分为共享区域和固定区域。
· 固定区域是按队列划分的,每个队列又按端口均分,如图1-2所示。如果设备CPU繁忙或网络发生拥塞,设备在接收或发送报文时,会根据一定的策略将报文分发到相应的队列。如果该端口的该队列缓冲区满,则放到共享区域中的相应队列;如果共享区域中该队列满,则将报文丢弃。在固定缓冲区中,系统会根据用户的配置给队列预留指定大小的空间,即便该队列没有报文存储需求,其他队列也不能抢占。给队列预留的空间均分给每个端口的,即使某端口的某队列没有报文存储需求,其他端口也不能抢占。
· 共享缓冲区只按队列划分,不再按端口均分,如图1-2所示。系统会根据用户配置以及实际需要收发报文的数量决定每个队列实际可占用的缓冲区的大小。如果某个队列没有报文存储需求,则其他队列会抢占该队列的配额。对于某个队列的缓冲区,所有端口接收或发送的报文采用抢占的方式,先到先得,如果资源耗尽,则后到达的报文将被丢弃。
· 共享缓冲区还可以按照服务池(Service Pool)进行划分,如图1-2所示。服务池是针对不同应用服务划分出来的独立空间,在接收缓冲区、发送缓冲区中的共享缓冲区内划分。同时,用户可以配置指定队列映射到指定服务池,此时该队列只能抢占该服务池的资源,不会影响其它服务池的工作。缺省情况下,所有共享缓冲区均属于Service Pool 0。
用户可以使用以下两种方式配置数据缓冲区:
· 配置Burst功能自动分配缓冲区
· 手工配置数据缓冲区
需要注意的是,以上两种数据缓冲区的配置方式不能同时使用,如果已经使用某一种方式进行了配置,则必须先取消该方式的配置之后,才能使用另外一种方式进行配置。否则,配置失败。
数据缓冲区的配置比较复杂,而且对设备的转发功能有重要的影响,建议用户不要轻易修改数据缓冲区的缺省参数。在需要较大的缓存空间时,建议使用Burst功能来自动分配缓冲区。
数据缓冲区配置任务如下:
· (可选)配置数据缓冲区监控功能
· (可选)配置数据缓冲区告警功能
在下列情况下,Burst功能可以提供更好的报文缓存功能和流量转发性能:
· 报文从高速链路进入设备,由低速链路转发出去;
· 报文从相同速率的多个接口同时进入设备,由一个相同速率的接口转发出去。
数据缓冲区自动分配功能仅对已知单播报文生效。
(1) 进入系统视图。
system-view
(2) 开启Burst功能。
burst-mode enable
缺省情况下,未开启Burst功能。
设备上整个数据缓冲区的大小是固定的,用户可以手工配置共享区域的大小,其余部分将自动成为固定区域。
缺省情况下,所有队列均分共享区域/固定区域。用户可以手工调整指定队列最多可使用的共享区域/固定区域的大小,其它未配置的队列最多可使用的共享区域/固定区域的大小仍遵循缺省值。
system-view
(2) 配置数据缓冲区分配规则。
¡ 配置服务池最多可使用的共享区域的大小。
(独立运行模式)
buffer ingress slot slot-number cell service-pool sp-id shared ratio ratio
(IRF模式)
buffer ingress chassis chassis-number slot slot-number cell service-pool sp-id shared ratio ratio
缺省情况下,服务池0可使用的共享区域的大小为100%。
(3) 应用数据缓冲区分配规则。
buffer apply
执行本命令后,所配置的数据缓冲区分配规则才会生效。如果需要修改数据缓冲区分配规则,需要先取消应用,再修改分配规则并重新应用。
数据缓冲区中的固定区域是按队列划分的,每个队列又按端口均分。在报文存储时,即便某队列没有报文存储需求,其他队列也不能抢占。通过本功能可以调整接口下指定队列最多可使用固定区域的比例。其它未配置的队列则均分剩余的固定区域。
接口下所有队列所配置的可使用的固定区域大小之和,不应超过可配置的总固定区域大小,否则配置失败。
对于配置队列最多可使用的固定区域的大小,接口下的配置的优先级高于系统下的配置,即如果针对某队列在接口视图及系统视图下均做了配置,则接口视图下的配置生效。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置队列最多可使用的固定区域的大小。
buffer egress cell queue queue-id guaranteed ratio ratio
缺省情况下,所有队列最多可使用的固定区域大小均为13%。
数据缓冲区中的共享区域是按队列划分。在报文存储时,如果某队列没有报文存储需求,其他队列也可以抢占该队列的存储资源。通过本功能可以调整接口下指定队列最多可使用共享区域的大小,其它未配置的队列最多可使用的共享区域的大小仍遵循缺省值。最终,各队列最多可使用的共享区域的大小将由芯片根据buffer shared配置,以及实际需要收发报文的数量决定。
对于配置队列最多可使用的共享区域的大小,接口下的配置的优先级高于系统下的配置,即如果针对某队列在接口视图及系统视图下均做了配置,则接口视图下的配置生效。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置队列最多可使用的共享区域的大小。
buffer egress cell queue queue-id shared ratio ratio
缺省情况下,所有队列最多可使用的共享区域大小均为20%。
配置本功能后,队列将使用指定服务池进行报文存储。此时该队列只能抢占该服务池的资源,不会影响其它服务池的工作
由于队列与队列中缓存的报文的802.1p优先级存在映射关系,即dot1p-lp映射表,所以:
· 对于发送缓冲区,本命令中配置的queue-id指队列ID,而非队列中缓存的报文的802.1p优先级值。
· 对于接收缓冲区,本命令中配置的queue-id指报文的802.1p优先级,而非缓存此类报文的队列的ID。
通过buffer service-pool shared命令配置服务池最多可使用的共享区域的比例。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置队列与服务池的映射关系。
buffer ingress queue queue-id map-to service-pool sp-id
缺省情况下,所有队列均映射到服务池0。
用户可以设置接口使用数据缓冲区的门限值,设备通过该值来判断接口当前是否处于超量使用缓冲区的状态。当接口上某一队列中需要处理的报文增多,造成该接口对数据缓冲区的使用比例超过设定的门限值时,系统会为该队列增加一次超量使用缓冲区的计数,以此监控数据缓冲区的使用情况。
(1) 进入系统视图。
system-view
(2) 配置接口的数据缓冲区使用门限值。
(独立运行模式)
buffer usage threshold slot slot-number ratio ratio
(IRF模式)
buffer usage threshold chassis chassis-number slot slot-number ratio ratio
缺省情况下,接口的数据缓冲区使用门限值为100。
数据缓冲区告警功能需要配合iMC等网管软件使用,数据缓冲区告警包括超门限告警和丢包告警。设备数据缓冲区产生告警后,会周期性的将告警信息上送iMC等网管软件,网管软件会生成相应的告警提示,方便查看设备数据缓冲区的使用情况。
(1) 进入系统视图。
system-view
(2) 配置队列接收或发送缓冲区告警门限值。请至少选择其中一项进行配置。
¡ 配置全局队列接收或发送数据缓冲区使用门限值。
(独立运行模式)
buffer { egress | ingress } usage threshold slot slot-number queue queue-id ratio ratio
(IRF模式)
buffer { egress | ingress } usage threshold chassis chassis-number slot slot-number queue queue-id ratio ratio
缺省情况下,全局所有接口下每个队列的接收或发送数据缓冲区使用门限值均为100%。
¡ 请依次执行以下命令配置接口队列接收或发送数据缓冲区使用门限值。
interface interface-type interface-number
buffer { egress | ingress } usage threshold queue queue-id ratio ratio
缺省情况下,接口使用全局队列接收或发送数据缓冲区使用门限值。这时,无论全局门限值是缺省值还是非缺省值,在接口视图下执行display this [ all ]都不会看到接口当前使用的队列接收或发送数据缓冲区使用门限值。此时,无论在接口视图下使用本命令配置门限值为缺省值还是非缺省值,再执行display this [ all ]都可以看到接口当前使用的队列接收或发送数据缓冲区使用门限值。
¡ 配置所有队列发送缓冲区使用率的告警门限值。
(独立运行模式)
buffer egress usage threshold all-queue slot slot-number ratio ratio
(IRF模式)
buffer egress usage threshold all-queue chassis chassis-number slot slot-number ratio ratio
缺省情况下,所有队列发送缓冲区使用率的告警门限值均为100%。
(3) 开启接收或发送数据缓冲区超门限告警功能。
buffer threshold alarm { egress | ingress } enable
缺省情况下,接收或发送数据缓冲区超门限告警功能处于关闭状态。
(4) (可选)配置接收或发送数据缓冲区超门限告警发送周期。
buffer threshold alarm { egress | ingress } interval interval
缺省情况下,接收或发送数据缓冲区超门限告警发送周期为5秒。
(1) 进入系统视图。
system-view
(2) 配置Headroom缓冲区的门限值。请至少选择其中一项进行配置。
¡ 配置全局Headroom缓冲区的使用门限值。
(独立运行模式)
buffer usage threshold headroom slot slot-number ratio ratio
(IRF模式)
buffer usage threshold headroom chassis chassis-number slot slot-number ratio ratio
缺省情况下,全局所有接口下每个队列的Headroom缓冲区使用门限值均为100%。
¡ 请依次执行以下命令配置接口Headroom缓冲区的使用门限值。
interface interface-type interface-number
buffer usage threshold headroom queue queue-id ratio ratio
缺省情况下,接口使用全局Headroom缓冲区使用门限值。这时,无论全局门限值是缺省值还是非缺省值,在接口视图下执行display this [ all ]都不会看到接口当前使用的Headroom缓冲区使用门限值。此时,无论在接口视图下使用本命令配置门限值为缺省值还是非缺省值,再执行display this [ all ]都可以看到接口当前使用的Headroom缓冲区使用门限值。
(3) 开启Headroom缓冲区超门限告警功能。
buffer threshold alarm headroom enable
缺省情况下,Headroom缓冲区超门限告警功能处于关闭状态。
(4) (可选)配置Headroom缓冲区超门限告警发送周期。
buffer threshold alarm headroom interval interval
缺省情况下,Headroom缓冲区超门限告警发送周期为5秒。
开启本功能后,设备将周期性的将数据缓冲区的丢包信息上送网管服务器。
本功能对Headroom缓冲区不起作用。
(1) 进入系统视图。
system-view
(2) 开启数据缓冲区丢包告警功能。
buffer packet-drop alarm enable
缺省情况下,数据缓冲区丢包告警功能处于关闭状态。
(3) (可选)配置数据缓冲区丢包告警发送周期。
buffer packet-drop alarm interval interval
缺省情况下,数据缓冲区丢包告警发送周期为5秒。
在完成上述配置后,在任意视图下执行display命令可以查看数据缓冲区的手工配置效果。
操作 |
命令 |
显示数据缓冲区的使用率 |
(独立运行模式) display buffer usage [ slot slot-number ] (IRF模式) display buffer usage [ chassis chassis-number slot slot-number ] |
显示接口的数据缓冲区使用统计信息 |
display buffer usage interface [ interface-type [ interface-number ] ] [ verbose ] |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!