數(shù)據(jù)傳輸速率不斷提升的以太網(wǎng)技術(shù)
——
數(shù)據(jù)傳輸速率不斷提升的以太網(wǎng)技術(shù)
很難想象一種技術(shù)利用最初為語(yǔ)音業(yè)務(wù)設(shè)計(jì)的銅線,竟然能幾乎天衣無(wú)縫地使帶寬增大2個(gè)數(shù)量級(jí)。本文闡述當(dāng)今的以太網(wǎng)(Ethernet)如何像20年前那樣繼續(xù)令人驚奇。
要點(diǎn)
廠商們每年銷售的以太網(wǎng)端口總數(shù)大約為3億件。
后向兼容性和可擴(kuò)展性是以太網(wǎng)獲得成功的關(guān)鍵。
調(diào)制技術(shù)的發(fā)展使帶寬按數(shù)量級(jí)增長(zhǎng)。
早在二十世紀(jì)七十年代,要把計(jì)算機(jī)連接到外圍設(shè)備或者其它計(jì)算機(jī)簡(jiǎn)直就是一場(chǎng)噩夢(mèng)。那時(shí)的一個(gè)典型數(shù)據(jù)處理中心是由一臺(tái)中央小型機(jī)或大型機(jī)以及許多簡(jiǎn)易終端和行式打印機(jī)組成。中央處理器與其外圍設(shè)備之間的連接幾乎總是采用速度超不過(guò)9600波特的RS-232串行總線。結(jié)果,終端通信速度很慢,連支持一個(gè)小規(guī)模操作所需的接線室實(shí)際上也令人費(fèi)解。擔(dān)任施樂(lè)公司Palo Alto研究中心研究員的Bob Metcalfe和David Boggs,由于預(yù)見(jiàn)到普遍性計(jì)算的爆炸性增長(zhǎng),當(dāng)時(shí)正在研究一種以2.94 Mbps的數(shù)據(jù)傳輸速率,把該公司的多臺(tái)計(jì)算機(jī)和打印機(jī)連接起來(lái)的系統(tǒng)。他倆在1976年發(fā)表的一篇論文描述了這種在本地分布的計(jì)算機(jī)系統(tǒng)之間傳遞數(shù)據(jù)包的廣播通信系統(tǒng),并將其命名為Ethernet——以太網(wǎng)(參考文獻(xiàn)1)。他倆與數(shù)字設(shè)備公司(DEC)和英特爾公司(Intel)合作,開始制定一套與廠商無(wú)關(guān)的標(biāo)準(zhǔn),這套標(biāo)準(zhǔn)隨后被IEEE接納為802系列標(biāo)準(zhǔn)之一,這方面的標(biāo)準(zhǔn)開發(fā)工作一直延續(xù)至今。
在各廠商每年總共銷售大約3億端口的情況下,以太網(wǎng)已經(jīng)滲透到商業(yè)和局域聯(lián)網(wǎng)的方方面面。主要是由于固有的安全問(wèn)題,自動(dòng)化工程師很快就會(huì)承認(rèn)以太網(wǎng)在面對(duì)現(xiàn)場(chǎng)總線技術(shù)時(shí)為獲得接納而付出的長(zhǎng)期努力。這種情形在過(guò)程控制行業(yè)內(nèi)是個(gè)爭(zhēng)論點(diǎn),因?yàn)樵谶@個(gè)行業(yè)中,許多部署使得以太網(wǎng)局限于完成數(shù)據(jù)采集和后臺(tái)辦公職責(zé)。但是,很多硅半導(dǎo)體廠商都將以太網(wǎng)包含在其微控制器中,因而這項(xiàng)技術(shù)會(huì)繼續(xù)打入嵌入式系統(tǒng)領(lǐng)域。另一方面,以太網(wǎng)繼續(xù)面對(duì)其在城域數(shù)據(jù)傳送方面的挑戰(zhàn),許多廠商提供橋接器芯片,以簡(jiǎn)化與廣域網(wǎng)骨干技術(shù),例如SONET/SDH(同步光網(wǎng)絡(luò)/同步數(shù)字系統(tǒng))的連接。而同樣在消費(fèi)者和專業(yè)用戶之類的市場(chǎng)上,最新的無(wú)線以太網(wǎng)也正在急速地侵占有線設(shè)備的銷售份額。
如果你正在著手以太網(wǎng)設(shè)計(jì),或者只是想鑒賞諸如Gbps銅線傳輸、以太網(wǎng)供電以及ZigBee之類現(xiàn)代開發(fā)成果,則回顧一下促使以太網(wǎng)在首次商用之后二十年繼續(xù)發(fā)展的技術(shù)基礎(chǔ)是非常有益的。你幾乎肯定會(huì)對(duì)無(wú)論是最早的以太網(wǎng)系統(tǒng)為實(shí)施者提供的靈活性,還是當(dāng)前一代開發(fā)者延續(xù)的獨(dú)創(chuàng)性感到驚訝萬(wàn)分。本文著眼于最流行的有線以太網(wǎng),其目前的數(shù)據(jù)傳輸速率為10 Mbps~10 Gbps不等。
CSMA/CD成為以太網(wǎng)的特點(diǎn)
最初的DIX(DEC/Intel/Xerox)以太網(wǎng)標(biāo)準(zhǔn)在獲得批準(zhǔn)之前,曾由IEEE于1983年加以修訂。該標(biāo)準(zhǔn)描述了一種采用CSMA/CD(帶有沖突檢測(cè)的載波偵聽多路存?。﹨f(xié)議10-Mbps半雙工通信媒體。這種網(wǎng)絡(luò)組件適合于ISO(國(guó)際標(biāo)準(zhǔn)化組織)的OSI(開放系統(tǒng)互連)模型(ISO/IEC 7498-1:1994)的較低兩層,用以提供物理層服務(wù)和數(shù)據(jù)鏈路層服務(wù)(圖1)。這兩層通稱為網(wǎng)絡(luò)層,由網(wǎng)絡(luò)連接媒體(例如電纜)、通信硬件(例如收發(fā)器IC)以及將物理層數(shù)據(jù)流轉(zhuǎn)換并傳遞到較高層進(jìn)一步處理的驅(qū)動(dòng)軟件組成。從這種意義上說(shuō),傳統(tǒng)的以太網(wǎng)是一種無(wú)連接的、不可靠的或“盡力傳送”的系統(tǒng)。因此,這種協(xié)議將數(shù)據(jù)分組并試圖將其傳送到預(yù)期的目的地,而不是首先檢查目的地是否有空或者數(shù)據(jù)是否能安全到達(dá);如果應(yīng)用系統(tǒng)需要,則高級(jí)軟件可完成這些功能。
圖1,以太網(wǎng)服務(wù)映射到標(biāo)準(zhǔn)的ISO/OSI模型的較低層,以提供與獨(dú)立于媒體的通信服務(wù)。
現(xiàn)今最流行的以太網(wǎng)產(chǎn)品仍然采用最初的幀格式(圖2)和CSMA/CD機(jī)制,為了適應(yīng)后續(xù)的較高速度或不同應(yīng)用特性而進(jìn)行的調(diào)整較少。盡管有不需要的存在免除在兩個(gè)節(jié)點(diǎn)之間進(jìn)行仲裁的全雙工網(wǎng)絡(luò),但大多數(shù)工程師還是會(huì)立刻將以太網(wǎng)與CSMA/CD聯(lián)系起來(lái)。與后來(lái)制定的要求每個(gè)節(jié)點(diǎn)具有預(yù)定義的網(wǎng)絡(luò)訪問(wèn)優(yōu)先級(jí)來(lái)簡(jiǎn)化確定性響應(yīng)的協(xié)議——例如CAN(控制區(qū)域網(wǎng))——不同,所有的以太網(wǎng)節(jié)點(diǎn)都具有同等的訪問(wèn)權(quán);因此,以太網(wǎng)不適合實(shí)時(shí)控制用途。當(dāng)一個(gè)傳統(tǒng)以太網(wǎng)節(jié)點(diǎn)打算發(fā)送數(shù)據(jù)時(shí),它首先接收網(wǎng)絡(luò)的信息,以確定媒體是否被占用(載波偵聽階段),如果沒(méi)有,這個(gè)節(jié)點(diǎn)就開始發(fā)送數(shù)據(jù)。如果另一個(gè)節(jié)點(diǎn)也同時(shí)嘗試發(fā)送數(shù)據(jù),就會(huì)發(fā)生數(shù)據(jù)沖突,在同軸網(wǎng)絡(luò)上產(chǎn)生一個(gè)過(guò)高的電壓,或者在半雙工雙絞線網(wǎng)絡(luò)上同時(shí)進(jìn)行發(fā)送/接收。檢測(cè)到這種異常情況時(shí),每個(gè)節(jié)點(diǎn)都會(huì)停止數(shù)據(jù)傳送,并發(fā)送一個(gè)擁塞模式,通知其它節(jié)點(diǎn)推遲任何即將進(jìn)行的數(shù)據(jù)傳送。這個(gè)擁塞模式長(zhǎng)度為32位,由一個(gè)與幀校驗(yàn)序列場(chǎng)中CRC值不一致的任意序列(通常全為“1”)組成。因此,所有接收節(jié)點(diǎn)都會(huì)丟棄這個(gè)毀壞的分組。
圖2,以太網(wǎng)的原始幀格式從10 Mbps到10 Gbps保持不變。
同時(shí),互相沖突的節(jié)點(diǎn)將其發(fā)送嘗試延遲一段隨機(jī)時(shí)間。這種補(bǔ)償延遲算法利用每個(gè)以太網(wǎng)設(shè)備獨(dú)特的48位MAC(媒介訪問(wèn)控制)地址作為其隨機(jī)化程序的一部分;如果這些設(shè)備仍然互相沖突,則這一過(guò)程就會(huì)重復(fù)嘗試多達(dá)16次發(fā)送嘗試——然后發(fā)送節(jié)點(diǎn)就放棄并標(biāo)記一個(gè)錯(cuò)誤。由于發(fā)送節(jié)點(diǎn)僅在發(fā)送時(shí)才檢測(cè)到?jīng)_突,所以任何發(fā)送數(shù)據(jù)的第一位必須到達(dá)各個(gè)節(jié)點(diǎn)后,發(fā)送節(jié)點(diǎn)才停止發(fā)送。相應(yīng)地,協(xié)議規(guī)定了最大電纜長(zhǎng)度,以確保每個(gè)分組的前64位都傳播過(guò)整個(gè)電纜。如果沖突在發(fā)送節(jié)點(diǎn)發(fā)送了最后一位之后發(fā)生,協(xié)議就檢測(cè)不出錯(cuò)誤;因此,較高層功能是檢測(cè)數(shù)據(jù)丟失所必需的?!澳┪矝_突”狀況通常表示硬件故障或線纜配置有誤。但是,沖突是反映以太網(wǎng)通信量隨網(wǎng)絡(luò)使用率增加而增加并不可避免地降低吞吐量的一個(gè)正常特性??偠灾?,你會(huì)預(yù)料到以太網(wǎng)使用率超過(guò)大約80%就會(huì)大大降低性能,不過(guò)大多數(shù)系統(tǒng)的使用率大約為30%~40%。
采用更小且便宜得多的RG-58同軸電纜的10Base2很快就取代采用工業(yè)強(qiáng)度的RG-8同軸電纜的10Base5(即“粗以太網(wǎng)”)技術(shù)。(在以太網(wǎng)術(shù)語(yǔ)中,前面的“10”表示速度為10 Mbps,“base”表示基帶,而最后的數(shù)字表示以百米為單位的最大傳輸長(zhǎng)度。)這些早期以太網(wǎng)都采用總線體系結(jié)構(gòu),兩端各有一個(gè)50Ω端接電阻器,并且一端接地。10Base5技術(shù)利用一段直徑約為10 mm、取出點(diǎn)不近于2.5m的電纜,可達(dá)到500m有效通信距離。電纜沒(méi)有斷點(diǎn),可避免由于連接器或不同電纜種類造成的阻抗不連續(xù),并要求使用一種被稱為“吸血鬼抽頭”的絕緣層剝離連接器
要點(diǎn)
廠商們每年銷售的以太網(wǎng)端口總數(shù)大約為3億件。
后向兼容性和可擴(kuò)展性是以太網(wǎng)獲得成功的關(guān)鍵。
調(diào)制技術(shù)的發(fā)展使帶寬按數(shù)量級(jí)增長(zhǎng)。
早在二十世紀(jì)七十年代,要把計(jì)算機(jī)連接到外圍設(shè)備或者其它計(jì)算機(jī)簡(jiǎn)直就是一場(chǎng)噩夢(mèng)。那時(shí)的一個(gè)典型數(shù)據(jù)處理中心是由一臺(tái)中央小型機(jī)或大型機(jī)以及許多簡(jiǎn)易終端和行式打印機(jī)組成。中央處理器與其外圍設(shè)備之間的連接幾乎總是采用速度超不過(guò)9600波特的RS-232串行總線。結(jié)果,終端通信速度很慢,連支持一個(gè)小規(guī)模操作所需的接線室實(shí)際上也令人費(fèi)解。擔(dān)任施樂(lè)公司Palo Alto研究中心研究員的Bob Metcalfe和David Boggs,由于預(yù)見(jiàn)到普遍性計(jì)算的爆炸性增長(zhǎng),當(dāng)時(shí)正在研究一種以2.94 Mbps的數(shù)據(jù)傳輸速率,把該公司的多臺(tái)計(jì)算機(jī)和打印機(jī)連接起來(lái)的系統(tǒng)。他倆在1976年發(fā)表的一篇論文描述了這種在本地分布的計(jì)算機(jī)系統(tǒng)之間傳遞數(shù)據(jù)包的廣播通信系統(tǒng),并將其命名為Ethernet——以太網(wǎng)(參考文獻(xiàn)1)。他倆與數(shù)字設(shè)備公司(DEC)和英特爾公司(Intel)合作,開始制定一套與廠商無(wú)關(guān)的標(biāo)準(zhǔn),這套標(biāo)準(zhǔn)隨后被IEEE接納為802系列標(biāo)準(zhǔn)之一,這方面的標(biāo)準(zhǔn)開發(fā)工作一直延續(xù)至今。
在各廠商每年總共銷售大約3億端口的情況下,以太網(wǎng)已經(jīng)滲透到商業(yè)和局域聯(lián)網(wǎng)的方方面面。主要是由于固有的安全問(wèn)題,自動(dòng)化工程師很快就會(huì)承認(rèn)以太網(wǎng)在面對(duì)現(xiàn)場(chǎng)總線技術(shù)時(shí)為獲得接納而付出的長(zhǎng)期努力。這種情形在過(guò)程控制行業(yè)內(nèi)是個(gè)爭(zhēng)論點(diǎn),因?yàn)樵谶@個(gè)行業(yè)中,許多部署使得以太網(wǎng)局限于完成數(shù)據(jù)采集和后臺(tái)辦公職責(zé)。但是,很多硅半導(dǎo)體廠商都將以太網(wǎng)包含在其微控制器中,因而這項(xiàng)技術(shù)會(huì)繼續(xù)打入嵌入式系統(tǒng)領(lǐng)域。另一方面,以太網(wǎng)繼續(xù)面對(duì)其在城域數(shù)據(jù)傳送方面的挑戰(zhàn),許多廠商提供橋接器芯片,以簡(jiǎn)化與廣域網(wǎng)骨干技術(shù),例如SONET/SDH(同步光網(wǎng)絡(luò)/同步數(shù)字系統(tǒng))的連接。而同樣在消費(fèi)者和專業(yè)用戶之類的市場(chǎng)上,最新的無(wú)線以太網(wǎng)也正在急速地侵占有線設(shè)備的銷售份額。
如果你正在著手以太網(wǎng)設(shè)計(jì),或者只是想鑒賞諸如Gbps銅線傳輸、以太網(wǎng)供電以及ZigBee之類現(xiàn)代開發(fā)成果,則回顧一下促使以太網(wǎng)在首次商用之后二十年繼續(xù)發(fā)展的技術(shù)基礎(chǔ)是非常有益的。你幾乎肯定會(huì)對(duì)無(wú)論是最早的以太網(wǎng)系統(tǒng)為實(shí)施者提供的靈活性,還是當(dāng)前一代開發(fā)者延續(xù)的獨(dú)創(chuàng)性感到驚訝萬(wàn)分。本文著眼于最流行的有線以太網(wǎng),其目前的數(shù)據(jù)傳輸速率為10 Mbps~10 Gbps不等。
CSMA/CD成為以太網(wǎng)的特點(diǎn)
最初的DIX(DEC/Intel/Xerox)以太網(wǎng)標(biāo)準(zhǔn)在獲得批準(zhǔn)之前,曾由IEEE于1983年加以修訂。該標(biāo)準(zhǔn)描述了一種采用CSMA/CD(帶有沖突檢測(cè)的載波偵聽多路存?。﹨f(xié)議10-Mbps半雙工通信媒體。這種網(wǎng)絡(luò)組件適合于ISO(國(guó)際標(biāo)準(zhǔn)化組織)的OSI(開放系統(tǒng)互連)模型(ISO/IEC 7498-1:1994)的較低兩層,用以提供物理層服務(wù)和數(shù)據(jù)鏈路層服務(wù)(圖1)。這兩層通稱為網(wǎng)絡(luò)層,由網(wǎng)絡(luò)連接媒體(例如電纜)、通信硬件(例如收發(fā)器IC)以及將物理層數(shù)據(jù)流轉(zhuǎn)換并傳遞到較高層進(jìn)一步處理的驅(qū)動(dòng)軟件組成。從這種意義上說(shuō),傳統(tǒng)的以太網(wǎng)是一種無(wú)連接的、不可靠的或“盡力傳送”的系統(tǒng)。因此,這種協(xié)議將數(shù)據(jù)分組并試圖將其傳送到預(yù)期的目的地,而不是首先檢查目的地是否有空或者數(shù)據(jù)是否能安全到達(dá);如果應(yīng)用系統(tǒng)需要,則高級(jí)軟件可完成這些功能。
圖1,以太網(wǎng)服務(wù)映射到標(biāo)準(zhǔn)的ISO/OSI模型的較低層,以提供與獨(dú)立于媒體的通信服務(wù)。
現(xiàn)今最流行的以太網(wǎng)產(chǎn)品仍然采用最初的幀格式(圖2)和CSMA/CD機(jī)制,為了適應(yīng)后續(xù)的較高速度或不同應(yīng)用特性而進(jìn)行的調(diào)整較少。盡管有不需要的存在免除在兩個(gè)節(jié)點(diǎn)之間進(jìn)行仲裁的全雙工網(wǎng)絡(luò),但大多數(shù)工程師還是會(huì)立刻將以太網(wǎng)與CSMA/CD聯(lián)系起來(lái)。與后來(lái)制定的要求每個(gè)節(jié)點(diǎn)具有預(yù)定義的網(wǎng)絡(luò)訪問(wèn)優(yōu)先級(jí)來(lái)簡(jiǎn)化確定性響應(yīng)的協(xié)議——例如CAN(控制區(qū)域網(wǎng))——不同,所有的以太網(wǎng)節(jié)點(diǎn)都具有同等的訪問(wèn)權(quán);因此,以太網(wǎng)不適合實(shí)時(shí)控制用途。當(dāng)一個(gè)傳統(tǒng)以太網(wǎng)節(jié)點(diǎn)打算發(fā)送數(shù)據(jù)時(shí),它首先接收網(wǎng)絡(luò)的信息,以確定媒體是否被占用(載波偵聽階段),如果沒(méi)有,這個(gè)節(jié)點(diǎn)就開始發(fā)送數(shù)據(jù)。如果另一個(gè)節(jié)點(diǎn)也同時(shí)嘗試發(fā)送數(shù)據(jù),就會(huì)發(fā)生數(shù)據(jù)沖突,在同軸網(wǎng)絡(luò)上產(chǎn)生一個(gè)過(guò)高的電壓,或者在半雙工雙絞線網(wǎng)絡(luò)上同時(shí)進(jìn)行發(fā)送/接收。檢測(cè)到這種異常情況時(shí),每個(gè)節(jié)點(diǎn)都會(huì)停止數(shù)據(jù)傳送,并發(fā)送一個(gè)擁塞模式,通知其它節(jié)點(diǎn)推遲任何即將進(jìn)行的數(shù)據(jù)傳送。這個(gè)擁塞模式長(zhǎng)度為32位,由一個(gè)與幀校驗(yàn)序列場(chǎng)中CRC值不一致的任意序列(通常全為“1”)組成。因此,所有接收節(jié)點(diǎn)都會(huì)丟棄這個(gè)毀壞的分組。
圖2,以太網(wǎng)的原始幀格式從10 Mbps到10 Gbps保持不變。
同時(shí),互相沖突的節(jié)點(diǎn)將其發(fā)送嘗試延遲一段隨機(jī)時(shí)間。這種補(bǔ)償延遲算法利用每個(gè)以太網(wǎng)設(shè)備獨(dú)特的48位MAC(媒介訪問(wèn)控制)地址作為其隨機(jī)化程序的一部分;如果這些設(shè)備仍然互相沖突,則這一過(guò)程就會(huì)重復(fù)嘗試多達(dá)16次發(fā)送嘗試——然后發(fā)送節(jié)點(diǎn)就放棄并標(biāo)記一個(gè)錯(cuò)誤。由于發(fā)送節(jié)點(diǎn)僅在發(fā)送時(shí)才檢測(cè)到?jīng)_突,所以任何發(fā)送數(shù)據(jù)的第一位必須到達(dá)各個(gè)節(jié)點(diǎn)后,發(fā)送節(jié)點(diǎn)才停止發(fā)送。相應(yīng)地,協(xié)議規(guī)定了最大電纜長(zhǎng)度,以確保每個(gè)分組的前64位都傳播過(guò)整個(gè)電纜。如果沖突在發(fā)送節(jié)點(diǎn)發(fā)送了最后一位之后發(fā)生,協(xié)議就檢測(cè)不出錯(cuò)誤;因此,較高層功能是檢測(cè)數(shù)據(jù)丟失所必需的?!澳┪矝_突”狀況通常表示硬件故障或線纜配置有誤。但是,沖突是反映以太網(wǎng)通信量隨網(wǎng)絡(luò)使用率增加而增加并不可避免地降低吞吐量的一個(gè)正常特性??偠灾?,你會(huì)預(yù)料到以太網(wǎng)使用率超過(guò)大約80%就會(huì)大大降低性能,不過(guò)大多數(shù)系統(tǒng)的使用率大約為30%~40%。
采用更小且便宜得多的RG-58同軸電纜的10Base2很快就取代采用工業(yè)強(qiáng)度的RG-8同軸電纜的10Base5(即“粗以太網(wǎng)”)技術(shù)。(在以太網(wǎng)術(shù)語(yǔ)中,前面的“10”表示速度為10 Mbps,“base”表示基帶,而最后的數(shù)字表示以百米為單位的最大傳輸長(zhǎng)度。)這些早期以太網(wǎng)都采用總線體系結(jié)構(gòu),兩端各有一個(gè)50Ω端接電阻器,并且一端接地。10Base5技術(shù)利用一段直徑約為10 mm、取出點(diǎn)不近于2.5m的電纜,可達(dá)到500m有效通信距離。電纜沒(méi)有斷點(diǎn),可避免由于連接器或不同電纜種類造成的阻抗不連續(xù),并要求使用一種被稱為“吸血鬼抽頭”的絕緣層剝離連接器
很難想象一種技術(shù)利用最初為語(yǔ)音業(yè)務(wù)設(shè)計(jì)的銅線,竟然能幾乎天衣無(wú)縫地使帶寬增大2個(gè)數(shù)量級(jí)。本文闡述當(dāng)今的以太網(wǎng)(Ethernet)如何像20年前那樣繼續(xù)令人驚奇。
要點(diǎn)
廠商們每年銷售的以太網(wǎng)端口總數(shù)大約為3億件。
后向兼容性和可擴(kuò)展性是以太網(wǎng)獲得成功的關(guān)鍵。
調(diào)制技術(shù)的發(fā)展使帶寬按數(shù)量級(jí)增長(zhǎng)。
早在二十世紀(jì)七十年代,要把計(jì)算機(jī)連接到外圍設(shè)備或者其它計(jì)算機(jī)簡(jiǎn)直就是一場(chǎng)噩夢(mèng)。那時(shí)的一個(gè)典型數(shù)據(jù)處理中心是由一臺(tái)中央小型機(jī)或大型機(jī)以及許多簡(jiǎn)易終端和行式打印機(jī)組成。中央處理器與其外圍設(shè)備之間的連接幾乎總是采用速度超不過(guò)9600波特的RS-232串行總線。結(jié)果,終端通信速度很慢,連支持一個(gè)小規(guī)模操作所需的接線室實(shí)際上也令人費(fèi)解。擔(dān)任施樂(lè)公司Palo Alto研究中心研究員的Bob Metcalfe和David Boggs,由于預(yù)見(jiàn)到普遍性計(jì)算的爆炸性增長(zhǎng),當(dāng)時(shí)正在研究一種以2.94 Mbps的數(shù)據(jù)傳輸速率,把該公司的多臺(tái)計(jì)算機(jī)和打印機(jī)連接起來(lái)的系統(tǒng)。他倆在1976年發(fā)表的一篇論文描述了這種在本地分布的計(jì)算機(jī)系統(tǒng)之間傳遞數(shù)據(jù)包的廣播通信系統(tǒng),并將其命名為Ethernet——以太網(wǎng)(參考文獻(xiàn)1)。他倆與數(shù)字設(shè)備公司(DEC)和英特爾公司(Intel)合作,開始制定一套與廠商無(wú)關(guān)的標(biāo)準(zhǔn),這套標(biāo)準(zhǔn)隨后被IEEE接納為802系列標(biāo)準(zhǔn)之一,這方面的標(biāo)準(zhǔn)開發(fā)工作一直延續(xù)至今。
在各廠商每年總共銷售大約3億端口的情況下,以太網(wǎng)已經(jīng)滲透到商業(yè)和局域聯(lián)網(wǎng)的方方面面。主要是由于固有的安全問(wèn)題,自動(dòng)化工程師很快就會(huì)承認(rèn)以太網(wǎng)在面對(duì)現(xiàn)場(chǎng)總線技術(shù)時(shí)為獲得接納而付出的長(zhǎng)期努力。這種情形在過(guò)程控制行業(yè)內(nèi)是個(gè)爭(zhēng)論點(diǎn),因?yàn)樵谶@個(gè)行業(yè)中,許多部署使得以太網(wǎng)局限于完成數(shù)據(jù)采集和后臺(tái)辦公職責(zé)。但是,很多硅半導(dǎo)體廠商都將以太網(wǎng)包含在其微控制器中,因而這項(xiàng)技術(shù)會(huì)繼續(xù)打入嵌入式系統(tǒng)領(lǐng)域。另一方面,以太網(wǎng)繼續(xù)面對(duì)其在城域數(shù)據(jù)傳送方面的挑戰(zhàn),許多廠商提供橋接器芯片,以簡(jiǎn)化與廣域網(wǎng)骨干技術(shù),例如SONET/SDH(同步光網(wǎng)絡(luò)/同步數(shù)字系統(tǒng))的連接。而同樣在消費(fèi)者和專業(yè)用戶之類的市場(chǎng)上,最新的無(wú)線以太網(wǎng)也正在急速地侵占有線設(shè)備的銷售份額。
如果你正在著手以太網(wǎng)設(shè)計(jì),或者只是想鑒賞諸如Gbps銅線傳輸、以太網(wǎng)供電以及ZigBee之類現(xiàn)代開發(fā)成果,則回顧一下促使以太網(wǎng)在首次商用之后二十年繼續(xù)發(fā)展的技術(shù)基礎(chǔ)是非常有益的。你幾乎肯定會(huì)對(duì)無(wú)論是最早的以太網(wǎng)系統(tǒng)為實(shí)施者提供的靈活性,還是當(dāng)前一代開發(fā)者延續(xù)的獨(dú)創(chuàng)性感到驚訝萬(wàn)分。本文著眼于最流行的有線以太網(wǎng),其目前的數(shù)據(jù)傳輸速率為10 Mbps~10 Gbps不等。
CSMA/CD成為以太網(wǎng)的特點(diǎn)
最初的DIX(DEC/Intel/Xerox)以太網(wǎng)標(biāo)準(zhǔn)在獲得批準(zhǔn)之前,曾由IEEE于1983年加以修訂。該標(biāo)準(zhǔn)描述了一種采用CSMA/CD(帶有沖突檢測(cè)的載波偵聽多路存?。﹨f(xié)議10-Mbps半雙工通信媒體。這種網(wǎng)絡(luò)組件適合于ISO(國(guó)際標(biāo)準(zhǔn)化組織)的OSI(開放系統(tǒng)互連)模型(ISO/IEC 7498-1:1994)的較低兩層,用以提供物理層服務(wù)和數(shù)據(jù)鏈路層服務(wù)(圖1)。這兩層通稱為網(wǎng)絡(luò)層,由網(wǎng)絡(luò)連接媒體(例如電纜)、通信硬件(例如收發(fā)器IC)以及將物理層數(shù)據(jù)流轉(zhuǎn)換并傳遞到較高層進(jìn)一步處理的驅(qū)動(dòng)軟件組成。從這種意義上說(shuō),傳統(tǒng)的以太網(wǎng)是一種無(wú)連接的、不可靠的或“盡力傳送”的系統(tǒng)。因此,這種協(xié)議將數(shù)據(jù)分組并試圖將其傳送到預(yù)期的目的地,而不是首先檢查目的地是否有空或者數(shù)據(jù)是否能安全到達(dá);如果應(yīng)用系統(tǒng)需要,則高級(jí)軟件可完成這些功能。
圖1,以太網(wǎng)服務(wù)映射到標(biāo)準(zhǔn)的ISO/OSI模型的較低層,以提供與獨(dú)立于媒體的通信服務(wù)。
現(xiàn)今最流行的以太網(wǎng)產(chǎn)品仍然采用最初的幀格式(圖2)和CSMA/CD機(jī)制,為了適應(yīng)后續(xù)的較高速度或不同應(yīng)用特性而進(jìn)行的調(diào)整較少。盡管有不需要的存在免除在兩個(gè)節(jié)點(diǎn)之間進(jìn)行仲裁的全雙工網(wǎng)絡(luò),但大多數(shù)工程師還是會(huì)立刻將以太網(wǎng)與CSMA/CD聯(lián)系起來(lái)。與后來(lái)制定的要求每個(gè)節(jié)點(diǎn)具有預(yù)定義的網(wǎng)絡(luò)訪問(wèn)優(yōu)先級(jí)來(lái)簡(jiǎn)化確定性響應(yīng)的協(xié)議——例如CAN(控制區(qū)域網(wǎng))——不同,所有的以太網(wǎng)節(jié)點(diǎn)都具有同等的訪問(wèn)權(quán);因此,以太網(wǎng)不適合實(shí)時(shí)控制用途。當(dāng)一個(gè)傳統(tǒng)以太網(wǎng)節(jié)點(diǎn)打算發(fā)送數(shù)據(jù)時(shí),它首先接收網(wǎng)絡(luò)的信息,以確定媒體是否被占用(載波偵聽階段),如果沒(méi)有,這個(gè)節(jié)點(diǎn)就開始發(fā)送數(shù)據(jù)。如果另一個(gè)節(jié)點(diǎn)也同時(shí)嘗試發(fā)送數(shù)據(jù),就會(huì)發(fā)生數(shù)據(jù)沖突,在同軸網(wǎng)絡(luò)上產(chǎn)生一個(gè)過(guò)高的電壓,或者在半雙工雙絞線網(wǎng)絡(luò)上同時(shí)進(jìn)行發(fā)送/接收。檢測(cè)到這種異常情況時(shí),每個(gè)節(jié)點(diǎn)都會(huì)停止數(shù)據(jù)傳送,并發(fā)送一個(gè)擁塞模式,通知其它節(jié)點(diǎn)推遲任何即將進(jìn)行的數(shù)據(jù)傳送。這個(gè)擁塞模式長(zhǎng)度為32位,由一個(gè)與幀校驗(yàn)序列場(chǎng)中CRC值不一致的任意序列(通常全為“1”)組成。因此,所有接收節(jié)點(diǎn)都會(huì)丟棄這個(gè)毀壞的分組。
圖2,以太網(wǎng)的原始幀格式從10 Mbps到10 Gbps保持不變。
同時(shí),互相沖突的節(jié)點(diǎn)將其發(fā)送嘗試延遲一段隨機(jī)時(shí)間。這種補(bǔ)償延遲算法利用每個(gè)以太網(wǎng)設(shè)備獨(dú)特的48位MAC(媒介訪問(wèn)控制)地址作為其隨機(jī)化程序的一部分;如果這些設(shè)備仍然互相沖突,則這一過(guò)程就會(huì)重復(fù)嘗試多達(dá)16次發(fā)送嘗試——然后發(fā)送節(jié)點(diǎn)就放棄并標(biāo)記一個(gè)錯(cuò)誤。由于發(fā)送節(jié)點(diǎn)僅在發(fā)送時(shí)才檢測(cè)到?jīng)_突,所以任何發(fā)送數(shù)據(jù)的第一位必須到達(dá)各個(gè)節(jié)點(diǎn)后,發(fā)送節(jié)點(diǎn)才停止發(fā)送。相應(yīng)地,協(xié)議規(guī)定了最大電纜長(zhǎng)度,以確保每個(gè)分組的前64位都傳播過(guò)整個(gè)電纜。如果沖突在發(fā)送節(jié)點(diǎn)發(fā)送了最后一位之后發(fā)生,協(xié)議就檢測(cè)不出錯(cuò)誤;因此,較高層功能是檢測(cè)數(shù)據(jù)丟失所必需的。“末尾沖突”狀況通常表示硬件故障或線纜配置有誤。但是,沖突是反映以太網(wǎng)通信量隨網(wǎng)絡(luò)使用率增加而增加并不可避免地降低吞吐量的一個(gè)正常特性??偠灾?,你會(huì)預(yù)料到以太網(wǎng)使用率超過(guò)大約80%就會(huì)大大降低性能,不過(guò)大多數(shù)系統(tǒng)的使用率大約為30%~40%。
采用更小且便宜得多的RG-58同軸電纜的10Base2很快就取代采用工業(yè)強(qiáng)度的RG-8同軸電纜的10Base5(即“粗以太網(wǎng)”)技術(shù)。(在以太網(wǎng)術(shù)語(yǔ)中,前面的“10”表示速度為10 Mbps,“base”表示基帶,而最后的數(shù)字表示以百米為單位的最大傳輸長(zhǎng)度。)這些早期以太網(wǎng)都采用總線體系結(jié)構(gòu),兩端各有一個(gè)50Ω端接電阻器,并且一端接地。10Base5技術(shù)利用一段直徑約為10 mm、取出點(diǎn)不近于2.5m的電纜,可達(dá)到500m有效通信距離。電纜沒(méi)有斷點(diǎn),可避免由于連接器或不同電纜種類造成的阻抗不連續(xù),并要求使用一種被稱為“吸血鬼抽頭”的絕緣層剝離連接器
要點(diǎn)
廠商們每年銷售的以太網(wǎng)端口總數(shù)大約為3億件。
后向兼容性和可擴(kuò)展性是以太網(wǎng)獲得成功的關(guān)鍵。
調(diào)制技術(shù)的發(fā)展使帶寬按數(shù)量級(jí)增長(zhǎng)。
早在二十世紀(jì)七十年代,要把計(jì)算機(jī)連接到外圍設(shè)備或者其它計(jì)算機(jī)簡(jiǎn)直就是一場(chǎng)噩夢(mèng)。那時(shí)的一個(gè)典型數(shù)據(jù)處理中心是由一臺(tái)中央小型機(jī)或大型機(jī)以及許多簡(jiǎn)易終端和行式打印機(jī)組成。中央處理器與其外圍設(shè)備之間的連接幾乎總是采用速度超不過(guò)9600波特的RS-232串行總線。結(jié)果,終端通信速度很慢,連支持一個(gè)小規(guī)模操作所需的接線室實(shí)際上也令人費(fèi)解。擔(dān)任施樂(lè)公司Palo Alto研究中心研究員的Bob Metcalfe和David Boggs,由于預(yù)見(jiàn)到普遍性計(jì)算的爆炸性增長(zhǎng),當(dāng)時(shí)正在研究一種以2.94 Mbps的數(shù)據(jù)傳輸速率,把該公司的多臺(tái)計(jì)算機(jī)和打印機(jī)連接起來(lái)的系統(tǒng)。他倆在1976年發(fā)表的一篇論文描述了這種在本地分布的計(jì)算機(jī)系統(tǒng)之間傳遞數(shù)據(jù)包的廣播通信系統(tǒng),并將其命名為Ethernet——以太網(wǎng)(參考文獻(xiàn)1)。他倆與數(shù)字設(shè)備公司(DEC)和英特爾公司(Intel)合作,開始制定一套與廠商無(wú)關(guān)的標(biāo)準(zhǔn),這套標(biāo)準(zhǔn)隨后被IEEE接納為802系列標(biāo)準(zhǔn)之一,這方面的標(biāo)準(zhǔn)開發(fā)工作一直延續(xù)至今。
在各廠商每年總共銷售大約3億端口的情況下,以太網(wǎng)已經(jīng)滲透到商業(yè)和局域聯(lián)網(wǎng)的方方面面。主要是由于固有的安全問(wèn)題,自動(dòng)化工程師很快就會(huì)承認(rèn)以太網(wǎng)在面對(duì)現(xiàn)場(chǎng)總線技術(shù)時(shí)為獲得接納而付出的長(zhǎng)期努力。這種情形在過(guò)程控制行業(yè)內(nèi)是個(gè)爭(zhēng)論點(diǎn),因?yàn)樵谶@個(gè)行業(yè)中,許多部署使得以太網(wǎng)局限于完成數(shù)據(jù)采集和后臺(tái)辦公職責(zé)。但是,很多硅半導(dǎo)體廠商都將以太網(wǎng)包含在其微控制器中,因而這項(xiàng)技術(shù)會(huì)繼續(xù)打入嵌入式系統(tǒng)領(lǐng)域。另一方面,以太網(wǎng)繼續(xù)面對(duì)其在城域數(shù)據(jù)傳送方面的挑戰(zhàn),許多廠商提供橋接器芯片,以簡(jiǎn)化與廣域網(wǎng)骨干技術(shù),例如SONET/SDH(同步光網(wǎng)絡(luò)/同步數(shù)字系統(tǒng))的連接。而同樣在消費(fèi)者和專業(yè)用戶之類的市場(chǎng)上,最新的無(wú)線以太網(wǎng)也正在急速地侵占有線設(shè)備的銷售份額。
如果你正在著手以太網(wǎng)設(shè)計(jì),或者只是想鑒賞諸如Gbps銅線傳輸、以太網(wǎng)供電以及ZigBee之類現(xiàn)代開發(fā)成果,則回顧一下促使以太網(wǎng)在首次商用之后二十年繼續(xù)發(fā)展的技術(shù)基礎(chǔ)是非常有益的。你幾乎肯定會(huì)對(duì)無(wú)論是最早的以太網(wǎng)系統(tǒng)為實(shí)施者提供的靈活性,還是當(dāng)前一代開發(fā)者延續(xù)的獨(dú)創(chuàng)性感到驚訝萬(wàn)分。本文著眼于最流行的有線以太網(wǎng),其目前的數(shù)據(jù)傳輸速率為10 Mbps~10 Gbps不等。
CSMA/CD成為以太網(wǎng)的特點(diǎn)
最初的DIX(DEC/Intel/Xerox)以太網(wǎng)標(biāo)準(zhǔn)在獲得批準(zhǔn)之前,曾由IEEE于1983年加以修訂。該標(biāo)準(zhǔn)描述了一種采用CSMA/CD(帶有沖突檢測(cè)的載波偵聽多路存?。﹨f(xié)議10-Mbps半雙工通信媒體。這種網(wǎng)絡(luò)組件適合于ISO(國(guó)際標(biāo)準(zhǔn)化組織)的OSI(開放系統(tǒng)互連)模型(ISO/IEC 7498-1:1994)的較低兩層,用以提供物理層服務(wù)和數(shù)據(jù)鏈路層服務(wù)(圖1)。這兩層通稱為網(wǎng)絡(luò)層,由網(wǎng)絡(luò)連接媒體(例如電纜)、通信硬件(例如收發(fā)器IC)以及將物理層數(shù)據(jù)流轉(zhuǎn)換并傳遞到較高層進(jìn)一步處理的驅(qū)動(dòng)軟件組成。從這種意義上說(shuō),傳統(tǒng)的以太網(wǎng)是一種無(wú)連接的、不可靠的或“盡力傳送”的系統(tǒng)。因此,這種協(xié)議將數(shù)據(jù)分組并試圖將其傳送到預(yù)期的目的地,而不是首先檢查目的地是否有空或者數(shù)據(jù)是否能安全到達(dá);如果應(yīng)用系統(tǒng)需要,則高級(jí)軟件可完成這些功能。
圖1,以太網(wǎng)服務(wù)映射到標(biāo)準(zhǔn)的ISO/OSI模型的較低層,以提供與獨(dú)立于媒體的通信服務(wù)。
現(xiàn)今最流行的以太網(wǎng)產(chǎn)品仍然采用最初的幀格式(圖2)和CSMA/CD機(jī)制,為了適應(yīng)后續(xù)的較高速度或不同應(yīng)用特性而進(jìn)行的調(diào)整較少。盡管有不需要的存在免除在兩個(gè)節(jié)點(diǎn)之間進(jìn)行仲裁的全雙工網(wǎng)絡(luò),但大多數(shù)工程師還是會(huì)立刻將以太網(wǎng)與CSMA/CD聯(lián)系起來(lái)。與后來(lái)制定的要求每個(gè)節(jié)點(diǎn)具有預(yù)定義的網(wǎng)絡(luò)訪問(wèn)優(yōu)先級(jí)來(lái)簡(jiǎn)化確定性響應(yīng)的協(xié)議——例如CAN(控制區(qū)域網(wǎng))——不同,所有的以太網(wǎng)節(jié)點(diǎn)都具有同等的訪問(wèn)權(quán);因此,以太網(wǎng)不適合實(shí)時(shí)控制用途。當(dāng)一個(gè)傳統(tǒng)以太網(wǎng)節(jié)點(diǎn)打算發(fā)送數(shù)據(jù)時(shí),它首先接收網(wǎng)絡(luò)的信息,以確定媒體是否被占用(載波偵聽階段),如果沒(méi)有,這個(gè)節(jié)點(diǎn)就開始發(fā)送數(shù)據(jù)。如果另一個(gè)節(jié)點(diǎn)也同時(shí)嘗試發(fā)送數(shù)據(jù),就會(huì)發(fā)生數(shù)據(jù)沖突,在同軸網(wǎng)絡(luò)上產(chǎn)生一個(gè)過(guò)高的電壓,或者在半雙工雙絞線網(wǎng)絡(luò)上同時(shí)進(jìn)行發(fā)送/接收。檢測(cè)到這種異常情況時(shí),每個(gè)節(jié)點(diǎn)都會(huì)停止數(shù)據(jù)傳送,并發(fā)送一個(gè)擁塞模式,通知其它節(jié)點(diǎn)推遲任何即將進(jìn)行的數(shù)據(jù)傳送。這個(gè)擁塞模式長(zhǎng)度為32位,由一個(gè)與幀校驗(yàn)序列場(chǎng)中CRC值不一致的任意序列(通常全為“1”)組成。因此,所有接收節(jié)點(diǎn)都會(huì)丟棄這個(gè)毀壞的分組。
圖2,以太網(wǎng)的原始幀格式從10 Mbps到10 Gbps保持不變。
同時(shí),互相沖突的節(jié)點(diǎn)將其發(fā)送嘗試延遲一段隨機(jī)時(shí)間。這種補(bǔ)償延遲算法利用每個(gè)以太網(wǎng)設(shè)備獨(dú)特的48位MAC(媒介訪問(wèn)控制)地址作為其隨機(jī)化程序的一部分;如果這些設(shè)備仍然互相沖突,則這一過(guò)程就會(huì)重復(fù)嘗試多達(dá)16次發(fā)送嘗試——然后發(fā)送節(jié)點(diǎn)就放棄并標(biāo)記一個(gè)錯(cuò)誤。由于發(fā)送節(jié)點(diǎn)僅在發(fā)送時(shí)才檢測(cè)到?jīng)_突,所以任何發(fā)送數(shù)據(jù)的第一位必須到達(dá)各個(gè)節(jié)點(diǎn)后,發(fā)送節(jié)點(diǎn)才停止發(fā)送。相應(yīng)地,協(xié)議規(guī)定了最大電纜長(zhǎng)度,以確保每個(gè)分組的前64位都傳播過(guò)整個(gè)電纜。如果沖突在發(fā)送節(jié)點(diǎn)發(fā)送了最后一位之后發(fā)生,協(xié)議就檢測(cè)不出錯(cuò)誤;因此,較高層功能是檢測(cè)數(shù)據(jù)丟失所必需的。“末尾沖突”狀況通常表示硬件故障或線纜配置有誤。但是,沖突是反映以太網(wǎng)通信量隨網(wǎng)絡(luò)使用率增加而增加并不可避免地降低吞吐量的一個(gè)正常特性??偠灾?,你會(huì)預(yù)料到以太網(wǎng)使用率超過(guò)大約80%就會(huì)大大降低性能,不過(guò)大多數(shù)系統(tǒng)的使用率大約為30%~40%。
采用更小且便宜得多的RG-58同軸電纜的10Base2很快就取代采用工業(yè)強(qiáng)度的RG-8同軸電纜的10Base5(即“粗以太網(wǎng)”)技術(shù)。(在以太網(wǎng)術(shù)語(yǔ)中,前面的“10”表示速度為10 Mbps,“base”表示基帶,而最后的數(shù)字表示以百米為單位的最大傳輸長(zhǎng)度。)這些早期以太網(wǎng)都采用總線體系結(jié)構(gòu),兩端各有一個(gè)50Ω端接電阻器,并且一端接地。10Base5技術(shù)利用一段直徑約為10 mm、取出點(diǎn)不近于2.5m的電纜,可達(dá)到500m有效通信距離。電纜沒(méi)有斷點(diǎn),可避免由于連接器或不同電纜種類造成的阻抗不連續(xù),并要求使用一種被稱為“吸血鬼抽頭”的絕緣層剝離連接器
評(píng)論