以太網自動協商:讓網絡設備“握手”的隱形功臣
1 概述
在當今的計算機網絡世界中,自動協商是一種重要的即插即用技術。自動協商作為一種算法,是由IEEE 802.3標準第28節定義的,并于1997年作為IEEE 802.3u標準(快速以太網標準)的一部分首次引入。
自動協商技術不僅是一項先進的網絡功能,更是一種智慧的兼容策略。它在誕生之初,就被賦予了與傳統以太網標準無縫銜接的使命,確保新舊網絡設備能夠和平共處、協同工作。1999年,隨著千兆以太網的橫空出世,IEEE 802.3ab標準為自動協商注入了新的活力,使其性能大幅提升,能夠更好地應對高速網絡環境下的復雜需求。
從本質上來說,自動協商堪稱網絡設備之間的“溝通橋梁”。當兩臺網絡設備通過一根網線相連時,它們會開啟一場“友好對話”。在這場對話中,雙方會就網線的傳輸速率、雙工模式(即數據傳輸的方向和方式)以及一系列用于精細管控網線使用的參數進行協商。只有當雙方達成一致意見后,才會正式開啟穩定、高效的數據傳輸通道。這種基于共識的機制,不僅極大地提高了網絡設備的適配性和靈活性,還為網絡的穩定運行提供了堅實的保障。
作為一種通信協議,自動協商僅在OSI模型的物理層發揮作用,其實施方式靈活多樣,可借助軟件、硬件或軟硬件結合來實現。在接下來的內容中,我們將深入剖析該協議的運作機制,詳細解讀它在協商速率、雙工模式、電纜端接以及流量控制等方面的具體流程與技術細節。
在隨后展開的技術探討中,您將看到自動協商對于如今的有線以太網網絡而言,是一項極為關鍵的配置。若要確保鏈路的正常運行,網線兩端的設備配置必須保持一致,要么均啟用自動協商功能,要么都手動設定為相同的速率與雙工模式。當一邊的設備采用自動協商,另一邊設備則被手動設置為固定速率和雙工模式時,問題便可能出現。盡管自動協商算法能夠精準探測到速率并據此做出恰當調整,但它卻無法知曉遠端設備的雙工配置。依據IEEE標準,自動協商設備在這種情況下會默認回退至半雙工模式。然而,倘若遠端設備處于全雙工模式,這便會引發諸多問題。通常,用戶會抱怨網絡連接速度緩慢,甚至出現應用程序超時等現象。這些問題的具體癥狀將在后續關于雙工模式的章節中進行詳細剖析。
最后,必須強調一點:依據IEEE規范,千兆以太網的使用離不開自動協商機制。因此,在嚴格遵循IEEE標準的網絡設備中,1000Mb/s 并不是一個可供手動設定的有效選項。
2 網絡速率
IEEE 802.3u 標準首次將網絡速率從僅有的 10 Mb/s 提升到 100 Mb/s,為以太網網絡帶來了質的飛躍。然而,隨著計算機可以在不同速率之間進行選擇,如何規范這一決策過程成為了一個亟待解決的問題。當千兆以太網(1000 Mb/s)問世后,這一問題變得更加復雜。于是,自動協商協議應運而生,NWay 算法也經過改進,為這一決策過程提供了一種即插即用的解決方案,同時完美兼容 10 Mb/s 的早期協議。
在10 Mb/s標準中,設備通過發送和接收鏈路完整性測試(Link Integrity Test, LIT)脈沖來檢測與其他網絡設備的連接狀態。當設備處于非數據傳輸或接收狀態時,會持續發送這些脈沖。這些脈沖后來被更名為正常鏈路脈沖(Normal Link Pulses, NLP)。它們是單極性、僅包含正向信號的脈沖,持續時間為100納秒,每隔16毫秒發送一次,允許有±8毫秒的時間偏差。

A diagram of numbers and lines AI-generated content may be incorrect.
隨著100 Mb/s標準的誕生,自動協商協議也隨之引入,并采用快速鏈路脈沖(Fast Link Pulse, FLP)來替代傳統的正常鏈路脈沖(NLP)。每個FLP脈沖簇由33個脈沖組成,總時長為2毫秒,且這些脈沖簇的發送間隔為16毫秒,允許有±8毫秒的偏差。每個脈沖的持續時間為125微秒,相鄰脈沖之間的時間間隔為62.5微秒,允許有±7微秒的偏差。
在FLP脈沖簇中,脈沖以時鐘脈沖和數據脈沖交替出現。其中,第一個脈沖以及所有奇數編號的脈沖均為時鐘脈沖。16個數據脈沖分別代表一個比特的數據,脈沖的存在表示“1”,脈沖的缺失表示“0”。這16個比特的數據共同組成2字節的鏈路碼字(Link Code Word, LCW),其中包含了自動協商所需的關鍵信息。
雖然存在多種鏈路碼字(LCW)格式,但其中最為關鍵的是基礎頁,其作用是向其他設備聲明自身的能力。其前5位只有兩種有效值,分別用于標識設備支持IEEE 802.3(以太網)或IEEE 802.9(基于Cat3雙絞線的等時以太網)協議。接下來的5位則用于說明設備能夠支持的速度和雙工模式組合。
在基礎頁中,A5和A6位專門用于流量控制功能,而D14位則用于確認協商過程是否成功。最后一位D15則用于指示是否需要進入更高級的“下一頁”協商階段,這種更高級的LCW主要用于協商千兆速率以及相關的控制機制。下圖清晰地展示了基礎頁的結構。

為了讓兩臺設備在網線上傳輸數據時確定共同的速率,必須在網線上傳輸并接收六個相同的鏈路碼字(LCW),每臺設備各發送三個。當一臺設備從遠端設備收到三個相同的LCW(這些LCW包含在快速鏈
路脈沖FLP中)后,本地設備會發送一個帶有確認位(ACK)的FLP。值得注意的是,每臺設備僅聲明自身的功能,因此雙方需要遵循相同的優先級順序來協商速率。這個優先級順序是IEEE標準的一部分,具體可參考圖下圖。一旦雙方都收到帶有ACK的響應,速率就確定下來了。

快速鏈路脈沖(FLP)的設計巧妙地與正常鏈路脈沖(NLP)保持一致,使得10 Mb/s的設備能夠在常規的時間間隔內檢測到線路上的信號,從而實現正常通信。具備自動協商功能的設備能夠檢測到NLP的存在,并且,基于向后兼容性的設計,能夠自動回退到使用NLP進行通信,以確保在10 Mb/s速率下也能正常工作。
3 雙工匹配
隨著IEEE 802.3u快速以太網標準的問世,同時雙向通信成為現實。于是,一種協議和方法應運而生,用以規范這一全新的通信模式。正如前文所述,對于100 Mb/s網絡,雙工協商是在基礎碼字中進行的。而對于1000 Mb/s網絡,雙工協商則被納入“下一頁”和“消息頁”鏈路碼字(LCW)的范疇。
雙工不匹配是導致網絡鏈路問題的常見原因之一,僅次于物理布線問題或硬件故障。當自動協商設備無法預測手動設置設備的配置時,雙工不匹配便會出現。這是因為根據IEEE標準,當設備被手動設置時,快速鏈路脈沖(FLP)的傳輸會被禁用。同樣,按照IEEE標準,當自動協商設備無法確定遠端設備的雙工模式時,它會默認以半雙工模式進行連接。
雙工不匹配問題往往難以察覺,因為它不會直接導致鏈路完全中斷。在初始階段,鏈路的性能通常足以避免觸發任何警報,尤其是在鏈路使用率較低的情況下。然而,一旦鏈路活動增加,問題便會逐漸顯現。
具體來說,半雙工設備認為一次只能有一臺設備進行通信,因此只要另一臺(全雙工)設備在通信,它就會保持靜默。而全雙工設備則不受此限制,它認為兩臺設備可以同時進行通信。如果半雙工設備在傳輸過程中檢測到來自另一臺設備的傳輸信號,它會立即停止傳輸,將所有傳入的信號視為無效,并啟動一個等待計時器來使介質恢復平靜。與此同時,全雙工設備會完成傳輸并假定接收成功。全雙工設備還會接收到半雙工設備發送的截斷數據包,判斷其為無效數據包,并標記循環冗余校驗(CRC)錯誤計數器。半雙工設備會在等待計時器結束后嘗試重新傳輸其數據包,但全雙工設備卻認為沒有必要重新傳輸(因為它不知道另一臺設備丟棄了其數據包),因此半雙工設備除非OSI模型的更高層要求確認并觸發重新傳輸,否則永遠不會收到該數據包。
在這種情況下,最常見的表現是網絡連接速度緩慢,或者某些應用程序頻繁出現超時現象。在正確配置的網絡連接中,CRC錯誤數量本應微乎其微。因此,一旦出現大量CRC錯誤,這通常意味著存在雙工不匹配的問題。
雙工不匹配在非托管交換機上常常是一個棘手的問題。非托管交換機的特性決定了它無法手動設置端口的速率或雙工模式,始終處于自動協商狀態。如果連接的設備被手動設置了特定的速率或雙工模式,非托管交換機就無法與這臺設備建立完全正常的鏈路,最終可能會引發各種問題。

要避免非托管交換機出現雙工不匹配問題,首先需確保所有連接設備都啟用自動協商模式,以匹配非托管交換機的自動協商特性,從而達成一致的速率和雙工模式。盡量避免手動設置設備的速率或雙工模式,若必須手動設置,需保證所有相關設備配置完全一致,并通過命令行工具檢查配置是否匹配。優先選擇支持自動協商功能的設備,以減少因配置不一致引發的雙工不匹配。定期監控網絡性能,關注CRC錯誤和沖突計數等指標,若發現異常,及時排查雙工不匹配問題。若問題頻繁且難以解決,可考慮更換支持更高級自動協商功能的交換機,以提升網絡穩定性。
4 Auto-MDIX(端口自動翻轉)
雙絞線電纜的出現,也帶來了多種插線方式的可能性。Cat5e雙絞線電纜包含8根獨立的銅線,而目前存在兩種行業標準的RJ-45連接器接線方式。這些標準的目的是確保在電纜的兩端,1至8號引腳分別對應相同的導線。為了制作交叉線,制造商會在電纜的一端安裝一個T-568A插頭,而在另一端安裝一個T-568B插頭。

為了讓一臺設備能夠與另一臺設備相連并通信,必須確保一臺設備的發送端(TX)與另一臺設備的接收端(RX)相連,反之亦然。這種連接機制是實現設備間通信的基礎。
然而,由于大多數電纜默認為直通線,這就需要在設備層面來解決通信匹配問題。傳統上,網絡設備和計算機網卡的接線方式是相反的:計算機網卡通常采用介質相關接口(Media Device Interface, MDI)的接線方式,而交換機或其他網絡設備則采用介質相關接口交叉(Media Device Interface-Crossover, MDIX)的接線方式。
在過去的網絡環境中,這種設計雖然能夠滿足基本需求,但卻帶來了一個不便之處:當需要進行計算機到計算機或交換機到交換機的通信時,就必須使用特殊的交叉線來實現。
Auto-MDIX(端口自動翻轉)是由惠普的兩名工程師開發并獲得專利的一項創新技術,它已被納入IEEE的千兆以太網標準(IEEE 802.3ab)。這項技術通過在每對線纜上同時連接發送器和接收器,巧妙地消除了對特定交叉線或直通線的需求。根據千兆以太網標準,接收器能夠精準識別發送器所發送的信號。它通過從線纜上感應到的信號中電學地減去該信號,并利用回聲抵消技術,接收器能夠準確計算出遠端設備正在傳輸的內容。
該技術簡化了網絡部署,用戶無需手動選擇線纜類型,統一使用直通線即可實現所有設備的即插即用,顯著降低了布線錯誤率和維護成本,并提升了組網靈活性。現代網絡芯片普遍支持此功能,成為交換機、路由器等設備的標配特性。
5 流量控制
隨著設備數據傳輸速度的不斷攀升,背板、緩沖區以及交換機間端口的性能必須與之同步提升。若某交換機的背板速度高于其所有端口速率之和,我們通常將其稱為線速交換機。然而,對于高密度交換機而言,達到線速往往頗具挑戰。
當兩臺設備之間的連接需要傳輸的數據量超出可用帶寬時,鏈路就會出現擁塞。在兩個交換機之間的鏈路中,若上行端口與用戶端口速率相同,這種情況極易發生。這便引出了對于流量控制的需求。流量控制是一種機制,允許一個設備請求另一個設備暫停傳輸,以便其能夠跟上。這種暫停機制可能包括設置一個計時器直至重新啟動、需要一個取消暫停的通知,或者僅僅是一種通過虛擬數據延遲通信的策略。
在10 Mb/s網絡中,當設備需要暫停數據傳輸時,會在接收每個數據包后,向傳輸介質發送一個虛擬數據包,以此阻止后續數據的傳輸。這種技術被稱為“背壓”(Backpressure)。在100 Mb/s半雙工網絡中,背壓同樣被用作暫停傳輸的機制。
而在100 Mb/s全雙工和1000 Mb/s全雙工網絡中,流控制則是通過自動協商協議中的暫停控制功能來實現的。需要暫停傳輸的設備會發送一個快速鏈路脈沖(FLP),并在其中設置相應的暫停位(A5或A6),以此向對端設備發出暫停請求。
6 總結
總的來說,自動協商標準堪稱網絡設備“握手”的隱形功臣,為多速率、多雙工模式、多種布線標準和流控機制并存的網絡世界提供了一個即插即用的解決方案。N-TRON建議將網絡中的所有設備都設置為自動協商模式,這樣不僅便于部署,還能最大限度地減少當前或未來網絡配置變更時可能出現的問題。如果確實需要手動設置,N-TRON建議對連接的兩端都進行手動配置,并詳細記錄這些設置,以確保在網絡發生變化時能夠迅速定位并解決問題。
作為工業以太網領域的全球領軍者,N-TRON的產品憑借其卓越的可靠性,廣泛應用于全球眾多關鍵行業。這些行業涵蓋船舶制造、過程控制、風力發電場、污水處理廠、核電站、太陽能能源以及安防監控等領域,這些場景對設備的可靠性有著極其嚴苛的要求。N-TRON的產品不僅滿足了這些高標準的需求,還通過了UL等多項國際認證,確保在極端環境下的穩定運行。

提交
關于多無線設備干擾的解決方法
Anybus Communicator - Modbus RTU 從站轉Modbus TCP 從站網關
Anybus Communicator – 串行主站轉PROFINET-IRT網關
Anybus Communicator – 串行主站轉CC-Link IE Field網關
FlexEdge® 自動化控制器 1 撬裝模塊

投訴建議