


在平時管理、維護網絡的時候,常常會碰到形形式式的網絡問題,要想高效解決好這類問題,必須對各類容易發生的問題,勤于思考、善于總結,那么日后遇到類似網絡故障時,就能快速將問題解決好了。本文下面就從通信協議出發,來總結一些網絡問題的排查經驗,希望大家能從中得到幫助!
排除協議錯誤
有一則很奇怪的網絡問題,本地連接能正常發送、接受信息包,但無法上網訪問內容。對故障客戶端系統的網卡指定燈狀態進行檢查時,看到網卡設備的指示燈盡管處于點亮狀態,不過很長時間始終不閃爍,而指示燈不閃爍,就意味著網卡設備不存在數據交換行為。會不會是上網線路存在故障呢?網管員立即通過專業工具,來對物理線路連通性進行測試,看到物理線路的連通性很正常。之后,網管員又對TCP/IP參數、IE瀏覽器設置進行依次檢查,看到都很正常,那故障客戶端系統為什么無法正常上網呢?在毫無頭緒的情況下,網管員只好上網咨詢相關網絡問題答案,偶然之中,看到計算機系統的Winsock設置不正確時,容易引起客戶端系統發生各種隱性網絡錯誤,這些錯誤經常會造成系統上網故障。所以,在嘗試多半方法無法解決上網不正常故障時,不妨考慮對系統的Winsock設置進行恢復,或許將Winsock設置恢復到默認狀態后,各種隱性的網絡問題就能立即消失了,到時不能上網故障也就自動消失了,下面就是將Winsock設置恢復到默認狀態的具體實現步驟:
首先依次選擇“開始”|“運行”命令,切換到系統運行對話框,在其中執行“cmd”字符串命令,彈出系統MS-DOS工作窗口。在該窗口命令提示符下,輸入“netsh winsock reset”字符串命令,確認后返回如圖1所示的結果信息,本地系統的Winsock設置就能自動恢復到默認狀態了,再重新啟動一下Windows系統。等到系統啟動穩定后,重新進行上網訪問測試操作,相信之前發生的網絡問題已經自動解決了。
修改協議端口
大家知道,善于使用Windows系統自帶的Telnet協議功能,可以對網絡中的重要主機進行遠程管理,從而能有效提高網絡管理效率。然而,該協議在進行遠程管理工作時,會使用眾人皆知的23端口,而該協議端口很容易被惡意用戶偷偷利用,有可能給網絡管理工作帶來安全麻煩。此外,Telnet協議在工作時,會以明文形式傳輸內容,通過這種方式傳輸的內容很容易被惡意用戶竊聽或攔截,那怎樣才能確保Telnet協議的使用安全呢?
首先需要修改Telnet協議的端口號碼,讓別人不容易知道。可以逐一點擊“開始”|“運行”選項,彈出系統運行對話框,輸入“cmd”命令,單擊“確定”按鈕后,彈出MS-DOS工作窗口。在該窗口命令行提示符下,輸入“tlntadmn config port=1001”命令(其中“1001”為新的協議端口號碼),如圖2所示,單擊回車鍵后,就能將本地計算機的Telnet協議端口號碼修改為“1001”了。當然,新開啟的協議端口號碼不能和本地計算機中已啟用的端口號碼一致,否則Telnet協議將無法正常工作。日后,當別人要使用Telnet協議與本地系統建立遠程連接時,必須在本地計算機名稱后面加上“:1001”,才能保證Telnet連接創建成功。
其次在安全性要求較高的場合下,盡量使用SSH協議連接代替Telnet協議連接。因為SSH協議默認以非明文方式傳輸數據,惡意用戶即使采取技術措施,中途竊取到了傳輸的數據內容,也無法訪問到其中的信息。
停用NetBios協議
在局域網工作環境中訪問共享資源時,有可能會遭遇這么一則十分奇怪的故障現象,那就是本次訪問共享資源是正常的,不過重啟計算機系統后,共享訪問就失敗了,再次重啟計算機時,共享資源又能順利訪問了,為什么會發生這種蹊蹺的故障現象呢,又該怎樣避免如此奇怪的故障現象呢?
在排除上網線路不穩定因素外,必須檢查故障計算機系統的NetBios協議狀態,因為共享訪問操作能通過兩種協議模式來進行,一是Direct hosting協議模式,二是NetBios協議模式。如果共享訪問處于Direct hosting協議模式狀態時,局域網中的計算機相互之間能直接進行共享文件傳輸操作,而共享訪問如果工作在NetBios協議模式狀態時,本地計算機需要通過137網絡端口來解析對方計算機名稱,通過138端口號碼來傳遞通信數據包,通過139端口號碼來傳輸特定的共享文件。WinXP以上版本系統,在缺省狀態下,會強制共享訪問操作以Direct hosting協議模式工作,以提高共享訪問速度,不過它也將NetBios協議模式同時集成在其中了。當我們將共享訪問設置成NetBios協議模式時,Windows系統會智能調用綁定在網卡設備上的第一個IP地址,要是該IP地址與遠程共享主機的IP地址不處于相同工作子網時,自然就會發生共享訪問失敗的故障。而且每次啟動計算機系統后,Windows系統會隨機選用協議模式,這樣就會發生上面的蹊蹺故障了。
為了避免上面的故障現象,我們可以進行如下設置操作,來停用NetBios協議,以保證Windows系統每次都使用Direct hosting協議模式,來訪問局域網中的共享資源:首先依次點擊“開始”|“設置”|“網絡連接”命令,彈出網絡連接列表窗口,用鼠標右鍵單擊“本地連接”圖標,執行右鍵菜單中的“屬性”命令,切換到本地連接屬性對話框,在該對話框的常規標簽頁面中,選中TCP/IP協議選項,按下“屬性”按鈕,進入TCP/IP協議屬性設置界面。
其次按下“高級”按鈕,切換到TCP/IP協議高級屬性對話框,用鼠標點選“WINS”標簽,彈出如圖3所示的標簽設置頁面,在“NetBios設置”處,看看TCP/IP協議上的NetBios工作模式有沒有被選中,如果看到該模式已經被正常選中時,應該及時改選“禁用TCP/IP上的NetBios”功能選項,確認后保存設置對話框。日后,本地計算機系統通過網絡訪問共享資源時,就會一直通過Direct hosting協議模式來工作,那么共享訪問就能始終穩定了。
重置協議狀態
在低版本操作系統中,上網下載資源時,速度或許不會很理想,這可能是低版本操作系統默認限制了TCP/IP上網連接數。為了盡可能地加快下載速度,不少用戶都會及時更新Windows XP SP3補丁程序,并安裝可以調整TCP/IP上網連接數的補丁程序,確保能夠調整TCP/IP上網連接數量。不過,在成功安裝好有關補丁程序,并重新啟動計算機系統后,再次進行上網連接時,有時會發生不能上網訪問的故障,該故障與平時發生的無法上網故障幾乎完全相同,要是用戶不清楚故障原因時,很容易在故障排查過程中多走彎路。
事實上,在成功安裝好相關補丁程序后,計算機之所以會上網不正常,多半是Windows系統的TCP/IP協議被損壞,引起了對應通信協議不能正常處理數據信號。而且,一旦TCP/IP協議文件被意外損壞時,可能會存在如下不正常現象:無法查看本地連接狀態信息,通過ping命令判斷127.0.0.1地址連通性時,會發生“unable to contact IP driver”之類的錯誤,利用“ipconfig /all”命令,查看本地計算機的上網參數時,系統也會返回“an internal error occurred”之類的提示內容。所以,當計算機系統遇到無法訪問網絡故障時,不妨進行上面的檢查、測試,要是確認在無法上網的時候,同時有上述現象出現,那就意味著TCP/IP協議文件可能受到了補丁安裝操作的破壞。此時,可以進行如下設置操作,來快速重裝TCP/IP協議,再正確定義好上網配置,就能恢復網絡連接訪問了:
首先逐一選擇“開始”|“控制面板”|“網絡和共享中心”|“管理網絡連接”選項,切換到網絡連接列表界面,找到本地連接圖標并用鼠標右擊之,執行快捷菜單中的“屬性”命令,彈出本地連接屬性對話框。在該對話框的“常規”設置頁面中,將TCP/IP協議選中,并按下如圖4所示界面中的“卸載”按鈕,將可能受損的TCP/IP協議成功卸載掉。
接著重新啟動計算機系統,再次進入本地連接屬性對話框,點擊“添加”按鈕,重新安裝一遍TCP/IP協議,并為TCP/IP協議配置好合適的工作參數,相信這時網絡故障就能被解決了。如果TCP/IP協議在重新安裝后,還無法讓網絡訪問恢復正常時,那多半是故障計算機系統中的“tcpip.sys”文件被破壞或刪除了。這個時候,我們不妨從網絡中另找一臺上網正常的計算機,展開“Windows\system32\drivers”文件夾窗口,利用優盤將正常的“tcpip.sys”文件,復制粘貼到故障計算機的相同文件夾中,之后重啟故障計算機系統,這樣就能恢復TCP/IP協議的工作狀態了。
取消協議綁定
如果計算機只用來訪問Internet網絡,那么讓網卡只綁定一個TCP/IPv4協議就足夠了,其他的通信協議都是多余的。不過,在缺省狀態下,Windows系統會將許多通信協議集中綁定在網卡設備上,這樣會造成網卡設備在處理數據信息時“分神”,從而容易降低網絡傳輸速度。為了改善網絡訪問速度,我們可以將綁定在網卡設備上的無關協議取消掉,讓網卡全力以赴地傳輸數據,下面就是具體的操作步驟:
首先用鼠標右鍵單擊系統托盤區域處的網絡連接圖標,點擊快捷菜單中的“網絡和共享中心”圖標,進入網絡和共享中心窗口,按下“管理網絡連接”按鈕,在其后出現的網絡連接列表界面中,右擊本地連接圖標,執行快捷菜單中的“屬性”命令,進入本地連接屬性對話框,如圖5所示。
在這里,我們看到Windows系統默認綁定了很多無關的協議或組件在網卡設備上,它們在上網訪問過程中根本沒有任何作用,反而還會影響網卡設備的工作,最終造成上網訪問速度緩慢。例如,Vista以上版本系統,默認會將TCP/IPv6協議綁定在網卡設備上,當計算機上網訪問時,Windows系統會優先使用TCP/IPv6協議建立上網連接,當無法找到有效的TCP/IPv6網絡連接時,才會使用TCP/IPv4協議重新創建連接,這樣上網訪問操作自然會多走彎路,從而影響網絡訪問速度。所以,我們可以取消選中這里的“Internet Protocol Version6 (TCP/IPv6)”選項,禁止TCP/IPv6協議干擾上網訪問速度。同時,可以取消選中“QoS Packet Scheduler”選項、“Link-Layer Topology Discovery Responder”選項等,以減輕網卡設備的工作“壓力”。當然,如果本地計算機不需要與局域網中的其他計算機共享交流時,還能取消選中“File and Printer Sharing for Microsoft Net…”選項。
保證協議穩定
在安裝了新版本操作系統的計算機中,通過網絡傳輸或下載一些容量較大的數據信息時,會發現數據信息傳輸或下載速度明顯不正常,而低版本操作系統通過同樣的網絡,傳輸或下載相同的數據信息時,速度卻很正常,那么為什么會發生如此蹊蹺的網絡故障呢,我們該如何來進行應對呢?
正常情況下,引起網絡傳輸或下載速度不快的原因,主要有網絡傳輸通道堵塞、上網配置不正確、病毒木馬程序搗亂等方面,在對這些細節進行逐一排查后,要是還不能提高網絡傳輸或下載速度時,那多半是新版本系統意外關閉了TCP/IP協議的自動調諧功能,因為該功能會影響大塊頭文件的傳輸性能。這個時候,不妨進行如下設置操作,來臨時停用TCP/IP協議的自動調諧功能,以保證協議的工作穩定性:
首先以系統管理員身份登錄新版本操作系統,例如登錄進入Windows 7系統,逐一選擇“開始”|“程序”|“附件”|“命令提示符”選項,并用鼠標右擊“命令提示符”命令,點擊快捷菜單中的“以管理員身份運行”選項,切換到MS-DOS命令行界面。
其次在該工作界面的命令提示符下,輸入字符串命令“netsh int tcp set global autotuninglevel=disable”,單擊回車鍵,返回如圖6所示的結果信息,這就表明已經成功關閉了TCP/IP協議的自動調諧功能,之后,再嘗試傳輸或下載容量較大的數據信息時,傳輸速度或許就能加快了。