Cisco
為什麼我的交換機和路由器之間的鏈路總是協商半雙工模式?
我有一台 Cisco 2950 交換機,它的一個埠連接到我的 ISP 提供的 Internet 路由器;我無權訪問路由器配置,但我管理交換機。
如果我將所有交換機埠保留為預設設置(速度和雙工模式的自動協商),則此連結始終以 100 MBit/s 的速度連接,但處於半雙工模式。
我嘗試更換電纜,並將連結移至另一個交換機埠:結果始終相同。連接到同一埠(或任何交換機埠,實際上)的不同設備根本沒有問題。
可以猜到有人將路由器配置為僅以半雙工模式連接……但是,這裡有一個問題:如果我手動強制交換機埠為全雙工模式(
duplex full
在介面配置中),連結就會上升,保持並完全穩定。所以:
- 路由器不會強制連接為半雙工模式,否則如果我將交換機端強制為全雙工,它將根本無法連接。
- 沒有實際的鏈路問題,否則全雙工連接將不會建立或至少會顯示一些錯誤。
- 但是如果我讓埠自由進行自動協商,它總是以半雙工模式連接。
為什麼?
路由器可能設置為全雙工或半雙工。當一台設備(您的路由器)被迫全滿或減半時,它會完全停止嘗試協商雙工。它甚至不會告訴對方它的設置是什麼。
當其他設備(您的交換機)沒有得到對其協商嘗試的響應時,它會採用預設的最安全的選擇,即半雙工。
千兆乙太網解決了這個問題,因為它不允許全雙工以外的任何東西。
除了 longneck 提供的答案之外,我還想從戴爾關於自動協商的文件中添加這個簡介:
非自動協商 100BaseT 設備和自動協商設備之間的通信遵循以下步驟:
- DTE 在鏈路故障模式下上電並發送 FLP。
- 100BaseTX 鏈路夥伴上電並發送空閒符號。
- DTE 並行檢測功能檢測空閒符號,繞過自動協商功能,將控制權交給 100BaseTX PMA,然後發送空閒。
- 以 100 Mbps 半雙工建立鏈路。
此圖顯示了可能的連結狀態: