《计算机网络》(第8版)第8章 互联网上的音频/视频服务 复习笔记
第 8 章 互联网上的音频/视频服务
一、概述
1 多媒体信息的特点
多媒体信息(包括声音和图像信息)最主要的两个特点如下:
(1)多媒体信息的信息量往往很大;
(2)在传输多媒体数据时,对时延和时延抖动均有较高的要求。
2 音频/视频服务的分类
目前互联网提供的音频/视频服务大体上可分为三种类型:
(1)流式存储音频/视频:能边下载边播放;
(2)流式实况音频/视频:发送方边录制音频/视频节目边发送,接收时也能够连续播 放;
(3)交互式音频/视频:用户使用互联网和其他人进行实时交互式通信。
二、流式存储音频/视频
1 具有元文件的万维网服务器
在万维网服务器中,除了真正的音频/视频文件外,还增加一个元文件以提高流式存储 音频/视频的下载效率。
2 媒体服务器
为了更好地提供播放流式音频/视频文件的服务,可以使用两个分开的服务器,即一个 普通的万维网服务器和一个媒体播放器。
媒体服务器又称流式服务器,媒体服务器与普通的万维网服务器的最大区别就是:媒 体服务器是专门为播放流式音频/视频文件而设计的。
3 实时流式协议 RTSP
实时流式协议 RTSP 又称为带外协议,它以客户/服务器方式工作,其本身并不传送数 据,而仅仅是使媒体播放器能够控制多媒体流的传送。
图 8-1 表示使用RTSP 的媒体服务器的工作过程。

图 8-1 使用RTSP 的媒体服务器的工作过程
三、交互式音频/视频
1 IP 电话概述
(1)IP 电话的定义
狭义的 IP 电话就是指在 IP 网络上打电话,广义的 IP 电话则不仅仅是电话通信,而且 还可以是 IP 网络上进行的交互式多媒体实时通信(包括话音、视像等),甚至还包括 即时传信 IM。
(2)IP 电话网关
IP 电话网关是公用电话网与 IP 网络的接口设备,它的作用是: ①在电话呼叫阶段和呼叫释放阶段进行电话信令的转换;
②在通话期间进行话音编码的转换。
(3)IP 电话的通话质量
IP 电话的通话质量主要由通话双方端到端的时延和时延抖动、话音分组的丢失率决定。
2 IP 电话所需要的几种应用协议
在 IP 电话的通信中,至少需要两种应用协议:
(1)信令协议:使我们在互联网上能找到被叫用户;
(2)话音分组的传送协议:使用于电话通信的话音数据能够以时延敏感属性在互联网 中传送。
3 实时运输协议 RTP
实时运输协议 RTP 为实时应用提供端到端的的运输,但不提供任何服务质量的保证。
4 实时运输控制协议 RTCP
实时运输控制协议 RTCP 的主要功能是:服务质量的监视与反馈、媒体间的同步(如 某一个 RTP 发送的声音和图像的配合),以及多播组中成员的标志。
5 H.323
H.323 是互联网的端系统之间进行实时声音和视频会议的标准;它不是一个单独的协 议而是一组协议。
6 会话发起协议 SIP
由于 H.323 太过复杂而不便于发展基于 IP 的新业务,所以需要一套简单的标准;会话 发起协议 SIP 也就成为了互联网的建议标准;SIP 使用文本方式的客户/服务器协议,
包含两种构件(用户代理和网络服务器)。
四、改进“尽最大努力交付”的服务
1 使互联网提供服务质量
服务质量 QoS 是服务性能的总效果,它决定了一个用户对服务的满意程度;互联网应 当设法增加一些机制(分组的分类、管制、调度以及呼叫接纳)来提供一定的服务质 量。
2 调度和管制机制
(1)调度机制
“调度”就是指排队的规则,常见有以下几种策略:
①先进先出 FIFO;
②简单地按优先级排队;
③公平排队;
④加权公平排队 WFQ。
(2)管制机制
对一个数据流,可根据以下三个方面进行管制:
①平均速率:一定时间间隔内通过的分组数;
②峰值速率:峰值速率限制了数据流在非常短的时间间隔内的流量;
③突发长度:非常短的时间间隔内连续注入到网络中的分组数。
3 综合服务 IntServ 与资源预留协议 RSVP
(1)综合服务 IntServ
IntServ 可对单个的应用会话提供服务质量的保证,它定义了两类服务:
①有保证的服务:保证一个分组在通过路由器时的排队时延有一个严格的上限;
②负载受控的服务:可以使应用程序得到比通常的“尽最大努力”更加可靠的服务。
IntServ 共有以下四个组成部分:
①资源预留协议 RSVP:它是 IntServ 的信令协议;
②接纳控制:决定是否同意对某一资源的请求;
③分类器:把进入路由器的分组进行分类,并根据分类的结果把不同类别的分组放入 特定的队列;
④调度器:根据服务质量要求决定分组发送的前后顺序。
(2)资源预留协议 RSVP
一个会话声明它所需的服务质量后,路由器能够确认是否有足够的资源来满足该会话 的要求;而 RSVP 协议使得应用能将自己的 QoS 要求通过信令通知给网络,网络可以 对此应用预留相应的资源,它在进行资源预留时采用了多播树的方式。
4 区分服务 DiffServ
由于综合服务 IntServ 和资源预留协议 RSVP 较为复杂,很难在大规模的网络中实现, 为此提出区分服务的策略,区分服务 DiffServ 的要点如下:
(1)DiffServ 力图不改变网络的基础结构,但在路由器中增加区分服务的功能;
(2)网络被划分为许多个 DS 域;
(3)边界路由器中的功能较多,可分为分类器和通信量调节器两大部分;
(4)DiffServ 提供了一种聚合功能。
相关文章:
《计算机网络》(第8版)第8章 互联网上的音频/视频服务 复习笔记
第 8 章 互联网上的音频/视频服务 一、概述 1 多媒体信息的特点 多媒体信息(包括声音和图像信息)最主要的两个特点如下: (1)多媒体信息的信息量往往很大; (2)在传输多媒体数据时&a…...
linux进程控制——进程替换——exec函数接口
前言: 本节内容进入linux进程控制板块的最后一个知识点——进程替换。 通过本板块的学习, 我们了解了进程的基本控制方法——进程创建, 进程退出, 进程终止, 进程替换。 进程控制章节和上一节进程概念板块都是在谈进程…...
Apache解析漏洞~CVE-2017-15715漏洞分析
Apache解析漏洞 漏洞原理 # Apache HTTPD 支持一个文件拥有多个后缀,并为不同后缀执行不同的指令。比如如下配置文件: AddType text/html .html AddLanguage zh-CN .cn# 其给 .html 后缀增加了 media-type ,值为 text/html ;给 …...
Xilinx管脚验证流程及常见问题
1 流程 1.1 新建I/O Planning Project I/O Planning Project中可以不需要RTL的top层.v代码,仅图形化界面即可配置管脚约束XDC文件的生成: Create I/O Ports: 导出XDC文件和自动生成的top_interface.v文件: 1.2 新建test Project …...
格雷厄姆的《聪明的投资者》被誉为“投资圣经”
本杰明格雷厄姆的《聪明的投资者》(The Intelligent Investor: A Book of Practical Counsel)是投资领域的一部经典之作,被誉为“投资圣经”。以下是对该书的详细解析: 一、书籍基本信息 书名:《聪明的投资者》&…...
TypeScript声明文件
TypeScript声明文件 在JavaScript的生态系统中,随着项目的复杂度和规模不断增加,开发者对于类型安全和代码质量的追求也日益增长。TypeScript,作为JavaScript的一个超集,通过添加静态类型检查和ES6等新特性支持,极大地…...
.NET_WPF_使用Livecharts数据绑定图表
相关概念 LiveCharts 是一个开源的图表库,适用于多种 .NET 平台,包括 WPF、UWP、WinForms 等。LiveCharts 通过数据绑定与 MVVM 模式兼容,使得视图模型可以直接控制图表的显示,无需直接操作 UI 元素。这使得代码更加模块化&#x…...
一句JS代码,实现随机颜色的生成
今天我们只用 一句JS代码,实现随机颜色的生成,首先看一下效果: 每次刷新浏览器背景颜色都不一样 实现此效果的JS函数 : let randomColor () > ...: 定义一个箭头函数randomColor,用于生成一个随机颜色。 Math.ra…...
校园抢课助手【7】-抢课接口限流
在上一节中,该接口已经接受过风控的处理,过滤掉了机器人脚本请求,剩下都是人为的下单请求。为了防止用户短时间内高频率点击抢课链接,海量请求造成服务器过载,这里使用接口限流算法。 先介绍下几种常用的接口限流策略…...
char类型和int类型
一、char类型 在Java中,char(字符)类型用于表示单个字符,它是基本数据类型之一。以下是关于Java中char类型的一些重要信息: 表示方式: char类型用于存储Unicode字符,占用16位(即2个字…...
C++参悟:stl中的比较最大最小操作
stl中的比较最大最小操作 一、概述二、最小值1. min2. min_element 三、最大值1. max2. max_element 四、混合1. minmax2. minmax_element 一、概述 记录这里C11中常用的最小值和最大值的比较函数,最好的参考资料其实就是 https://zh.cppreference.com 最重要的查…...
JAVA读取netCdf文件并绘制热力图
读取netCdf的依赖 <dependency><groupId>ucar</groupId><artifactId>netcdfAll</artifactId><version>5.5.3</version><scope>system</scope><exclusions><exclusion><groupId>org.slf4j</groupId…...
数据结构——八大排序
一.排序的概念和其应用 1.1排序的概念 排序:排列或排序是将一组数据按照一定的规则或顺序重新组织的过程,数据既可以被组织成递增顺序(升序),或者递减顺序(降序)。稳定性:假定在待…...
【Unity】RPG2D龙城纷争(十九)流程与UI界面(终章)
更新日期:2024年8月1日。 项目源码:第五章发布(正式开始游戏逻辑的章节) 索引 简介一、游戏流程1.初始化流程2.开始流程3.关卡流程4.关卡结束流程5.启用所有流程二、UI界面逻辑1.开始界面2.存档界面3.关卡界面DataRegion 数据显示逻辑区域RoundRegion 回合逻辑区域RoleMenu…...
C#类和结构体的区别
1、类class是引用类型,多个引用类型变量的值会互相影响。存储在堆(heap)上 2、结构体struct是值类型,多个值类型变量的值不会互相影响。存储在栈(stack)上 类结构关键字classstruct类型引用类型值类型存储…...
【RabbitMQ】RabbitMQ持久化
一、简介 RabbitMQ的持久化机制是一种确保数据在RabbitMQ服务重启或异常情况下不会丢失的重要特性。RabbitMQ的持久化主要包括三个方面的内容:交换器的持久化、队列的持久化、消息的持久化。 二、交换器的持久化 1、实现方式 在RabbitMQ中,实现交换器…...
算法刷题笔记 Kruskal算法求最小生成树(详细算法介绍,详细注释C++代码实现)
文章目录 题目描述基本思路实现代码 题目描述 给定一个n个点m条边的无向图,图中可能存在重边和自环,边权可能为负数。求最小生成树的树边权重之和,如果最小生成树不存在则输出impossible。 最小生成树的概念:给定一张边带权的无向…...
5年经验的软件测试人员,碰到这样的面试题居然会心虚......
我们这边最近的面试机会比较多,但是根据他们的反馈,结束后大部分都没音信了,因为现在企业面试问的非常多,范围非常广,而且开放性的问题很多,很多人即便面试前刷了成百上千道面试题,也很难碰到一…...
C#进阶-轻量级ORM框架Dapper的使用教程与原理详解
本文详细介绍了Dapper在C#中的使用方法,包括Dapper的基本概念、与其他持久层框架的比较、基本语法和高级语法的使用,并通过实例讲解了如何在项目中集成和使用Dapper。Dapper以其高效的性能和简洁的API受到开发者的青睐,适用于各种数据库操作需…...
Windows图形界面(GUI)-MFC-C/C++ - 编辑框(Edit Control) - CEdit
公开视频 -> 链接点击跳转公开课程博客首页 -> 链接点击跳转博客主页 目录 编辑框(Edit Control) - CEdit 基本概念 成员函数 示例代码 编辑框(Edit Control) - CEdit 基本概念 编辑框(Edit Control)是一个允许用户输入和编辑文本的窗…...
8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
【第二十一章 SDIO接口(SDIO)】
第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...
VisualXML全新升级 | 新增数据库编辑功能
VisualXML是一个功能强大的网络总线设计工具,专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑(如DBC、LDF、ARXML、HEX等),并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...
C++ 类基础:封装、继承、多态与多线程模板实现
前言 C 是一门强大的面向对象编程语言,而类(Class)作为其核心特性之一,是理解和使用 C 的关键。本文将深入探讨 C 类的基本特性,包括封装、继承和多态,同时讨论类中的权限控制,并展示如何使用类…...
