可聚合网络:

语音和视频流量之间共存

带宽缺乏、端到端延迟、抖动延迟、丢包

解决带宽匮乏:

1,更新带宽

2,转发作重要的流量

3,压缩2层

4,压缩3层流

延迟:

1,处理延迟

2,队列延迟

3,串行延迟(8bit转换成一个字节)

4,链路延迟

解决延迟:

1,更新带宽

2,转发重要的流量

3,压缩2层负载

4,压缩ip包头

丢包率:

1,tail drops:超过一定深度队列的数据包被丢弃



1,network audit网络审计

2,business audit商务审计

3,service levels required服务级别




QOS模型分类:

1,尽力而为模型:没有应用QOS服务

2,集成服务模型:应用程序发送程序协议之前,先向网络中发起信令申请服务

3,差分服务模型:对流量进行分类


尽力而为服务

集成服务:有保障、可预期。端到端信令协议。资源预留

1,提供多种服务级别2

2,需要信令协议

3,资源预留协议RSVP

4,使用智能队列

分类:

1,保障速率服务

2,负载控制服务

差分服务:对服务进行分类,不同流量有不同的服务级别






区分服务模型:

在网络边缘对流量分类

DSCP:差分服务代码点:基于每一个数据包的

per-hop behaviors:每跳行为


1,支持各种策略

2,服务和应用分离

3,后向兼容不支持差分服务的节点

4,支持增量部署


DSCP编码地址:

ipv4包头格式:

versionlength tosbyte len id offset ttl proto fcs ipsa ipda data

ip优先级有三个比特。产生八个数值,值越高,优先级越高,只是一个标记方式。

diffserv field:使用ipv4中的tos字段

dscp:使用diffserv field的6bit,用来选举PHB(转发和队列的方法)


per-hop behaviors

1 0 1 1 1 0 DSCP

前三位

000=default(FIFO,tail drop) BE:没有应用差分服务模型

101=expedited forwarding EF

001,010,011,or 100=assured forwarding AF

后三位

000=class selector(IP Precedence) CF


EF:加速转发101110

1,保障最小的转发速率

2,带宽受保障,优先转发

3,带宽分配有管制作用

bits 5 to 7:'101'=5 跟IP的TOS使用一样的

bits 3 to 4:'11'= NO DROP probability

bits 2:'0'


AF:带宽保障100110

1,保障最小的转发速率

DSCP VALUE RANGE:

aaadd0

四类:

af1,af2,af3,af4

class value

af1 001 dd 0

af2 010 dd 0

af3 011 dd 0

af4 100 dd 0

dd值越小被丢弃的可能性越大

af值越大获得的资源越多


CF:XXX000后三位始终为0,与IP tos正好符合

xxx越大获得带宽资源越高






QOS机制:

1,分类:DSCP、MQC

2,标记

3,拥塞管理(队列机制):队列的优先调度;路由器的出接口生效;FIFO/WFQ/CBWFQ/LLQ/PQ/CQ

4,拥塞避免:避免出现tail drop、wred

5,流量管制(限速)与×××;路由器的入接口生效(管制)、路由器的出接口生效(×××)

6,链路有效性:分片、交叉传递、压缩


INPUT INTERFACE:

classify、mark、policing

OUTPUT INTERFACE:

congestion management、mark、congestion avoidance、shaping、policing、compressing、fragmentation and interleaving 




QOS实现方式:

1,QOS CLI(重点)

2,auto qos

3,sdm

4,传统QOS命令行:没有统一的模型



QOS CLI:

1,建立模型定义流量分类:CLASS A、CLASS B、CLASS C

定义CLASS MAP,class map没有序列号、大小写敏感、默认是match all

match all:所有条件必须匹配

match any:至少必须匹配一个条件

class-map还可以嵌套


2,构建模块定义策略并指定流量分类到策略

定义POLICY MAP,大小写敏感、最多调用256个class分类、可以嵌套

policy map yy

class xx

bandwidth 1000 保障一兆带宽

class class-default 默认的流量

police 10000


service-policy policy-name 嵌套policy map

3,把策略应用到接口

定义SERVICE POLICY

service-policy {input|output} policy-map-name




分类和标记在链路层的使用

802.1P属于802.1Q标记中的高三位bit(COS)

二层和三层之间的标记位做映射


 










可以在接口下直接调用rate-limit

int s0/0

rate-limit input|output 。。。

匹配接口MAC地址的ACL

access-list rate-limit 100 XX:XX:XX



PQ

PQ为优先级队列,PQ在发生拥塞时,只有当高优先级的数据全部传完后,才会传送次优先级的数据

但是可以限制每个队列的传输的数据包个数



配置案例:

1,将源IP为20.1.1.0/24的数据放入队列high中

access-list 20 permit 20.1.1.0 0.0.0.255

priority-list 1 protocol ip high list 20

2,将源IP为21.1.1.0/24的数据放入队列medium中

access-list 21 permit 21.1.1.0 0.0.0.255

priority-list 1 protocol ip medium list 21

3,将端口号为TCP 23的数据放入队列normal中

priority-list 1 protocol ip normal tcp 23

4,其他的数据都放入到队列low中

priority-list 1 default low

5,限制每个队列的最大数据包个数

priority-list 1 queue-limit 400 300 200 100

6,应用PQ到接口

int s0/0

priority-group 1


查看PQ参数

show queueing priority



CQ

CQ中有1到16共16个队列,每个队列可以限制可传的数据包总数,但实时数据不能得到保证

当网络发生拥塞时,先传第一个队列中的数据,当传到额定的数据包个数后,再传第二个队列中的数据

0号队列是超级优先级队列,路由器总是先把0号队列中的数据发送完后才处理1到16队列中的数据包

在配置1到16号队列后,用户可以配置每个队列同一时间可以占用接口带宽的比例,相当于限速



配置案例:

1,将源IP为20.1.1.0/24的数据放入队列1中

access-list 20 permit 20.1.1.0 0.0.0.255

queue-list 1 protocol ip 1 list 20

2,将源IP为21.1.1.0/24的数据放入队列2中

access-list 21 permit 21.1.1.0 0.0.0.255

queue-list 1 protocol ip 2 list 21

3,将端口号为TCP 23的数据放入队列3中

queue-list 1 protocol ip 3 tcp 23

4,其他的数据都放入到队列4中

queue-list 1 default 4

5,限制各个队列每次可传的最大字节数。当传到最大字节数后,将转到传递下一个队列

queue-list 1 queue 1 byte-count 100

queue-list 1 queue 2 byte-count 200

queue-list 1 queue 3 byte-count 300

queue-list 1 queue 4 byte-count 400

6,限制各个队列每次可传的最大数据包数。

queue-list 1 queue 1 limit 10

queue-list 1 queue 2 limit 20

queue-list 1 queue 3 limit 30

queue-list 1 queue 4 limit 40

7,应用CQ到接口下

int s0/0

custom-queue-list 1


查看CQ参数

show queueing custom





CBWFQ

系统按照接口所有可用带宽按每个流的IP优先级,公平的分给每一个流

CBWFQ对WFQ进行扩展和优化,就是要为特定的流量划分特定的带宽,让这些特定的流量在分配带宽时,只能从这些划分的特定带宽中分配


配置案例:

1,通过ACL匹配源地址为20.1.1.0/24的流量

access-list 10 permit 20.1.1.0 0.0.0.255

2,通过class-map匹配源地址为20.1.1.0/24的流量

class-map class20

match access-group 10

3,为源地址20.1.1.0/24的流量划分带宽

policy-map policy20

class class20

bandwidth 1000

4,其他所有流量从所有剩余可用带宽中分配

policy-map policy20

class class-default

bandwidth remaining percent 100 使用百分比的方式,必须前面设置带宽的时候也要以百分比方式设置

5,在接口下应用CBWFQ

int s0/0

max-reserved-bandwidth 90 修改接口可用带宽总数

service-policy output policy20





LLQ

LLQ为特定的流量划分特定的带宽,划给特定流量的带宽是绝对能够保证的,无论接口有多繁忙,LLQ中的流量是能够优先传送的,但是这些流量的带宽却不能超过所分配的带宽,如果超过了,也是没关系的,这些超过的流量只有在拥塞时才会被丢弃


配置案例:

1,通过ACL匹配源地址为10.1.1.0/24的流量

access-list 10 permit 10.1.1.0 0.0.0.255

2,通过ACL匹配源地址为20.1.1.0/24的流量

access-list 20 permit 20.1.1.0 0.0.0.255

3,通过class-map匹配源地址为10.1.1.0/24的流量

class-map net10

match access-group 10

4,通过class-map匹配源地址为20.1.1.0/24的流量

class-map net20

match access-group 20

5,使用LLQ分配30 Mbit给源地址为10.1.1.0/24的流量

policy-map band

class net10

priority percent 30 priority为LLQ中的流量分配带宽,percent后的百分比为接口总带宽的百分比

6,使用CBWFQ将剩余可用带宽的50%分配给源地址为20.1.1.0/24的流量

policy-map band

class net20

bandwidth remaining percent 50 remaining percent是从分配给LLQ后剩余带宽分配比例

7,将接口的全部可用带宽该为80Mbit

int s0/0

max-reserved-bandwidth 80

8,应用队列到接口S0/0

int s/0

service-policy output band


只要有CBWFQ,方向只能为out





IP RTP

受RTP保护的数据流,可以在任何流量之前有线传递,即使是LLQ和RTP同时出现的情况下,RTP的流量是优先于LLQ传送的。并不是所有的流量都能受到RTP的保护,只有UDP目标端口号为16384至32767的数据才能得到保护,并且可以随意定义端口号范围





拥塞避免

Tail Drop

当借口发生拥塞时,总是将最后到达的数据包丢弃,直到没有拥塞为止


WRED

当接口发生拥塞时,总是先保证高优先级的重要数据的传递,而丢弃普通的数据

配置:

1,在接口下开启基于IP优先级的WRED

int s0/0

random-detect

2,在接口下开启基于DSCP的WRED

int s0/0

random-detect dscp-based

3,查看WRED

show queueing random-detect

4,配置CBWFQ下的WRED

policy-map WWW

class class-default

bandwidth 100000

random-detect 对所有流量通过命令bandwidth配置了CBWFQ,并通过命令random-detect 开启了基于IP优先级的WRED


WRED-Explicit Congestion Notification

DE