news 2026/10/3 22:35:24

【Linux笔记】网络基础

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Linux笔记】网络基础

一、网络发展的背景

1.1 从独立到互联的必然性

计算机是人的工具,人要协同工作,注定了网络的产生是必然的。

发展路径为:独立模式 → 网络互联(数据共享)→ 局域网LAN(交换机/路由器连接更多计算机)→ 广域网WAN(远端计算机)。

1.2 标准化组织的生态位

协议标准制定权掌握在业界公认组织手中:

  • IEEE: 制定802系列LAN/WAN标准,贡献全球30%通信标准。

  • ISO: 提出OSI七层模型,理论完备但工程落地弱。

  • ITU-T: 联合国下属电信标准机构,保障全球互操作性。

  • IETF: 民间志愿组织,通过RFC发布TCP/IP协议族标准,是互联网事实标准的缔造者。

  • 企业/区域组织: 如ETSI、ASTAP及泰凌微等公司,在特定领域(如低功耗蓝牙、Matter)推动定制化协议栈。

补充认知:

  • 协议 :本质是约定。

  • 但仅有约定不够——若双方用不同"语言"(如频率vs强弱表示0/1),仍无法通信。因此完善协议需细致规定+共同遵守,这正是标准化组织存在的意义。

二、初识网络协议

2.1 协议的朴素定义

协议:本质就是通信双方都认识的结构化数据类型。

OS内核用C/C++实现协议栈,双方使用相同结构体定义(如struct protocol),天然具备"共识",能准确解析对方数据。

这如同快递单格式统一,收发双方才能识别字段含义。

2.2 分层设计的工程动因

协议本质是软件,分层是为了解耦与模块化。

以"语言层+通信设备层"两层简化示例说明:每层专注特定问题,层间通过标准接口交互。

2.3 网络协议模型

OSI七层模型:服务、接口、协议三概念分离清晰,理论完整,但会话层/表示层难以接入操作系统,工程上不实用。

TCP/IP五层模型:物理层、数据链路层、网络层、传输层、应用层。

其中物理层通常由硬件实现,软件开发聚焦上四层,故常称"TCP/IP四层模型"。

设备对应关系(非绝对):

  • 主机内核:传输层→物理层

  • 路由器:网络层→物理层

  • 交换机:数据链路层→物理层

  • 集线器:仅物理层

注:现代三层交换机已实现网络层转发,路由器也支持端口转发等传输层功能。

三、再识网络协议

3.1TCP/IP存在的根本原因

单机内部已有内存协议(DDR)、磁盘协议(SATA/NVMe)等,但因距离近、环境可控,问题较少。

网络通信的最大特征是主机距离变远,距离变化带来新问题(丢包、乱序、异构介质),TCP/IP本质是针对"远距离异构互联"问题的分层解决方案。。

3.2协议与操作系统的实现关系

协议栈代码位于OS内核中:

  • 当应用程序发送数据时,通过系统调用将数据交付给内核协议栈;

  • 当应用程序接收时,内核自底向上解封装,最终通过Socket接口将数据递交给用户进程。协议不是抽象规则,而是内核中具体运行的代码逻辑。

3.3封装与分用的核心机制

报文 = 报头 + 有效载荷

报头:是对应协议层的结构体字段

载荷:是上层数据。

各层称谓: 传输层=段,网络层=数据报,链路层=帧。

封装: 自顶向下,每层添加首部(含长度、上层协议类型等)。

分用: 自底向上,每层根据首部中的"上层协议字段"将载荷交付给对应上层处理器。

学习铁律:

  • 必先明确其如何解包、如何将载荷交付上层。

  • 封包是解包的逆过程。

两台主机发送消息的原理:

四、网络传输基本流程

网络传输的全流程:

4.1 局域网络传输流程图

以 "以太网" 为例:同一局域网内主机可直接通信,无需路由器介入。

核心原理如下:

1. ARP获取目标MAC

2. 查MAC表转发

3. 校验目的MAC匹配

源主机

交换机

目标主机

解封装至IP层

关键原理补充:

- 碰撞域概念: 无交换机时,整个以太网是一个碰撞域,任一时刻只允许一台主机发送数据,否则发生碰撞。 ​ 现代交换式以太网已消除碰撞,但CSMA/CD机制仍保留在标准中。 ​ - MAC地址判定: 主机通过比对收到的帧的目的MAC与自身MAC决定是否接收,而非IP地址。

4.1.1 认识MAC地址

- 定义: 48比特(6字节)硬件标识符,网卡出厂时固化,通常唯一(虚拟机或可配置网卡除外)。 ​ - 表示法: 十六进制冒号分隔,如08:00:27:03:fb:19。 ​ - 作用域: 仅用于数据链路层相邻节点识别,不跨越路由器。 ​ - 查看命令: Windows下`ipconfig /all`可查看本机MAC。 ​ - 安全警示: MAC地址可被软件修改,不能作为身份认证唯一依据。

4.2 跨网络传输流程图

跨网段传输必须经路由器中转,核心特征是IP地址全程不变,MAC地址逐跳重写。

路由器处理细节(重点强调):

1. 收到帧后,剥离链路层头部,提取IP数据报。 ​ 2. 根据目的IP查询路由表,确定出接口与下一跳IP。 ​ 3. 通过ARP获取下一跳MAC地址。 ​ 4. 重新封装新的链路层帧(源MAC=自身出接口MAC,目的MAC=下一跳MAC),IP头保持不变。 ​ 5. TTL减1,若为0则丢弃并返回ICMP超时。

4.2.1 IP地址

定义: IPv4为32位整数,点分十进制表示(如192.168.0.1,每段0-255)。

核心作用:

  • 目的IP地址是长远目标: 指导全网路径选择,全程不变。

  • MAC地址是下一阶段目标: 仅用于当前链路的本地交付,逐跳变化。

  • IP层提供虚拟网络层: 屏蔽底层以太网、Wi-Fi、光纤等差异,让世界所有网络统一为"IP网络"。

IP地址与MAC的本质区别:

特性IP地址MAC地址
作用域全局路由本地交付
传输中变化不变(NAT除外)逐跳重写
寻址性质逻辑/层次化物理/扁平
分配方式动态(DHCP)或静态出厂固化
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/3 22:35:02

C输入输出函数详解:Coursebook printf/scanf完整参考

C输入输出函数详解:Coursebook printf/scanf完整参考 【免费下载链接】coursebook Open Source Introductory Systems Programming Textbook for the University of Illinois 项目地址: https://gitcode.com/GitHub_Trending/co/coursebook Coursebook 是伊利…

作者头像 李华
网站建设 2026/10/3 22:34:20

merge 为什么有时只是移动指针,有时会多一个 commit

merge 为什么有时只是移动指针,有时会多一个 commit 前面讲 checkout 和 reset 时,我们一直围绕几样东西看: HEAD:当前站在哪里。分支引用:refs/heads/master 这种名字指向哪个 commit。index:下一次提交准…

作者头像 李华
网站建设 2026/10/3 22:23:02

企业AI Agent定制:把万元当元来比,错在哪里?

一家企业的经营分析岗让助手比较两个区域上半年的费用。助手很快给出结论,说A区比B区高出三成。同事看着数字觉得不对,回去翻原始报表才发现,A区的单位是万元,B区是元,两个数被直接放在一起比了。数字都是从系统里取出…

作者头像 李华