前言
前面三章讲的是"网络怎么搭、以太网怎么走"。这一章要回答一个更根本的问题:为什么今天的互联网长成这个样子?
因为技术史从来不只由技术本身决定。TCP/IP 之所以能成为全球唯一的通信协议体系,不是因为它设计得最完美,而是因为它在一个个岔路口上,都选对了方向——而这些选择,往往与"更精致"的方案背道而驰。
本章沿着六条线,回答六个问题:
1. 分组交换为什么取代电路交换——从 N(N−1)/2 条线路的死结,到"拆包、独立路由、重组"
2. TCP/IP 为什么战胜 OSI——一个严谨的七层标准,为什么输给了一个"民间"的四层模型
3. TCP 和 IP 为什么要拆分——一个"什么都管"的协议,为什么必须被切开
4. IP 和 ATM 的较量——电信思维与计算机思维的一次正面碰撞
5. IP 的"尽力而为"还能走多远——它的优势在哪,瓶颈又在哪
6. TCP/IP 的设计原则与演进——六个原则,撑起了半个世纪的扩展
本章内容适用于通信行业入门读者,以及希望理解"互联网为何是今天这样"的工程师。
本章内容概览
本章共六节,本质上是一部技术路线的竞争史:
章节 |
核心问题 |
结论 |
一、分组交换与电路交换 |
数据怎么在路上走 |
分组交换胜出,成为 TCP/IP 的地基 |
二、 TCP/IP 是如何战胜 OSI 的 |
标准该由谁定、怎么定 |
简单实用 + 先发优势 + 开放流程 战胜 严谨复杂 |
三、 TCP 和 IP 为什么要拆分 |
一个协议该管多少事 |
分层原则:每层专注单一功能 |
四、 IP 和 ATM 的较量 |
可靠性该由网络负责,还是由终端负责 |
IP 的 " 终端智能、网络简单 " 胜出 |
五、 IP 的尽力而为还能走多远 |
无保证转发够用吗 |
靠 MPLS 、 SDN 、 IPv6 、 NFV 补强 |
六、设计原则及其演进 |
它为什么能活这么久 |
六大设计原则 |
一、分组交换与电路交换
数据在网络里究竟该怎么走?这一节从两种截然不同的思路说起——一种要"先把线接通",一种要"把数据拆开走"。
1.1 电路交换:先接线,再通话
电路交换的思路非常直观——通话前先"接一条线":
电话交换机将用户接入的电话线一直到呼叫方电话的电话线,一段一段连接起来。这个构筑的连接就是电路交换连接。早期的电话交换机采用人工的方式进行接线。
打电话时,网络把用户线、电话交换机、中继线一段段串起来,形成一条端到端的专用通路。它的优点是显而易见的,缺点也同样致命:
维度 |
电路交换 |
优点 |
通讯质量稳定、实时性强 —— 一旦建立连接,这条链路在整个通信期间就专属于通话双方,不会因拥塞而丢失数据或出现时延,能提供有保证的服务质量 |
缺点 |
资源利用率低、扩展与运营维护成本高、抗故障能力弱 —— 双方建立连接后,无论是否有通信信息传递,资源都为该连接保留;运营商需准备大量交换和物理资源,运营维护成本很高 |
更根本的问题出在线路数量上:如果 N 部电话要两两互联,就需要 N(N−1)/2 条线路。2 部电话要 1 条,5 部电话要 10 条,n 部电话就是 n 个数的平方级增长——随着设备数量增加,线路数量呈几何级数增长,这个模型不可能支撑起一张大网。
1.2 分组交换:拆开、独立路由、再重组
历史性的转折来自两篇论文。
1962 年,兰德(Rand)公司的保罗·巴兰(Paul Baran)在一篇论文中,提出了基于消息的分布式通信的概念。他对比了三种网络形态:
形态 |
特点 |
中心化( Centralized ) |
所有节点连到一个中心,中心一旦被毁全网瘫痪 |
去中心化( Decentralized ) |
多个次级中心,比中心化更抗毁,但仍有要害节点 |
分布式( Distributed ) |
节点之间任意互联,没有单点要害,抗毁性最强 |
1965 年,英国的唐纳德·戴维斯明确提出"分组交换"一词,强调:将数据分割成固定格式的短报文(数据包),独立路由,允许走不同路径,最后再重组。
这两个思想合起来,彻底改变了网络的设计哲学——不需要为每次通信预留一条专线,而是把数据切碎,让每个碎片自己找路走。 分组交换的优缺点也随之清晰:
维度 |
分组交换 |
优点 |
资源利用率高、灵活性强、扩展性好、优化成本 |
缺点 |
增加时延和丢包、可能存在安全风险 |
"能共享、能扩展"的代价是"不保证"——这正是后面所有故事的起点。
二、TCP/IP 是如何战胜 OSI 的
要理解 TCP/IP 为什么能赢,得先把两个模型摆在一起看:一个是国际标准组织主导的七层模型,一个是"民间"发展出来的四层模型。
2.1 OSI 标准模型:严谨的七层
OSI 参考模型由国际标准化组织 ISO 提出并主导,把网络通信拆成七层:
层次 |
英文 |
职责 |
应用层 |
Application |
为操作系统或应用程序提供访问服务的接口 |
表示层 |
Presentation |
处理数据格式、数据加密等 |
会话层 |
Session |
建立、维护和管理会话 |
传输层 |
Transport |
提供应用进程之间逻辑通信 |
网络层 |
Network |
寻址和路由选择,分组转发数据 |
数据链路层 |
Data Link |
定义数据格式,在通信实体间建立数据链路连接 |
物理层 |
Physical |
通过物理传输介质传输比特流 |
七层的英文首字母,恰好可以串成一句助记口诀:All People Seem To Need Data Protection(所有人都似乎需要数据保护)。
2.2 TCP/IP 架构:务实的四层
TCP/IP 又称为互联网协议套件,是一套计算机网络中使用的通信协议集的体系架构。TCP/IP 可以提供端到端的数据通信,指定如何对数据进行分组、寻址、传输、路由和接收。
它的出身和 OSI 完全相反:1974 年,罗伯特·卡恩和温顿·瑟夫发表论文,提出了 TCP/IP 架构,所以它可以看作是在民间发展起来的协议体系,后续的标准发展由 IETF 组织负责。
TCP/IP 只有四层,比 OSI 少了三层:
层次 |
职责 |
应用层 |
直接为应用程序提供服务,包括大多数应用程序使用的协议 |
传输层 |
负责建立基本数据通道,提供端到端的可靠传输 |
网络层 |
实现跨网络的路由、转发和寻址 |
链路层 |
在同一链路上两个不同主机的互联网层接口之间传输数据包 |
两个模型之间大体是这样对应的:TCP/IP 的应用层对应 OSI 的应用层 + 表示层 + 会话层;TCP/IP 的链路层对应 OSI 的数据链路层 + 物理层。
2.3 为什么输的是 OSI
模型更全、标准更严的 OSI,最终却败给了"民间"的 TCP/IP。原因可以归结为一句话——好的设计不一定是能活下来的设计:
OSI 模型 |
TCP/IP 架构 |
由国际标准化组织 ISO 提出并主导 |
民间发展,被互联网 ARPANET 采用 |
标准化流程繁琐 |
标准开放协作( RFC 机制) |
技术复杂 |
四层模型简单易用 |
提出时机不当 |
先发优势,已经跑起来了 |
OSI 输在"太慢、太复杂、太晚";TCP/IP 赢在"够用、能跑、开放"。
三、TCP 和 IP 为什么要拆分
一个容易被忽略的事实是:TCP/IP 最初并不是分为 TCP 和 IP 两个协议,而是一个统一的 TCP——"传输控制程序"。
问题在于,早期的 TCP 承担了太多功能:既要负责端到端的可靠传输,又要处理网络层的路由和封装。
1977 年,约翰·普斯特尔指出这种设计违反了"分层原则"——每一层应该专注于单一功能。
于是 TCP 被一分为二:
协议 |
层次 |
职责 |
IP |
网络层 |
" 尽力而为 " 转发 |
TCP |
传输层 |
作用于端到端 |
拆分之后,网络层的 IP 只做寻址与转发,传输层的 TCP 只做端到端的可靠传输,两者各自独立演进,适应性反而更强。这是一次极其典型的"做减法"式设计改进。
四、IP 和 ATM 的较量
比分出胜负的更重要的问题来了:网络的可靠性,究竟该由谁来保证? 这场较量的两个主角,是 ATM 和 IP。
4.1 ATM:电信行业的技术理想
异步传输模式 ATM(Asynchronous Transfer Mode)开发于 1984 年,是美国国家标准协会 ANSI 和国际电信联盟-电信标准部针对分组交换网络提出的技术标准。
它有几个鲜明的特征:
● 面向连接:ATM 在传输前需要先构建端到端的 VP/VC(虚路径/虚链路)
● 固定数据单元:ATM 将数据分割成 53 字节的固定信元
● 异步传输:信元在 VC 中以异步方式传输
● 综合承载:ATM 网络可传输各种信息,包括语音、视频、数据等
ATM 的参考模型是经典的三平面 + 四层结构:
结构 |
组成 |
平面 |
管理平面、控制平面、用户平面 |
层次 |
高层协议、 ATM 适配层、 ATM 层、物理层 |
它的工作过程可以概括为三步:先由控制平面建立连接、规划路由(例如"我们要传视频,需要 10Mbps 带宽,路线选 A→C→B 可以吗?"),再由用户平面传输数据(ATM 适配层打包 → ATM 层贴地址 → 物理层发送),最后由管理平面负责管理维护("线路 A→C 的速度是否稳定?有没有出现丢包?")。
4.2 两种思维的碰撞
ATM 与 IP 的分歧,本质上是两个行业对"网络该做什么"的不同回答:
维度 |
ATM (电信思维) |
IP (计算机思维) |
追求 |
完美的连接可靠性和 QoS |
网络 " 尽力而为 " 即可 |
可靠性由谁保证 |
网络设备复杂,终端简单 |
终端(主机)通过 TCP 等协议保证 |
适合业务 |
语音等实时业务 |
突发的数据业务 |
设备与终端 |
网络设备复杂但终端简单 |
网络设备简单但终端复杂 |
一句话概括这场较量的结局:2005 年,ATM 论坛合并至 IP/MPLS 论坛,ATM 的部分理念融入了 IP 网络。
IP 赢了,但并不是全赢——ATM 对 QoS 的执着追求,最终以 QoS 技术的形式被吸收进了 IP 世界。
五、IP 的"尽力而为"还能走多远
"尽力而为"指 IP 网络不保证数据包的到达顺序、时延或可靠性,只负责将数据包"尽力"转发到目的地。
这个设计让 IP 得以极度简单和廉价,但也留下了一串明确的短板:
优势 |
挑战 |
简单性 |
无法保证实时性 |
灵活性高 |
无法保证可靠性 |
可扩展性 |
无法保证关键数据性能 |
— |
无法保证安全性 |
为了补上这些短板,业界在 IP 之上长出了一系列增强技术:
技术 |
补什么 |
说明 |
MPLS (多协议标签交换) |
快速路由与 QoS |
一种增强 IP 的技术,通过标签交换实现快速、有效的路由,提供更高的 QoS 和流量工程能力(详见第五章) |
SDN (软件定义网络) |
集中控制与灵活管理 |
通过将网络控制平面和数据平面分离,实现集中控制和灵活管理(详见第七章) |
IPv6 |
地址空间与扩展性 |
不仅扩展了地址空间,还引入了增强功能。 IPv6 的扩展头机制通过增加灵活性和可扩展性,为网络的发展带来了多种创新和改进(详见第六章) |
NFV (网络功能虚拟化) |
服务快速部署 |
通过将网络功能虚拟化,实现网络服务的快速部署和灵活调整 |
也就是说,"尽力而为"并没有被推翻,而是被一层层增强技术"打补丁"——底层保持简单,复杂性被推到边缘和上层。
六、TCP/IP 网络体系的设计原则及其演进
TCP/IP 能从小型实验网络长成全球基础设施,靠的是六条设计原则:
原则 |
含义 |
集成寻址系统 |
统一且唯一的 " 网络地址 " 体系,跨底层网络识别设备,由集中管理保障唯一性 |
路由设计 |
聚焦 " 网络间连接 " ,通过路由器分步转发数据,搭配辅助协议优化传输路径 |
可扩展性 |
核心架构稳定,能适配网络从少量设备到百亿级终端的规模增长,改动仅为演进补充 |
开放标准和开发流程 |
非专有、免费开放,通过 RFC 开放流程让全球各方参与开发修改,提升全球接受度 |
底层网络的独立性 |
不绑定特定底层网络,能在 LAN 、 WLAN 、 WAN 等各类网络上运行,支持混合搭配 |
通用性 |
每个人都使用 TCP/IP ,因为每个人都在使用它 |
最后一条特别值得玩味——它说的其实是网络效应:TCP/IP 的成功既是技术选择的结果,也是"大家都用它"这件事本身的自我强化。
本章总结
本章的核心知识点可以归纳为六条:
1. 电路交换 vs 分组交换:电路交换独占物理链路,通信质量稳定但资源利用率低、抗故障能力弱;分组交换将数据拆为数据包独立路由,资源利用率高、灵活可扩展,成为数据通信主流,为 TCP/IP 发展奠定基础
2. OSI vs TCP/IP:OSI 模型是 7 层架构,设计严谨但复杂、标准化流程慢;TCP/IP 是 4 层架构(链路层、网络层、传输层、应用层),简洁实用,依托 ARPANET 先发优势和开放 RFC 机制,最终成为主流协议体系
3. ATM vs IP:ATM 是电信行业面向连接的技术,以 53 字节固定信元传输、强调 QoS 但结构复杂;IP 遵循"尽力而为"无连接理念,网络设备简单、灵活性高,2005 年 ATM 论坛合并至 IP/MPLS 论坛,ATM 的部分理念融入 IP 网络
4. TCP/IP 的拆分:早期 TCP 兼顾传输与路由功能,违反分层原则;1977 年拆分后,IP 专注网络层寻址与路由,TCP 专注传输层端到端可靠传输,两者独立演进提升适应性
5. "尽力而为"的含义:指 IP 网络不保证数据包的到达顺序、时延或可靠性,只负责将数据包"尽力"转发到目的地
6. 核心设计原则:包括集成寻址、灵活路由、底层网络独立、高可扩展性、开放标准、通用性,支撑其从小型网络发展为全球通用协议体系
结语
这一章讲的其实不是协议,而是一连串关于"取舍"的判断:
放弃为每次通话预留专线,换来了资源利用率;放弃完美的 QoS,换来了网络的简单与廉价;放弃"一个协议管到底",换来了清晰的分层;放弃由网络来保证可靠性,把责任交给了终端。每一次,TCP/IP 都选了那个"看起来更省事、更不完美"的方向。
但正是这些选择,让它活了下来、长了起来,最终成了唯一的答案。在通信世界里,"够用且能扩展"往往比"完美但复杂"更有生命力。