浩萱电子商务

以太网是串行通信还是并行通信?以太币钱包 无法同步

大家好,今天小编关注到一个比较有意思的话题,就是关于以太币钱包 无法同步的问题,于是小编就整理了2个相关介绍的解答,让我们一起看看吧。
  1. 以太网是串行通信还是并行通信?
  2. 以太网中如何实现收发数据帧的同步?

以太网是串行通信还是并行通信?

同步/异步这两个词不同领域的概念完全不同啊……从数字电路的角度来说,以太网是典型的同步时序逻辑,它的时钟信号通过曼彻斯特编码(以前)或者4B/5B编码(现在)编码到了信号当中,接收方需要从信号当中使用锁相环解出这个时钟信号,这样发送方和接收方就有了一个同步的时钟信号。

以太网是串行通信还是并行通信?以太币钱包 无法同步-图1

依靠这个同步的时钟信号接收方能够正确读取发送方发送的数据。

实际上几乎所有的高速数字传输协议都是同步时序逻辑。但是从软硬件接口的角度来看,这个过程又是异步的。

计算机不会直接通过CPU指令操作当前正在发送的数据,而是通过一系列缓存,将数据送交到网卡,或者从网卡读取数据。

以太网是串行通信还是并行通信?以太币钱包 无法同步-图2

计算机不关心网卡实际上在什么时候将数据发出,它只要将数据提交给网卡就可以继续进行其他任务了,实际上提交给网卡这样的工作通常也会使用DMA之类的方法。

数据到来时也是一样的,网卡不会在接收到网络数据包第一个字节的时候就通知CPU处理,而是将接收到的数据先缓存起来,随时等待CPU或者DMA在合适的时候读取。

这种有缓冲区的结构是典型的异步通信机制。

以太网是串行通信还是并行通信?以太币钱包 无法同步-图3

从socket接口上来看,又分为同步和异步两种,也可以叫做BLOCK/NONBLOCK。

同步接口在不能发送数据或者接收数据时会阻塞,直到完成;异步接口则会通知你socket暂时不可用,让你使用epoll等机制等待。其实虽然非阻塞一般都叫做异步IO,真正的异步IO应该是使用信号通知机制的才算,但现在不太区分这个。

实际上即使是所谓同步接口,在内核中仍然有缓冲区存在,只是用户态到内核态的这一层通信使用了同步的逻辑。所以说,你这个问题首先取决于你对同步/异步的定义,以及在哪一层上看问题。

以太网中如何实现收发数据帧的同步?

以太网/IEEE 802.3通常使用专门的网络接口卡或通过系统主电路板上的电路实现。以太网使用收发器与网络媒体进行连接。收发器可以完成多种物理层功能,其中包括对网络碰撞进行检测。收发器可以作为独立的设备通过电缆与终端站连接,也可以直接被集成到终端站的网卡当中。 以太网采用广播机制,所有与网络连接的工作站都可以看到网络上传递的数据。通过查看包含在帧中的目标地址,确定是否进行接收或放弃。如果证明数据确实是发给自己的,工作站将会接收数据并传递给高层协议进行处理。 以太网采用CsmA/CD媒体访问机制,任何工作站都可以在任何时间访问网络。在发送数据之前,工作站首先需要侦听网络是否空闲,如果网络上没有任何数据传送,工作站就会把所要发送的信息投放到网络当中。否则,工作站只能等待网络下一次出现空闲的时候再进行数据的发送。

在以太网中,收发数据帧的同步是通过以下步骤实现的:

1. 载波侦听:以太网使用载波侦听机制来避免数据帧的碰撞。每个设备都会持续监听网络上的活动,以便在发送数据帧之前检测到其他设备的活动。如果检测到其他设备的信号,它会等待一段时间,以确保网络上的其他设备已经完成了发送。

2. 随机退避:当一个设备想要发送数据时,它会随机等待一段时间,以确保其他设备不会在同一时间发送数据。这段时间被称为退避时间(backoff time)。通过这种方式,可以减少数据帧的碰撞概率。

3. 同步发送:当设备确定了发送时间后,它会开始发送数据帧。在发送数据帧时,设备会使用前导码和起始符来同步接收方。前导码是一串特殊的字节,用于帮助接收方调整接收时钟频率,以便正确地接收数据帧。起始符是一串特定的字节序列,用于指示数据帧的开始位置。

4. 帧接收:当接收方接收到前导码时,它会调整接收时钟频率,以便正确地接收数据帧。然后,接收方会检查数据帧的起始符,以确定数据帧的开始位置。一旦找到起始符,接收方就会继续接收整个数据帧。

5. 错误检测:在接收数据帧时,接收方会检查数据帧的完整性。如果发现任何错误,接收方会向发送方发送一个否定响应,指示需要重新发送数据帧。

通过以上步骤,以太网实现了收发数据帧的同步,并确保了数据的可靠传输。

到此,以上就是小编对于的问题就介绍到这了,希望介绍的2点解答对大家有用。

分享:
扫描分享到社交APP
上一篇
下一篇