CSMA

本文详细介绍了CSMA(载波侦听多路访问)的概念及其不同类别,包括1-persistent CSMA、非持续CSMA、p-持续CSMA以及CSMA/CD等,并探讨了它们的工作原理及优缺点。

 

CSMA

 CSMA

 

CSMA
CSMA(CarrierSenseMultipleAccess),载波侦听多路访问。采用分布式控制方法,附接总线的各个结点通过竞争的方式,获得总线的使用权。只有获得使用权的结点才可以向总线发送信息帧,该 信息帧将被附接总线的所有 结点感知。包括以下三个要点: 载波侦听——发送结点在发送信息帧之前,必须侦听媒体是否处于空闲状态; 多路访问——具有两种含义,既表示多个结点可以同时访问媒体,也表示一个结点发送的信息帧可以被多个结点所接收; 冲突检测——发送结点在发出信息帧的同时,还必须监听媒体,判断是否发生冲突(同一时刻,有无其他结点也在发送信息帧)。IEEE802.3或者ISO8802/3定义了CSMA/CD的标准。

CSMA是载波检测(侦听)多路访问.它检测其他站的活动情况,据此调整自己的行为.分为以下几类:

11- 持续CSMA(1-persistentCSMA):当信道忙或发生冲突时,要发送帧的站,不断持续侦听,一有空闲,便可发送.其中,长的传播延迟和同时发送帧,会导致多次冲突,降低系统性能.2非持续CSMA:它并不持续侦听信道,而是在冲突时,等待随机的一段时间.它有更好的信道利用率,但导致更长延迟.3p-持续CSMA:它应用于分槽信道,按照P概率发送帧.即信道空闲时,这个时槽,欲发送的站P概率发送,Q=1-P概率不发送.若不发送,下一时槽仍空闲,同理进行发送.若信道忙,则等待下一时槽,若冲动,则等待随机的一段时间,重新开始.以上都是对ALOHA的改进.当信道忙时,所有站都不传输帧.4带冲突检测的CSMA(CSMA/CD:CSMAwithCollisionDetection):它一旦检测到冲突,立即终止当前传输中的帧,节省时间和带宽,并等待一段时间,重新尝试.它广泛用于LAN中MAC子层,是当前以太网LAN的基础.

其概念时间模型分为三个时期:传输周期,竞争周期和空闲周期.

值得一提的是,监听的机制:传输数据时,他的硬件进行监听电缆,如果读回来的信息与发送的不一致,便知发送冲突了.这里,当然需要一种特殊的信号编码方案,能够检测出两个OV信号冲突.(或者在此冲突下,故意不检测,因信号没有损坏).有线网中,冲突检测的最核心内容是祯碎片(即检测到网络中有小于这个大小的祯就认为是祯碎片,因为传输2端都在传输造成冲突,2端数据在网络中都只有1部分,即不完整,产生碎片)。

在无线网中由于有隐藏结点(即每个结点不知道也不可能知道整个网络的实时情况),因此无法“检测”所以CSMA/CA(CSMAwithCollisionAvoidance)载波侦听多路访问冲突检测就应运而生了,它是利用RTS/CTS(即类似TCP的握手协议的应答策略来保证在传输中结点不会再接受请求,从而解决了无线网中的冲突。

### CSMA协议详解 CSMA(Carrier Sense Multiple Access,载波监听多路访问)是一种介质访问控制协议,广泛应用于共享通信信道的网络环境中。它通过监听信道的状态来决定是否发送数据,从而减少冲突的发生[^2]。 #### 基本原理 CSMA的核心思想是,在发送数据之前,设备需要先监听信道是否空闲。如果信道忙,则等待一段时间再重新尝试发送;如果信道空闲,则立即发送数据。根据处理冲突的具体方式,CSMA可以分为以下几种实现方式: 1. **1-坚持CSMA** 在这种实现中,当设备检测到信道空闲时,会立即发送数据。如果信道忙,则持续监听,直到信道变为空闲状态。这种方式的优点是响应速度快,但缺点是在高负载情况下容易导致冲突增加[^3]。 2. **非坚持CSMA** 非坚持CSMA在检测到信道忙时,不会持续监听,而是随机等待一段时间后再重新检查信道状态。这种方式可以有效减少冲突,但在低负载情况下可能降低信道利用率[^3]。 3. **P-坚持CSMA** P-坚持CSMA结合了1-坚持和非坚持的特点。当设备检测到信道空闲时,以概率 \(P\) 发送数据,否则等待一个时间槽后再次尝试。这种方式在信道利用率和冲突减少之间提供了一个折中方案[^3]。 #### CSMA/CD与CSMA/CA的区别 - **CSMA/CD(Collision Detection,碰撞检测)** 主要用于有线网络(如以太网)。在这种协议中,设备在发送数据的同时监听信道,一旦检测到冲突,则立即停止发送,并使用截断二进制指数退避算法重新选择发送时间[^3]。 - **CSMA/CA(Collision Avoidance,碰撞避免)** 主要用于无线网络(如802.11标准)。由于无线环境中无法同时发送和接收信号,CSMA/CA通过引入RTS(Request to Send)和CTS(Clear to Send)机制来提前避免冲突。此外,802.11的MAC层设计了协调功能,确保移动站在合适的时间发送或接收数据[^1]。 #### 实现方式 以下是CSMA协议的一种典型实现伪代码: ```python def csma_send(data): while True: if channel_is_idle(): send_data(data) return else: backoff_time = random.randint(0, max_backoff) wait(backoff_time) ``` #### 优点与局限性 - **优点** - 提高了共享信道的利用率。 - 减少了不必要的冲突。 - **局限性** - 在高负载环境下,冲突仍然可能发生,影响性能。 - 对于无线环境,CSMA/CA的开销较大,尤其是RTS/CTS机制增加了额外的延迟[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值