2. 物理层实现:物理层的作用、常见传输介质、编码方式

大家好,我是老张。今天咱们聊聊物理层。

说实话,很多刚入行的朋友觉得物理层太「底层」了,不就是插根网线吗?其实不然。我做了十几年网络,踩过最大的坑,往往就出在物理层。信号丢了、误码高了、链路不稳定了——追根溯源,八成是物理层没搞明白。

2.1 物理层到底在干嘛?

物理层的任务,说白了就三件事:把比特变成信号,把信号扔到线路上,再从线路上把信号还原成比特

你想想看,计算机里跑的都是0和1。但网线里传的可不是0和1,而是电压、电流、光脉冲。物理层就是那个「翻译官」——负责把数字世界和模拟世界打通。

具体来说,物理层要解决这几个问题:

  • 接口特性:用什么形状的接头?RJ45还是SC光纤头?
  • 电气特性:信号电压多高?电流多大?
  • 编码方式:0和1怎么表示成物理信号?
  • 传输速率:一秒能传多少比特?

重要提醒:物理层不关心数据内容,它只关心「能不能把比特从A点搬到B点」。至于搬的是微信消息还是视频流,它不管。

2.2 常见传输介质:双绞线

双绞线,大家最熟了。就是咱们平时用的网线。

为什么叫「双绞」?因为里面8根铜线,两两绞在一起。我刚开始做项目时也不理解,后来才知道——绞在一起是为了抵消电磁干扰。两根线绞得越密,抗干扰能力越强。

双绞线分两类:

类型 屏蔽层 适用场景 我个人的建议
STP(屏蔽双绞线) 有金属屏蔽层 工业环境、强干扰区域 成本高,施工麻烦,非必要不用
UTP(非屏蔽双绞线) 无屏蔽层 办公室、家庭、数据中心 95%的场景用这个就够了

双绞线的类别也很重要。常见的有:

  • Cat5e:百兆到千兆,老项目里还能见到
  • Cat6:千兆标配,我建议新项目起步就用这个
  • Cat6a:万兆,数据中心用得比较多
  • Cat7/Cat8:更高频率,但说实话,家用没必要

避坑指南:我曾经在一个机房项目中,图便宜用了Cat5e线跑千兆。结果一到高峰期就丢包,查了三天才发现是线缆串扰太大。后来全换成Cat6,问题立刻消失。所以——线缆的钱不能省

2.3 常见传输介质:光纤

光纤,靠光来传信号。速度更快,距离更远,抗干扰能力更强。

光纤的原理其实很简单:光在玻璃芯里全反射,一路往前冲。但要注意,光纤分两种:

  • 单模光纤(SMF):芯径细(9μm),只传一种模式的光。传输距离远,几十公里没问题。我做过一个跨城项目,40公里就用单模。
  • 多模光纤(MMF):芯径粗(50μm或62.5μm),能传多种模式的光。距离短,一般几百米到两公里。数据中心内部用得比较多。

你可能会问:那选哪个?

我的经验是:长距离、高带宽,选单模;短距离、低成本,选多模。但要注意,单模的光模块比多模贵不少,预算得算清楚。

注意:光纤最怕弯折。我见过有人把光纤绕成小圈扎起来,结果光信号直接没了。光纤的弯曲半径是有要求的,一般不能小于10倍线径。施工时一定要盯紧。

2.4 编码方式:NRZ

好,介质说完了。接下来聊聊信号怎么编码。

NRZ(Non-Return-to-Zero,不归零编码),是最简单的一种编码方式。

它的规则:

  • 高电平表示1
  • 低电平表示0
  • 每个比特期间,电平保持不变

举个例子,要发送「10110」:

比特:    1   0   1   1   0
电平:  高  低  高  高  低

简单吧?但NRZ有个致命问题——时钟同步

你想想看,如果连续发一串1(高电平),或者一串0(低电平),接收端怎么知道发了多少个?它分不清「一个长高电平」和「三个连续高电平」的区别。这就是所谓的「基线漂移」问题。

我在一个老项目中遇到过这个问题。当时用NRZ编码,链路一跑满就出错。后来查了半天,发现是连续的长0导致接收端时钟失锁了。

核心结论:NRZ简单,但只适合短距离、低速率场景。高速网络里基本不用。

2.5 编码方式:曼彻斯特编码

为了解决NRZ的时钟同步问题,曼彻斯特编码出现了。

它的核心思想:每个比特中间都有一次电平跳变

  • 从高到低的跳变表示1
  • 从低到高的跳变表示0

还是「10110」的例子:

比特:    1       0       1       1       0
电平:  高→低   低→高   高→低   高→低   低→高

看到了吗?每个比特中间都有跳变。这个跳变有两个作用:

  1. 表示数据:跳变方向决定了是0还是1
  2. 提供时钟:接收端可以从跳变中提取时钟信号,不用额外同步

说白了,曼彻斯特编码把数据和时钟「打包」在一起了。这招很聪明。

但代价也很明显——带宽翻倍。因为每个比特都要跳变一次,实际需要的频率是数据速率的两倍。比如要传10Mbps,线路带宽得20MHz。

我的经验:曼彻斯特编码在以太网早期(10BASE-T)用得很多。但现在高速网络里,大家更倾向于用更高效的编码,比如4B/5B、8B/10B。不过曼彻斯特编码的思想——「自同步」——至今仍是编码设计的核心原则。

2.6 三种编码方式对比

最后,我整理了一张对比表,方便你快速参考:

编码方式 时钟同步 带宽效率 抗干扰能力 典型应用
NRZ 差(长0/1会失锁) 高(1比特/1符号) 一般 低速串口、早期网络
曼彻斯特 好(每比特都有跳变) 低(需要2倍带宽) 较好 10BASE-T以太网

嗯,物理层的内容就这些。别觉得它简单,很多网络故障的根因就在物理层。下次遇到链路不稳定,先检查线缆、接头、编码方式——往往能省下大把排查时间。

下一章,咱们聊聊数据链路层。到时候会讲到MAC地址、帧结构、还有那个让人又爱又恨的CSMA/CD。到时候见。


公众号:蓝海资料掘金营,微信deep3321