quality of service
1.缺乏带宽
2.延迟
3.抖动
4.丢包
可用带宽
解决方法
1.升级链路
2.可以允许重要报文先传
3.压缩2层或3层包头
端到端延迟
延迟包括
1.进程延迟,查表,
2.队列延迟
3.传播延迟
降低延迟方法:
1升级链路
2重要包先传
3压缩
丢包
尾丢弃:路由器默认操作方式。
wred:拥塞避免,随机性丢弃,加权早起丢弃。
qos 定义:对不同的流量定义不同的服务质量
1.标记流量
2.分类区分 acl
3.策略根据优先级做策略
qos 模型
1.尽力而为
2.集成性的服务
3.区分式的服务
尽力而为模型
默认都是尽力而为,不需要做处理,没有服务保证,和区分性
继承性的模型
资源预留协议(rsvp)
通过信令层面告知所有路由器预留多少带宽。
rsvp开始主要用于视频会议和语音,但现在更多的转到了单播的应用,包括vpn的传输。
rsvp组件
adminsson control(主动控制):我这个设备是否有足够的资源来应用你所请求的qos。
policy contro(策略控制):主要描述我这台设备是否有权利应用你所请求的资源。
rsvp工作过程:
第一步数据发送方发送rsvp path控制消息的方式与常规数据通信相同,这些消息描述了它们正在发送或者打算发送的数据。
第二步各rsvp路由器解释path消息。保存上一中继断的ip地址,将中继的ip地址作为前一中继断地址,并沿应用程序数据使用的路由器发送更新后的消息。
第三部接受站选择一个会话子集,它们将接收path消息,并使用rsvp resv消息向上一中继路由器请求rsvp资源预留。rsvp resv消息从接收方到发送方所经过的路径与rsvp path消息到来时完全相同。
第四步rsvp路由器确定它们是否可以满足这些resv请求,如果不能,就拒绝预留,如果可以,就合并收到的预留请求,并向上一中继段路由器请求预留。
第五步发送方收到下一中继段路由器的预留请求,指出预留已经就绪。注意,预留分配是由resv消息完成的。
1.独占式的预留:适合于多个数据源同时发送应用程序。
2.共享式的预留:适用于多个源不是同时的发送应用程序。
分为:
shared explicit(se)共享显式:预留方式标识预留了刚落资源的流
wildcard filter(wf)通配符过滤器:为所有发送方预留带宽和延迟指标。
rsvp配置:
r1:(替代发送方路由器)
int e0
ip add 200.1.1.1 255.255.254.0
int s0
ip add 210.210.210.101 255.255.255.252
int e0
ip rsvp bandwidth(启用rsvp)接口带宽的75%默认,
int s0
ip rsvp bandwidth
ip resvp sender 210.210.210.60(目标地址)210.210.210.30(源) udp 1040 0(任意端口) 210.210.210.30(上一跳地址) e0(如何到达源的接口)32(预留带宽) 32(每秒突发多少)
r2:(中间路由器)
inter s0
ip rsvp bandwidth
inter s1
ip rsvp bandwidth
r3:(替代接受方路由器)
inter s1
ip rsvp bandwidth
inter s0
ip rsvp bandwidth
ip rsvp reservation 210.210.210.60 210.210.210.30(源) udp 1040 0 210.210.210.60(到达目的地) s0 ff(选择独占模式)32 32
show ip rsvp interface(查看哪些接口启用rsvp)
show ip rsvp sender
show ip rsvp reservation
show ip rsvp installed
可以封装到ip包中 protocol id 46
或者tcp and udp port 3455
rsvp是整体性的,一台路由器不支持就不行。信令不能保证。
区分服务
qos实施方法:
1.常规命令行
2.mqc模型以cb开始的都是mqc的模型
3.auto qos
4 sdm qos
分类和标记
qos工作过程
模型:
尽力而为:默认
集成服务:rsvp
区分服务:
1分类和标记:默认做了相应操作
2流量整形和监管:(限速)默认没应用
3拥塞避免:(wred早起随即检测)默认没应用
4队列技术:默认做了相应操作
分类
acl分类
ip 优先级
源或目标地址
dscp
标记
1网络层
ip precedence
dscp
2链路层
cos(isl,802.1p)
mpls exp bits
frame relay de bit
ip precedence
service type 1 byte
只用到前三位,0-7,8种等级。
routine (0) 默认0级
riority (1)
immediate (2)
flash (3)
flash-override (4)
critical (5) 默认有一些流量都指定5级,比如语音流量。
internet (6)针对控制层面的信息,比如ospf hello包
network (7) 保留
dscp
default phb(fifo,tail drop)所有都是0级没有做任何定义
cs phb (ip precedence)
af phb
ef phb
phb每一跳行为。
cs 系列(类的区分器)为了兼容ip precedence
af 系列(确保转发)
ef(快速转发语音流量5)
access-list 100 permit ip any any dscp
ieee 802.1q
dot1q isl
2层在trunk中打标记
2层叫cos
frame帧中继
de合法丢弃位,是否置位做相应的处理
mpls
exp 做qos
trust boundaried信任边界
越靠近始发站点越好
打标机技术
pbr(策略路由)
cbmarking
pbr基于源的识别
pbr应用
基于源做区分
qos
强制性的负载均衡
优于路由表,不看路由表
pbr一定应用在入方向
实验:
配置好底层和路由协议
r3:
access-list 100 permit ip 5.5.5.0 0.0.0.255 2.2.2.0 0.0.0.255
access-list 109 permit ip 9..9.9.0 0.0.0.255 2.2.2.0 0.0.0.255
route-map pbr
match ip address 100
set interface s1
route-map pbr permit 20
match ip address 109
set next-hop 34.1.1.4
int s0
ip policy route-map pbr
route-map可以应用在很多地方
路由层面:冲发布,bgp,不写空语句,没有匹配的路由就deny。
数据层面:pbr 没有抓到路由 该走哪走哪。route-map打标记配置
例1:
interface e0
ip policy-map set-prec-2
inter e1
ip policy-map set-prec-0
route-map set-prec-2 permit 10
set ip precedence 2
route-map set-prec-0 permit 10
set ip precedence 0
例2:
mark ip precedence:
telnet=2
corporate web=1
everything else=0
int e0
ip policy-map set-prec
route-map set-prec permit 10
match ip address corporatewebtraffic
set ip precedence 1
route-map set-prec permit 20
match ip address tn3270
set ip precedence 2
route-map set-prec permit 30
set ip precedence 0
ip access-list extended corporatewebtraffic
permit tcp any 10.1.1.0 0.0.0.255 eq www
ip access-list extended tn3270
permit tcp any any eq telnet
cb marking(基于类的打标记)
mql模块化的命令行
1定义class map (分类)
2policy map (action设置优先级)
3service policy(应用接口)
可以针对
ip precedence
ip dscp
qos group
mpls experimental bits
ieee 802.1q cos isl priority bits
frame realy de bit
配置:
r1:
ip access-list extended tel
permit tcp any any eq telnet
ip access-list extended www
permit tcp any any eq www
class-map tel
match access-group name tel
class-map www
match access-group name www
match all 所有的条目都匹配才执行,match any 匹配任何一条就执行
policy-map cbmark
set dscp af11
class www
set dscp af41
class class-default
set sdcp default
int e0
service-policy input cbmark(需要开启cef)
show policy interface
nbar(基于网络层的应用识别)
用来分类,相当于acl扩展,抓的数据里面的内容,能刷到4-7层,如图片和网址,但是消耗路由器性能
实现原则
pdlm相当于本地病毒库,进行相应识别,直接match特征库,下载特征库,使用ftp导入到flash,match特征库。
router(config)#
ip nbar pdlm-name(加载pdlm特征库)
r1(config)#flash:bt.pdlm
r1(config)#ip nbar pdlm flash://bt.pdlm(加载到本地的进程中)
应用
使用nbar抓telnet和www
r1(config)#class-map www
r1(config)#match protocol telnet
r1(config)#policy-map cbmark
r1(config)#set dscp af11
r1(config)#class www
r1(config)#int e0/0
r1(config)#service-policy input
r1(config)#ip nbar protocol-discovery(nbar开关需要cef支持)
show ip nbar protocol-discovery(查看哪些应用了nbar)
扩展应用
抓http流量
扩展协议端口
ip nbar port-map http tcp 80 8080
class-map http
match protocol http
policy-map limitwebbw
class http
bandwidth 256
inter s0/0
service-policy output limitwebbw
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!