網絡問題裏有一類特別耗時間:現象是間歇性的,壓力測試測不出來,在軟件層怎麼查都查不到根因。
這一類問題,大概率在物理層。
物理層排查的好消息是:順序是固定的,而且從最便宜的件開始。
一、光模塊插上去,端口不亮
現象:光模塊插進去,端口不亮,或者亮了但協商不上預期速率。
最常見的原因:廠商編碼校驗。不少交換機和網絡卡會讀取光模塊 EEPROM 裏的廠商資訊,不在白名單上的直接拒絕。這是廠商的商業策略,不是技術缺陷,所以「模塊本身是好的」和「這台設備認不認」是兩個獨立的問題。
其他三個原因:
- 波長不匹配:850nm(多模)、1310nm、1550nm(單模)對不上,光進不去
- 模式不匹配:單模模塊配多模光纖,或者反過來
- 速率不匹配:兩端模塊速率不一致,協商不上
怎麼做:按設備的官方支持列表選型,或者選可改編碼的兼容模塊。採購時把編碼、波長、模式、速率、傳輸距離都寫清楚,不要只寫「萬兆光模塊」。
提醒:這類故障看起來像網絡卡壞了,其實網絡卡一點事沒有。在換網絡卡之前,先換一個確定兼容的模塊試試——成本差幾十倍。
二、萬兆口只跑出千兆
現象:鏈路是通的,但速率停在低檔。
三個原因,按排查順序:
- 自協商失敗。兩端只能退到共同支持的最低速率。 先看兩端的協商狀態——多數交換機和網絡卡都能顯示「協商結果」和「本端能力」。
- 線纜等級不夠或模塊不匹配。銅纜的類別、DAC 線的長度、 光模塊與對端的匹配,任何一項不達標都會掉檔。
- 驅動或固件版本過舊,不支持該速率模式。這一條在新換的網絡卡上尤其常見—— 卡是新的,驅動是系統自帶的老版本。
順序:先看兩端協商狀態(不花錢),再換線換模塊(花小錢),最後才懷疑網絡卡(花大錢)。
換件之前先排除配置,這一句能省下不少冤枉錢。
三、丟包查了三天,最後是一根線
現象:偶發丟包和重傳,業務時快時慢;做壓力測試的時候又測不出來。
這是最耗人的一類。原因往往極其樸素:
- 接觸不良:接頭沒插到位,或者長期震動後鬆動
- 線纜彎折半徑過小:光纖尤其敏感,超過最小彎曲半徑就會有衰減
- 光纖端面髒污:指紋、灰塵,在萬兆以上速率下足以造成誤碼
- 線纜老化:長期在高温或紫外環境下的跳線
怎麼確認是物理層:看端口的 CRC 錯誤計數和誤碼計數。
關鍵在於看增量:清零之後觀察一段時間,如果計數在穩定累加,那就是物理層問題,不用再在軟件層查了。這一步能直接省掉幾天。
處理順序(從便宜到貴):
- 清潔光纖端面,重新插拔(免費,而且經常有效)
- 換跳線(幾十塊)
- 換光模塊(幾百塊)
- 換網絡卡或換交換機端口(幾千塊起)
跳線和模塊便宜,先試它們。絕大多數偶發丟包在前兩步就解決了。
排查順序總表
| 現象 | 先看 | 再看 | 最後才 |
|---|---|---|---|
| 端口不亮 | 模塊兼容性、波長/模式 | 換一個已知兼容的模塊 | 懷疑網絡卡/端口 |
| 速率降檔 | 兩端協商狀態 | 線纜等級、模塊匹配 | 驅動固件版本 |
| 偶發丟包 | CRC/誤碼計數增量 | 清潔端面、換跳線 | 換模塊、換卡 |
| 完全不通 | 兩端配置、VLAN | 物理鏈路、光功率 | 換件 |
一條通用原則:物理層的問題,在軟件層怎麼查都查不出來。所以在花三天讀日誌之前,先花三分鐘看一眼 CRC 計數。
關於零件
光模塊的編碼、波長、速率、傳輸距離都要對上,我們的料號庫對每個模塊料號記錄這幾項以及適配的設備型號。
網絡卡、光模塊、跳線這類件多為倉庫常備,可以在零件料號速查裏按品牌或料號搜。查不到的把清單發過來人工核。
本文描述的是這類設備的常見故障模式,不是某一台機器的具體案例。
