计算机网络 --- 数据链路层CSMA协议
CSMA協(xié)議的全程為載波監(jiān)聽多路訪問協(xié)議CSMA(carrier sense multiple access)
CS:
載波偵聽/監(jiān)聽,每一個(gè)站在發(fā)送數(shù)據(jù)之前要想檢測(cè)一下總線上是否有其他計(jì)算機(jī)在發(fā)送數(shù)據(jù)。
CS --- 檢測(cè)方法:
當(dāng)幾個(gè)站同時(shí)在總線上發(fā)送數(shù)據(jù)時(shí),總線上的信號(hào)電壓擺動(dòng)值將會(huì)增大(互相疊加)。當(dāng)一個(gè)站檢測(cè)到的信號(hào)電壓擺動(dòng)值超過一定門限值時(shí),就認(rèn)為總線上至少有兩個(gè)站在同時(shí)發(fā)送數(shù)據(jù),表明發(fā)生了碰撞,即發(fā)生了沖突。
MA:
多點(diǎn)接入,表示許多計(jì)算機(jī)以多點(diǎn)接入的方式連接在一根總線上。
CSMA協(xié)議思想:
發(fā)送幀之前,監(jiān)聽信道。
CSMA具體決策方式:
取決于監(jiān)聽結(jié)果,當(dāng)信道空閑時(shí)(即電壓擺動(dòng)值未超過門限值),發(fā)送完整幀。
信道忙時(shí),推遲發(fā)送。具體處理方法還分為:
- 1 - 堅(jiān)持CSMA
- 非堅(jiān)持CSMA
- p - 堅(jiān)持CSMA
CSMA具體決策方式 --- 1 - 堅(jiān)持CSMA
堅(jiān)持指的是對(duì)于監(jiān)聽信道忙之后的堅(jiān)持。
1 - 堅(jiān)持CSMA的思想:
如果一個(gè)主機(jī)要發(fā)送消息,那么它先監(jiān)聽信道(另兩種CSMA也是如此)。如果信道空閑則直接傳輸,不必等待。如果忙的話則一直監(jiān)聽,直到空閑馬上傳輸。如果有沖突(一段時(shí)間內(nèi)未收到肯定回復(fù)),則等待一個(gè)隨機(jī)長(zhǎng)的時(shí)間再監(jiān)聽,重復(fù)上述過程。
優(yōu)點(diǎn):
只要媒體空閑,站點(diǎn)就馬上發(fā)送,避免了媒體利用率的損失。
缺點(diǎn):
假如有兩個(gè)或兩個(gè)以上的站點(diǎn)有數(shù)據(jù)要發(fā)送,沖突就不可避免。
CSMA具體決策方式 --- 非堅(jiān)持CSMA
非堅(jiān)持指的是對(duì)于監(jiān)聽信道忙之后就不繼續(xù)監(jiān)聽。
非堅(jiān)持CSMA思想:
如果一個(gè)主機(jī)要發(fā)送消息,那么它先監(jiān)聽信道。如果信道空閑則直接傳輸,不必等待。忙則等待一個(gè)隨機(jī)的時(shí)間之后再進(jìn)行監(jiān)聽。
優(yōu)點(diǎn):
采用隨機(jī)的重發(fā)延遲時(shí)間可以減少?zèng)_突發(fā)生的可能性。
缺點(diǎn):
可能存在大家都在延遲等待過程中,使得媒體仍處于空閑狀態(tài),媒體使用率降低。
CSMA具體決策方式 --- p - 堅(jiān)持CSMA
p - 堅(jiān)持指的時(shí)對(duì)于監(jiān)聽信道空閑的處理
p - 堅(jiān)持CSMA思想:
如果一個(gè)主機(jī)要發(fā)送消息,那么它先監(jiān)聽信道。空閑則以p概率直接傳輸,不必等待;概率1 - p等待到下一個(gè)時(shí)間槽再傳輸。如果忙則等待一個(gè)隨機(jī)的時(shí)間之后再進(jìn)行監(jiān)聽(跟非堅(jiān)持相同)。
優(yōu)點(diǎn):
既能像非堅(jiān)持算法那樣減少?zèng)_突,又能像堅(jiān)持算法那樣減少媒體空閑時(shí)間的這種方案。
缺點(diǎn):
發(fā)生沖突后還是要堅(jiān)持把數(shù)據(jù)幀發(fā)送完,造成了浪費(fèi)。
CSMA具體決策方式 --- 三種CSMA對(duì)比總結(jié)
| 1-堅(jiān)持CSMA | 非堅(jiān)持CSMA | p-堅(jiān)持CSMA | |
| 信道空閑 | 馬上發(fā) | 馬上發(fā) | p概率馬上發(fā) 1-p概率等到下一個(gè)時(shí)隙再發(fā)送 |
| 信道忙 | 繼續(xù)堅(jiān)持監(jiān)聽 | 放棄監(jiān)聽,等一個(gè)隨機(jī)時(shí)間再監(jiān)聽 | 放棄監(jiān)聽,等一個(gè)隨機(jī)時(shí)間再監(jiān)聽 |
總結(jié)
以上是生活随笔為你收集整理的计算机网络 --- 数据链路层CSMA协议的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 个性化显示服务器,Linux系统个性化登
- 下一篇: java 静态变量 new_java中静