<计算机网络自顶向下> CDN

视频服务挑战

  • 规模性
  • 异构性:不同用户有不同的能力(比如有线接入和移动用户;贷款丰富和受限用户)
  • 解决方法是:分布式的应用层面的基础设施CDN

多媒体:视频

  • 视频是固定速度显示的一系列图像的序列,图像又是一系列像素点的序列
  • 视频占的带宽太大所以不经过压缩就在网络上传输基本是不可能的
  • 压缩的基础
    • 空间的冗余度:一个帧当中一些范围的像素点颜色一样,空间描述的时候可以说某个像素点在那一范围出现
    • 时间上的冗余度:一些相邻的帧的像素点颜色一样,传输的时候仅仅把动的对象传输即可
  • CBR (constant bit rate): 以固定速率编码
  • VBR (variable bit rate): 视频编码速率随时间的变化而变化

存储视频的流化服务

  • Download and play太慢了
  • streaming服务边下载边看(就相当于我现在看b站下面有一个进度条还有一个比进度条跑的更快的白条,这个白条就是下载条)
  • 多媒体流化服务:DASH(Dynamic Adaptive Streaming over HTTP)
    • 服务器:将视频文件分割为多个chunk,每个chunk独立存储,编码于(8-10种)不同码率,告示文件(manifest file)提供不同块的URL(b站视频有很多码率视频)
    • 客户端:周期性测量服务器到客户端的带宽,查询告示文件,在一个时刻请求一个块,HTTP头部指定字节范围(如果带宽足够,选择最大码率的视频块;会话中的不同时刻,可以切换请求不同的编码块,这取决于当时的可用带宽);

Content Distrubution Networks(CDN)

  • 挑战:承载量
    • 如果选择单个的,,大的超级服务器“mega-server”——方法简单但是延展性很差
      • 服务器到客户端上路径跳数较多,瓶颈链路的带宽小导致停顿
      • “二八规律”决定了网络同时充斥着统一个视频的多个拷贝,效率低(付费高,贷款浪费,效果差)
      • 单点故障,性能瓶颈
      • 周边网络的拥塞
  • 选项二:通过CDN,全网部署缓存节点,存储服务内容,就近为用户提供服务,提高用户体验
  • 也就是说在网络中,CDN的运营商部署了许多缓存节点,用户上线时候不一定从原服务器获取流化服务,通过DNS的重定向,找离他最近服务质量最好的节点提供流化服务。使得问阿金传输跳数少,服务质量更好。
  • 种类
    • Enter deep:将CDN服务器深入到许多接入网(在Local ISP内部)
      • 更接近用户,数量多,离用户近,管理困难
      • Akamai:1700个位置
    • Bring home: 部署在少数(10个左右)关键位置(比如在ISP关键节点机房附近),如将服务器簇安装于POP附近(离若干大的ISP,POP比较近)
      在计算机网络中,POP表示入网点(Point of Presence)。POP位于网络企业的边缘外侧,是访问企业网络内部的进入点。外界提供的服务通过POP进入,这些服务包括Internet接入,广域连接以及电话服务(PSTN)
      • 采用租用线路将服务器簇链接起来
      • Limelight
      • 问题:跳数比第一种多
    • 互联网络主机到主机之间的通信作为一种服务向用户提供
    • OTT挑战:在拥塞的互联网上复制内容
      • 从哪个CDN节点中获取内容?
      • 用户在网络拥塞时的行为?
      • 在哪些CDN节点中存储什么内容?

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

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

相关文章

优惠券布局的最终方案------css属性mask

先贴图&#xff1a; 以上这些都是通过mask去实现出来&#xff1a; <!DOCTYPE html><html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"&g…

如何将PHP的Webman框架打包成二进制文件运行

看了看webman的官方文档&#xff0c;发现居然还能打包为二进制&#xff0c;这样太厉害了吧&#xff01; 先执行这个 composer require webman/console ^1.2.24 安装这个console的包&#xff0c;然后 执行 php webman build:bin 8.1 结果谁想到它报错提示&#xff1a; 好…

清明三天,用Python赚了4万?

每年4月&#xff0c;是Python圈子里接私活的旺季&#xff0c;特别是在节假日这种数据暴增的时间段&#xff0c;爬虫采集、逆向破解类的私活订单会集中爆发&#xff0c;量大价高。几乎所有的圈内人都在趁着旺季接私活。 正好&#xff0c;我昨天就做了一单爬虫逆向私活&#xff…

自动化测试-如何优雅实现方法的依赖

在复杂的测试场景中&#xff0c;常常会存在用例依赖&#xff0c;以一个接口自动化平台为例&#xff0c;依赖关系&#xff1a; 创建用例 --> 创建模块 --> 创建项目 --> 登录。 用例依赖的问题 • 用例的依赖对于的执行顺序有严格的要求&#xff0c;比如让被依赖的方…

如何使用Fiddler做弱网测试?

1、打开Fiddler工具&#xff0c;点击Rules-Customize Rules 2、打开了一个配置文件&#xff0c;ctrlF搜索Delay sends by 300ms per KB uploaded&#xff0c; 3、修改发送延迟和下载延迟的时间&#xff0c;可以修改的大一些&#xff0c;越大延迟越久&#xff0c;修改后保存 4、…

(GPT-PLUS,RawChat,choose-car,Kimi,智谱清言)分享5个好用的ChatGPT

目录 1、GPT-PLUS拼车 2、RawChat公益站点 3、GPT-PLUS共享 4、choose-car 5、AI提示器 6、Kimi.ai - 帮你看更大的世界 7、智谱清言 1、GPT-PLUS拼车 https://home.topai.vip/list GPT-PLUS拼车 TOPAI宇宙 | Link3 2、RawChat公益站点 https://sharedchat.cn/ 3、GPT-PLUS共享…

我用了6年的 SpringBoot 项目部署方案,稳得一批!

本篇和大家分享的是springboot打包并结合shell脚本命令部署&#xff0c;重点在分享一个shell程序启动工具&#xff0c;希望能便利工作&#xff1b; profiles指定不同环境的配置 maven-assembly-plugin打发布压缩包 分享shenniu_publish.sh程序启动工具 linux上使用shenniu_pub…

【MATLAB源码-第54期】基于白鲸优化算法(WOA)和遗传算法(GA)的栅格地图路径规划最短路径和适应度曲线对比。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 1.白鲸优化算法&#xff08;WOA&#xff09;&#xff1a; 白鲸优化算法是一种受白鲸捕食行为启发的优化算法。该算法模拟了白鲸群体捕食的策略和行为&#xff0c;用以寻找问题的最优解。其基本思想主要包括以下几点&#xff…

Python统计分析库之statsmodels使用详解

概要 Python statsmodels是一个强大的统计分析库,提供了丰富的统计模型和数据处理功能,可用于数据分析、预测建模等多个领域。本文将介绍statsmodels库的安装、特性、基本功能、高级功能、实际应用场景等方面。 安装 安装statsmodels库非常简单,可以使用pip命令进行安装:…

4.配置USART串口实现printf打印

通过TTL转USB实现电脑和单片机连通,是我们调试必不可少的工具 查看原理图,使用USART1,它们的TX和RX分别在PA9和PA10 新建Usart.c存放串口模块的初始化 这段代码是复制了正点原子的工程,添加到前面 #if SYSTEM_SUPPORT_OS #include "includes.h" //ucos 使用 …

记录PS学习查漏补缺

PS学习 PS学习理论快捷键抠图PS专属多软件通用快捷键 PS学习 理论 JPEG &#xff08;不带透明通道&#xff09; PNG (带透明通道) 快捷键 抠图 抠图方式 魔棒工具 反选选中区域 CtrlShiftI&#xff08;反选&#xff09; 钢笔抠图注意事项 按着Ctrl单击节点 会出现当前节…

Linux安装docker(含Centos系统和Ubuntu系统)

一、Centos系统 1. 卸载旧版本依赖 sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine 2. 设置仓库 安装所需的软件包。yum-utils 提供了 yum-config-manager &…

【C++航海王:追寻罗杰的编程之路】异常——错误处理方式之一

目录 引言 1 -> C语言传统的处理错误的方式 2 -> C异常概念 3 -> 异常的使用 3.1 -> 异常的抛出和捕获 3.2 -> 异常的重新抛出 3.3 -> 异常规范 4 -> 自定义异常体系 5 -> C标准库的异常体系 6 -> 异常的优缺点 引言 在C编程中&#xff…

MySQL中的SQL高级语句[二]

使用语言 MySQL 使用工具 Navicat Premium 16 代码能力快速提升小方法&#xff0c;看完代码自己敲一遍&#xff0c;十分有用 拖动表名到查询文件中就可以直接把名字拉进来以下是使用脚本方法&#xff0c;也可以直接进行修改中括号&#xff0c;就代表可写可不写 有些地方的代…

【Web】VS Code 插件

专栏文章索引&#xff1a;Web 有问题可私聊&#xff1a;QQ&#xff1a;3375119339 目录 一、安装步骤 二、插件 1.Chinese (Simplified) (简体中文) 2.open in browser 3.vscode-icons 4.Live Server 5.Live Server Preview 6.翻译(英汉词典) 一、安装步骤 点击 “扩…

竞技游戏新纪元:如何打造满足现代玩家需求的极致体验?

文章目录 一、现代玩家需求分析二、以玩家体验为核心的游戏设计三、个性化与定制化服务四、强化社交互动与社区建设五、持续更新与优化《游戏力&#xff1a;竞技游戏设计实战教程》亮点编辑推荐内容简介目录获取方式 随着科技的飞速发展和游戏产业的不断壮大&#xff0c;现代玩…

GitHub repository - Watch - Star - Fork - Follow

GitHub repository - Watch - Star - Fork - Follow References 眼睛图标旁边写着 Watch 字样。点击这个按钮就可以 Watch 该仓库&#xff0c;今后该仓库的更新信息会显示在用户的公开活动中。Star 旁边的数字表示给这个仓库添加 Star 的人数。这个数越高&#xff0c;代表该仓库…

【多线程】单例模式 | 饿汉模式 | 懒汉模式 | 指令重排序问题

文章目录 单例模式一、单例模式1.饿汉模式2.懒汉模式&#xff08;单线程&#xff09;3.懒汉模式&#xff08;多线程&#xff09;改进 4.指令重排序1.概念2.question:3.解决方法4总结&#xff1a; 单例模式 一、单例模式 单例&#xff0c;就是单个实例 在有些场景中&#xff0c…

MacOs 安装thrift-0.5.0

下载thrift-0.5.0.tar.gz https://archive.apache.org/dist/incubator/thrift/0.5.0-incubating/ 安装thrift 解压&#xff1a;tar -zvxf thrift-0.5.0.tar.gz 进入解压目录&#xff1a;cd thrift-0.5.0 编译命令&#xff1a;./configure --prefix/usr/local/ --with-boo…

深度学习知识点:卷积神经网络(CNN)

深度学习知识点&#xff1a;卷积神经网络&#xff08;CNN&#xff09; 前言卷积神经网络&#xff08;CNN&#xff09;卷积神经网络的结构Keras搭建CNN经典网络分类LeNetAlexNetAlexNet 对比LeNet 的优势&#xff1f; VGGVGG使用2个33卷积的优势在哪里&#xff1f;每层卷积是否只…