殷慧賓 王洪波
作為一名網(wǎng)絡(luò)工作者,我們都知道做網(wǎng)線時不能超過100米,如果超過100米會導(dǎo)致網(wǎng)絡(luò)不通,可你曾想過為什么網(wǎng)線不能超過100米嗎?
CSMA/CD協(xié)議限制了網(wǎng)線長度?
在謝希仁教授編著、電子工業(yè)出版社出版的《計算機網(wǎng)絡(luò)》第六版105頁有這樣一段描述:10GE只工作在全雙工方式,因此不存在爭用問題,當然也不使用CSMA/CD協(xié)議,這就使得10GE的傳輸距離大大提高了(因為不再受必須進行碰撞檢測的限制);在2010下半年的全國計算機技術(shù)與軟件專業(yè)技術(shù)資格(水平)考試的網(wǎng)絡(luò)規(guī)劃設(shè)計師考試第5、6道題也是關(guān)于網(wǎng)線長度的:當千兆以太網(wǎng)使用UTP作為傳輸介質(zhì)時,限制單根電纜長度不超過100米,其原因是千兆以太網(wǎng)采用CSMA/CD。
這似乎都說明網(wǎng)絡(luò)長度不超過100米是由于以太網(wǎng)中采用了CSMA/CD協(xié)議導(dǎo)致的,果真如此嗎?下面我們根據(jù)CSMA/CD協(xié)議計算一下網(wǎng)線的長度。
在CSMA/CD協(xié)議中為了保證數(shù)據(jù)在發(fā)送過程中,沖突能夠被偵測到,發(fā)送方采取邊發(fā)送邊檢測的方式,發(fā)送一幀所需要的時間必須要大于等于信號在線路中傳播2倍的時間,如果小于信號在線路中傳播2倍的時間,就會導(dǎo)致在沖突信號檢測到之前數(shù)據(jù)幀已送完畢,這樣發(fā)送方就檢測不出沖突,由于數(shù)據(jù)在發(fā)送過程中發(fā)生了沖突,接收方將其丟棄,而發(fā)送方并不知道發(fā)生沖突,還以為發(fā)送成功,這樣就發(fā)生了錯誤。為了保證發(fā)送方能檢測到發(fā)送過程中可能發(fā)生的沖突,規(guī)定了最小幀長,這個最小幀長與網(wǎng)線的長度密切相關(guān),最小幀長越長,線路的距離就可以越長,兩者是成正比的關(guān)系,協(xié)議中規(guī)定最小幀長為64B,發(fā)送端發(fā)送一幀所需的時間=最小幀長/數(shù)據(jù)發(fā)送速率=L/R,L表示最小幀長,R表示網(wǎng)絡(luò)數(shù)據(jù)速率;數(shù)據(jù)在線路上傳輸?shù)臅r間=線路長度/數(shù)據(jù)在線路中的傳播速度=d/v,d表示最大線路長度,v表示信號傳播速度,信號在銅纜中傳播速度約為光速的2/3,v=300000000m/s×2/3=200000000m/s,根據(jù)CSMA/CD協(xié)議,發(fā)送一幀的時間要大于等于數(shù)據(jù)在線路中傳播時間的2倍,得出L/R>=2d/v ,變換后得到d<=Lv/2R,即求出線路的長度。最小幀長64B,數(shù)據(jù)傳輸速率為百兆,代入d<=Lv/2R=64*8*200000000/2*100000000=512m,由此可以得出網(wǎng)線的最大長度為512米,從計算結(jié)果來看網(wǎng)線不超過100米并不是由CSMA/CD決定的。
另一方面從CSMA/CD原理上分析,CSMA/CD是為了解決發(fā)送信號和接收信號在同一信道沖突的協(xié)議,適用于單工的網(wǎng)絡(luò),單工網(wǎng)絡(luò)就像現(xiàn)實生活中的單線鐵路,只有一條鐵路線,發(fā)車(相當于發(fā)送數(shù)據(jù))和來車(相當于接收數(shù)據(jù))都在同一條線路上,這時就要有一個規(guī)則來限定在兩個站之間什么時間發(fā)車,什么時間來車,否則就會撞車?,F(xiàn)在的網(wǎng)絡(luò)大多是雙工,就像是復(fù)線鐵路,有兩條鐵路線,一條專門用于發(fā)車,一條用于來車,各走各的路,想發(fā)就發(fā),想來就來,并不需要規(guī)則規(guī)定什么時間發(fā)什么時間來,所以雙工的實際是不受CSMA/CD協(xié)議的限制,當然百兆和千兆的網(wǎng)絡(luò)還存在單工的網(wǎng)絡(luò),對于單工的網(wǎng)絡(luò)還要遵守CSMA/CD協(xié)議,在萬兆網(wǎng)絡(luò)中已沒有單工的概念,徹底拋棄CSMA/CD協(xié)議,那為什么網(wǎng)線的長度還要受限呢?
標準限制了網(wǎng)線長度!
無論是從計算還是從原理分析都可以得出網(wǎng)線的長度不能超過100米不是因為CSMA/CD協(xié)議,看來我們要從其他方面尋找原因。
在《綜合布線系統(tǒng)工程設(shè)計規(guī)范GB50311-2007》中明確規(guī)定:配線子系統(tǒng)信道的最大長度不應(yīng)大于100米;在100Mb/s以太網(wǎng)物理層標準中規(guī)定100BASE-TX、100BASE-T4網(wǎng)段最大長度為100米;在吉比特以太網(wǎng)物理層標準中規(guī)定1000BASE-T網(wǎng)段最大長度為100米, 1000BASE-CX網(wǎng)段最大長度為25米,那么網(wǎng)絡(luò)的標準為什么規(guī)定網(wǎng)段長度最大不超過100米呢?
現(xiàn)實生活中,我們都有這樣的經(jīng)驗,面對面講話正常情況下都能聽得清楚,距離越遠聽起來就越困難,這是因為聲波在傳輸?shù)倪^程中損耗造成的,網(wǎng)線也存在電阻,也會造成功率損耗,網(wǎng)線越長信號衰減就越大,為了保證接收端能正確地接收信號,所以規(guī)定網(wǎng)絡(luò)長度不超過100米,因為標準規(guī)定了網(wǎng)絡(luò)長度最長不超過100米,所以網(wǎng)線在設(shè)計生產(chǎn)時也是按照這樣的標準來要求的,網(wǎng)線在100米內(nèi)都可以正常傳輸數(shù)據(jù),但超過了100米就不能保證傳輸效果。綜上所述,網(wǎng)線長度不超過100米的真實原因是在于網(wǎng)線的電氣特性決定的,并不是由CSMA/CD協(xié)議限定的。