网络协议 - 程序员指南

主要观点:网络栈能在不可靠网络上实现可靠传输等看似不可能的事情,包含网络路由、数据包交换、乱序数据包、传输窗口与慢启动、可靠传输、物理网络等方面。
关键信息

  • 网络通过路由器接力传输数据,IPv4 地址空间有限,IPv6 adoption 低,路由需快速且维持路由表。
  • 数据大时拆分成小数据包传输,TCP 利用序列号和 ACK 进行数据包重组和重传。
  • 传输窗口在 TCP 慢启动中从小到大,根据网络拥塞情况调整。
  • 计算机不可靠,网络易失败,TCP 通过 ACK 复用指示丢包并快速重传。
  • 物理网络中以太网常见,其协议有特定的帧结构等。
  • 数字系统皆为模拟,以太网采用 8b/10b 编码平衡电压。
  • 互联网协议是分层的,各层独立又相互影响,如以太网参数影响上层协议。
    重要细节
  • 路由器间通过路由表接力传输数据,每台路由器连接多个其他路由器。
  • 视频传输时数据包可能乱序或丢失,TCP 利用序列号和 ACK 处理。
  • 连接开始时 TCP 窗口小,成功传输后会增大,丢包时窗口减小。
  • 以太网帧结构包含前导码、起始帧定界符、帧本身及间隙等。
  • 8b/10b 编码用于平衡 0 和 1 的发送,避免因数据偏置导致信号问题。
  • 各层协议相互依存,下层协议参数影响上层协议设计,如以太网参数影响 HTTP/2 压缩。
阅读 7
0 条评论