IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 同一个网络下两台设备看直播时,进度不是一致的?浅谈其运作原理 -> 正文阅读

[系统运维]同一个网络下两台设备看直播时,进度不是一致的?浅谈其运作原理

?目录

?编辑?

前言?

开篇

概念补充?

?直播原理

真实场景

总结?


前言?

大家好哇!我是爷爷的茶七里香,发现一个很有意思的现象,想必大家也遇到过,我是在跟朋友同时看LOL总决赛直播的时候发现的,当时我跟他连的明明是同一个网络,就不明白他为什么进度比我快,这个时候我的好胜心来了:“不行,我一定要比他快!”,我就刷新了一波,有点效果,但始终没他的快,放弃了,哈哈~

开篇

想必大家对以上说的情况已经是见怪不怪了,今天呢我们就一点一点去挖掘下背后的运作方式,通只有了解了背后的运作原理才能解释这种现象!

概念补充?

?需要大家明白一个概念(这里就拿百度举例):

大家都熟知www.baidu.com,但肯定不知道182.61.200.7,当我们在地址栏输入182.61.200.7的时候也能访问到百度,如图:

1d99d8f5a3084847a712c65b18bd2cda.gif

当我们访问www.baidu.com实际上访问的是182.61.200.7,那么问题来了:

1. www.baidu.com是什么呢?

? ? ? ? 答:www.baidu.com通俗的讲它是182.61.200.7的名字,这就好像是一个人的名字。

2. 为什么www.baidu.com能够跟182.61.200.7对应上?

? ? ? ? 答:这就要涉及另一个知识点了——DNS域名解析服务器,www.baidu.com就是一个域名,当我们在地址栏输入这个域名之后,先是在本机的缓存里边找有没有这个域名对应的IP地址,如果没有那就需要向DNS服务器发送请求,请求什么呢?当然是请求182.61.200.7这个IP地址啦!在找到了这个IP地址之后它就会返回给我们的浏览器,浏览器再拿着这个IP地址访问百度的服务器!

3e868990764a4de580500db3f68ee5fc.png

?直播原理

我这里只是简单的说一下直播的大概原理,但并不是一些直播平台的做法!!!

主播在开了直播之后会向服务器发送直播相关的数据包,张三无聊了想养养眼,通过一个封面进入了直播间,在它进入这个直播间的过程中会走相应的DNS解析域名,然后才访问到对应的服务器拿到了直播的数据,嘿嘿嘿~流程如图:

在现实生活中的网络请求响应过程并没有图片中的那么简单,这个过程当中做了很多努力,如一个请求要经过很多台二层交换机、三层交换机等设备,因此部署链路是一个极其复杂的工程。

真实场景

在我们开始讲现实生活中直播平台的做法之前,需要理解一个概念 —— CDN,CDN也叫内容分发网络,那么它在网络中起着一个什么作用呢??

????????首先我们需要思考下直播为什么能保证那么多人同时观看,对这方面有了解的都知道一个服务器的访问量高与不高取决于这台服务器的配置以及带宽方面的问题,想要做到一台服务器能同时容纳100w用户的话投入比较大,企业没必要。那么企业是通过什么手段来做到的呢?没错,就是CDN,CDN是一个很重要的桥梁,而CDN指的是很多台不同地区的服务器,比如你在北京,那么你访问的ip其实就是北京所在的CDN服务器,如果是你人在上海,那么访问的ip就是上海所在的CDN服务器,前提是CDN厂商在该地区有自己的服务器,这么做可以提高访问速度,假设源服务器是在海外的,那么你的每次访问就要跑到海外去,但是使用了CDN之后就只会访问距离你最近的服务器了,访问速度也提高上去了。

????????那么问题来了,为什么我访问CDN的服务器能取到我想要的直播内容?因为CDN服务器已经把源服务器的直播数据给缓存下来了,只要源服务器交给了CDN去代理,那么它就会自己去请求源服务器然后把那些数据缓存起来,然后每个CDN服务器之间同步缓存的数据;这也就是为什么直播间能同时那么多人观看的原因了。

????????在使用了缓存这个概念提高了访问量的问题之后,它也出现了文章标题所说的问题了,就是明明是同一个网络下,为什么看到的直播进度不一样的问题,这就是缓存数据不是实时同步的,虽然是同一个网络下,但是两台设备请求的目标ip不一样,两台服务器缓存的数据也是不一致的,所以就造成了这种现象,造成这种现象的因素很多,更直接的原因还是网速的问题。

大致流程如图:?

总结?

????????大家对DDOS攻击都不陌生,这种攻击手段基本上是无解的,那么我们当中的一个防御手段就是可以通过CDN进行防御,?DDOS攻击就是对你的服务器传输大量数据包,直到超过服务器所能接受的量,而且在攻击过程中会导致用户无法正常访问你的产品(假如服务器上有部署的话),那么CDN是如何来进行防御的呢?当你使用CDN之后,用户的请求就不是直接通过访问你的服务器来拿到响应数据了,而是从CDN的服务器中取到缓存的数据。

????????总结下来CDN的好处还是挺多的,可以提高访问速度、并发数等等,CDN也能建立在这些优点上做出一些策略帮助你抵御DDOS攻击。?

🥇原创不易,还希望各位大佬支持一下!

👍点赞,你的认可是我创作的动力?!

🌟收藏,你的青睐是我努力的方向!

??评论,你的意见是我进步的财富!?

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-06-21 21:33:29  更:2022-06-21 21:33:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/30 2:05:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码