HCIE-QOS基本原理

QOS基本原理

  • QOS概述
    • 什么是QOS
    • QoS服务模型
    • 区分服务模型
    • QoS常用技术 (DiffServ模型)
    • QoS数据处理流程 (DiffServ模型)
  • QoS流分类和流标记
    • QoS数据处理流程
    • 为什么需要流分类和流标记
  • 简单流分类
    • 外部优先级 - VLAN报文
    • 外部优先级 - MPLS报文
    • 外部优先级 - IP报文
    • 各外部优先级间的对应关系
    • 服务等级 (Service Class)
  • 复杂流分类
    • 流量分类全过程
    • 配置复杂流分类
    • 修改简单流分类 (可选)
  • 实验

QOS概述

  • 在传统的IP网络中,所有的报文都被无区别的等同对待,每个转发设备对所有的报文均采用先入先出的策略进行处理,它尽最大的努力(Best-Effort)将报文送到目的地,但对报文传送的可靠性、传送延迟等性能不提供任何保证。

什么是QOS

在这里插入图片描述

  • 为了支持具有不同服务需求的语音、视频以及数据等业务,要求网络能够区分出不同的通信,进而提供相应的服务。
    • 例如VoIP等实时业务就对报文的传输延迟提出了较高要求,如果报文传送延时太长,用户将不能接受(相对而言,E-Mail和FTP业务对时间延迟并不敏感)。
  • 为了支持具有不同服务需求的语音、视频以及数据等业务,要求网络能够区分出不同的通信,进而为之提供相应的服务。
    • 传统IP网络的尽力服务不可能识别和区分出网络中的各种通信类别,而具备通信类别的区分能力正是为不同的通信提供不同服务的前提,所以说传统网络的尽力服务模式已不能满足应用的需要。——QoS的提出。

QoS服务模型

  • 通常QoS提供以下三种服务模型:
    • Best-Effort service(尽力而为服务模型)
    • Integrated service(综合服务模型,简称IntServ)
    • Differentiated service(区分服务模型,简称DiffServ)

区分服务模型

  • 将网络中的流量分成多个类,然后为每个类定义相应的处理行为,使其拥有不同的优先转发、丢包率、时延等。
    在这里插入图片描述
  • DiffServ是一个多服务模型,它也可以满足不同的QoS需求。该模型目前IP网络广泛使用。
  • 应用程序在发出报文前,不需要通知网络为其预留资源。对DiffServ服务模型,网络不需要为每个流维护状态,它根据每个报文的差分服务类(各报文头中的差分服务标记字段,如IP头的DS Field),来提供特定的服务。
  • 其实就是将网络中的流量分成多个类,不同的类采用不同的处理。也就是说,先对流量分类,然后把类别标记在报文头中,通过报文携带到网络上,网络各节点只需要简单地识别报文中的这些标记,进行相应的处理。
  • 小例子:就好比你去坐火车,火车票就是用来标记你所要享受的服务,是软卧、硬卧、硬座还是无座。火车票你随身携带,上车时你根据火车票进入对应的车厢,享受相应的服务:进入卧铺车厢的,可以舒服的躺着,进入硬座车厢,表示要坐着或站着咯。车票就相当于报文头中的“标记”。
  • 除了流分类和标记,差分服务比较优秀的地方还有强大的队列技术。当网络拥塞,也就是进来的报文太多,设备处理不过来,就让报文排队。

QoS常用技术 (DiffServ模型)

在这里插入图片描述

QoS数据处理流程 (DiffServ模型)

在这里插入图片描述

  • QoS技术提供了下述功能:
    • 流量分类和标记:依据一定的匹配规则识别出对象,是有区别地实施服务的前提,通常作用在接口入方向。
    • 令牌桶:使用令牌桶对流量进行评估,是否满足报文转发的条件。
    • 流量监管:对进入设备的特定流量的规格进行监管,通常作用在接口入方向。当流量超出规格时,可以采取限制或惩罚措施,以保护运营商的商业利益和网络资源不受损害。
    • 拥塞避免:过度的拥塞会对网络资源造成损害,拥塞避免监督网络资源的使用情况,当发现拥塞有加剧的趋势时采取主动丢弃报文的策略,通过调整流量来解除网络的过载,通常作用在接口出方向。
    • 拥塞管理:是必须采取的解决资源竞争的措施,将报文放入队列中缓存,并采取某种调度算法安排报文的转发次序,通常作用在接口出方向。
    • 流量整形:一种主动调整流的输出速率的流控措施,是为了使流量适配下游设备可供给的网络资源,避免不必要的报文丢弃和拥塞,通常作用在接口出方向。

QoS流分类和流标记

QoS数据处理流程

在这里插入图片描述

  • 流量分类和标记:依据一定的匹配规则识别出对象,是有区别地实施服务的前提,通常作用在接口入方向。

为什么需要流分类和流标记

  • 流量分类和标记是QoS的基础,是有区别地实施服务的前提。
    在这里插入图片描述
  • 要实现差分服务,就需要对进入DiffServ域的流量按照一定的规则进行分类,然后根据不同类别的流量提供不同的服务。
  • 当报文在DiffServ域边界被分类之后,在网络的中间节点,就可以根据分类,对不同类别的流量给予差别服务。下游(downstream)节点可以选择使用上游(upstream)节点的分类结果,也可以按照自己的分类标准对数据流重新进行分类。
  • 需要首先将数据包分为不同的类别或者设置为不同的优先级。
    • 将数据包分为不同的类别,称为流分类,流分类并不修改原来的数据包。
    • 将数据包设置为不同的优先级称为标记,而标记会修改原来的数据包。其中,标记分为内部标记和外部标记:
      • 内部标记
      • 标记报文在设备内部处理的服务等级(service-class)与丢弃优先级,让匹配的报文能够直接进入指定服务等级的队列,而不需要根据报文头中的优先级字段来确定服务等级。
      • 标记报文的丢弃优先级也叫着色(color),是指在相同service-class的时候,入同一个队列,当此队列快拥塞的时候,可以通过color再进行差分服务,体现在缓存使用上的优先顺序。
      • 外部标记
      • 设置/改写报文的优先级字段,用于向下一台设备传递差分服务的QoS信息。其中,改写报文的优先级字段也称为“重标记-remark”。

简单流分类

在这里插入图片描述

  • 简单流分类是指采用简单的规则,如只根据IP报文的IP优先级或DSCP值、IPv6报文的TC值、MPLS报文的EXP域值、VLAN报文的802.1p值,对报文进行粗略的分类,以识别出具有不同优先级或服务等级特征的流量,实现外部优先级和内部优先级之间的映射。

外部优先级 - VLAN报文

在这里插入图片描述

外部优先级 - MPLS报文

在这里插入图片描述

外部优先级 - IP报文

在这里插入图片描述

各外部优先级间的对应关系

在这里插入图片描述

  • EF:一般是语音流量
  • AF:普通流量,确保转发

服务等级 (Service Class)

在这里插入图片描述

复杂流分类

在这里插入图片描述

流量分类全过程

在这里插入图片描述

  • 需求:要求为语音、视频等即时性业务提供最优先的转发服务
  • 实现:在DS边界节点,先通过复杂流分类抓取语音、视频等业务流量,映射到对应的优先级;再通过简单流分类,处理剩余流量。

配置复杂流分类

在这里插入图片描述

  • 由于DS边界收到的流量一般未被分类,所以复杂流分类一般在DS边界设备上配置。配置思路如下:
    • 使用Traffic classifier工具匹配流量
    • 使用Traffic behavior工具定义流分类的规则
    • 使用Traffic policy工具将Traffic classifier与Traffic behavior进行绑定
    • 将Traffic policy应用到DS边界设备接口入方向上
System-viewtraffic classifier [classifier-name]        //创建流分类if-match [acl | vlan-id |. ]       //基于流量特征匹配流量System-viewtraffic behavior [behavior-name]        //创建流行为remark [dscp-name | 8021p-value | EXP |]       //对流量的QoS字段赋值System-viewtraffic policy [policy-name]    //创建流策略classifier [classifier-name] behavior [behavior-name]     //绑定流分类与流行为System-viewinterface [interface-type interface-num]      //进入接口视图traffic-policy [policy-name] [inbound | outbound]     //在接口入方向上应用流策略//当配置完成复杂流分类,可以通过以下命令查看结果:
System-viewdisplay traffic classifier user-defined [ classifier-name ]   //查看已配置的流分类信息。display traffic behavior [ system-defined | user-defined ] [ behavior-name ]   //查看已配置的流行为信息。display traffic policy user-defined [ policy-name ] classifier [classifier-name ]    //查看流策略的配置信息。display traffic-policy applied-record [ policy-name ]   //查看指定流策略的应用记录。

修改简单流分类 (可选)

在这里插入图片描述

  • 简单流分类基于优先级映射表,将带有特定QoS字段数据映射为内部优先级。
  • 优先级映射表根据实际需求可以进行一定修改,修改优先级映射表的思路如下:
    • 配置端口信任的报文优先级
    • 配置优先级映射表
//配置端口信任的报文优先级
System-viewinterface [interface-type interface-num]      //进入接口视图trust [8021p | dscp]       //基于802.1P或者基于DSCP景下修改//配置优先级映射表
System-viewqos map-table [ dot1p-dot1p | dot1p-dscp | dot1p-lp | dscp-dot1p | dscp-dscp | dscp-lp ]      //进入优先级映射表视图input [input-value1] output [output-value]     //配置优先级映射表中的映射关系//修改优先级映射配置后,可以通过以下命令查看配置结果:
System-viewdisplay qos map-table [ dot1p-dot1p | dot1p-dscp | dot1p-lp | dscp-dot1p | dscp-dscp | dscp-lp ]    //查看当前的各优先级间的映射关系。

实验

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/852340.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ 字符串处理4-根据指定的分隔符将字符串分割为多个子串根据指定的分隔符将多个子串连接成一个字符串

1. 关键词 C 字符串处理 分割字符串 连接字符串 跨平台 2. strutil.h #pragma once#include <string> #include <vector>namespace cutl {/*** brief The type of vector strings used in this library.**/using strvec std::vector<std::string>;/*** b…

机器学习作业7——PCA

目录 一、原理 1.数据中心化 2.白数据与目标 3.协方差与协方差矩阵 4.特征值与特征向量 5.最终结果构造 二、代码 代码解释&#xff1a; 三、结果 结果解释&#xff1a; pca优缺点分析&#xff1a; 参考视频&#xff1a; 一、原理 目的&#xff1a; pca是为了将原…

辽宁普通测径仪升级智能测径仪后都有哪些改进?

关键字: 普通测径仪, 智能测径仪, 测径仪升级, 测径仪特点, 智能测径仪优势, 目前多数厂家测径仪的数据处理方式是单片机计算出最终结果&#xff0c;然后传输到工控机后期处理。这样的电路系统对轧钢现场的高温、高粉尘和强电磁干扰的环境适应性很差&#xff0c;使得同一厂家、…

基于对抗神经网络的图像生成

基于对抗神经网络的图像生成 生成对抗网络&#xff08;Generative Adversarial Network, GAN&#xff09;是一种深度学习模型&#xff0c;用于生成高质量、逼真的图像。由Ian Goodfellow等人在2014年提出&#xff0c;GAN已经成为图像生成领域的一个重要工具。GAN的核心思想是通…

JUC并发编程-第一天

JUC并发编程-第一天 JUC开发基础知识进程、线程、协程 JUC开发基础知识 先有进程&#xff0c;然后进程可以创建线程&#xff0c;线程是依附在进程里面的&#xff0c;线程里面包含多个协程 进程之间不共享全局变量&#xff0c;线程之间共享全局变量(线程通信就是用的这个&#x…

Spring boot集成log4j及日志配置详解,实战,ELK使用教程。

目录 引言一、SpringBoot 集成 Log4j1. 添加 Log4j 依赖2. 移除默认的Logback组件3. 创建 Log4j 配置文件4. 配置 Log4j2 日志文件 二、Log4j2 XML 文件配置详解基本结构Appenders 配置详解Loggers 配置详解 三、日志的作用四、日志数据采集与分析1. 日志数据采集2. 日志数据分…

如何选择靠谱的LabVIEW外包公司

概述 选择一家靠谱的LabVIEW外包公司是项目成功的关键。本文从公司成立时间、人员变动、团队稳定性、经验丰富度、主业聚焦度等多个角度进行分析比较&#xff0c;提供合理建议和注意事项&#xff0c;帮助你找到最合适的外包合作伙伴&#xff0c;确保项目顺利进行和高质量交付。…

经典的网站系统架构(入门级)

从开发到部署&#xff0c;从用户访问到底层数据库&#xff0c;介绍搭建网站系统的经典架构的10个核心部分。 &#xff08;图转自bytebytego&#xff0c;翻译整理by dogstar&#xff09; 1、使用Git管理和协同源代码&#xff0c;通过CI/CD或Git的Webhook方式自动同步更新部署到服…

6.2 文件的缓存位置

1. 文件的缓冲 1.1 缓冲说明 将文件内容写入到硬件设备时, 则需要进行系统调用, 这类I/O操作的耗时很长, 为了减少I/O操作的次数, 文件通常使用缓冲区. 当需要写入的字节数不足一个块时, 将数据放入缓冲区, 当数据凑够一个块的大小后才进行系统调用(即I/O操作).系统调用: 向…

java原子变量

在Java中&#xff0c;原子变量是一种特殊的变量&#xff0c;它们提供了一种不需要显式加锁的情况下进行线程安全的操作。Java.util.concurrent.atomic包提供了原子变量类&#xff0c;如AtomicInteger&#xff0c;AtomicLong等&#xff0c;它们利用底层硬件的原子操作来保证线程…

MyBatis 动态 SQL 的详细内容讲解

1. MyBatis 动态 SQL 的详细内容讲解 文章目录 1. MyBatis 动态 SQL 的详细内容讲解2. 准备工作3. if 标签4. where 标签5. trim 标签6. set 标签7. choose when otherwise 标签8. foreach 标签8.1 批量删除8.2 批量添加 9. SQL 标签与 include 标签10. 总结&#xff1a;11. 最…

使用pnpm创建vue3项目

https://pnpm.io/zh/ 全局安装&#xff1a; npm install -g pnpm 检查版本&#xff1a; pnpm -v 创建vue3项目&#xff1a; pnpm create vuelatest 项目装包&#xff1a; pnpm install 运行项目&#xff1a; pnpm dev 命令行&#xff1a; https://pnpm.io/zh/pnpm-cli pnpm …

C语言 | Leetcode C语言题解之第150题逆波兰表达式求值

题目&#xff1a; 题解&#xff1a; int evalRPN(char** tokens, int tokensSize) {int n tokensSize;int stk[(n 1) / 2];memset(stk, 0, sizeof(stk));int index -1;for (int i 0; i < n; i) {char* token tokens[i];if (strlen(token) > 1 || isdigit(token[0])…

测评要求+基本措施+对应产品

基本要求项测评项基本措施对应产品 网络架构 网络架构 网络架构应保证网络各个部分的带宽满足业务高峰期需要&#xff1b;带宽管理流量控制系统 网络架构 网络架构 网络架构应避免将重要网络区域部署在边界处&#xff0c;重要网络区域与其他网络区域之间应采取可靠的技术隔离手…

LogicFlow 学习笔记——6. LogicFlow 基础 网格 Grid

网格 Grid 网格是渲染或移动节点时的基本单元。其主要功能是在节点移动过程中&#xff0c;确保每个节点的中心点都精准落在网格点上&#xff0c;这大大有利于节点之间的精确对齐。通常&#xff0c;网格的间距越大&#xff0c;流程图编辑时的对齐越为便捷&#xff1b;反之&…

UNIAPP-ADB无线调试

ADB下载 SDK 平台工具版本说明 | Android Studio | Android Developers (google.cn) 环境变量配置 ADB版本查看 adb version 手机使用数据线连接到电脑 手机需要授权adb调试(开发人员选项里面) CMD输入命令 adb tcpip 5555 到了这一步你手机已经启动了adb服务了&…

vue 生命周期 钩子函数 keep-alive activated deactivated

一、activated deactivated 在被keep-alive包含的组件/路由中&#xff0c;会多出两个生命周期的钩子:activated 与 deactivated。在 2.2.0 及其更高版本中&#xff0c;activated 和 deactivated 将会在树内的所有嵌套组件中触发。activated在组件第一次渲染时会被调用&#x…

kafka 快速上手

下载 Apache Kafka 演示window 安装 编写启动脚本,脚本的路径根据自己实际的来 启动说明 先启动zookeeper后启动kafka,关闭是先关kafka,然后关闭zookeeper 巧记&#xff1a; 铲屎官&#xff08;zookeeper&#xff09;总是第一个到&#xff0c;最后一个走 启动zookeeper call bi…

2024 Idea最新激活码

idea的激活与安装 操作如下&#xff1a; ① 打开网站&#xff1a;https://web.52shizhan.cn 切换到&#xff1a;激活码&#xff0c;点击获取 ② 这个时候就跳转到现成账号页面&#xff0c;点击获取体验号&#xff0c;如图 ③ 来到了获取现成账号的页面了。输入你的邮箱账号即…

Flutter笔记:关于WebView插件的用法(上)

Flutter笔记 关于WebView插件的用法&#xff08;上&#xff09; - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:htt…