2017-09-13 87 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:你实际上正在打一个服务,并得到一个预期的回应。

同样,这些更像是自定义术语,而不是实际定义的标准。