2017-09-13 7 views
1

かなり新しい(アウト・オブ・ザ・ワールド・ワーキング・ディベロップメントの)開発者として、私はユニに私に教えられたように、私はpingの概念に慣れていないし、私は様々な小さな課題前に遭遇した。「浅い」と「深い」の違いは何ですか?

私の理解はであり、ネットワーク上に別のホストが存在し、応答しているかどうかを判断します。

私はJavaで実装しました(言語私が最も快適だ)pingを達成するために望んで以下のようないくつかのコード:

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は、基本的にすべての接続が生きていることをテストしていて、可能な限りウェブスタックを使って機能をテストしていることがわかりました。 what is deep_ping

私の質問です:
浅いpingが、その後何をしますか?

はからは、その手に入れましたか
そして、浅いピングと深いピングの間の主な相違点(ある場合)は何ですか

+0

私はあなたが答えを受け入れる前に少なくとも1日待つべきだと思います。そうすれば、より多くの人が質問にアクセスできるようになり、さらに質の高い回答を得ることができます。 (また、それはあなたに副作用として、より多くの担当者を与えることができる) – Shirkam

+2

@ Shirkam Aha、先端のおかげで。これでまだかなり新しいので、あなたがそれを指摘していただきありがとうございます。 少なくとも1日は受け付けません。 – RhythmNDev255

答えて

1

あなたは異なるOSI層は、単一​​のパケットが、他のマシンとOSに送信されるトランスポート層、上で実行される方法をあなたが知っている(https://en.wikipedia.org/wiki/OSI_model

のping上のホストの可用性テストを実行しているようにこれが聞こえます別のパケットで応答します。

この場合、クリーンなOS以外のノード上で実行されているアプリケーションがあるかどうかわかりません。さらにあなたは、あなたのHTTPベースのREST API

1

私の勘のAPIを呼び出すようにあなたのビジネスロジックのテストを行うことができますOSI層にまで行く

「浅いpingが」pingが標準ICMPを使用して行う手段があります私たちが知っているよく知られているpingコマンドで、「深いping」は、指定されたポートのソケットを開いて実際のリモートサービスにアクセスしようとしていて、何か答えが得られるかどうかを確認します。

2

浅いpingは、 (ICMP/ICMP6)Echo Requestパケットをホストに送信し、ネットワークが動作しているかどうか、つまりホストが自分のマシンから到達可能かどうかをテストします。

深いピングは、アプリケーションのテストによって機能します。深いpingがどのように実装されるかは開発者次第ですが、現在のアプリケーションの状態や別の同様のインタフェース(前述のリンクで説明したとおり)で応答する「ステータス」エンドポイントを経由することもできます。

リンクごとに、深いpingは、サブネット全体のテスト、または標準エコー要求以外のプロトコルのテストを意味する場合もあります。私はそれを解釈することができますどのように

0

浅いのping:ホストが使用可能である、サービスが露出しているポートを受け入れています。(もっとtelnetのような)

深いping:あなたは実際にサービスの1つに当たって、期待される応答を戻しています。

これもやはりカスタム用語に似ていて、実際に定義された標準ではありません。

関連する問題