今天先讲队列,因为中间两个知识点会用到队列的知识。
上图的三种延迟:进程延迟(路由器处理IP包、查找路由表)、队列延迟、传输延迟(与传输线路有关)。
思科路由器转发数据包的三种方式:Process Switching(进程交换)、Fash Switching(快速交换,也叫cache交换)、CEF(Cisco Express Forwarding)。
对于网络单元,当数据包到达的速度大于该接口传送数据包的速度时,在该接口处就会产生拥塞。如果没有足够的存储空间来保存这些数据包,它们其中的一部分就会丢失。数据包的丢失又可能会导致发送该数据包的主机或路由器因超时而重传此数据包,这将导致恶性循环。
对拥塞的管理,一般采用队列机制。当拥塞发生时,报文在路由器出口处按一定的策略入队;在调度时,再按照一定的策略决定报文出队发送的次序。
以下两张图是出现congestion的两种情况举例:
1
Transient:临时的;短暂的。Persistent:持续的。
2
在思科路由器上有软件队列和硬件队列之分。一个队列调度器调度下一个被转发的包的时候
3
不是直接移到出接口,而是把包从软件Q移到另外一个更小的FIFO队列中去,思科称为transimit Q(TX Q)或者transimit ring( TX Ring),这个更小的FIFO队列叫做hardware queue 硬件队列满的时候,有一些队列在软件Q中。此时硬件Q长度为4,不能被队列工具所控制。而软件Q中有之后的5、6、7个包,这三个包是可以被队列调度的,也就是我们通常说的软件队列调度机制是我们最经常操控的,而硬件Q不能被操控,即硬件队列先进先出。
加队也称插入,完成两项工作:1. 决定Queue能容纳多少包(即停车位容量);2. Queue满了之后,采取何种丢弃技术将后续的包丢弃。
调度也称服务策略,采用何种技术将包送入出接口的硬件队列。 注意:
4
注意:上图在分类这一步,并没有采取措施(比如使用ACL)。FCFS即First-Come First-serve 在加队这一步,只有一个Queue,当Queue满了之后,对后续来包采取尾部丢弃法则。 在调度这一步,采取“first come,first serve”方式。
先入先出队列FIFO(First-In First-Out Queueing)——无通信优先权以及分类的概念。使用FIFO 时,数据包从接口的发送顺序依赖于数据包抵达这个接口的顺序,此时报文的入队顺序和报文的出队顺序相同。
FIFO 提供了基本的存储转发能力
5