计算机网络数据链路层之CSMA/CD与CSMA/CA协议

什么是CSMA/CD?

  CSMA/CD是多址接入,载波监听,碰撞检测三个词的缩写。

  多址接入:多个站点连接在一条主线上,竞争使用总线。

  载波监听:每个站点再发送前先检测一下总线上是否有其他站点在发送帧.(1)若检测到总线空闲96比特时间,则发送这个帧。(2)若总线忙,则继续监测并等待总线空闲96比特时间,然后继续发送这个帧。

  碰撞检测:每一个正在发送的站边发送边检测碰撞,如果监测到碰撞后停止发送,并随机等待一段时间后继续发送。同时以太网增加了碰撞加强的操作,一旦发现碰撞后除了对应站停止发送外,还会人为的增加干扰信号,目的是让所有主机都知道发生了碰撞。

下面再介绍一下碰撞窗口的概念:

  

  如上图所示,站点A首先监测到主线空闲了96比特,于是开始发送帧,但是再A的帧运输期间,站点D也监测到主线空闲了96比特,于是也同样开始发送帧,这就会导致双方发生碰撞,只有当帧数据往返一遍回到原点时才可以确定不会发生碰撞了,所以我们把端到端的往返时间叫做碰撞窗口或者征用期。显然,征用期越长,站点数越多,发生碰撞的概率就越大,所以共享式以太网不能连太多主机,总线也不能太长。

最小帧长:

  

  如图所示,如果帧长太短,那么会导致主机在检测到碰撞之前就完成了对帧的发送,从而不知道该帧已经被碰撞,即使目的站点把该帧丢弃,原始站点也不会重发了。所以我们规定最小帧长为64字节,如果数据不够长就填入一些字节,这样就可以保证在发送完毕之前一定可以检测到碰撞,只要检测到碰撞就停止发送,因此可以知道所有小于64字节长度的帧都是碰撞过的帧!

最大帧长:

  

一旦帧的长度过长,会导致总线一直被占用,接收方的缓冲区也会溢出,所以必须规定一个最大帧长,这个最大帧长为1518字节,所以减去18字节的头尾长度后,数据载荷为46~1500字节。

什么是CSMA/CA?

  上面的CSMA/CD是用在以太网上的,而CSMA/CA使用在无线网络上的,它们相差在一个叫CA另一个叫CD上,为什么无限网络不能进行碰撞检测CD呢?原因在于无线传播的特殊性,信号强度的动态范围很大,导致如果要进行碰撞检测那么对硬件的要求过高,所以就改成碰撞避免了。

猜你喜欢

转载自www.cnblogs.com/ljy2017/p/12431406.html