圣诞假期了,开始了为期三周的休息时刻,虽然是休息,每天学习还是有必要的,不然之前的又都忘了。好啦,今天的CCNA课程又是两集合并,是将QoS的。其中如何配置是不需要学习的,最后的练习可以不做。但是必须搞懂QoS是干啥的,原理是啥。
首先要了解QoS,就得了解起源。我们先讲一下IP电话,在传统的电话系统里,所有的电话机都接到了PSTN即public switched telephone network,我印象中是叫程控交换机。是单独成立的网络。这种也被称为 POTS 即 plain old telephone service.
而IP电话则是实用VoIP技术,即Voice over IP,来让电话通过网络传输。这也是现代的电话系统。IP电话直接连到交换机上,就和PC终端一样。
但是通常来说,IP电话有2个物理接口和1个虚拟接口,类似于一个三口交换机,两个物理接口一个连到交换机,另外一个可以连到电脑上,这样PC,IP电话都可以把数据发送到交换机上,只需要一条即可。而且也不需要再多买交换机了。节约一个接口,如下图所示
如果不去做任何配置的话,PC的数据和电话是数据是平级的,没有任何区别,所以一般来说,推荐把这两个数据分开,一个是voice traffic,而PC上的是data traffic。方法就是给voice traffic 添加到voice VLAN里,这样从PC发出的数据不会被tagged,而从电话出的voice traffic就有 VLAN ID。如下图所示
配置方法如下,进入到config模式,首先进入到连接IP电话的交换机接口
interface g0/0
这里注意,要把这个接口设置为access,不是trunk,虽然该接口实际上是使用了额trunk功能,但是它还是access模式
switchport mode access
接下来把vlan配置,数据用10,voice用11,这里也注意下,实际上PC的数据不会被tagged,就是access,而交换机会通过CDP协议来发现电话设备并且告诉phone 给自己的 traffice 加上tag
switchport access vlan 10
switchport voice vlan 11
这里是一个查看某一个端口的命令,
show interfaces g0/0 switchport
如下图所示
但是如果使用另外一个命令,可以看到该端口其实是使用了trunk的功能
show interfaces trunk
show interfaces g0/0 trunk
如下图所示
接下来,我们引入第二个概念,PoE,Power over ethernet,通常来说设备可以通过电源适配器直接供电,但是有一些设备可以通过网线来供电。这一类设备叫做PD即powered devices,而提供电的设备比如路由器啊,交换机啊这种叫做PSE,即 power sourcing equipment。
一般来说,PD就是摄像头啊,电话啊,无线AP啊等等,而PSE则是交换机。
如下图所示,交换机把AC电源转换为DC并且通过网线给到IP电话
AC就是交流电 alternating current
DC就是直流电 Direct current
过多或者说过高的电流会损害设备,把设备烧了,因此呢,PoE有一个机制来决定设备是不是需要电,需要多少电。
当然这个power policing 也可以被手动配置以防止设备得到过多电流
命令不用记,这个不是CCNA考试范围
下面命令都要进入到config模式,然后进入到端口后进行设置
其中一个命令是
power inline police
这个命令等同于下面这个
power inline police action err-disable
这两个命令效果一样,目的就是当PD索取过多电量时候,关闭该端口,并且发送错误日志,该端口也进入到 error-disabled 状态。
当然通过,shutdown然后no shutdown可以把该端口重新打开。
另外一个命令就是
power inline police action log
这个命令的作用是,假如PD索取过多的电量,那么重启该端口,并且发送错误日志,不会关闭端口。
下面两个图可以看出来区别,显示出的状态一个是errdisable,一个是log
PoE也有很多标准,区别就是提供的电源大小不同,需要的几对线也不同,如下图所示,也不是考试范围,了解一下即可。
以上两个话题了解了之后,我们回到主题,QoS,在最原始的网络中,电话用的是电话网络,用的是PSTN交换机,而服务器啊什么的用的是企业网,用的标准交换机。这是两套系统,不会冲突,也就没有QoS这个需求。
而现在的网络系统只有一套,所有的设备都接入到一个网络里,比如PC数据,视频会议,IP电话等,大家都共享一套网络,一套系统。这时候,设备的成本降低了很多,因为少了给IP电话的设备使用的交换机啊,线缆啊等等。但是呢,两个系统合并在一起,bandwidth带宽肯定就增加了,除了带宽以外,还有一些其他的问题。那么QoS就必须提上台面了。
QoS,也就是quality of service,主要是为了解决以下网络问题,
1.带宽问题 Bandwidth
带宽是有限的,必须多少Kbps,Mbps,Gbps等,但是设备中各种服务,各种数据不做设置的话混乱不堪,也不知道孰轻孰重,所以通过QoS可以给与一定的服务固定的带宽。比如给与某个带宽中,30%给Voice traffic,30%给视频会议或者其他,还有40%给数据通信等
2. 延迟问题 Delay
延迟是有两种情况,一种是从source到destination的延迟,单向的,还一种是除了上面的之外还得加上从destination到source的延迟。
3.抖动 Jitter
抖动是从源头到目的地,或者从目的地到源头时,不同包的延迟不一样,是可变的,这也会导致问题,IP电话是的audio packet是有固定的delay才行
4.丢失 Loss
丢失就是百分之几的包没有到达目的地,俗称丢包,有时候线缆不好也会丢包,或者设备处理能力有限了,排队也满了,只能丢弃部分包,也会导致丢包。
通常来说,对于一个可以接受的互动音频质量比如打电话,一个推荐的标准如下
One way delay 在 150ms or less
Jitter 在30ms or less
Loss 在 1% or less
如果无法达到该标准,那么通话质量就会影响。
5. 队列Queuing
之前我提到了设备的处理能力,比如一个交换机或者路由器,接收到的数据远远快于发出去的数据,盒或者说,接受能力大于转发能力,那么越来越多没被处理的数据就会被搁置到queue中,默认情况下,这里queuing中的数据使用FIFO原则,first in first out,谁先进来,谁先被处理,可是一旦队列都满了,那么后续进来的就会被丢弃。这也被称为 tail drop
这个Tail drop对于TCP来说是非常有害的,会导致 TCP global synchronization现象。回忆一下,TCP是有一个sliding window功能来根据对方的能力去增加或者减少自己的发送的包的量,一旦包被丢了,那么TCP就会重新发送这个包,并且减少流量,然后慢慢增加。
而一旦tail drop发生后,可能有很多使用TCP协议的服务会立马减少量,然后同时慢慢增加流量。这就像波浪一样,导致数据一会儿高 一会儿低。而且还是周期性的循环。
为了解决这个问题,可以使用RED即 random early detection或者WRED即weighted random early detection两种机制。
很好理解,就是设置一个阈值,threshold。一旦队列中达到该值后 ,RED就会随机性的从TCP流中丢弃部分包。这些被丢弃的TCP流就开始减少量,而那些没被选中的TCP流不会减少,这样就解决了TCP全球同步的问题。这种协议视所有TCP为一样的,随机丢。
而WRED就很好理解,加了一个权重比,即可以选择性的丢弃某些流量的包,比如一些不重要的。根据配置来决定不同流量的级别。
下面就是QoS的重点,CCNA考试不要求配置,但是能解释出下面内容
- classification/marking
- Queuing/Congestion Management
- Shaping/Policing
首先我们说一下分类,即classification,就是把网络流或者包分成不同的类型,这个是QoS的基础,给不同类型的数据流以不同的级别,然后才可以继续做其他工作。
有很多分类的方法,比如说
ACL:ACL就是最基本的分类,允许通过的,和不允许通过的,这是最简单的分类
NBAR:Network Based Application Recognition,这个可以认为是深度包检测,可以从L3 L4甚至到L7来检测特殊的数据流量
PCP:Priority Code Point,这个是在ethernet header中 802.1q tag里,可以用来辨别优先级别,仅存在于802.1q
DSCP:differentiated services code point,这个处于IP header里,也可以用来辨别流量的优先级别
我们看一下PCP,也可以被称为CoS,Class of Service,如下图所示,在802.1Q中有3个bits就是PCP,二进制里,这可以代表8个级别,因此,PCP一共有8个级别
如下图所示,这就是8个级别,其中0就意味着最普通,数据没有优先级,也没有QoS标准和保证
而3被用来打电话时候信号流量,建立通话连接
而5就是实际上打电话时候的通话流量
刚才说到CoS或者PCP只能在802.1Q里,因此只有trunk 链路或者 access 链路但是带Voice VLAN,才有可能有这个,如下图所示,只有红色线路是有802.1Q的
接下来我们看一下DSCP模式,
看一下IP表头,IPv6也支持,但是这里只看IPv4,如下图所示,DSCP和ECN用来QoS分级别
我们聚焦一下,最早的情况下,其实前3个bit是IPP即IP Precedence,因此也是只有8个级别,和PCP类似,如下图
这样分级别和PCP类似,对于简单的网络是足够的,但是对于复杂的网络就不够了。因此该协议继续发展,成为前6个bits用来分级别,这就是DSCP
对于DSCP,相应的就比IPP高级了很多,当然也有了新的标准
DF: Default Forwarding 代表 best effort traffic就是最普通的级别
对应的DSCP值也就是0,如下图所示,
EF: Expedited Forwarding 代表低丢包,低延迟,低抖动,用来gei voice traffic
AF: Assured Forwarding 有12个值,实际上AF分为了4个级别,每个级别内都是一样的优先级,但是每个级别又分成了3个level,来决定丢包的优先级别,如下图所示,class分为4个,用3个bit来表示,而drop precedence用2个bit来表示,可以分为3种,所以表示出来就是AF多少多少,AF11,AF12,AF13等 当然也可以用DSCP表示,
比如AF11,其实就是class1,drop precedence1,对应就是001010,所以换成十进制是10,也就是DSCP10
比如AF23,其实就是class2,drop precedence3,对应就是010110,所有换成十进制是22,也就是DSCP22
简单可以换算为8 乘以class,加上 2乘以drop precedence, 8 * X + 2 * Y
这里面,class数字越大说明优先级别越高,而Drop Precedence数字越大说明越容易被丢包,如下图所示
CS: Class Selector 有8个标准值,类似于IPP,和IPP一样,只需要3个bits就够了,其他设置为0,如下图所示,当然也可以换算为DSCP级别
看下图可以简单了解一下全部的级别
其中默认流量是DF
Voice traffic 用EF
AF3?用来给流媒体视频,比如youtube
AF2?用来给高优先级别的数据,比如一些实时监控等
上面讲了各种的分类方法,其实分好类后就可以进行一些操作,比如说trust boundaries,如下图所示,在交换机上设置 trust boundary 可以决定某一个级别的流量是否被改变标签。如何配置是CCNA考试范围之外的内容,不需要了解。
之前我们说到了设备接受的能力大于发送或者转发的能力,当设置了QoS标准后,其实可以设置成多个Queuing,给与不同的优先级别,
常见方法有 Weighted round-robin,即设备周期性的按顺序从不同的queuing里拿到数据包然后处理,根据配置的weighted不同来选择抓取的多少,这被称为CBWFQ,class-based weighted fair queuing,当拥堵时,这种方法可以保证每种数据都被发送,同时高级别的会更加保证。但是这种方法不适合用在有voice traffic的情况,因为会导致延迟和抖动。
如下图所示
另外一个方法,叫做LLQ,low latency queuing,这个方法就是给一个或者多个queuing更高的级别,一旦发生拥堵,那么优先处理这几个queuing,直到处理完成后才去处理其他的queuing,这对于有音视频数据的非常好,但是对于其他就不好友好,有可能某一个queuing里的数据一直等待处理。如下图所示
最后我们讲一下 shaping 和policing
shaping就是如果流量超过了设置的参数,则将重塑数据缓存,
而policing就是如果流量超过了设置的参数,则丢弃超过的部分,当然短暂时间的超过是允许的,也是需要配置的,长期的是不行的。
这两个最常见于供应商和客户,比如ISP的路由器进口,可以根据客户交的钱来设置,客户买了100M的宽带业务,那么将路由器的参数设置为100M的进入,这就是policing;同时该路由器也会通知客户的路由器,让其设置为100M,那么客户的路由器出口则设置为100M,这就是Sharping
如下图所示
今天的内容有点枯燥,其实练习也没必要做,都是超过了考试范围的内容。主要是理解了QoS的概念就行。
-------------------------------------------------------分隔符-------------------------------------------------------------------
-------------------------------------------------------分隔符-------------------------------------------------------------------
-------------------------------------------------------分隔符-------------------------------------------------------------------
-------------------------------------------------------分隔符-------------------------------------------------------------------
-------------------------------------------------------分隔符-------------------------------------------------------------------
-------------------------------------------------------分隔符-------------------------------------------------------------------
-------------------------------------------------------分隔符-------------------------------------------------------------------
-------------------------------------------------------分隔符-------------------------------------------------------------------
-------------------------------------------------------分隔符-------------------------------------------------------------------
-------------------------------------------------------分隔符-------------------------------------------------------------------
Day 46 Anki Flashcard下载:https://drive.google.com/file/d/1e8tXfTAWdONZOeFoDb9gFV2btc-QrSvD/view?usp=sharing
Day 46 Cisco Packet Tracer 练习题下载:https://drive.google.com/file/d/1n29lWwF_iqxt9xs3RtSdZGftLbNkfVvK/view?usp=sharing
Day 46 Cisco Packet Tracer 练习题完成下载:https://drive.google.com/file/d/1n6sd1t9c0L0u2umAfcwa4hdqh6PWDU-e/view?usp=sharing
Day 47 Anki Flashcard下载:https://drive.google.com/file/d/1MSVJqSkL4Yb-Ap6lBrS5R6pOekgL-SYB/view?usp=sharing
Day 47 Cisco Packet Tracer 练习题下载:https://drive.google.com/file/d/12CpNUzjg5JQpONIpIRgXM_tdo2q_81wI/view?usp=sharing
Day 47 Cisco Packet Tracer 练习题完成下载:https://drive.google.com/file/d/1Fb9C3Z4dWrgW_dbjt0dyzwzFyOtHktOO/view?usp=sharing
0 条评论