当前位置: 首页 > backend >正文

计算机网络:以太网中的数据传输

以太网中,数据的传输依赖于一系列标准化的技术规范,核心包括帧结构封装介质访问控制机制物理层编码技术,具体如下:

1. 以“帧(Frame)”为基本传输单元

以太网在数据链路层将网络层的数据包(如IP包)封装为“以太网帧”,作为数据传输的基本单位。帧结构包含固定字段:

  • 目的MAC地址(6字节):接收设备的物理地址;
  • 源MAC地址(6字节):发送设备的物理地址;
  • 类型/长度字段(2字节):标识上层协议类型(如0x0800表示IP协议)或数据长度;
  • 数据字段(46-1500字节):封装的上层数据(不足46字节时自动填充);
  • FCS校验字段(4字节):通过CRC循环冗余校验检测帧传输是否出错。

这种结构化封装确保数据在链路层的可靠识别和传输。

2. 介质访问控制:从CSMA/CD到全双工交换

  • 传统共享介质以太网(如10BASE-T):采用CSMA/CD(带冲突检测的载波监听多路访问) 机制,解决多设备共享同一物理介质的冲突问题:

    • 载波监听:发送数据前检测介质是否空闲;
    • 冲突检测:发送时若检测到信号冲突(多个设备同时发送),立即停止发送并等待随机时间后重试。
  • 现代交换式以太网:通过交换机实现全双工通信,每个端口独立连接设备,消除了共享介质的冲突问题,无需CSMA/CD,传输效率大幅提升。

3. 物理层编码技术:适配不同速率与介质

根据速率和传输介质(双绞线、光纤等),以太网采用不同的编码技术将二进制数据转换为物理信号:

  • 10Mbps以太网(如10BASE-T):使用曼彻斯特编码,每个比特周期中间强制电平跳变(既表示数据,又提供时钟同步)。
  • 100Mbps以太网(如100BASE-TX):采用4B/5B编码(将4位数据转为5位符号,保证直流平衡)+ MLT-3调制(减少信号跳变,适配双绞线)。
  • 1Gbps及以上以太网
    • 1000BASE-T:8B/10B编码(8位数据转10位符号,效率80%)+ PAM-5调制(5级幅度,每符号承载2比特);
    • 10Gbps及更高:64B/66B编码(效率96.97%)+ PAM-4调制(4级幅度,每符号承载2比特),适配光纤或高等级双绞线(如Cat6a)。

总结

以太网数据传输的核心是:以帧为单位封装数据,通过CSMA/CD(共享介质)或全双工交换(交换式网络)实现介质访问,结合适配速率和介质的物理层编码技术,完成二进制数据到物理信号的转换与传输。这一体系确保了以太网从早期10Mbps到现代400Gbps乃至更高速率的兼容与演进。


为何不使用差分曼彻斯特编码

以太网在发展过程中未采用差分曼彻斯特编码,核心原因与其技术特性、以太网的设计目标(如速率提升、实现复杂度、兼容性)以及历史演进路径密切相关,具体可从以下几方面分析:

1. 编码效率与速率限制的冲突

差分曼彻斯特编码与曼彻斯特编码同属“自同步编码”,其编码逻辑决定了每个比特需要至少一次电平跳变(中间跳变用于同步,起始跳变用于表示数据),这导致两者的编码效率均为50%(即传输1比特数据需占用2个单位的带宽)。

对于早期以太网(如10BASE-T,速率10Mbps),这种效率尚可接受(实际占用20MHz带宽),但随着以太网向高速率演进(100Mbps、1Gbps乃至更高),50%的效率会导致带宽需求翻倍(如100Mbps需200MHz带宽),远超普通双绞线(如Cat5)的物理传输能力(高频信号衰减严重)。

相比之下,以太网后续采用的编码技术(如4B/5B效率80%、8B/10B效率80%、64B/66B效率96.97%)大幅提升了编码效率,降低了对物理介质的带宽需求,更适合高速传输。因此,效率低下的差分曼彻斯特编码自然被淘汰。

2. 实现复杂度与成本问题

差分曼彻斯特编码的逻辑比曼彻斯特编码更复杂:

  • 曼彻斯特编码仅通过“中间跳变方向”直接表示数据(高→低=1,低→高=0),硬件电路设计简单;
  • 差分曼彻斯特编码需要对比当前比特与前一比特的关系(起始处是否跳变),这要求电路额外存储前一比特的状态并进行逻辑判断,增加了硬件设计的复杂度和成本。

早期以太网(20世纪80年代)受限于硬件集成度和成本控制,更倾向于选择实现简单的曼彻斯特编码。而当后续需要提升速率时,工程师们选择了“编码+调制”结合的方案(如4B/5B+MLT-3、PAM调制),而非转向更复杂的差分曼彻斯特编码。

3. 与以太网介质访问机制的适配性不足

以太网早期采用CSMA/CD(带冲突检测的载波监听多路访问) 机制,核心是“实时检测信号冲突并快速响应”(冲突发生后需立即停止发送并重试)。

曼彻斯特编码的“中间跳变”特性让信号的“有无”和“冲突”更容易被检测(冲突时信号会出现异常叠加);而差分曼彻斯特编码的信号跳变更复杂(起始处和中间均可能跳变),会增加冲突检测电路的设计难度——需要区分“正常跳变”和“冲突导致的异常跳变”,不利于快速响应冲突。

相比之下,曼彻斯特编码的信号特征更简单,与CSMA/CD机制的适配性更好,这也是早期以太网选择它的重要原因。

4. 历史演进与标准化路径的选择

以太网的编码技术选择与标准化进程密切相关:

  • 1983年IEEE 802.3标准(10BASE5/2)确定采用曼彻斯特编码,此时差分曼彻斯特编码已用于令牌环网络(IEEE 802.5),两者分属不同的网络体系(以太网vs令牌环),技术路线被固化;
  • 当以太网向100Mbps(快速以太网)演进时,为突破曼彻斯特编码的效率瓶颈,标准化组织选择了4B/5B编码(结合MLT-3调制),而非转向差分曼彻斯特编码(效率同样低下且兼容性差);
  • 后续千兆、万兆以太网进一步采用更高效的编码(8B/10B、64B/66B),形成了“效率优先”的技术路线,差分曼彻斯特编码因不符合这一路线而被彻底排除。

总结

以太网未采用差分曼彻斯特编码,本质是技术特性与需求的不匹配:其50%的编码效率无法满足高速传输需求,复杂的实现逻辑增加了成本和冲突检测难度,且与以太网“效率优先、简单实用”的设计理念及标准化路径相悖。相比之下,从曼彻斯特编码到4B/5B、64B/66B的演进,更贴合以太网在速率、成本和兼容性上的持续追求。

http://www.xdnf.cn/news/20300.html

相关文章:

  • golang连接influxdb的orm操作
  • halcon-亚像素边缘提取教程
  • PyTorch 模型文件介绍
  • element-plus 表单校验-表单中包含多子组件表单的校验
  • (数据结构)哈希碰撞:线性探测法 vs 拉链法
  • 基于区块链的IoMT跨医院认证系统:Python实践分析
  • Flink中的事件时间、处理时间和摄入时间
  • Joplin-解决 Node.js 中 “digital envelope routines::unsupported“ 错误
  • 自旋锁/互斥锁 设备树 iic驱动总线 day66 67 68
  • 输入2.2V~16V 最高输出20V2.5A DCDC升压芯片MT3608L
  • 计算机网络:网络设备在OSI七层模型中的工作层次和传输协议
  • 鸿蒙 BLE 蓝牙智能设备固件升级之DFU升级方式(Nordic芯片)
  • macbook intel 打开cursor会闪退
  • MySQL集群高可用架构(MHA高可用架构)
  • Process Explorer进阶(第三章3.3):深入理解进程详情
  • [Windows] AdGuard.v7.21.5089.0 中文直装电脑版
  • cds序列转换为pepperl脚本详细解读及使用
  • Python多线程编程全面指南
  • web自动化测试
  • Elasticsearch优化从入门到精通
  • 线代:排列与逆序
  • 从机器学习的角度实现 excel 中趋势线:揭秘梯度下降过程
  • PageHelper的使用及底层原理
  • WordPress如何绑定多个域名 WordPress实现多域名访问
  • 新的打卡方式
  • GPIO介绍
  • java接口和抽象类有何区别
  • ICPC 2023 Nanjing R L 题 Elevator
  • 用Android studio运行海外极光推送engagelab安卓的SDK打apk安装包
  • Ribbon和LoadBalance-负载均衡