计算机网络【2】—— CSMA/CD协议

参考文献:

https://blog.csdn.net/loveCC_orange/article/details/79177129

一、认识以太网

最早的以太网是将许多计算机都连接到一根总线上。

使用总线如何通信呢?

当一台计算机发送数据的时候,总线上的所有计算机都能检测到这个数据。这就是广播通信方式。当我们需要在总线上进行一对一通信的时候,就需要使每一台计算机的网卡拥有一个与其他网卡都不同的地址。这个时候,我们在发送数据帧时,就需要表明数据帧接收站的地址。只有网卡地址与其相同时,才接受数据帧,否则丢弃帧。

以太网的实现方式:

  • 采用较为灵活的无连接的工作方式,即不必建立连接就可以直接发送数据。网卡对发送的数据帧不进行编号,也不要求对方发回确认。这样做可以使以太网工作起来非常简单。以太网所提供的服务是尽最大努力的交付,即不可靠的服务。
  • 以太网发送的数据都是使用曼彻斯特编码的信号,使用曼彻斯特编码的优点是可以很方便的解决接收端接收连续的0或者1时无法提取同步信号的问题;缺点就是因为曼彻斯特编码的规则导致每秒需要传输的码元数量增加了一倍,所以它占的频带宽度也比原始的基带信号增加了一倍。

二、CSMA/CD(多点接入载波监听/冲突检测)协议

多点接入说明是总线型网络,计算机以多点接入的方式连接在一根总线上,协议的实质是“载波监听”和“碰撞检测”。

1.载波监听

载波监听就是利用电子技术检测总线上有没有其他计算机也在发送。载波监听实际上就是检测信道。在发送前,每个站不停地检测信道,是为了获得发送权;在发送中检测信道,是为了及时发现有没有其他站的发送和本站发送的碰撞,这就是碰撞检测。总之,载波监听是全程都在进行的

2.碰撞检测

碰撞检测就是边发送边监听。就是网卡边发送数据边检测新岛上的信号电压的变化情况,以便判断自己在发送数据的时候其他站是否也在发送数据。当几个站同时在总线上发送数据时,总线上的信号电压变化幅度将会增大(互相叠加),当网卡检测到的信号电压超过一定的门限值时,说明总线上至少有两个站同时在发送数据,表明产生了碰撞(冲突),所以也称为冲突检测。这时,由于接收的信号已经识别不出来,所以任何一个正在发送的站就会立即停止发送数据,然后等待一段随机事件以后再次发送。

3.传播时延对碰撞检测的影响

因为网卡只有在接收到电压幅度不正常的信号以后才能判断是否产生了冲突,所以它在接收到信号之前会认为信道是空闲的。但是信号传播会有延迟,比如下图:

如图为两台计算机A、B,假设二者指甲距离为一公里,如果A、B同时发送数据,则会在线路中间发生碰撞,那么A、B检测到碰撞的时间为图中单程端到端的传播时延t;若A先发,B后发,那么A最长时间检测到碰撞的时间为2t。

注:电磁波在1km电缆的传播时延约为5us(需要记住!)

在使用CSMA/CD协议时,一个站不可能同时进行发送和接收,进行的是半双工通信。

从图中可以看出,每个站在自己发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。(这个时间是2t,t由两站之间的距离决定)这是以太网发送的不确定性。正是这种不确定性使得以太网的平均通信量远小于以太网的最高数据率。

以太网端到端的往返时间2t称为争用期(碰撞窗口)

三、截断二进制指数退避算法

以太网使用截断二进制指数退避算法来确定碰撞后重传的时机。这种算法让发生碰撞的站在停止发送数据后,不是等待信道变为空闲后立即再发送数据,而是退避一个随机的时间。一以减小再次发生碰撞的概率。具体算法如下:

  • 协议规定了基本退避时间为2t,具体的争用期时间通常取51.2us,对于10Mb/s的以太网,在争用期内可发送512bit,即64字节。
  • 从离散的整数集合【0,1,……(2^k-1)】中随机取一个数,记为r,重传应推后的时间就是r倍的争用期。

        k=Min[重传次数,10]

  • 当重传次数不超过10时,参数k等于重传次数;当重传次数超过10时,k就不再增大一直等于10。
  • 当重传16次仍然不能成功时(这表明同时打算发送数据的站太多,以致连续发生冲突),则丢弃该帧,并向高层报告。

 例如:

  • 在第一次重传时,k=1,随机数从{0,1}中选一个数。所以重传的推迟时间可以是0或者2t,随机选择。
  • 第二次发生碰撞,k=2,随机数从{0,1,2,3}中选一个,所以重传的推迟时间可以是0,2t,4t,6t随机选择一个。
  • 以此类推。。

可能会出现这样一种情况就是:

某个站发送了一个很短的帧,但发生了碰撞,但发生了碰撞,不过在这个帧发送完毕后才检测到发生了碰撞。已经没有办法中止帧的发送,因为已经发送完了。这个时候即使发生了碰撞,那么刚才的帧也无法进行重传,就会产生错误。

注:数据帧能够重传的一个条件:以太网要实现重传,必须保证这个站在收到冲突信号的时候这个帧没有传完

所以基于这种情况,以太网规定了一个最短帧的长度为64个字节,即512bit。因为64字节正好是争用期长度,如果在争用期内没有发生碰撞,那么就不会发生碰撞了。因此,凡长度小于64字节的帧都是由于冲突而异常停止的无效帧。接收端收到这种帧会直接丢弃。(对于10Mb/s传统以太网而言!!!)

我们知道信号在以太网上传播1km需要5us,以太网上最大的端到端的时延必须小于争用期的一半(25.6us),相当于以太网的最大端到端长度约为5km。实际上的以太网覆盖范围远没有这么大。因此实际的以太网都能在争用期51.2us内检测到可能发生的碰撞。以太网确定以51.2us作为争用期,不仅考虑了端到端时延,而且还考虑了好多其他因素。

强化碰撞

当发送数据的站一旦发现发生了碰撞时,除了立即停止发送数据外,还要再继续发送32比特或48比特的人为干扰信号,以便让所有用户都知道发生了碰撞。以太网还规定了帧间最小间隔为9.6us,相当于96比特时间,这样做是为了使刚刚收到数据帧的站的接收缓存来得及清理,做好接收下一帧的准备。

以太网建立重传机制的原因:

首先,以太网不想采用连接机制,因为会降低效率,但他又想有一定的重传机制,因为以太网的重传是微秒级,而传输层的重传,如TCP的重传达到毫秒级,应用层的重传更达到秒级,我们可以看到越底层的重传,速度越快,所以对于以太网错误,以太网必须有重传机制。

四、CSMA/CD协议的工作过程(重要)

  • 准备发送:适配器从网络层获得一个分组,加上以太网的首部和尾部,组成以太网帧,,放入网卡的缓存中,但在发送之前,必须先检测信道。
  • 检测信道:不停地检测信道,一直等待信道空闲,并在96比特时间内信道保持空闲(保证了帧间最小时间间隔),就发送这个帧。
  • 在发送过程中仍不停地检测信道,即网络适配器要边发送边监听。这里只有两种可能性:
    • 发送成功:在争用期内一直未检测到碰撞,这个帧发送成功,回到(1)
    • 发送失败:在争用期内检测到碰撞,这是立即停止发送数据,并按规定发送认为干扰信号。适配器接着就执行指数退避算法,等待r倍512比特时间后,返回到步骤(2),继续检测信道。若重传16次仍不能成功,则停止重传向上报错。

以太网每发完一帧,一定要把已经发送的帧暂时保留一下。如果在争用期内检测出发生了碰撞,那么还要在推迟一段时间后再把这个帧重传一次。

原文地址:https://www.cnblogs.com/bopo/p/9247945.html

时间: 2024-10-11 20:47:20

计算机网络【2】—— CSMA/CD协议的相关文章

2016.6.20 计算机网络复习要点第三章之CSMA/CD协议

1.最早的以太网是将许多计算机都连接到一根总线上: (1)总线的特点是:当一台计算机发送数据时,总线上的所有计算机都检测到这个数据,这种就是广播通信方式: (2)为了实现在总线上的一对一通信,可以使每一台计算机的适配器拥有一个与其他适配器都不同的地址,当数据帧中的目的地址与适配器ROM中存放的硬件地址一致时,该适配器才能接收到这个数据帧: (3)人们通常把局域网上的计算机称为“主机”,“工作站”,“站点”或“站” 2.以太网为了通信方便采取的措施: (1)采用较为灵活的无连接的工作方式,即不必先

计算机网络——CSMA/CD协议

局域网的数据链路层 局域网的特点是网络为一个单位所拥有,且地理和站点数目均有限 局域网的优点: (1)具有广播功能,从一个站点可以很方便地访问全网,局域网上的主机可共享连接在局域网上的各种硬件和软件资源 (2)便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变 (3)提高了系统的可靠性.可用性和生存性. 共享信道要着重考虑的一个问题就是如何使众多用户能够合理而方便地共享通信媒体资源. (1)静态划分信道,用户只要分配到了信道就不会和其他用户发生冲突.但代价较高. (2)动态接入控制,又称为

CSMA/CD协议

广播信道可以一对多通局域网的数据链路层 局域网的特点:网络为一个单位所拥有,且地理范围和站点数目均有限. 如何使局域网上的众多主机能够合理而方便的共享通信媒体资源?在技术上有两种方法: ? 静态划分信道:在物理层进行频分复用.时分复用.码分复用,这种方法代价较高,不适合局域网使用. ? 动态媒体接入控制,又称为多点接入,信道并非在用户通信时固定分配.这种方法又分为两类 ? 随机接入:所有连接在局域网上的用户可以随机的发送信息,但是如果有两个用户在同时发送信息,那么就会产生碰撞,因此必须要有解决碰

使用CSMA/CD协议一个计算题

题干: 首先计算一下A这个以太网所容许的最短的帧它的发送帧的长度时间为: (8(前同步码为8)+64(最短帧长))*8(单位转换b到B)=576比特 有关于单位转换: B是Byte的缩写,B就是Byte,也就是字节(Byte):b是bit的缩写,b就是bit,也就是比特位(bit).B与b不同,注意区分,KB是千字节,Kb是千比特位. 1MB(兆字节)=1024KB(千字节)=1024*1024B(字节)=1048576B(字节): 8bit(比特位)=1Byte(字节): 1024Byte(字

计算机网络初探(ip协议)

粗读了两遍计算机网络(谢希仁),对于计算计算机网络算是有了一个初步的了解,所以打算写一篇文章(希望是教程)进行巩固(主要围绕IP协议). 局域网 因特网的产生和广泛使用极大地改变了我们的生活,但对于不了解当中技术细节的人来说,因特网的工作是透明的,即我们不知道在每次点击一个链接,发送一个文件,或者进行联机游戏时计算机的软硬件背后,无数线缆,电磁波,甚至卫星是怎样将我们的数据运送到另一台计算机上,而我们能感受到的只有毫秒间的数据收发和一个世界范围内的网络互联. 首先,从比较原始的地方开始讲起,当我

▶链路层第三弹◀ 两种信道下的数据链路层【下】广播通信CSMA/CD

两种信道情况下的数据链路层     之 广播信道的数据链路层---CSMA/CD(载波监听多路访问/冲突检测) l  局域网概念 在局域网中用到的就是广播通信,所以以局域网的通信来讲解广播信道的数据链路层特点.在学习广播通信 特点之前,先来了解一下局域网. n 局域网的分类 所有的PC机接到中间设备核心上.但是如果核心设备一点坏掉了,则所有PC机都将受到影响.虽然核心坏掉会出现问题,但是一般核 心不会坏,坏的一般是线路,星形网中线路的毁坏并不会影响其他PC的工作,所以星形网在局域网中用的比较多.

计算机网络-CSMA/CD

假定1km长的CSMA/CD网络的传输速率为1Gbit/s.设信号在网络上的传播速率为200000km/s,则能够使用此协议的最短帧长是? 答案:2×104bit/s 解析:C=2×105km/s,即每千米单程传播时间为1/2×105=5×10-6s(5μs),所以来回路程传播时间为10μs,CSMA/CD的功能之一是冲突检测,其耗时最长为端到端传播时延的两倍.所以发送帧的最短耗时要大于10μs,即 10μs×1Gbit/s=10-6×1010=104bit=1250byte. 说白了这道题就是

冲突域和CSMA/CD

★冲突域 最早的以太网是将许多的计算机连接到一根总线上,因为当初认为这种方法既简单又可靠,因为在那个时代普遍认为"有源器件不可靠,而无源的电缆线才是最可靠的"(现在听起来是不是觉得前辈们也有不靠谱的时候?只不过或许我们现在的许多技术迟早也会在后人看来觉得很是不成熟吧).然后这个总线上只要有一台计算机发送数据,总线的传输资源就会被占用.这样的一个会产生冲突的区域就是冲突域. ★CSMA/CD Carrier Sense Multiple Access with Collision Det

CSMA/CD

CSMA/CD(Carrier Sense Multiple Access with Collision Detection)即带冲突检测的载波监听多路访问技术.在传统的共享以太网中,所有的节点共享传输介质.如何保证传输介质有序.高效地为许多节点提供传输服务,就是以太网的介质访问控制协议要解决的问题. 1基础篇 CSMA/CD是一种争用型的介质访问控制协议.它起源于美国夏威夷大学开发的ALOHA网所采用的争用型协议,并进行了改进,使之具有比ALOHA协议更高的介质利用率.主要应用于现场总线Eth