鏈路自適應(yīng)如何進(jìn)行
以太網(wǎng)中的各節(jié)點(diǎn)通過雙絞線連接在一起,在進(jìn)行通信之前必須在鏈路速率和全雙工/半雙工模式上達(dá)成一致。這種過程叫做自適應(yīng),它由鏈路脈沖來實(shí)現(xiàn)。當(dāng)網(wǎng)絡(luò)中發(fā)現(xiàn)新主機(jī)時, 鏈路脈沖發(fā)送”鏈路通告”以建立連接。有兩種類型的鏈路脈沖,一種是普通鏈路脈沖(NLP),一種是快速鏈路脈沖(FLP)。如圖所示:
10BASE-T的鏈路脈沖(NLP) 由簡單的半波脈沖組成, 當(dāng)從+1到-1伏的數(shù)據(jù)信號發(fā)送空閑時,在發(fā)送線對(TX)上,一秒鐘發(fā)送8個鏈路脈沖。
快速以太網(wǎng)出現(xiàn)后,國際標(biāo)準(zhǔn)化組織很謹(jǐn)慎地保持了向后兼容性問題,為自適應(yīng)選擇了簡單有效的物理信號協(xié)商機(jī)制。快速鏈路脈沖(FLP)借助普通鏈路脈沖(NLP)攜帶著表示鏈路速率和雙工狀況的信息。 快速鏈路脈沖以”1”來表示有效信息,”0”表示無信息,這些數(shù)據(jù)形成”鏈路字”。數(shù)據(jù)脈沖在時鐘脈沖之間發(fā)送,17個時鐘脈沖為16個數(shù)據(jù)脈沖提供了機(jī)會,所以一個FLP可能具有17到33個脈沖。
以太網(wǎng)設(shè)備會按照一定順序選擇適當(dāng)?shù)逆溌放渲茫?FLP信號在自適應(yīng)設(shè)備加電后自動產(chǎn)生,或者可以通過管理接口手工選擇。以下是自適應(yīng)的優(yōu)先選擇順序。
· 1000BASE-T 全雙工
· 1000BASE-T 半雙工
· 100BASE-T2 全雙工
· 100BASE-TX 全雙工
· 100BASE-T2
· 100BASE-T4
· 100BASE-TX 半雙工
· 10BASE-T 全雙工
· 10BASE-T 半雙工
自適應(yīng)機(jī)制可以充許設(shè)備使用多種FLP鏈路字,按照優(yōu)選順序可以很容易的使用三四種不同的FLP鏈路字來確定配置。IEEE標(biāo)準(zhǔn)化組織在802。3標(biāo)準(zhǔn)的第28節(jié)定義了自適應(yīng)。
自適應(yīng)的實(shí)現(xiàn)
現(xiàn)在,幾乎所有的以太網(wǎng)網(wǎng)卡,交換機(jī)和路由器都支持自適應(yīng)并默認(rèn)啟動自適應(yīng)狀態(tài),這樣不用做任何配置就可以互聯(lián)。這就意味著,你不必?fù)?dān)憂速率與雙工的匹配問題。但是,并非總是一帆風(fēng)順,事實(shí)上生產(chǎn)網(wǎng)絡(luò)產(chǎn)品的廠商在實(shí)行自適應(yīng)方面也有差別,這些差別帶來了匹配性的問題。事實(shí)上,當(dāng)兩臺設(shè)備互聯(lián)時,先以低水平的鏈路脈沖來確定連接模式,速率的適應(yīng)很容易成功,但是雙工問題有時會失敗,交換機(jī)可能會告訴我們雙工模式有問題。另外,如果互聯(lián)的設(shè)備一個設(shè)置為自適應(yīng),一個不是自適應(yīng),那么自適應(yīng)一端必須設(shè)置在半雙工狀態(tài)。如果服務(wù)器或交換機(jī)的端口被設(shè)定為全雙工, 但是另一端是自適應(yīng),那么你就會碰到半/全雙工不匹配的問題。也就是說,自適應(yīng)一方總努力在半雙工上適應(yīng)。
自適應(yīng)的問題
一個普遍的問題是FLP要以NLP為基礎(chǔ)以滿足兼容性上的問題。真正的自適應(yīng)只在兩端都以FLP來完成自適應(yīng)時實(shí)現(xiàn),因此如果NLP和FLP混合使用,使用FLP的設(shè)備會自動適應(yīng)在NLP的10M半雙工的水平上,盡管它具有有全雙工和高速率的能力。如果。 如果換為NLP,自適應(yīng)端在收線對上遵守快速以太網(wǎng)信號的編碼格式(MLT-3),那么它將適應(yīng)在快速以太網(wǎng)的100M半雙工的水平上,即使該設(shè)備可以工作在任何速率和全雙工水平。這種向后的兼容性,我們稱之為并行探測。
如果只是鏈路的一端具有自適應(yīng)功能,那么自適應(yīng)協(xié)議將同一個名為并行偵測的機(jī)制來檢測鏈路條件是否正確響應(yīng)。例如,一個10/100M網(wǎng)卡接入一個10M集線器,此時網(wǎng)卡接口會發(fā)送FLP信號而只從10M集線器接收NLP信號,接口處的自適應(yīng)功能對NLP信號進(jìn)行檢測,并自動工作于10BASE-T模式。
相應(yīng)地,當(dāng)自適應(yīng)集線器的一個具有多種功能的端口與一個沒有自適應(yīng)功能的100BASE-TX網(wǎng)卡相連時,自適應(yīng)協(xié)議將使該集線器端口工作于100BASE-T模式。并行檢測功能工作于沒有自適應(yīng)協(xié)議的10BASE-T、100BASE-TX及100BASE-T4設(shè)備上。100BASE-TX/T4上的并行檢測機(jī)制檢查所收到的信號,把它與自身的鏈路監(jiān)察信號對比,看其是否符合給定的鏈路模式。如果檢查到鏈路監(jiān)察信號中有一種模式與輸入信號的相符,鏈路就以此模式建立連接。
自適應(yīng)設(shè)備面臨五種主要的狀態(tài)。
1. 自動/自動 – 兩端都采用FLP來自適應(yīng)。
2. 自動/并行探測 – 在收線對上采用檢測信號決定鏈路配置,取代采用采用FLP功能。
3. 速率探試/偵聽是否工作 –根據(jù)對方的反應(yīng)來決定速度配置。
4. 在FLP和速度探試之間輪詢- 用每一個速度償試一會后,換另一速度。
5. 在對方有響應(yīng)之前什么都不作 – 當(dāng)在收線對上有信號之后,再從上面四種方式中選擇一種。這是一
種節(jié)電方式。
可以理解,這些機(jī)制,特別是考慮到兼容性的機(jī)制是導(dǎo)致問題的根源。以上這些方式的實(shí)施過程中都有可能出現(xiàn)問題。
速度沖突
速度沖突很少是一個長期性的問題,鏈路不通,需要很快得到解決才可以,這不僅是影響一臺設(shè)備的上網(wǎng),也會帶來其它以太網(wǎng)問題。
如果10BASE-T設(shè)備連接到100BASE-TX的交換機(jī), 10BASE-T設(shè)備上的LED會很正常,但是不能通信。100BASE-TX交換機(jī)不會顯示存在鏈路 。如果100BASE-TX的主機(jī)接到10BASE-T的集線器上時,它將對所在的沖突域帶來33%到100%的沖突。 10BASE-T集線器LED會顯示有流量或沖突存在。
半/全雙工沖突問題
10BASE-T 和100BASE-TX以太網(wǎng)用一對線收信號(RX),一對信發(fā)信號(TX)。 根據(jù)定義, 半雙工表示在一對線上同一時刻只能有一個方向的數(shù)據(jù)。如果對于半雙工的設(shè)備雙向都有數(shù)據(jù),就會有沖突,發(fā)生沖突的幀會被丟棄。對于舊的同軸電纜10BASE5 和10BASE2網(wǎng)絡(luò), 只有一條物理線線用于收發(fā),所以必須采用半雙工的模式。新的以太網(wǎng)將收發(fā)線對分開,所以就不會有沖突產(chǎn)生。
在10BASE-T 和100BASE-TX以太網(wǎng)中,使用全雙工將會把吞吐增加一倍,100M的網(wǎng)絡(luò)的吞吐量會有200M。 半/全雙工的沖突會降低主機(jī)上網(wǎng)的帶寬,雖然也能發(fā)送數(shù)據(jù),但是對于全雙工一端會有間歇性地錯誤。大多數(shù)10BASE-T以太網(wǎng)集線器會操作在半雙工模式。許多最新的10/100M交換機(jī)和集線器即可半雙工,也可全雙工。如果以一端半雙工,一端全雙工,那么一端將認(rèn)為自己任何時候都可以發(fā)送數(shù)據(jù),而另一端將會在任何收到數(shù)據(jù)的時候中斷傳輸。被中斷或破壞的報文將會被發(fā)送主機(jī)計(jì)數(shù)為小于64字節(jié)的沖突碎片或大于或等于64字節(jié)的最新的數(shù)據(jù)。
在雙工不匹配時,接收主機(jī)仍可以在任何時候收發(fā)數(shù)據(jù)。這樣,它不會把有問題的大于64字節(jié)的數(shù)據(jù)當(dāng)作沖突的數(shù)據(jù),而是發(fā)現(xiàn)校驗(yàn)和有問題后,當(dāng)做FCS或CRC錯誤類型的數(shù)據(jù)幀。小于64字節(jié)的數(shù)據(jù)會被當(dāng)做沖突的碎片,這些碎片根本不會在全雙工的鏈路中出現(xiàn)。 如果大于64字節(jié)的報文在發(fā)生沖突的時候已經(jīng)通過集線器,哪么發(fā)送的主機(jī)不會象在一般的沖突發(fā)生時那樣重新發(fā)送這些報文。
沖突或丟失的數(shù)據(jù)包會由上層相關(guān)軟件重發(fā)。這些重發(fā)的數(shù)據(jù)會帶來網(wǎng)絡(luò)的延時,同時這些額外的流量可能會難以傳送,導(dǎo)致的結(jié)果是網(wǎng)絡(luò)文件傳輸或應(yīng)用很慢。沖突的數(shù)據(jù)重傳大約需要幾微秒,而被丟棄的數(shù)據(jù)可能需要上層軟件,如TCP,可能需要幾十秒來重傳,如果TCP的努力仍不成功,那么網(wǎng)絡(luò)的連接就會失敗。
混合的自適應(yīng)和固定的全雙工并存是引起半/全雙工沖突的最主要原因。設(shè)備固件上的設(shè)計(jì)問題是第二個主要原因。請注意,在自適應(yīng)問題上,在早期的網(wǎng)卡,交換機(jī)或其它網(wǎng)絡(luò)設(shè)備,許多廠商都有不完善的邏輯電路錯誤。交換機(jī)經(jīng)常報告是在全雙工工作,而實(shí)際上確是在半雙工工作。另外,許多廠商的自適應(yīng)技術(shù)無法實(shí)現(xiàn)雙工問題的有效探測。其有問題的產(chǎn)品也會帶來半/全雙工的沖突。
例如:現(xiàn)場中經(jīng)常會有這樣的例子,交換機(jī)隨機(jī)地發(fā)出FLP鏈路字,直到對方有了明確的反應(yīng)。稍后,鏈路建立起來,交換機(jī)將所獲得的鏈路信息存儲在FLP的寄存器中。當(dāng)互聯(lián)情況改變后,交換機(jī)仍按原來的存儲信息來確認(rèn)鏈路,就會帶來沖突。
半雙工FDX
· 同一時間,只能有一個方向的數(shù)據(jù)傳輸
· 如果兩個方向都有流量,將產(chǎn)生沖突,數(shù)據(jù)會被丟棄
全雙工HDX
· 數(shù)據(jù)充許在兩個方向上同時傳輸
· 在全雙工鏈路不會有沖突產(chǎn)生
自適應(yīng)問題的測試
總有用戶報怨”網(wǎng)絡(luò)太慢”或”無法與服務(wù)器連接”,有什么辦法可以判斷是否由自適應(yīng)問題引起的呢?
從網(wǎng)絡(luò)監(jiān)測的角度看,可以使用SNMP協(xié)議從交換機(jī)的MIB庫中讀取基本的流量統(tǒng)計(jì)信息。
例如:
· 端口利用率
· 幀的數(shù)量及其中的錯誤類型
· 沖突和CRC錯誤幀
如果有大量的沖突或CRC錯誤被檢測到,就有可能是自適應(yīng)失敗。但是,怎樣確認(rèn)問題的真正原因,是在主機(jī)一端,還是在交換機(jī)/集線器一端?
手持式網(wǎng)絡(luò)測試儀
美國福祿克網(wǎng)絡(luò)公司的手持式測試儀有鏈路通LinkRunner™,網(wǎng)絡(luò)萬用表NetTool™,OPV網(wǎng)絡(luò)綜合分析儀OptiView™,網(wǎng)絡(luò)故障一點(diǎn)通OneTouch™等等都可以發(fā)現(xiàn)半/全雙工的不匹配問題。
用NetTool或LinkRunner選擇自動測試就可獲得端口的半/全雙工狀態(tài),用OptiView或One Touch時,選擇電纜測試或相關(guān)選項(xiàng)也可獲得詳細(xì)信息。
NetTool
NetTool在診斷電纜兩端的速率及半/全雙工匹配問題上能力很強(qiáng)。它可以監(jiān)測兩端連接狀態(tài),只需片刻就可以報告兩邊的實(shí)際速度和雙工狀態(tài)。
圖4是在交換機(jī)和主機(jī)之間自動測試的例子,你還可以看到更詳細(xì)的信息。主屏顯示的是綜合結(jié)果,最初查看兩邊都是10/100M的以太網(wǎng)設(shè)備:自適應(yīng)后,兩邊都選擇了半雙工模式,100M做為傳輸速率,鏈路脈沖正常。另外,也顯示出左邊正在使用3-6線對,右邊正在使用1-2線對,而且兩邊是何種設(shè)備可以自動識別,以不同的圖符來表示。
選擇PC或集線器/交換機(jī)的圖標(biāo)后,會給出更詳細(xì)的鏈路配置信息,例如使用的線對,電平極性,最大速率,半/全雙工模式。
圖5是NetToolI在不同鏈路上工作的結(jié)果。顯示出PC被迫使使用100M全雙工配置(PC只支持100M,交換機(jī)支持10/100M自適應(yīng))。結(jié)果顯示左邊為半雙工,右邊為全雙工,報告的問題是全雙工不匹配。盡管雙工不匹配,但是鏈路仍可正常運(yùn)行,但是也會帶來幀被破壞,丟失的幀由上層協(xié)議來重傳。圖5還顯示出有許多FCS錯誤(有時也被稱為CRC錯誤)的幀。
自適應(yīng)問題的解決
如果發(fā)現(xiàn)半/全雙工沖突問題,可以有下列三種方法:
· 兩端都設(shè)置為自適應(yīng)
· 兩端都設(shè)置為半雙工
· 兩端都設(shè)置為全雙工
解決的方案與設(shè)備有關(guān),如果問題的根源是誤配置,簡單的方法是都設(shè)定為自動模式。如果問題的根源是一端設(shè)備的性能有問題,就需要實(shí)驗(yàn)來判斷了。為了避免潛在的雙全問題,許多網(wǎng)絡(luò)工程師都采用默認(rèn)地自動方式,除非明確地知道兩邊的情況。
備注:
自適應(yīng)協(xié)議可用于全系列雙絞線以太網(wǎng)網(wǎng)段以及全雙工以太網(wǎng)鏈路。全雙工以太網(wǎng)技術(shù)現(xiàn)正由IEEE進(jìn)行標(biāo)準(zhǔn)化。由于缺少標(biāo)準(zhǔn),各廠商的設(shè)備所支持的全雙工鏈路長度也可能不一樣。除非標(biāo)準(zhǔn)已經(jīng)制定,否則無法確保不同廠商的全雙工設(shè)備可以互操作。但今天已有越來越多的網(wǎng)絡(luò)需要全雙工,所以有必要在此將它介紹一番。
相對于傳統(tǒng)的以太網(wǎng)而言,全雙工操作簡單,而且全雙工鏈路兩端的設(shè)備均可同時收發(fā)數(shù)據(jù)。由此而來的一個好處就是在理論上全雙工的理論帶寬是傳統(tǒng)以太網(wǎng)(半雙工) 的二倍。全雙工操作模式要求鏈路上的每一端都只連接一個設(shè)備,如一個工作站與一個交換機(jī)端口相連。
既然一個全雙工鏈路上只有二臺設(shè)備,在該鏈路上的數(shù)據(jù)傳輸無需考慮同時支持多臺設(shè)備,所以沒必要堅(jiān)持原先的以太網(wǎng)媒介訪問控制系統(tǒng)。由于不再需要多臺工作站共享同一信道,CSMA/CD媒介訪問控制機(jī)制也就顯得多余,一條全雙工以太網(wǎng)鏈路上的設(shè)備在發(fā)送數(shù)據(jù)時,就不必為防止碰撞而偵聽其它可能的傳輸信號。
10BASE-T、100BASE-T、100BAS E-FX的信號系統(tǒng)都能支持全雙工操作,因?yàn)樗鼈兊膫魉秃徒邮招诺揽赏瑫r激活。另一個好處是,全雙工光纖鏈路可長于通常100BASE-FX許可 的距離。原因在于此時無需計(jì)算一個沖突域的往返時間(Round Trip Timing),光纖長度只需考慮光信號傳輸衰減的距離即可。因此,全雙工100M光纖鏈路通?商峁2公里左右的距離長度。
總結(jié)
盡管標(biāo)準(zhǔn)化組織在努力解決兼容性問題,但實(shí)際網(wǎng)絡(luò)中仍有不盡人意的地方,這就需要網(wǎng)絡(luò)專家在現(xiàn)場要借助于工具來解決自適應(yīng)的沖突問題。