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

123 阅读4分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的第2篇笔记

网络接入-互联网

1653643613(1).png

网络接入-路由

  • 同网段
    • 在网段通信时,数据包中的地址就是源IP,目标IP,源MAC,目标MAC
    • 同网段不一定接入了一个同物理逻辑交换机,有可能接入了软件定义网络的虚拟同网段
  • SDN(软件定义网络) 其核心技术OpenFlow通过将网络设备的控制面与数据面分离开来,从而实现了网络流量的灵活控制,使网络作为管道变得更加智能,为核心网络及应用的创新提供了良好的平台。

image.png

  • 跨网段
    • 在局域网内部,首先将目标MAC设置为网关MAC,当网关MAC收到后,将目标MAC地址改成下一跳的MAC地址,不断跳跃,直到达到目标ip。
    • ARP协议
      • 同网段才能发送ARP,广播不能跨网段
      • 主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址
      • 请求时是广播,应答时是单播
      • 免费ARP
        • Gratuitous ARP,也称为“无故ARP”,在没有人问自己的情况下,无缘无故自问自答
        • 免费ARP本质上是ARP报文
        • 免费ARP数据链路层destinationMAC为广播地址
        • 免费ARP的senderIP和targetIP一致,都是自己的IP地址
        • 免费ARP响应也是可能有回复的
        • ARP Probe可以看成免费ARP,虽然senderIP全0
      • ARP代理
        • 出现跨网段的ARP请求时,路由器将自己的MAC返回给发送ARP广播请求发送者,实现MAC地址代理(善意的欺骗),最终使得主机能够通信。
  • 路由一定是对称的吗?

1653653245(1).png

路由不一定是对称的,在网络中有多条路径可以选择

  • 路由工作在哪一层协议?
    • 网络层
  • 路由是改的IP地址吗?
    • 不是,是改mac地址,源IP地址和⽬标IP地址在传输过程中是不会变化的,只有源MAC和⽬标 MAC ⼀直在变化。 动态路由BGP/OSPF

IP协议

唯一标识,互联网通用。

  • Mac地址为什么不能代替IP地址?
    • 向下兼容的问题,通过ip地址统一了二层协议
    • IP 地址是和地域相关,可以简化路由过程
  • IP地址为什么不能代替MAC地址
    • 因为 IP 地址是要设备上线以后,才能根据他进入了哪个子网来分配的,在设备还没有 IP 地址的时候(或者分配 IP 地址的过程中),我们还需要用 MAC 地址来区分不同的设备。
  • ipv4不够用,一般怎么解决?
    • NAT
      • 多个内网客户端访问一个目标地址+端口,源端口恰好冲突了?
      • ip+端口一起修改

DNS

  • 递归解析\

1653658628(1).png

  1. 客户端发送www.douyin.com的解析请求
  2. 递归解析器去问“.”,com.去哪解析
  3. 递归解析器去问“com.”,douyin.com在哪 4. douyin.com告诉递归解,www.douyin.com解析到xxx
  • 传输协议
    • UDP协议

TCP协议

  • 拔掉网线,连接会断吗
    • 当在发送数据过程中拔掉网线,长时间未得到回应,会引发超时重传,当重传到一定次数后,连接就会中断。当不发送数据时,如果不触发keepalive retry timeout,连接一直存在。
  • 三次握手
    • 经典八股
  • TCP传输
    • 经典八股
  • TIME_WAIT有啥用
    当客户端收到服务器端的结束报文后,并没有直接进入CLOSED状态,而是进入TIME_WAIT状态。客户端连接要等待2MSL(Maximum Segment Life, 报文段最大生存时间)的时间,才能完全关闭,MSLTCP报文段在网络中的最大生存时间,标准文档RFC 1122的建议值是2min。
    • 可靠的终止TCP连接
    • 保证让迟来的TCP报文段有足够的时间被识别并丢弃
  • 丢包怎么办?
    • 重传,经典八股
  • 滑动窗口?
  • 流量控制?

HTTP/HTTP1.1

  • 为什么不直接用TCP通信?
    HTTP依然时TCP,只是做了一层封装,使网络模型分层,有利于开发和实际使用。
  • HTTP1.1做了哪些优化?
    • 长连接
    • 部分传输
    • HOST
    • 缓存

HTTPS

  • 对称加密和非对称加密
    对称加密和解密过程使用同一个密钥;
    非对称加密中加密和解密采用公钥和私钥两个密钥,一般使用公钥进行加密,使用私钥进行解密。
  • 密钥的合法性认真 image.png
    通过第三方CA实现认证,实现非对称加密
  • SSL/TLS握手

image.png