最近,單位局域網(wǎng)中不斷有用戶反映,他們的終端無法登錄文件服務器,即使勉強能夠登錄,上網(wǎng)速度也是十分緩慢。執(zhí)行“cmd”命令,切換到DOS命令行工作窗口,輸入“ipconfig/all”命令并回車,從返回的如圖1所示結(jié)果中,看到終端計算機無法從局域網(wǎng)的DHCP服務器那里自動獲得IP地址,而只能獲得Windows系統(tǒng)自動分配的169.254.14.176地址。
圖1 終端無法自動獲取IP地址
很顯然,終端無法從DHCP服務器那里自動獲取IP地址,是用戶無法上網(wǎng)訪問的原因。擔心交換機工作時間長了以后,會出現(xiàn)緩存溢出之類的錯誤,于是趕到交換機現(xiàn)場,重新啟動了一下該設(shè)備的后臺系統(tǒng),交換機信號燈顯示狀態(tài)正常,那么只有寬帶路由器可能有問題了。
既然終端無法自動獲得IP地址,那問題肯定與路由器中的DHCP服務器有關(guān)。在排查DHCP服務器之前,筆者上網(wǎng)查詢了相關(guān)資料,弄清楚了DHCP服務器工作原理。當終端初次登錄連接單位網(wǎng)絡(luò)的時候,它會自動向局域網(wǎng)發(fā)送一個DHCP Discover封裝數(shù)據(jù)包,由于終端還不清楚自己究竟屬于哪一個工作子網(wǎng),所以DHCP Discover封裝數(shù)據(jù)包的源始地址會被寫成“0.0.0.0”,而目的地址會被寫成“255.255.255.255”,再附加上DHCP申請信息,以廣播形式向整個網(wǎng)絡(luò)發(fā)送。
默認狀態(tài)下,Windows系統(tǒng)會將DHCP Discover封裝數(shù)據(jù)包的等待響應時間預先設(shè)定為1秒,在1秒之內(nèi)沒有接收到響應時,就會向網(wǎng)絡(luò)繼續(xù)發(fā)送第二次DHCP Discover封裝數(shù)據(jù)包廣播信息……終端會持續(xù)向網(wǎng)絡(luò)發(fā)送四次DHCP Discover封裝數(shù)據(jù)包廣播信息(其中后面三次的等待時間依次是9秒、13秒、16秒),如果沒有收到局域網(wǎng)DHCP服務器的響應時,終端就會自動提示出錯,證實動態(tài)地址申請失敗。之后,終端會在5分鐘后,繼續(xù)重復向網(wǎng)絡(luò)發(fā)送DHCP Discover封裝數(shù)據(jù)包。當DHCP服務器接收到終端的申請信息后,會及時向終端發(fā)送應答數(shù)據(jù)包。一旦終端機收到應答數(shù)據(jù)包后,就能使用DHCP服務器分配的IP地址進行上網(wǎng)訪問了。
從原理來看,終端機不能獲得動態(tài)IP地址,很可能是DHCP服務器沒有對申請及時響應,也有可能是DHCP服務器雖然進行了及時響應,但是終端機由于網(wǎng)絡(luò)連接原因,沒有接收到應答數(shù)據(jù)包。使用網(wǎng)絡(luò)線纜測試工具,對故障的物理線纜連通性進行了測試,發(fā)現(xiàn)連通性很正常,問題應該出在DHCP服務器自身。
以系統(tǒng)管理員權(quán)限登錄局域網(wǎng)路由器后臺系統(tǒng),發(fā)現(xiàn)登錄速度異常緩慢。使用筆記本電腦通過Console控制線直接連接到路由器的控制端口上,發(fā)現(xiàn)CPU使用率竟然達80%以上,按理來說,該數(shù)值應該在20%左右,很明顯路由器在超負荷工作,這就造成了DHCP服務器無法及時響應終端機的地址申請。
于是,筆者停用了路由器自帶的DHCP服務器功能,另外部署了一臺專門的DHCP服務器,讓路由器和DHCP服務器各司其職,從而避免了路由器運行負荷過重的現(xiàn)象。