:從編碼調(diào)制到網(wǎng)線光纖故障排查)
1. 物理層到底在解決什么問題很多人學(xué)計算機(jī)網(wǎng)絡(luò)一上來就被OSI七層模型砸懵背完“物數(shù)網(wǎng)傳會表應(yīng)”就以為自己懂了結(jié)果一問“物理層到底干什么”腦子里只?!皞鞅忍亍薄N覄傞_始學(xué)的時候也這樣直到后來做嵌入式設(shè)備調(diào)試被一根網(wǎng)線折騰了整整兩天才真正理解物理層不是課本上那幾行定義而是所有網(wǎng)絡(luò)通信的物理地基。物理層位于OSI參考模型的最底層它的核心任務(wù)只有一句話把上層交下來的比特流通過物理介質(zhì)從一個節(jié)點(diǎn)送到另一個節(jié)點(diǎn)。聽起來簡單但“送過去”這三個字背后藏著一堆工程問題——用什么信號表示0和1信號在銅纜里衰減了怎么辦兩臺設(shè)備的速率不一致怎么協(xié)調(diào)時鐘對不齊導(dǎo)致采樣錯位怎么解決這些問題不解決上層協(xié)議寫得再漂亮都是空中樓閣。這篇文章適合誰看如果你是計算機(jī)專業(yè)的學(xué)生正在啃計算機(jī)網(wǎng)絡(luò)教材但覺得物理層太抽象如果你是剛?cè)胄械倪\(yùn)維或嵌入式開發(fā)者需要理解網(wǎng)線、光纖、串口這些底層通信的脾氣或者你只是好奇“網(wǎng)線里到底跑的是什么”那這篇內(nèi)容應(yīng)該能幫你把物理層從“背誦知識點(diǎn)”變成“真正理解它在干嘛”。我寫這篇的出發(fā)點(diǎn)很簡單市面上大部分教材把物理層講成了公式和定義的堆砌但實際工作中你需要的不是背奈奎斯特公式而是理解為什么Cat5e網(wǎng)線跑千兆只能到100米、為什么串口通信要約定波特率、為什么光纖分單模多模。這些才是真正影響你干活的東西。2. 物理層的核心概念拆解2.1 數(shù)據(jù)通信的基礎(chǔ)模型物理層討論通信繞不開一個最基本的模型信源、信道、信宿。信源是發(fā)送方信宿是接收方信道是中間傳輸?shù)耐ǖ?。這個模型看著簡單但它決定了物理層所有問題的出發(fā)點(diǎn)——信號從信源出發(fā)經(jīng)過信道到達(dá)信宿中間會發(fā)生什么信道分兩種模擬信道和數(shù)字信道。模擬信道傳輸連續(xù)變化的信號比如傳統(tǒng)電話線數(shù)字信道傳輸離散的信號比如網(wǎng)線里跑的方波。但注意即使是數(shù)字信道物理介質(zhì)上跑的本質(zhì)上還是模擬的電磁波或光波只不過我們用高低電平或光的有無來表示離散的0和1。這里有個容易混淆的點(diǎn)基帶傳輸和寬帶傳輸?;鶐鬏斁褪侵苯影褦?shù)字信號方波送上線路不經(jīng)過調(diào)制以太網(wǎng)網(wǎng)線大部分是這種方式寬帶傳輸是把數(shù)字信號調(diào)制到高頻載波上有線電視網(wǎng)絡(luò)就是典型?;鶐鬏敽唵沃苯拥珎鬏斁嚯x受限寬帶傳輸復(fù)雜但能在一根線上跑多路信號。還有一個概念叫碼元這個必須搞清楚。碼元是承載信息的基本信號單位一個碼元可以攜帶1個或多個比特。如果只用兩種電平高/低一個碼元攜帶1比特如果用四種電平一個碼元就能攜帶2比特。這就是為什么同樣波特率下不同的編碼方式能跑出不同的比特率。2.2 信道的極限容量奈奎斯特與香農(nóng)物理層有一個殘酷的現(xiàn)實信道不是無限的。你不可能在一條網(wǎng)線上無限提高傳輸速率有兩個硬性約束卡著你。第一個是奈奎斯特準(zhǔn)則它針對的是理想無噪聲信道。公式是C 2 × W × log2(V)其中C是極限比特率bpsW是信道帶寬HzV是碼元的離散電平數(shù)。這個公式告訴我們帶寬越寬能用的電平數(shù)越多極限速率就越高。但電平數(shù)不能無限增加因為電平越多每個電平之間的差距越小接收端越難區(qū)分。第二個是香農(nóng)公式它針對的是有噪聲信道C W × log2(1 S/N)S/N是信噪比。這個公式更貼近現(xiàn)實因為任何真實信道都有噪聲。香農(nóng)公式揭示了一個關(guān)鍵結(jié)論信噪比越低極限速率越低。這就是為什么老式電話線信噪比差跑不了高速率而光纖信噪比極高能跑Tbps級別。我實測過一個場景用一段質(zhì)量很差的超五類網(wǎng)線跑千兆長度大概80米結(jié)果丟包率飆升。用網(wǎng)線測試儀一看近端串?dāng)_NEXT指標(biāo)嚴(yán)重超標(biāo)。這就是香農(nóng)公式在現(xiàn)實中的體現(xiàn)——噪聲串?dāng)_上去了有效信噪比下來極限速率就撐不住千兆了。2.3 編碼與調(diào)制0和1怎么變成信號物理層最核心的工程問題之一怎么用物理信號表示0和1。這不是隨便定個高低電平就完事不同的編碼方式直接影響同步能力、直流分量、抗干擾能力。常見的編碼方式有這么幾種不歸零編碼NRZ高電平表示1低電平表示0電平不回到零。簡單但有個致命問題——如果連續(xù)發(fā)送多個相同的比特接收端無法從信號本身判斷比特邊界時鐘容易失步。曼徹斯特編碼每個比特周期中間都有一次電平跳變跳變既作為時鐘同步信號又作為數(shù)據(jù)信號。比如從高到低表示0從低到高表示1或者反過來。以太網(wǎng)早期就用這個。優(yōu)點(diǎn)是自帶同步缺點(diǎn)是編碼效率只有50%因為每個比特需要兩個信號周期。差分曼徹斯特編碼比曼徹斯特更進(jìn)一步用比特周期開始處有沒有跳變來表示數(shù)據(jù)中間的跳變只用于同步??垢蓴_能力更強(qiáng)令牌環(huán)網(wǎng)用的就是這個。4B/5B編碼每4個比特映射成5個比特保證不會出現(xiàn)連續(xù)太多的0。百兆以太網(wǎng)用的就是這個編碼效率80%。8B/10B編碼千兆以太網(wǎng)和很多高速串行接口用的每8比特映射成10比特效率80%但能保證直流平衡和足夠的跳變。調(diào)制方面常見的有幅移鍵控ASK、頻移鍵控FSK、相移鍵控PSK以及它們的組合如正交幅度調(diào)制QAM。QAM在WiFi和有線電視里用得很多因為它能在一個碼元里塞進(jìn)更多比特。實操心得如果你在調(diào)試串口通信發(fā)現(xiàn)數(shù)據(jù)偶爾出錯但波特率看起來沒錯先檢查是不是連續(xù)發(fā)送了太多相同比特導(dǎo)致接收端時鐘漂移。串口通信通常用起始位和停止位來強(qiáng)制同步但如果晶振精度不夠長幀還是會出問題。3. 傳輸介質(zhì)網(wǎng)線、光纖和無線3.1 雙絞線最熟悉也最容易踩坑雙絞線是大多數(shù)人接觸最多的傳輸介質(zhì)。為什么叫“雙絞”因為兩根線絞在一起能有效抵消外部的電磁干擾。絞距每絞一圈的長度越短抗干擾能力越強(qiáng)但信號衰減也越大。雙絞線分屏蔽STP和非屏蔽UTP。STP外面有一層金屬屏蔽層抗干擾更強(qiáng)但成本高、施工麻煩而且屏蔽層必須良好接地否則反而變成天線引入干擾。我見過一個機(jī)房用了STP網(wǎng)線但屏蔽層沒接地結(jié)果比UTP還差。類別方面從Cat3到Cat8每一代支持的頻率和速率不同類別支持頻率典型速率最大距離Cat5100MHz100Mbps100mCat5e100MHz1Gbps100mCat6250MHz1Gbps/10Gbps100m/55mCat6a500MHz10Gbps100mCat7600MHz10Gbps100mCat82000MHz40Gbps30m注意Cat6跑10Gbps只能到55米Cat6a才能到100米。這個距離限制不是隨便定的是信號衰減和串?dāng)_的綜合結(jié)果。線序是另一個容易踩坑的地方。T568A和T568B兩種標(biāo)準(zhǔn)區(qū)別就是橙綠線對的位置互換。直通線兩端用同一標(biāo)準(zhǔn)交叉線兩端用不同標(biāo)準(zhǔn)?,F(xiàn)在設(shè)備大多支持自動翻轉(zhuǎn)Auto-MDIX交叉線用得少了但考試和某些老設(shè)備上還是會遇到。注意事項壓水晶頭的時候剝線長度不要超過13mm太長會導(dǎo)致近端串?dāng)_超標(biāo)。壓完后一定要用測線儀測不光是看通斷還要看線序?qū)Σ粚ΑN乙娺^有人壓了根線1-2和3-6線對搞反了百兆能跑但千兆死活協(xié)商不上。3.2 光纖速度快但脾氣也大光纖分單模和多模。單模纖芯細(xì)9微米左右只允許一種模式的光傳播沒有模間色散傳輸距離遠(yuǎn)但光源要用激光器成本高。多模纖芯粗50或62.5微米多種模式同時傳播會有模間色散距離短但光源可以用LED或VCSEL成本低。多模光纖又分OM1到OM5OM1和OM2是62.5/50微米的老型號OM3以后是50微米優(yōu)化過的支持更高速率更遠(yuǎn)距離。現(xiàn)在新建機(jī)房基本都用OM4或OM5。光纖連接器也有一堆類型LC、SC、ST、FC、MPO。LC小巧現(xiàn)在最常用SC是方形的老設(shè)備多MPO是高密度多芯連接器數(shù)據(jù)中心用得多。光纖最大的坑是清潔。端面有一?;覊m光信號就可能嚴(yán)重衰減甚至反射。我見過一個案例某機(jī)房新布的光纖鏈路測試衰減超標(biāo)查了半天發(fā)現(xiàn)是連接器端面有個指紋。用專用清潔筆擦一下就好了。所以光纖跳線插拔前一定要清潔別用手摸端面。3.3 無線介質(zhì)看不見但同樣有規(guī)矩?zé)o線傳輸用電磁波頻段從無線電到紅外到可見光。WiFi用的是2.4GHz和5GHz頻段還有現(xiàn)在的6GHz。2.4GHz穿墻好但干擾多5GHz速度快但穿墻差這是物理特性決定的不是廠商能改變的。無線通信的一個核心問題是頻譜資源有限。2.4GHz頻段只有13個信道不同國家略有差異而且互相重疊實際不重疊的只有1、6、11三個。所以你在密集公寓樓里WiFi卡不一定是路由器不行而是頻譜被鄰居占滿了。4. 物理層設(shè)備與實操要點(diǎn)4.1 中繼器和集線器簡單但有用中繼器工作在物理層功能就一個把衰減的信號放大整形再轉(zhuǎn)發(fā)。它不理解幀、不理解MAC地址只管信號。所以中繼器兩端的網(wǎng)段屬于同一個沖突域。集線器本質(zhì)是多端口中繼器一個口收到信號就向所有其他口轉(zhuǎn)發(fā)。這意味著所有連在集線器上的設(shè)備共享帶寬而且處于同一個沖突域。現(xiàn)在集線器基本被交換機(jī)取代了但理解它的工作原理對理解沖突域和廣播域很有幫助。實操心得如果你手頭只有集線器沒有交換機(jī)可以用它做網(wǎng)絡(luò)抓包。因為集線器會向所有口轉(zhuǎn)發(fā)你把抓包設(shè)備插上去就能看到所有流量。交換機(jī)就不行需要配置端口鏡像。當(dāng)然這只是應(yīng)急手段正式環(huán)境別這么干。4.2 調(diào)制解調(diào)器數(shù)字和模擬的橋梁調(diào)制解調(diào)器Modem的功能是調(diào)制和解調(diào)。調(diào)制是把數(shù)字信號轉(zhuǎn)換成適合在模擬信道上傳輸?shù)哪M信號解調(diào)是反過來。傳統(tǒng)電話線上網(wǎng)用的就是Modem因為電話線是模擬信道只能傳模擬信號?,F(xiàn)在光纖入戶用的光貓ONU本質(zhì)上也是一種Modem只不過它調(diào)制的是光信號。光貓把電信號轉(zhuǎn)換成光信號送上光纖再把光纖來的光信號轉(zhuǎn)換成電信號給路由器。4.3 實操用網(wǎng)線測試儀排查物理層故障物理層故障排查最常用的工具就是網(wǎng)線測試儀。但很多人只會看“通不通”其實它能提供更多信息。第一步測線序。把網(wǎng)線兩端分別插上測試儀的主機(jī)和遠(yuǎn)端看指示燈亮起的順序。直通線應(yīng)該是1-2-3-4-5-6-7-8依次亮交叉線是1-3、2-6對調(diào)。如果順序亂了說明水晶頭壓錯了。第二步測長度。好一點(diǎn)的測試儀能測網(wǎng)線長度基于時域反射TDR原理。如果測出來長度異常短可能是中間有斷點(diǎn)如果異常長可能是短路或者阻抗不匹配。第三步測衰減和串?dāng)_。專業(yè)測試儀比如福祿克能測插入損耗、近端串?dāng)_、回波損耗等參數(shù)。這些參數(shù)超標(biāo)網(wǎng)線可能能通但跑不了高速率。我踩過的一個坑有根網(wǎng)線測線序正常但千兆協(xié)商不上。后來用專業(yè)測試儀一測回波損耗超標(biāo)原因是水晶頭壓得不好線對絞距在接頭處被破壞太多。重新壓了一個頭就好了。5. 常見問題與排查技巧5.1 物理層故障速查表現(xiàn)象可能原因排查方法網(wǎng)口燈不亮網(wǎng)線斷、接口壞、設(shè)備沒供電換線、換口、測電壓能通但丟包嚴(yán)重線序錯、串?dāng)_大、距離超限測線序、測長度、換Cat6千兆協(xié)商不上線序錯、線對絞距破壞、網(wǎng)線質(zhì)量差檢查水晶頭、換線光纖鏈路衰減大端面臟、彎曲半徑過小、連接器沒插緊清潔端面、檢查彎曲無線信號差信道擁堵、距離遠(yuǎn)、遮擋多換信道、加AP、調(diào)整位置串口通信亂碼波特率不匹配、晶振精度差核對波特率、換晶振5.2 獨(dú)家避坑技巧技巧一網(wǎng)線不要和電源線平行走。電源線有50Hz工頻干擾雖然雙絞線有抗干擾能力但長距離平行走線還是會引入噪聲。如果必須交叉盡量垂直交叉。技巧二光纖彎曲半徑不要小于線纜直徑的10倍。彎太狠會導(dǎo)致光信號從包層泄漏出去衰減急劇增加。我見過有人把光纖跳線用扎帶勒得死死的結(jié)果鏈路時通時斷。技巧三水晶頭壓完后拉一下。輕輕拉一下網(wǎng)線看會不會從水晶頭里脫出來。壓得好的水晶頭卡扣會緊緊咬住外皮拉不出來。如果一拉就出來說明壓線鉗沒壓到位。技巧四用測線儀測長距離網(wǎng)線時注意遠(yuǎn)端匹配。如果遠(yuǎn)端不接任何設(shè)備TDR測出來的長度可能不準(zhǔn)因為開路會產(chǎn)生反射。最好在遠(yuǎn)端接一個匹配負(fù)載。技巧五無線AP的位置比數(shù)量重要。很多人WiFi信號差就加AP結(jié)果AP之間互相干擾越加越差。正確的做法是先調(diào)整主AP位置盡量放在使用區(qū)域中心減少遮擋再考慮加AP。5.3 一個真實的排查案例某辦公室反映網(wǎng)絡(luò)時斷時續(xù)尤其是下午。我先檢查了交換機(jī)端口沒有報錯。然后用網(wǎng)線測試儀測了從交換機(jī)到工位的網(wǎng)線線序正常長度約60米也在范圍內(nèi)。接著我注意到網(wǎng)線走的是天花板上面和空調(diào)電源線綁在一起。下午空調(diào)開得多干擾就嚴(yán)重。我把網(wǎng)線解開重新走了一條路徑遠(yuǎn)離電源線問題就解決了。這個案例說明物理層故障不一定是線本身壞了環(huán)境因素也很關(guān)鍵。排查的時候要綜合考慮布線路徑、附近干擾源、溫度濕度等因素。6. 物理層知識在實際工作中的價值6.1 為什么運(yùn)維和開發(fā)都需要懂物理層很多人覺得物理層是硬件工程師的事軟件和運(yùn)維不用管。但實際工作中物理層問題經(jīng)常偽裝成上層問題。比如應(yīng)用層超時可能是物理層丟包導(dǎo)致的網(wǎng)絡(luò)時延大可能是光纖衰減或者無線干擾。我做過一個項目應(yīng)用日志顯示數(shù)據(jù)庫連接偶爾超時DBA查了半天數(shù)據(jù)庫沒問題網(wǎng)絡(luò)組查了路由和防火墻也沒問題。最后發(fā)現(xiàn)是機(jī)房到機(jī)柜的一根網(wǎng)線水晶頭松了接觸不良導(dǎo)致偶發(fā)丟包。如果一開始就從物理層查起能省好幾天時間。6.2 物理層知識在考證中的位置如果你在準(zhǔn)備網(wǎng)絡(luò)相關(guān)的認(rèn)證考試物理層是必考內(nèi)容。但考試往往側(cè)重概念和計算比如給帶寬和信噪比算極限速率或者判斷某種編碼方式的效率。這些計算題不難關(guān)鍵是把公式理解透知道每個參數(shù)的含義。奈奎斯特和香農(nóng)這兩個公式考試經(jīng)??肌S涀∫稽c(diǎn)奈奎斯特針對無噪聲香農(nóng)針對有噪聲。題目里出現(xiàn)“信噪比”就用香農(nóng)出現(xiàn)“電平數(shù)”就用奈奎斯特。6.3 后續(xù)學(xué)習(xí)方向物理層往下走可以深入信號完整性和電磁兼容這是硬件工程師的領(lǐng)域。往上走可以學(xué)數(shù)據(jù)鏈路層理解幀、MAC地址、交換機(jī)工作原理。物理層是基礎(chǔ)但單獨(dú)學(xué)它意義不大要和上下層結(jié)合起來理解。如果你想動手實踐可以買一套網(wǎng)線制作工具和測線儀自己壓幾根網(wǎng)線測一測不同類別、不同長度的網(wǎng)線性能差異。這種動手經(jīng)驗比看書印象深刻得多。我個人在實際操作中的體會是物理層的問題往往是最容易被忽視的因為大家習(xí)慣性地往上層找原因。但網(wǎng)絡(luò)故障排查有個基本原則從底層往上查。先確認(rèn)物理層沒問題再查數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層一層層往上效率最高。反過來如果一上來就懷疑應(yīng)用層很可能繞一大圈才發(fā)現(xiàn)是根網(wǎng)線的事。