
一、网络是怎么走到今天这一步的
先别急着谈协议栈,得先知道它为什么会出现。
早期的计算机基本是各干各的,数据放在本地,想共享就靠软盘这类硬件来回搬。能用,但麻烦得很。后来有了网络,机器之间可以直接把数据送到服务器,再往后,交换机、路由器这些设备把局域网和广域网串了起来,通信范围一下子放大了。
网络发展过程大致是这样:




二、协议不是口号,是双方都认的规矩
'协议'这个词听起来很大,本质上就是约定。计算机之间传的是电信号和光信号,接收方要知道这些 0 和 1 到底代表什么,就必须提前约好格式。没有这层约定,数据到了对面也只是噪声。
只靠一个粗粒度的约定还不够。厂商不同,操作系统不同,硬件也不同,如果没有统一标准,通信基本没法落地。网络协议就是为了解决这件事,通常由具备制定资格的组织或公司来定义。
三、分层这件事,主要是为了少互相拖累
协议系统一旦复杂,最先出问题的通常不是功能,而是维护。分层的价值就在这里:把不同职责拆开,哪里变动就尽量只动哪里。
这跟软件里的模块化是一个思路。比如基类和子类的关系,子类改动不会把基类一起掀翻。网络协议也是一样,链路、网络、传输、应用各管各的,边界清楚,后面才有机会演进。

3.1 OSI 七层模型
OSI(Open System Interconnection,开放系统互连)七层模型是一个逻辑上的规范。


















