【Linux】计算机网络协议详解与通信原理探究

[复制链接]
发表于 2026-10-5 19:45:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

两台电脑要说话,靠的不是网线本身,而是一整套彼此都认的规矩。这套规矩就是我们说的"协议"。理解协议,是理解网络编程的第一步;而理解协议,得先把它看成一层层摞起来的东西。

一、协议:计算机之间的约定

所谓协议,本质上是一种约定。计算机之间的传输媒介是光信号和电信号,靠频率和强弱表示 0 和 1。要把不同的信息传过去,双方必须提前约定好数据格式。一个够用的协议,需要在细节上规定得足够细,并且让参与通信的每一方都遵守。

二、为什么要分层

协议本身也是软件。为了让模块之间更好解耦、更容易维护,它被设计成层状结构。看一个日常通信的例子:张三和李四打电话。张三把语言信息交给电话,电话通过通信协议把信息传到李四的电话,李四再用语言协议理解内容。链路是张三到电话、电话到李四。张三李四不需要知道电话之间怎么传信号,电话也不需要管张三李四在聊什么。

  • 这个例子里只有两层协议:语言层、通信设备层。
  • 真实的网络协议复杂得多,要分更多层。
  • 但原理一致:分层带来解耦,让维护成本降下来。

三、OSI 七层模型

OSI(Open System Interconnection,开放系统互连)七层模型是一个逻辑上的定义和规范,把网络在逻辑上分成七层,每层都有对应的物理设备,比如路由器、交换机。它的优点是清晰区分了服务、接口、协议三个概念,理论完整,能指导异种主机之间的可靠通信。代价是既复杂又不实用,所以实际教学更多采用 TCP/IP 模型。

四、TCP/IP 五层(或四层)模型

TCP/IP 把 OSI 七层里的会话层、表示层、应用层合并成一层应用层,于是有了五层结构:

  • 物理层:负责光电信号的传输方式,比如双绞线、同轴电缆、光纤、Wi-Fi 使用的电磁波。集线器工作在物理层。
  • 数据链路层:负责相邻设备之间的数据帧传送与识别,含帧同步、差错检测、重传、校验,代表有以太网、令牌环网、无线 LAN。交换机工作在这一层。
  • 网络层:负责地址管理和路由选择,用 IP 地址标识主机,用路由表规划路径。路由器工作在这一层。
  • 传输层:负责两台主机之间的数据传输,比如 TCP 保证可靠送达。
  • 应用层:负责应用程序之间的沟通,如 SMTP、FTP、Telnet 等,网络编程主要就针对这一层。

物理层考虑得少,所以多数场合也把它称为 TCP/IP 四层模型。TCP/IP 是一组协议的统称,合起来叫协议簇,而网络层和传输层是其中最核心的部分。

五、操作系统和网络的关系

传输层和网络层都在操作系统内部实现,网络本身也是操作系统源码的一部分。我们在程序里调用的网络相关接口,本质上是网络层面的系统调用。

六、协议的本质:双方都能识别的结构体

站在语言层面重新看,协议就是双方都认识的数据类型。双方用同一份结构体定义,经过网络传输后,对方必然清楚每个字段占多少字节、代表什么意思。这一点决定了后面看任何协议,都要先问两句。

七、局域网通信

局域网(LAN)是覆盖有限地理范围的计算机网络,比如一个办公室、一栋楼或者一个校园。同一个局域网里的两台机器可以直接通信。用一个课堂类比:教室是个封闭的局域网,老师提问"A 同学上黑板做题",全班都听到了这条消息,但只有 A 站起来,其他人明白这条信息的接收者是 A 而不是自己。

要判断一条报文是不是发给自己的,需要唯一标识:每台主机都有 MAC 地址,全局唯一。通信时主机检查目的 MAC 地址,对上了才接收。

报文就是报头加数据

报文 = 协议报头 + 有效载荷。类比收快递:快递单是报头,包裹本身是有效载荷。报文是信息载体,协议是让这些信息被准确理解和传递的规则,两者缺一不可。

八、封装、解包与分用

  • 封装:报文自顶向下交付的过程,每一层加上自己的协议报头。
  • 解包:把报头和有效载荷分开。
  • 分用:把解出来的载荷交给上一层的哪个协议。

真实过程是数据先向下交付到最底层发出,对方底层接收后再自底向上交付。但在逻辑上,同层协议可以认为自己是在和对方直接通信。这也给了我们两个固定的思考角度:这个协议怎么解包,以及它怎么把载荷交给上层。

九、跨网络通信与 IP 地址

要跨网络就得靠 IP 地址标识。IP 协议有 IPv4 和 IPv6 两个版本,日常默认指 IPv4。IP 地址通常用点分十进制的字符串表示,比如 192.168.0.1,点号分隔的每段是一个字节,范围 0 到 255。

IP 地址与 MAC 地址的区别

  • IP 地址在整个路由过程中保持不变(这是初学阶段的近似说法)。
  • MAC 地址每跳都会变。
  • 目的 IP 是长远目标,MAC 是下一阶段的落脚点;目的 IP 是选路的依据,MAC 是局域网转发的依据。

用唐僧西天取经来类比:唐僧每到一个地方都说"我从东土大唐来,要去西天见佛祖",东土大唐是源 IP,西天是目的 IP,恒定不变;而上一站从哪来、下一站到哪,会一路变化,这就是源 MAC 和目的 MAC。

十、跨网络通信总结

  • 网络层(IP 层)向上看到的都是同一种报文,至少是 IP 报文。
  • IP 屏蔽了底层网络的差异,所以现在的网络都是 IP 网络,手机、电脑、平板都能互通。
  • 同一局域网的主机,直接按 MAC 地址找。
  • 不同局域网的主机,先把包交给路由器,路由器按目标 IP 检索再封装转发,最后由 MAC 地址定位到目标主机。

qidao123.com企服评测-应用市场 编辑提示

本文从"协议即约定"这一原点出发,梳理协议分层的设计动机、OSI 七层模型与 TCP/IP 五层模型的对应关系、局域网内的 MAC 定址逻辑、跨网络路由中的 IP 与 MAC 分工,以及封装、解包、分用的完整链路。全文为网络基础概念梳理,不含针对任何具体主机的扫描、探测或入侵方法,实践时请在自有或已授权的网络环境中操作。

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表