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