这是我参与「第三届青训营 -后端场」笔记创作活动的的第5篇笔记。
1 刷抖音网络是怎么交互的
网络接入:
- 互联网:让设备能够访问抖音服务器
- 路由:改Mac,找到发包口
- ARP协议:逻辑同网段才能发送ARP,ARP请求广播,ARP应答单播,本质上是查找下一跳的MAC,不是请求目标地址。
- IP协议:唯一标识,互联网通用。
- NAT:解决IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
网络传输:
- 数据包发送全流程
- 请求DNS
-UDP:想发什么包就分配一个UDP的头,把payload里面塞数据发出去
- TCP三次握手
第一次握手:建立连接时,客户端包(seq=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。
第二次握手:服务器收到syn包,必须确认客户端的SYN(ack=j+1),同时自己也发送一个SYN包(seq=k),即SYN+ACK包,此时服务器进入SYN_RECV状态。
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。
- TCP传输:传输控制协议(TCP,Transmission Control Protocol)是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。 TCP为了保证报文传输的可靠,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丢失了)将会被重传。
- HTTP/HTTP1.1 HTTP对TCP多加了一层规矩,让用户更清晰、简洁,HTTP1.1长连接、部分传输、HOST、缓存都做了些优化。
- HTTPS:在HTTP上加了层保密协议。 -SSL/TLS握手:SSL/TLS提供数据机密性和数据完整性。使用SSL/TLS协议可以确保数据安全地通过网络传输。加密传输中的数据有助于防止任何恶意用户嗅探网络以窃取密码、信用卡详细信息等敏感信息。有对称加密和非对称加密。
2、网络架构怎么给抖音提质
网络提速
- HTTP2.0:多路复用
- QUIC/HTTP3.0 -数据中心分布 -同运营商访问
- 静态资源路径优化(CDN)
- 动态API路径优化(DSA)
网络稳定
- 网络容灾
- 故障排查
- 故障明确
- 故障止损
- 分段排查:客户端、服务端、中间链路