这是我参与「第三届青训营 -后端场」笔记创作活动的第2篇笔记
概览
当用户在进行刷抖音的时候,会有很多网络协议进行帮助运作,包括(HTTP,QUIC,TCP,DNS)等等
刷抖音是如何进行交互的
- 网络接入
- 网络传输
网络接入-互联网
网络接入-路由
同网段通过交换机实现 当下流行的交换逻辑:SDN
网络接入-ARP协议
- 逻辑同网段才能发送ARP
- ARP请求广播,ARP应答单播 ARP本质上是查找下一跳的MAC,不是请求目标地址!
网络接入-IP协议
- 唯一标识,互联网通用。抖音客户端一个,抖音服务端一个。
- Mac地址不能代替IP地址吗?
- IPv4不够用,一般怎么解决的?
网络接入-NAT
网络传输-数据包
网络传输-先请求DNS
- 客户端发送解析请求
- 递归解析器去问".",com.去哪里解析
- 递归解析器去问“com.",douyin.com去哪里解析 douyin.com告诉递归解
网络传输-DNS的传输协议UDP
UDP本身相对简单,想法什么包就分配一个UDP的头,把payload里面塞数据发出去就好
网络传输-TCP三次握手
先发送一个请求发送的数据包,等接收方收到后会发送一个携带同意发送请求的数据报给发送方,发送方会发送一些数据并携带已接收请求的信息,建立TCP连接成功
网络传输-HTTP/HTTP1.1
HTTP只是多加了一层规矩,HTTP依然是TCP,只是这个规矩让用户更清晰/更简洁。
能高质量访问抖音的必备保障:
1.数据中心提速
2.HTTP2.0提速
3.QUIC提速
4.故障排查
5.网络容灾
6.路径提速