电子产业一站式赋能平台

PCB联盟网

搜索
查看: 67|回复: 0
收起左侧

以太网协议详解

[复制链接]

404

主题

404

帖子

5090

积分

四级会员

Rank: 4

积分
5090
发表于 2025-1-19 21:23:00 | 显示全部楼层 |阅读模式

5wogyvcjcym6409109009.gif

5wogyvcjcym6409109009.gif



以太网协议详解




01
OSI和TCP/IP参考模型

想要了解以太网协议相关内容,首先需要了解OSI和TCP/IP参考模型。OSI(Open Systems Interconnection,即开放系统互连)七层模型是由ISO(国际标准化组织)开发的一套网络通信参考模型。该模型将网络通信过程分为七个层次,每一层都定义了不同的功能和协议,以便实现计算机网络设备之间的互操作。OSI参考模型,具体见图 1。

tm4lnrw21a26409109110.png

tm4lnrw21a26409109110.png

图 1 OSI参考模型

OSI参考模型各层功能定义:
应用层:OSI参考模型中最靠近用户的一层,为计算机用户提供应用接口和各种网络服务。主要协议:HTTP,HTTPS,FTP,POP3、smtP、SNMP、DHCP、DNS。
表示层:表示层提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。如果必要,该层可提供一种标准表示形式,用于将计算机内部的多种数据格式转换成通信中采用的标准表示形式。同时,数据压缩和加密也是表示层可提供的转换功能之一。主要格式:JPEG、ASCll、DECOIC、加密格式。
会话层:会话层就是负责建立、管理和终止表示层实体之间的通信会话。该层的通信由不同设备中的应用程序之间的服务请求和响应组成。
传输层:传输层的作用是为上层协议提供端到端的可靠和透明的数据传输服务,包括处理差错控制和流量控制等问题。该层向高层屏蔽了下层数据通信的细节,使高层用户看到的只是在两个传输实体间的一条主机到主机的、可由用户控制和设定的、可靠的数据通路。主要协议TCP、UDP。
网络层:网络层通过IP寻址来建立两个节点之间的连接,为源端的运输层送来的分组,选择合适的路由和交换节点,正确无误地按照地址传送给目的端的传输层,就是我们常说的IP层。主要协议:ICMP IGMP IP(IPV4 IPV6)。
数据链路层:实现比特到字节再到帧的组合,使用链路层地址(以太网使用MAC地址)来访问介质,并进行差错检测。数据链路层又分为2个子层:逻辑链路控制子层(LLC)和媒体访问控制子层(MAC)。MAC子层处理CSMA/CD算法、数据出错校验、成帧等;LLC子层定义了一些字段使上次协议能共享数据链路层。在实际使用中,LLC子层并非必需的。主要协议ARP、RARP、IEEE802.3、PPP、CSMA/CD。
物理层:最终信号的传输是通过物理层实现的,通过物理介质传输比特流。规定了电平、速度和电缆针脚。常用设备:集线器、中继器、调制解调器、网线、双绞线、同轴电缆等。

在一定程度上参考了OSI模型后,产生了TCP/IP协议。TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP和IP两个协议,而是指一个由FTP、SMTP 、TCP、UDP 、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。
在TCP/IP协议中,OSI七层参考模型被简化为五层。在TCP/IP五层模型中,将提供服务类似的应用层、表示层、会话层合并为应用层一个层次,其他层次不变。TCP/IP五层模型,具体见图 2。

wd2jt4ochbt6409109210.png

wd2jt4ochbt6409109210.png

图 2 TCP/IP五层模型


02
以太网的基本概念

了解完OSI和TCP/IP两种参考模型后,下面我们开始以太网相关内容的介绍。以太网(Ethernet)是一种有线网络技术,通过物理电缆将设备连接起来,通常用于局域网内的计算机之间的数据传输。以太网协议起源于20世纪70年代,由施乐(Xerox)、英特尔(Intel)和数字设备公司(DEC)共同开发,后来被IEEE采纳,并形成IEEE 802.3标准(文末附赠IEEE 802.3标准技术文档)。IEEE 802.3 标准规定的主要是位于参考模型的物理层(PHY)和数据链路层中的介质访问控制子层(MAC),OSI 参考模型和 IEEE 802.3 以太网模型如图3。

azgogt0sgg56409109310.png

azgogt0sgg56409109310.png

图 3 OSI 参考模型和 IEEE 802.3 以太网模型
所以下面我们从物理层和介质访问控制子层(MAC)两方面介绍以太网的基本工作原理。
???
2.1物理层
在物理层,由 IEEE 802.3 标准规定了以太网使用的传输介质、传输速度、数据编码方式和冲突检测机制,物理层一般是通过一个 PHY 芯片实现其功能的。
传输介质
以太网支持多种传输介质,主要包括以下几种:
双绞线(Twisted Pair Cable):包括非屏蔽双绞线(UTP)和屏蔽双绞线(STP)。常用于10 Mbps(以太网)、100 Mbps(快速以太网)和1 Gbps(千兆以太网)的局域网。CAT5、CAT5e、CAT6、CAT6a和CAT7等类别的双绞线广泛用于以太网连接。
同轴电缆(Coaxial Cable):早期的以太网(10 Mbps)广泛使用同轴电缆,但在现代以太网中已较少使用。同轴电缆的屏蔽性较好,抗干扰能力强,但适用范围受限。
光纤(Optical Fiber):支持非常高的传输速率,如10 Gbps甚至更高,适用于数据中心和长距离传输。分为单模光纤(Single Mode Fiber,SMF)和多模光纤(Multi-Mode Fiber,MMF),适应不同传输距离和速率需求。
传输速度
以太网支持多种传输速率,适应不同的应用需求。以下是主要的速率标准:
10 Mbps(标准以太网):早期的以太网标准。
100 Mbps(快速以太网):提供较高传输速率,适用于小型办公环境。
1 Gbps(千兆以太网):现代局域网的主流速率,支持高清视频和高速文件传输。
10 Gbps(万兆以太网):高带宽需求场景,如数据中心和企业网络。
25 Gbps、40 Gbps、100 Gbps及以上:提供超高带宽,满足大型数据中心和高速互联网的需求。
数据编码方式
以太网采用不同的数据编码方式来保证数据的准确传输。常见的编码方式有:
曼彻斯特编码(Manchester Encoding)
早期以太网(10 Mbps)使用的编码方式。每个比特被编码为两个电平变化,提供良好的同步性。曼彻斯特编码把每一个二进制位的周期分为两个间隔,在表示“ 1”时,以前半个周期为高电平,后半个周期为低电平。表示“ 0”时则相反,见图4。

3c3uerq1sto6409109410.png

3c3uerq1sto6409109410.png

图 4 曼彻斯特编码
采用曼彻斯特码在每个位周期都有电压变化,便于同步。但这样的编码方式效率太低,只有 50%。在 100BASE-T 采用的 4B/5B 编码是把待发送数据位流的每 4 位分为一组,以特定的 5位编码来表示,这些特定的 5 位编码能使数据流有足够多的跳变,达到同步的目的,而且效率也从曼彻斯特编码的 50%提高到了 80%。
4B/5B编码(4-bit/5-bit Encoding):
用于100BASE-TX(100 Mbps)以太网。
每4位数据编码成5位传输数据,避免了长时间的0电平,利于时钟同步。
8B/10B编码(8-bit/10-bit Encoding):
用于光纤和某些高速以太网标准,如千兆以太网(1000BASE-X)。
每8位数据编码成10位,有助于减少误码率和维持时钟同步。
PAM-5编码(5-level Pulse Amplitude Modulation):
用于1000BASE-T千兆以太网双绞线连接。
每个信号周期传输2位数据,支持高带宽传输。
64B/66B编码(64-bit/66-bit Encoding):
用于10 Gbps及以上速率以太网,如10GBASE-R。
有较高的编码效率,能有效降低误码率。
冲突检测机制(CSMA/CD)
传统以太网采用CSMA/CD(Carrier Sense Multiple Access with Collision Detection,即载波监听多路访问/冲突检测)机制,以解决共享介质中的冲突问题。该机制的工作原理如下:
载波监听(Carrier Sense):发送数据前,设备会监听介质,判断是否有其他设备正在发送数据。
多路访问(Multiple Access): 多个设备可以在同一信道上发送和接收数据。
冲突检测(Collision Detection): 若两个设备同时开始发送数据,便会发生冲突。CSMA/CD机制通过监听信号的变化来检测冲突。
冲突处理:一旦检测到冲突,发送设备会停止发送数据,并发出“阻塞信号”以通知其他设备。
设备会在随机的时间间隔后重新尝试发送,以避免再次发生冲突。
CSMA/CD主要用于早期的半双工以太网。在现代以太网中,大多数设备通过交换机连接,采用全双工通信方式,因此不再需要CSMA/CD机制,因为交换机可以在每一对设备之间提供独立的通信通道。但为了兼容,新出的产品还是带有冲突检测机制。
???
2.2 MII/RMII接口
MII (Media Independent Interface(介质无关接口)或称为媒体独立接口,它是IEEE-802.3定义的以太网行业标准。用以连接以太网MAC层和PHY芯片,常用接口有:MII、RMII、SMII、GMII、RGMII。
RMII 接口是 MII 接口的简化版本, MII 需要 16 根通信线, RMII 只需 7 根通信,在功能上是相同的。图 4为 MII 接口连接示意图,图 5为 RMII 接口连接示意图。

bjuqgo0htns6409109510.png

bjuqgo0htns6409109510.png

图 5 MII接口连接

0nsta3h53e26409109610.png

0nsta3h53e26409109610.png

图6 RMII接口连接
TX_CLK:数据发送时钟线。标称速率为 10Mbit/s 时为 2.5MHz;速率为 100Mbit/s 时为 25MHz。RMII 接口没有该线。
RX_CLK:数据接收时钟线。标称速率为 10Mbit/s 时为 2.5MHz;速率为 100Mbit/s 时为 25MHz。RMII 接口没有该线。
TX_EN:数据发送使能。在整个数据发送过程保存有效电平。
TXD[3:0]或 TXD[1:0]:数据发送数据线。对于 MII 有 4 位, RMII 只有 2 位。只有在TX_EN 处于有效电平数据线才有效。
CRS:载波侦听信号,由 PHY 芯片负责驱动,当发送或接收介质处于非空闲状态时使能该信号。在全双工模式该信号线无效。
COL:冲突检测信号,由 PHY 芯片负责驱动,检测到介质上存在冲突后该线被使能,并且保持至冲突解除。在全双工模式该信号线无效。
RXD[3:0]或 RXD[1:0]:数据接收数据线,由 PHY 芯片负责驱动。对于 MII 有 4 位,RMII 只有 2 位。在 MII 模式,当 RX_DV 禁止、 RX_ER 使能时,特定的 RXD[3:0]值用于传输来自 PHY 的特定信息。
RX_DV:接收数据有效信号,功能类似 TX_EN,只不过用于数据接收,由 PHY 芯片负责驱动。对于 RMII 接口,是把 CRS 和 RX_DV 整合成 CRS_DV 信号线,当介质处于不同状态时会自切换该信号状态。
RX_ER:接收错误信号线,由 PHY 驱动,向 MAC 控制器报告在帧某处检测到错误。
REF_CLK:仅用于 RMII 接口,由外部时钟源提供 50MHz 参考时钟。| 因为要达到 100Mbit/s 传输速度, MII 和 RMII 数据线数量不同,使用 MII 和 RMII 在时钟线的设计是完全不同的。对于 MII 接口,一般是外部为 PHY 提供 25MHz
时钟源,再由 PHY 提供 TX_CLK 和 RX_CLK 时钟。对于 RMII 接口,一般需要外部直接提供 50MHz时钟源,同时接入 MAC 和 PHY。
???
2.3 MAC子层
MAC 的功能
MAC 子层是属于数据链路层的下半部分,它主要负责与物理层进行数据交接,如是否可以发送数据,发送的数据是否正确,对数据流进行控制等。在 MAC 层,发送端会接收来自上一层的 IP 数据包,并添加前导码、以太网帧头和 FCS 帧尾,然后将封装后的数据包转发到物理层。接收端将物理层接收的以太网数据报文进行解封装,并核对帧头以及校验 FCS 信息,再发送给 IP 层进行下一步解封。每一层的数据报文封装如图 2-6 所示,其中,上三层(应用层、表示层和会话层)用户数据通过传输层加上 UDP/TCP 协议报文头部信息,然后转发至网络层加上 IP 协议头部信息,最后转发到 MAC 层进行以太网报文最终封装。
IEEE802.3 定义的以太网帧格式如图 7 所示。

wrk2x0vhcvl6409109710.png

wrk2x0vhcvl6409109710.png

图 7 IEEE802.3 以太网帧格式
以太网帧格式由前导字段、帧起始定界符、目标地址、源地址、数据包类型、数据域、填充域、校验和域组成。
前导码(Preamble):7字节,用于同步接收端的时钟信号,便于识别帧的开始。
帧起始分隔符(SFD, Start Frame Delimiter):1字节,用于标识帧的开始,通常为固定的位模式,用来指示接下来是帧的实际内容。
目的地址(Destination Address):6字节,用于标识数据包的接收方,即接收方的MAC地址。
源地址(Source Address):6字节,用于标识数据包的发送方,即发送方的MAC地址。
类型/长度(Type/Length):2字节,用于指示有效载荷的类型(比如IPv4或IPv6)或者数据长度。
有效数据(Payload):46到1500字节,包含实际传输的数据内容,例如IP数据包。如果数据内容不足46字节,可能会通过填充(PAD)进行扩充。
填充(PAD):在有效数据少于46字节的情况下,增加的填充字节,保证数据部分的最小长度。
帧校验序列(FCS, Frame Check Sequence):4字节,用于校验数据帧的完整性,通常通过CRC(循环冗余校验)算法生成。

MAC 将从 IP 层接收的数据包视作以太网帧的有效数据,该字段字节长度为
46~1500 字节,若 IP 数据包的长度不足 46 字节,MAC 层需要在数据字段后填充
(pad)以补足至最小长度要求(46 字节)。MAC 层在有效数据前附加 14 字节的以
太网帧头,其中包括 6 字节的目的地址、6 字节的源地址和 2 字节的类型/长度字
段。在数据字段后添加 4 字节的帧检验序列(FCS)以构成总体长度为 64 至 1518字节的以太网帧。在发送前,还需在以太网帧头前插入 7 字节的前导码,用于接
收方和发送方进行时钟同步,以及 1 字节的帧起始定界符(Start of Frame Delimiter,
SFD)用以指示接收方后续数据为真正的 MAC 帧,最终构成完整的以太网报文传
输至物理层。

mppgkgzxt4z6409109810.png

mppgkgzxt4z6409109810.png

图 8 以太网报文封装
关注+点赞+评论,即可获取IEEE802.3以太网标准文档



?
?
END
?

hwqwp02kcth6409109910.jpg

hwqwp02kcth6409109910.jpg
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表