Networking a';浅';和';深';发出砰的声响?

Networking a';浅';和';深';发出砰的声响?,networking,ping,Networking,Ping,因此,作为一名相当新的(在世界各地工作的)开发人员,我对ping的概念并不陌生,因为它是在uni教给我的,我在以前遇到的各种小作业中都使用过它 我对它的理解是,确定网络上是否存在另一台主机,并做出响应 当我想要实现ping时,我已经用Java(我最熟悉的语言)实现了一些类似于下面的代码: try { String ip = "127.192.199.01"; InetAddress inet = InetAddress.getByName(ip); System.out.

因此,作为一名相当新的(在世界各地工作的)开发人员,我对ping的概念并不陌生,因为它是在uni教给我的,我在以前遇到的各种小作业中都使用过它

我对它的理解是,确定网络上是否存在另一台主机,并做出响应

当我想要实现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()); 
}
然而,我对“浅”和“深”ping的概念还很陌生,这是我在目前的工作场所遇到的

到目前为止,虽然我已经能够弄清楚,深层ping基本上是测试所有连接都是活动的和工作的,同时通过尽可能多的webstack测试功能

这是从:

我的问题是:
那么浅ping做什么呢?

那么,浅ping和深ping之间的主要区别(如果有的话)是什么

这听起来像是在不同OSI层上执行主机可用性测试()

在传输层执行ping,其中一个数据包被发送到另一台机器,操作系统用另一个数据包进行响应

在这种情况下,您不知道除了干净的操作系统之外,该节点上是否还有其他应用程序在运行


在OSI层中,您可以在业务逻辑上执行测试,比如调用基于HTTP的REST API的API这听起来像是在不同的OSI层上执行主机可用性测试()

在传输层执行ping,其中一个数据包被发送到另一台机器,操作系统用另一个数据包进行响应

在这种情况下,您不知道除了干净的操作系统之外,该节点上是否还有其他应用程序在运行


进一步在OSI层中,您可以对您的业务逻辑执行测试,比如调用基于HTTP的REST API的API

我的直觉是,“浅ping”意味着使用标准ICMP请求(我们知道的众所周知的ping命令)“深ping”执行的ping正在尝试通过打开给定端口上的套接字来访问实际的远程服务,并查看是否得到任何答案

我的直觉是,“浅ping”是指使用标准ICMP请求(我们知道的众所周知的ping命令)“深ping”执行的ping正在尝试通过打开给定端口上的套接字来访问实际的远程服务,并查看您是否得到任何答案。浅层ping通过向主机发送一个或多个(ICMP/ICMP6)回显请求数据包来工作,并且仅测试网络是否工作,即是否可以从您的计算机访问主机

深ping通过测试应用程序来工作。深度ping的实现方式由开发人员决定,但也可以通过“状态”端点(响应当前应用程序状态)或其他类似的接口(如前面提到的链接所述)


根据您的链接,深度ping还意味着测试整个子网或测试标准回显请求以外的其他协议。

浅层ping通过向主机发送一个或多个(ICMP/ICMP6)回显请求数据包来工作,并且仅测试网络是否工作,即是否可以从您的机器访问主机

深ping通过测试应用程序来工作。深度ping的实现方式由开发人员决定,但也可以通过“状态”端点(响应当前应用程序状态)或其他类似的接口(如前面提到的链接所述)


根据您的链接,深度ping还意味着测试整个子网或测试标准Echo请求以外的其他协议。

我如何解释它:

浅ping:主机可用,服务公开的端口正在接受。(更像telnet)

Deep ping:实际上,您正在点击其中一个服务并得到预期的响应


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

我如何解释它:

浅ping:主机可用,服务公开的端口正在接受。(更像telnet)

Deep ping:实际上,您正在点击其中一个服务并得到预期的响应


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

我认为你应该至少等一天再接受答复。这可能会让更多的人访问这个问题,甚至给你更高质量的答案。(还有,它会给你更多的机会,作为副作用)@Shirkam-Aha,谢谢你的提示。在这方面还是很新的,所以感谢你指出这一点。我想你应该至少等一天再接受答案。这可能会让更多的人访问这个问题,甚至给你更高质量的答案。(还有,它会给你更多的机会,作为副作用)@Shirkam-Aha,谢谢你的提示。在这方面还是很新的,所以感谢你指出这一点。将至少一天不接受