简介 接收端(Rx-side)缓冲是出局接口发生拥塞且出局接口上的排队战略是先进先出(FIFO)时进行的一种流程。在这种情况下,入局通用接口处理器(VIP)不是立即丢弃数据包,而是将数据包在其数据包器中进行缓冲,直到缓冲器可用于出局业务。根据VIP类型的不同,数据包器可以是静态RAM(SRAM)或同步动态RAM(SDRAM)的。
7500体系结构基础 每台接口处理器(传统 IP或VIP)都有一条到名为CyBus(CyBus)的高速扩展系统总线的连接。/机处理器(RSP)都与两条CyBuses相连。
数据包缓冲器的类型
数据包缓冲器有多种不同类型:
RSP上处理存储器中的系统缓冲器 - 这些缓冲器用于程序数据包。它们可通过 show interfaces (输入和输出队列)及 show buffers 命令显示。 7500不应进行大量程序交换,因此,如果您的系统缓冲器出现问题,就意味着有太多的数据包被发往程序级。这可能是许多不同因素造成的,如:
广播风暴
网络不稳定性导致路由更新
“拒绝服务”(DOS)攻击
快速交换路径上不支持的特性(如X.25)
有多个选项的IP数据包
有关排除过量程序交换故障方面的更详尽信息请参见以下文件:
RSP(MEMD)缓冲器上的数据包存储器 - 在RSP7000、RSP1、RSP2和RSP4上,MEMD的大小是固定的,为2MB。而在RSP8和RSP16上,MEMD的大小为8MB。MEMD在启动、 在线插拔(OIR)、微码重新加载、最大传输单位(MTU)变化或增加cbus复合体时分配到所有接口上。有关cbus复合体的更详尽信息请参见《》您可以使用 show controllers cbus 命令来查看MEMD缓冲器的状态。
在MEMD被分配时会建立以下结构:
本地空闲队列(lfreeq) 被分配给每个接口,用于处理在该接口上接收到的数据包。
同时分配 全局空闲队列(gfreeq) ,一个接口可以在一定限度内返回该队列。
发送队列(txqueue或txq) 被分配给每个接口,用于处理通过该接口发送出去的数据包。
发送 累计器(txacc) 可以显示输出接口发送队列(txqueue)中的单元数量。当发送累计器(txacc)=发送限制(txlimit)时,所有缓冲器都被释放。当发送累计器(txacc)=0时,队列为满,因此不允许有更多队列。
VIP上的数据包存储器包含用于处理发往或来自某个VIP接口的数据包的数据包缓冲器(粒子)。下图显示了数据包的流动情况:
本部分内容主要讨论启动了分布式交换的VIP接口,因为接收端(Rx-side)缓冲主要发生在数据包传输采用这种交换路径的情况下。可能出现的不同情况有:
出局接口上没有发生拥塞时:
数据包在一个端口适配器(PA)上被接收并被发往数据包存储器上的数据包缓冲器。
如果VIP不能对数据包进行分布式交换,它就将该数据包转发到RSP,由其作出交换决策。
如果VIP可以作出交换决策而且出局接口在同一VIP上,数据包就通过该出局接口发出。我们称数据包在VIP上被"本地交换",因为它不通过cbus。
如果VIP可以作出交换决策但出局接口在另一个插槽中,VIP就会尽力通过cbus将数据包复制到出局接口的txqueue(在MEMD内)中。
然后数据包被通过cbus 复制到出局(V)IP中并通过该线路发出。
出局接口被拥塞时会出现以下两种可能的情况:
如果出局接口上配置了排队,VIP会将数据包发往MEMD中的txqueue,数据包会通过排队代码 立即 从队列中提出。
如果配置了基于RSP的排队,数据包就会被复制到RSP上处理存储器的系统缓冲器中。
如果使用了基于VIP的排队,数据包就会被复制到出局VIP的数据包存储器中。
如果出局接口的排队战略是先进先出(FIFO)而不是立即丢弃数据包(如果采用FIFO,出局接口发生拥塞时经常会这样),入局VIP就会在其数据包存储器中缓冲数据包,直到有一些缓冲器可重新用于出局接口。这叫作接收端(Rx-side)缓冲。
使用 show controllers vip accumulator 命令来查看接收端(Rx-side)缓冲的状态:
路由器中现有接口的数量
对这些接口,VIP对多少数据包进行了接收缓冲
VIP为什么进行接收缓冲
VIP丢弃了多少数据包,为什么丢弃
VIP在99%的CPU利用率时的运行
接收端(Rx-side)缓冲的一个结果是VIP可以以99%的CPU利用率运行。VIP连续监控出局接口txqueue的状态,一有空闲的缓冲器,它就将cbus上的数据包复制到txqueue中。
接收端缓冲期间,如果VIP以99%的利用率运行,其本身没有什么可担忧的。这并不意味着VIP过载。如果VIP需要完成更重要的任务(如需要交换另一个数据包),这不会受到CPU利用率高的影响。
以下是为了说明这一点而在实验室进行的一项简单测试:串行接口2/0/0的时钟速率为128Kbps,而且正在以线速接收业务。这些业务被交换到串行接口10/0,该串行10/0的时钟速率为64Kbps,采用的排队战略是先进先出(FIFO)。在这种情况下,唯一可选择的做法是丢弃数据包。
show controllers cbus 命令显示串行接口10/0的MEMD中的txqueue拥塞:
router#show controller cbus
MEMD at 40000000, 8388608 bytes (unused 697376, recarves 6, lost 0)
RawQ 48000100, ReturnQ 48000108, EventQ 48000110
BufhdrQ 48000130 (21 items), LovltrQ 48000148 (15 items, 2016 bytes)
IpcbufQ 48000158 (24 items, 4096 bytes)
IpcbufQ_classic 48000150 (8 items, 4096 bytes)
3570 buffer headers (48002000 - 4800FF10)
pool0: 8 buffers, 256 bytes, queue 48000138
pool1: 2940 buffers, 1536 bytes, queue 48000140
pool2: 550 buffers, 4512 bytes, queue 48000160
pool3: 4 buffers, 4544 bytes, queue 48000168
slot2: VIP2, hw 2.11, sw 22.20, ccb 5800FF40, cmdq 48000090, vps 8192
software loaded from system
IOS (tm) VIP Software (SVIP-DW-M), Version 12.0(21)S, EARLY DEPLOYMENT RELEASE SOFTWARE (fc1)
ROM Monitor version 122.0
Mx Serial(4), HW Revision 0x3, FW Revision 1.45
Serial2/0/0, applique is V.35 DCE
received clockrate 2015232
gfreeq 48000140, lfreeq 480001D0 (1536 bytes)
rxlo 4, rxhi 336, rxcurr 16, maxrxcurr 293
txq 48001A00, txacc 48001A02 (value 294), txlimit 294
Serial2/0/1, applique is V.35 DTE
received clockrate 246
gfreeq 48000140, lfreeq 480001D8 (1536 bytes)
rxlo 4, rxhi 336, rxcurr 0, maxrxcurr 0
txq 48001A08, txacc 48001A0A (value 6), txlimit 6
Serial2/0/2, applique is Universal (cable unattached)
received clockrate 246
gfreeq 48000140, lfreeq 480001E0 (1536 bytes)
rxlo 4, rxhi 336, rxcurr 0, maxrxcurr 0
txq 48001A10, txacc 48001A12 (value 6), txlimit 6
Serial2/0/3, applique is Universal (cable unattached)
received clockrate 246
gfreeq 48000140, lfreeq 480001E8 (1536 bytes)
rxlo 4, rxhi 336, rxcurr 0, maxrxcurr 0
txq 48001A18, txacc 48001A1A (value 6), txlimit 6
slot10: FSIP, hw 1.12, sw 20.09, ccb 5800FFC0, cmdq 480000D0, vps 8192
software loaded from system
Serial10/0, applique is V.35 DTE
gfreeq 48000140, lfreeq 48000208 (1536 bytes)
rxlo 4, rxhi 336, rxcurr 1, maxrxcurr 1
txq 48000210, txacc 480000B2 (value 2), txlimit 294
Serial10/1, applique is Universal (cable unattached)
gfreeq 48000140, lfreeq 48000218 (1536 bytes)
rxlo 4, rxhi 336, rxcurr 0, maxrxcurr 0
txq 48000220, txacc 480000BA (value 6), txlimit 6
Serial10/2, applique is Universal (cable unattached)
gfreeq 48000140, lfreeq 48000228 (1536 bytes)
rxlo 4, rxhi 336, rxcurr 0, maxrxcurr 0
txq 48000230, txacc 480000C2 (value 6), txlimit 6
Serial10/3, applique is Universal (cable unattached)
gfreeq 48000140, lfreeq 48000238 (1
【责编:admin】
--------------------next---------------------