精华骨架:先让比特在介质上活下来
和自顶向下教材相反,Stallings 坚持从物理现象往上走。 读它不是为了再背一遍 HTTP,而是为了在排障时能区分: 这是信噪比问题、编码问题、链路重传问题,还是上层协议问题。
奈奎斯特和香农给出的是物理上限。协议再聪明,也跳不出带宽与信噪比划定的盒子。
数据可以是模拟或数字,信号也可以是模拟或数字。编码与调制处理的是这四种组合,不是一个「数字化」口号。
介质会出错。检错发现它,ARQ 恢复它。把恢复做成停等还是滑动窗口,取决于时延带宽积。
数据传输与信号 —— 介质决定上限
任何协议最终都要变成随时间变化的物理量。 这一块建立词汇:时域和频域、衰减和噪声、有线与无线介质、以及信道到底能装多少比特。
时域、频域与损伤
周期信号可以用频率、幅度和相位描述;非周期的数据信号则占有一段频谱。 信道只让一部分频率较好地通过,于是「带宽」首先是物理带宽,其次才是我们口头上的比特率。
信号在路上会遇到几类损伤。衰减让幅度随距离下降,且常常随频率变化,于是波形被拉歪。 延迟畸变让不同频率分量不同时到达。 噪声至少要分热噪声、互调、串扰和脉冲噪声:前几种相对连续,后一种是突然的尖峰,对数字信号特别伤。
有线与无线介质
导向介质把能量关在导体或光纤里:双绞线便宜、易受干扰;同轴屏蔽更好、部署更笨; 光纤带宽大、衰减小、不怕电磁噪声,但端接和有源器件更贵。 非导向介质是无线电、微波、红外与可见光:灵活,却要和干扰、法规频谱、视距一起谈判。
介质选择很少是「哪个更快」的单选题,而是距离、电磁环境、成本和是否要供电的组合。 同一套上层协议,换介质往往先换的是编码、功率和中继策略。
信道容量:两个上限
无噪声信道里,给定带宽,符号速率仍有上限,多电平可以在每个符号里塞更多比特——这是奈奎斯特给出的方向。 有噪声时,可区分的电平不能无限增加,香农用带宽和信噪比给出信息论上限。
工程上的数据率永远低于香农限。提高功率能改善信噪比,但会增加干扰和能耗; 加带宽能提高容量,频谱却是稀缺品。 读 Stallings 这一段,是为了以后看到「再加一种编码就能无限加速」时知道该在哪里刹车。
编码与调制 —— 四种组合,不是一种「数字化」
数据有模拟和数字,信号也有模拟和数字。 编码与调制处理的是这张 2×2 表:数字数据如何变成数字信号或模拟信号,模拟数据如何被采样或被搬到载波上。
数字数据,数字信号
最朴素的做法是用高电平表示 1、低电平表示 0。 它实现便宜,但连续的 0 或 1 会让接收方丢失时钟,也有直流分量,不利于某些信道。
改进方向大致三类:在比特中间强制跳变以便提取时钟;用正负交替去掉直流; 先把若干比特映射成更利于传输的码字(块编码),再送到线上。 每多一层约束,就多一点冗余,换来的是同步和检错。
数字数据,模拟信号
当信道是电话线路或无线频段这类「只认模拟波形」的管道时,数字比特必须去调制载波。 可以改幅度、改频率、改相位,或把幅度和相位一起改。 星座图越密,每符号比特越多,对噪声和失真也越敏感。
自适应调制让发送方按当前信噪比换档:信道好就走密星座,信道差就退回稀疏但更稳的点。 这是后面无线章里「速率会自己变」的物理根源。
模拟数据的数字化与模拟调制
语音一类模拟数据要进数字网,先采样再量化。 采样率必须高到能抓住最高关心频率,量化比特数决定量化噪声。 脉冲编码调制是这条路的代表;差分一类方法则只传变化,省比特、对误差累积更敏感。
模拟数据也可以继续走模拟信道:调幅、调频、调相把基带搬到合适的频段。 广播和传统电视走这条路。数字通信并没有消灭模拟调制,它只是常常把「要保护的对象」先变成比特。
差错控制与数据链路 —— 发现错误,再决定怎么办
物理层会交出带伤的比特。数据链路要成帧、检错,并在需要时请求重传。 Stallings 把这一段写得很「通信」:先有冗余理论,再有 ARQ 的三种节奏。
检错:从奇偶到循环冗余
奇偶校验最便宜,只能稳妥地抓住奇数个翻转。 因特网式的反码和覆盖面更宽,实现也简单,对突发错误仍然心有余而力不足。
循环冗余校验把比特串当作多项式,用双方约定的生成多项式去除,余数随帧发送。 生成式选得好,可以抓住大量突发错误。 它仍然是检错:发现了通常整帧丢掉,把恢复交给重传或上层。 前向纠错则多加冗余,让接收方就地修若干比特,适合重传太贵或时延不能忍的信道。
ARQ 的三种节奏
停等:发一帧,等确认。实现极简,时延带宽积一大就浪费管道。 回退 N:窗口向前滑,出错则从出错处整段重来,发送方简单,重传可能浪费。 选择重传:只补缺失序号,接收方要乱序缓存,带宽更省。
选择哪一种,看往返、出错率和实现预算,不是看谁「更先进」。 流量控制在链路层同样存在:接收方用窗口或就绪信号防止被淹没。 它和检错重传缠在一起,但保护对象是对端缓存,不是信道噪声。
面向比特的链路协议轮廓
经典的面向比特协议用标志定界、用位填充避免数据伪装成标志,用监督帧做确认和探询。 后来的点到点协议把封装、链路建立和网络层协商拆开,更适合在多种链路上承载 IP。
读这些协议不要陷进历史帧格式。要带走的是:成帧、透明传输、确认编号、连接建立与拆除, 是任何可靠链路都要回答的同一组问题。换了名字,问题还在。
复用与交换 —— 把昂贵管道切开、再接起来
一根光纤或一条中继,很少只服务一对用户。 复用决定如何切开容量,交换决定如何把切开的容量在节点之间重新接上。
复用:频、时、统计、光
频分把频谱切成并行通道,简单、隔离好,不灵活。 时分把时间切成帧和时隙,适合数字中继;同步时分按计划给槽,空闲也占着。 统计时分只在有数据时才占用时隙,利用率高,要面对排队和溢出。
波分是光域里的频分:不同波长并行走在一根光纤里。 数字用户线一类接入技术则在普通铜线上切出上下行频段,把高频数据叠在语音之上—— 这是「复用发生在最后一公里」的日常例子。
交换:电路、分组、信元
电路交换先建立专用通路再通话,时延稳定,空闲浪费容量。 分组交换把报文切块,按地址或标签转发,共享更好,时延变随机。 历史上还有把分组切成固定短信元的做法,动机是让语音和数据在同一套交换结构里获得更可预期的时延。
Stallings 用通信视角强调:交换结构本身也有内部阻塞、调度和信令。 「网络会转发」在实现上是一堆端口、一张表、一套争用规则。 这和教材里画一个云是两回事。
为什么因特网站在分组这一边
数据突发、会话众多、路径要能绕开故障时,分组交换更划算。 语音和专线业务曾经把电路当作默认,后来也大量改走分组加优先调度。 复用与交换的组合决定了一张网的经济性,协议只是运行在这个经济性之上。
局域网 —— 短距离上的共享与交换
局域网的经典问题是:许多站点靠近,如何公平且高效地共用介质,以及后来如何用交换机把共享变成点对点。 拓扑、介质访问、以太网演进,是这一块的三条筋。
拓扑与介质访问
总线、环、星形各有故障域和布线含义。 今天物理上几乎都是星形(站点连到交换机),逻辑上仍要理解总线时代留下的访问算法—— 因为无线局域网还在共享介质。
访问算法仍是那三类:划分、随机、轮转。 有线共享以太网选择载波侦听加冲突检测;交换式全双工让冲突从日常里消失; 令牌环用轮转换公平,实现更重,最终在市场上让位。
以太网为什么成为默认
以太网把帧格式保持得足够稳,同时把物理层速率和介质一换再换。 交换机自学 MAC 与端口的对应,未知则泛洪,已知则单播; VLAN 把广播域从物理机箱里切开。
成功的原因不全是算法最优,而是:实现便宜、演进兼容、与 IP 的配合足够薄。 Stallings 用它说明标准如何在技术与市场之间互相塑造——这和只讲 CSMA/CD 公式不是同一门课。
无线局域网接在同一张图上
把有线那套冲突检测搬到无线上会失败:自己发的时候听不清别人,隐藏终端让「空闲」不可信。 于是冲突避免、确认帧、可选的短控制帧预约,成为 802.11 的骨架。 基础设施模式让接入点桥到有线以太网,局域网的边界由此从「一栋楼的网线」扩成「一块频谱加一座桥」。
广域与无线概览 —— 距离和移动把约束改写
最后一块只抓仍然有用的结构,不追已过时的专有广域技术细节。 距离拉长之后,信令、计费、移动性和频谱政策会挤进本来只关心波形的图里。
广域:接入、汇聚、核心
广域网通常分成用户接入、城域汇聚和长途核心。 接入决定最后一公里的介质与认证,汇聚把大量用户统计复用进干线,核心追求高容量和可恢复的交换。
电路、分组和标签交换在不同年代占据过核心。 今天更常见的图景是:边缘仍然多样,核心趋向分组,用流量工程和优先调度去补偿电路曾经免费提供的可预期性。 读到过时的专有缩写可以跳,层次结构不要跳。
蜂窝:有牌照的共享介质
蜂窝网把覆盖切成小区,用频率或码字的复用换容量,用切换保持移动中的会话。 和 Wi-Fi 比,它更中心化:频谱授权、用户鉴权、移动性锚点和计费都在运营商核心里。
世代演进改的是空口效率和核心网拆分方式,不是「移动性」这个需求本身。 对上层应用,可见差异往往是时延分布、NAT 行为和计费,而不是调制阶数。
和协议栈怎么接回去
Stallings 的通信基础一旦读完,应能把故障重新分类。 误码高、协商速率乱跳,先看信号与调制; 一跳内大量重传,先看链路 ARQ; 跨网丢包和乱序,再去运输层; 名字或内容出问题,才轮到应用。
这本书不替代 Kurose 或 Peterson,它补的是那两本常常一笔带过的物理与链路厚度。 精华读法就是:六块骨架能口头复述,细节公式留给需要算链路预算的那一天。