网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

采用回退算法来实现CSMA/CD协议的实施

更新时间:2026年03月27日   作者:spoto   标签(Tag):
先决条件:适用于CSMA/CD协议的回退算法。 以太网网络允许一组连接的节点共享对物理介质的使用权。这些节点共同构成一个“冲突域”。当有数据需要传输时,每个正在传输的网卡还会监控自身的传输情况。如果检测到冲突,该网卡会立即停止传输,而是发送一个包含48位数据的“干扰序列”。 下图展示了传输过程的流程图。流程图 –回退操作N它将数值归零,然后开始监听电缆上的信号,以判断是否有任何数据正在传输。如果电缆处于空闲状态,那么它会继续等待,直到电缆再次进入空闲状态。当电缆恢复为空闲状态时,它会等待超过9.6微秒的时间,以便各个节点能够做好即将进行的数据传输的准备。这样做是为了避免某些节点因为无法接收数据而陷入“饥饿状态”。
  • 传输帧:它通过电缆传输帧数据。如果不存在碰撞情况,那么消息就能成功发送。但如果发生碰撞,消息帧会返回给发送方。此时,沿途的每个站点都应立即发出干扰信号,这样,所有检测到碰撞的站点都不得再继续发送信号了。
  • 干扰信号:不同的频率被预留出来用于干扰信号。这些信号被发送出来,目的是让所有站点停止处理那些已被接受的数据包。当接收到干扰信号后,发送方就会停止发送数据包。在发生碰撞之后,碰撞次数会被增加。N++如上述流程图所示。
  • 测试次数:如果网络处于繁忙状态,那么重新传输的数据仍有可能与其他已经重新传输过的数据帧发生冲突(或者,也有可能遇到由其他网络接口设备首次发送的新数据帧)。因此,测试次数实际上是指使用该变量进行重新传输尝试的次数。N它试图将同一帧重新传输多达15次。在传输了15次之后,该操作就会失败。注意:N的值因局域网的不同而有所差异。具体数值取决于具体的实现方式。如果N的值小于15,那么就会检查N的值是否小于10。如果确实小于10的话,那么变量……R该值将与 N 相同。但是,如果 N 的值大于 10,那么该值就会有所不同。R将会被设置为10。这说明了该值的大小为……R有效期至10点为止。
  • 选择“随机”选项:从某个范围内随机选择一个整数。0到2R-1然后就是等待的时间了。K * 51.2这里,51.2表示的是一个时隙的时间长度。Tslot它被分配给某个站点。同样,这一过程的具体实施方式因局域网而异,具体取决于所使用的带宽大小。之后,整个过程会再次重复进行。
示例:假设有2个站点A和B同时开始传输数据,那么就会发生碰撞。 经过两次碰撞后,N=2,因此R=2。那么,集合中的元素为{0, 1, 2, 3},也就是说,发生碰撞的概率约为四分之一。 这相当于等待的时间介于 {0, 51.2, 102.4, 153.6} 微秒之间。在发生了3次碰撞之后,N=3,因此R=3。此时,所有可能的组合为{0, 1, 2, 3, 4, 5, 6, 7},也就是说,发生碰撞的概率约为八分之一。但是,当发生4次碰撞后,N=4。此时,所有可能的组合变为{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15},也就是说,发生碰撞的概率约为十六分之一。 这种缩放操作是通过乘法来实现的,这种现象被称为指数式回退。 这就是CSMA/CD协议在需要处理大量网络接口设备时的运作方式——即使会出现冲突的情况。 该算法的阈值设定为1024。 这是因为,当N的值增加到15时,我们仍然将R的值设定为10。如果碰撞次数超过15次的话,那么处理就会中断。 原因是,随着碰撞次数的增加,所需的NIC数量也会随之增加,而且站点需要延迟的时间也会变长。 由于数字集合{0, 1,..., 1023}已经是一个相当大的数字集合了,因此继续增加该集合的大小并不会带来什么额外的好处。 每次传输时,单个帧的重新传输次数有限,最多为16次尝试(N=15)。 之后,这个框架就会被丢弃。 但实际上,除非网络过载,否则网络是不允许以这种方式丢弃数据包的。说明:当某个帧首次被传输时,N的值为0。 如果发生了冲突,那么第一次重新传输时,N的值将变为N+1,即0+1=1。此时,R的值为1,节点会从集合{0, 1}中随机选择一个数值K。 如果节点在传输同一帧时再次遇到冲突,那么N的值将变为N+1,即2。此时,R的值为2,节点将从集合{0, 1, 2, 3}中随机选择一个数值K。 如此循环下去……
              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料