本站已运行

攻城狮论坛

xinmeng

作者: IT邓邓爱踢
查看: 298|回复: 30

主题标签Tag

more +今日重磅推荐Recommend No.1

所有IT类厂商认证考试题库下载所有IT类厂商认证考试题库下载

more +随机图赏Gallery

重量级~~30多套JAVA就业班全套 视频教程(请尽快下载,链接失效后不补)重量级~~30多套JAVA就业班全套 视频教程(请尽快下载,链接失效后不补)
【超过几百G】EVE 国内和国外镜像 全有了 百度群分享【超过几百G】EVE 国内和国外镜像 全有了 百度群分享
某linux大佬,积累多年的电子书(约300本)某linux大佬,积累多年的电子书(约300本)
乾颐堂现任明教教主Python完整版乾颐堂现任明教教主Python完整版
乾颐堂 教主技术进化论 2018-2019年 最新31-50期合集视频(各种最新技术杂谈视频)乾颐堂 教主技术进化论 2018-2019年 最新31-50期合集视频(各种最新技术杂谈视频)
Python学习视频 0起点视频 入门到项目实战篇 Python3.5.2视频教程 共847集 能学102天Python学习视频 0起点视频 入门到项目实战篇 Python3.5.2视频教程 共847集 能学102天
约21套Python视频合集 核心基础视频教程(共310G,已压缩)约21套Python视频合集 核心基础视频教程(共310G,已压缩)
最新20180811录制 IT爱好者-清风羽毛 - 网络安全IPSec VPN实验指南视频教程最新20180811录制 IT爱好者-清风羽毛 - 网络安全IPSec VPN实验指南视频教程
最新20180807录制EVE开机自启动虚拟路由器并桥接物理网卡充当思科路由器最新20180807录制EVE开机自启动虚拟路由器并桥接物理网卡充当思科路由器
最新2018/07/29录制 IT爱好者清风羽毛-Cisco IOS ZBF防火墙视频最新2018/07/29录制 IT爱好者清风羽毛-Cisco IOS ZBF防火墙视频
乾颐堂 教主技术进化论 2018年 最新1-30期合集视频(各种最新技术杂谈视频)乾颐堂 教主技术进化论 2018年 最新1-30期合集视频(各种最新技术杂谈视频)
Cisco CCW售前销售报价系统使用方法Cisco commerce workspaceCisco CCW售前销售报价系统使用方法Cisco commerce workspace

[路由交换] 大神带你读懂HCIE-Routing & Switching面试之调度

  [复制链接]
查看: 298|回复: 30
开通VIP 免金币+免回帖+批量下载+无广告
上一篇关于服务质量QoS文章中,我们讲到了报文分类和标记,这篇文章让我们再来了解一下调度机制。: @$ a; o/ d4 p) {- b2 [& s) v

2 S/ u8 G8 Q. t; N: m5 i3 ~上文中,我们的语音、视频、数据这三份流量进入到了各自的队列中,然后我们需要对其进行调度。调度怎么理解呢?就是如何安排进来的流量有秩序有主次地出去。调度分为两种:
$ {3 E/ L: K  t9 E* d+ K 7 P( w* U& k2 X
① 基于队列的调度:内部是虚拟出了7个队列。假如语音进入了队列5、视频队列4、数据队列3. 基于队列的调度它是怎么工作的呢?
+ c9 g" Z2 W3 e: s" U% [4 Q4 a, A ) L9 D/ ]# x! K' e( S. c. Z+ w
首先基于队列的调度分RR(轮询)——WRR(加权轮询)——WFQ(加权公平)——PQ(按优先级出流量)
' `0 Y7 L" i& Y+ D6 v# J8 {
, ?4 @. ?% A2 a4 G/ X很明显语音(队列5)>视频>数据,则RR就语音走一个包,视频走一个包,数据走一个包,然后循环 RR。虽说非常公平,但我们要的是区别对待,高优先级先走,低优先级排后面。所以又开发了WRR,我们给语音队列加一个权重值3、视频2、数据不给,这样每一个循环语音就走3个包,视频走2个 数据还是走1个,这样就解决高优先级先溜的问题。不过还有一个问题,现实中,我们通常是以带宽来衡量的,假如数据的一个包1500字节,语音1个包100个字节,那么这样的一个循环,数据反而占用的带宽更高。9 D' I! Y' X3 G# D+ z* b, L
9 J, A- f$ ?5 Q! i4 N6 f2 |: o1 W

% P0 [/ k4 H5 a+ |
3 k# U4 q! ^! P* W$ g( A9 E所以又开发了WFQ,加权又公平,基于带宽来分配,语音分30M、视频分20M、数据分10M,这样就解决了上述问题。' l. `, M) m* _0 t2 _% W, O
' b9 F7 K1 n0 z3 i; w) Q$ \# b3 B
$ ~1 y! X7 l6 g" \! ~3 e* t8 N2 l
0 l' t/ p+ W0 B, P1 U. n2 S/ j  j2 ~
那么PQ是什么,PQ就像一个莽夫,往前冲就对了。语音优先级高,那我就先把语音的流量走完,再走视频再走数据。这样虽然高优先级的很开心,但如果语音一直有流量,那么视频、数据就一个包都发不出了,会造成低优先级流量饿死的情况,显然也是不可取的。
0 y4 q2 p. M( y* W/ K) L  W
$ ]* z. n# z" b. Y4 C0 T/ _ % q. v* g" S2 Q" o. B3 \
+ \% H2 h2 ^4 [% C2 ?
不过一般而言,现实中一般会采用结合的方式比如PQ+WRR,PQ+WFQ这种方式。* {' ?3 k# f6 i* N4 M7 Z+ s

6 n9 V' M0 P1 `0 e9 ]1 V. i+ v/ h' l6 m

3 r" k7 v+ v( v  `# j0 }/ {
2 `' Z# X2 ?9 M讲完基于队列的调度,接下来讲讲基于类的调度。& ^1 H* M5 F, K) X$ |& {
& g  \# Y" k. }/ p
② Class Based Queueing(CBQ)基于类的加权公平队列是对WFQ功能的扩展为用户提供了定义类的支持。CBQ首先根据IP优先级或者DSCP优先级、输入接口、IP报文的五元组等规则来对报文进行分类,然后让不同类别的报文进入不同的队列。对于不匹配任何类别的报文,送入系统定义的缺省类。
, p2 P) d2 e5 R6 x , H3 j0 @9 ]6 F) Y9 B/ I
那CBQ提供了哪几个队列呢?0 J& Z2 X# k: y! K9 ~; h1 o

% q2 A+ F5 K# xEF队列:满足低时延业务
+ x. n$ J9 X% h3 ?' @1 C  zAF队列:满足需要带宽保证的关键数据业务
7 B, T' l3 x& Y. V7 yBE队列:满足不需要严格QoS保证的尽力发送业务
# h3 [7 A6 h: j' X
7 e5 w. H' v4 {- q; V5 ]
我们现在通过简单流分类or复杂流分类将语音分成一类,视频分成一类,微信数据分成一类,发语音的时候,我们应该会对时延有着很高的要求,视频则较高,发微信呢,卡个1-2s也还能接受,所以我们会将语音类流量,送入EF队列,视频类流量送入AF队列,剩下的微信流量就默认就进入我们的BE队列。
1 ^7 w4 X2 R# F, x0 {) X - b- B6 o7 W( g4 m

8 \/ Q" Y$ j# }) s - r/ L& C' B, h% k
在EF队列中采用PQ调度,在AF队列中采用WFQ,在BE采用WFQ,所以我们会为EF队列设置一个最大带宽限制(毕竟用PQ免得BE的流量饿死了) ;为AF队列设置一个最小带宽限制,剩下的带宽给BE用。在EF中还有一个特殊的队列LLQ, LLQ比EF更优。
. ?( M5 b4 d% e# c! i$ K6 I $ j! i' j  T4 K, J
这样我们就调度完了,接下来是不是该出去了?我们可以在出接口的地方做流量管理。讲流量管理前我们再想想,假如流量真的很多,我再怎么调度,所有队列都满了,但是入口还一直进来流量,这个时候怎么办?会发生拥塞对吧?堵住了,难进,出去又慢。这个时候我们就要讲一讲发生拥塞时候的拥塞避免。5 o# Q0 _' z/ E: w4 h
9 M  q# O* Q$ I7 w
拥塞避免
" h' q" z& m3 U
; t/ }+ g( p. u4 v' `& I
当我们拥塞时,队列满了会造成什么问题呢?尾丢弃,就是后面进来的流量直接就丢包了。所以尾丢弃会造成3个问题:1、不加分区丢包;2、TCP全局同步;3、TCP流量饿死。接下来我们来进入TCP的领域。9 g& U" h* o6 |+ @6 M- g/ N4 \
1 u' q( Q! X3 o1 ^, ?/ K
TCP是一个可靠安全的传输协议,有确定机制,丢包会重传等。假如TCP丢包了,等待重传计时器超时,然后重传,称超时重传;假如TCP丢了一部分的包,接收方能够通过序列号等参数,确定你发来的数据不完整,这时接收方会立刻连续重复发三个ACK报文,发送方立刻意识到接收方刚刚没收完整我发的包,立刻重发,称快重传。
# S( E) _8 a/ e! N' }  R! L) r5 w3 l) {9 k
接下来我们来看看在网络中,我们的TCP如何启动并且发送数据的(TCP的一个窗口)
  Z+ n  n4 y/ X( p) \7 v2 E" U4 {% X
6 G0 [3 N. c3 ^3 X+ g$ }
) w$ u# k. L$ B3 p
* S+ F* Q+ ]3 H, l% }1 h; X我们来看一下这个图,并解释一些名词:
9 x5 n) \8 x8 e. x. c9 ?- A( R) c) ?; h
拥塞窗口cwnd是发送方为一个动态变化的窗口叫拥塞窗口,拥塞窗口的大小取决于网络的拥塞程度。, Y) M" J# o7 k7 ~7 g+ ^& e
; Y# o( E* t5 B# l( o0 E! }
ssthresh是慢启动门限(这里我们设置成16)cwnd=24时为阈值(默认是56636B);
& ?2 }5 y' A+ F
6 j" L" q5 g6 T/ f8 U# @, C慢开始也称慢启动,是指建立TCP连接时,把cwnd设置=1(536B)然后进行一个指数增长。
4 }7 p. B1 r, o$ D  v. x+ z0 T: G$ ?" l, Q  ^
接下来进入重点:! c4 ^+ L2 `' R$ w; [
, ~, R! P" {; f8 {' H. |9 d
现在有一个TCP连接——>开始一个慢启动从cwnd=1开始指数增长到cwnd=16时候到达门限了,开始拥塞避免,就进入一个加法增长(发送的报文如果都收到ACK回复,cwnd会加法性的+1+1+1)——>到达cwnd=24阈值时检测到了拥塞——>立即把ssthresh门限降为阈值的一半也就是12,即新的ssthresh=12,为上图的②+③。接来下有两种处理行为:- e9 Q! ~- B% O8 }
. o6 T' \/ b: Z# v. J; q
① 拥塞后如果是超时重传造成的丢包,则cwnd=1,此时的ssthresh则为12,为上图的④+⑤
; B6 a! k- s4 E4 o6 ]3 A0 m, J! M$ i( x5 y+ s. x2 D, `& r1 P
② 拥塞后如果是快重传造成的丢包,则cwnd=12,进行一个拥塞避免,为上图的①) W# x6 q! V: I) T5 y
7 @0 T& {# ~& W8 ?# p! d
大家捋清楚上图后,接下来TCP全局同步是什么意思呢?上图是一个TCP连接,假如有100个N个TCP连接用时进行,那么这100个TCP连接同时到达阈值,把阈值下降一半,会造成带宽的浪费;如果50个先到阈值,下降一半,再慢启动,另外50个就可以利用之前50个的带宽。; D( {* V  U2 k

2 G6 D# H+ Y* b# m7 o那TCP流量饿死又是什么呢?TCP流量饿死是指当TCP在cwnd很小时,如果UDP流量大量持续进来,就会造成TCP的cwnd一直很小,最后TCP流量无法传出则称饿死。/ ^% {: O  ], L# V8 ]9 A

( n( K0 R0 b% l7 ~$ }% u! m8 N6 d% E那我们怎么解决这些拥塞造成的问题呢?在我们拥塞避免的阶段,我们用一个叫做wred(加权早期随机检测)的技术,这个技术是我们为每一个队列配置一个丢弃模板,在队列还没满时,高优先级的丢10个包,低优先级丢20个包,这样处理,有效解决了TCP全局同步+TCP流量饿死+不加区分的丢包。
: L! P8 D9 |) A/ x3 k
CCNA考试 官方正规报名 仅需1500元
回复 论坛版权

使用道具 举报

monkeyman [Lv10 举世无双] 发表于 2020-3-16 20:47:25 | 显示全部楼层
非常感谢搂住分享资源呀
回复 支持 反对

使用道具 举报

ywb_qh [Lv9 无所不能] 发表于 2020-3-17 06:54:11 | 显示全部楼层
非常感谢搂住分享资源呀
2 y1 u4 n$ m5 R' z" u
回复 支持 反对

使用道具 举报

monkeyman [Lv10 举世无双] 发表于 2020-3-17 14:06:11 | 显示全部楼层
非常感谢楼主分享资源呀
回复 支持 反对

使用道具 举报

monkeyman [Lv10 举世无双] 发表于 2020-3-18 10:15:35 | 显示全部楼层
非常感谢楼主分享资源呀
回复 支持 反对

使用道具 举报

fjq0215 [Lv10 举世无双] 发表于 2020-3-19 10:55:55 | 显示全部楼层
大神带你读懂HCIE-Routing & Switching面试之调度
回复 支持 反对

使用道具 举报

monkeyman [Lv10 举世无双] 发表于 2020-3-19 15:15:50 | 显示全部楼层
非常感谢楼主分享资源呀
回复 支持 反对

使用道具 举报

jsyzchen81 [Lv9 无所不能] 发表于 2020-3-19 21:04:10 | 显示全部楼层
非常感谢楼主分享资源呀
回复 支持 反对

使用道具 举报

monkeyman [Lv10 举世无双] 发表于 2020-3-20 11:39:24 | 显示全部楼层
非常感谢楼主分享资源呀
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|无图浏览|手机版|网站地图|攻城狮论坛

GMT+8, 2020-4-2 17:29 , Processed in 0.338135 second(s), 15 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2 © 2001-2013 Comsenz Inc.

Designed by ARTERY.cn