组网第二课:X.25 与帧中继------第一次让带宽"拼车"
上次讲完 DDN,有位老装维师傅打电话来:"你说的那个 DDN 我用了十几年,确实稳,但有个事我一直想不通------我那条 64K 线,白天网点忙的时候也就跑个十几 K,晚上整个楼都下班了,线路还亮着灯,64K 一比特没少占。这不是白花钱吗?"
我说:师傅,您说到点子上了。DDN 的死穴就是这个------独占的管道,闲着也占着。九十年代运营商算过一笔账:DDN 骨干中继的平均利用率不到 30%,70% 的带宽在"空跑"。这要搁今天,叫"资源浪费";但在当时,这是唯一的选择。
直到有人琢磨出:能不能让大家"拼车",谁有数据谁上路?于是,分组交换登场了。
一、DDN 的死穴:独占 = 浪费
上一课讲透了 DDN 的端到端原理:半永久连接、固定带宽、透明传输。它什么都好,就一条死穴------
独占的管道,闲着也占着。
银行网点下午五点下班,专线空跑到第二天早上八点;税务大厅周末没人办事,专线照常亮着灯。运营商的骨干中继上,A 客户闲着、B 客户忙着,但 A 的 64K 时隙谁也抢不走,B 的数据只能排队等自己的份额。带宽利用率低,是 DDN 最致命的伤。
而且 DDN 还有两个硬伤:
- 2M 封顶:再想快?没门,E1 接口的天花板就在那;
- 按距离计费:64K 从县里到省城,和 64K 从县里到北京,价格差好几倍------因为独占的物理资源一路占过去。
工程师们开始琢磨一个新思路:能不能不独占物理通路,让数据"打包"上路,多家共享一条中继,谁有数据谁走?
二、分组交换:从"包车"到"拼车"的范式革命
这就是**分组交换(Packet Switching)**的核心思想。和 DDN 的电路交换对比,本质区别就一条:

电路交换(DDN)= 包车:先通路再传数据,全程独占物理资源。不管您用不用,路都占着。
分组交换(X.25/帧中继)= 拼车:数据切成小块(分组/帧),每块贴个标签,网络边走边转。多家共享一条中继,谁有数据谁上路,闲时不占。
这个范式转变带来三个根本变化:
- 中继利用率飙升:同一条骨干中继上,A、C、D 三个客户的数据分组排队发送------A 闲了 C 上,C 闲了 D 上,统计复用,中继利用率从 30% 提到 70%+;
- 带宽可以"承诺+超额":不再像 DDN 死守固定带宽,而是给您一个"承诺速率"(保证的最低带宽),允许临时超额(有空就多跑),忙时再收回------这就是后面帧中继 CIR/EIR 的雏形;
- 需要信令和拥塞管理:DDN 不用信令(局端配好就常通),分组交换不行------得有协议来建连接、管流量、防拥塞。
三、X.25:分组交换的开创者
X.25,1976 年 ITU-T 发布的国际标准,是人类第一个真正商用的分组交换协议。它定义了三层,和 OSI 七层模型的前三层完美对应:
| X.25 层 | 对应 OSI | 功能 | 通俗解释 |
|---|---|---|---|
| 分组层(Packet Layer) | 网络层(L3) | 虚电路建立、路由、流控 | "选哪条路走、怎么排队" |
| 链路层(Link Layer, LAPB) | 数据链路层(L2) | 帧封装、差错控制、重传 | "包包裹、检查有没有丢" |
| 物理层(Physical Layer) | 物理层(L1) | 电气接口(X.21/V.35) | "用什么线插" |
X.25 有两个开创性设计:
虚电路(Virtual Circuit) :不像 DDN 占一条物理通路,而是建一条"逻辑通道"------数据从 A 到 B,中间经过的交换机都记一张表,知道"这个编号的数据走哪个方向"。编号就是 DLCI/LCN(后面帧中继叫 DLCI,X.25 叫 LCN,本质一样)。
虚电路分两种:
- PVC(永久虚电路):局端配好,常通,类似 DDN 的半永久连接------这是政企专线最常用的;
- SVC(交换虚电路):按需建立,用完拆除,类似打电话拨号------X.25 时代用的多,帧中继后来基本只用 PVC。
逐跳差错控制+流控 :X.25 在每一跳(每两台交换机之间)都做差错检测和重传。帧到了交换机,先校验 CRC,错了就要求上一跳重传;同时用滑动窗口 控制流量------发太快了就让你等一等。这种"每一跳都检查"的机制,保证了可靠性,但也带来了高时延。
为什么 X.25 要做得这么"小心"?因为七十年代的传输线路质量差------模拟线路上跑数据,误码率高得吓人(10⁻⁴ 量级),不做逐跳差错控制,数据根本到不了。X.25 的设计哲学是:线路不可靠,所以协议来补救。
四、帧中继:X.25 的"瘦身版"
到了九十年代,传输线路质量大幅改善------光纤开始普及,数字线路误码率降到 10⁻⁹ 以下。这时候 X.25 那套"每一跳都校验+重传"就显得太啰嗦了:线路已经够可靠,何必每一跳都查?
于是出现了帧中继(Frame Relay, FR)------X.25 的"瘦身版"。核心思路就一条:
去掉逐跳差错控制和流控,把可靠性交给终端来做,网络只管"快速转发"。
对比一下 X.25 和帧中继的区别:
| 对比项 | X.25 | 帧中继 |
|---|---|---|
| 协议层 | 三层(物理+链路+分组) | 两层(物理+链路) |
| 差错控制 | 逐跳校验+重传 | 只检错不重传,错的丢掉 |
| 流控 | 每跳滑动窗口 | 没有(靠拥塞通知) |
| 时延 | 高(逐跳处理) | 低(只转发不处理) |
| 速率 | 低(64K~2M) | 中高(64K~2M,后期到 34M) |
| 设计前提 | 线路不可靠 | 线路可靠 |
帧中继做了一次大胆的"减法":把差错控制和流量控制从网络层移到了终端。交换机收到帧,只做 CRC 检测------对了就转发,错了就丢弃,不重传。重传的事交给终端的 TCP 来管。
这就像快递从"每到一个中转站都拆箱检查"改成了"一路狂奔,到站直接分拣"------速度上去了,时延降下来了。这个思路一路传到今天的 IP 网:网络只管转发,可靠性交给 TCP,这是整个互联网的设计哲学。追根溯源,帧中继是第一个这么干的。
五、虚电路与 DLCI:一条中继跑多条逻辑通道
帧中继的核心机制是虚电路+DLCI。这是它和 DDN 最大的区别------DDN 独占物理通路,帧中继共享物理中继但用逻辑通道隔离。

看这张图,用户 A 和用户 C 各自有一条 PVC 到对端的用户 B 和用户 E。关键是:A 和 C 的数据走的是同一条物理中继 (交换机1 到交换机2 之间那根线),靠 DLCI(Data Link Connection Identifier,数据链路连接标识符) 来区分。
DLCI 是什么?打个比方------它是"车票号"。每个帧在链路层帧头里带一个 DLCI,交换机收到帧后查 DLCI 表,决定从哪个端口送出去。DLCI 只在两台交换机之间有意义------同一条虚电路,在不同段上的 DLCI 可以不一样。
以图为例:
- 用户 A 到交换机1:DLCI = 100
- 交换机1 到交换机2:这一段中继上,A 的帧带 DLCI 100,C 的帧带 DLCI 200,统计复用
- 交换机2 到用户 B:DLCI 从 100 "翻译"成 300
- 交换机2 到用户 E:DLCI 从 200 "翻译"成 400
交换机里维护的转发表,核心就两列:入口端口 + 入口 DLCI → 出口端口 + 出口 DLCI。这就是帧中继交换机做"交叉连接"的全部逻辑------比 DDN 的时隙交叉更灵活,因为它是"按帧头查表",不是"按时隙分配"。
统计复用的好处直接体现在这里:同一条物理中继上,DLCI 100 的帧和 DLCI 200 的帧排队发送,谁有数据谁走。A 闲了,C 的帧就多跑;C 闲了,A 的帧就独占。中继带宽按需分配,利用率大幅提升。
六、带宽承诺:CIR / Bc / Be / EIR
帧中继还引入了一个革命性的概念------承诺带宽+允许超额。这是它和 DDN"固定带宽"最大的区别,也是专线计费模型的一次大变革。

核心概念四个:
- CIR(Committed Information Rate,承诺信息速率):运营商承诺给您的最低带宽------无论网络多忙,这个速率保证送达,不丢帧;
- Bc(Committed Burst Size,承诺突发量):在时间间隔 Tc 内,保证传送的最大数据量。CIR = Bc ÷ Tc;
- EIR(Excess Information Rate,超额信息速率) :超出 CIR 的部分------网络有空就帮您传,忙了就丢。这部分的帧会被打上 DE=1(Discard Eligibility,丢弃指示位) 标记,交换机拥塞时优先丢这些帧;
- Be(Excess Burst Size,超额突发量):Tc 时间内允许超出的最大数据量。超过 Bc+Be 的部分,交换机直接丢。
举一个政企实战的例子:某银行网点帧中继专线,CIR = 128K,EIR = 128K。
- 平时:网点速率 100K,低于 CIR 128K → 保证送达;
- 月底结算:峰值 200K,在 128K~256K 之间 → 超出 128K 的部分打 DE=1,尽力传送,拥塞时可能丢;
- 极端突发:300K,超过 256K(CIR+EIR) → 超出部分直接丢。
对比 DDN:DDN 开 128K 就永远 128K,闲也占着、忙也不能超。帧中继是"承诺 128K 保证送达,有空允许超额,忙了收回"------这就是统计复用省成本的根源:运营商不用给每个客户都"真金白银"地预留峰值带宽,按 CIR 之和规划中继即可(因为不会所有客户同时峰值)。
七、端到端原理:帧中继怎么把一帧数据送到对端
把上面几个概念串起来,看一次完整的端到端转发过程:
第一步:用户侧封装。用户路由器(FRAD,帧中继接入设备)把 IP 包封装成帧中继帧------帧头里填 DLCI、DE 位、FCS 校验,帧体装数据。
第二步:接入交换机查表。帧到达交换机1,交换机查转发表:入口端口1 + DLCI 100 → 出口端口2 + DLCI 100。交换机把帧头里的 DLCI 翻译成中继段的 DLCI,从对应端口送出。
第三步:中继统计复用。在中继线上,这个帧和其他客户的帧排队发送。交换机不做差错重传------只做 CRC 校验,错了就丢,不负责重传。
第四步:对端交换机再查表。帧到达交换机2,查表:入口 DLCI 100 → 出口 DLCI 300。翻译 DLCI,送到用户 B 的端口。
第五步:终端收到、解封装。用户 B 的 FRAD 收到帧,解开封装拿到数据。如果中间有帧丢了?TCP 层面负责重传------帧中继网络不管。
整个过程中,交换机只做三件事:查表、翻译 DLCI、转发。不校验内容、不重传、不流控------这就是帧中继"轻装上阵"的秘密,也是它比 X.25 快的原因。
八、装维排障:帧中继的"三层排查法"
帧中继排障比 DDN 复杂一点,因为它有协议了。按三层排查:
| 故障层 | 典型症状 | 排查手段 | 常见原因 |
|---|---|---|---|
| 物理层 | 接口 down、LOS 告警 | 查接口灯、线缆测试 | 线缆断裂、接头松动 |
| 链路层 | PVC 状态 inactive | 查 LMI 协议是否正常 | DLCI 配错、PVC 未激活 |
| 网络层 | ping 不通、时延大 | 查路由、测 CIR 是否达标 | 超出 CIR 导致丢帧、拥塞 |
帧中继有个独特机制叫 LMI(本地管理接口) ------用户侧和交换机之间定期"打招呼",报告 PVC 状态。如果 LMI 不通,PVC 状态就会变成 inactive,数据自然走不通。这是帧中继排障的第一个检查点:先看 LMI 状态。
九、遗产与谢幕
帧中继在九十年代到两千年初是政企联网的主力------银行、税务、证券的多网点互联,大量跑在帧中继上。但它也有短板:
- 2M 封顶:和 DDN 一样,E1 接口是天花板,后期虽然出了 FRF.5 做到 34M,但终究跟不上需求;
- 无 QoS 保障:DE=1 的帧"尽力传",拥塞时直接丢,语音、视频这种实时业务跑不了;
- 被 IP + MPLS 取代:IP 一统天下后,MPLS VPN 提供了更好的多节点互联方案。
但帧中继留了三样遗产,至今活在网络里:
- 虚电路+标签转发的思路:帧中继靠 DLCI 查表转发,这个思路一路进化到 MPLS 的标签交换------MPLS 标签就是"DLCI 的升级版";
- CIR/EIR 带宽承诺模型:今天云专线的"承诺带宽+峰值带宽"计费模型,根源就是帧中继的 CIR/EIR;
- "网络只管转发,可靠性交给终端"的设计哲学:这是整个互联网 TCP/IP 的设计基础,帧中继是第一个把这件事落到商用网络里的技术。
一句话:帧中继死了,但它的思想活在 MPLS 里、活在云专线里、活在整个互联网的设计哲学里。
小结
- DDN 的死穴是"独占=浪费",分组交换用"拼车"思路解决:数据打包、共享中继、统计复用;
- X.25 是第一个分组交换标准,三层协议、逐跳差错控制------为不可靠线路而设计;
- 帧中继是 X.25 的瘦身版:去掉差错控制和流控,网络只管快速转发,可靠性交给终端;
- 虚电路+DLCI 是帧中继的核心:一条物理中继上跑多条逻辑通道,靠 DLCI 查表转发;
- CIR/EIR/Bc/Be 是带宽承诺模型:承诺带宽保证送达,超额带宽尽力传送,这是云专线计费的鼻祖;
- 帧中继的遗产:标签转发→MPLS、CIR/EIR→云专线带宽模型、"转发与可靠性分离"→互联网设计哲学。
思考题:帧中继把差错控制从网络移到了终端(TCP),这叫"端到端原则"。但今天 AIDC 智算网络里,RoCEv2 又把"可靠传输"从 TCP 拉回了网络层(PFC+ECN)。为什么"端到端原则"在智算场景不灵了?(提示:想想大模型训练时,一个梯度包丢了,TCP 重传的时延开销有多大,GPU 集群等得起吗?)
下期预告
X.25 和帧中继解决了"带宽拼车"的问题,但它们都有个天花板------2M 封顶 。再往上走,需要一种全新的技术:不仅带宽更大,还要能做 QoS、能跑语音视频。于是,53 字节的信元 登场了。下一课讲:ATM------53 字节信元的故事,以及它为什么输了。