IP QoS技术106个知识点文档格式.docx
- 文档编号:22100216
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:17
- 大小:29.08KB
IP QoS技术106个知识点文档格式.docx
《IP QoS技术106个知识点文档格式.docx》由会员分享,可在线阅读,更多相关《IP QoS技术106个知识点文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
过度的拥塞会对网络资源造成损害。
拥塞避免监督网络资源的使用情况,当发现拥塞有加剧的趋势时采取主动丢弃报文的策略,通过调整流量来解除网络的过载。
5.在这些流量管理技术中,流分类是基础,它依据一定的匹配规则识别出报文,是有区别地实施服务的前提;
而流量监管、流量整形、拥塞管理和拥塞避免从不同方面对网络流量及其分配的资源实施控制,是有区别地提供服务思想的具体体现。
6.流量分类,就是将流量划分为多个优先级或多个服务类。
在报文分类后,就可以将其它的QoS特性应用到不同的分类,实现基于类的拥塞管理、流量整形等。
7.对于流量的分类,几乎可以依据报文的任何信息,比如可以根据源IP地址、目的IP地址、源端口号、目的端口号、协议ID等进行流量的分类。
8.虽然流量分类几乎可以根据报文的任何信息进行,但是流量的标记则一般只对IP报文的ToS域进行标记。
流量的标记主要的目的就是让其他处理此报文的应用系统或设备知道该报文的类别,并根据这种类别对报文进行一些事先约定了的处理(PHB)。
9.在网络的边界做如下分类和标记:
所有VoIP数据报文聚合为EF业务类,将报文的IP优先级标记为5,或者将DSCP值标记为EF;
所有VoIP控制报文聚合为AF业务类,将报文的IP优先级标记为4,或者将DSCP值标记为AF31。
10.当报文在网络边界被标记分类之后,在网络的中间节点,就可以根据标记,对不同类别的流量给予差别服务了。
例如对上述例子中的EF类业务保证时延和减少抖动,同时进行流量监管;
对AF业务类在网络拥塞时仍然保证一定的带宽,等等。
11.通常是在相对边界的路由器上配置复杂流分类,在相对核心的路由器上配置简单流分类.。
12.复杂流分类是指根据五元组(源/目的地址、源/目的端口号、协议类型)等信息对报文进行分类,通常应用在网络的边缘位置。
13.控制域信息:
分类的依据,不同业务的流量由于控制域的特征不同,可以被划分为不同的类别。
分类依据一般或二层、三层或四层的头部信息,这是利用报文信息。
比较特殊的是,在QPPB技术中可利用BGP属性传递QoS策略,这是利用路由信息。
14.过滤工具:
根据定义好的规则,将不同的特征的流量区分开来,或者挑选出指定的流量。
15.标记方法:
根据分类结果,用不同的工具对已分类的报文进行标记,即填充或修改报文的ToS字段(IPprecedence,DSCP)。
1.策略路由(PBR):
可以基于ACL和数据包长度对报文进行分类,并改变数据包的优先级。
2.QPPB:
QoSPolicyPropagationthroughBGP,是一种使用BGP属性来传递QoS策略的机制。
3.PBR和QPPB在QoS中只对流量进行分类和标记。
其它可以用于分类和标记的技术包括CAR和基于类的分类和标记技术,这些技术除了可以标记流量以外,还可以用来执行其它的QoS机制,因此这些技术将在课程的其它部分讨论。
16.在部署QoS的时候,可以使用PBR来进行流量分类和标记。
可以依据ACL定义的规则(源IP地址、目的IP地址、协议类型、端口号等)和数据包的长度范围进行分类,然后修改数据包的DSCP或IPPrecedence字段进行标记。
17.简单流分类是指根据IP报文的IP优先级或DSCP值、MPLS报文的EXP域值、VLAN报文的802.1p值,将报文划分为多个优先级或多个服务等级(BA)。
配置基于简单流分类的流量策略可以将一种网络流量中的优先级映射到另外一种网络流量中,使流量在另外一种网络中按照原来的优先级传送。
18.简单流分类的应用场景:
在IP,MPLS,VLAN报文跨域转换时,可以使用简单流分类实现DSCP/IP-PRE/EXP/802.1P之间的映射,并保证报文的服务等级不受变化。
19.简单流分类通常配置在网络的核心位置。
20.如果不限制用户发送的流量,那么大量用户不断突发的数据只会使网络更拥挤。
为了使有限的网络资源能够更好地发挥效用,更好地为更多的用户服务,必须对用户的流量加以限制。
比如限制每个时间间隔某个流只能得到承诺分配给它的那部分资源,防止由于过分突发所引发的网络拥塞。
21.从高速链路向低速链路传输数据时,带宽会在低速链路接口处出现瓶颈,导致数据丢失严重,特别是会影响到低时延要求的数据如语音等。
流量监管(trafficpolicing)的典型作用是限制进入或流出某一网络的某一连接的流量与突发。
22.流量整形(trafficshaping)的典型作用是限制流出某一网络的某一连接的流量与突发,使这类报文以比较均匀的速度向外发送。
23.举例:
a)当相邻的网络发送报文速率大于本地网络所能承受的报文速率时,可以在网络入口的设备上应用流量监管。
网络出口也能够进行监管,但并不常用。
这是因为在出方向已经有GTS了。
b)如果流量下行的相邻网络采用了监管,则在网络出口处配置流量整形,这样可以延缓流量以避免报文被过多的丢弃,同时还能避免出口拥塞。
需要注意的是,因为流量整形使用了缓存机制,所以会增加传输时延
24.流量监管和流量整形就是一种通过对流量规格的监督,来限制流量及其资源使用的流控策略。
进行流量监管或整形有一个前提条件,就是要知道流量是否超出了规格,然后才能根据评估结果实施调控策略。
一般采用令牌桶(TokenBucket)对流量的规格进行评估。
25.在报文满足一定的条件时,如某个连接的报文流量过大,流量监管就可以对该报文采取不同的处理动作,例如丢弃报文,或重新设置报文的优先级等。
通常的用法是使用CAR来限制某类报文的流量,例如限制HTTP报文不能占用超过50%的网络带宽。
26.流量整形通常使用缓冲区和令牌桶来完成,当报文的发送速度过快时,首先在缓冲区进行缓存,在令牌桶的控制下,再均匀地发送这些被缓冲的报文。
27.GTS:
GenericTrafficShaping
28.CAR:
CommittedAccessRate
29.令牌桶用来评估流量速率是否超过了规定值,以采取相应的措施。
30.令牌桶中装的是令牌而不是分组,每隔∆t时间产生一个令牌,放入令牌桶中,令牌桶满后,新产生的令牌将被丢弃。
31.一个令牌表示可发送一个字节或一定数量字节的数据报文;
当报文到来的时候,如果令牌桶中有足够的令牌用来发送数据,则报文通过,同时令牌的数量按令牌长度作相应的减少;
如果令牌不足以发送一个数据报文的话,则这个报文被丢弃,令牌数量不变。
32.以令牌桶中令牌的数量是否满足报文的转发作为依据,评估的结果有两种:
顺从(Conform)或超标(Excess)。
33.评估流量时,令牌桶的参数设置包括:
34.平均速率(CommittedInformationRate):
向桶中放置令牌的速率
35.突发尺寸(CommittedBurstSize):
令牌桶的容量,每次突发所允许的最大流量尺寸,设置的突发尺寸必须大于最大报文长度
36.为了测量更复杂的情况,实施更灵活的调控策略,可以设置两个令牌桶。
例如流量策略TP(TrafficPolicing)中有三个参数:
承诺信息速率CIR(CommittedInformationRate);
承诺突发尺寸CBS(CommittedBurstSize);
超出突发尺寸EBS(ExcessBurstSize)。
它使用了两个令牌桶,每个桶投放令牌的速率一样,均为CIR,只是尺寸不同——分别为CBS和EBS,简称C桶和E桶,代表所允许的不同突发级别。
每次测量时,依据“C桶有足够的令牌”、“C桶令牌不足,但E桶足够”以及“C桶和E桶都没有足够的令牌”的情况,可以分别实施不同的流控策略。
37.CAR可以对特定流量进行流量监管,对超出限额的流量进行丢弃或者重新标记。
38.首先,根据预先设置的匹配规则来对报文进行分类,如果是无须进行流量监管的报文,就直接发送,不需要经过令牌桶的处理。
39.其次,如果是需要进行流量控制的报文,则会进入令牌桶中进行处理。
我们定义包长度为B,令牌数量为TB:
40.如果进入令牌桶处理的包长度B–TB<
0,报文能拿到令牌则报文是绿色的(不管对此颜色的报文采取什么处理行为如丢弃、转发等),同时令牌桶中减少相应报文长度的令牌,TB=TB-B,反之拿不到令牌的报文是红色的,令牌不减少(不论对红色报文执行转发还是其他的处理行为)。
需要说明的是如果把红色报文的处理行为配置成PASS,虽然拿不到令牌,但是报文还是可以送出。
例如,如果进入令牌桶处理的报文长度B为800bits,TB=30000bits,这时30000-800>
0所以报文是绿色的,同时令牌数量TB=30000-800;
否则报文是红色的,TB不减少。
41.当令牌桶中没有令牌的时候,报文将不能被发送,只有等到桶中生成了新的令牌,报文才可以发送,这就可以限制报文的流量只能是小于等于令牌生成的速度,达到限制流量的目的。
令牌桶按用户设定的速度向桶中放置令牌,且用户可设置令牌桶的容量。
42.在实际应用中,VRP的CAR不仅可以用来进行流量控制,还可以进行报文的标记(mark)或重新标记(re-mark)。
具体来讲就是CAR可以设置IP报文的优先级或修改IP报文的优先级,达到标记报文的目的。
例如,当报文符合流量特性的时候,可以设置报文的优先级为5,当报文不符合流量特性的时候,可以丢弃,也可以设置报文的优先级为1并继续进行发送。
这样,后续的处理可以尽量保证不丢弃优先级为5的报文,在网络不拥塞的情况下,也发送优先级为1的报文,当网络拥塞时,首先丢弃优先级为1的报文,然后才丢弃优先级为5的报文。
43.CAR可以为不同类别的报文设置不同的流量特性和标记特性。
即,首先对报文进行分类,然后不同类别的报文有不同的流量特性和标记特性。
44.CAR能在出接口和入接口上生效。
45.通用流量整形(简称GTS)可以对不规则或不符合预定流量特性的流量进行整形,以保证网络上下游之间的带宽匹配,避免拥塞发生。
46.GTS与CAR一样,都采用了令牌桶技术来控制流量。
GTS与CAR的主要区别在于:
利用CAR进行报文流量控制时,对不符合流量特性的报文进行丢弃;
而GTS对于不符合流量特性的报文则是进行缓冲,减少了报文的丢弃,同时满足报文的流量特性。
47.GTS的基本处理过程如图所示,其中用于缓存报文的队列称为GTS队列。
GTS可以对接口上指定的报文流或所有报文进行整形。
当报文到来的时候,首先对报文进行分类,如果报文不需要进行GTS处理,就继续发送,不需要经过令牌桶的处理;
流量整形的令牌桶的构成同CAR一样,如果报文需要进行GTS处理,则与令牌桶中的令牌进行比较,进入令牌桶处理的包长度B–TB<
0则报文被发送,否则报文被缓存,等到令牌桶中有足够的令牌时继续发送报文。
令牌桶按用户设定的速度向桶中放置令牌,如果令牌桶中有足够的令牌可以用来发送报文,则报文直接被继续发送出去,同时,令牌桶中的令牌量按报文的长度做相应的减少。
当令牌桶中的令牌少到报文不能再发送时,报文将被缓存入GTS队列中(队列是FIFO队列),此队列与接口上的FIFO不是同一个队列,当然队列有一定的长度(以包为单位),当需要缓存的报文个数大于队列长度时报文因无法缓存而丢弃。
当GTS队列中有报文的时候,GTS按一定的周期从队列中取出报文进行发送,每次发送都会与令牌桶中的令牌数作比较,令牌数足够则发送,令牌数不够就继续缓存。
另外,GTS也允许有突发。
GTS只能在出接口上生效。
48.流量监管:
削峰不填谷,利用CAR进行报文流量控制时,对不符合流量特性的报文进行丢弃。
由于通常情况下丢弃超标的流量,会增大报文的丢包率。
49.流量整形:
削峰填谷,GTS对于不符合流量特性的报文则是进行缓冲,减少了报文的丢弃,同时满足报文的流量特性。
但是缓冲机制会导致时延问题。
50.物理接口总速率限制(简称LR)可以在一个物理接口上,限制接口发送报文(包括紧急报文)的总速率。
51.LR的处理过程仍然是采用令牌桶进行流量控制。
如果用户在路由器的某个接口上配置了LR,规定了流量特性,则所有经由该接口发送的报文首先要经过LR的令牌桶进行处理。
如果令牌桶中有足够的令牌可以用来发送报文,则报文可以发送。
如果令牌桶中的令牌不满足报文的发送条件,则报文入QOS队列进行拥塞管理。
这样,就可以对通过该物理接口的报文流量进行控制。
52.同样的,由于采用了令牌桶控制流量,当令牌桶中积存有令牌时,可以允许报文的突发性传输。
当令牌桶中没有令牌的时候,报文将不能被发送,只有等到桶中生成了新的令牌,报文才可以发送,这就可以限制报文的流量只能是小于等于令牌生成的速度,具有限制流量,同时允许突发流量通过的目的。
53.LR能够限制在物理接口上通过的所有报文,CAR和GTS在IP层实现,对不经过IP层处理的报文不起作用。
LR与GTS比较,不但能够对超过流量限制的报文进行缓存,而且还进入了Qos队列机制进行处理,所以队列调度机制更灵活。
54.在用户只要求对所有报文限速时,使用LR所需的配置操作简单。
对于网络建设投资者,可以对客户隐藏实际带宽,客户只能严格按所购买的带宽来使用。
55.对于网络单元,当数据包到达的速度大于该接口发送数据包的速度时,在该接口处就会产生拥塞。
如果没有足够的存储空间来保存这些分组,它们其中的一部分就会丢失。
数据包的丢失又可能会导致发送该数据包的主机或路由器因超时而重传此数据包,这将导致恶性循环。
56.当拥塞发生时,多个报文会同时竞争使用资源,导致得不到资源的某些业务报文被丢弃,尤其不能保证关键业务的带宽、时延、抖动等QoS参数。
此时如何制定一个资源的调度策略决定报文转发的处理次序,就是拥塞管理的中心内容。
对于拥塞管理,一般采用排队技术,它包括队列的创建,决定报文的队列归属的流分类,以及队列间的调度策略。
57.最初的队列调度策略只有FIFO(先进先出),后来为了满足不同业务的需求,设计了多种调度策略。
58.队列调度机制由两部分组成:
硬件队列和软件队列。
硬件队列也叫发送队列(TransmitQueue,TxQ),接口驱动在逐个传输数据包的时候需要使用这个队列,这个队列是FIFO队列。
软件队列根据QoS的要求把数据包调度到硬件队列,软件队列可以使用多种调度方式。
59.数据包在硬件队列已满的情况下才进入软件队列调度。
a)硬件队列的长度跟接口的带宽设置有关,接口带宽大,传输时延就小,因此队列长度可以设得长一些,反之,队列长度要设得小一些。
合理设置硬件队列长度非常关键,硬件队列长度过长会影响软件队列执行策略的效果,因为硬件队列是使用FIFO机制进行调度的;
硬件队列长度太短会影响调度的效率,导致链路利用率降低和CPU占用过高。
60.常用的队列调度机制如下:
61.FIFO:
FirstInFirstOut,先进先出队列
62.PQ:
PriorityQueuing,优先级队列
63.CQ:
CustomQueuing,自定义队列
64.WFQ:
WeightedFairQueuing,加权公平队列
65.IPRTPQ:
IPRTPQueuing,IPRTP优先队列
66.CBQ:
Class-basedQueuing,基于类的队列
67.队列是一个比较容易理解的概念,我们在日常生活中也用到类似技术。
例如我们去电影院买票的时候,大家排成几队顺序买票,排在前面的先拿到票;
有时突然冲出一个人跑到队伍的最前面拿出证件马上就拿到了票,这类人属于特权阶级需要优先处理,后面的人只能等这类人买完票才能继续排队买票。
68.队列调度机制是QoS中非常重要的一个技术,是拥塞管理机制。
在出接口发生拥塞时,通过适当的队列调度机制,可以优先保证某种类型的报文的QoS参数,例如带宽、时延、抖动等。
我们这里所说的队列是指出队列,其作用是在接口有能力发送报文之前先将报文在内存中保留下来,直到接口可以继续发送报文,所以队列调度机制都是在出端口发生拥塞情况下产生作用,另外一个主要作用就是将报文重新排序(FIFO除外)。
69.主要的队列调度包括:
FIFO、PQ、CQ、WFQ、CBQ、IPRTPQ,我们可以从分类、丢弃策略、单一队列内的调度方式、队列之间的调度方式、队列数目和队列长度各方面来比较学习这些队列技术。
70.FIFO是队列机制中最简单的。
每个接口上只有一个FIFO队列,表面上看FIFO队列并没有提供什么QoS保证,实则不然。
既然只有一个队列,自然不需要考虑把什么类型的报文放入到哪个队列的问题,也不用考虑下一个报文从哪个队列拿包、怎么拿、拿多少的问题,即FIFO无需流分类、调度机制,而且因为按顺序取报文,FIFO无需对报文重新排序。
简化了这些程序其实也就提高了对时延的保证。
71.FIFO关心的就是队列长度问题,队列长度会影响到时延、抖动、丢包率。
因为队列长度是有限的,有可能被填满,这就涉及到该机制的丢弃原则,FIFO使用TailDrop机制。
如果定义了较长的队列长度,那么队列不容易填满,被丢弃的报文也就少了,但是队列长度太长了会出现时延的问题,一般情况下时延的增加会导致抖动也增加;
如果定义了较短的队列,时延的问题可以得到解决,但是发生TailDrop的报文就变多了。
类似的问题在其它排队方法中也存在。
72.TailDrop机制简单的说就是如果该队列如果已经满了,那么后续进入的报文被丢弃,而没有什么机制来保证后续的报文可以挤掉已经在队列内的报文。
73.当有多个流需要发送时,FIFO不能公平分配带宽,一些流可能会占用很多带宽,因为它们不断发送很多或者很大的数据包,这样对于延迟敏感的数据包来说可能会造成很大的延迟和抖动。
74.常规情况下PQ有四个级别的队列,分别为Top、Middle、Normal、Bottom,不过目前的设备大部分都实现了8个优先级队列,只要相对高的优先级队列有报文,就一直从高优先级队列取报文,所以PQ的优缺点是很明显的。
75.PQ队列的优点是可以保证高优先级队列的报文可以得到较大带宽、较低的时延、较小的抖动;
缺点是低优先级队列的报文不能得到及时的调度,甚至得不到调度,即会出现“饿死”现象。
76.PQ具有如下特征:
a)可以使用ACL对报文进行分类,根据需要将报文入队列;
b)报文丢弃策略采用TailDrop机制,且只有这一种机制;
c)队列长度可以设置为0,表示该队列无穷大,即进入该队列的报文不会被TailDrop机制丢弃,除非内存耗尽了;
d)队列内部使用FIFO调度思想;
e)当从队列调度报文时,先从高优先级的队列调度报文。
f)从PQ特点可以看出,PQ保证某类流量尽可能得到最好的服务,而不管其它流量的“死活”。
77.PQ按依据以下条件分类数据:
1、直接匹配数据流的入接口
2、标准或扩展的IP访问列表,对于ACL可以支持匹配如下参数:
a)源IP地址
b)目的IP地址
c)UDP/TCP的源端口号或端口范围
d)UDP/TCP的目的端口号或端口范围
e)IPPrecedence即前面所讲到的TOS字段的前三比特
f)DSCP即TOS字段的前六比特
g)分片包,根据IP报文中的分片标识位及偏移量来识别
3、网络协议,如:
IPX、CLNS等协议
4、报文长短
78.PQ严格执行优先调度机制,先从高优先级的队列调度报文。
如图所示系统先检查高优先级队列,如果发现高优先队列中有分组存在,那么系统会为高优先级队列服务,直到高优先队列为空;
高优先队列为空后系统会检查中优先级队列,如果中优先级队列中有分组存在那么系统会为其服务,以此类推,系统会这样向下检查并提供服务。
这样的调度机制存在一定的缺陷,会导致低优先级队列的报文不能得到及时的调度,出现“饿死”现象。
79.对没有定义的或不能识别的报文会放到缺省队列(可配置)进行处理。
80.CQ在支持流分类选项及配置方面与PQ相似,但在调度机制上他们是完全不同的,CQ解决了PQ的“饿死”问题。
共有0~16个队列,其中0队列是优先级队列,只有0队列的报文处理完才会去处理1~16队列,所以0队列一般用做系统队列。
1~16号队列可以按用户的定义分配它们能占用的接口带宽比例,在报文出队的时候采用RoundRobin调度方式,从每个队列取出指定bytes的报文。
每个单独的队列仍旧使用Tail-drop机制。
81.CQ与PQ一样,按依据以下条件分类数据:
82.CQ采用RoundRobin调度方式,从队列1开始,从每个队列取出指定数目的报文,CQ从相应队列取出报文,直到报文数目满足或者超出设置的范围,当从该队列取出了足够的报文或者队列中没有报文的话,开始对下一个队列进行类似的操作。
83.CQ不会配置确切的链路带宽比例,而是配置字节数目,可以根据配置的每个队列应取得的字节数目计算出每个队列占用的链路带宽,公式为:
该队列应取得的字节数目/所有队列应取得的字节数目=该队列占用的链路带宽比率
84.如果一段时间内某个队列为空,剩余的队列按照比例分配该空队列所占用的带宽。
举个例子来说:
现在配置了5个队列,每个队列每次取的字节数分别为5000、5000、10000、10000、20000,如果5个队列都有充足的报文需要发送,那么每个队列分配的带宽比例为10%、10%、20%、20%、40%;
假设队列4有一段时间内没有报文发送,即队列为空,那么剩余的4个队列把这20%的带宽按照1:
1:
2:
4的比例进行分配,所以在这段时间内这四个队列实际分配的带宽为12.5%、12.5%、25%、50%。
85.WFQ与之前讲到的PQ、CQ最大的区别是WFQ不允许用户通过A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IP QoS技术106个知识点 QoS 技术 106 知识点
![提示](https://static.bdocx.com/images/bang_tan.gif)