Chapter 1: Introduction¶
Internet 的两种视角¶
“螺栓与螺母”视角¶
Internet 是由大量连接起来的计算设备组成的网络:
- 主机(hosts)或端系统(end systems):运行网络应用的设备;
- 通信链路:包括光纤、铜缆、无线电和卫星链路;
- 分组交换机:路由器和交换机负责转发数据分组。
Internet 标准通常以 RFC(Request for Comments)的形式发布,主要由 IETF(Internet Engineering Task Force)制定。
服务视角¶
Internet 是为应用提供通信服务的基础设施,支持 Web、VoIP、邮件、游戏、电商和社交网络等应用。应用程序通过 Internet API 使用网络服务,发送方需要遵循 API 规定的规则,网络才能把数据交付给目标端系统上的目标程序。
协议¶
协议规定网络实体之间消息的格式、顺序,以及消息发送和接收时采取的动作。网络中的通信活动都受协议约束,例如建立 TCP 连接、发送请求和接收响应。
网络边缘¶
网络边缘包括端系统、接入网络和物理链路。端系统通常分为客户端与服务器,服务器往往部署在数据中心。接入网络需要关注两个问题:带宽是多少,以及带宽由单个用户独享还是由多个用户共享。
常见接入网络¶
- DSL:利用已有电话线,通过频分复用承载语音和数据。DSLAM 将多个家庭的模拟信号转换为数字格式;
- 家庭网络:通过路由器连接有线和无线设备,并连接到 ISP 或中心局;
- Ethernet:企业、大学和家庭网络中常见的接入技术,端系统通常连接到 Ethernet switch;
- 无线接入:无线 LAN 通过 access point 连接端系统,蜂窝网络则由运营商提供广域接入。
物理媒体¶
- 双绞线:成本低、应用广泛,Cat 5 和 Cat 6 支持不同速率的 Ethernet;
- 同轴电缆:两个同心铜导体,可支持双向和多频道传输;
- 光纤:用光脉冲传输比特,速率高、误码率低,并且不易受电磁噪声影响;
- 无线电:无需物理导线,但会受到反射、障碍物和干扰影响。
网络核心¶
网络核心由互联的路由器组成。数据在网络中移动主要有两种方式:分组交换和电路交换。
电路交换¶
电路交换在通信双方之间预留端到端资源。链路资源可以通过 FDM(频分复用)或 TDM(时分复用)划分。预留的电路在未使用时仍可能处于空闲状态,传统电话网络是典型应用。
分组交换¶
主机把应用层消息拆成长度为 \(L\) bit 的分组。分组沿源到目的地的路径逐跳转发,每个分组以链路的全部传输速率发送。
分组的传输时延为
其中 \(R\) 是链路传输速率。采用 store-and-forward 时,路由器必须接收完整分组后,才能把它发送到下一条链路。
分组交换能共享资源,适合突发数据,且不需要呼叫建立。但当到达速率暂时超过输出链路速率时,分组会在缓冲区排队;缓冲区耗尽后会发生分组丢失,因此需要可靠传输和拥塞控制机制。
转发与路由¶
- 转发(forwarding):把到达路由器输入端口的分组移动到合适的输出端口;
- 路由(routing):决定分组从源到目的地经过的路径,依赖路由算法。
Internet 的网络之网结构¶
端系统通过接入 ISP 连接 Internet。接入 ISP 需要互联,使任意两个端系统都能交换分组。现实结构包括全球 transit ISP、regional ISP、tier-1 commercial ISP,以及 Google 等内容提供商运营的私有网络。让每个接入 ISP 与其他所有接入 ISP 直接互联需要 \(O(N^2)\) 条连接,因此这种方案无法扩展。
时延、丢包与吞吐量¶
路由器中的分组可能因为输出链路繁忙而排队。节点时延由四部分组成:
- 处理时延 \(d_{proc}\):检查比特错误并确定输出链路;
- 排队时延 \(d_{queue}\):分组在输出链路前等待的时间,取决于拥塞程度;
- 传输时延 \(d_{trans}=L/R\):把 \(L\) bit 推入链路所需的时间;
- 传播时延 \(d_{prop}=d/s\):信号在长度为 \(d\) 的物理链路中传播所需的时间,\(s\) 是介质中的传播速度。
用平均分组到达率 \(a\)、分组长度 \(L\) 和链路速率 \(R\) 表示流量强度:
当该值接近 \(0\) 时,平均排队时延通常较小;接近 \(1\) 时,排队时延显著增加;大于 \(1\) 时,长期到达的工作量超过链路处理能力,平均排队时延趋于无穷大。
小结¶
本章建立了后续章节使用的网络术语和基本模型:端系统通过接入网络连接到由路由器组成的网络核心,协议规定通信行为,分组交换通过共享链路传输数据,而时延和丢包主要与处理、排队、传输和传播过程有关。