有一個問題一直困擾著我,那就是當一臺電腦從它開機后到路由器自動給它分配一個IP地址,有時候在網絡圖標上會出現一個感嘆號,這個時候說明它沒有連接到互聯網上,當成功接入互聯網則會出現一個連接的圖標,那么問題來了,電腦自己是如何知道它是不是成功連接到互聯網上的?
想當初微軟公司在上海成立了亞太技術支持中心。支持工程師遇到最多的問題是:“電腦怎么無法上網”?
技術支持第一個問題:您好,請問您插網線了嗎?
對于知乎讀者來說,問這個問題是侮辱智商?墒窃20年前問這個問題太正常不過,因為那時懂網絡的人實在太稀有了。
如果客戶確實沒插網線,那么插入網線大概率就解決了客戶的問題。
如果客戶回答說:網線插好了。支持支持第二個問題是:“請問網口的燈亮了嗎?是什么顏色?”
如果燈沒亮或者燈的顏色不對,那么用戶只要重新將網線插好或者換一根網線大概率解決問題。
如果用戶說網口的燈是綠色的,技術支持會問第三個問題:“可以用ipconfig /all 看看您電腦的IP地址嗎?”
客戶電腦的IP地址如果是“169.x.x.x”,說明動態獲取IP地址失敗。
如果不是以上地址,技術支持還會問第四個問題:“請問您可以Ping通網關地址嗎?”
第五個問題:“請問可以將www.microsoft.com解析為IP地址嗎?”
微軟公司為了更好地服務于客戶,決定在新版的操作系統里硬編碼一些“技術支持”代碼。這些代碼的出現可以讓客戶不要再為“一些看起來很傻的問題”打技術支持的電話。
代碼其實很簡單:
1.如果可以成功Ping www.microsoft.com ,那么就告訴用戶“Internet Access”,意思是用戶可以上網了。
2.如果上述不成功,卻可以成功Ping 221.230.147.106(www.microsoft.com對應的IP),說明域名解析可能出問題了,那么告訴用戶“Internet Access Limited”。用戶需要檢查DNS有關的設置。
3.如果上述都不成功,卻可以成功Ping 網關的IP地址,那么告訴用戶“Connected, No Internet Access!”
4. 如果上述都不成功,那么就告訴用戶“Not Connected,No Internet Access!”
當然以上代碼解決不了所有的問題,往往會造成誤判,常見的誤判有:
由于Internet網絡短暫性擁堵,或者微軟服務器擁堵,造成1、2失敗,導致顯示“Connected, No Internet Access!”,用戶以為無法訪問網絡!其實是可以上網的。
一些公司采用本地HTTP代理上網,只有訪問Internet上的網站(HTTP傳輸)才經過代理。但是Ping包并不走代理,而公司不允許員工的Ping包離開公司。這樣就會造成1、2的失敗,從而顯示“Connected, No Internet Access!”,其實用戶是可以通過HTTP訪問互聯網的!
軟件代碼不是萬能的,只能解決一些簡單問題,卻無法解決更復雜的問題。比如MTU的問題、路由環路的問題、防火墻問題、非對稱路由問題等等,這樣才能彰顯工程師的重要性!
本文轉載自“車小胖談網絡”,如有侵權請聯系站長刪除
推薦閱讀:
深圳電信寬帶、重慶電信寬帶、昆明電信寬帶、貴陽電信寬帶、長沙電信寬帶、成都電信寬帶、廈門電信寬帶、上海電信寬帶、北京電信寬帶、呼和浩特電信寬帶、拉薩電信寬帶、石家莊電信寬帶、沈陽電信寬帶、長春電信寬帶、哈爾濱電信寬帶、濟南電信寬帶、合肥電信寬帶、杭州電信寬帶、武漢電信寬帶、福州電信寬帶、南昌電信寬帶、?陔娦艑拵、南京電信寬帶、南寧電信寬帶、貴陽電信寬帶、烏魯木齊電信寬帶、蘭州電信寬帶