當我們談到“以太網”的時候,我們可能會討論各種概念,包括所有線纜規格等等。這些協議規定了導線上的電平是如何傳遞的,也規定了如何將電平信號解析為數據幀。
術語解釋
即使你剛接觸網絡通信不久,也應該聽說了很多網線相關的概念,例如“以太網”“雙絞線”“RJ45”“屏蔽線”“非屏蔽線”等。但這些概念代表了什么含義?互相之間又有什么異同?有沒有什么概念被誤用了?坦白而言,這些概念經常被誤用,不妨看看:
8P8C
這是網線兩端接口的物理標準,表示有8個卡口位(Position)和8個觸點(Contacts)。這也定義了此塑料透明接口的外形設計和尺寸。
RJ45
標準插座接口(Registered Jack)第45號標準定義了線纜中導線的個數以及線序,并規定使用8P8C的物理接口。特別地,RJ45定義了兩種線序標準:T568a和 T568b:
請注意,兩個標準唯一的實際區別是第2對線和第3對線的顏色不同。
很多人經常用RJ45來指代8P8C插口,但這是不對的。還有另一種叫RJ61的類似標準,也使用了8P8C的插口,但其內部的線序不一樣。標準插座接口定義家族中還有很多其他RJxx的接口,但接線定義和物理尺寸都不一樣。
雙絞線
雙絞線是一種組合線纜,包含了8根獨立的導線,其中每兩根作為一對,每對的兩根線互相絞繞在一起。由此得到4對導線,每對導線作為一個數據傳輸通道。導線成對出現這一概念很重要,簡而言之,這有助于減少電磁干擾(EMI)。
通常,雙絞線有兩種規格:屏蔽線及非屏蔽線。
注意,不管哪種規格,網線中都有4對導線,也就是4個獨立的數據通道。
非屏蔽線
非屏蔽線(Unshielded Twisted Pair,UTP)在實際工程部署中更為常見。它對外部的電磁噪聲沒有額外的防護,但得益于雙絞線的固有特性,其數據傳輸也非常可靠。非屏蔽線更便宜,物理韌性更好,也更軟。這些優點使得非屏蔽線在大多數場合更受歡迎。
屏蔽線
屏蔽線(Shielded Twisted Pair,STP)在每對雙絞線、以及全部4對導線最外側都包有額外的金屬屏蔽殼,這有助于隔離信號傳輸時的電磁噪聲。但同時,如果屏蔽殼的某個地方出現了破損,或者屏蔽殼在網線兩端沒有都良好接地,它自身可能會成為一個天線,并且會因為空間中隨處可見的無線電波(比如Wi-Fi信號)而給信號傳輸帶來額外的電磁噪聲。更為甚者,屏蔽線必須與帶屏蔽的8P8C插頭一起使用,才能實現全鏈路端到端的屏蔽功能。顯然,屏蔽線肯定更貴,也比非屏蔽線更脆弱,因為如果屏蔽線被過度彎曲的話,其屏蔽殼很容易破損。因此,屏蔽線的使用場合比非屏蔽線少得多。屏蔽線通常只會用在對電磁屏蔽高度敏感的場合,例如,網線緊挨著發電機或者重型機械的輸電線等。
以太網
以太網(Ethernet)是一系列標準的合集,其中之一就是不同的接線規格:10BASE-T,100BASE-TX,1000BASE-T等等。
以太網協議也定義了每個比特(1和0)如何在線纜上傳輸,以及如何將這些比特流組合為有意義的數據幀。例如,以太網規定每幀數據的前 56 個比特必須是交替出現的1和0(即“前導碼”),接下來8個比特必須是10101011(即幀起始標志),再接下來48個比特是目標 MAC地址,然后是48個比特的源MAC地址……直到整個數據幀被全部傳輸完畢。
BASE T* 相關術語
本節講述的概念都與網線內部的導線如何使用相關。例如,哪些用來發送數據,哪些用來接收數據,如何發送信號,以及電壓等級。
BASE T* 這一概念有三個組成部分。以100 BASE-T為例:
100BASE-T 中的“100”
開頭的數字表示網線每秒可以傳輸多少“兆”比特,即Mbps。100Mbps的網線理論上每秒可傳輸100,000,000個比特,大概每秒12.5兆字節(MBps),注意大寫的B和小寫的b分別代表字節和比特。這一速率的網線有時被稱為“快速以太網”,這是相較于10Mbps的“普通以太網”以及1000Mbps的“吉比特以太網”而言的。
100BASE-T 中的“BASE”
base這個概念是“基帶(baseband)”信號的縮寫,對應的概念是“寬帶”(broadband)信號。這些概念剛出現的時候,其區別是:基帶在介質中傳輸數字信號,寬帶在介質中傳輸模擬信號。
數字信號和模擬信號的區別在于其可被解析的值個數。模擬信號可以表示無數種不同的值,例如,我們可以用一根線上某個特定的電壓值來表示一個綠色的像素點,而另一個電壓值來表示紅色的像素點,以此類推,這樣,這根線就能傳輸一張圖片上的每一個像素點。數字信號可以表示有限個不同的值,通常就兩個:1和0。如果上述的圖片用一根數字信號線來傳輸的話,我們會傳輸一系列1和0的信號流。接收端可以解析這些二進制數據為一系列數字,例如基于RGB顏色編碼,就能構造出每一個像素點。也就是說,數字信號和模擬信號的主要區別就是,模擬信號線上可獲得無窮多中不同的值,而數字信號線上,要么是0,要么是1,不可能出現第三種情況。如此一來,數字信號傳輸具有更高的容錯率,因為導線上的電壓范圍只被分為了兩種情況(1或者 0)。
100BASE-T 中的“-T”
“-T”表示其為雙絞線(Twisted Pair)。相似的標準還有“-2”及“-5”,表示其是最大長度為200和500米的同軸電纜,以及“-SR”和“-LR”,表示其為短距離(Short Range)和長距離(Long Range)光纖。
100BASE-T4
100BASE-T4使用了網線中全部4對8根線。其中一對僅僅用于發送信號(TX),一對僅僅用于接收信號(RX)。剩下兩對既可以用于RX也可以用于TX,這通過網線兩端設備的協商來決定具體用途。T4是雙絞線早期的標準之一,但由于其過于復雜且必要性不強,如今已很少使用。
100BASE-TX
100BASE-TX只使用了網線中的2對4根線,其中一對用于TX,另一對用于RX,剩下兩根線沒有使用。你完全可以做一根只有4根線的網線以實現100BASE-TX的所有功能,只要插口觸點位置正確即可(位號1,2,3,6),但通常網線鋪設過程中,另外 4 根線也保留了下來,用于占位,并適配未來可能的場景升級。
100BASE-TX(包括全部8根線)是如今最常用的快速以太網標準。但是,它通常被簡寫成了100BASE-T。再強調一下,T只表示其為雙絞線,而TX才表示其使用了 1&2及3&6兩對線。
為什么使用交叉線?
網上能找到很多“交叉線”及“直通線”應用場景的相關教程,但他們一般很少解釋其原理。100BASE-TX及10BASE-T標準中定義的網線,都包含8根導線,兩兩以雙絞線的形式結合為4對。在這四對線中,實際只用到兩對:第2、3對。每根線都是單工的介質,也就是說,信號只能按照指定的單方向傳輸。
為了實現全雙工通訊,某對線將始終沿某個方向傳輸數據,而另一對線將始終沿相反的方向傳輸數據。
網絡接口卡(Network Interface Card,NIC)的配置會決定哪對線用于發送數據,哪對線用于接收數據。
使用第2對線(1號和2號引腳)發送數據(TX)、且使用第3對線(3號和6號引腳)接收(RX)數據的的NIC被稱作介質相關接口(Media Dependent Interface,MDI),與之相反,使用第3對線作為RX、第2對線作為TX的NIC被稱為交叉模式介質相關接口(Media Dependent Interface Crossover,MDI-X)。
電腦之間直連通訊
假設一臺電腦使用MDI模式的NIC ,那么它就總是用第2對線發送數據,用第3對線接收數據。但如果兩臺用網線連接在一起的電腦都用第2對線發送數據,那么就會產生沖突。與此同時,兩臺電腦也都無法從第3對線上接收到數據。因此,網線對需要交叉一下,以便從一臺電腦的第2對線發送的數據,會被另一臺電腦的第3對線接收到,反之亦然。
下圖是一個簡單的示意(無需在意示意圖中線的顏色,這只是為了區分兩個不通的路徑而已):
注意,兩臺電腦都在獨立的通道上發送數據,并且依靠交叉線機制(如圖所示中間的 X),兩臺電腦都能接收到對方發送的數據。因此,兩臺電腦直連后,必須使用交叉線才能通訊。
電腦之間通過交換機通訊
交換機使得同一網絡下兩臺電腦的通訊變得更簡單。交換機的NIC都采用MDI-X標準,也就是說,交換機總是在第3對線上發送數據,在第2對線上接收數據(與電腦的NIC相反)。也就是說,交換機內部有一個交叉的機制,網線本身也就不需要交叉了:
可見,連接在交換機上的電腦可以直接使用直通線,讓交換機處理線序交叉即可。端到端的通訊路徑也是一樣的:每個設備都在自己的TX線上發送數據,在RX線上接收數據。
電腦之間通過兩個串聯的交換機
我們剛剛討論了,兩臺電腦直連,需要使用交叉線;類似的,兩臺交換機之間也需要交叉線:
在這種情況下,端到端的通訊路徑也與上述方式無異。
路由器與集線器
那么,路由器和集線器呢?他們用了怎樣的NIC?實際情況是,路由器與電腦類似,使用了MDI標準(第2對線是TX,第3對線是 RX),因此,你可以將上述圖片中的任意電腦換成路由器,通訊路徑分析也是一樣的。而集線器與交換機類似,使用 MDI-X 標準。
譯者按:此處的“路由器”是狹義上僅具有“路由”功能的設備,不等于常見的家用無線路由器。
以太網線序圖
RJ45的導線顏色有兩種標準:T568a和T568b。雙絞線兩側所使用的標準決定了其是交叉線還是直通線。要想做一根直通線,只要保證線兩端的標準一致就行了,都是 T568a或者都是T568b:
要想做一根交叉線,只需其中一端為T568a,另一端為T568b即可。
注意,第1對線和第4對線沒有使用(藍色對和棕色對)。理論上你的網線中可以去掉這幾根線,但是去掉之后剩下的線排列起來有些困難。另外,這兩對線因為用不到,所以無需交叉。但是,吉比特以太網標準需要用到全部 8根線,所以為了一致性,通常所有網線對都被交叉。我們會在后文討論吉比特以太網。最后需要注意的是,數據信號本身并不在乎導線的顏色,只要它們連在了正確的接口上就能通訊。但能用不代表就是一個好主意,顏色亂接的話,后續維護起來就是噩夢。
助記圖
我們可以把交叉線和直通線的用法畫作一張圖:
之所以這么擺放,是因為這樣畫起來更方便。我們把L1、L2層的設備畫在左右兩側,L3層設備畫在上下兩邊,然后兩兩連接。
小結一下:
L1/L2層設備互相連接,需要交叉線;
L1/L2層設備與L3層設備連接,需要直通線;
L3層設備互相連接,需要交叉線。
或者更簡單:同則交叉,異則直通,自動MDI-X。
即使知道了什么時候該用直通線,什么時候該用交叉線,對于網絡工程師來說,布線也常常是個頭疼的事情。于是,出現了一個新技術,可以自動分析兩臺設備的接口模式,并決定是否要交叉TX/RX。這個技術叫做“自動MDI-X”。使用自動MDI-X技術,任意兩臺設備之間都可以通過直通線連接,并讓兩端動態確定是否需要交叉TX和 RX。自動MDI-X是100BASE-T實現中的一個可選功能,而在所有吉比特以太網設備中是必須的。
自動MDI-X的工作原理
那么,自動MDI-X是如何實現的?兩端的設備如何確定哪對線是TX或RX?如果有必要的話,哪一邊的設備會交換TX和RX?
記住,交叉線的目的是讓一方的TX連接到另一方的RX。也就是說,一方的NIC必須用MDI標準,另一方必須是MDI-X標準。自動MDI-X是這樣實現這一功能的:雙方都先生成1-2047中的一個隨機數,如果隨機數是奇數,那么這一方會將自己的NIC配置為MDI-X模式;如果是偶數,則配置為MDI模式。而后雙方就開始在其所選擇的TX線上發送連接脈沖信號。
如果雙方都能在自己的RX線上收到對方的連接脈沖,那么就代表協商完成,因為雙方都能在TX線上發,在RX線上收。如果雙方都不能收到對方的連接脈沖,那么它們肯定都隨機到了奇數或都隨機到了偶數。因此,它們中的某一方必須將自身的TX和 RX交換。但是雙方不能同時交換TX和RX,因為這樣一來依然是沖突的。因此,我們設計了一個系統,以隨機的時間間隔切換TX/RX對,直到雙方成功協商。
而隨機生成的數字(1-2047)會循環變化,以便雙方能選擇一個新的標準(MDI或者MDI-X)。但是這個數字不能每次加1,因為這樣的話,雙方都會從奇數變為偶數,或者偶數變為奇數。換句話說,如果雙方一開始都選擇了MDI模式,如果同時加 1,它們都會切換為MDI-X模式,依然無法協商。所以,這個隨機數使用了叫“線性反饋移位寄存器”的設備以實現循環變化。
線性反饋移位寄存器(Linear-Feedback Shift Register,LFSR)是一種算法,它會循環遍歷某個范圍內的所有數字,而且在每一個循環內不會重復。這些數字以一種可預測的、但隨機的順序循環出現(也就是說,它們不按照大小順序依次出現,但出現的位置是確定的)。舉個例子,如果雙方隨機的初始值分別為1000和2000,那么它們在LFSR序列中下一個數字的奇偶性是完全隨機的。但如果雙方隨機到了同一個初始值,那么它們之后隨機出來的數字依然是一樣的。這個過程會一直持續下去,直到雙方成功協商。現在問題來了,萬一雙方隨機到了相同的數字,然后循環的時間間隔也一樣呢?我們可以簡單計算一下出現這種情況的幾率:
雙方隨機到相同數字的幾率是1/2047,雙方選擇相同時間間隔的幾率是1/4,也就是說,雙方同時切換MDI/MDI-X標準的幾率是1/8188。循環每大概62ms運行一遍,也就是說,每秒有大概16個循環(每次循環開始時都會重新隨機一次)。那么雙方在1秒之內始終是相同的循環時間的幾率是1/4,294,967,296 (42億分之一,1/2^32)。因此,二者結合,雙方在一秒內始終隨機到相同的隨機數、且時間間隔也一樣的幾率是1/8,791,798,054,912(8.7萬億),這種事情幾乎不可能發生,就算發生了,你再等一秒就行了。
為什么使用雙絞線?
在網絡的物理連線上使用雙絞線似乎毋庸置疑。但是,為什么呢?是什么源于讓雙絞線在網絡布線選擇中處于主導地位?有兩個主要的原因,且都與電磁干擾(EMI)相關:1.使用雙絞線可以極大減少導線向外輻射電磁干擾;2.使用雙絞線可以減少外部電磁干擾對導線本身的影響。如果網線需要長距離與其他各種線纜捆綁在一起布置(比如數據中心或者配電箱),以上兩個特性都是非常重要的。
減少EMI向外輻射
只要導線中有電流信號,那就一定會輻射EMI,進而影響到周圍的線纜——也就是通常所說的“串擾”。EMI輻射可以通過額外的屏蔽裝置補償掉,但是大名鼎鼎的 貝爾先生 發明了抵消電磁干擾的絕妙方法。他的想法是使用兩根導線,其中一根發送原始信號,另一根發送與原始信號完全相反的信號。如此一來,兩根線會輻射恰好反向的 EMI,也就互相抵消了。簡單解釋一下,如果一根線發送+10V的電壓,并輻射了 +0.01V的EMI;而另一根線同時發送-10V的電壓,并輻射了-0.01V的EMI。它們的 EMI 加起來就是0。在電氣工程中,這兩根線通常被稱為“差分對”,可以用 TX+ 和 TX- 來表示。這一發明可以實現不需要大量屏蔽的布線方案,也是當前非屏蔽線得以大量使用的原因之一。但現在我們只回答了“雙絞線”中的“雙”,至于為什么還要“絞”,我們繼續往下看:
減少外部EMI的吸收
即使采用了上述的“差分線”,我們也無法避開所有外部的電磁干擾。無線網絡、藍牙、衛星通訊以及手機等都會成為空間中雜散的無線電波來源。但幸好貝爾又出現了,并設計了一種非常簡單卻很有效的方案以屏蔽電磁干擾。這一設計基于EMI的一個基本概念:離EMI輻射源越近,收到的干擾越強。如果兩根線交替著靠近EMI輻射源,它們就能吸收同樣多的輻射。如下圖所示:
藍色線的初始電壓是+50V,綠線與之相反為-50V。EMI輻射源為圖中的紅圈,一圈圈向外輻射,離中心越遠的圈層干擾電壓越小。如果簡單將圖中每根線上繪制的點受到的干擾電壓相加,會發現兩根線都增加了22V的電壓。盡管上圖導線右側的電壓與左側的不同,但是兩根導線之間的電壓差卻總是一致的,一直都是100V。EMI對兩根導線的影響是等同的。經過簡單的計算與變換,即可根據最終的100V電壓差得到初始信號分別為+50V和-50V,如下圖所示:
提醒一下,以上EMI干擾相關電壓數值被嚴重夸大了。實際上,正常情況下EMI帶來的電壓擾動是微伏(μV)級別的。但原理依然是一樣的。
發送比特位
網線中的數據是以數字信號的方式發送的,也就是一串1和0的數據流。但雙絞線具體是如何發送數據的呢?我們接下來會用一個簡化的模型來解釋一下。
發送數據信號,本質上來說就是在某段時間內,給導線加上變化的電壓。收發雙方會先協商好一個時鐘頻率,以確定傳輸的每一單位的電壓信號將維持多長時間。簡便起見,我們稱之為“位號”。在給定的時間點,每一個位號只能表示線上傳輸的0或者 1。不同的標準會規定不同的電壓等級,但由于我們簡化了模型,所以不用管真正的電壓是多少。但我們依然會使用100BASE-TX 標準所規定的電壓等級,即+2.5V和 -2.5V。如果要在某個位號上發送比特1,發送方會向TX+線上施加+2.5V電壓;如果要發送比特0,就向TX+ 線上發送-2.5V電壓。而TX-線則始終相反,比特1是 -2.5V,比特0是+2.5V。
下表是發送 110010101110 二進制序列的相關情況:
注意上圖不是網線的實體布局,只代表TX+和TX-線上交替變化的電壓信號。雙絞線實際是均勻纏繞的。
就像之前講到的,每對中的兩根線上的電壓總是互為相反量,一切都很整齊,且在水平方向上是對稱的。現在假設網線附近有EMI輻射源,我們在上表中添加一行噪聲數據,然后看看最終會變成什么樣:
注意到,現在這幅圖已經不再對稱了。兩根線仍然發送相反的電壓,但加了一個偏置量。
但是,接收端并不一定要完美的+2.5V和-2.5V,它只需確定哪根線發送更高的電平。如果TX+發送的是高電平,那么這個位號就表示1,如果TX-是更高的電平,那么這個位號就表示0。或者更簡單,如果上圖中藍線在上面,就代表1,黃線在上面,就代表0。通過這種方式,接收端能一位一位地拼湊好整個數據,不管EMI對原始電平有怎樣的干擾。可見,非屏蔽線不能消除電磁干擾,但能消除電磁干擾的影響。
吉比特以太網
繼續討論一下吉比特以太網(千兆以太網,1000Mbps或者1Gbps)。
首要的區別就是,吉比特以太網標準需要用到全部 4 對 8 根線,不像百兆網只用到 2對。因此,在制造吉比特以太網網線時,全部 4 對線都需要交叉。
RJ45有兩種不同的標準:T-568a和T-568b。下圖描繪了4對線都交叉它們各自的樣子:
也就是說,吉比特以太網需要自動MDI-X。所以,你可以直接在千兆網絡中使用直通線,然后讓網卡自動選擇是否需要交叉。
吉比特以太網有兩種布線標準:
1000BASE-TX:此標準使用了全部4對線,但規定了其中兩對線為TX,另外兩對線為 RX。理論上講,這比1000BASE-T更簡單,但是這需要更昂貴的Cat6網線,而不是常見的Cat5或Cat5e網線。因此,1000BASE-TX在實際部署中并不常見。
1000BASE-T:這是當前應用最廣泛的吉比特以太網標準。它以全雙工模式同時使用了全部4對線,也就是說每對線都可以同時用作RX和TX。這是通過“回聲消除”技術實現的。使用這種線序標準的最大優勢是,你可以在現有的Cat5e網線上跑到千兆,而無需升級到更貴的Cat6網線。
1000BASE-T經常被錯誤地指代1000BASE-TX。這可能是因為在快速以太網協議中,占主導地位的標準是100BASE-TX。另外很多時候,線纜標準也經常合起來稱作 10/100/1000 BASE-TX。實際上,各個不同速率下,占主導的以太網協議分別是 10BASE-T、100BASE-TX 以及 1000BASE-T。
在同一對線上實現全雙工
1000BASE-T 標準可以在同一對線上同時發送和接收數據。在本節我們將解釋這是如何實現的。首先,我們來做一個簡單的類比。你應該有過這樣的經歷:在跟別人通電話時,如果對方開了免提,你就能在聽筒中聽到自己的聲音。這是因為你的聲音從對方的揚聲器中發出,在空間中遇到障礙物反射,又被對方的麥克風接收。這就叫做回聲。高端的電話可以從麥克風收到的聲波中剔除揚聲器發出的聲波——這個技術就叫做回聲消除。回聲消除也是吉比特以太網能夠在同一對線上同時發送和接收數據的基礎。基本原理就是,如果你知道你發送了什么信號,那么你就能從你收到的信號中將其剔除。
發送信號本質上是往導線上施加電壓。反之,接收信號就是讀取導線上的電壓值。如果發送方往某根導線上施加了以下電壓:+0.5V, +1V, -2V, -1V。同時,也是發送方,它在同一個導線上讀取到了以下電壓值:+1.5V, 0V, -2.5V, +1V。那么,發送方可做一個減法,用讀取值減去其發送的值,這樣就能得到對方往這根線上加了多高的電壓:+1V, -1V, -0.5V, +2V。如此一來,同一根線就能在同一時間,同時發送和接收數據了。再次強調,上述電壓值僅僅為了解釋原理,實際情況下,電壓值可能完全不同,還會包含EMI等。同時,我們剛剛只討論了雙絞線中的一根線,另一根線仍然會承載反向的電壓。使用這種技術,全部4對線都可被同時用作TX和RX。由于采用了雙絞線,它們都還會消除入方向和出方向的EMI。
-
以太網
+關注
關注
40文章
5376瀏覽量
171116 -
接口
+關注
關注
33文章
8497瀏覽量
150835 -
網線
+關注
關注
3文章
957瀏覽量
31472 -
RJ45
+關注
關注
3文章
177瀏覽量
40798 -
網絡通信
+關注
關注
4文章
792瀏覽量
29759
發布評論請先 登錄
相關推薦
評論