ネットワークプロトコル5 - ICMPとPing

毎日の開発、我々は多くの場合、ネットワークの円滑な流れが発生し、クエリのドメイン名は、IPアドレスやその他の小さなニーズに対応するかどうか、この時間は、最も使用pingコマンドでなければなりません。pingコマンドは、それがどのように動作するかである知っていますか?今日、私たちは一緒に来て、対応するICMPプロトコルの下でpingコマンドを認識しています。

ICMPプロトコル

    ICMPは、インターネット制御メッセージプロトコルの略を意味し、インターネット制御メッセージプロトコル

    ネットワーク自体は、伝送中にパケットの信頼性が低い、発生する予期しないイベントがたくさんあることと、データ伝送の障害を引き起こす可能性があります。ネットワーク層のIPプロトコルは、それ故、我々は、パケット送信が失敗した場合、関連する処理に対応するように、障害情報は、バック渡すことができ、他のプロトコルを必要とする、ネットワーク層の障害を処理しない、コネクションレスプロトコルであります問題。

    テレビ番組のように戦争の状況は戦争のよりよい制御、その後、スカウトを通過する必要があり、古代の戦争、戦争を、確認してください。オンラインの世界でのICMPパケットような役割として機能するように、「スカウト」。

    ICMPパケットは内部IPパケットにカプセル化されています。送信指示の時間なので、確かに、送信元と宛先のアドレスを必要としています。以下に示すようにフォーマット自体は、非常に簡単です:

    ICMPパケットは、タイプの多くを持って、異なるタイプが異なるコードを有する、リクエストの最も一般的なタイプは、コード8、アクティブ要求応答、コード0アクティブです大きな側からは、に分けることができ、クエリパケットタイプエラーメッセージタイプ

Queryメッセージのタイプ

    さあ、どのように戦争の前に:私たちは、多くの場合、これはドラマの中でケースは聞いていますか?スカウトは戻ってきませんでしたか?すぐに通知する場合があります。

    この監督はに対応し、開始、敵の状況を確認するためのイニシアチブをとるために類似しているクエリのICMPパケットタイプたとえば、pingコマンドが一般的であるクエリメッセージ、アクティブな要求であり、ICMPプロトコルの能動的応答を得ますそのため、パッケージには、ICMPプロトコルの形式によって発行されたpingコマンドに沿ったものであるが、それは後に、独自のフォーマットを増加させました。

    アクティブ、キャプチャネットワークのPing要求は、と呼ばれるREQUEST ICMP ECHOを同様に、返信を要求するためのイニシアチブは、と呼ばれるREPLY ICMP ECHOをネイティブICMPに比べ、他のシーケンス番号であり、識別子であり、二つ以上のフィールドがあります。区別するために、ロゴがなければならない、研究者のチームが戦っている、のチームが欲しかっされ、元帥は、2つのチームを偵察するために送られ、理解することは難しいことではありません。

    一方、スカウトに送られた、私は数をまとめました。10に送られた場合は、バック10、それは先に良い戦いを示しています。10、2つのバックに送られた場合、状況が良くない説明することが可能です。

    オプションデータでは、pingの送信要求の時間値を格納する、それが往復時間を計算し、旅の長さを説明しました。

エラーメッセージタイプ

    エラーパケットが主に用いられているソース機器が失敗したパケット送信の場合より再送を決定するために、ソースデバイス情報にエラーメッセージを返すこと

    またはインスタンスのための私たちの「司令官」を取ります。

    コーチはマップ大規模なアカウントを見ると、戦争を考えて、兵士が突然叫んだ:元帥は、大丈夫ではない、一般的なチャンの待ち伏せは、全滅します。

    これは悪いこと、対応するICMPエラーメッセージの発生を報告するために開始した異常な状況です。

    エラーメッセージは、次の一般的な種類があります。

  • 3:エンド到達不能
  • 4:阻害ソース
  • 5:リダイレクト
  • 11:タイムアウト

    最初のケースは、終わりまでではありませんレポートの兵士は、元帥は、一般チャンは飼料が送信されません与えました。

    元帥は確実に尋ねる、なぜ送信されないということ?このICMPは、次のコードに対応します。

  • ネットワーク到達不能コード:0
  • 1:到達不能コードをホスト
  • 到達不能プロトコル:2
  • ポート到達不能:3
  • 断片化は必要なく、断片化していない:4

    このような特定のシーン:

  • ネットワーク到達不能:元帥は、場所を見つけます
  • 到達不能ホスト:元帥は、場所を見つけ、一般チャンを見つけることができませんでした
  • プロトコル到達不能:元帥は、場所を見つけるだけでなく、人々を見つけることではなく、パスワードのために。
  • ポート到達不能:元帥は、人を見つけるための場所を見つけるだけでなく、パスワードのため、物事はペアにしませんでした。私は食糧供給を送信するために行ってきました、彼は援軍を待っていると述べました。
  • 断片化は必要なく、断片化していない設定:元帥は、途中、狭い山道は、GABを変更したいのですが、あなたが変更することは禁止されて注文した車を離れる前に、手立ては入れないように。

    第二は、ソースクエンチあります(:司令官、送られた飼料はあまりを食べ、あなたが配信ポイントを遅くすることができます兵士)それは、伝送速度を遅くするために、ソースステーションを聞かせて、です。

    第三のタイムアウトですそれは、(飼料の人々が食べ食べ物を入れて、いない場所へ送る、元帥、餓死していた)、宛先へのネットワークパケットの生存時間以上かではありません。

    第四は、ルートリダイレクションです次の別のルータに送信される(行くために、限り王が村を歩いて1キロを飼料を送信するために最後にあったであろう元帥、結果は、以上の5キロは、次の時間が王の村を覚えて行くために張家界を渡す必要があります)。

    エラーメッセージの構造が比較的複雑です。フロントに加えて、またはIP、ICMP、同一の最初の8バイト、IPパケットエラーとIP本体のIPヘッダの最初の8つのバイトをバック維持します。

    そして、このような特定のスカウトが責任を負うだけでなく、バ​​ックにも、メッセンジャーに遺物の一部をバイトを返します。

  • スカウト:元帥、一般チャンは戦いで殺された、それは彼のシールとサーベルです。
  • 元帥:一般チャンは(あなたがICMPの最初の8つのバイトを表示することができます)死ぬする方法ですか?はい、これは一般的なチャン剣(IPパケットヘッダと最初の8バイトの本体)です。

ピング:使用のクエリメッセージタイプ

    次に、我々は、pingコマンドを送信および受信の焦点を見てください。

    Aは、ホストのIPアドレスが192.168.1.1であると仮定し、ホストBのIPアドレスが192.168.1.2で、彼らは同じサブネット内にあります。そして、ホストAの「ピング192.168.1.2」を実行した後、何が起こりますか?

  1. ICMP送信元ホスト要求パケットの構築このデータパケットは、内複数のフィールドを含みます。最も重要なのは、2つあり、一つはあるタイプフィールドに対応する要求パケットの観点では、フィールドが8です、。別のは、配列番号主にping時間を送信し、連続する複数のデータパケットを区別するために、。各々は、それは、部分的に、データパケットの送信時に挿入され、シーケンス番号が自動的にRTTラウンドトリップ時間を計算するために1を加算し、要求パケットを送信します。
  2. IP層のIPパケットの構築一緒にIP層に宛先IPとICMPプロトコルパケットは、宛先アドレスとしてIP層が一緒に他の制御情報と、192.168.1.2、ソースアドレスとしてローカルIPアドレスとなり、IPパケットを構築します。
  3. MACヘッダが付加されますイーサネットメディアアクセスルールに基づいて追加の制御情報の数に対応する192.168.1.2 MACアドレスを検索し、それらを転送します。

    ホストBは、データフレームを受信した後、以下のステップが実行されます。

  1. MACアドレスを確認するか、受信したデータフレームを破棄し、IPパケットを抽出しますパケットの宛先MACアドレスをチェックし、ネイティブMACアドレスと比較。そのようなコンプライアンスのように、データフレーム、そうでなければ廃棄を受信します。受信したパケットをチェックした後、IPパケットは、本機のIP層へのフレームから処理を抽出します。
  2. IP IPレイヤを確認してくださいチェックが完了すると、ICMPプロトコルに有用な情報を抽出します。
  3. ICMP応答パケットの構築パケットタイプフィールドは応答シーケンス番号が受信した要求パケットのシーケンス番号であり、0です。
  4. A.をホストする応答パケット

    所定時間内に、送信元ホストはICMPパケットに応答がない場合、ターゲットホストに到達できません。

    それがパッケージ化する必要がある場合には、ターゲットホストが到達可能です。この場合、送信元ホストは、時間遅延を検知します。現在の時間を節約時に送信元ホストから送信されたパケットです。

    もちろん、これは、ローカル・エリア・ネットワークを持つ唯一の最も単純なケースです。ネットワーク間ならば、それはまた、ルータのゲートウェイを転送、転送を伴います。

    図から分かるように、pingコマンドは、ICMPエコー要求およびエコー応答タイプ内で使用されています。

    行う他のタイプ?エラーが発生したときに受信するためには、だけではなく、本当ですか?答えはノーです。tracerouteコマンドがあり、それはICMPルールを使用しますが、いくつかのシーンの意図的な作成が誤って生成することができます。

トレースルート:使用のエラーメッセージタイプ

    tracerouteは、一般的に使用される2つの機能がありますコマンド。

    第一の機能:

    特定のTTLを設定することにより、宛先ルータに経過時間を追跡

    tracerouteのパラメータは、特定の宛先IPアドレスを実行するために、UDPパケットを送信します。

    TTLを1に設定した場合、MPは、データパケット、最初の遭遇「つまずき」(典型的には、ルータまたはポイントの他のタイプ)、それはICMPパケットが返され殺されるが、パケットであることを示していますこれは、あるネットワークパケット・エラー、タイプのタイムアウト

    誤ってパッケージは、我々は、パケットのIPアドレスと、最初のレベルまでそれぞれのレベルに費やされた時間を取得することができるようになります(一部のホストがICMPに応答しませんが、そう*の発生したすべての要求します)。

    あなたは何のUDP宛先ホストが、それが存在しないことをどのように知っていますか?tracerouteのプログラムは、宛先ホストへのUDPパケットを送信しますが、UDPポート番号(30,000を超える)などの値を選択することは不可能です。対応するポート番号を見つけることができない宛先ホストへのデータグラムは、それが「ポート到達不能」エラーメッセージを返す場合。このように、我々は、UDPがホストに到達するかどうかを知ることができます。

    第二の機能:

    パスMTUを決定し、断片化することなく、データ・パケットを設定します

    送信パケットは、フラグを「断片化しない」に設定します。パケットの最初の長さが正確に等しいMTU出口と送信されます。あなたが狭い中間レベルはメインカード、​​ICMPエラーパケット網となり発生した場合、タイプは「断片化が必要でなく、断片化しないでください。」であります パケットエラーの長さは、全体のパスMTUを決定するときに、このようにして、それが「フラグメント不可」ICMPを受信するたびに低減されます。

概要

  • ICMPは、スカウトのオンラインの世界と同等です。アクティブなプロービングエラーメッセージのクエリメッセージと例外報告の2つの一般的な種類があります。
  • エラーメッセージでクエリメッセージ、tracerouteコマンドを使用してpingコマンド。

 

同様の考えている場合:個人的なマイクロ・シグナルを追加へようこそ。

私だけでなく、あなたのための最新のブログをお勧めします、公共の数字の関心を歓迎し、あなたとリソースを待っているより多くの驚きがあります!一緒に、共通の進歩を学びます!


 

 

おすすめ

転載: www.cnblogs.com/cool2feel/p/11418369.html