我是靠谱客的博主 轻松裙子,最近开发中收集的这篇文章主要介绍CSMA/CD 简要介绍名字问题截断二进制指数退避参考,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

这里写目录标题

  • 名字
  • 问题
  • 截断二进制指数退避
    • 基本算法思想
  • 参考

名字

CSMA/CD:Carrier Sense Multiple Access with Collision Detection
载波监听多点接入/碰撞检测

  1. 载波监听:检测信道。在发送数据前,发送数据中,每个站都要不断检测信道
  2. 多点接入:因为是总线型的网络,许多计算机以多点接入的方式连接在一根总线上
  3. 碰撞检测:边发送边监听

特别的是,该协议在物理上是通过电压的变化来检测碰撞是否发生。

问题

在发送数据前已经监听了空闲信道,为什么还要在发送数据中监听呢

因为电磁波在总线上的传播有时延,有速率的限制。实际中,电磁波在 1km 电缆的传播时延约为 5 μs(这是一个重要的数字)。

也就是说,如果 A 向 B 发送信息,必须要在 5 μs 后才到达 B ,而在这个时间内 B 无法监听到 A 的信息,如果此时 B 发送信息,则必然发生碰撞。

在这里插入图片描述

如果假设单程传播时延为 ζ ,发送站想要知道发送的数据是否发生碰撞的最坏情况(最坏时间)就是 2ζ ,即双程传播时延。

正如我们所见,发送站在发送数据后的一段时间内,数据存在碰撞的可能,以太网将这一现象称为发送的不确定性

同时以太网将这个 2ζ 称之为争用期或者碰撞窗口,意思是只要这段时间没有检测到碰撞,那么碰撞就一定不会在发生了。

截断二进制指数退避

如果发送数据没有碰撞,则顺利的传送了数据。那么如果发生碰撞,我们如何重传数据呢?

以太网采用的就是截断二进制指数退避,退避一词就是推迟的意思。

基本算法思想

  1. 协议规定基本的退避时间为一个争用期的时间长度(2ζ = 51.2μs)
  2. 首先根据下列公式计算出一个 k 值
k = Min[重传次数,10] // 当重传次数小于 10 ,k 就取 重传次数;否则取 10

将 k 值代入下列整数集合中

[0,1,...(2^k-1)]

取得的整数记为 r ,r 即为 r 倍的争用期

  1. 当重传次数达到 16 任不能成功则丢弃该帧,向上层汇报

由此可见,推迟的平均时间随着重传次数而增大。

参考

《计算机网络-第7版》
《计算机网络-自顶向下》

最后

以上就是轻松裙子为你收集整理的CSMA/CD 简要介绍名字问题截断二进制指数退避参考的全部内容,希望文章能够帮你解决CSMA/CD 简要介绍名字问题截断二进制指数退避参考所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部