04-数据缓冲区配置
本章节下载: 04-数据缓冲区配置 (209.72 KB)
当网络拥塞时,端口不能立即发送数据,为防止数据丢失,设备会将数据暂时存储到发送数据缓冲区中。
· cell资源:用来存储数据包的内容,端口会根据报文的实际大小占用相应大小的cell资源。比如一个cell资源是208字节,当发送的报文是128字节时,端口会给它分配一个cell资源,当发送的报文是300字节时,端口会给它分配两个cell资源。
· packet资源:用来存储报文的指针,指针指明报文在cell资源中的存放位置。设备每发送/接收一个数据包,无论该数据包的长度是多少,均占用1个packet资源。
当端口发送报文时,既使用相当于报文长度的cell资源,同时也使用相当于报文数量的packet资源。在完成报文发送后,所使用的资源将被释放,以便下次发送报文时再次使用。
cell资源和packet资源又分别分为共享区域和固定区域。
· 固定区域是按队列划分的,每个队列又按端口均分,如图1-1所示。如果网络拥塞,端口在发送报文时,会根据一定的策略将报文分发到相应的队列。如果端口上的某个队列缓冲区已满,则该队列的剩余报文将被放到共享区域中为该队列预留的缓冲区内;如果共享区域中预留的资源也已经用尽,设备会将报文丢弃。在固定缓冲区中,系统会根据用户的配置给队列预留指定大小的空间,即便该队列没有报文存储需求,其他队列也不能抢占。给队列预留的空间均分给每个端口,即使某端口的某队列没有报文存储需求,其他端口也不能抢占。
· 共享区域只按队列划分,不再按端口均分,如图1-1所示。系统会根据用户配置以及实际需要发送报文的数量决定每个队列实际可占用的缓冲区的大小。如果某个队列没有报文存储需求,则其他队列会抢占该队列的配额。对于某个队列的缓冲区,所有端口转送来缓存的报文,先到先得,如果资源耗尽,则后到达的报文将被丢弃。
· 通过Burst功能来自动分配缓冲区
需要注意的是,以上两种数据缓冲区的配置方式不能同时使用,如果已经使用某一种方式进行了配置,则必须先取消该方式的配置之后,才能使用另外一种方式进行配置。否则,配置失败。
配置了Burst功能后,设备将自动分配cell资源和packet资源。
在下列情况下,Burst功能可以提供更好的报文缓存功能和流量转发性能:
· 报文从相同速率的多个端口同时进入设备,由一个相同速率的端口转发出去。
表1-1 通过Burst功能来自动分配缓冲区
开启Burst功能 |
缺省情况下,Burst功能处于关闭状态 Burst功能仅对已知单播报文生效 |
· 数据缓冲区的配置比较复杂,而且对设备的转发功能有重要的影响,建议用户不要轻易修改数据缓冲区的缺省参数。在需要较大的缓存空间时,建议使用Burst功能来自动分配缓冲区。
· 目前设备仅支持对cell缓冲区的分配进行设置。
· 手工配置数据缓冲区可能会造成流量控制和基于优先级的流量控制功能不能正常工作,关于这两种功能的介绍,请参见《二层技术-以太网交换配置指导》中的“以太网接口配置”。
设备上整个数据缓冲区的大小是固定的,用户配置共享区域的比例后,其余部分将自动成为固定区域。
buffer egress [ slot slot-number ] cell total-shared ratio ratio-value |
缺省情况下,cell缓冲区中共享区域所占比例为84% |
缺省情况下,所有队列均分共享区域,但用户也可以调整指定队列最多可使用的共享区域的比例,其它未配置的队列最多可使用的共享区域的比例仍遵循缺省值。最终,各队列最多可使用的共享区域的比例将由芯片根据buffer queue shared配置,以及实际需要发送报文的数量决定。
buffer egress [ slot slot-number ] cell queue queue-id shared ratio ratio-value |
在配置队列最多可使用的共享区域比例时,0~100的百分比范围被分为10个区段,当用户指定的ratio-value在某一区段范围内时,实际生效的数值如表1-4所示。
表1-4 ratio-value取值与实际生效值的对应关系
ratio-value取值范围 |
|
0~1 |
|
2~3 |
|
4~7 |
|
8~16 |
|
17~29 |
|
30~42 |
|
43~60 |
|
61~76 |
|
77~86 |
|
87~100 |
缺省情况下,所有队列均分固定区域,但用户也可以调整指定队列最多可使用的固定区域的比例,其它未配置的队列则均分剩余的固定区域。
配置该命令后,系统就会给队列预留指定比例的空间,即便该队列没有报文存储需求,其他队列也不能抢占。所有队列所配置的固定区域比例之和,不应超过可配置的总固定区域,否则配置失败。
buffer egress [ slot slot-number ] cell queue queue-id guaranteed ratio ratio-value |
缺省情况下,所有队列最多可使用的固定区域比例均为12.5%,但通过display buffer queue显示的缺省值为13%。 |
· 在配置队列最多可以使用的固定区域比例时,需要注意通过手工配置的各个队列使用比例之和不能大于或等于100%,并且队列5、6、7必须拥有可用的固定区域。
· 手工配置部分队列最多可使用的固定区域比例后,固定区域中未被分配的部分将平均分配给其它队列,分配结果将取整数后显示在display buffer queue命令的输出信息中,因此可能会出现通过该命令查看到的所有队列可使用的固定区域比例之和小于100%。
用户在完成对数据缓冲区的手工配置后,必须使用下面的步骤将所作的修改进行应用,之前的配置才能生效。配置被应用后就不能被修改,需要先取消应用,再修改、应用,新的配置才能生效。
设备上存在数据缓冲区,由所有接口共享使用,用于在接口发送报文出现拥塞时提供缓存功能。通过监控数据缓冲区的使用状况,可以发现使用缓冲区比例过高的端口,以便及时对异常现象进行诊断。
用户可以设置接口使用数据缓冲区的门限值,设备通过该值来判断接口当前是否处于超量使用缓冲区的状态。在完成门限值的配置后,设备将自动监控每个接口对数据缓冲区的使用情况。当接口上某一队列中需要处理的报文增多,造成该接口对数据缓冲区的使用比例超过设定的门限值时,系统会为该队列增加一次超量使用缓冲区的计数。
表1-7 配置数据缓冲区监控功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置接口的数据缓冲区使用门限值 |
buffer usage threshold slot slot-number { ratio ratio | size } |
缺省情况下,设备上接口的数据缓冲区使用门限值为30 |
返回用户视图 |
quit |
- |
在完成上述配置后,在任意视图下执行display命令可以查看数据缓冲区的配置效果。
显示接口的数据缓冲区使用统计信息 |
display buffer usage interface [ interface-type [ interface-number ] ] |
显示接口出现突发流量的记录情况 |
display burst-detect interface [ interface-type [ interface-number ] ] |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!