18. 因特网服务质量

  • 18. 因特网服务质量
    • 18.1 服务质量(QoS)
    • 18.2 实时传输协议(RTP)
    • 18.3 实时传输控制协议(RTCP)
    • 18.4 集成业务(IntServ)
    • 18.5 区分业务(DiffServ)
    • 本章要点

18. 因特网服务质量

18.1 服务质量(QoS)

服务质量(QoS,Quality of Service)是网络传输数据流时需满足的一系列服务请求及实现机制,核心目标是提供端到端的服务质量控制或保证。

  1. QoS 的衡量指标
    • 带宽:网络传输数据的速率(如 Mbps),确保业务有足够的传输能力;
    • 传输延迟:数据从源到目的地的时间(如毫秒),实时业务(如语音)对延迟敏感;
    • 延迟抖动:连续数据包到达时间的差异,抖动过大会导致音视频卡顿;
    • 可靠性:数据无丢失、无差错传输的能力;
    • 丢失率:传输过程中丢失的数据包比例;
    • 吞吐量:单位时间内成功传输的数据量。
  2. 主要 IP QoS 技术
    • 1. 集成业务(IntServ)
      • 基本思想:在传输数据前,根据业务的 QoS 需求预留网络资源(带宽、缓存等),实现端到端的 QoS 保证。
      • 适用场景:非骨干网(如接入网),业务流数量较少的场景。
      • 优点:能提供严格的端到端 QoS;支持组播业务的资源分配和动态管理。
      • 缺点:扩展性差(基于 “每流” 管理,需保存大量状态信息);依赖路径上所有路由器支持,难以在骨干网部署。
    • 2. 区分业务(DiffServ)
      • 基本思想:将用户数据流按 QoS 需求划分等级,网络仅承诺 “相对服务质量”(而非具体指标),通过 “汇聚(aggregate)” 和 “逐跳行为(PHB)” 实现 QoS。
        • 汇聚:将 QoS 需求相近的流视为一类,减少队列管理复杂度;
        • PHB:每跳路由器对相同等级的流采用一致的转发策略(如调度优先级)。
      • 适用场景:骨干网,业务流数量庞大的场景。
      • 优点:简化信令,状态信息少,扩展性好;实现简单,适合大规模网络。
      • 缺点:难以提供基于单流的端到端 QoS 保证。
    • 3. QoS 路由
      • 基本思想:基于多指标(带宽、时延、成本、可靠性等)选择路由,而非仅基于最短路径(如传统路由)。
      • 优点:能满足业务的 QoS 需求,提高资源利用率。
      • 缺点:路由计算复杂,增加网络开销;实用算法难以设计。
    • 4. 多协议标签交换(MPLS)
      • 基本思想:通过 “标签” 标识数据流,基于标签进行路径控制和带宽管理,实现流汇聚的 QoS 保障。
      • 特点:目前骨干网最常用的 QoS 机制,常与 DiffServ 结合(MPLS+DiffServ 是运营商首选方案)。
    • 技术结合:核心网用 DiffServ,接入网用 IntServ,MPLS 与 DiffServ 结合是主流趋势。

18.2 实时传输协议(RTP)

实时传输协议(RTP,Real-time Transport Protocol)是针对多媒体数据流(如音视频)的传输协议,核心功能是提供时间信息和流同步,定义于 RFC 1889。

  1. 基本特性

    • 通常基于UDP传输(无连接,低延迟),也可运行在 TCP 或 ATM 上;
    • 不提供可靠传输、流量控制或拥塞控制,依赖RTCP(实时传输控制协议)实现这些功能;
    • 适合组播和点播场景,支持实时数据(视频、音频、仿真数据)的传输。
  2. RTP 首部格式(12 字节固定部分 + 可选扩展)

    字段位数含义
    V(版本)2RTP 版本(当前为 2,版本 1 用于早期草案)。
    P(填充)1置 1 时,首部后附加填充字节(最后一字节记录填充长度),用于加密对齐。
    X(扩展)1置 1 时,首部后附加变长扩展首部。
    CC(CSRC 计数)4固定首部后 “贡献源标识(CSRC)” 的数量(0-15)。
    M(标记)1标记数据流中的重要事件(如帧边界),具体含义由应用定义。
    PT(负荷类型)7标识媒体类型或编码格式(如音频 / 视频,具体解码器),接收端据此选择解码方式。
    顺序号16按发送顺序递增,用于接收端检测丢包和恢复顺序(初始值随机)。
    时戳32记录数据产生的时间(单位由应用定义,如采样周期),用于同步和计算抖动。
    SSRC(同步源标识)32唯一标识同步源(如一个麦克风),随机生成以避免冲突。
    CSRC(贡献源标识)0-15×32标识对当前数据有贡献的源(如混音器输入的多个音频源),数量由 CC 决定。
  3. 报文封装

    • 格式:IP首部 + UDP首部 + RTP首部 + 多媒体数据
    • 端口分配:RTP 使用偶数端口,对应的 RTCP 使用其后的奇数端口(如 RTP 用 5004,RTCP 用 5005),实现数据流与控制流分离。
  4. 数据传输流程

    • 数据源(如 S1、S2)生成媒体流,经 RTP 封装后发送;
    • 中间节点(如混合器)可合并多个流(如多路音频混音),插入 CSRC 标识贡献源;
    • 接收端(如 R1)通过 RTP 首部的时戳和顺序号实现同步和丢包检测。
  5. 协议特点

    • 轻量:仅提供实时传输机制,不保证 QoS;
    • 灵活:传输与控制策略分离,允许开发者自主实现高效算法;
    • 协议独立:与下层协议(UDP/TCP/ATM)无关;
    • 安全:支持数据加密和身份认证。

18.3 实时传输控制协议(RTCP)

实时传输控制协议(RTCP)与 RTP 配合使用,提供流量控制、拥塞控制和质量反馈,确保实时数据传输的效率。

  1. 核心功能

    • 提供数据发布的质量反馈(如丢包率、延迟);
    • 提供 RTP 源的持久传输层标识(如 SSRC 的映射);
    • 控制传输速率(避免网络拥塞);
    • 传送最小连接控制信息(如会话结束通知)。
  2. RTCP 首部格式

    字段位数含义
    版本2与 RTP 一致(当前为 2)。
    填充1置 1 时,包尾附加填充字节(最后一字节记录填充长度),仅复合包的最后一个包需填充。
    报告计数5接收端报告块的数量。
    包类型8标识 RTCP 包类型(共 5 种)。
    长度16包大小(32 位字的数量 - 1,含首部、数据和填充)。
  3. RTCP 包类型

    • 发送端报告(SR):发送端发送,包含发送统计(如发送包数、字节数、时戳);
    • 接收端报告(RR):接收端发送,包含接收统计(如丢包率、延迟);
    • 源描述(SDES):提供源的附加信息(如用户名、邮箱);
    • 结束参与(BYE):通知离开会话;
    • 特殊应用(APP):自定义应用功能。
  4. 工作机制

    • 会话期间,参与者周期性发送 RTCP 包(频率随会话规模动态调整,避免拥塞);
    • 发送端通过 RTCP 反馈调整传输速率或编码方式(如丢包率高则降低速率);
    • 接收端通过 RTCP 同步多源流(如音频与视频同步)。

18.4 集成业务(IntServ)

集成业务(IntServ,Integrated Services)通过资源预留实现端到端 QoS 保证,核心是资源预留协议(RSVP),定义于 RFC 1633。

  1. 基本思想
    • 传输数据前,根据业务的 QoS 需求(如带宽、延迟)在路径上的所有路由器中预留资源,确保数据流全程获得所需服务。
  2. 体系结构
    由四个核心部分组成:
    • 1. 信令协议 RSVP:逐跳建立 / 拆除资源预留的 “软状态”(需周期性刷新,超时自动释放);
    • 2. 接入控制器:判断是否接受资源预留请求(基于链路资源和 QoS 需求);
    • 3. 分类器:将数据包按流分类(如基于 5 元组:源 IP、目的 IP、源端口、目的端口、协议),放入对应队列;
    • 4. 包调度器:按预定策略调度不同队列的数据包(如优先级调度、加权公平队列)。
  3. 资源预留协议(RSVP)
    • 工作原理:接收端主动发起资源预留请求,沿组播 / 单播路径逐跳向上游路由器传播,路由器合并重复请求,最终在整条路径上建立预留。
    • 特性:
      • 接收端导向(由接收端启动和维护预留);
      • 支持组播(单播是组播的特殊情况);
      • 软状态机制(预留状态需周期性刷新,超时失效,提高容错性)。
    • 优点:兼容性好(与非 RSVP 网络兼容);软状态支持故障恢复;适合组播场景。
    • 缺点:依赖路径上所有路由器支持 RSVP;信令复杂,可扩展性差(骨干网流数量大时状态信息过多);建立时延可能较长(消息丢失需重传)。
  4. IntServ 的优缺点
    • 优点:提供端到端 QoS 保证;支持组播的资源动态分配;适合多媒体实时业务。
    • 缺点:扩展性差(每流维护状态);实现复杂(依赖全路径路由器支持);仅适合小规模网络。

18.5 区分业务(DiffServ)

区分业务(DiffServ,Differentiated Services)是一种简化的 QoS 机制,通过业务分级和逐跳行为提供可扩展的服务,适合骨干网。

  1. 基本思想
    • 将用户数据流按 QoS 需求划分为有限等级,网络对同一等级的流采用一致的转发策略(PHB),不承诺具体指标,仅保证 “相对优先级”。
  2. 体系结构
    由三个核心部件组成:
    • 1. QoS 资源策略管理器:定义 QoS 策略(如分级规则),下载到边缘和核心模块;
    • 2. 边缘模块:位于 DiffServ 区域入口,执行流的分类、计量、标记(根据与用户的服务等级协议 SLA);
    • 3. 核心模块:位于 DiffServ 区域内部,基于数据包的标记(DSCP)执行 PHB,无需维护流状态。
  3. 关键机制
    • 服务等级协议(SLA):用户与 ISP 签订的协议,明确支持的业务等级、流量限制等;
    • DS 字段:IP 首部中的 8 位字段,分为:
      • 6 位DSCP(Differentiated Services Code Point):标记业务等级(0-63),对应不同 PHB;
      • 2 位ECN(Explicit Congestion Notification):显式拥塞通告(标识网络拥塞状态)。
    • 逐跳行为(PHB):核心路由器对相同 DSCP 的数据包采用的转发策略(如优先级调度、带宽保证)。
  4. 工作流程
    1. 用户与 ISP 签订 SLA,明确业务等级;
    2. 用户标记数据包的 DSCP(或由边缘路由器根据 SLA 和多字段分类标记);
    3. 边缘路由器对进入 DiffServ 区域的流量进行分类、计量(确保符合 SLA);
    4. 核心路由器根据 DSCP 执行 PHB,转发数据包。
  5. 研究热点
    • DiffServ 与 IntServ 结合(如接入网用 IntServ,核心网用 DiffServ);
    • 组播支持(在组播路由表中加入 DSCP 字段);
    • 公平性(解决同一聚合流中不同微流的资源抢占问题);
    • PHB 实现(优化队列调度和管理,平衡实时性、丢包率和带宽利用率)。
  6. 优缺点
    • 优点:扩展性好(状态信息少);实现简单,适合骨干网;支持大规模业务流。
    • 缺点:难以提供基于单流的端到端 QoS;依赖边缘节点的正确分类和标记。

本章要点

  • QoS 是网络传输数据流时的服务保证,衡量指标包括带宽、延迟、抖动等,核心技术有 IntServ、DiffServ、QoS 路由、MPLS。
  • RTP 用于多媒体数据传输,提供时间信息和同步,依赖 UDP,首部含版本、时戳、SSRC 等字段;RTCP 配合 RTP 提供质量反馈和控制,支持五种包类型。
  • IntServ 基于资源预留(RSVP),提供端到端 QoS,但扩展性差,适合小规模网络;RSVP 是其核心信令,接收端导向,支持组播。
  • DiffServ 基于业务分级(DSCP)和逐跳行为(PHB),扩展性好,适合骨干网,体系结构包括边缘模块(分类标记)和核心模块(PHB 转发)。
  • 实际部署中,常结合多种技术(如 MPLS+DiffServ)以平衡 QoS 保证和扩展性。

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

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

相关文章

数据集相关类代码回顾理解 | StratifiedShuffleSplit\transforms.ToTensor\Counter

【PyTorch】图像多分类项目 目录 StratifiedShuffleSplit transforms.ToTensor Counter StratifiedShuffleSplit sss StratifiedShuffleSplit(n_splits1, test_size0.2, random_state0) 创建StratifiedShuffleSplit对象,用于将数据集划分为训练集和测试集。 …

【环境配置】KAG - Windows 安装部署

前言 本博客将介绍如何在 Windows 系统上 部署运行 KAG 项目,将使用 WSL 和 Docker 和 Vscode 帮助我们之后利用 KAG 开发个人知识库问答项目。 KAG(Knowledge-Augmented Generation)知识增强生成系统 是一个融合知识图谱与大语言模型能力的…

《探索电脑麦克风声音采集多窗口实时可视化技术》

引言在当今数字化信息飞速发展的时代,声音作为一种重要的信息载体,其处理和分析技术日益受到广泛关注。声音可视化技术,作为声音处理领域的关键技术之一,具有极为重要的价值。它能够将抽象的声音信号转化为直观的视觉图像&#xf…

加工进化论:SPL 一键加速日志转指标

作者:劳贵泓(泓逸) 1. 背景 日志服务的 SPL(Search Processing Language)自推出以来,凭借其强大的数据处理能力,已经成为众多开发者和企业实现高效数据分析的首选工具。随着业务场景的不断拓展…

Web 应用防火墙:守护应用安全的核心屏障

当你在调试 Web 应用时,是否遇到过这样的情况:刚修复的 XSS 漏洞又被绕过,数据库日志里突然出现诡异的 SQL 语句,或者用户反馈登录后信息被篡改?这些问题的背后,往往是 Web 应用面临的持续安全威胁。据 OWA…

Python 网络爬虫的基本流程及 robots 协议详解

数据驱动的时代,网络爬虫作为高效获取互联网信息的工具,其规范化开发离不开对基本流程的掌握和对 robots 协议的遵守。本文将系统梳理 Python 网络爬虫的核心流程,并深入解读 robots 协议的重要性及实践规范。 一、Python 网络爬虫的基本流程 Python 网络爬虫的工作过程可…

字节二面(狠狠拷打系列):什么是http1.1,2.0,3.0,分别在什么场景里面用的多

文章目录从单行到新纪元:HTTP/0.9、1.0、1.1、2.0与3.0的核心区别HTTP/0.9:协议的黎明 (1991)HTTP/1.0:功能扩展与标准化 (1996)HTTP/1.1:持久连接与性能优化 (1997)HTTP/2.0:二进制与多路复用 (2015)HTTP/3.0&#xf…

Java教程:JavaWeb ---MySQL高级

✨博客主页: https://blog.csdn.net/m0_63815035?typeblog 💗《博客内容》:大数据开发、.NET、Java.测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识 📢博客专栏: https://blog.csdn.net/m0_…

Audio笔试和面试题型解析

本专栏预计更新90期左右。当前第27期-音频部分. 音频硬件在消费电子(手机、电脑、耳机、智能音箱)、汽车、专业音响等领域是用户体验的关键组成部分。大厂(如苹果、三星、Google、华为、小米、各种汽车Tier 1供应商等)的硬件工程师在设计和优化音频系统时,需要对喇叭(扬…

DeepSeek俄罗斯方块网页版HTML5(附源码)

用DeepSeek生成一个俄罗斯方块游戏网页版的,基于HTML5,效果很棒。 提示词prompt 帮我做一个俄罗斯方块 网页版的 基于HTML5游戏功能说明 基本功能: 完整的俄罗斯方块游戏逻辑 7种不同形状的方块 分数计算系统 等级提升系统(速度会随等级提高)…

企业电商平台搭建:ZKmall开源商城服务器部署与容灾方案

企业级电商平台最核心的诉求,就是得让 “业务一直在线”—— 不管是平时运营要稳如磐石,还是突然出故障了能火速恢复,都离不开靠谱的服务器部署架构和周全的容灾方案。ZKmall 开源商城攒了 6000 多家企业客户的实战经验,琢磨出一套…

【软件运维】前后端部署启动的几种方式

.sh启动 #!/bin/bash# 解析软链接,获取真实脚本目录 SOURCE"${BASH_SOURCE[0]}" while [ -L "$SOURCE" ]; doDIR"$( cd -P "$( dirname "$SOURCE" )" && pwd )"SOURCE"$(readlink "$SOURCE&q…

[爬虫知识] DrissionPage:强大的自动化工具

相关爬虫实战案例:[爬虫实战] 使用 DrissionPage 自动化采集小红书笔记 相关爬虫专栏:JS逆向爬虫实战 爬虫知识点合集 爬虫实战案例 逆向知识点合集 前言: 在当今数据驱动的世界里,网络爬虫和自动化测试扮演着越来越重要的角…

数据分析师如何构建自己的底层逻辑?

目录 一、什么是“底层逻辑”? 二、底层逻辑的核心是什么?三句话讲清楚 1. 你到底在解决什么问题? 2. 你有没有一套“框架”来组织你的分析思路? 3. 你能不能用数据说出“结论 因果 建议”? 三、从 BI 视角出发…

残差连接+层归一化:Transformer训练稳定秘诀

什么是:残差连接+层归一化 残差连接 (Residual Connection):防止梯度消失 核心原理 简单理解:走楼梯时,既可以走楼梯,也可以坐电梯,最后在同一层汇合。 # 残差连接的数学表示 输出 = F(输入) + 输入 # ↑处理后 ↑原始输入具体数值例子 处理句子"我爱学习…

公网 IP 不稳定监控实战:用多点 Ping 策略实现高可达率保障

更多云服务器知识,尽在hostol.com 你有没有遇到过这种情况:明明服务器的监控系统说一切正常,服务状态绿油油一片,但用户那边却反馈“时好时坏”、“丢包严重”甚至“根本连不上”。你掏出手机连上公网去试试,诶&#…

uniapp类似抖音视频滑动

最近需求说要做个类似抖音那种视频的&#xff0c;我二话不说就用了swiper-view组件&#xff0c;但是效果不太理想&#xff0c;后面改用css属性先放效果图&#xff1a;<template><view class"video-scroll-container" touchstart"handleTouchStart"…

Umi-OCR 的 Docker(win制作镜像,Linux(Ubuntu Server 22.04)离线部署)

前置博客&#xff1a;Ubuntu-Server 22.04.4 详细安装图文教程 wget命令在windows终端下不能使用的原因及解决办法 在 Ubuntu 22.04 LTS 上离线安装 Docker 手把手教你在Win11下安装docker Umi-OCR 完整部署流程 第一步&#xff1a;在 Windows 上构建/获取 Umi-OCR Docker…

AI Agent革命:当大模型学会使用工具、记忆与规划

以下是针对Lilian Weng的AI Agent综述文章&#xff08;原文链接&#xff09;的深度解析与整理&#xff1a; AI Agent革命&#xff1a;当大模型学会使用工具、记忆与规划 ——解析LLM驱动的下一代智能体技术架构 一、核心范式转变 传统AI模型&#xff08;如ChatGPT&#xff09…

Claude Code:完爆 Cursor 的编程体验

前言 最近&#xff0c;听说Claude Code这款代码辅助编写产品很强&#xff0c;有人把Cursor比作实习生水平&#xff0c;Claude Code比作高级工程师水平。 起初不以为意&#xff0c;因为特殊原因&#xff0c;Claude 无法直接访问。然而&#xff0c;有人做了镜像站&#xff0c;可以…