03-数据缓冲区配置
本章节下载: 03-数据缓冲区配置 (159.45 KB)
数据缓冲区用来临时存储报文,以免报文丢失。如图1-1所示,数据缓冲区分为接收缓冲区和发送缓冲区:
· 接收缓冲区:用来缓存接收的数据。当设备的CPU繁忙时,端口不能立即将收到的报文交给CPU处理,会将数据暂时存储到接收缓冲区;
· 发送缓冲区:用来缓存发送的数据。当网络拥塞时,端口不能立即发送数据,为防止数据丢失,会将数据暂时存储到发送缓冲区。
发送数据缓冲区和接收数据缓冲区在缓存数据时,都会同时用到两类资源:
· cell资源:用来存储数据包的内容,端口会根据报文的实际大小占用相应大小的cell资源。比如一个cell资源是208字节,当发送的报文是128字节时,端口会给它分配一个cell资源,当发送的报文是300字节时,端口会给它分配两个cell资源。
· packet资源:用来存储报文的指针,指针指明报文在cell资源中的存放位置。设备每发送/接收一个数据包,无论该数据包的长度是多少,均占用1个packet资源。
当端口接收/发送报文时,既使用相当于报文长度的cell资源,同时也使用相当于报文数量的packet资源。
cell资源和packet资源又分别分为共享区域和固定区域。
· 固定区域是按队列划分的,每个队列又按端口均分,如图1-2所示。如果设备CPU繁忙或网络发生拥塞,设备在接收或发送报文时,会根据一定的策略将报文分发到相应的队列。如果该端口的该队列缓冲区满,则放到共享区域中的相应队列;如果共享区域中该队列满,则将报文丢弃。在固定缓冲区中,系统会根据用户的配置给队列预留指定大小的空间,即便该队列没有报文存储需求,其他队列也不能抢占。给队列预留的空间均分给每个端口的,即使某端口的某队列没有报文存储需求,其他端口也不能抢占。
· 共享缓冲区只按队列划分,不再按端口均分,如图1-2所示。系统会根据用户配置以及实际需要收发报文的数量决定每个队列实际可占用的缓冲区的大小。如果某个队列没有报文存储需求,则其他队列会抢占该队列的配额。对于某个队列的缓冲区,所有端口接收或发送的报文采用抢占的方式,先到先得,如果资源耗尽,则后到达的报文将被丢弃。
用户可以使用以下两种方式配置数据缓冲区:
· 配置Burst功能自动分配缓冲区
· 手工配置数据缓冲区
开启数据缓冲区自动分配功能后,如下缓冲区的比例将发生变化:
· 每个队列最多可使用缓冲区中固定区域比例。
· 每个队列最多可使用缓冲区中共享区域的比例。
· 缓冲区中共享区域所占比例。
开启前后的具体变化情况,可通过display buffer命令查看。
需要注意的是,以上两种数据缓冲区的配置方式不能同时使用,如果已经使用某一种方式进行了配置,则必须先取消该方式的配置之后,才能使用另外一种方式进行配置。否则,配置失败。
数据缓冲区的配置比较复杂,而且对设备的转发功能有重要的影响,建议用户不要轻易修改数据缓冲区的缺省参数。在需要较大的缓存空间时,建议使用Burst功能来自动分配缓冲区。
数据缓冲区配置任务如下:
在下列情况下,Burst功能可以提供更好的报文缓存功能和流量转发性能:
· 广播或者组播报文流量密集,瞬间突发大流量的网络环境中。
· 报文从高速链路进入设备,由低速链路转发出去。
· 报文从相同速率的多个端口同时进入设备,由一个相同速率的端口转发出去。
(1) 进入系统视图。
system-view
(2) 开启Burst功能。
burst-mode enable
缺省情况下,未开启Burst功能。
设备上整个数据缓冲区的大小是固定的,用户可以手工配置共享区域的大小,其余部分将自动成为固定区域。
缺省情况下,所有队列均分共享区域/固定区域。用户可以手工调整指定队列最多可使用的共享区域/固定区域的大小,其它未配置的队列最多可使用的共享区域/固定区域的大小仍遵循缺省值。
对于Release 6126P12及以上版本,在组播视频流网络场景中,可以通过如下配置缓解视频播放卡顿问题:配置队列最多可使用的cell共享区域的比例、cell缓冲区共享区域的比例、队列最多可使用的packet共享区域的比例及packet缓冲区共享区域的比例均为100。
上述配置与Burst功能冲突,请先通过undo burst-mode enable命令关闭Burst功能。
system-view
(2) 配置数据缓冲区分配规则。请至少选择其中一项进行配置。
¡ 配置数据缓冲区中共享区域的比例。
buffer egress [ slot slot-number ] { cell | packet } total-shared ratio ratio
缺省情况下,设备cell缓冲区中共享区域所占比例为52%;packet缓冲区中共享区域所占比例为50%。
¡ 配置队列最多可使用的共享区域的比例。
buffer egress [ slot slot-number ] { cell | packet } [ queue queue-id ] shared ratio ratio
缺省情况下,每个端口最多可使用的packet资源中共享区域的比例为10%;每个端口最多可使用的cell资源中共享区域的比例为10%。
各队列最多可使用的共享区域的大小将根据buffer queue shared配置,以及实际需要收发报文的数量决定。
¡ 配置指定队列最多可使用的固定区域的比例。
buffer egress [ slot slot-number ] { cell | packet } queue queue-id guaranteed ratio ratio
缺省情况下,每个队列最多可使用的cell资源中固定区域比例为12%;每个队列最多可使用的packet资源中固定区域的比例为12%。
所有队列所配置的固定区域大小之和,不应超过可配置的总固定区域大小,否则配置失败。
(3) 应用数据缓冲区分配规则。
buffer apply
执行本命令后,所配置的数据缓冲区分配规则才会生效。如果需要修改数据缓冲区分配规则,需要先取消应用,再修改分配规则并重新应用。
在完成上述配置后,在任意视图下执行display命令可以查看数据缓冲区的手工配置效果。
操作 |
命令 |
显示数据缓冲区的大小 |
display buffer [ slot slot-number ] [ queue [ queue-id ] ] |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!