最近單位決定升級網絡設備,原來所采用的均為3Com交換機,所有計算機被劃歸到了兩個VLAN中,除部分計算機采用固定IP外,其他計算機均通過一臺DHCP服務器獲得地址。實施網絡升級后,網絡中心路由器不變,大部分接入級交換機更換為Cisco Catayst 3550或Cisco Catayst 2950,但是升級后出現了以下情況:部分計算機剛啟動或重啟時不能獲得IP地址,但在手動設定后又可獲得IP地址。
通過觀察,筆者發現只有使用Windows 98的計算機才會出現這種情況,筆者認為可能是計算機感染了專門針對Windows 98的病毒,但是用諾頓和金山毒霸均未查出病毒,所以就排除了病毒的原因。
難道是DHCP服務器出了問題,再次對DHCP服務器進行檢查,確認DHCP服務器運行正常。經過仔細觀察,筆者發現只有Cisco交換機所連接的使用Windows 98的計算機出現此類問題,而使用Windows 2000或Windows XP的計算機卻沒有出現問題,而且在使用3Com交換機的時候,采用Windows 98的計算機都能正常工作。
筆者挑選出一臺Cisco Catayst3550-48交換機,仔細檢查它的配置、ARP表、Mac-Add表以及Log,沒有發現任何異常。筆者想到使用Windows 98的計算機也不是完全不能獲得IP地址,只是在開機時無法獲得,那么,可能就是在交換機端口初始化的時候出現了問題。
Cisco交換機的端口并不是連接上計算機就立即處于轉發狀態的,它有一個從Bloking(阻斷)、Listening(監聽)、Learning(學習)到Forwarding(轉發)狀態轉換的過程。那么,極有可能就是在這個過程中,Cisco交換機和Windows 98的網絡初始化發生了沖突。
如果讓Cisco交換機改變端口轉發方式,也就是讓它的端口一旦加電,就處于轉發狀態,應該就可以解決問題。于是筆者在Cisco Catayst 3550的端口配置中添加了配置語句“spanning-tree portfast”后便解決了這一問題。
看來,Windows 98的網絡啟動過程確實和Cisco交換機的生成樹協議有沖突,不過只是在采用DHCP的情況下才會表現出來,但是“spanning-tree portfast”命令只能用于交換機端口直連計算機的情況下,如果端口級聯其他交換機,這個命令會使生成樹協議運行出錯。在這種情況下,一般不需要進行其他配置,因為生成樹協議默認是在Cisco交換機上啟用的,當然也可以在Cisco接入層交換機端口加上“spanning-tree uplinkfast”命令,以減少它的收斂速度。