目录
1.1 计算机网络在信息时代中的作用
信息时代与网络的重要性
21 世纪的重要特征:数字化、网络化、信息化。
实现信息化必须依靠网络,网络是信息社会的命脉,是发展知识经济的重要基础。
网络对社会生活和经济发展影响深远。
三大类传统网络
电信网络:提供电话、电报、传真等。
有线电视网络:传送电视节目。
计算机网络:在计算机之间传送数据文件。
三者在信息化中都很重要,但发展最快、处于核心地位的是计算机网络。
互联网的基本特征
1. 连通性
全球范围内快速、低成本甚至免费的信息交换。
与传统电信网相比:费用更低,但虚拟性更强(难确认对方真实身份和位置)
2. 共享性
信息、软件、硬件资源共享。
大量服务器存储资源,用户可方便访问、下载。
1.2 互联网概述
1.2.1 网络的网络
基本概念
网络(Network):由若干节点(计算机、集线器、交换机、路由器等)与链路组成的通信系统。
互连网(internet,小写 i):多个网络通过路由器连接而成的更大网络,协议不限于 TCP/IP。
互联网(Internet,大写 I):当今全球最大的特定互连网,采用 TCP/IP 协议族,前身为 ARPANET。
TCP/IP 是互联网的沟通底层规则,不管是手机刷网页、电脑传文件,还是微信发消息,设备之间能传数据,靠的就是这套统一规则;没有它,不同系统的设备连了网也没法沟通。
TCP(传输控制协议):负责把数据打包好、确保不丢不错,比如传一张照片,它会把照片拆成小数据包,发过去后再拼回来,还会检查有没有漏包、错包,漏了就重发,保证数据完整。
IP(网际协议):负责给数据指路、找到目的地,就像快递的地址,它会给每个数据包贴个IP 地址,指挥数据包在复杂的互联网里绕开障碍,准确传到对方设备。
图 1-1(a):多台计算机经链路接到集线器,构成一个小网络
图 1-1(b):多个云代表多个网络,通过路由器相互连接,形成互连网
集线器工作方式:不管哪台设备发数据,它都会把数据原封不动地传给所有连在它身上的设备,类似于广播
云的画法(云代表网络):
有时云内含主机,强调这是一个网络
有时主机画在云外(图 1-2),便于强调主机经互连网通信
主机(Host):连接到网络的端系统(PC、服务器、智能手机、智能电视等)
路由器(Router):特殊的计算设备,负责转发分组,但不称为主机
网络把许多计算机连接在一起,而互连网则把许多网络通过一些路由器连接在一起。
与网络相连的计算机常称为主机。
1.2.2 互联网基础结构发展的三个阶段
阶段一:从单网到互连网(ARPANET → TCP/IP)
1969:ARPANET 诞生(分组交换单个网络)
70 年代中期:研究多种网络互联(含分组无线、电缆等),互连网雏形出现。
1983:TCP/IP 成为 ARPANET 标准协议,可在互连网内互通,惯将 1983 视为 Internet 诞生。1990:ARPANET 退役,完成历史使命。
区分:internet(通用名)≠ Internet(专有名)。只要“把网络互联”就是 internet;采用 TCP/IP 并形成全球开放体系的特定网络才称 Internet。
阶段二:三级结构互联网(主干网—地区网—校园/企业网)
1985 起:NSF 组织建设 NSFNET,形成主干网 / 地区网 / 校园(企业)网的三级结构,覆盖全美学研机构。
1991–1993:商业接入激增;主干网逐步移交私营运营,对接入单位开始收费;主干网速率提升至 T3(45 Mbit/s)
为什么三层?
让任意两端用户可达又控制成本:
校园/企业网负责末端接入
地区网完成区域范围互通
主干网实现跨区域互联
阶段三:多层次 ISP 结构 + IXP(商业互联网)
概念:ISP(Internet Service Provider,互联网服务提供者)
ISP运作流程:向管理机构申请 IP 地址块,自建或租赁通信线路,部署路由器/交换机,向机构/个人出售接入服务(“上网” = 通过 ISP 获得 IP 并接入 Internet)
分层:
主干 ISP:覆盖国家/洲际范围,拥有高速主干网(≥10 Gbit/s),数量不多。
地区 ISP:规模较小,通过一个或多个主干 ISP 互联。
本地 ISP:直接服务端用户(个人/企业/校园)
图 1-3:三层 ISP 概念图。举例:
主机 A → 本地 ISP → 地区 ISP → 主干 ISP → 地区 ISP → 本地 ISP → 主机 B
IXP(Internet eXchange Point,互联网交换点)
作用:让两个网络直接对等交换流量,不再绕行第三方网络,更低时延、更低费用、更均衡的流量分布。
内容提供者(CP/CDN)
不提供“接入”,而是提供内容/视频;为效率自建专用内容分发网络,与 各级 ISP/IXP 直连,承载海量视频流量(当今互联网主流流量类型)
1.2.3 互联网的标准化工作
RFC 机制(开放、透明、面向公众)
RFC = Request For Comments
中文:征求意见稿
RFC 是由 IETF(Internet Engineering Task Force,互联网工程任务组) 组织发布的技术文档。用来定义互联网的各种协议、标准、流程和实验性技术。
里面包含了 TCP/IP、HTTP、SMTP、DNS、IP 地址分配等几乎所有互联网核心规范。
为什么叫 “Request For Comments”?
最早(1969 年),ARPANET 的研究人员把他们的想法写成文档,发给同行,名字就叫 Request For Comments,意思是征求意见。这个名字一直沿用下来,虽然很多 RFC 已经是正式标准,但仍然叫 RFC。
标准生命周期(现行)
Internet-Draft(I-D):互联网草案(有效期 6 个月,尚非 RFC)
Proposed Standard(PS):建议标准(成为 RFC)
Internet Standard(STD):正式互联网标准(授予 STDxx 编号,可关联多个 RFC)
2011 年起取消草案标准(Draft Standard),流程由建议标准 → 互联网标准两级组成
草案标准(Draft Standard)不是 Internet-Draft(I-D)
1.3 互联网的组成
互联网虽然拓扑复杂、覆盖全球,但从工作方式上可以划分为两大部分:
1. 边缘部分
由所有连接在互联网上的主机(端系统,End Systems)构成。
功能:用户直接使用,用于通信与资源共享。
端系统(End System):
强调它处在通信链路的“端点”上,即网络数据传输的起点或终点。比如你手机发微信消息,你的手机就是一个端系统。
对方的手机收到消息,对方的手机也是一个端系统。
之所以叫端系统,是因为它不负责转发别人数据,只负责产生数据或消费数据。
2. 核心部分
由大量网络和路由器组成。
功能:为边缘部分提供连通性和分组交换服务。
图 1-4:互联网的边缘部分(主机)与核心部分(路由器+网络)的关系
1.3.1 互联网的边缘部分
主机 / 端系统
端系统(End System) = 互联网末端设备。
类型差异巨大:
小型:PC、笔记本、平板、智能手机、摄像头。
大型:服务器(Server),如 Google、百度的数据中心(单中心可有 10 万+ 台服务器)
拥有者:个人、企业、政府、学校、ISP 等。
端系统间通信,本质是运行在两台主机上的进程之间的通信。
通信方式分类
1. 客户-服务器方式(C/S 方式)
最常见的互联网通信模式(如电子邮件、网页浏览)
特点:
客户端(Client):主动发起请求;需要知道服务器地址;不需特殊硬件。
服务器(Server):被动等待请求;可同时服务多个客户端;需强大硬件与系统支持。
关系:
客户(请求方) ↔ 服务器(提供方)
一旦建立连接,通信可双向进行
图 1-5:主机 A 运行客户端程序,请求主机 B(服务器)服务 → B 返回结果
2. 对等连接方式(P2P 方式)
Peer-to-Peer:主机之间不再严格区分“客户 / 服务器”。
只要都运行 P2P 程序,双方可互为客户和服务器。
特点:
平等通信,双方均可下载/共享文件
实际本质:仍是 C/S 模式的变形(某一时刻一方是客户,另一方是服务器)
优势:
可支持大规模用户(上百万)
广泛应用于文件共享、分布式系统
图 1-6:主机 C、D、E、F 运行 P2P 程序 → 形成多条对等连接
1.3.2 互联网的核心部分
1. 先理解电路交换为何不适合数据
电话网的三种连接设想(图 1-7)
(a) 两机直连:两台电话用一对线即可
(b) 两两直连:若有 N 台电话,两两直连需 N(N−1)/2 对线 → 平方级膨胀,不现实
(c) 引入交换机:所有电话接到交换机,由交换机按需把双方接通 → 电路交换
电路交换的流程与特性(图 1-8)
流程:建立连接 → 通话(独占端到端话路)→ 释放连接
资源占用:建立后整段链路独占(即使沉默/思考也占着不放)
对数据业务的问题:计算机数据突发性强,链路空闲时间长,效率低(利用率常 <10%)
2. 分组交换:互联网的核心机制
报文切分与首部(图 1-9)
把待发送的整块数据称为报文(message)
发送前将报文切分成更小的分组(packet);每个分组前加上首部(header)(含源/目的地址、序号等控制信息)
分组 = 首部 + 数据,是互联网传送的基本单位
路由器如何转发(图 1-10)
边缘主机以较低速链路接入核心;核心路由器之间以高速链路互联(常为网状)
每个分组在路由器处:缓存 → 查转发表 → 从合适接口转发,逐跳前进至目的主机
路由器之间运行路由选择协议,动态维护转发表,拓扑变化时可自动绕行故障/拥塞
分组只在所经过的链路上传输时占用带宽;到达路由器就释放上一段资源 → 带宽按需、断续分配
路由器处理一个分组的流程:
缓存
分组到达路由器时,先临时放入输入缓存(防止流量突发时丢包)
查转发表
路由器检查分组的 目的 IP 地址。
在本地的“转发表”里查找:这个目的 IP 应该走哪个端口/下一跳。
转发
根据转发表的结果,从对应的输出接口把分组发出去,送到下一个路由器。
路由的灵活性(图 1-10(b))
同一会话的不同分组可能走不同路径(如 A→C→E 或 A→B→E),以规避拥塞或故障。
多对主机可并发通信;一台主机内的多个进程也可分别与不同对端通信。
3. 分组交换 vs 电路交换 vs 报文交换(图 1-11)
维度 | 电路交换 | 报文交换 | 分组交换 |
---|---|---|---|
连接建立 | 需要,端到端独占 | 不需要 | 不需要 |
传输单位 | 比特流连续通过“管道” | 整份报文 | 分组(报文的片段) |
中间节点处理 | 仅转发比特流 | 存储整报文后再转发 | 存储分组后再转发 |
时延 | 大数据且会话长时更小(摊薄建立时延) | 大(等整报文到齐) | 小于报文交换、灵活可并发 |
带宽占用 | 独占、可预留 QoS | 共享 | 共享、按需、易扩展 |
适用场景 | 传统话音(现已被分组化取代) | 历史技术,已淘汰 | 互联网数据与现代移动网语音/数据的主流 |
可预留 QoS
QoS = Quality of Service,服务质量
在电路交换中:
建立连接时,网络会为这条通信划出一条专用通道
带宽、时延、抖动等都被锁定下来,别人不能占用
这就叫可预留 QoS:
可以保证一定的带宽、时延和可靠性
用户体验稳定,不会因为别人用网而抖动
总结下来就是
可预留 QoS:电路交换的通道是独占的,能保证带宽和时延,这是分组交换难以完全做到的
4. 分组交换的优缺点
优点
高效:在分组传输的过程中动态分配传输带宽,对通信链路逐段占用
灵活:为每一个分组独立地选择最合适的转发路由
迅速:以分组作为传送单位,不先建立连接就能向其他主机发送分组
可靠:多路径与动态路由让网络具有良好生存性
代价 / 挑战
排队与时延抖动:路由器缓存中的队列等待会带来时延与抖动,需要拥塞控制/队列管理。
首部开销:每个分组都带控制信息,存在额外开销。
带宽不可事先保证:非预留,端到端吞吐受网络状况影响;需在更高层做拥塞控制、流量控制、服务质量等机制。
1.4 计算机网络的类别
1.4.1 定义
计算机网络:由一些通用的可编程的硬件互连而成,不仅能传送数据,还能支持多种应用。
硬件包括计算机、智能手机、智能电视等。
“可编程”说明必须包含 CPU。
不是单纯“计算机通信网”,而是综合的多功能网络。
1.4.2 分类方式
(一)按作用范围
广域网 WAN:
覆盖几十至几千公里
互联网核心部分,负责长距离传输
高速链路、大容量
城域网 MAN:
覆盖一个城市(5~50 km)
常用于连接多个局域网
现多采用以太网技术
局域网 LAN:
覆盖 1 km 左右,如校园/企业
高速通信(≥10 Mbit/s),便于开发和管理
个人区域网 PAN:
范围约 10 m(蓝牙、无线技术)
又称 WPAN,用于个人设备互连
WPAN = Wireless Personal Area Network(无线个人区域网)
注:若 CPU 距离极近(如 1m),则称多处理机系统,不算网络。
为什么 WAN/MAN/LAN/PAN 都叫网络?
WAN / MAN / LAN / PAN 虽然范围不同,但它们都有三个共同点:
1. 由多台设备互连组成(计算机、手机、服务器…)
2. 能够传递数据(有链路、协议、路由/转发机制)
3. 支持通信/共享/协作
它们都满足多设备互连 + 数据通信
(二)按使用者
公用网 Public Network:电信运营商建设,任何人付费可用。
专用网 Private Network:部门/行业专用,如军队、铁路、银行、电力。
(三)接入网 AN
又称本地接入网/居民接入网
接入网 (Access Network, AN) 是用户端设备(端系统)到 ISP 的入口路由器之间的所有链路
范围:几百米 ~ 几公里
早期:拨号上网,速率低
现代:宽带接入(ADSL、光纤、无线)
用户必须通过本地ISP才能接入到互联网。本地ISP可以使用多种接入网技术把用户的端系统连接到互联网。接入网实际上就是本地ISP所拥有的网络,它既不是互联网的核心部分,也不是互联网的边缘部分。接入网由某个端系统连接到本地ISP的第一个路由器(也称为边缘路由器)之间的一些物理链路所组成。
1.5 计算机网络的性能
1.5.1 常用 7 个性能指标
1. 速率
网络技术中的速率指的是数据的传送速率,它也称为数据率或比特率
单位 bit/s(b/s、bps)。常用数量级:k、M、G、T、P、E、Z、Y(10 的幂)
当提到网络的速率时,往往指的是额定速率或标称速率,而并非网络实际上运行的速率
k=10^3, M=10^6, G=10^9,T=10^12, P=10^15
计算机领域,数的计算使用二进制。因此习惯上,K=2^10=1024 ,M=2^20 ,G=2^30
T=2^40,P=2^50
此外,计算机中的数据量往往用字节B作为度量的单位(B代表byte)。通常1B=8bit。例如,15GB数据块的大小是 15*2^(30)*8bit ,而不是 15*10^9*8bit 。但10Gbit/s的速率则表示10×
10^9bit
2. 带宽
计算机网络里的带宽指数据传输能力
单位:bit/s(比特每秒)
举例:宽带 100 Mbps,就是带宽 = 100 兆比特每秒
意思就是单位时间内,链路最多能传多少数据
就像水管的粗细,越粗的水管(带宽大),水流量(数据率)就越大
3. 吞吐量
吞吐量指的是单位时间实际通过的数据量
单位:bit/s 或者 byte/s。
跟带宽不同:
带宽 = 理论上限
吞吐量 = 实际跑出来的速度(可能远低于带宽)
为什么实际吞吐量低?
链路瓶颈:
比如主机 A 接入 100 Mbit/s,服务器 B 接入 1 Gbit/s
最终 A 和 B 之间的吞吐量上限就是 100 Mbit/s
用户共享:
如果 100 个用户一起连服务器 B,而 B 到网络的出口带宽只有 1 Gbit/s
每个用户平均只能分到 10 Mbit/s
网络拥塞:
某些路段过载,分组丢失或排队太久,吞吐量会进一步下降,甚至可能掉到 0
ISP 带宽和吞吐量的区别
向 ISP 购买的“100 Mbit/s 宽带”只是保证 ISP 网络之间的某段链路最大能跑到这个速率。
但真正上网时,数据要经过很多链路和设备,还要和其他用户共享资源,
所以实际吞吐量(下载速度)可能只有几十 Mbit/s,甚至更低。
4. 时延
时延指的是数据从一端传到另一端所需的时间
单位:秒(s)、毫秒(ms)、微秒(µs)
时延不是单一的,而是由好几部分组成
时延的四个组成部分
发送时延
把整个数据帧/分组发出去需要的时间
公式:发送时延 = 数据帧长度 ÷ 发送速率
决定因素:帧有多大、速率有多快
类似于往高速路口塞车,把一队车全开上去需要多久
传播时延
信号在链路上传播所需的时间
公式:传播时延 = 信道长度 ÷ 信号在介质中的传播速率
光纤中电磁波传播 ≈ 2×10^5 km/s,铜缆更慢
类似于车子已经上了高速,跑到目的地要多久
处理时延
路由器/主机在处理分组时需要的时间,比如查表、差错检测
一般很短(微秒级),但遇到复杂操作可能增加
类似于收费站工作人员扫一下你的车牌
排队时延
分组在路由器缓存里排队等待的时间
网络空闲时几乎没有,拥塞时可能非常大
类似于收费站前的堵车等待
总时延=发送时延+传播时延+处理时延+排队时延
5. 时延带宽积(BDP)
公式:时延带宽积=传播时延×带宽
传播时延:信号从发送端到接收端需要的时间。
带宽:链路每秒能传多少比特。
两者相乘 = 这条链路在传输过程中,最多能装下多少比特正在路上。
6. 往返时间 RTT
RTT = 一条消息从发送端到接收端再返回发送端的时间。
就像寄快递:发出去 + 收到对方签收确认,总共花多久。
在互联网中,很多通信是双向的,所以 RTT 是个非常关键的性能指标。
RTT 对传输速率的影响
例子:
A 要给 B 传 100 MB 数据,发送速率 = 100 Mbit/s。
单纯发送时延 = 8.39 秒
如果 B 必须等收完整个文件后再回个确认
RTT = 2 秒(假设)
A 只有等确认回来,才能继续发送。
那么有效数据率 = 100 MB ÷ (8.39 + 2) ≈ 80.7 Mbit/s
比原本的 100 Mbit/s 慢了一些。
公式:有效数据率=数据长度/(发送时间+RTT)
RTT 包含什么
传播时延(光纤/卫星距离很远时特别大,比如卫星要 0.25 秒以上)
中间路由器的处理时延、排队时延。
转发数据时的发送时延
7. 利用率
利用率 U:一条链路/整个网络被真正用来传数据的“忙碌程度”,0~1 之间。
0:几乎没人用
1:一直满载
基准时延 D₀:没有排队时的“固有时延”= 发送时延 + 传播时延 + 处理时延(不含排队)
总时延 D:真正在网里经历的时延 = 固有时延 + 排队时延。
也就是说D₀表示网络空闲时的时延,D表示网络当前的时延(设现在的网络利用率为U),在适当的假定条件下,D与 D₀ 以及利用率U之间的关系:D=D₀/(1−U)
U 越大,D 增长越快;当 U 接近 1(快满载)时,分母→0,时延会飙升(排队爆炸)
也就是图里那条在 U≈0.5 之后明显上扬、接近 1 时发散的曲线
为什么高利用率≠高性能
如果把公路压到满负荷,平均时延会不可控地上升,丢包也会变多。
所以运营商会留余量,常把关键链路的目标利用率控制在 ≤50% 左右,超了就要扩容(加带宽/增链路)
所以链路/网络别逼近满载,越接近 100% 利用率,时延越是指数式地恶化。
两种利用率
信道利用率:某条链路被占用的比例
网络利用率:把网络中各链路的利用情况综合后的“总体忙碌度”
二者都高了都会带来排队,时延升高
信道是通信系统里传输数据的媒介或路径,它是物理层里专门用来传递信号的通道。
换句话说,信道 = 发出去的数据走的那条路。信道的几种类型
有线信道
双绞线、同轴电缆、光纤
通过导线或光纤传输电信号/光信号
无线信道
WiFi、蓝牙、4G/5G、卫星通信
通过电磁波在空气/空间中传输
1.5.2 影响性能的非性能特征
费用:速率越高、冗余越多,成本越高。
质量:器件与组网质量影响可靠性与可运维性。
标准化:遵循开放标准便于互通、升级与维护。
可靠性:与质量/架构/冗余相关;高性能并不必然牺牲可靠性,但成本更高。
可扩展/可升级:设计阶段就要预留扩容与演进空间。
易管理与维护:没有可观测与可运维,性能难以达标且难以保持。