クラウドコンピューティング事業の急速な発展に伴い、国内外のクラウドコンピューティング企業間の特許紛争はますます激しくなっています。クラウド コンピューティングなどの技術分野では、特許保有量が企業の究極の技術力を表すことがよくあります。今回の Huayun Data の「Smart Huayun」コラムでは、ping パケットからのネットワーク転送の原理を分析し、クラウド コンピューティング分野の最新のテクノロジとソリューションを皆様と共有します。 背景 「大家さん、電話がつながりません。」家を離れて働いて家を借りている人なら誰でもこのような経験をしたことがあると思います。 Ping の失敗は単純な現象ですが、実際には多くのプロセスが含まれています。今日は、ping が失敗した場合にどうするかについてお話します。 基本概念 本題に入る前に、いくつかの概念を紹介しましょう。 1. Pingパケット ping パケットは ICMP プロトコルを使用します。 ICMP プロトコルとは何ですか?これはインターネット制御メッセージ プロトコルです。文字通りの意味は理解しにくいですが、その機能は非常に単純で、リンクを検出するためにいくつかの制御メッセージを送信することです。 プロトコルを理解するには、通常、まずそれがどのようにカプセル化されているかを確認します。あなたが調べた本はすべて偽物です。最善の方法は、自分でパケットをキャプチャすることです。パケットキャプチャツールにはさまざまな種類があります。私は Wireshark (Windows) と tcpdump (Linux) を使うのが好きです。パケット キャプチャ ツールの使用方法については、Baidu をご覧ください。 キャプチャされたメッセージは次の通りであり、段階的に分析されます。 まずイーサリアムのヘッダー MAC アドレスはネットワーク カードを一意に識別するために使用されることがわかっており、現時点では、ネットワーク カードのハウス番号として理解できます。 DMAC: 宛先 MAC、つまりデータ パケットの送信先。 SMAC: ソース MAC、独自のネットワーク カードのハウス番号 タイプ: データパケットのタイプ ヒント: ちょっとした知識ですが、ここに一文があります。レイヤー 3 転送の場合、DMAC は通常ゲートウェイの MAC アドレスです。レイヤー 2 転送の場合、DMAC は宛先の MAC アドレスです。これは、データ パケットがレイヤー 2 転送かレイヤー 3 転送かを区別する最良の方法でもあります。
IP レイヤーを中心にいくつか見ていきましょう。 DSCP: *** の目的は、メッセージの優先度を区別することです。プロトコル メッセージには高い優先度が必要であることは誰もが知っています。 flags: フラグメントのフラグ。次のフラグメント オフセットは、フラグメントのオフセットを指します。 プロトコル: プロトコルタイプ。pingがicmpプロトコルを介して行われていることがわかります。 icmp のさらに重要な 2 つのタイプとコードは、icmp メッセージの目的を決定するために使用されます。 ここで、タイプ 8 コード 0 は ICMP 要求です。具体的な意味については RFC792 を参照してください。 https://tools.ietf.org/html/rfc792 何? RFC とは何ですか?私はKFCについてしか聞いたことがありません。大きな問題はありません。 Baidu にアクセスしてください。
2. ARP ARPとは何ですか?アドレス解決とは、IP アドレスに基づいて MAC アドレスを取得することを意味します。上記のメッセージもご覧になったと思います。誰かに ping を送信したい場合は、その人の IP と MAC を知る必要があります。ゲートウェイにメッセージを送信する場合は、ゲートウェイの MAC を知る必要があり、宛先にメッセージを送信する場合は、宛先の MAC を知る必要があります。 ARP プロセスは非常に簡単です。まずクライアントが ARP 要求を送信します。たとえば、IP アドレス 10.10.10.10 はわかっているが、Mac がわからない場合は、IP アドレスを取得するために ARP 要求を送信する必要があります。 さて、ARP がどのように機能するかを確認するために、通常どおりパケットをキャプチャしてみましょう。 ARP 要求メッセージはブロードキャスト メッセージなので、その dmac は ff:ff:ff:ff:ff:ff です。相手の IP はわかっていますが、相手の MAC はわかりません。そのため、ターゲット MAC には 00:00:00:00:00:00 と入力できます。上の画像を見てください。これは ARP 要求メッセージです。10.51.30.122 の MAC を知りたいのです。 ARP 要求メッセージはローカル エリア ネットワーク内でブロードキャストされます。 10.51.30.122 でない場合は、このメッセージを受信した後、処理されずに破棄されます。 IP 10.51.30.122 の場合は、ARP 応答が行われます。 別の ARP 応答メッセージを見てみましょう。 ARP 要求を受信すると、アドレス 10.51.30.122 からユニキャスト メッセージが送信され、MAC が通知されます。同時に、私の Mac と IP も記録され、ARP 情報も保存されます。同時にその情報も保存します。次回接続するときに、ARP テーブルを直接確認できます。別の ARP 要求を送信する必要はありません。もちろん、ARP が古くなった場合は、このプロセスを繰り返す必要があります。 3. DNS Baidu に ping するのが好きな人もいます。ドメイン名を ping すると、中間にドメイン名解決という追加の処理レイヤーが存在します。さあ、パケットのキャプチャを続けましょう。 ご覧のとおり、Baidu の IP がわからなかったので、まずドメイン名解決サーバーである 114.114.114.114 に送信して解決し、IP を教えてもらいました。 そこでメッセージを再カプセル化し、宛先 IP でアドレス 216 を直接選択して ICMP 要求を送信しました。 完了しました。ping が機能しています。 トラブルシューティング どうしたの?記事のタイトルは「Ping が失敗しました」ではないですか?では、なぜ Ping の成功について詳しく説明しているのですか?実際に、原理を逆にして、Ping が失敗する理由を調べてみましょう。すべてのリンクをチェックすれば問題は解決します。
さあ、まずは図を描いてみましょう。ゲートウェイを通過しない第2層転送は描かず、直接3層転送図を描きます。
これは簡単な図です。手順を一つずつ書いてみます。 Baidu に ping するとします。通常、Baidu に ping を実行してインターネットにアクセスできるかどうかを確認します。 1. まず、クライアントは Baidu のドメイン名を解決して IP アドレスを取得し、さらに独自の ping パケットをカプセル化する必要があるため、最初にそれをドメイン ネーム サーバーに送信します (114.114.114.114 に設定されていると仮定します)。ドメイン ネーム サーバーが解決を手伝ってくれた後、Baidu の IP アドレス 220.181.57.216 が提供されます。ここで、ドメイン ネーム サーバーにアクセスします。どうやってそこへ行けばいいですか?もちろん、最初にルーティングテーブルを確認します。 明らかに、114.114.114.114 への直接ルートがないので、上の図の 192.168.0.1 であるゲートウェイに送信することしかできず、ゲートウェイがそれを処理します (ゲートウェイの MAC がわからない場合は、最初にブロードキャスト ARP をゲートウェイに送信し、ゲートウェイの MAC を取得して ARP テーブルを維持する必要があります)。その後、ゲートウェイはドメイン名解決の結果を私に返し、Baidu の IP アドレスを取得します。 2. 宛先 IP を使用すると、クライアントはメッセージをカプセル化する準備が整います。 3層転送なので、BaiduのMACアドレスを知る必要はありません。ゲートウェイの Mac だけを知っておく必要があります。 dmac=ゲートウェイmac、dip=Baidu IPで、pingパケットを直接送信します。ゲートウェイの Mac に ARP 要求が 1 回送信されているため、すべてのゲートウェイ ARP がクライアントの ARP テーブルに保存されています。 3. データ パケットがゲートウェイに到達します。パブリックネットワークに送信されるので、ここでは処理の詳細については説明しません。 1 つのコマンドを使用して、データ パケットが通過したホップの数を確認できます。 4. Baidu は私の ping パケットを受信すると、同じ方法でゲートウェイ ARP 情報を取得し、カプセル化された icmp 応答を私に返します。ゲートウェイはこの応答を受信すると、宛先 IP が私であることを認識し、ルーティングを通じて私に直接転送します。ここでプロセス全体が完了します。 ヒント: 着信データ パケットの場合、ゲートウェイはデータ パケットの送信元 MAC 情報を独自に学習し、独自の MAC テーブルと ARP テーブルを維持します。 さて、ping が失敗した場合は、その理由について考えてみましょう。段階的に確認し、パケットをキャプチャして段階的に分析すると、原因を見つけることができます。 ping が失敗した場合は、家主に連絡する必要はありません。ネットワーク ケーブルを自分でまっすぐにすれば接続されます。 |
<<: 南京-アマゾンAWS共同イノベーションセンターが正式に開設
>>: メーカーが PTC と Rockwell Automation のテクノロジー スイートでデジタル変革をリード
Sparknodeは2017年に設立された、プロのVPS運営会社です。簡単に言うと、有名なサーバーレ...
「三子政策」の実施に伴い、住民一人当たり可処分所得が増加し、育児費が家計支出の重要な部分を占めるよう...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています魚が水から...
私の不動産ウェブサイト「登封不動産ネットワーク」のドメイン名は8月27日に登録されました。今日は11...
「See You Tomorrow」に「素晴らしい真実をたくさん聞いたけど、それでも良い人生は送れな...
オンプレミス インフラストラクチャがパブリック クラウドに取って代わられて消滅するという報告は、大き...
SEO を行う際、ほとんどの企業サイトに触れたことがあると思います。企業サイトのキーワード最適化やト...
[51CTO.com クイック翻訳] マルチクラウドモデルを利用することで、企業はベンダーに縛られる...
月収10万元の起業の夢を実現するミニプログラム起業支援プランSEO プロジェクトの場合、SEO 担当...
ウェブマスターであろうと SEO 最適化担当者であろうと、Baidu Space をよくご存知だと思...
Baidu ウェブ苦情は、ユーザーが問題を報告したり、ヘルプを要求したりできるようにするためにウェブ...
当時、一緒に映画の中で追いかけていた女の子たちを思い出し、過ぎ去った青春を嘆くとき、数年前にウェブサ...
過去 10 年間で、クラウド コンピューティングに代表される新興テクノロジーは、教育と学習方法に劇的...
安いものをいじるのが好きな人には、もう 1 つ紹介したいものがあります。hostdare です。彼ら...
フレンドリーリンクは、ウェブサイトの宣伝と運営に不可欠な要素の 1 つです。誰もが独自の理解を持って...