这是我参与「第五届青训营 」伴学笔记创作活动的第 8 天
打开抖音互联网会发送什么?----带你探索计算机网络
今天学习了字节跳动青训营网络与部署课程,学习了第一节探索计算机网络。
帮助:更新简历(熟悉TCP/IP、计算机网络)
一、抖音网络是怎么交互的
1、互联网
抖音服务器要先接通我们的移动互联网不如中国联通、电信这些才能给我们访问,海外Tik Tok也是一样,接入美国网络。美国跟国内的网络也是有接入的,光缆的介入。
网络经常有个问题叫-最后一公里,在最后到用户的一段距离经常会出现丢包、卡顿等问题。
2、路由
同网段接入
我们通过ip做同网段,如果用直连的方式是很难连的,一般中间要有中转设备。早期是集线器,现在当下比较流行的是交换机。有了交换机我们就可以做同网段。但是一个交换机的接口是有限的,不可能一下接几千上万台设备。
我们可以通过sdn的软件虚拟化技术实现,如图右边看到两个虚拟机,其实是通过虚拟化技术实现在同个网段。所以网段不一定是同一个物理交换机的
同网段如何发包、交互呢?
改下目标ip的mac改成查到的就可以发了
跨网段接入
跨网段怎么接入呢
配一条路由,先发到中间的网关,再进行转发。
只要上面的详细路由没有匹配到,就会default都会通过这个网关。(默认的网关)
路由一定是对称的吗**?**
路由不一定是对称的,他是网状的,有很多条路线选择,返回的路也是一样的
但是实际的互联网一般对称都是通的
路由是工作在哪一层协议?
路由协议本身不是工作在ip层的,动态路由协议就是传输层的协议。
路由是改动IP地址吗?
路由不是改ip地址的,他是改的mac的地址,找到发包口
3、ARP协议
必须逻辑同网段才能发送ARP,一旦夸网段,要先找到下一跳才能发ARP
ARP的请求是广播,应答是单播。先发广播找是哪个目标,然后目标单播回应
ARP的本质就是查找下一跳的MAC,不是查找目标请求的mac
4、IP协议
唯一标识,互联网通用。抖音客户端一个,抖音服务端一个
mac地址为什么不能替代ip地址呢?
mac协议是二层协议,二层协议很多设备,不支持mac协议的设备,难道互联网就要把他们废弃吗,所以就出了一个更高层的ip协议来统一,最主要就是地址统一的问题。因为很多设备不支持mac地址。
5、NAT
ipv4不够用怎么办?
用ipv6去扩充,那很多设备不支持ipv6怎么办?我们公司内部很多内网的设备,都是可以用同一个ip地址的,连到互联网外部设备都是全局唯一的外网地址,这时候就把很多的内网地址映射到了一个地址,这样就节约了ipv4的地址。
多个内网客户端访问同一个目标地址加端口,源端口敲好一样,冲突了?
nat是ip加端口一起改变的,多个内网访问同一个端口,源端口也修改,维护一张表来修改。
二、刷抖音为什么又快又稳
1、HTTP2.0
运用HTTP2的并行请求,一下子请求很多个封面图片,就不是一个个的请求加载,效率就会提升非常多。
2、多路复用/stream
单个tcp连接传输的时候steam的传输是串行的,但是网络速度非常快的时候从上面看上去就像多路复用一样的效果。
如果因为是串行传输的,如果tcp丢包了,那么要等一个包重传,成功后其他的包才能接着进行。
3、QUIC/HTTP3.0
http2.0一旦发生阻塞就不好搞,所以谷歌又出了个新的协议
是基于UDP去做的,最主要就是把http2.0的多路复用做了优化
4、数据中心分布
比如抖音服务器集中部署在哪些机房,这些机房就是数据中心。
有核心机房存核心数据,然后有pop接入机房用来接入的,还有边缘机房上海移动,广东连通这样的,这种机边缘房很多。
我们可以分开访问,移动的访问移动机房,电信访问电信机房,针对中国互联网现状,跨网质量比较差,容易丢包。解析ip是中国移动我们就接入中国移动的。
5、姿态资源(图片视频)路径优化(CDN)
抖音很多视频都是静态的资源,上传完后所有的用户访问的都是一样的。
我们可以在边缘机房就缓存好,如果边缘机房就有,我们就不用去访问核心内部机房,加速了