这是我参加「第三届青训营 -后端场」笔记创造活动的的第6篇笔记

刷抖音网络是怎样交互的

  • 网络接入
  • 网络传输

网络接入-互联网

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

网络接入-路由

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

  • 路由纷歧定是对称的

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

  • 路由是改Mac,找到发包口

网络接入-ARP协议

  • 逻辑同网段才能发送ARP
  • ARP恳求播送,ARP应对单播
  • 免费ARP? ARP代理?

ARP本质上是查找下一跳的MAC,不是恳求目标地址!

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

网络接入-IP协议

唯—标识,互联网通用。抖音客户端一个,抖音服务端一个。

网络接入-NAT

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

网络传输-数据包

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

网络传输-数据包发送

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

网络传输-先恳求DNS

  • 客户端发 www.douyin.com 的解析恳求
  • 递归解析器去问”.” , com去哪里解析
  • 递归解析器去问”com.” , douyin.com去哪里解析
  • douyin.com告诉递归解析器www.douyin.com解析到xxx

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

网络传输-DNS的传输协议UDP

  • UDP自身相对简单

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

总结:想发什么包,就分配一个UDP的头,把payload里面塞数据发出去就好!

网络传输-TCP 三次握手

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

网络传输-TCP传输

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

  • sequence number:表明的是我方(发送方)这边,这个packet的数据部分的第一位应该在整个data stream中地点的位置。
  • acknowledge number:表明的是希望的对方(接收方)的下一次sequence number是多少。注意,SYN/FIN的传输尽管没有data,可是会让下一次传输的packet seq增加一,可是,ACK的传输,不会让下一次的传输packet加—。

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

网络传输-HTTP/HTTP1.1

HTTP1.1有哪些优化

  • 长连接
  • 部分传输
  • HOST
  • 缓存

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

其实HTTP仅仅多加了一层规则。HTTP依然是TCP,仅仅这个规则让用户更明晰/更简洁。

网络传输-HTTPS

HTTPS解密出来仍然是HTTP

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

网络传输-SSL/TLS握手

对称加密与非对称加密

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

保证没有劫持,也保证私钥不泄密

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

网络架构怎样给抖音提质

  • 网络提速
  • 网络安稳

网络提速-HTTP2.0

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

网络提速-多路复用/stream

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

网络提速-QUIC/HTTP3.0

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

网络提速-数据中心分布

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

网络提速-同运营商拜访

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

网络提速-静态资源(图片视频)路径优化(CDN)

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

网络提速-动态API(播映/评论接口)路径优化(DSA)

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

网络安稳-容灾概念

  • 毛病产生
  • 毛病感知
  • 主动切换
  • 服务康复

网络容灾

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

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

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

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

网络安稳-毛病排查

  • 毛病清晰
  • 毛病止损
  • 分段排查

毛病清晰

  • 呈现什么毛病?->沟通是前提
    • 什么业务?什么接口毛病?
    • 毛病体现在哪里?
    • 拜访其他目标是否正常?
    • 是否是修正导致的反常?

毛病止损

  • 先止损再排查

    • 用户体验第一
    • 对公司收入的影响是按照分钟乃至秒来核算
  • 如何止损

    • 组件没有容灾,可是体系有没有?
    • 降级

分段排查

  • 客户端排查
    • 客户端拜访其他服务没问题吗?
    • 其他客户端拜访目标服务没问题吗?
  • 服务端排查
    • 服务端监控/指标都正常吗?
    • 手动拜访一下正常吗?
    • 分组件排查
  • 中心链路排查
    • 服务端跟客户端保证都没问题
    • 中心网络设备有没有问题?(交换机/路由器/网关LB)
    • 旁路的DNS有没有问题?

网络安稳-网络毛病排查常用命令

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

网络毛病

客户端反常->服务端自测正常->网关转发反常->健康检查反常

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

个别用户报毛病,出产环境大多是客户端的问题

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

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

某APP毛病->后端服务器反馈服务正常->网络转发设备反常->抓包->路由不对称

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

网络安稳-毛病防备很重要

  • 监控报警
  • 毛病演练/预案
  • 毛病降级/止损