打开抖音互联网会发生什么 | 青训营笔记

109 阅读2分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的第1篇笔记。本文旨在对网络原理和网络协议建立起整体的认识,并介绍网络提速和网络稳定的技术手段。

1. 网络接入

路由

  • 路由不一定是对称的,其工作在IP层和传输层(动态路由协议)
  • 路由修改MAC地址,找发包口,IP地址保持不变 image.png ARP协议
  • 逻辑同网段才能发送ARP,本质是查找下一跳的MAC
  • ARP请求广播,应答单播
  • 免费ARP(防止IP冲突) vs. ARP代理(网关,进行抢先应答) IP协议
  • MAC地址不能代替IP地址,IP协议为了向下兼容
  • NAT:利用IP+端口来解决IPv4地址不足的问题。

2. 网络传输

数据包发送全流程 image.png

  • 先请求DNS
    • 递归解析、迭代解析
    • DNS传输协议:UDP协议
  • TCP三次握手
    • 拔了网线,TCP连接不会中断。引入心跳检测机制
    • TCP协议Options字段可以携带MSS和时间戳信息
    • 第一次握手:客户端给服务器发送一个SYN段(在 TCP 标头中 SYN 位字段为 1 的 TCP/IP 数据包), 该段中也包含客户端的初始序列号(Sequence number = J)。
    • 第二次握手:服务器返回客户端 SYN +ACK 段(在 TCP 标头中SYN和ACK位字段都为 1 的 TCP/IP 数据包), 该段中包含服务器的初始序列号(Sequence number = K);同时使 Acknowledgment number = J + 1来表示确认已收到客户端的 SYN段(Sequence number = J)。
    • 第三次握手:客户端给服务器响应一个ACK段(在 TCP 标头中 ACK 位字段为 1 的 TCP/IP 数据包), 该段中使 Acknowledgment number = K + 1来表示确认已收到服务器的 SYN段(Sequence number = K)。 image.png
  • HTTP/HTTP1.1
    • HTTP只是对TCP多加了一层规则,HTTP依然是TCP。
    • 主要的优化点:长连接、部分传输、HOST、缓存
  • HTTPS:非对称加密加密密钥,对称加密加密HTTP

3. 网络提速

  • HTTP2.0:多路复用(streams)
  • QUIC/HTTP3.0:解决对头阻塞问题
    • UDP协议
    • 用户态实现
    • 0 RTT
    • 弱网传输优势 image.png
  • 静态资源路径优化(CDN):图片、视频
  • 动态API路径优化:播放、评论接口

4. 网络稳定

  • 容灾概念:故障发生、故障感知、自动切换、服务恢复
  • 故障明确、故障止损、分段排查(客户端排查、服务端排查、中间链路排查)
    • dig查询DNS问题
    • ping/telnet/nmap查询三层/四层问题
    • traceroute排查中间链路
    • iptables
    • tcpdump