本節書摘來自異步社群《network warrior中文版(第2版)——思科網絡工程師必備手冊》一書中的第3章,第3.2節,作者【美】gary a. donahue,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視
network warrior中文版(第2版)——思科網絡工程師必備手冊
首先,來看一下自動協商幹不了的事兒:在接口上激活自動協商功能時,該機制既不會自動測出以太網鍊路對端接口的配置,也不會針對測出的配置,随即與之比對。但很多網管人員都對此不明就裡,進而導緻了許多問題。
自動協商是一種協定,與所有協定一樣,隻有鍊路兩端同時運作時,協定機制方可生效。換句話說,若鍊路一端運作了自動協商,而對端卻沒有,那麼該機制就不能自動測對外連結路對端的速度和雙工配置。要是鍊路對端也開啟了自動協商功能,那麼鍊路兩端的接口(網卡)便能夠共同确定最佳速度和雙工模式。每端接口都會通告自己所能運作的速度和雙工模式,于是,便可選擇速度與雙工的最佳配對模式(優選較高的速度,并配以全雙工)。
人們對自動協商存在誤解,主要是因為自動協商看起來似乎總能大功告成。這要拜賜于一種叫做并行檢測(parallel detection)的特性,在自動協商的過程中,若未發現對端鍊路開啟自動協商功能,并行檢測特性就會“出手幹預”。該特性的運作方式是:将接收自本端10base-t、100base-tx以及100base-t4驅動程式的信号,發送給鍊路對端。隻要上述驅動程式中的任何一個檢測到了(對端發回的)信号,便會将接口設定為相應的速度。
并行檢測隻能測對外連結路的速度,無法測定雙工模式。這一點非常值得關注,因為雙工模式會随以太網的速度而變。
10base-t
10base-t在設計之初并不支援全雙工。支援全雙工的10base-t實作寥寥無幾。
100base-t
100base-t很早便開始支援全雙工,隻要還有人用,該技術就是連接配接100mbit/s鍊路的首選方法。然而,100base-t的預設行為通常為半雙工,需手動設定為全雙工。
1000base-t
就功能而言,吉比特以太網的自動協商協定要遠勝于10m或100m以太網。在大多數情況下,應将吉比特接口設定為自動協商模式。
10吉比特
一般而言,10 吉比特以太網連接配接要依賴于光纖收發器,或特殊的銅線連接配接器(與10/100/1000 m以太網所用的rj45連接配接器不同)。硬體往往也會指明10吉比特以太網的連接配接方式。在6500交換機上,10吉比特接口都需要xenpak子產品,該子產品也隻能用于10吉比特端口。在nexus 5000交換機上,有些端口是1吉/10吉端口,可使用speed指令來更改端口的速度。
由于10base-t不具備全面支援全雙工的能力,加之100base-t典型的預設行為(需人工激活自動協商功能),是以,當自動協商失敗,過渡到了并行檢測階段(該階段隻會檢測速度)時,對驅動程式來說,最可靠的做法是:讓鍊路(接口/網卡)運作半雙工。
随着網絡以及聯網裝置功能的不斷發展,鍊路速度越高,所附帶的自動協商協定功能也越強,自動協商發生故障的可能性自然也會越來越低。話雖這麼說,但筆者曾見過不少20“歲”以上高齡的路由器仍在網絡中“老當益壯”,是以,在未來若幹年内,對自動協商運作方式“門清”的讀者,肯定不會“吃虧”。