网络出现的历史背景
计算机的出现使得计算的效率得到大幅提升,但是伴随人与人之间需要进行信息交流,随之而来的便是主机与主机之间的数据互通需求。此时,单纯依靠软盘、磁带等离线介质进行'物理搬运',已经无法满足远距离、实时、高效的数据交换要求。人们迫切需要一种能够让计算机之间直接、自动、可靠地传递信息的方式,计算机网络正是在这样的背景下应运而生。它从最初的多机互联、资源共享,逐步演变为如今覆盖全球的通信基础设施,成为连接计算、信息与人的核心纽带。
网络其实没那么神奇 —— 从系统总线看网络本质
从内部总线到分布式互联 计算机系统与网络的底层逻辑高度同源,本质都是数据的可靠传输与协同。系统内部依靠物理导线、总线、PCB 走线,以电信号完成芯片间的硬件通信;网络则将这条'内部总线'无限拉长,通过光纤、电磁波等介质,实现设备与设备、系统与系统的远程互联。二者共用一套核心思想:无论是系统里的地址、数据、控制信号,还是网络中的 IP、端口、协议、数据包,最终都是为了解决同一个问题——如何有序、高效、无冲突地完成信息传递。
可以说:网络,就是被拉长、无线化、分布式的系统总线。内部协同靠系统,外部互联靠网络,共同构筑起整个数字世界的运转基石。
协议
协议概念
在计算机体系与网络通信中,协议是通信实体之间为完成数据交换而预先约定的规则、格式与时序的集合。它规定了数据如何封装、寻址、传输、应答与纠错,使异构设备能够屏蔽底层差异,按照统一标准进行可靠交互。协议是数字化信息世界的'通用语言',是系统协同与网络互联得以实现的核心基础。
就像两个人打电话,接通后第一句说'喂',用来确认对方是否在线、声音是否正常,这种大家默认遵守的交流方式,就是一种现实中的'协议'。
在计算机网络里,协议同样如此:什么时候发、发什么格式、出错了怎么办、如何确认对方收到……所有这些约定俗成、必须共同遵守的规则集合,就是网络协议。其实不光网络,计算机主机内部也存在大量协议,比如:其他设备和内存通信,会有内存协议。其他设备和磁盘通信,会有磁盘相关的协议,比如:SATA,IDE,SCSI 等。只不过我们感知不到罢了。总之,协议就是针对问题提出的统一的、规范的解决方案。
网络中就以传输层的两类协议为例:UDP、TCP
其中 TCP 协议保证传输过程具有连接、可靠传输、面向字节流等特点。
UDP 则具有无连接、不可靠传输、面向数据报等特点。
二者并没有好与坏之分,而是偏向性能或者偏向稳定的不同特色,因此不同协议没有真正的孰强孰弱之分,而是不同协议有不同的应用场景,根据场景选择合适的协议才能发挥协议的最大效果。
协议分层与协议栈
能够进行协议定制的肯定都是具有很强的公信力或者某领域领头的单位/企业比如:IEEE(电气和电子工程师协会),ISO(国际标准化组织),ITU(国际电信联盟)等等。
国际标准化组织 ISO 提出了一套通用的网络体系结构,称为 OSI 参考模型。该模型将复杂的网络通信流程,自下而上划分为七层,每一层只专注于单一职责,并通过标准接口与上下层交互。

网络协议分层的核心目的,就是解耦。通过明确每一层的职责与接口,上层不必关心下层的具体实现,下层也不依赖上层的业务逻辑。层与层之间只通过标准约定交互,使得每一层可以独立设计、独立优化、独立替换,而不影响整个体系的稳定。分层本质上是一种模块化思想,让复杂的网络通信从一团混乱,变成结构清晰、易于维护、易于扩展的系统。这些从上到下、各司其职的分层结构组合在一起,就构成了协议栈。
OSI 参考模型的设计将分层做得非常细致,使得总体耦合度非常低,并且每一层各司其职,完全符合高内聚,低耦合的核心思想,但是其过于复杂的结构也导致其设计难度飙升,难以落地商用,因此目前互联网真正使用的协议是TCP/IP 协议,OSI 成为了一种理想化模型。TCP/IP 协议栈在结构上,本质是将 OSI 七层模型的上三层(应用层、表示层、会话层)合并为了一层 —— 应用层,下四层则做了精简与对齐,最终形成四层结构:应用层、传输层、网络层、网络接口层。这种合并让实现更简单、更轻量化,更适合工程落地。






