03-数据缓冲区配置
本章节下载: 03-数据缓冲区配置 (182.46 KB)
数据缓冲区用来临时存储报文,以免报文丢失。如图1-1所示,数据缓冲区分为接收缓冲区、发送缓冲区和Headroom缓冲区:
· 接收缓冲区:用来缓存接收的数据。当设备的CPU繁忙时,端口不能立即将收到的报文交给CPU处理,会将数据暂时存储到接收缓冲区;
· 发送缓冲区:用来缓存发送的数据。当网络拥塞时,端口不能立即发送数据,为防止数据丢失,会将数据暂时存储到发送缓冲区;
· Headroom缓冲区:设备优先使用接收缓冲区和发送缓冲区,当这两种数据缓冲区用尽后,设备将使用Headroom数据缓冲区提供额外的报文缓存能力。
发送数据缓冲区和接收数据缓冲区在缓存数据时,都会同时用到cell资源。cell资源用来存储数据包的内容,端口会根据报文的实际大小占用相应大小的cell资源。一个cell资源是208字节,假设当发送的报文是128字节时,端口会给它分配一个cell资源,当发送的报文是300字节时,端口会给它分配两个cell资源。
cell资源分为共享区域和固定区域。
· 固定区域是按队列划分的,每个队列又按端口均分,如图1-2所示。如果设备CPU繁忙或网络发生拥塞,设备在接收或发送报文时,会根据一定的策略将报文分发到相应的队列。如果该端口的该队列缓冲区满,则放到共享区域中的相应队列;如果共享区域中该队列满,则将报文丢弃。在固定缓冲区中,系统会根据用户的配置给队列预留指定大小的空间,即便该队列没有报文存储需求,其他队列也不能抢占。给队列预留的空间均分给每个端口的,即使某端口的某队列没有报文存储需求,其他端口也不能抢占。
· 共享缓冲区只按队列划分,不再按端口均分,如图1-2所示。系统会根据用户配置以及实际需要收发报文的数量决定每个队列实际可占用的缓冲区的大小。如果某个队列没有报文存储需求,则其他队列会抢占该队列的配额。对于某个队列的缓冲区,所有端口接收或发送的报文采用抢占的方式,先到先得,如果资源耗尽,则后到达的报文将被丢弃。
用户可以使用以下两种方式配置数据缓冲区:
· 配置Burst功能自动分配缓冲区
· 手工配置数据缓冲区
需要注意的是,以上两种数据缓冲区的配置方式不能同时使用,如果已经使用某一种方式进行了配置,则必须先取消该方式的配置之后,才能使用另外一种方式进行配置。否则,配置失败。
数据缓冲区的配置比较复杂,而且对设备的转发功能有重要的影响,建议用户不要轻易修改数据缓冲区的缺省参数。在需要较大的缓存空间时,建议使用Burst功能来自动分配缓冲区。
数据缓冲区配置任务如下:
· (可选)配置数据缓冲区监控功能
· (可选)配置数据缓冲区告警功能
在下列情况下,Burst功能可以提供更好的报文缓存功能和流量转发性能:
· 广播或者组播报文流量密集,瞬间突发大流量的网络环境中。
· 报文从高速链路进入设备,由低速链路转发出去。
· 报文从相同速率的多个端口同时进入设备,由一个相同速率的端口转发出去。
开启数据缓冲区自动分配功能前后,设备缓冲区的分配情况会有较大的变化,可以通过display buffer命令查看开启前后设备数据缓冲区的分配情况。
(1) 进入系统视图。
system-view
(2) 开启Burst功能。
(独立运行模式)
burst-mode enable
缺省情况下,未开启Burst功能。
设备上整个数据缓冲区的大小是固定的,用户可以手工配置共享区域的大小,其余部分将自动成为固定区域。
缺省情况下,所有队列均分共享区域/固定区域。用户可以手工调整指定队列最多可使用的共享区域/固定区域的大小,其它未配置的队列最多可使用的共享区域/固定区域的大小仍遵循缺省值。
system-view
(2) 配置数据缓冲区分配规则。请至少选择其中一项进行配置。
¡ 配置数据缓冲区中共享区域的大小。
(独立运行模式)
buffer egress [ slot slot-number ] cell total-shared ratio ratio
(IRF模式)
buffer egress [ chassis chassis-number slot slot-number ] cell total-shared ratio ratio
缺省情况下,cell缓冲区中共享区域所占比例为100%。
¡ 配置队列最多可使用的共享区域的大小。
(独立运行模式)
buffer egress [ slot slot-number ] cell queue queue-id shared ratio ratio
(IRF模式)
buffer egress [ chassis chassis-number slot slot-number ] cell queue queue-id shared ratio ratio
缺省情况下,每个队列最多可使用的共享区域比例均为20%。
各队列最多可使用的共享区域的大小将根据buffer queue shared配置,以及实际需要收发报文的数量决定。
¡ 配置队列最多可使用的固定区域的大小。
(独立运行模式)
buffer egress [ slot slot-number ] cell queue queue-id guaranteed ratio ratio
(IRF模式)
buffer egress [ chassis chassis-number slot slot-number ] cell queue queue-id guaranteed ratio ratio
所有队列所配置的固定区域大小之和,不应超过可配置的总固定区域大小,否则配置失败。
(3) 应用数据缓冲区分配规则。
buffer apply
执行本命令后,所配置的数据缓冲区分配规则才会生效。如果需要修改数据缓冲区分配规则,需要先取消应用,再修改分配规则并重新应用。
用户可以设置接口使用数据缓冲区的门限值,设备通过该值来判断接口当前是否处于超量使用缓冲区的状态。当接口上某一队列中需要处理的报文增多,造成该接口对数据缓冲区的使用比例超过设定的门限值时,系统会为该队列增加一次超量使用缓冲区的计数,以此监控数据缓冲区的使用情况。
(1) 进入系统视图。
system-view
(2) 配置接口的数据缓冲区使用门限值。
(独立运行模式)
buffer usage threshold slot slot-number ratio ratio
(IRF模式)
buffer usage threshold chassis chassis-number slot slot-number ratio ratio
缺省情况下,接口的数据缓冲区使用门限值为70。
数据缓冲区告警功能需要配合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
缺省情况下,接口队列接收或发送数据缓冲区与全局队列数据缓冲区使用门限值相同。
(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缓冲区与全局Headroom缓冲区使用门限值相同。
(3) 开启Headroom缓冲区超门限告警功能。
buffer threshold alarm headroom enable
缺省情况下,Headroom缓冲区超门限告警功能处于关闭状态。
(4) (可选)配置Headroom缓冲区超门限告警发送周期。
buffer threshold alarm headroom interval interval
缺省情况下,Headroom缓冲区超门限告警发送周期为5秒。
必须开启Headroom缓冲区超门限告警功能,否则,Headroom缓冲区超门限告警发送周期的配置不会生效。
开启本功能后,设备将周期性的将数据缓冲区的丢包信息上送网管服务器。
本功能对Headroom缓冲区不起作用。
(1) 进入系统视图。
system-view
(2) 开启数据缓冲区丢包告警功能。
buffer packet-drop alarm enable
缺省情况下,数据缓冲区丢包告警功能处于关闭状态。
(3) (可选)配置数据缓冲区丢包告警发送周期。
buffer packet-drop alarm interval interval
缺省情况下,数据缓冲区丢包告警发送周期为5秒。
必须开启数据缓冲区丢包告警功能,否则,数据缓冲区丢包告警发送周期的配置不会生效。
在完成上述配置后,在任意视图下执行display命令可以查看数据缓冲区的手工配置效果。
操作 |
命令 |
显示数据缓冲区的大小 |
(独立运行模式) display buffer [ slot slot-number ] [ queue [ queue-id ] ] (IRF模式) display buffer [ chassis chassis-number slot slot-number ] [ queue [ queue-id ] ] |
显示数据缓冲区的使用率 |
(独立运行模式) 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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!