在對以太網(wǎng)網(wǎng)絡(luò)上的通信問題進(jìn)行故障排除時,Ping命令是最廣泛使用的診斷工具之一。這種受歡迎程度是因為每個人都知道如何使用命令,執(zhí)行起來非常簡單。
在對通信問題進(jìn)行故障排除時,我們在無法正常工作時聽到的最常見的一句話是“但我可以ping通”,就好像這一點應(yīng)該作為確切的證據(jù),證明一切都按預(yù)期工作,通信服務(wù)器選擇不通信。
本文介紹了一些關(guān)于Ping命令的常見誤解,特別是如何有效地使用它,什么時候它可能不是任務(wù)的最佳工具,以及Ping的更好的替代方案(提供實際上可操作的數(shù)據(jù))。
什么是Ping命令?
在命令提示符下鍵入ping 1.1.1.1會發(fā)生什么?
Ping旨在告訴用戶主機(jī)是否可以在IP網(wǎng)絡(luò)上訪問,并通過發(fā)送ICMP(Internet控制消息協(xié)議)回應(yīng)請求來執(zhí)行此操作,遠(yuǎn)程主機(jī)(我們正在ping的IP地址)將在收到時回顯。
雖然這無疑是有用的,但Ping命令在它告訴我們的內(nèi)容中也非常有限,因為ICMP位于IP協(xié)議之上(畢竟它是Internet控制消息協(xié)議)并且不需要像TCP或UDP這樣的傳輸協(xié)議。
為什么這很重要?
在Internet協(xié)議描述主機(jī)之間的通信的地方,傳輸協(xié)議(如TCP或UDP)描述了在這些主機(jī)上運(yùn)行的進(jìn)程之間的通信。如果沒有傳輸層,Ping命令將永遠(yuǎn)無法向我們提供有關(guān)遠(yuǎn)程主機(jī)的信息:
正在監(jiān)聽連接
有一個開放的接口
將接受我們流程的連接
甚至是我們想要與之溝通的合適主機(jī)
Ping命令只會告訴我們主機(jī)響應(yīng)指定IP地址的echo請求。
