论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
运维.售后
›
运维.售后
›
同一个网络下两台设备看直播时,进度不是一致的?浅谈其 ...
同一个网络下两台设备看直播时,进度不是一致的?浅谈其运作原理 ...
没腿的鸟
金牌会员
|
2022-6-25 21:32:36
|
显示全部楼层
|
阅读模式
楼主
主题
807
|
帖子
807
|
积分
2421
目录
编辑
前言
开篇
概念补充
直播原理
真实场景
总结
前言
大家好哇!我是爷爷的茶七里香,发现一个很有意思的现象,想必大家也遇到过,我是在跟朋友同时看LOL总决赛直播的时候发现的,当时我跟他连的明明是同一个网络,就不明白他为什么进度比我快,这个时候我的好胜心来了:“不行,我一定要比他快!”,我就刷新了一波,有点效果,但始终没他的快,放弃了,哈哈~
开篇
想必大家对以上说的情况已经是见怪不怪了,今天呢我们就一点一点去挖掘下背后的运作方式,通只有了解了背后的运作原理才能解释这种现象!
概念补充
需要大家明白一个概念(这里就拿百度举例):
大家都熟知www.baidu.com,但肯定不知道182.61.200.7,当我们在地址栏输入182.61.200.7的时候也能访问到百度,如图:
当我们访问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地址访问百度的服务器!
直播原理
我这里只是简单的说一下直播的大概原理,但并不是一些直播平台的做法!!!
主播在开了直播之后会向服务器发送直播相关的数据包,张三无聊了想养养眼,通过一个封面进入了直播间,在它进入这个直播间的过程中会走相应的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攻击。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
没腿的鸟
金牌会员
这个人很懒什么都没写!
楼主热帖
CVE-2022-23131 Zabbix SAML SSO认证绕 ...
【ollama】Linux下更改ollama模型下载 ...
ManageEngine ServiceDesk Plus之CVE漏 ...
Doris(七) -- 修改表、动态和临时分区 ...
Redis事务
iOS全埋点解决方案-采集崩溃 ...
【密码管理器】上海道宁为您提供存储和 ...
java代码审计-XSS
【必知必会的MySQL知识】④DCL语言 ...
北斗授时产品(GPS北斗授时设备)加NTP ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表