
简介《网络基础物理层详细讲解》是一份面向嵌入式与网络初学者、准备补强TCP/IP底层概念的docx学习材料重点梳理数据从上到下封装及逐层解封装的过程并比较电路交换、报文交换与分组交换的机制差异。文档结合网线、网卡、协议栈三要素展开同轴电缆、双绞线、光纤等传输介质以及10BASE5以太网标准、共享型网络、冲突域和CSMA/CD载波侦听、冲突检测、随机延迟重发等知识点适合课程复习与面试前查漏补缺。 资源包仅含1个docx文件压缩包约3.46MB篇幅与排版便于按章节阅读和标注。目前已有106人学习说明内容对理解物理层与链路层基础具备一定参考价值。读者可从中获得数据交换方式的对照框架、封装解封装的分层思路以及以太网早期介质与冲突处理机制的完整讲解为后续学习TCP/IP协议栈和嵌入式联网打下概念基础。1. 从一根网线开始零基础也能搞懂的物理层到底是什么很多人第一次听到「网络基础物理层」脑子里浮现的是路由器、WiFi、IP 地址这些词结果翻开资料一看全是电压、编码、冲突域瞬间就发怵了。其实换个角度想你在家寄快递不管包裹里装的是合同还是零食快递车走的都是同一条马路。物理层就是这条「马路」——它不关心你传的是网页还是视频只负责把 0 和 1 变成电信号、光信号送到对面去。这份资料讲的就是这条马路怎么修、上面怎么定规矩、多辆车怎么才能不撞在一起。适合刚接触 Ethernet、tcpip 网络基础的嵌入式新手也适合工作里要跟网卡、协议栈打交道但一直没弄明白底层的人。2. 先弄明白为什么要学三种数据交换方式决定了你后面所有的理解学物理层之前得先知道「数据为什么要交换」。这就像早高峰的路口如果所有车都想走同一条道没有规则一定堵死。网络里的三种交换方式就是三代「交通规则」的演进理解了它们你再看后面的冲突域、CSMA/CD 就不会觉得是天上掉下来的玄学。2.1 电路交换先占一条专属车道电路交换的思路最朴素通信之前先在你和对方之间维护一条逻辑电路这条线路只传你的数据不传别人的。好处是稳定、独占坏处也很明显——哪怕你这一秒没说话这条线路依然被你占着别人想用也用不了。我第一次理解这个是把它想成打电话你拨通了哪怕两个人都不说话这条通话链路也一直挂着第三个人打不进来。传统电话网就是这个模型。它的代价是资源浪费。一条链路被占住却闲置等于一条车道空着但拉了警戒线别的车只能干瞪眼。所以在数据量小、断续通信的场景里电路交换效率很低。2.2 报文交换给每个包裹贴上标识为了提升效率让两台以上的设备能同时用同一条线路发数据就得防止数据在传输过程中混乱。办法是加标识每个人把自己要传的数据加上一个标识接收端根据标识来判断这段数据是谁发的、发给谁的。打个比方一条传送带上同时跑着好几个人的包裹每个包裹上写清楚收件人到了终点再按标识分拣就不会拿错。这就是报文交换的核心——整段数据加上头部信息一站一站往下送。它解决了「共用线路」的问题但没解决「大包裹堵路」的问题一个报文如果特别大它占着线路的时间就长后面的小报文只能等着。这就是后面分组交换要动手改的地方。2.3 分组交换把大包裹切成固定大小的小格子分组交换依然做报文交换那套「加标识」的事但多做了一步给每个数据的大小定一个上限先做分片。每个数据段有固定上限同时加上标识说明这段数据是从哪个设备到哪个设备的。这样一来多台设备就能真正交替使用同一条链路数据紊乱的问题算是解决了。但新的问题又冒出来如果各家的数据大小不一致谁的分片大谁就占便宜会出现转发的不公平现象。于是再规定一个固定值每次只传这么大的值公平性也有了着落——报头加上这个固定大小的数据就一路交到物理层通过网卡/网口走传输介质从此往后线上跑的全是 010101。这段演进最值得新手记住的一点是每一代方案都不是凭空设计的而是被上一代的缺陷逼出来的。你后面学到的每一个参数往往都能追溯到某个「不得不这么定」的理由。2.4 封装与解封装寄快递那点事数据从上往下走的过程叫封装像打包快递盒子里塞了很多东西泡沫、说明书、赠品但对方真正想要的只是里面那个小物件那个小物件就像应用层的数据。每经过一层外面就多套一层包装写上这一层关心的信息。接收方反过来做解封装从下层到上层一层层拆拆到应用层拿到真正的数据。对接收者来说就是把包裹拆开看看没问题就收下。这里有个新手常犯的迷糊以为封装是「把数据变复杂了」。其实不是封装是「把每一层需要的信息附加上去」好让对面每一层都能各取所需。物理层只看最外层能不能变成电信号它压根不关心里面装了什么。提示理解封装顺序上层到下层和解封装顺序下层到上层是后面排查网络问题的基本功方向记反了看抓包会一脸懵。3. 最小网络三要素网线、网卡、协议栈怎么凑成第一条通路网络诞生前人们靠刻录来搬运数据网络诞生后想搭一个能用的最小网络只需要三样东西网线、网卡、协议栈。这三个词听着专业拆开看都是生活里能对应的东西。3.1 三要素各管什么网线上跑的是比特流也就是一串 0 和 1 的电信号或光信号。它自己不懂含义只负责把信号从一头送到另一头相当于快递的运输车。网卡负责转换把设备内部能理解的数据变成线上能跑的比特流反过来也把收到的比特流还原。它是「翻译官」一边对接设备一边对接介质。协议栈是「共同语言」。现在用的 tcpip 协议栈几乎都集成在设备上了只要你买的设备跟网络相关基本都支持 tcpip。换句话说你不需要自己去实现一套协议设备出厂就带着。新手容易把这三者混为一谈觉得「插上网线就有网了」。实际上插上网线只是有了运输通道网卡得工作正常协议栈得配好地址三者缺一通路就是断的。这也是为什么很多「网线插了但上不了网」的问题最后查出来是网卡驱动或者地址配置的锅。3.2 一个能上手的最小验证思路入门阶段不用急着搭复杂环境先做一件事确认你手上这台设备的网卡能被系统识别、协议栈正常工作。在 Linux 环境下可以先用最基础的命令看一眼网卡状态。# 查看所有网络接口确认网卡是否被系统识别 ip link show # 查看接口的地址配置情况确认协议栈是否分配了地址 ip addr show第一条命令列出系统认到的所有网络接口你会看到类似eth0、wlan0这样的名字后面跟着state UP或state DOWN。UP表示这块网卡已经被启用DOWN表示还没启用。如果连接口名字都看不到说明网卡没被识别问题在驱动或硬件层面跟协议栈无关。第二条命令看地址重点是有没有分配到 IPv4 地址。有地址说明协议栈在这块网卡上是工作的没有地址可能是没插网线、没开自动获取或者配置被清空了。这两条命令的意义在于帮你建立分层排查的意识先确认物理和驱动这一层通不通再往上查地址和协议。新手最常见的翻车方式就是一上来就去改各种网络配置结果底层网卡根本没起来改什么都没用。注意不同发行版的命令输出格式略有差异但接口名、状态、地址这三类信息一定会有认准这三样即可。3.3 从「能看见」到「能通」确认网卡和地址之后下一步才是验证连通性。这里的顺序很重要接口在、状态 UP、有地址三者齐了再去测通断否则你测的其实是一个不存在的通路。入门时建议把这条链路当成检查清单来记物理连接线插好没→ 网卡识别系统认不认→ 接口启用UP 没→ 地址配置有没有 IP→ 协议栈工作能不能收发。每一步对应不同的排查方向比漫无目的地试要快得多。4. 传输介质怎么选同轴电缆、双绞线、光纤的门道介质就是「马路本身」。资料里列了几种常用传输介质每一种都有自己的脾气选错了不是不能跑而是跑得憋屈。4.1 同轴电缆一根线上挂多个设备早期的有线电视用的就是同轴线缆。要实现多设备互联可以在耦合器的每个接口下接一个设备画出来就是一根线上承载了多个设备。这种结构叫共享型网络所有设备共享一根线。以太网标准里有个经典写法10BASE5拆开看10表示每秒可以传 10MBASE表示基于某种标准传输在同轴电缆上用的是曼彻斯特编码5表示传输距离 500 米。这三个位置的数字和字母各自有明确含义不是随便编的代号。它的缺点很实在传输速度慢没有私密性可言——一根线上所有设备都能听到信号谈不上谁的数据只属于谁。再加上同轴电缆本身比较贵现在基本退出了主流桌面场景。4.2 冲突域设备越多撞车越频繁设备互相传输时会产生数据碰撞数据发生碰撞的这个范围就叫冲突域。设备越多冲突域越大传输越慢因为大家抢同一根线。这就像一间没有主持人的会议室人越多同时开口的概率越高谁也听不清谁。冲突域这个概念之所以重要是因为后面所有的「怎么避免撞车」的技术都是围绕缩小或管理冲突域展开的。4.3 CSMA/CD先听后发、边听边发、冲突停发避免冲突用的技术叫 CSMA/CD中文是载波侦听多路访问/冲突检测。名字长拆成三步就很好记。第一步先听后发设备先去听线上有没有电压摆动值听完发现线是静止的才开始发送数据。这就是「先听后发」。第二步边听边发发送的同时继续听因为冲突不可避免——完全可能出现两台设备同时听到线是静止的然后同时开口。第三步冲突停发一旦先听到线上有电压摆动就停止发送不往线上继续送数据。停下之后还有一个退避算法计算一个随机值比如 10 秒这 10 秒内不往线上发10 秒后再去听线上是否还被占用这个动作叫随机延迟后重发。这三步的逻辑其实跟现实中两个人同时说话一模一样先听听有没有人在讲讲的时候留意对方是不是也开口了撞上了就一起停各自随机等一会儿再说避免下次又同时开口。退避算法里那个「随机」是关键如果两边都等固定时长下次还会撞。4.4 双绞线五类六类到底差在哪双绞线分 UTP 非屏蔽双绞线和 STP 屏蔽双绞线。五类、六类指的是双绞线的类型数字越大规格越高。资料里提到一个容易忽略的细节双绞线如果是千兆那么八根线都用了。这句话的含义是早期百兆场景里可能只用其中几对线到了千兆八根线全部参与传输线材质量和接线工艺的影响就被放大了。所以新手自己做网线时八根线压接顺序错一根可能百兆能跑、千兆就是跑不满这种问题特别隐蔽。屏蔽与非屏蔽的区别在于抗干扰STP 多一层屏蔽层适合干扰较大的环境但对接地和施工要求更高普通办公和家用场景UTP 就够用。别一上来就迷信屏蔽线屏蔽层没接好反而可能变成干扰的收集器这是很典型的血泪经验。4.5 光纤把电信号换成光资料里光纤部分没有展开但保留这个名词本身就说明介质演进的方向从电信号走向光信号。入门阶段你只需要建立一个印象——不同介质的差别集中在传输距离、抗干扰能力和成本这三个维度上具体选型在后面的工程实践中会不断遇到不必现在就把每种规格背下来。用一个表把几种介质的入门认知串起来介质典型特点新手需要记住的点同轴电缆共享型网络成本高一根线挂多设备冲突明显双绞线 UTP非屏蔽常见于办公家用千兆时八根线全用上双绞线 STP带屏蔽层抗干扰屏蔽层接地没做好会反噬光纤光信号传输方向是更远、更抗干扰5. 新手最容易踩的坑物理层排查常见问题物理层的问题有个特点现象看着像「软件坏了」根子却在最底下。下面几条是入门阶段最高频的翻车现场每条都按「现象 → 原因 → 解决」写清楚。5.1 网线插了接口状态还是 DOWN现象网线明明插好了ip link show里对应接口还是state DOWN。原因可能是网卡没被启用也可能是线序或接口本身有问题还可能是对端设备端口没开。物理层不通上层再怎么配都是白搭。解决先确认接口是否被人为关闭再换一根确定好用的网线、换一个端口试。别急着改配置文件先让接口状态变成 UP 再说。5.2 百兆能通千兆跑不满现象同一根网线接百兆设备正常接千兆设备速度上不去或者直接协商不上。原因千兆要用到八根线只要其中一对压接不良、线序错误或者线材本身规格不够就会出现这种「降级能用、满速不行」的现象。解决检查水晶头压接顺序和八根线的通断确认线材类型满足千兆要求别拿老线材硬上千兆。5.3 设备一多就变慢还以为是自己程序的问题现象网络上设备数量增加后整体传输明显变慢偶尔还有丢数据。原因共享型网络里设备越多冲突域越大碰撞概率上升重发次数增加表现出来就是「慢」。这不是应用层的锅。解决先判断当前网络是不是共享型结构设备数量是不是超出了合理范围。理解冲突域这个概念才知道该从结构上分流而不是去优化代码。5.4 把封装和解封装的方向记反现象看抓包或者分析数据流向时对不上层与层的对应关系越看越乱。原因封装是从上层到下层一层层往外加解封装是从下层到上层一层层往里拆。方向记反整个分析框架就塌了。解决拿寄快递类比固定记一遍——寄出时一层层打包收到时一层层拆开。每次分析前先在纸上画一遍方向比背定义管用。5.5 迷信屏蔽线结果干扰更严重现象换了 STP 屏蔽双绞线干扰问题不但没改善反而更不稳定。原因屏蔽层需要正确接地才能发挥作用接地没做好屏蔽层反而会像天线一样把干扰引进来。解决先确认施工和接地条件是否满足条件不够就用 UTP别为了「看起来更高级」而上屏蔽线。提示物理层排查的核心原则是先底层后上层。接口状态、线材通断、协商速率这三样没确认就别去动协议配置。6. 下一步学什么从物理层往上走的入门路线物理层搞明白之后往上走的路其实很清晰但新手最容易犯的错是「跳跃式学习」——刚知道 010101就一头扎进 TCP 三次握手结果两头都没落地。我的建议是按这个顺序推进每一步都配一个能动手的小动作阶段学什么动手做什么第一步巩固物理层与介质用ip link、ip addr反复确认接口状态和地址养成先看底层的习惯第二步数据链路层与以太网帧理解 MAC 地址和帧结构知道冲突域是怎么被交换机切分的第三步网络层与 IP搞清楚地址从哪来、为什么需要分段第四步传输层与 tcpip 协议栈回到三种交换方式看分组交换在实际协议里怎么体现第一步到第二步之间有个特别值得做的练习把「最小网络三要素」在真实设备上对一遍。网线是不是好的、网卡有没有被识别、协议栈有没有正常工作这三件事亲手验证一次比看十遍定义都扎实。嵌入式方向的同学尤其要重视这一点因为设备上的协议栈是集成的出了问题你只能从物理层和驱动层往上找没有太多软件层的回旋余地。第三步开始就要慢慢建立「分层」的直觉每一层只关心自己那一段不越界。物理层不关心数据含义网络层不关心电信号怎么变这种各管一摊的设计才是整个网络能扩展到今天这个规模的原因。你把这条主线抓住了后面学什么协议都只是往框架里填内容。我第一次系统学这块的时候最大的教训是太急着背参数10BASE5的每个数字背得滚瓜烂熟却说不清为什么不干脆一开始就用分组交换。后来逼自己把三种交换方式的演进逻辑按顺序讲一遍讲不通的地方就回去补才发现很多「玄学」的细节其实都有前因后果。从那以后我每次学新的网络概念都强制先问一句「它解决了上一代的什么问题」问不出来就先不往下学。希望这个习惯也能帮到你让你在物理层这一关少走点弯路。本文还有配套的精品资源点击获取