网络基础物理层详解:数据交换、封装解封装与传输介质

发布时间:2026/10/16 19:23:04
网络基础物理层详解:数据交换、封装解封装与传输介质
简介这份 docx 文档面向网络初学者与嵌入式开发入门者系统梳理网络基础中物理层与数据交换的核心概念帮助读者理解数据从应用层到物理层的完整流转过程。内容围绕数据封装与解封装展开将封装比作快递包裹说明上层数据如何逐层添加报头、最终以 010101 比特流经网卡与传输介质发送接收端再自下而上逐层拆解。文档还对比电路交换、报文交换与分组交换三种方式的差异剖析分组交换如何通过分片与标识解决多设备共享链路的紊乱与公平性问题。物理层部分列举同轴电缆、双绞线、光纤等常用传输介质讲解 10BASE5 以太网标准、共享型网络、冲突域以及 CSMA/CD 载波侦听多路访问与冲突检测机制并延伸至退避算法与随机延迟重发。资源包共 1 个 docx 文件约 3.46MB结构紧凑、图文并茂适合作为网络协议栈与嵌入式网络通信的入门笔记。目前已有 104 人学习可帮助读者建立从物理层到传输层的整体认知框架。1. 从一根网线说起网络基础物理层到底在讲什么很多人第一次听到“物理层”这三个字脑子里浮现的是机房、路由器、水晶头或者干脆觉得这是通信专业才需要啃的东西。可实际上你每天刷手机、连 Wi-Fi、插网线最先打交道的就是它。打个比方如果把整个网络通信比作寄快递物理层就是那条从你家门口到快递站的真实马路——它不关心包裹里装的是情书还是合同只负责让车轮压过去、让信号跑起来。没有这条路再厉害的协议栈、再聪明的路由算法都只能停在纸面上。这份《网络基础物理层详细讲解》要解决的正是很多人“会用网却说不清网”的尴尬。它从数据交换的三种形式讲起一路讲到网卡、传输介质、以太网标准和冲突检测把比特流怎么从一台设备爬到另一台设备这件事拆得明明白白。搞懂物理层你再看“为什么同轴电缆会越用越慢”“为什么双绞线要绞在一起”“为什么网线是网络三要素之一”就不会再觉得是玄学而是能顺着因果链条自己推出来。它也是嵌入式方向绕不开的底子——设备要联网物理层就是第一道门槛。2. 三种数据交换方式电路、报文、分组到底差在哪2.1 电路交换先修路再通车独占一条逻辑电路电路交换的思路非常“老派”但特别容易理解。想象你要跟对面楼的朋友喊话你们先拉一根专线这根线只传你俩的声音别人想用也用不了。通信之前先维护一条逻辑电路这条线路只传递你的数据不会传递别人的数据。好处是稳定、顺序有保障坏处也明显当某一时刻不通信了这条逻辑电路还占着别人就无法使用这条线路进行数据传输了。这就像你在食堂占了个座人走了包还在别人只能端着盘子干瞪眼。电路交换的典型代表是早期电话网——通话期间整条链路为你独享挂断才释放。它的资源利用率低但时延稳定适合语音这种对连续性要求高的场景。放到今天看电路交换的思想并没有消失只是换了个形式存在于某些专线场景里。2.2 报文交换加个标识让多个人共用一条路为了提升效率当两者以上想要同时使用同条线路发送数据时防止数据在传输过程中传输混乱就采用标识的办法。每个人将自己要传输的数据加个标识这样根据标识就不会将数据传输混乱。这就是报文交换的核心整条报文带着目标地址等信息一次性发出去中间设备根据标识决定往哪转。打个比方报文交换像寄一整箱书箱子上写清楚收件人快递站按地址分拣。问题是这箱书可能特别大搬运的时候把传送带堵得死死的后面的人只能等。报文交换不限制单次数据大小一份大报文可能长时间占用链路实时性差对中间设备的存储要求也高。它解决了“多人共用一条线”的混乱问题但没解决“大块头堵路”的问题。2.3 分组交换切成分片固定大小公平转发分组交换依然进行报文交换的思路增加了标识不过将每个数据的大小进行定义。先做一个分片每个数据段的值是有一个上限值的同时加一个标识标识我们的数据是从哪个设备到哪个设备的。这样我们多台设备就可以使用同一条链路进行通信了至此解决了数据紊乱的问题。但新的问题马上冒出来此时会出现一个数据转发的不公平性在数据大小不一致的情况下会出现不公平的现象。于是我们规定一个大小固定值每次只传输这么大的值。这就像把一整箱书拆成统一规格的小包裹传送带每次只搬一个搬完就换下一个谁也别想霸占整条线。分组交换的代价是每个分片都要带报头额外开销变大但换来的是链路利用率和公平性的平衡。今天互联网的底层逻辑基本就是分组交换这一套。交换方式是否独占线路是否分片典型问题电路交换是否空闲时也占用资源报文交换否否大报文堵塞链路分组交换否是报头开销、转发公平性3. 封装与解封装快递包裹式的数据旅程3.1 从应用层到物理层一层层套盒子数据封装就像快递包裹快递包装盒塞了很多东西最终对方要的只是里面的小物件这个小物件就像是应用层的数据。对于接收者而言只是把数据拆开看看没问题就行了。封装是从上层到下层解封装是从下层到上层一层层解封装。每经过一层就多贴一张“面单”传输层加上端口号网络层加上 IP 地址数据链路层加上 MAC 地址到了物理层全部变成 010101 的比特流。这个过程的妙处在于分工。应用层只管内容对不对传输层只管端到端可不可靠网络层只管往哪走链路层只管这一跳怎么送物理层只管信号怎么发。每一层拆开自己的“面单”剩下的原封不动交给上一层。你在浏览器里点一个按钮背后就是这样一个套娃式的旅程。3.2 网卡与协议栈最小网络的三要素网络诞生前人们靠刻录光盘、拷软盘来交换数据那叫“ Sneakernet ”。网络诞生后网线、网卡、协议栈这三样凑齐才称得上一个最小网络。网线上跑的是比特流通过网卡转换现在的协议栈 TCP/IP 几乎都是集成在设备上的只要你买的设备跟网络相关基本上都支持 TCP/IP。这里有个容易忽略的点协议栈不是软件专利很多嵌入式设备把 TCP/IP 协议栈直接做进芯片里。你写代码调用 socket 的时候底下可能是一颗几块钱的网卡芯片在默默干活。网卡负责把并行数据转成串行比特流按物理层规范调制到介质上协议栈负责把上层交下来的数据加上各层报头。三要素缺一不可少了协议栈网卡收到比特流也不知道该交给谁。// 伪代码示意数据从应用层向下封装的过程 // 每一层加上自己的头部最后交给网卡发送 app_data hello; seg tcp_header app_data; // 传输层加端口 packet ip_header seg; // 网络层加 IP frame eth_header packet; // 链路层加 MAC send_to_nic(frame); // 物理层转比特流上面这段伪代码不是真实可编译的代码而是为了说明封装顺序越靠上的头部越晚被拆掉越靠下的头部越早被处理。接收端反过来网卡先收到帧剥掉以太网头交给 IP 层剥掉 IP 头再交给 TCP 层剥掉 TCP 头最后应用层拿到原始数据。任何一层发现校验不对通常直接丢弃不会往上递。4. 传输介质与以太网标准同轴、双绞、光纤怎么选4.1 同轴电缆共享型网络的甜与苦同轴电缆是早期有线电视用的那种线要实现多设备的互联可以使用到耦合器在耦合器的每个接口下接一个设备。画同轴线缆以一根线表示一根线上承载了多个设备。基于同轴电缆进行多设备互联数据在传输过程中有冲突的问题。同轴电缆这玩意比较贵而且所有设备共享一根网络线称为共享型网络。共享型网络的缺点很直白传输速度慢没有私密性可言。你在线上发的数据所有挂在这根线上的设备都能看到只是网卡会根据 MAC 地址决定要不要收。设备越多冲突越频繁冲突域也就越大。冲突域指的是设备互相传输时会产生数据碰撞的范围这个范围内设备越多传输越慢。以太网标准里有个经典命名10BASE5。10 表示每秒可以传 10MBASE 表示基于基带传输在同轴电缆上进行曼彻斯特编码传输5 表示传输距离 500 米。这套标准今天看很原始但它奠定了以太网的基本框架。4.2 CSMA/CD先听后发边听边发冲突停发如何避免冲突使用 CSMA/CD载波侦听多路访问/冲突检测技术。先听后发一个设备先去听线上有没有电压摆动值听完后若发现线是静止的那么我就开始发送数据。但冲突不可避免因为可能同时有两台设备都听到了线是静止的于是边听边发同时有两台设备都听到了线是静止的那么先听到线上有电压摆动的就不往线上发送数据停止发送冲突停发。停发之后怎么办会有一个退避算法计算一个值比如 10 秒此时 10 秒内不往线上发10 秒后再次去听线上是否还是被占用这里计算称为随机延迟后重发。这个机制像几个人在黑暗房间里说话先听有没有人开口没人开口就说说到一半听到别人也在说就立刻闭嘴随机等一会儿再说。CSMA/CD 在共享型以太网里是刚需到了交换式全双工网络里就基本退休了。4.3 双绞线与光纤现代布线的两大主力双绞线分 UTP 非屏蔽双绞线和 STP 屏蔽双绞线5 类、6 类指的是双绞线的类型。双绞线如果是千兆那么八根线都用了。绞在一起不是为了好看而是为了抵消电磁干扰——两根线绞合外界干扰在两根线上产生的噪声几乎相同接收端做差分就能把噪声减掉。5 类线通常支持百兆6 类线在千兆场景更稳线对绞距和材质都有讲究。光纤则是另一条路线用光信号代替电信号抗电磁干扰、传输距离远、带宽潜力大。它的代价是接口设备更贵、施工更讲究。选介质的时候短距离、低成本、设备密集的场景双绞线更常见长距离、高带宽、强干扰环境光纤更合适同轴电缆今天更多出现在特定工业或广电场景普通办公网络已经很少见了。介质典型速率距离抗干扰常见场景同轴电缆10M500m一般早期以太网、广电双绞线100M~1G100m较好办公、家庭布线光纤1G~100G数公里很好骨干、长距离5. 常见误区与易混概念别把物理层和链路层搅在一起5.1 误区一物理层就是网线很多人把物理层等同于“那根线”其实物理层定义的是比特流的传输规范包括电压、时序、编码方式、接口形状。网线只是介质介质只是物理层的一部分。同样的双绞线跑 10M 和跑 1G 的编码方式不同物理层的工作方式也不同。把物理层理解成“线”会漏掉网卡、编码、时钟同步这些关键角色。5.2 误区二冲突域和广播域是一回事冲突域是数据碰撞的范围广播域是广播帧能到达的范围。同轴电缆时代一根线上所有设备既在同一个冲突域也在同一个广播域。到了交换机时代每个端口是一个冲突域但默认整个交换机是一个广播域。路由器才负责隔离广播域。分不清这两个排查网络慢的时候就会找错方向。5.3 误区三分组交换一定比报文交换快分组交换的优势是公平和链路利用率不是绝对速度。如果网络负载很轻报文交换少了一层分片开销反而可能更快。分组交换的代价是每个分片都要带报头设备要做重组CPU 和内存开销更大。它赢在“多人共用时不打架”不是赢在“单次传输更快”。5.4 误区四TCP/IP 是硬件插上网线就有TCP/IP 协议栈确实常被集成在设备里但“集成”不等于“自动工作”。嵌入式设备可能只带精简版协议栈需要你配置 IP、掩码、网关有些裸机环境甚至要自己移植。网线插上只代表物理层通了链路层、网络层、传输层还得一层层跑起来。5.5 误区五光纤一定比双绞线好光纤在带宽和距离上有优势但短距离、低成本场景下双绞线更划算。光纤接口的光模块、熔接、测试设备都更贵家庭或小型办公拉光纤属于杀鸡用牛刀。选介质看的是场景不是“谁更高级”。6. 什么时候该深究物理层什么时候点到为止如果你在做嵌入式开发尤其是带网口的设备物理层是绕不开的。你需要知道 PHY 芯片和 MAC 控制器怎么配合知道 RJ45 接口的差分线怎么走知道为什么千兆网线八根线全用而百兆只用了四根。这些细节直接决定你的板子能不能稳定联网。调试的时候示波器看眼图、测电压摆动值都是物理层的活。血泪经验是很多“网络时通时不通”的问题最后查出来是阻抗不匹配或者变压器选型不对跟协议栈一点关系都没有。但如果你只是写上层业务比如做个 Web 后台或者 App物理层可以点到为止。你知道数据最终会变成比特流从网卡出去知道封装解封装的大致顺序就够用了。深挖到曼彻斯特编码的每一个电平跳变对你的业务代码没有直接帮助。这时候把时间花在 TCP 状态机、HTTP 缓存策略上回报更高。判断标准很简单你的工作是否直接跟“信号能不能从 A 点传到 B 点”打交道。是就往下钻不是就停在“网线、网卡、协议栈三要素”这一层。我自己的习惯是每次遇到网络问题先强制走一遍从物理层到应用层的排查清单线插好没、网卡灯亮不亮、IP 通不通、端口开没开。从那以后我每次调网络问题都强制走一遍这个顺序很少再被“玄学”带偏。希望帮到你。本文还有配套的精品资源点击获取