日常生活中
两个人相向时往往容易撞。
经常会出现同时往左让,同时等对方让,同时往右让。
最后弄不好就打起来了。
要是人多的话,就得发生群殴和踩踏了。
这就是CSMA/CD协议造成的后果。
而CSMA/CA则改进了这种方式:
丫的冤家路窄时,
两人都随机数数倒计时等待一段时间,看对方让不让。数完我就让。因为每个人的数不一样,也就是耐心不一样。
所以一般就会一个数完让路了另一个还在数。
从而避免了冲突。
通俗的讲:
就是几个人同时要过十字星独木桥。
cd协议是这样的:
先看桥上有没有人
没人的话,走起。
于是就会存在几个人都看到桥上没人
一上去就撞上了。
ca协议则是这样的:
先看桥上没人后,每个人脑子里数想个随机数开始数,丫的数完了还没人上桥老子就上了。
因为每个人脑子里的随机数不一样,所以其他人数完的时候看见有人已经在桥上了,庄子说,我已经在桥上啦。。。于是惠子只好重新检测,等庄子过桥后再数个随机数。
这样就是避免冲突了。
专业得讲:
CD:冲突检测
侦听
发送
检测
冲突处理。
就是,边说边听,强化干扰,碰撞检测窗口。
采用了隐式ack机制,导致了以太网的固有缺陷-负载与时延成上凸函数关系。
CA:冲突避免
监听
随机延时等待一段
发送
由于每个设备采用的随机数不一样,所以减少冲突。
送出数据前,先送一段小小的请求传送报文rts,等待接收端回应cts后,才开始传送。
采用了显式ack机制。