这是我参与「第三届青训营 -后端场」笔记创作活动的的第四篇笔记
打开抖音互联网会发生什么
抖音滑动时涉及的网络协议
1.域名解析DNS
2.评论API/HTTP
3.视频下载/HTTP
4.图片下载/HTTP
1.1网络接入-互联网
互联网和接入:网络拓扑的整体认识
1.2网络接入-路由
同网段:配置网段即可默认添加静态路由。获取对端MAC直接发包
跨网段:配置网关路由。获取网关MAC地址发包
动态路由:BGP/OSPF等,路由表在动态变化
路由是网状的,不一定是对称的
1.3网络接入-ARP协议
-
ARP协议
- ARP广播/应答:协议原理
- 免费ARP:主动广播告知MAC地址
- ARP代理:虚拟网络/伪造MAC地址
-
IP协议
- IPv4:互联网终端节点的唯一标识
- IPv6:不仅仅是IP地址长度的增加
1.4 IP协议
1.5网络接入-NAT
- NAT
- NAT上网:家用路由器
- NAT出网:机房内网主机上外网
- NAT原理:注意不仅仅是源地址变换,源端口/校验和/SEQ等都会变化
1.6网络传输-数据包
- 数据包:本质上是一段内存,里面存储的内存是有序的,一般是按照TCP/IP的多层协议去封装。拆包/封包都是按照协议去写内存/读内存。
1.7网络传输-请求DNS
1.8网络传输-DNS的传输协议UDP
1.9网络传输-TCP三次握手
- 三次握手:确认传输的序列号/MSS/Option字段,建立连接
- TCP连接:是一个虚拟的概念,本质上两倍维持一段内存,记录连接状态,就是session
- TCP传输:理解sequence number/acknowledge number
- 丢包重传:理解丢包怎么感知并重传,理解快速重传发生在什么时候
1.10网络传输-HTTP/HTTP1.1
-
HTTP
- HTTP比TCP好在哪里:方便
- HTTP1.1的优化:长连接是重点
1.11HTTPS
-
HTTPS
- HTTPS的产生背景:加密/可靠/防劫持
- SSL/TLS握手:非对称加密/对称加密
2.1网络提速-HTTP2.0
-
HTTP2.0
- 多路复用:依然有队头阻塞(什么是多路复用?)
2.2网络提速-怎么理解多路复用/stream
2.3网络提速-QUIC/HTTP3.0
QUIC
-
QUIC的产生背景和背后思考:
- 为什么在用户态实现?内核的更新迭代频率较低,不好推广
- 为什么用UDP?TCP的队头阻塞问题不好解决,推倒重来&复用所有操作系统基本都支持的底层协议
2.4网络提速-数据中心分布
2.5网络提速-同运营商访问
- 多运营商接入:同运营商内部访问,避免跨运营商的流量
- 有边缘机房/汇聚机房/中心机房
2.6网络提速-静态资源(图片视频)路径优化
- CDN静态缓存系统:边缘机房的建设,优先访问边缘机房,缓存命中视频/图片等静态内容
2.7网络提速-动态API(播放/评论接口)路径优化
- DSA动态加速系统:分四层/七层动态加速。核心在于利用可控节点做路径探测和规划。
2.8网络稳定-容灾概念
对容灾的理解
-
云控容灾:云端交互,服务器/云上下发命令到终端-字节TNC系统
-
cache容灾:源站不可用,降级到之前的缓存内容-字节TLB/ByteCDN等系统的容灾建设
2.9网络稳定-故障排查
- 加强故障沟通-明确故障
- 故障止损要在第一时间做(灾备预案的建设)
- 熟悉常用的故障排查命令