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

184 阅读3分钟

问题指出

  • 刷抖音怎么交互?--网络接入+运输
  • 刷抖音又快又稳?

网络交互之网络传入

互联网 + 路由 + ARP协议 + IP协议 + NAT

  • ❓路由一定是对称的吗?:本质上来说,不一定。
  • ❓路由是工作在哪一层协议?:有IP、TCP、UDP等很多种可能。
  • ❓路由是改IP地址吗?:不是,路由是改变MAC地址,找到发包口。

ARP协议

  • 逻辑同网段才能发送ARP
  • ARP请求广播,ARP应答单播
  • 免费ARP:获取免费ARP后,不用请求就可得知IP和MAC的映射关系,提高工作效率。
  • ARP代理:代理ARP就是将一个主机作为对另一个主机ARP进行应答。它能使得在不影响路由表的情况下添加一个新的Router,使得子网对该主机来说变得更透明化。
  • ARP的本质是查找下一跳地址,而不是请求目标地址

IP协议

  • 唯一标识,互联网通用。

NAT

  • 家里路由器本质上使用NAT改变源地址(内部地址),使用全局唯一的外网地址联网。

网络交互之网络运输

数据包

封装数据为数据包,然后发送到目标的各层进行解析。

请求DNS

  • 递归迭代:客户端发送递归请求,递归解析器迭代请求其他域名服务器
  • DNS基于相对简单的传输协议UDP

TCP三次握手

TCPdump(抓包) + Wireshark(抓包分析)

TCP传输

  • TimeWait:经常会影响效率
  • 滑动窗口- 流量控制 + 拥塞控制

HTTP/HTTP1.1

HTTP依然是TCP,只是针对特定的场景做了优化,让用户更清晰/简洁。(TCP/HTTP类似中文/军事专用语)

HTTPS

HTTPS解密出来依然是HTTP,加密的基础是SSL/TLS握手

SSL/TLS握手

非对称加密/对称加密

网络架构如何给抖音提质之网络提速

HTTP2.0

多路复用:多图并发下载

多路复用

多个stream + 单个TCP链接传输

网络提速的优化之路

QUIC/HTTP3.0

弱网优势:解决对等阻塞的问题

数据中心分布

同运营商访问(访问和手机运营商一致的机房)

静态资源(图片视频)路径优化(CDN)

查找缓存

动态API(播放/评论接口)路径优化(DSA)

通过网络延时探测制作表,按照距离优化路径算法,寻找最优路径。

网络稳定

容灾概念

  1. 故障发生
  2. 故障感知
  3. 自动切换
  4. 服务恢复

故障排查

故障明确

沟通是前提:

  • 什么业务?什么接口故障?
  • 故障体现在哪里?
  • 访问其他目标是否正常?
  • 是否是修改导致的异常?

故障止损

  • 先止损再排查
  • 组件没有容灾,系统有无容灾?
  • 降级

分段排查

  1. 客户端
  2. 服务端
  3. 中间链路

网络故障排查常用命令

  • dog查询DNS问题
  • ping/telnet/nmap查询三层/四层连通性
  • Traceroute排查中间链路
  • iptabels
  • tcpdump

故障预防很重要

  • 监控报警
  • 故障演练/预案
  • 故障降级/止损

总结

高质量刷抖音 = 路径提速 + 数据中心提速 + HTTP2.0提速 + QUIC提速 + 故障排查 + 网络容灾