CSMA/CD 插槽和干扰时间

网络工程 以太网
2021-07-31 19:45:21

维基百科有这样一段话:

由于脉冲的运行时间永远不会超过时隙时间(帧在网络中传输的最大理论时间),因此在发生冲突后重新传输之前,NIC 会等待最短时隙时间,以允许当时启动的任何脉冲该等待NIC请求发送,到达所有其他节点。通过允许脉冲到达等待的 NIC,会发生本地冲突(即仍在发送时),而不是发生延迟冲突(在发送可能结束或未结束之后)。通过使冲突发生在 NIC(本地)而不是在线上(后期),CSMA/CD 实现可以通过稍后重新传输来恢复这种情况。

什么是等待NIC指什么?是前一句中提到的网卡还是另外一个参与碰撞的网卡?

NIC 是由上层 OSI 层(换句话说,由它所连接的节点)“请求发送”的?

为什么指数退避算法使用时隙的倍数

我知道计算时隙时间是为了当宣布冲突的信号(干扰信号)到达节点时,节点仍在传输。但这与节点在发生碰撞后应该等待多长时间有什么关系?

维基百科的一篇文章指出:

最大阻塞时间计算如下: 以太网安装的最大允许直径限制为 232 位。这使得往返时间为 464 位。由于以太网中的时隙时间为 512 位,时隙时间和往返时间之间的差为 48 位(6 字节),这是最大的“阻塞时间”。

为什么要有最大干扰时间?

2个回答

等待的网卡指的是什么?是前一句中提到的网卡还是另外一个参与碰撞的网卡?

这是指任何等待发送帧的 NIC,尤其是那些涉及冲突的 NIC。

NIC 是由上层 OSI 层(换句话说,由它所连接的节点)“请求发送”的?

NIC 位于 OSI 第 1 层。以太网的 OSI 第 2 层是 MAC 层。第 3 层将是 IP。第 4 层是传输协议,例如 TCP 或 UDP。在第 4 层之上是应用层(这里是题外话)。应用程序将开始向传输层发送数据,然后通过网络层将数据发送到 MAC 层,然后再将其提供给 NIC。

为什么指数退避算法使用时隙的倍数?

这确保了回退时间永远不会小于时隙时间,并且计算起来既快速又容易。

我知道计算时隙时间是为了当宣布冲突的信号(干扰信号)到达节点时,节点仍在传输。但这与节点在发生碰撞后应该等待多长时间有什么关系?

这可以确保所有站点都听到了干扰信号,并且当干扰信号仍在传输链路时,没有站点会进行传输。紧邻执行干扰的主机的主机将在链路上的其他主机之前听到信号,并且在它仍在穿过链路时将停止听到干扰信号。

为什么要有最大干扰时间?

不再需要时进行干扰会减慢冲突恢复速度,因此会不必要地降低链路上的吞吐量。

我将只回答以下问题,因为这对我来说是最重要的:

为什么指数退避算法使用时隙的倍数?

我想到了这种情况:节点AB在网络的两端。他们同时发送一条消息,碰撞发生在非常接近B 的地方现在,B注意到碰撞并开始它自己的指数退避算法序列让我们假设这会导致节点B后退。现在的问题是,B需要等待多长时间

要回答这个问题,请考虑同一事件,但从A的角度来看。干扰信号到达A 时B已经等待了半个时隙。假设指数退避算法序列在节点A 上运行,导致A根本不等待。因此,一旦干扰信号到达A 就会重新发送其原始消息因此,当重新发送的消息到达节点B 时B已经等待了整个时隙时间。如果决定等待的时间少于时隙时间,即使指数退避算法对两个节点AB产生不同的结果,也会发生新的冲突