刷抖音网络是怎么交互的?
网络接入 网络传输
1.网络接入--互联网
last mile 最后一公里,最容易出现丢包的问题 物理联通 逻辑联通: 子网掩码,IP 有了交换机就可以做同网段 SDN:网络交换机 同网段如何发包呢?
2.网络接入--路由
往同网段如何发包? 改变目标IP的MAC,改成目标IP查到的MAC地址。
路由是否一定对称? 不一定
路由工作在哪一层协议? 工作在IP网络层。
那路由改的是IP地址吗? 路由改MAC,找到发包口。
3.网络接入--ARP协议
逻辑同网段才能发送ARP ARP请求广播,ARP应答单播 免费ARP?ARP代理 广播不能跨网段 ARP本质是查找下一跳的MAC,不是请求目 标地址!
4.网络接入--IP协议
唯一标识,互联网通用,抖音服务端一个,抖音客户端一个
MAC地址不能代替IP地址吗? 不能
Pv4不够用,一般怎么解决的? 用IPv6进行扩充,使用NAT
5.网络接入--NAT
家里路由是怎么上网的? 多个内网客户端访问同一个目标地址+端口,源端口恰好一样,冲突了? NAT改变IP+端口
6.网络传输--数据包 7.网络传输-数据包发送
8.网络传输--先请求DNS
递归DNS/迭代DNS
9.网络传输--UDP
想发什么包,就分配一个UDP头,把payload塞到数据里。
如何用好UDP? 由于MTU的存在,我们要做好分片 怎么避免分片,怎么知道没丢包? 怎么权衡传输效率和质量?
10.网络传输--三次握手TCP
Tcodump + Wireshark
11.网络传输--TCP传输 timewait要等两个MSL
12.网络传输--HTTP/HTTP1.1
HTTP在TCP的基础上多加了一层规矩,能够让用户更清晰,更简洁 HTTP1.1有哪些优化? 长连接 部分传输 HOST 缓存 HTTPS在解密出来还是HTTP