IEEE 802.3 帧结构中有一个 7 字节的前导部分用于同步。如果它真的用于同步,那是否意味着以太网是同步的而不是异步的?
以太网结构参考:
答案1
您的问题似乎假设每个帧都是一个接一个地传输的,就像一个帧,然后一个间隙,然后是另一个帧一样同步传输,因此为什么需要前导码。好像前导码告诉它并且只是告诉它有一个帧即将到来。如果是前导码,那么为什么它不能是异步的。这是个好问题。前导码不是为此而设的。或者事实上换句话说。它实际上是您所说的异步的。答案是,前导码不是用于同步一个帧,然后是另一个帧等等。确实没有这样的同步。帧不会同步到达。它纯粹是针对每个单独的帧,因此电子设备(我想是时钟)在读取它时,知道每个位何时到来 - 对于该帧 - 当该帧的处理到达 SFD(帧起始分隔符)的开头时。一旦帧被完全读取,它就不知道下一帧何时到达。事实上,它永远不知道下一帧何时到达。
下面是一些文献中的引述,我可以用它们来回答您的问题。
802.3-2008_section1.pdf
3.2.1 前导字段
前导字段是一个 7 个八位字节的字段,用于允许 PLS 电路与接收数据包的时间达到稳定状态同步(见 4.2.5)。
4.2.5 前导码生成
在 LAN 实施中,大多数物理层组件在呈现有效输入信号后,允许其在一定数量的位时间内提供有效输出。因此,有必要在数据开始之前发送前导码,以允许 PLS 电路达到其稳定状态。当 TransmitLink-Mgmt 请求传输新帧的第一位时,PhysicalSignalEncap 应首先传输前导码(用于物理介质稳定和同步的位序列),然后传输起始帧分隔符。如果在传输前导码或起始帧分隔符时,冲突检测变量变为真,则应发送任何剩余的前导码和起始帧分隔符位。前导码模式为:10101010 10101010 10101010 10101010 10101010 10101010 10101010 10101010 这些位按从左到右的顺序传输。这种模式的本质是,对于曼彻斯特编码来说,它在介质上表现为周期性波形,可实现位同步。需要注意的是,前导码以“0”结尾。
http://en.wikipedia.org/wiki/Start_Frame_Delimiter
起始帧分隔符 (SFD) 是一个 8 位(1 字节)值,用于标记以太网帧前导码的结束。SFD 后面紧接着目标 MAC 地址。其值为 10101011。以太网帧的前导码由 56 位(7 字节)交替的 1 位和 0 位模式组成,这使得网络上的设备能够轻松检测到新传入的帧。SFD 旨在打破这种模式,并发出实际帧开始的信号。
答案2
以太网是异步的。
异步通信意味着发送器和接收器不共享外部时钟信号(例如通过电缆上的“时钟”引脚或“clk+/clk-”对传输)。以太网电缆没有时钟引脚或时钟对。以太网不使用发送器和接收器之间共享的单独位时钟信号,因此它是异步的。
由于异步通信总线不共享单独的时钟信号,因此发送器必须对每次传输进行编码,以便接收器知道一个位何时结束以及下一个位何时开始。以太网的解决方案是每次传输都以一长串交替的 0 和 1 位(前导码)开始,这允许接收器在传输期间将其位时钟与发送器的时钟暂时同步。一旦一帧结束,下一帧开始,临时同步必须再次开始。
答案3
询问以太网是否同步/异步是一个荒谬的问题,就像询问鲨鱼的哪一组牙齿是乳牙一样。乳牙是人类/人类-尼安德特人混合体独有的东西,鲨鱼没有。同步/异步是一个数字电路工程概念,而不是模拟电路。以太网是一种混合模拟数字电路产品。
在以太网规范 802.3-2008_section1.pdf 中,PLS 电路大量涉及源自电磁物理的模拟电气工程。同步/异步概念不包含模拟电路工程概念。
在纯数字电路设计中,时钟驱动信号和工作,就像在 CPU 设计中一样,首先要添加时钟。以太网的情况并非如此,它采用相反的方式,信号驱动时钟。
答案4
由于电气原因,需要前导码,以便 MAC 可以轻松检测到数据包何时开始。
我不明白您关于以太网“同步/异步”的问题。