QOS不错的解析.docx

上传人:b****7 文档编号:23964521 上传时间:2023-05-23 格式:DOCX 页数:30 大小:31.80KB
下载 相关 举报
QOS不错的解析.docx_第1页
第1页 / 共30页
QOS不错的解析.docx_第2页
第2页 / 共30页
QOS不错的解析.docx_第3页
第3页 / 共30页
QOS不错的解析.docx_第4页
第4页 / 共30页
QOS不错的解析.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

QOS不错的解析.docx

《QOS不错的解析.docx》由会员分享,可在线阅读,更多相关《QOS不错的解析.docx(30页珍藏版)》请在冰豆网上搜索。

QOS不错的解析.docx

QOS不错的解析

QOS详解

 QOS(QualityOfServer)(在拥塞时才用) 

哪些问题会影响网络的数据传输

1、有限的带宽

2、延迟

3、抖动

4、丢包

解决可用带宽的方法:

 1、升级带宽,增加链路带宽

 2、让优先级高的流量先过

 3、压缩二层的帧

 4、压缩IP包的头部

延迟的分类:

 1、处理延迟--网络设备将数据帧从入接口取出,将其放到接收队列,再放到出接口输出队列所需的时间

 2、排队延迟--数据包在接口的输出队列中等待的时间

 3、串行化延迟--将封装在数据帧中比特放到物理介质上的时间

 4、传播延迟--通过物理介质传输数据帧中的比特所需的时间

注意:

只有排队延迟可以通过使用QOS来进行控制

QOS服务模型:

1、尽力而为的服务--没有应用QOS,网络的默认行为

2、集成服务--所有的中间系统和资源都显式的为流提供预定的服务,这种服务需要预留网络资源,确保网络能够满足通信流的特定服务要求。

3、区分服务--将根据服务要求将通信流分类,然后将它们加入到效率不同的队列中,使一些通信流优先于其他类别的通信流得到处理。

IntServ

集成服务是通过使用RSVP(ResourceReservationProtocol资源预留协议)实现的,在两个端点中间网络设备上都要启用RSVP。

工作原理--数据流在发送之前,起始节点会向网络请求特定类型的服务,并将其流量配置文件告诉网络中的每个中间节点,请求网络提供一种能够满足其带宽和延迟要求的服务。

在从网络得到确认后,应用才开始发送数据。

资源预留的过程分为5步:

1、数据发送方发送rsvppath控制消息,这种消息描述了将要被发送的数据的信息。

2、每个rsvp路由器收到path消息后,保存上一跳的IP地址,并继续向下发送。

3、接收站接收到rsvppath消息后,使用rsvpresv消息向上一跳路由器请求rsvp资源预留。

rsvpresv消息从接收方到发送方所经过的路径与rsvppath消息到来时完全相同。

4、rsvp路由器确定是否可以满足这些rsvp请求,如果不能,则拒绝。

如果可以,则预留出资源,并继续向上一跳发送出rsvp请求。

5、发送方收到rsvp请求,说明预留已经就绪,可以开始发送数据了。

路由器对数据包的处理过程:

1、准入控制

2、分类

3、策略

4、排队

5、调度

资源预留方式可分为两类:

1、独占式--适合于多个数据源同时发送的应用程序,针对每个发送方预留资源,且发送方是很清楚的。

2、共享式--适合于多个数据源不太可能同时发送的应用程序。

  又可分为两种:

  ①共享显式(shardexplicitSE)--为多个明确的源预留资源

  ②通配符过滤器(wildcardfilterWF)--为所有源预留资源

需要一个PDP(policyDecisionPoint策略决策点)来集中完成网络对RSVP请求的许可控制。

缺点:

不具有可扩展性,并且需要网络设备不断的发送信号,本身占用带宽。

配置:

 

R1(config)#interfacee0

R1(config-if)#iprsvpbandwidth   起用rsvp,默认使用75%的带宽做rsvp

R1(config-if)#iprsvpbandwidth500   设定只使用500K的带宽

R1(config)#interfaceS0

R1(config-if)#iprsvpbandwidth 

R1(config)#iprsvpsender20.1.1.510.1.1.4udp1040010.1.1.4e03232

                          目标IP   源IP   目标端口源端口      预留带宽

R2(config)#interfaceS0

R2(config-if)#iprsvpbandwidth   

R2(config)#interfaceS1

R2(config-if)#iprsvpbandwidth 

R3(config)#interfaceS0

R3(config-if)#iprsvpbandwidth   

R3(config)#interfaceS1

R3(config-if)#iprsvpbandwidth 

R3(config)#iprsvpreservation20.1.1.510.1.1.4 udp1040020.1.1.5e0ffload3232

                                                                     独占式预留

showiprsvpinterface

showiprsvpinstalled

showiprsvpsender

  每30S发一次dump-messages

===========================================================================

DiffServ

区分服务--能够提供满足不同QOS需求的多种服务等级。

不需要显示的通知网络设备。

路由器对数据包的处理是逐跳行为

缺点:

没有绝对的服务保证,机制复杂。

语音进程的端口号:

16384-32767之间的偶数 奇数的是控制端口,偶数的是数据端口 

·确定数据流的优先顺序。

对延迟敏感的流量赋予高的优先级。

 如果WAN链路不发生拥塞,没有必要划分数据流的优先顺序。

 如果WAN链路经常发生拥塞,划分数据流的优先顺序可能解决不了问题,更合适的解决方案是增加带宽。

·制定排队策略:

 1.为所有用户提供合适的服务级别

 2.节省昂贵的WAN费用

·RTP(Real-TimeProtocol):

实时传输协议

 RTP传输多媒体应用的数据流,包括IP语音和视频(对延迟比较敏感的)

·MQC(ModularQoSCLI(commandlineinterface)):

 MQC--模块化的QOS命令行

 为我们配置QOS提供了一个统一的格式标准

区分服务可分为以下四大部分:

-----------------------------------------------------------------------------------------

分类和标记      限速(shaping&policy)  拥塞避免    Queuing

ACL              GTS     CAR         RED         FIFO

PBR             FRTS    CBpolicing   WRED        PQ

NBAR            CBshaping             FB-WRED     CQ

CBMARKING                              CB-WRED     WFQ

                                                    LLQ

                                                    CBWFQ

                                                    WRRQ

------------------------------------------------------------------------------------------

分类和标识的方法:

分类就是以预定的参数来区分帧或数据包,最常见的是按流量的类型来分类。

标记就是对区分出来的数据包打上相应的优先级

一、二层标记方法

COS--二层的服务类别

7 保留

6 保留

5 语音流量

4 视频会议

3 呼叫信令

2 高优先级数据

1 中优先级数据

0 尽力而为的传输

二、三层标记方法

IP优先级--共8个分类,从0-7,0级最低,7级最高

DSCP--区分服务代码点

使用ToS字段的前6个bit,共64个不同的优先级

PHB--逐跳行为,取出13个DSCP值进行了标准化

AF--保证转发,定义了四种不同的类别,每种类别又定义了三种不同的丢弃概率

EF--快速转发

PBR:

做了分类和设置优先级的工作。

注意:

只能设置IP优先级,不能支持DSCP

例一:

1、对VOIP流量设定IP优先级为5

2、对于5.5.5.0网段过来的,访问2.2.2.0的流量设定IP优先级为2

3、对于6.6.6.0网段过来的,访问2.2.2.0的流量设定IP优先级为1

第一步:

定义ACL

R1(config)#access-list100permitudpanyanyrange1638432767

R1(config)#access-list101permitip5.5.5.00.0.0.2552.2.2.00.0.0.255

R1(config)#access-list102permitip6.6.6.00.0.0.2552.2.2.00.0.0.255

第二步:

定义route-map并打标记

R1(config)#route-mapPBR10

R1(config-route-map)#matchipaddress100

R1(config-route-map)#setipprecedence5

R1(config)#route-mapPBR20

R1(config-route-map)#matchipaddress101

R1(config-route-map)#setipprecedence2

R1(config)#route-mapPBR30

R1(config-route-map)#matchipaddress102

R1(config-route-map)#setipprecedence1

第三步:

调用

R1(config)#interfaces0

R1(config-if)#ippolicyroute-mapPBR

CBMARKING

例二:

1、对VOIP流量,给予IP优先级5

2、对于telnet流量,给予IP优先级4

3、对于来自172.16.1.0的流量,给予IP优先级2

步骤:

1、定义ACL

R1(config)#access-list100permitudpanyanyrange1638432767

R1(config)#access-list101permittcpanyanyeq23

R1(config)#access-list102permitip172.16.1.00.0.0.255any

2、定义类别映射表

R1(config)#class-map[match-any|match-all]VOIP

R1(config-cmap)#matchaccess-group100

R1(config)#class-map[match-any|match-all]TELNET

R1(config-cmap)#matchaccess-group101

R1(config)#class-map[match-any|match-all]NETWORK

R1(config-cmap)#matchaccess-group102

3、定义策略映射表

R1(config)#policy-mapXWX

R1(config-pmap)#classVOIP

R1(config-pmap-c)#setipprecedence5

R1(config-pmap)#classTELNET

R1(config-pmap-c)#setipprecedence4

R1(config-pmap)#classNETWORK

R1(config-pmap-c)#setipprecedence2

4、调用

R1(config)#ints0

R1(config-if)#service-policyinputXWX

#showpolicy-map

#showclass-map

#showpolicy-mapinterface

class-map默认是match-all

例三:

对于来自s1接口的流量,给予IP优先级1

R1(config)#class-map[match-any|match-all]INTER

R1(config-cmap)#matchinput-interfaces1 还可以匹配入站接口

R1(config)#policy-mapXWX

R1(config-pmap)#classINTER

R1(config-pmap-c)#setipprecedence1

调用在出口

R1(config)#ints0

R1(config-if)#service-policyinputXWX

NBAR(Network-BasedApplicationRecongnition基于网络的应用识别)

基于ACL的分类使用数据包的第3层和4层信息来对数据包进行分类。

NBAR可以根据第7层信息来对数据帧进行分类。

在定义class-map时使用matchprotocol命令时,就是使用了NBAR

例一:

在路由器入口,对于telnet流量,给予优先级3

配置NBAR:

1、开启cef

R1(config)#ipcef

2、定义类别映射表

R1(config)#class-map[match-any|match-all]TELNET

R1(config-cmap)#matchprotocoltelnet 区别就在这里

3、定义策略映射表

R1(config)#policy-mapXWX

R1(config-pmap)#classTELNET

R1(config-pmap-c)#setipprecedence3

4、调用

R1(config)#ints0

R1(config-if)#ipnbarprotocol-discovery

R1(config-if)#service-policyinputXWX

注意事项:

使用NBAR,必须先启用CEF特性

config)#ipcef

使用NBAR,接口模式下必须打开(match字段中有protocol时就表示使用了NBAR)

ipnbarprotocol-discovery 必须在接口下开启这一命令

R1(config)#ipnbarport-maphttptcp808080  指定http协议对应的端口,不仅仅是默认的,还可以扩展

例二、禁止访问新浪、禁止下载JPG图片

class-mapmatch-anyDROP

 matchprotocolhttphost  过滤本网站的流量

 matchprotocolhttpurl*.jpg|*.gif       还可以抓网页上的图片

R1(config)#policy-mapXWX

R1(config-pmap)#classDROP

R1(config-pmap-c)#drop

R1(config)#ints0

R1(config-if)#service-policyinputXWX

PDLM(packetdescriptionlanguagemodule)

包描述语言模块,一种扩展的技术,可以让路由器直接对某种应用程序流量或新的协议流量进行识别,而不需要更换IOS或重启路由器。

PDLM模块由cisco的工程师开发,需要先下载进flash中,再进行加载。

例三:

在网络中过滤掉BT流量

R1(config)#ipnbarpdlmbt.pdlm-------灌入抓BT的PDLM。

装入之后就可以在classmap中调用了

R1(config)#class-mapmatch-anyDROP

R1(config-cmap)#matchprotocolpdlmbt

 

R1(config)#policy-mapXWX

R1(config-pmap)#classDROP

R1(config-pmap-c)#drop

R1(config)#ints0

R1(config-if)#service-policyinputXWX

----------------------------------------------------------------------------------

----------------------------------------------------------------------------------

排队技术

从三个步骤上来学习:

1、分类

2、加队

3、调度

FIFO:

firstinfirstoutqueuing先进先出队列

分类:

不对报文进行分类

加队:

按数据包到达的先后顺序进行加队,按尾丢弃原则丢弃。

调度:

按数据包到达的先后顺序进行出队

·FIFO(FirstInFirstOut)排队是一种经典的分组传输算法。

 分组的传输顺序与接收顺序相同。

现今仍是大部分接口的默认设置。

(大于2M的基本都是)

默认2M以下都是WFQ

R1(config-if)#nofair-queue  在接口启用FIFO

showinterfacee0  查看

FIFO输出队列的缓存中默认只容纳40个包,可以修改。

R1(config-if)#hold-queue50out 

PQ:

优先级队列

共有四个队列,分为四个优先级别,默认的流量都是normal

优先级分类:

1high 2medium 3normal 4low 默认所有流量都走normal队列

加队:

在每一个队列中还是按照fifo的原则加队,按尾丢弃原则丢弃。

调度:

只要高优先级有流量就发高优先级的,只到高优先级的数据发完再发低优先级的数据,这样就有可能造成低优先级的数据无带宽可用。

实验:

要求在路由器的出接口将telnet流量放入high队列  将icmp流量放入medium队列

Access-list100permiticmpanyany

R1(Config)#priority-list1protocoliphightcptelnet 将telnet流量的优先级置为high

R1(Config)#priority-list1protocolipmediumlist100 调用访问列表将icmp的优先级置为normal

R1(Config-if)#priority-group1 接口下调用

priority-list1queue-limit22446688定义每一个队列的座位数,队列1为22个,队列4为88个

priority-list1interfaces0[high|medium|normal|low]按接口来进行分类,也就是说把一个接口来的数据都放进一个队列,太过粗略

priority-list1default[high|medium|normal|low]设置默认

Showinte0  看每一个队列有多少个座位,也就是能容纳多少个包

Showqueueing (看所有队列)

Showqueueingpriority

Debugpriority 再使用telnet和ping来测试

CQ Customqueue

分类:

1~16队列再加上一个优先队列0级队列 共17个队列 0级和其它级的关系相当于PQ

加队:

自定义加队,不同的流量加不同的队列。

在每一个队列中还是按照fifo的原则加队,按尾丢弃原则丢弃。

调度:

轮循,第一个传完就传第二个,默认1500个字节,可以修改每个队列的传输字节数

先有1000个字节,再来1000,还是会传

                              

例:

将VOIP流量设为优先队列,将telnet流量置为队列1,将ICMP流量置为队列2

access-list100permitudpanyanyrange1638432767

access-list101permiticmpanyany

R1(Config)#queue-list1protocolip0list100

R1(Config)#queue-list1protocolip1tcptelnet  将telnet流量置为队列1

R1(Config)#queue-list1protocolip2list101

注意:

在定义CQ时,最好由小到大一个个来定义,否则可能出错

R1(Config-if)#custom-queue-list1 接口下调用

R1(Config)#queue-list1queue0byte-count800   

R1(Config)#queue-list1queue1byte-count1600设置本队列每次可传的字节数

R1(Config)#queue-list1queue1limit50  设置本队列的座位数

showqueueingcustom  

Debugcustom-queue

showinterfacee0/0

扩大优先级队列的范围:

R1(Config)#queue-list1lowest-custom1  不推荐打0一般打2 这样的话队列0和队列1同其它队列就相当于是PQ的关系

默认没有分类的流量走的是低级队列的第一个队列。

默认就是走1级队列。

WFQ(WeightedFairQueuing)加权公平队列(基于流的)

分类标准:

按流来分,而不是按类来分

2层源和目标的mac地址

3层源和目标的ip地址,还有协议类型

4层源和目标的端口号

流的五元组:

源IP、目标IP、源端口号、目标端口号、协议

·WFQ算法将数据流划分成流,这是根据分组报头中的地址实现的。

 源/目标网络地址(MAC地址)(套接字)(DLCI)

加队:

默认总共只有256个队列,共享缓存,统一调度座位

CDT:

congestivediscardthreshold 缓存中容纳包的下限

 当缓存中的数据包小于这个值时,不采取任何限制措施

 当缓存中的数据包大于这个值时,采用以下方法来限制后续数据包:

     1、如果后续数据包属于最长队列,则被drop

     2、如果后续数据包不属于最长队列,则直接将这个包加入

HQO:

hold-Queueout

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1