2017-09-13 86 views
1

因此,作爲一個相當新的(出在這世界-工作)開發者,我並不陌生執行ping命令,因爲它是教給我的單,我已經在各個小任務我已經用它的概念之前遇到過。「淺」和「深」ping有什麼區別?

我的理解是確定是否有其他主機存在並在網絡上響應

我用Java實現(語言我在最舒服的)一些類似的代碼想要實現以下查驗時一個:

try { 
    String ip = "127.192.199.01"; 
    InetAddress inet = InetAddress.getByName(ip); 
    System.out.println("Send ping-request to: " + ip); 
    if (inet.isReachable(5000)){ 
     System.out.println(ip + " is reachable."); 
    } else { 
     System.out.println(ip + " NOT reachable."); 
    } 
} catch (Exception e) { 
    System.out.println("Exception:" + e.getMessage()); 
} 

但是我很新的的「淺概念'和'深'pinging這是我在我目前的工作場所遇到的事情。

到目前爲止,雖然我已經能夠弄清楚,深爆震基本上是關於測試的所有連接都還活着,同時通過儘可能多的一個webstack儘可能的測試功能工作。

得到來自:what is deep_ping

我的問題是:
什麼是一個淺平怎麼辦呢?
什麼是那麼淺,深平之間的主要區別(如果有的話)?

+0

我想你應該至少等一天才能接受答案。這可能會讓更多人訪問該問題,甚至會爲您提供更高質量的答案。 (此外,它可以給你更多的代表,副作用) – Shirkam

+2

@Shirkam阿哈,感謝您的提示。在這方面還是很新的,所以很感謝你指出了這一點。 不會接受至少一天 – RhythmNDev255

回答

1

這聽起來像您正在執行不同OSI層(https://en.wikipedia.org/wiki/OSI_model

一個Ping它是如何知道在傳輸層,其中單個數據包被髮送到其他機器和在OS上執行的主機可用性測試用另一個數據包進行響應。

在這種情況下,你不知道是否有比干淨的操作系統的其他節點上運行的任何應用程序。

進一步向上在OSI層,那麼你可以對你的業務邏輯測試,如調用你的基於HTTP REST API

1

我的直覺的API的走向是「淺平」是指使用標準的ICMP ping命令執行請求(著名的ping命令我們知道),「深平」正試圖通過給定的端口上打開套接字來訪問實際的遠程服務,看看你得到任何答案

2

淺平通過發送一個或更多(ICMP/ICMP6)Echo請求數據包到主機,並且只測試網絡是否正常工作,即是否可以從您的機器訪問主機。

深度ping通過測試應用程序工作。深度ping如何實現取決於開發者,但它可以通過一個「狀態」端點來響應當前的應用程序狀態或其他類似的接口(如您已經提到的鏈接中所述)。

根據你的鏈接,深爆震也意味着測試整個子網或測試其他協議不是標準的回顯請求。

0

我怎樣才能把它解釋:

淺平:主機是可用的,在其服務暴露在接受端口。(更像是telnet)

深度ping:你實際上正在打一個服務,並得到一個預期的迴應。

同樣,這些更像是自定義術語,而不是實際定義的標準。