图说以太网协议:编码、介质访问控制方法和CSMA/CD机制
以太网编码(Ethernet Coding)在以太网通信中扮演着至关重要的角色,主要用于确保数据能够可靠地通过物理介质进行传输,并在接收端能够被准确解码。以太网采用不同的编码技术,根据标准和传输速率的不同,编码方法也有所不同。以下是一些常见的以太网编码技术:
- 10BASE-T以太网:采用 Manchester 编码,每个比特在时钟周期的中间都有一个过渡:逻辑 0 表示为高到低的过渡,逻辑 1 表示为低到高的过渡

- 100BASE-TX以太网:采用 4B/5B 编码,将 4 位数据编码为 5 位码字,确保每个码字中有足够的过渡,5 位码字进一步通过 MLT-3(多电平传输,3 电平)进行传输

- 1000BASE-T以太网:采用 4D-PAM5 编码,使用 4 对双绞线,每对线上采用 5 电平的脉冲幅度调制(PAM5),同时在四对双绞线上进行传输,每对线传输 2 位数据,从而每符号传输 8 位数据

2.确定性 MAC 与不确定性 MAC
在媒体访问控制(MAC)子层中,介质访问控制方法可以分为确定性(Deterministic)和非确定性(Non-deterministic)两大类。这两种方法主要在数据传输的时序和调度上有所不同:

- 确定性 MAC 方法:它保证了数据传输的时序是确定的,即每个设备在特定的时间段内有机会访问网络。这种方法适用于需要严格时间控制的应用场景,如工业控制系统和实时通信系统。我们可以使用令牌环或时间分割多路访问实现确定性 MAC
- 非确定性 MAC 方法:它不保证数据传输的时序,设备争用网络访问权,可能导致不确定的传输延迟。适用于一般的数据通信场景,如以太网和无线局域网。我们可以使用 CSMA/CD 或 CSMA/CA 方法避免设备通信产生冲突
3.CSMA/CD 载波监听与碰撞检测机制
这里,我们以以太网集线器的数据收发为例讲解 CSMA/CD 载波监听与碰撞检测机制。在 20 世纪 90 年代,通常使用以太网集线器 Hub 来连接多台计算机进行通信(多个节点连接到同一条网络总线上,总线型网络),当数据从一个端口传输到集线器时,集线器会将信号从所有端口广播出去,直到目的地设备接收到信号。而当它收到多个数据时(假设没有 CSMA/CD 载波监听与碰撞检测机制),则会导致网络冲突:

H1 和 H2 都在发送以太网数据帧,集线器在连接到 H3 的端口上重复这些帧,此时两个帧发生碰撞并且两帧都会丢失
为了解决这个问题,我们必须使用半双工的传输模式:半双工意味着我们不能同时发送和接收,当一台计算机正在传输时,其他计算机都必须等待;当没有设备传输时,则设备可以开启传输。但是,若两台计算机确定“线路空闲”并开始传输时,仍然会发生通信冲突。
为了解决这个问题,研究人员使用了 CSMA/CD 机制,CSMA/CD 协议主要内容如下:

- 载波监听(Carrier Sense)
- 在发送数据之前,网卡会先检测网线上是否有其他设备正在发送数据(检测载波)
- 如果检测到有其他设备正在发送,则会推迟自己的数据发送,以避免冲突
- 多点接入(Multiple Access)
- 以太网允许多个设备共享同一条网线进行数据传输
- 每个设备都可以独立地发送数据,不需要经过中央调度
- 碰撞检测(Collision Detection)
- 如果两个设备同时开始发送数据,就会发生碰撞
- 检测到碰撞后,设备会立即停止发送,并在随机时间后重试发送
简单来说,CSMA/CD 的工作原理是:在共享的以太网中,设备在发送数据前先侦听信道是否空闲,如果空闲则发送数据,同时设置定时器以防冲突;如果信道忙,则等待一段随机时间后重试;若多次尝试仍冲突,则放弃发送并报告错误。
现代以太网网络中,集线器已经被交换机所取代。交换机通过独立的端口连接设备,可以实现全双工通信,避免碰撞,具体来说,它们可以读取以太网帧并将其仅转发到需要它的设备。当端口上有两个转发的帧时,它可以对第二个帧进行排队,以防止冲突。

以太网编码(Ethernet Coding)在以太网通信中扮演着至关重要的角色,主要用于确保数据能够可靠地通过物理介质进行传输,并在接收端能够被准确解码。以太网采用不同的编码技术,根据标准和传输速率的不同,编码方法也有所不同。以下是一些常见的以太网编码技术:
浙公网安备 33010602011771号