01

计算机网络和因特网

什么是因特网?什么是协议?

阅读量:2 · 预计 8 分钟读完

因特网组成协议层次网络边缘网络核心分组交换电路交换
阅读进度9%

第1章:计算机网络和因特网(Computer Networks and the Internet)

一、导读

1.1 本章学习目标

第1章是整本《计算机网络:自顶向下方法》的开篇之作,它回答了两个最基本的问题:什么是因特网?和什么是协议?。通过本章的学习,你将建立起计算机网络的全局视图,理解网络协议栈的分层模型,以及分组交换与电路交换的本质差异。

本章的核心学习目标包括:

  • 理解因特网的两种视角:作为组成部分(硬件+软件)和作为服务(基础设施)
  • 掌握协议层次模型:应用层→传输层→网络层→链路层→物理层
  • 理解网络边缘与网络核心的区别:主机运行应用程序,路由器转发分组
  • 掌握分组交换与电路交换的对比:统计复用 vs 预留资源
  • 了解 ISP 的层次结构:Tier-1、Tier-2、接入ISP 的关系
  • 理解性能指标:带宽、时延、丢包率、吞吐量

1.2 为什么第一章如此重要

很多初学者觉得第一章"太泛",急于跳到具体的协议细节。这种想法是错误的。正如建筑设计师需要理解整栋建筑的结构蓝图,网络工程师也需要理解网络的完整图景。没有全局观,后续学习就容易陷入"只见树木,不见森林"的困境。

Kurose 和 Ross 反复强调一个观点:网络是一个分层的协议栈,每一层都为上层提供服务。第一章正是这种视角的集中体现——它用一个简单的 Web 请求串联起了 HTTP、TCP、IP、以太网等几乎所有核心协议。

1.3 核心问题引导

在阅读本章时,请带着以下问题思考:

当你在浏览器输入 URL 并按下回车时,到底发生了什么?

一个 HTTP 请求是如何从你的电脑到达 Google 服务器的?

为什么分组交换比电路交换更适合互联网?

路由器在网络中扮演什么角色?

ISP 之间是如何互联的?

带宽和时延有什么区别?为什么两者都重要?


二、核心概念详解

2.1 什么是因特网

因特网可以从两个角度来描述:

2.1.1 组成视角(硬件+软件)

从组成部分来看,因特网是一个全球性的计算机网络,由以下要素组成:

  • 网络边缘:连接在因特网上的所有主机(end systems/hosts),包括PC、服务器、智能手机、IoT设备等
  • 网络核心:由路由器(router)和链路(link)组成的网状结构,负责将分组从源转发到目的
  • 接入网络:将主机连接到网络核心的物理介质,包括WiFi、光纤、蜂窝网络等
[主机]          [主机]
           \            /
        [路由器]----[路由器]
           |            |
        [路由器]----[路由器]
           /            \
        [主机]          [主机]

2.1.2 服务视角(基础设施)

从服务角度来看,因特网是一个为分布式应用提供通信服务的基础设施。它向上层应用提供两种服务:

  • 可靠传输服务:基于 TCP,保证数据无差错、按序、不丢失、不重复地送达
  • 尽最大努力传输服务:基于 UDP,不保证任何服务质量,但延迟更低

2.2 协议层次模型

协议(protocol)定义了通信实体之间消息的格式和规则。因特网采用五层协议栈:

层次功能核心协议数据单元
应用层支持网络应用HTTP, SMTP, DNS, FTP报文(Message)
传输层端到端数据传输TCP, UDP报文段(Segment)
网络层路由和寻址IP, OSPF, BGP数据报(Datagram)
链路层相邻节点传输以太网, WiFi, PPP帧(Frame)
物理层比特传输光纤, 铜缆, 无线电波比特(Bit)

每一层都向上一层提供"服务",同时利用下一层提供的服务。这种分层设计使得每一层可以独立演进,而不影响其他层。

2.3 分组交换 vs 电路交换

2.3.1 电路交换(Circuit Switching)

电路交换在通信前需要预留端到端的资源(带宽、时隙),类似于传统电话网络:

  • 优点:保证带宽,延迟可预测
  • 缺点:资源利用率低,建立连接慢
A ──── 预留 ──── B
│    (独占链路)    │
└── 资源被浪费 ──┘

2.3.2 分组交换(Packet Switching)

分组交换将数据分成小块(分组),每个分组独立传输,共享链路资源:

  • 优点:统计复用,资源利用率高
  • 缺点:可能产生拥塞和丢包,延迟不确定
A → [分组1] → [分组2] → [分组3] → B
      ↓         ↓         ↓
   路由器1    路由器2    路由器3

因特网采用分组交换,这是它成功的关键设计决策之一。

2.4 网络中的时延、丢包和吞吐量

分组在网络中经历四种时延:

节点处理时延(d_proc):检查比特、决定输出链路

排队时延(d_queue):等待输出链路空闲

传输时延(d_trans):将分组推送到链路上,= L/R(L=分组长度,R=链路带宽)

传播时延(d_prop):比特在链路上传播,= d/s(d=链路长度,s=传播速度)

总时延 = d_proc + d_queue + d_trans + d_prop

总时延 = d_proc + d_queue + d_trans + d_prop
              ↓          ↓          ↓          ↓
           微秒级      可变       毫秒级      毫秒级

三、重要知识点

3.1 ISP 的层次结构

因特网不是由单一组织运营的,而是由多个 ISP(Internet Service Provider)互联而成:

  • Tier-1 ISP:全球性骨干网(AT&T, Sprint, Level3),彼此对等互联
  • Tier-2 ISP:区域性网络,连接到 Tier-1 并为其提供接入
  • Tier-3 ISP / 接入 ISP:直接连接终端用户(如家庭宽带、校园网)

IXP(Internet Exchange Point)是 ISP 之间交换流量的物理位置。

3.2 协议分层的设计哲学

协议分层的核心思想是模块化:

  • 每一层只关心自己的功能,不关心其他层的实现
  • 层与层之间通过明确定义的接口交互
  • 任何一层的变化不影响其他层

这种设计使得因特网能够持续演进。例如,从 IPv4 到 IPv6 的过渡可以在网络层独立完成,而不需要修改应用层协议。

3.3 网络安全威胁

因特网面临多种安全威胁:

  • 恶意软件:病毒、蠕虫、木马
  • DoS/DDoS 攻击:洪水攻击、放大攻击
  • 分组嗅探:在共享介质上截获数据
  • IP 欺骗:伪造源地址发送分组

四、常见误区与难点

4.1 误区一:"因特网就是万维网"

因特网(Internet)是基础设施,万维网(WWW)是运行在因特网上的一个应用。因特网还支持电子邮件、文件传输、即时通讯等多种应用。

4.2 误区二:"带宽越大,速度越快"

带宽(bandwidth)是链路的最大传输速率(bps),但实际传输速度还受时延、丢包、拥塞等因素影响。高带宽低时延的链路才是真正"快"的链路。

4.3 难点:理解排队时延

排队时延是四种时延中最不可预测的,它取决于到达流量和链路容量的比值。当流量接近链路容量时,排队时延会急剧增加,这就是拥塞的本质。


五、实践应用

5.1 使用 traceroute 观察路由路径

bash
# Linux/Mac
traceroute www.google.com

# Windows
tracert www.google.com

traceroute 会显示分组从源到目的经过的所有路由器,以及每一跳的时延。

5.2 使用 ping 测量时延

bash
ping -c 10 www.google.com

ping 测量的是往返时延(RTT),包括传输时延、传播时延和处理时延。

5.3 使用 Wireshark 抓包分析

Wireshark 是最常用的网络抓包工具,可以观察网络中传输的所有分组。

bash
# 安装 Wireshark(Ubuntu)
sudo apt install wireshark

# 启动 Wireshark
sudo wireshark

六、本章小结

第1章建立了计算机网络的全局视图:

因特网是一个由主机、路由器和链路组成的全球性网络

协议栈分为五层:应用层、传输层、网络层、链路层、物理层

分组交换是因特网的核心设计,通过统计复用提高资源利用率

时延和丢包是网络性能的关键指标,受排队和拥塞影响

ISP 层次结构使得全球数十亿设备能够互联互通

后续章节将自顶向下逐层深入:第2章讲解应用层协议,第3章讲解传输层的 TCP/UDP,第4章讲解网络层的 IP 和路由,第5章讲解链路层的以太网和 WiFi。