服务访问质量(QoS)

一、QoS服务模型

QoS在网络中的服务模型分为三种:

1.Best-Effort Service :尽力而为的服务模型

一种单一的、最简单的服务模型,应用程序可以任何时候发送任意数量的报文;

网络尽最大可能发送这些报文,但是对于延时、可靠性不做保证;

是现在互联网中默认的服务模型,遵循先进先出的转发规则。

2.Integrated Service:综合服务模型,简称IntServ

3.Differentiated Service:区分服务模型,简称DiffServ

可以满足不同的QoS需求;

不需要预留资源,网络不需要为每个端到端的流量进行维护;

可以使用不同的方法来指定报文的QoS,如报文的优先级、MAC地址、源IP地址、目的IP地址等。

二、流量管理

1.流分类

是进行区别服务的基础,可以使用报文的优先级来识别,也可以使用源地址、目的地址、MAC地址、协议或端口等信息来识别不同的流量。

2流量监控.

三个参数:

承诺平均速率(CIR):允许流量通过的平均速率。

突发量(Committed Burst size,Bc):允许突发产生流量的大小。

额外突发量(Excess Burst size,Be):表示流量超出突发量后还可以转发的流量大小。

 

流量策略:

转发:对于合规流量和违规流量都可以设置策略为转发。

丢弃:对于合规流量和违规流量都可以设置策略为丢弃。

标记:标记报文的优先级。例如:将合规流量的报文的IP优先级设定为5,将违规流量报文的IP优先级设定为0。

进入下一级流量策略:流量策略可以多级处理,可以将流量提交给下一级流量策略来进行控制。

主要的流量管理技术是流量整形(GTS)和承诺访问速率(CAR)。

(1)流量整形(Generic Traffic Shaping,GTS)

是一种调节输出速率的措施,使用缓冲区使流量均匀地进行转发;

不需要进行整形的流量直接通过设备转发,需要进行整形的流量分为合规流量和违规流量;

当流量速率超过设定时,设备将多余的流量缓存到GTS队列,然后按照配置的CIR,将报文均匀地转发出去,保证网络流量平稳。

缓存导致数据转发增加时延,但是减少了丢包率。

基本流量整形配置

格式:router(config-if)# traffic-shape rate CIR [ Bc  [Be]] [buffer-limit]

CIR必须配置,buffer-limit表示缓存区的使用限制,默认为1000(报文数)。

基于ACL的流量整形配置

首先,配置ACL定义需要整形的流量

router(config)#access-list 100 permit udp any any

然后,进入接口进行流量整形

格式:router(config-if)#traffic-sharp group access-group CIR [Bc  [Be]]

查看网络整形配置信息

格式:

router#show traffic-sharp 接口信息             //查看GTS配置信息

router#show traffic-sharp statistics 接口信息  //查看GTS流量统计信息

router#show traffic-sharp queue                //查看GTS队列信息

(2)承诺访问速率(Committed Access Rate,CAR)

是一种流量控制策略;

使用三个参数CIR、Bc、Be,其中Bc+Be的大小是允许突发的最大流量的大小;

CAR技术限制流量速率时,违规流量会直接丢弃而不缓存,保证了数据的时延,但是增加了丢包率。

基本承诺访问速率配置

格式:router(config-if)# rate-limit {input | output} CIR burst-normal burst-max conform-action action exceed-action action

各参数的含义:

input/output:针对端口入/出方向的流量。

CIR burst-normal burst-max:burst-normal表示普通突发量,burst-max表示最大突发量。最大突发量包含普通突发量。

CIR:范围8000~2000000000,单位b/s

burst-normal:范围1000~512000000,单位为字节

burst-max:范围2000~1024000000,单位为字节

conform-action:表示对合规流量进行的操作

exceed-action:表示对违规流量进行的操作

action:表示对相应流量进行的操作,主要有:

drop:丢弃数据包

transmit:转发数据包

设置优先级,例如:

router(config-if)# rate-limit input 8000000 2000 4000 conform-action set-prec-transmit 5 exceed-acction set-prec-transmit 0

扩展的承诺访问速率

首先,配置ACL,定义需要整形的流量

然后,在接口模式进行流量整形

格式:router(config-if)# rate-limit {input | output} access-group access-group CIR burst-normal burst-max conform-action action exceed-action action

查看CAR配置信息

格式:router# show interfaces 接口信息 rate-limit

(3)承诺访问速率与流量整形的第二种配置

这种配置在端口应用一种策略实施多种流量控制,并且这种策略可以和拥塞管理技术中的CBWFQ相结合。配置主要分为三个步骤:

定义匹配策略

首先,定义class-map

格式:router(config)# class-map [match-all | match-any] class-map-name

各参数含义:

class-map-name:为创建的class-map的名称

match-all:表示匹配class-map定义的所有条件,是默认配置。

match-any:表示至少匹配class-map定义的一个条件。

然后,进入class-map模式,配置匹配的条件

格式:router(config-cmap)# match access-group access-group    //匹配ACL

router(config-cmap)# match protocol protocol            //匹配协议

router(config-cmap)# math input-interface 接口信息      //匹配端口进入的流量

router(config-cmap)# match any                          //匹配任意数据包

router(config-cmap)# match {source-address | destination-address} mac mac-address

//匹配源或目的的MAC地址

定义流量的控制策略

首先,定义policy-map,调用class-map

格式:router(config)# policy-map police-map-name

router(config-pmap)# class class-map-name

然后,调用的class-map中配置策略,配置的策略包括流量、GTS、CAR等。

·标记流量

router(config-pmap-c)# set ip dscp dscp

router(config-pmap-c)# set ip precedence precedence

·配置CAR

router(config-pmap-c)#police CIR burst-normal burst-max conform-action action exceed-action action violate-action action

注意:violate-action:对大于Bc+Be的流量采取的动作,默认丢弃。

·配置GTS

router(config-pmap-c)# shape average CIR [Bc [Be]]

注意:average表示平均值,配置万average形式的GTS后,整形后的速率为CIR

·配置缓冲上线

router(config-pmap-c)# shape max-buffers buffer-limit

注意:buffer-limit的范围为1~4096,默认为1000,为单位报文个数。

在接口上应用策略

格式:router(config-if)# service-policy {input | output} policy-map-name

注意:GTS只能应用在output方向,CAR可以应用在两个方向。

查看配置

格式:router# show policy-map [policy-map-name]        //查看策略配置

router# show policy-map interface [接口信息]            //查看端口策略应用及流量信息

三、拥塞管理和拥塞避免

1.拥塞管理

拥塞管理一般采用队列调度技术,通过队列调度技术的算法使得不同的数据流量拥有不同的优先级和贷款信息等,从而确定不同的数据流被转发的顺序和带宽。

拥塞管理技术有五种,这里介绍WFQ(加权公平队列)和CBWFQ(基于类的加权公平队列)。

WFQ

WRQ按照流的优先级来分配出口的带宽,优先级越小得到的带宽越小,优先级越大得到的带宽越大。

每个流所占用的带宽比例为:

(自身流优先级加1)/(所有流优先级分别加1的和)

CBWFQ

CBWFQ扩展了WFQ的功能,CBWFQ可以根据数据的优先级、源IP地址和目标IP地址、协议等进行分类,并让不同的报文进入不同的队列。

LLQ(低延时队列)是一个优先类队列,首先转发次队列中的数据(可以设定一个最大带宽的参数,来限制在网络发生拥塞时优先类队列的转发速率。当网络发生拥塞时,优先类队列中超过配置的流量将被丢弃。)

BQ(Bandwidth Queuing)采用WFQ方式进行调度。

CBWFQ的配置

(1)定义匹配策略,与GTS、CAR的第二种配置步骤相同

(2)配置CBWFQ策略

首先,定义policy-map并调用class-map,在每一个class-map中设置策略

格式:router(config-pmap-c)# bandwidth {bandwidth-kbps | percent percentage}

各参数的含义:

bandwidth:保证最小宽带

bandwidth-kbps:最小宽带的速率,默认情况不不能超过接口带宽的75%,可以通过接口模式下的max-reserved-bandwidth命令进行修改。

percent percentage:最小带宽占端口的百分比

然后,配置队列中数据包的个数,范围是1~4096

格式:router(config-pmap-c)# queue-limit packets

如果,要配置默认类,命令是

格式:router(config-pmap)# class class-default

router(config-pmap-c)#fair-queue        //启用公平队列

如果,要配置LLQ的最大宽带,命令是

格式:router(config-pmap-c)# priority {bandwidth-kbps | percent percentage}

注意:priority表示LLQ的最大宽带

(3)在端口实施策略。与GTS、CAR的第二种配置相同,但是需要注意的是CBWFQ只能配置在端口的output方向。

2.拥塞避免

(1)尾丢弃

传统的丢包策略,即当队列达到最大长度后,将所有后续来到的报文全部丢弃

使用queue-limit命令

(2)WRED

为了避免出现尾丢弃的现象,随机预检测(RED)为每个队列设定两个值,分别为低阈值和高阈值,采用如下算法:

·小于低阈值时,不进行丢弃

·大于高阈值时,完全丢弃报文

·在低阈值和高阈值之间时,WRED开始进行随机丢弃报文。队列越长,丢弃的概论越高。

可以直接在接口配置,也可以通过policy-map配置

WRED配置

(1)在接口配置

基于DSCP的配置

Router(config-if)#random-detect dscp-based

Router(config-if)#random-detect dscp  dscp   {min max } [mark]

基于IP优先级的配置

Router(config-if)#random-detect

Router(config-if)#random-detect precedence  precedence {min max } [mark]

(2)通过policy-map配置WRED

在CBWFQ中配置WRED命令如下:

Router(config-pmap-c)#random-detect

Router(config-pmap-c)#random-detect  precedence  precedence {min max } [mark]

(3)查看

查看WRED信息

Router#show queueing random-detect

查看端口队列信息

Router#show queue [ interface-type interface-number ]

时间: 2024-10-21 13:53:15

服务访问质量(QoS)的相关文章

服务访问质量 QOS

服务访问质量Qos 流量过多,网络拥塞无法避免,通过Qos技术让重要的数据先走. Qos模型:默认是为尽力而为模型,区分服务模型用的最多RBR:策略路由 MPLS BGP Qos实现通过三种方法:分类标记--流量控制--拥塞管理(拥塞避免) IP报头中的TOS(8bit):优先级0~7,未做限制默认优先级0IP报头中的DSCP:优先级0~63 一.分类标记1.通过ACL抓取流量2.class-map关联ACL(类表)3.policy-map做动作(策略表)4.应用在接口 二.流量×××GTS:流

第六章 大网高级 QOS 服务访问质量

服务访问质量 QOS    实验要求: 1.配置各设备参数实现网络互通 2.服务器上搭建FTP 服务 3.PC上安装Flashfxp 测试下载速度. 4.路由器配置不同方案策略. 5.验证结构. 一.配置参数 二.安装FTP 三.挂载光盘提取install.wim 测试下载速率 四.xp安装Flashfxp 软件 五.测试pC正常访问FTP 六.低级配置 流量整形GTS 查看配置并验证 七.低级设置 承诺访问速率 CAR 查看并验证 八.高级设置 承诺访问速率 CAR 流量整形GTS 九.查看配

QoS(服务访问质量)

随着网络的高速发展,接入网络的用户越来越多,网络提供的服务也越来越多.网络普及.业务多样化.使得网络流量迅速增大,导致网络带宽不能满足网络的需求,这时就出现了网络拥塞现象.由于网络拥塞导致报文产生不能预期的传达.延迟抖动.丢包等现象,将造成业务质量的下降甚至出现不可用.为了应对网络拥塞,最直接的方式就是扩大网络带宽,但是由于技术和经济等方面的限制,有时不能通过增加带宽的方式来解决,这时就需要一种技术能够在有限的带宽上保证报文的带宽以免出现延迟.丢包等情况,这种技术就成为QoS技术.Qos是一种网

web监控:zabbix自动发现+python之pycur模块对网站访问质量监控

一.效果图: 二.需求说明: 最近需要对节点到源站.办公环境访问业务平台网站质量和办公网络线路质量的监控,简单的ping可以检测到一些东西,但是http请求的检查也要进行,于是就研究了下pycurl. PycURl是一个C语言写的libcurl的python绑定库.libcurl 是一个自由的,并且容易使用的用在客户端的 URL 传输库.它的功能很强大,PycURL 是一个非常快速(参考多并发操作)和丰富完整特性的,但是有点复杂的接口. 三.python脚本: 1.编写httptime.py脚本

springcloud费话之Eureka服务访问(restTemplate)

目录: springcloud费话之Eureka基础 springcloud费话之Eureka集群 springcloud费话之Eureka服务访问(restTemplate) springcloud费话之Eureka接口调用(feign) springcloud费话之断路器(hystrix in feign) springcloud费话之配置中心基础(SVN) 完成了Eureka的服务器集群的搭建后,需要相互调用访问,该访问主要分为两种内容的请求 ①对集群中的所有客户端的注册信息请求 ②对集群

Firewalld--02 端口访问/转发、服务访问、源地址管理

目录 防火墙端口访问/转发.服务访问.源地址管理 1. 防火墙端口访问策略 2. 防火墙服务访问策略 3.防火墙接口管理 4.防火墙源地址管理 5. 防火墙端口转发策略 防火墙端口访问/转发.服务访问.源地址管理 1. 防火墙端口访问策略 使用Firewalld允许客户请求的服务器的80/tcp端口,仅临时生效,如添加--permanent重启后则永久生效 1). 临时添加允许放行单个端口 [[email protected] ~]# firewall-cmd --add-port=80/tcp

应用层(一)HTTP服务访问基本流程和HTTP报文详解

HTTP属于TCP/IP模型中一个面向文本的应用层协议,所使用的服务器端口号的TCP中的80端口,通信双方在这个基础上进行通信. 每个服务器都有一个应用进程,时刻监听着80端口的用户访问请求.当有用户请求到达时(HTTP请求报文),服务器会尽快做出响应(HTTP响应报文),返回用户访问页面的信息,这一切都建立在传输层创建好TCP连接的基础上. 在HTTP1.0及更早的版本中,浏览器的每次请求都要求建立一次连接,在处理完请求后,就关闭TCP连接.这种连接方式称为非持续连接. 当我们请求的网页文件中

wildfly 实践5 ---分布式服务中的JMS服务访问

实践条件与目标: 1. 分布式服务中主从服务相关配置 2. 从服务中主要代码片段展示 3. 此次使用wildfly10,因为其默认的jms服务是activemq. 步骤: 主服务配置中使用standalone-full.xml启动,其自带activemq模块. 使用adduser增加应用程序用户名称为guest,密码为guest,角色为guest,增加应用程序用户ejbuser,密码123. 配置文件中找到activemq模块,并修改配置如下: <subsystem xmlns="urn:

(一):web服务访问权限的控制

第二章实验(一):web服务目录的访问权限的控制 1.确认web服务器已经安装并启动 [[email protected] ~]# ls /usr/local/httpd/ bin build cgi-bin conf error htdocs icons include lib logs man manual modules [[email protected] ~]# netstat -utpln |grep 80 tcp 0 0 :::80 :::* LISTEN 73341/httpd