这是我参与「第三届青训营 -后端场」笔记创作活动的的第8篇笔记.
打开抖音互联网会发生什么? -- 探索计算机网络
刷抖音网络如何交互?
1.1 网络接入
先让手机能访问抖音服务器
网络接入--互联网
网络接入--路由
往同网段如何发包?
改变目标IP的MAC,改成目标IP查到的MAC地址。
路由是否一定对称?
不一定
路由工作在哪一层协议?
工作在IP网络层。
那路由改的是IP地址吗?
路由改MAC,找到发包口。
网络接入--ARP协议
- 逻辑同网段才能发送ARP
- ARP请求广播,ARP应答单播
- 免费ARP?ARP代理 广播不能跨网段
ARP本质是查找下一跳的MAC,不是请求目标地址!
网络接入--IP协议
唯一表示,互联网通用,抖音服务端一个,抖音客户端一个
MAC地址不能代替IP地址吗?
不能
IPv4不够用,一般怎么解决的?
用IPv6进行扩充,使用NAT
网络接入--NAT
NAT改变IP+端口
1.2 网络传输
网络传输--数据包
包的封装
网络传输--数据包发送
网络传输--先请求DNS
递归DNS/迭代DNS
网络传输--UDP
想发什么包,就分配一个UDP头,把payload塞到数据里。
如何用好UDP?
- 由于MTU的存在,我们要做好分片
- 怎么避免分片,怎么知道没丢包?
- 怎么权衡传输效率和质量?
网络传输--三次握手TCP
Tcodump + Wireshark
网络传输--TCP传输
timewait要等两个MSL
网络传输--HTTP/HTTP1.1
HTTP在TCP的基础上多加了一层规矩,能够让用户更清晰
HTTP1.1的优化
- 长连接
- 部分传输
- HOST
- 缓存
HTTPS在解密出来还是HTTP