【字节青训营-后端专场】打开抖音互联网会发生什么

刷抖音网络是怎么交互的

交换机

路由

  • 路由一定是堆成的吗? 不是
  • 路由工作在哪一层协议? IP层
  • 路由是改IP地址吗? 不是 改MAC地址,每次更改源MAC和目的MAC,找到发包口,目标IP地址始终不变
  • 怎么找下一跳的MAC? ARP协议,逻辑同网段才能发送ARP,ARP请求广播->ARP应答单播

IP协议

唯一标识,互联网通用

  • MAC地址不能替代IP地址。
  • IPv4不够用,一般怎么解决?IPv6;NAT

先请求DNS

  1. 客户端发 www.douyin.com 解析请求
  2. 递归解析器问'.',com.去哪里解析
  3. 递归解析器问'com.',douyin.com去哪里解析
  4. douyin.com告诉递归解析器 www.douyin.com 解析到xxx

DNS的传输协议UDP

想发什么包,分配一个UDP的头,把payload里面塞数据发出去就行
如何保证协议可靠?

TCP三次握手

什么是TCP连接?

  • 拔了网线,连接会断吗? 不会,TCP保护会使其断开:探活(心跳包)
    sequence number:表示的是我方(发送方)这边,这个packet的数据部分的第一位应该在整个data stream中的位置
    acknowledge number:表示的是期望的对方(接收方)的下一次sequence number是多少。
    注意,SYN/FIN的传输虽然设有data,但是会让下一次传输的packet seq增加1,但是ACK的传输,不会让下一次的传输packet增加1。

TCP传输

  • Timewait 保证连接正常关闭,防止前一次ACK丢失......
  • 丢包怎么办? ACK机制重发包
  • 滑动窗口
  • 流量控制

HTTP/HTTP1.1

为什么不直接用TCP通信?
HTTP只是多加了一层规矩,依然是TCP,这个规矩让用户更清晰、简洁。
HTTP1.1的优化:长连接;部分传输;HOST;缓存。

HTTPS

HTTPS解密出来依然是HTTP,防止中间窃听。
先非对称加密交换密钥,再对称加密交换信息。

刷抖音为什么又快又稳

posted @ 2022-07-15 16:37  Frozen_Heart  阅读(48)  评论(0编辑  收藏  举报