跳转至

第1章 网络基础

本章回答三个最先出现的问题:网络为什么要分层,数据为什么要切成分组,网络“快不快”究竟由什么决定。

早期计算机通信常为单一业务定制。随着主机、操作系统和链路类型增多,任何一方都不可能理解所有硬件细节。分层把复杂系统切成稳定接口;分组交换则让大量突发业务可以统计复用同一组链路。互联网的可扩展性,很大程度上来自这两个选择。

本章地图

一条贯穿全章的因果链是:

应用产生报文
  -> 各层添加控制信息
  -> 链路按分组共享
  -> 中间设备逐跳处理
  -> 对端逐层解封装

学习目标

完成本章后,应能做到:

  1. 用 TCP/IP 模型解释一次 Web 请求经过哪些层。
  2. 区分协议提供的服务与协议内部的实现机制。
  3. 根据链路速率和分组大小计算发送时延。
  4. 解释为什么带宽很高时页面仍可能打开缓慢。
  5. 解释分组丢失不一定意味着物理链路损坏。

与后续章节的联系

应用层关心“消息是什么意思”,传输层关心“进程之间如何交付”,网络层关心“跨网络下一跳是谁”,链路层关心“这一跳如何发送帧”。安全机制并不是单独覆盖在最外面,而是可能出现在多个层次。后面每遇到一个新协议,都可以回到本章检查它处于哪一层、添加了什么控制信息、承担了哪部分性能代价。

开始前的自测

如果一条链路带宽从 100 Mb/s 升到 1 Gb/s,而往返时延没有变化,小网页的首次打开时间会缩短十倍吗?答案通常是否定的:小对象的发送时延本来就短,DNS、握手、传播、服务器处理和排队可能才是主导项。