《计算机网络:自顶向下方法》是学习网络知识的经典教材,其独特的“自顶向下”视角——从我们日常接触的应用层开始,逐步深入到网络底层——为我们理解这个复杂系统提供了清晰的路径。第一章“计算机网络和因特网”作为全书的基石,构建了我们对整个领域的基本认知框架。
一、什么是因特网?两个视角
本章首先引导我们从两个互补的角度来审视因特网:
- 具体构成视角(硬件与软件):因特网是一个由数以亿计的计算设备(如传统PC、服务器、智能手机、传感器等)、通信链路(如光纤、铜线、无线电频谱)和分组交换机(如路由器和链路层交换机)互联而成的全球性网络。这些设备运行协议(如TCP/IP)来控制信息的发送与接收。因特网服务提供商(ISP),如电信运营商,提供了将终端系统接入因特网的“最后一公里”以及骨干网络互联服务。
- 服务视角:因特网是一个为分布式应用程序提供通信服务的基础设施。它为应用程序提供了编程接口(API),使得应用程序无需关心底层硬件的复杂细节,就能将数据交付给世界另一端的另一个程序。这种“细腰”结构(应用繁多,底层物理网络多样,中间仅靠IP协议维系)是因特网成功和具有极强包容性的关键。
二、网络边缘、核心与接入网
作者将网络结构划分为边缘与核心,便于理解。
- 网络边缘:指所有连接到因特网的端系统(主机)。端系统上运行着网络应用程序,是网络内容的产生者和消费者。本章介绍了客户-服务器和对等(P2P) 这两种主流的应用程序体系结构。
- 接入网:指将端系统连接到其边缘路由器的物理链路。这部分技术多样,包括家庭常用的数字用户线(DSL)、电缆、光纤到户(FTTH),以及机构使用的以太网和Wi-Fi等无线接入技术。
- 网络核心:即由互联的路由器构成的网状网络,负责将数据从源主机穿越多个网络传送到目的主机。这里引出了网络核心的两种基本数据交换方式:
- 分组交换:当今因特网的基石。发送端将报文(message)分割成较小的数据包(分组,packet),每个分组通过通信链路和分组交换机(路由器、交换机)独立传输。这涉及到存储转发传输、排队时延和丢包以及转发表和路由选择协议等核心概念。分组交换允许更好地共享带宽,但会引入时延。
- 电路交换:传统电话网络的典范。在通信双方之间预先建立一条专用的端到端连接(电路),并在通信期间独占其资源。虽然能保证性能,但资源利用率较低。
三、协议、时延与吞吐量
- 协议:网络世界的规则。协议定义了网络实体之间交换报文的格式、顺序以及发送/接收报文所采取的动作。TCP/IP协议族是因特网的核心。
- 时延:分组在从源到目的地的路径上会经历几种主要的时延:
- 节点处理时延:检查分组首部、决定导向所需时间。
- 排队时延:分组在输出链路上等待传输的时间,取决于流量强度。
- 传输时延:将分组所有比特“推”到链路上所需的时间(L/R,分组长度/链路带宽)。
* 传播时延:比特在物理链路上传播所需的时间(距离/传播速度)。
理解这些时延对于分析和设计高性能应用至关重要。
- 吞吐量:指在单位时间内从发送方到接收方成功传送的数据量。端到端的吞吐量往往受限于路径上最慢链路的速率,即瓶颈链路。
四、协议分层与服务模型
为了降低网络设计的复杂性,采用分层的体系结构。每一层通过执行本层的动作,并通过层间接口向上一层提供服务。本书采用五层因特网协议栈:
- 应用层(HTTP, SMTP, DNS):支持网络应用程序。
- 运输层(TCP, UDP):在应用程序端点之间传送应用层报文。
- 网络层(IP):将数据报从一台主机移动到另一台主机。
- 链路层:在相邻网络元素之间传送数据。
- 物理层:将帧中的比特从一个节点移动到下一个节点。
分层模型封装了复杂性,是理解网络如何协同工作的强大工具。
小结
第一章为我们描绘了因特网的宏大蓝图:它既是一个由具体硬件和协议构成的物理网络,也是一个向应用程序提供通信服务的平台。理解了网络边缘、核心与接入网的划分,掌握了分组交换、时延、吞吐量以及协议分层这些核心概念,就为我们后续自顶向下地探索每一层的奥秘,奠定了坚实而清晰的基础。