主要观点:网络栈能在不可靠网络上实现可靠传输等看似不可能的事情,包含网络路由、数据包交换、乱序数据包、传输窗口与慢启动、可靠传输、物理网络等方面。
关键信息:
- 网络通过路由器接力传输数据,IPv4 地址空间有限,IPv6 adoption 低,路由需快速且维持路由表。
- 数据大时拆分成小数据包传输,TCP 利用序列号和 ACK 进行数据包重组和重传。
- 传输窗口在 TCP 慢启动中从小到大,根据网络拥塞情况调整。
- 计算机不可靠,网络易失败,TCP 通过 ACK 复用指示丢包并快速重传。
- 物理网络中以太网常见,其协议有特定的帧结构等。
- 数字系统皆为模拟,以太网采用 8b/10b 编码平衡电压。
- 互联网协议是分层的,各层独立又相互影响,如以太网参数影响上层协议。
重要细节: - 路由器间通过路由表接力传输数据,每台路由器连接多个其他路由器。
- 视频传输时数据包可能乱序或丢失,TCP 利用序列号和 ACK 处理。
- 连接开始时 TCP 窗口小,成功传输后会增大,丢包时窗口减小。
- 以太网帧结构包含前导码、起始帧定界符、帧本身及间隙等。
- 8b/10b 编码用于平衡 0 和 1 的发送,避免因数据偏置导致信号问题。
- 各层协议相互依存,下层协议参数影响上层协议设计,如以太网参数影响 HTTP/2 压缩。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。