BGP的路由更新是建立的TCP连接基础之上的。针对TCP的优化主要体现在是数据包分段和TCP窗口。如果MTU过小的话就会产生过多分段,灭个数据包就需要发送一个ACK,这样传输效率很低。一个适当的MTU可以显著改善更新数据包的数量。在大型BGP网络中MTU的都是比较大的,能够达到4000多。

 

队列优化

1.  队列深度:大量数据包产生拥塞的时候会在端口排队,可以通过设置队列的深度来改善丢包。

配置命令:

R1(config-if)#hold-queue 1000 ?

  in   Input queue

  out  Output queue

R1(config-if)#hold-queue 1000 in

*一般设为1000

2SPDSPD就是在队列的基础之外再搞一个队列,这个队列是支持优先级的,这样就可以保证第一个端口队列有时候被数据包占据,控制信息流量就还有一个队列可以进,而且这个队列控制信息是占有绝对优先权的。都是QoS的内容。

配置命令:

Ip  spd mode aggressive  #主动模式

Ip  spd headroom 1000   #spd队列深度

Ip  spd queue min-thdreshold 998   #最小阀值,超过这个值时,数据包被随机丢弃

Ip  spd queue max-threshold 999    #最大阀值,超过这个值时,数据包被丢弃

*以上命令是IOS下的隐藏命令,sh run的时候可见

*修改SPD的队列深度在2691上不支持

查看:

R1#sh ip spd

Current mode: normal.

Queue min/max thresholds: 998/999, Headroom: 100, Extended Headroom: 75

IP normal queue: 0, priority queue: 0.

SPD special drop mode: aggressively drop bad packets

*extended headroomheadroom之后的又一个队列,这个队列只能进入控制层面的信息,如BGP,ISIS,keepalive等信息。

 

3.系统缓冲

系统缓冲是内存为进入处理器的数据开辟的一段空间。前面的队列是基于硬件,并非内存内开辟的。

配置命令:

buffers small permanent 1000   #永久空间,即不用临时去开辟的

buffers small max-free 1300     #当空闲空间超过此值时,系统动态释放空间

buffers small min-free 250       #当空闲空间小于此值是,系统开始动态增加空间

*!!!谨慎修改buffer参数