物理层在计算机网络里存在感极低却是整个网络通信真正“落地”的地方。学过OSI七层模型的人都知道它是第一层但真到排查问题的时候才反应过来线序不对、光模块不兼容、信噪比太低、编码方式不匹配哪一条都足以让上层的TCP、HTTP全部白搭。这篇文章就把“计算机网络理论2.物理层”这个主题彻底拆开讲清楚包括物理层的核心职责、两个必须吃透的通信公式、常见传输介质怎么选、编码调制在做什么、信道复用技术怎么用以及我实际踩过的一些坑和排查经验。适合正在学计网理论的学生、刚入行的网络工程师、还有想搞明白“为什么网线换了就好了”这类问题的同学。1. 物理层的职责边界先搞清楚它管什么、不管什么1.1 物理层在体系结构里的位置七层模型里物理层是倒数第一层但它的开发优先级从来不是倒数第一。数据从应用层的HTTP报文开始逐层封装到传输层变成TCP段到网络层变成IP包到数据链路层变成帧最后到达物理层时只剩下一串纯粹的0和1比特。物理层的活就是从比特流这个节点开始的。我们经常用“透明传输”这个形容词物理层的透明传输意思是上层给它什么比特流它就把这些比特流变成物理信号发出去接收端再把物理信号还原成比特流交给数据链路层。它不关心比特流里有没有错误控制字段、是什么协议封装的数据更不会去做路由选择、重传机制这些高层的决策。就好比物流运输里的货车它只管把货从A仓运到B仓货是食品还是化工原料不是司机操心的事。很多人在学习时把物理层理解成“网线接口规范”这不算错但太窄了。物理层要解决的问题可以归纳成四个特性机械特性接口长什么样、引脚怎么排列、电气特性电压电平范围、信号时序、功能特性每个引脚干什么用、过程特性事件的先后顺序。这四件事统一起来才能保证两个不同厂商的设备能够对接互通。比如RJ45接口是机械特性范畴千兆以太网里每对线的收发逻辑则是电气和功能特性范畴。1.2 数据通信系统的三个组成部分为了说清楚物理层的工作模型教科书通常把数据通信系统分成三块源系统、传输系统、目的系统。源系统里包含源点产生数据的设备和发送器把数据编码成信号传输系统可以是简单的一条网线也可以是一个复杂的广域网链路目的系统则包含接收器和终点。这里要特别留意“数据”和“信号”的区别。终端设备产生的是数字数据用二进制表示信号是数据的物理载体分模拟信号和数字信号两类。物理层要做的事就是把数据变成适合在信道上传输的信号这个过程典型的是编码和调制接收端则做反变换也就是解码和解调。这个区分太重要了因为很多人混淆了“数据”和“信号”于是把“带宽”和“速率”混为一谈后面会专门讲。另一个值得深入的地方是通信方式。按信号传送方向与时间的关系分为单向通信单工、双向交替通信半双工、双向同时通信全双工。实际工程里以太网用的是全双工对讲机是半双工传统电视广播是单工。全双工需要收发两条独立信道这也是为什么双绞线里要用多对线的原因之一。物理层设计的核心出发点就是在给定的信道条件下尽可能提高信息传输速率同时把误码率控制在可接受范围内。用大白话说既要跑得快又要跑得稳。这两个目标有时候是矛盾的所以就有了下一节要讲的奈奎斯特定理和香农公式。2. 物理层必须吃透的两个公式奈奎斯特与香农2.1 奈奎斯特定理无噪声信道的速率上限奈奎斯特定理解决的是理想情况下码元传输速率的问题。它的核心结论是在理想低通信道中为了避免码间串扰码元传输速率上限是带宽的两倍就是2W波特W为信道带宽单位为Hz。如果每个码元可以携带更多的比特那么极限数据速率就是C 2W log₂V这里的V是码元可能取的离散电平数。比如一个码元用4种电平表示那一个码元就能带2比特速率直接翻倍。有个很经典的例子某电话信道的带宽W3000Hz理想情况下用2电平传输时极限码元速率是6000波特数据速率也只有6000bit/s。如果改用4电平也就是四进制码元那数据速率就变成 2×3000×log₂4 12000bit/s带宽没变但速率提升了一倍。这就是为什么工程师在带宽受限的信道里绞尽脑汁地增加电平个数来“塞”更多比特。但奈奎斯特的结论只适用于没有噪声的理想信道。真实信道里噪声必然存在电平分得越细噪声就越容易把相邻电平“糊”在一起导致误码。所以奈奎斯特给出了一个理想约束香农则给出了噪声条件下的另一个上限。2.2 香农公式带噪声信道的容量边界香农公式长这样C W log₂(1 S/N)其中C是信道容量比特/秒W是信道带宽HzS是信号平均功率N是噪声平均功率S/N是信噪比通常用分贝dB表示。换算关系是信噪比(dB) 10lg(S/N)。这个公式透露了一个非常重要的信息只要信噪比确定了信道容量就有上限而且这个上限是无法通过增加电平数突破的。比如同样是一个3000Hz带宽的电话信道如果信噪比为30dB那S/N就是1000倍代入公式得到 C 3000 × log₂(1001) ≈ 3000 × 9.966 ≈ 29897bit/s大约30kbit/s。也就是说在这个信道里不管用什么高级编码方式理论上最快也就30kbit/s。但如果你把信噪比提高到40dBS/N是10000倍容量就变成 3000 × log₂(10001) ≈ 3000 × 13.288 ≈ 39864bit/s。信号功率越高、噪声越低容量就越大。这解释了为什么在实际网络工程里无线链路的速率和信号强度紧密相关。2.3 两个公式放在一起怎么用我见过太多人把这两个公式背下来却不会结合使用甚至有人把“带宽”的概念搅成一锅粥。这里用大白话总结一次奈奎斯特公式管的是“无噪声信道里最多能发多少个码元”它的约束来自码元间干扰。香农公式管的是“在噪声世界里信道容量到底有没有天花板”它的约束来自噪声。实际设计通信系统时先用香农公式确定理论容量再去选择信号调制和编码方案让实际速率尽量逼近这个极限。如果实际速率远低于香农极限那就是调制编码方案不够好如果设计方案声称超过香农极限那一定算错了信噪比或者带宽单位数学上不成立。再补充一个我在学习中踩过的坑Hz和bit/s完全是两个概念。Hz是带宽单位衡量信号的频率范围bit/s是数据速率单位衡量每秒传输的比特数。之所以混淆是因为某些简单编码下一个符号恰好对应一个比特带宽数值和速率数值相等但换了高阶调制后两者就明显分道扬镳了。看到这里的人建议把这两个单位刻进潜意识。3. 传输介质不同介质背后的物理约束3.1 双绞线短距离布线的主力双绞线是最常见的传输介质由两根互相绝缘的铜导线螺旋绞合而成。绞合的目的是降低两根线之间的电磁干扰同时减少对外辐射。根据有无屏蔽层分为屏蔽双绞线STP和非屏蔽双绞线UTP。很多人在工程里只看Cat几类的线忽略屏蔽层这是个值得注意的习惯。类别方面Cat5e支持千兆Cat6在短距离下能跑万兆Cat6a可以稳定传输万兆Cat7和Cat8更常用于数据中心高速互联。但要提醒一句线的类别标签不是一切重点看实际布线距离和信道质量。特别是用了劣质线材或者水晶头压线不达标标称千兆的链路协商掉到百兆甚至不亮的情况非常多。你可以自查一下合规的Cat6线在100米内跑千兆是没问题的如果百兆都不稳多半是线序或者接触问题而不是标准问题。双绞线的故事告诉我们一个物理学事实铜缆的带宽受距离限制明显频率越高衰减越大。所以吉比特以太网要四对线同时工作而万兆铜缆在标准下也只能撑到几十米。3.2 同轴电缆和光纤同轴电缆由内导体、绝缘层、屏蔽层和外护套构成屏蔽性能比双绞线好曾经是早期以太网和有线电视的主力。它分50欧和75欧两种50欧用于数字基带传输75欧用于宽带传输。现在的局域网里同轴电缆基本被双绞线和光纤替代但在有线电视和某些视频监控场景里仍然存在。光纤是另一条路线。它利用光的全反射原理在纤芯里传输光信号分单模和多模。常用波长有三个850nm用于多模短距离1310nm和1550nm用于单模长距离。单模光纤纤芯细、色散小、传输距离长运营商干线基本都用它多模光纤纤芯粗、耦合容易、成本相对低适合数据中心内部几百米范围。插芯类型也值得一提常见的有SC、LC、STLC是目前数通设备里最常见的小型化接口。选光纤时有一条基本经验短距离、成本敏感用多模相应光模块长距离、速率高用单模。不要为了省钱在长距离链路里用多模光纤光功率损耗会直接导致链路Down。机房里常见的问题就是把多模光模块插到单模跳线里或者反过来接口不匹配导致光衰极大链路反复抖动。3.3 无线介质无线介质里大致包括无线电波、微波、红外等。无线通信最大的特点是不需要实体线缆但信道环境复杂多径效应、阴影衰落、干扰共存都会影响质量。日常接触最多的WiFi采用2.4GHz和5GHz频段2.4GHz穿墙能力强但干扰源多5GHz带宽高但覆盖范围短。无线传输里物理层的调制编码和功率控制非常关键后面会展开。需要理解的是无线信号在自由空间里传播路径损耗与距离的平方成正相关再加上障碍物反射和吸收实际接收功率远低于发射功率。这就是为什么路由器离得远了速率会从千兆级掉到百兆级以下的物理原因。4. 编码与调制把0和1变成能跑的信道信号4.1 基带信号和常用编码方式数字信号是离散的电压或电流脉冲我们叫基带信号。基带信号要在信道里传输首先要考虑编码方式。常见的有不归零编码NRZ高电平表示1低电平表示0。实现简单但存在两个问题一是连续多个0或1时收发双方难以同步二是有直流分量。说白了一个交替不变的波形看久了根本不知道一个比特从哪里开始。归零编码RZ信号在码元中间回归零电平一个比特内有一次跳变这成了同步的依据但需要两个信号周期表示一个比特效率低。曼彻斯特编码每个比特中间有一次跳变从高到低代表1、从低到高代表0也可反过来视标准而定。这个跳变同时承担了时钟同步的作用10BASE-T最早就是用这种方式。差分曼彻斯特编码每个比特中间的跳变只用于同步比特值由比特开始边界处有无跳变决定抗干扰性更好但复杂度和成本更高。为什么早期以太网选曼彻斯特因为它把数据和时钟信号合在一起省去了单独传时钟的线接收端只要检测跳变就能恢复出时钟。缺点是效率只有50%所以后来高速以太网不再用这种一眼见到底的方案而是采用了更复杂的8B/10B、64B/66B甚至PAM4。PAM4在同一个符号里用4个电平代表2比特配合极高频谱利用率成为400G以太网的主流编码方式。4.2 带通信号与调制实际信道很多是带通信道无线信道尤其如此。基带信号不能直接在带通信道里传输必须把它的频率搬移到适合信道传输的高频频段这个过程就是调制。常见的数字调制方式幅移键控ASK用载波幅度的变化表示0和1简单但易受噪声干扰。频移键控FSK用载波频率的变化表示0和1抗噪能力比ASK好蓝牙早期用的就是这个思路。相移键控PSK通过载波相位变化表示0和1谱效率高。QPSK一个符号携带2比特8PSK携带3比特。正交幅度调制QAM同时改变载波的幅度和相位。16QAM一个符号带4比特64QAM带6比特256QAM带8比特。调制阶数越高每个符号承载的比特越多但要求信噪比也越高。这里正好呼应香农公式每增加一个比特的星座点密度就需要更高的信噪比保证误码率不超标。我实际测试无线设备时有个体会在信号好的地方信道会自动选择256QAM甚至4096QAM信号一差就梯度回退到64QAM、16QAM乃至QPSK。这时候“网速慢”不是运营商限速而是物理层为了让链路保持稳定主动降速。这个例子能帮助你直观感受物理层的编码调制协议栈有多重要。4.3 编码和调制的实际选型逻辑编码和调制不是孤立的选型要综合考虑带宽、信噪比、成本和功耗。比如室内WiFi 6里的OFDMA和多天线技术结合物理层调制阶数会动态调整而光纤通信则常用PAM4把两路二进制信号合并成一路四电平信号以利用有限的器件带宽。工程上动手调试时建议抓住几个基本检查点先确认物理层接口协商出的速率和双工模式不要只看电脑里的“已连接”。无线场景里观察客户端连接速率和RSSI值判断当前调制阶数是否回退。光模块场景里测试收发光功率对比模块规格表找出衰减异常点。这些操作看似琐碎却是物理层“编码与调制原理”在工作里的最直接体现。5. 信道复用技术一条物理链路上怎么挤下更多用户5.1 频分复用和时分复用频分复用FDM把信道的总频带划分成若干子频带每个子频带独立传一路信号。传统广播电视就是一个例子每个频道占用一段频率大家同时互不干扰。在光纤里做这件事就是把不同波长的光载波复用到同一根光纤里这就是波分复用WDM。粗波分复用通道间隔大成本低密集波分复用通道间隔可以做到0.8nm甚至0.4nm单纤承载几十上百路100G、200G信号。时分复用TDM则是把时间划分成一个个时隙每个用户周期性占用某个时隙。同步TDM给每个用户固定分配时隙即使某用户暂时没数据也要占用效率不高统计TDM则按需分配时隙谁有数据谁就占用更多时间明显提高了线路利用率。现代以太网里广泛使用的分组交换其实就是统计时分复用思想的具象化多个数据流统计复用链路带宽缓冲区把数据包排成队列。5.2 码分复用码分复用CDM是更抽象的复用方式。它让多个用户在同一频率、同一时间上发送信号但给每个用户分配一个互不相关的码序列接收端用匹配的码序列做相关运算就能从混合信号里把自己要的信号分离出来。这就是CDMA的核心原理。很多人初次接触时会觉得神奇为什么大家同时说话还能分得清谁是谁打个比方在拥挤的餐厅里每桌都用不同的语言交流听得懂法语的人只关注法语那桌其他语言对他来说就是背景噪音。码序列的正交性保证了不同用户信号之间的干扰被抑制因为相关运算结果符合预期码型的信号被放大其他码型则被压制。实际工程里码分复用并不是所有场景的最优解。现代5G和WiFi主要使用OFDMA正交频分多址本质上属于频分时分结合的方式码分的概念则更常见于部分卫星通信和早期移动通信系统。了解CDM的思想有助于你理解“多个信号互相叠加还能分离”的数学本质这对后续学习扩频通信也很有帮助。5.3 复用技术选型时的取舍选复用技术要看信道条件和业务场景。多个低速数据流要长期稳定共享一段链路用TDM简单可靠高速宽带业务对单用户峰值速率要求高用FDM类技术更容易把频谱切碎并独立分配混合业务则经常用OFDMA这类既分频又分时的手段。有一个常见的误区是觉得“复用”一定优于“单用”。事实上任何复用都会引入额外开销比如保护带宽、同步开销、调度信令。在链路带宽极其充足、用户极少的情况下单用户独占信道反而更简单高效。所以“复用技术的价值在于提高资源利用率而不在于挑战物理极限”这句话做设计时值得反复琢磨。6. 物理层接口与同步让两台设备能“对上话”6.1 接口标准与连接器物理层接口标准定义的是设备之间的机械和电气规格。经典的EIA-232也就是RS-232串行接口曾经是电脑与外设通信的标配最高速率几十kbps级别后来USB取代了大部分串行接口速率从12Mbps发展到USB3.x的10Gbps以上网络设备里RJ45接口负责双绞线连接SFP/QSFP接口则用来插光模块和高速铜缆。一个特别值得注意的点是兼容性问题。同样是SFP接口百兆模块、千兆模块、万兆模块的电气特性不同有些设备端口不支持向下兼容插上万兆模块可能会协商失败。我见过有人把多模模块插到支持单模的端口里或者两端光模块波长不一致链路状态灯要么不亮要么闪几下就灭。排查这类问题第一反应永远是检查两端光模块类型、波长和光纤类型是否匹配。6.2 位同步、字符同步与数据传输模式同步问题是物理层里最容易引起混淆的点。位同步就是要让接收端知道每个比特的起止时间字符同步则是把一个字节的边界对齐。实现方法有两类异步传输和同步传输。异步传输以字符为单位在字符前后加起始位和停止位时钟只要在字符级同步就行简单灵活但开销大。同步传输则是先发送一组同步字符建立时钟和帧同步再连续发送数据块效率高适合高速链路。现在的以太网就是典型的同步传输系统它在物理层用特定的前导码和定界符让接收端找到帧边界再通过线路编码隐含时钟信息完成位同步。手动调串口调试线的时候如果波特率设置不对收到的直接是乱码这就是位同步失败的典型症状。把两边波特率设成一样乱码立刻消失这个操作虽然简单却能让人非常直观地理解“同步是通信的前提”到底意味着什么。7. 常见问题与排查技巧实录7.1 概念层面的高频错误把“带宽”理解成“速率”。带宽单位Hz速率单位bit/s中间隔着编码和调制。把“误码率”和“丢包率”混淆。前者发生在物理层后者通常反映在数据链路层和网络层失步、劣化、重传都会造成丢包但根因可能是物理层信号质量差。把曼彻斯特编码和差分曼彻斯特编码当作同一种。两者跳变用途不一样前者用跳变方向表示数据后者用边界处有无跳变表示数据。认为光纤一定比双绞线好。光纤有抗干扰、长距离优势但设备成本高且调试门槛也高短距离场景用铜缆更经济。7.2 实际操作中的排查顺序遇到链路质量问题时我的习惯是严格按物理层→数据链路层→网络层的顺序排查看物理指示灯。Link灯不亮大概率是物理层断链检查线缆、接口、光模块。确认协商结果。登录设备查看接口状态比如速率、双工模式。如果协商速率远低于端口能力先怀疑线缆质量或距离超限。测试光功率。光模块场景里用光功率计测收发光值对比模块指标衰减过大多半是光纤弯曲半径过小、接头脏污或者使用了不匹配的光纤跳线。换线验证。一根合规的短跳线替换现有链路如果问题消失说明原始链路有物理层故障。这里特别提醒一点光纤连接器的清洁度常常被忽视。一个微小的灰尘颗粒就能让光链路损耗超标。所以光模块插拔前最好使用专用的光纤清洁笔处理不要用手去摸端面。7.3 我在实践中的心得体会做物理层排障最忌讳“从中间开始猜”。上层的TCP重传、应用卡顿向下追查时经常发现根因就是物理层抖动导致的丢包但抓包时应用层表现千奇百怪很容易被带偏方向。有一次我处理过一个“时快时慢”的问题现场人员把服务器、交换机、防火墙换了个遍最后发现是网线有一段被机柜门夹住导致线对内断芯但外观完好。工作状态时好时坏正符合物理层接触不良的典型特征。从那以后我遇到任何间歇性问题第一步永远是检查物理链路不要一上来就怀疑协议配置。物理层的优势就是“所见即所得”只要灯不亮、功率不对、协商速率低问题范围就能锁死一大半。最后再分享一个小技巧手头常备一根做过线序测试的优质成品跳线以及一对已知匹配的光模块和跳线。排查时用它们替换可疑链路能快速区分是链路故障还是设备配置问题。这个“替换法”看起来土但在物理层问题上比任何抓包工具都直接有效。物理层是一门先简单后复杂的课。简单在它位处最底层任务范围明确复杂在它涉及电磁、光学、数学编码且任何细节都可能在真实网络里放大成严重故障。把奈奎斯特和香农的边界记牢把传输介质和接口规范摸透把编码调制和复用技术串起来理解再叠加足够的动手经验你就能在黑洞一样的网络故障面前少走很多弯路。
阅读完成 · 觉得有帮助?