物理层(一):物理层的作用、传输介质与信号编码

各位同学,咱们今天正式进入协议栈的第一层——物理层。很多初学者觉得这层太“硬”,全是线缆和电平,不如上层协议有意思。但我做了十几年网络项目,可以负责任地告诉你:物理层出问题,上层再好的协议也白搭。

我记得有一次帮客户排查一个千兆以太网丢包问题,抓包分析、协议栈调参折腾了两天,最后发现是某段网线的水晶头压线顺序错了。嗯,从那以后,我养成了一个习惯——先看物理层。

1. 物理层到底在干什么?

物理层的任务,说白了就三件事:

  • 定义接口和介质:用什么线、什么接头、怎么插拔。
  • 表示比特:把0和1变成电信号、光信号或无线电波。
  • 传输比特:保证比特能从A点跑到B点,哪怕中间有干扰。

你想想看,应用层发了一个HTTP请求,到了传输层被切成TCP段,网络层加上IP头变成包,数据链路层又加了MAC头和FCS变成帧。最后到了物理层,所有这些数据都被打散成一个个比特,通过介质发送出去。

核心概念:物理层不关心数据内容,它只负责把比特从一端搬到另一端。至于搬过去的比特对不对,那是上层的事。

2. 传输介质:三种主流“管道”

传输介质就是比特的物理通道。我这些年接触过的项目里,90%的场景都跑不出这三种:双绞线、光纤、同轴电缆。

2.1 双绞线

双绞线是咱们最常见的网线。两根细铜线互相缠绕,目的是抵消电磁干扰。为什么?因为两根线受到的干扰信号相位相反,一相减就抵消了。

双绞线分两类:

  • STP(屏蔽双绞线):外面包了一层金属屏蔽层,抗干扰更强,但贵且难施工。
  • UTP(非屏蔽双绞线):没有屏蔽层,便宜、灵活,家用和办公环境的主力。

咱们常说的“超五类”“六类”就是UTP的等级。我建议你记住这个对应关系:

类别 最高频率 最大速率 典型应用
Cat 5e 100 MHz 1000 Mbps 百兆/千兆以太网
Cat 6 250 MHz 1000 Mbps 千兆以太网
Cat 6A 500 MHz 10 Gbps 万兆以太网
Cat 7 600 MHz 10 Gbps 数据中心

避坑指南:我曾经在一个机房项目中看到施工队把Cat 6A网线当Cat 5e用,结果万兆链路死活起不来。检查才发现,他们用了Cat 5e的配线架和模块——整条链路的性能取决于最差的那个环节。

2.2 光纤

光纤用光信号传输比特,速度更快、距离更远、完全不受电磁干扰。光纤的核心原理是全内反射——光在纤芯里不断反射前进。

光纤分两种:

  • 多模光纤(MMF):纤芯较粗(50μm或62.5μm),光以多个角度传播。距离短(几百米),成本低。
  • 单模光纤(SMF):纤芯很细(约9μm),光只沿一条直线传播。距离远(几十公里),成本高。

我个人习惯这样选型:

  • 机房内部、楼宇之间(≤500米)→ 多模光纤 + 850nm激光器
  • 城域网、长途干线(≥1公里)→ 单模光纤 + 1310nm/1550nm激光器

2.3 同轴电缆

同轴电缆现在用得少了,但它在有线电视和早期以太网(10Base2/10Base5)里是主角。结构是:中心铜线 → 绝缘层 → 金属屏蔽网 → 外皮。屏蔽效果好,带宽也够,但布线不灵活、成本不低,所以逐渐被双绞线和光纤取代。

三种介质的对比,我整理了一张表:

特性 双绞线 光纤 同轴电缆
带宽 100 MHz ~ 600 MHz 数百 GHz 数百 MHz
最大距离 100 m(电信号衰减) 40 km+(单模) 500 m(粗缆)
抗干扰 一般(UTP)/ 好(STP) 极好 好
成本 低 中高 中
典型场景 局域网、家庭网络 骨干网、数据中心 有线电视、监控

3. 信号与编码:比特怎么变成信号?

介质选好了,接下来要解决一个问题:0和1怎么在线上跑?

物理层用信号来表示比特。最常见的信号是电压信号:高电压代表1,低电压代表0。但直接这么干会出问题——如果连续发一串1,线上一直维持高电压,接收端怎么知道发了几个1?

这就引出了编码。编码就是约定好“电压变化”和“比特”之间的映射规则。我重点讲两种:NRZ 和 曼彻斯特编码。

3.1 NRZ(不归零编码)

NRZ是最简单的编码:

  • 高电平 → 1
  • 低电平 → 0

每个比特占用一个固定的时间窗口(称为“位时间”)。发送端在这个窗口内保持电平不变。

优点:实现简单,带宽利用率高。

致命缺点:

  • 无同步机制:连续多个1或0时,电平不变,接收端无法判断到底发了几个比特。
  • 直流分量问题:长时间高电平会产生直流偏置,变压器耦合的接口会出问题。

我踩过的坑:早年做RS-232串口通信时,用NRZ编码传大量0x00数据(全是0),结果接收端时钟漂移,数据全错。后来加了同步头才解决。NRZ在短距离、低速率下还能用,但高速网络基本不用它。

3.2 曼彻斯特编码

曼彻斯特编码解决了NRZ的同步问题。规则是:

  • 从高到低的跳变 → 1
  • 从低到高的跳变 → 0

每个比特中间都有一次电平跳变。这个跳变既是数据,也是时钟信号。接收端可以从跳变中提取同步信息。

优点:自带时钟同步,没有直流分量。

缺点:带宽效率低——每个比特需要两次电平变化,信号频率是NRZ的两倍。

两种编码的对比:

特性 NRZ 曼彻斯特编码
同步方式 需要外部时钟 自同步(跳变即时钟)
带宽效率 高(1 bit/Hz) 低(0.5 bit/Hz)
直流分量 有(长1或长0时) 无
实现复杂度 低 中
典型应用 RS-232、USB(早期) 10Base-T以太网

4. 知识体系总览

下面这张图把本章的核心知识点串起来了。你可以把它当作物理层第一部分的“地图”。

物理层(一)知识体系 物理层(一)知识体系 物理层 物理层的作用 定义接口与介质 表示比特(0/1) 传输比特 传输介质 双绞线(STP/UTP) 光纤(单模/多模) 同轴电缆 信号与编码 NRZ编码 曼彻斯特编码 物理层是协议栈的基石——介质选错、编码选错,上层协议再优化也没用 实际项目中,80%的连通性问题都出在物理层

5. 小结与个人建议

物理层这一章,我讲了三个核心点:

  1. 物理层的作用:定义接口、表示比特、传输比特。不关心数据内容。
  2. 三种传输介质:双绞线(便宜、短距)、光纤(高速、长距)、同轴电缆(逐渐淘汰)。
  3. 两种编码方式:NRZ(简单但有同步问题)、曼彻斯特编码(自同步但带宽效率低)。

我个人建议你记住一句话:物理层的选择决定了系统的天花板。介质选错了,速率上不去;编码选错了,距离拉不远。后面讲数据链路层时,你会发现很多问题追根溯源,都出在物理层。

学习小技巧:如果你手边有示波器或逻辑分析仪,抓一段10Base-T的曼彻斯特编码波形看看。亲眼看到电平跳变和比特的对应关系,比背十遍规则都管用。