1. 序章

コンピュータネットワークにより、世界中の複数のデバイスが相互に通信できるようになりました。 ただし、この通信は単純ではなく、物理的なものから論理的なものまで、さまざまな技術リソースに依存して発生します。 これらのリソースの例としては、ケーブル、ミドルボックス、プロトコル、およびアドレス指定方法があります。 特に、適切な方法でメッセージに対処することは、通信システムの設計と開発にとって非常に重要です。 これらの方法を適切に採用することで、接続されたデバイス間の効率的な通信が保証される場合があります。 ただし、それらを誤って使用すると、ネットワークの過負荷やセキュリティの問題が発生する可能性があります。

このチュートリアルでは、さまざまなメッセージアドレス指定方法について学習します。 最初に、使用可能なメッセージアドレス指定方法の動作特性と実際の使用法を確認します。 次に、これらのアドレス指定方法のいくつかに本質的に関連する攻撃に関するセキュリティ上の注意にアプローチします。 最後に、体系的な要約でメソッドを確認し、それらを対面させ、それらの類似点と相違点を強調します。

2. アドレッシング方式

メッセージのアドレス指定とは、送信元が通信する宛先を決定することを意味します。 最新のネットワークを考慮すると、送信されたメッセージの受信者を調査することにより、いくつかのメッセージアドレス指定方法を説明できます。 これらの方法の中で最も関連性の高いものは、ユニキャスト、ブロードキャスト、マルチキャスト、およびエニーキャストです。 各アドレス指定方法には、たとえば、受信者の数、ネットワークプロトコルの予約済みアドレス、ルーティング戦略、最終的なアプリケーションなど、特定の特性があります。

次のサブセクションでは、さまざまなメッセージアドレス指定方法の複数の側面について詳しく説明します。

2.1. ユニキャスト

ユニキャストアドレッシング方式は、ネットワークを介した通信に一意の送信者(送信元)と単一の受信者(宛先)が含まれることを示します。 例えれば、ユニキャスト通信は、多くの人がいるパーティー(ネットワーク)での1人の人(ユニキャスト)との特定の会話と見なすことができます。 したがって、ユニキャスト方式でメッセージをアドレス指定することは、プライベート通信を想定しています。 ただし、他のエンティティがメッセージを傍受する可能性があるため、ユニキャストアドレス指定を使用しても、ネットワークでのプライベート通信は保証されません。 パーティーの例えでは、同様に、一人の人と話しているという事実は、あなたの近くの他の人が会話を聞かないことを意味するものではありません。

次の画像は、ユニキャストアドレス指定メッセージを使用した抽象的な通信を示しています。

技術的には、ユニキャスト通信には特定のアドレスを使用する必要があります。 たとえば、IPv4ネットワークを考慮すると、クラスA(1.0.0.1〜126.255.255.254)、B(128.1.0.1〜191.255.255.254)、およびC(192.0.1.1〜223.255.254.254)のアドレスでユニキャストが有効になります。 次に、IPv6ネットワークでは、ユニキャストアドレスは、グローバルユニキャスト(200 :: / 3)、リンクローカル(fe80 :: / 10)、ループバック(:: 1/128)、未指定(fc00 :: / 7)に細分されます。 、および組み込みIPv4(:: / 80)。

ネットワークでのユニキャスト通信のメッセージのルーティングは非常に簡単です。 宛先はユニキャストメッセージで明示的に定義されていることに注意してください。 したがって、ルーターはルーティングテーブルを検索するだけで、メッセージを次のルーティングノードまたは宛先自体に転送します。

いくつかのアプリケーションプロトコルは、デフォルトのアドレス指定方法としてユニキャストを採用しています。 これらのプロトコルの例としては、HTTP、Telnet、FTP、およびSMTPがあります。 このようにして、インターネット上でサイトを閲覧したりファイルをダウンロードしたりするときなど、ネットワークの日常的な使用で発生するユニキャスト通信を具体的に見ることができます。

2.2. ブロードキャスト

ブロードキャストアドレッシング方式では、単一の送信者(送信元)と複数の受信者(宛先)が関与するネットワークを介した通信が考慮されます。 デフォルトでは、ブロードキャスト受信者は送信者と同じネットワークに接続されているすべてのデバイスです。 したがって、ユニキャストの場合と同じアナロジーを使用して、パーティー(ネットワーク)の誰か(送信者)がテーブルに立ち、聞いているすべての人(受信者)にメッセージを叫ぶというブロードキャスト通信を理解できます。

私たちの例のシナリオでは、おそらく、パーティーでメッセージを叫ぶことが、そのパーティーの全員との相互作用をもたらすことは期待されていません。 同様に、メッセージをブロードキャストすることは、ネットワークに接続されているすべてのデバイスから応答を受信することを意味するわけではありません。 時々、それが起こる可能性があることに注意することは重要です。 ただし、通常、接続されたデバイスのサブグループ、単一のデバイスからのみ応答メッセージを受信するか、応答を受信しません。

次に表示される画像は、抽象的なメッセージブロードキャストを示しています。

ブロードキャストをサポートする通信プロトコルは、通常、ブロードキャストをトリガーするための予約済みアドレスを提供します。 したがって、メッセージには、これらの予約済みアドレスが宛先として含まれます。 たとえば、IPv4プロトコルを検討すると、ネットマスク(255.255.255.0-> 0.0.0.255)とビット単位のORを使用してビット単位の補数を実行することにより、特定のIPアドレス空間(たとえば、192.168.122.0 / 24)のブロードキャストアドレスを見つけます。結果とベースIP(192.168.122.0または0.0.0.255-> 192.168.122.255)。 もう1つの例は、ブロードキャストアドレスがFF:FF:FF:FF:FF:FFであるARPプロトコルです。 最後に、IPv6など、一部の通信プロトコルはブロードキャストアドレス指定をサポートしていません。

ほとんどの場合、ブロードキャストメッセージはルーティングされず、単一の論理ネットワークに制限されます。 ただし、ブロードキャストドメインが必要になる場合があります。 したがって、これらのシナリオでは、ルーターは、いくつかのユニキャストメッセージを使用して、ブロードキャストメッセージをブロードキャストドメインの各ホストに転送できます。 または、ルーターがすべてのインターフェイスをブロードキャストメッセージでフラッディングすることもできます。

ブロードキャストには複数のアプリケーションがあります。 関連する例の1つは、動的に定義されたIPアドレスをデバイスの永続的な物理アドレスにマッピングするARPです。 DHCPは、ブロードキャストを使用して、クライアントがネットワーク内のDHCPサーバーからIPオファーを見つけて受信できるようにするもう1つの例です。 MicrosoftのマシンブラウジングとNTPのプロトコルで他の例を特定できます。

2.3. マルチキャスト

マルチキャストは、ネットワーク内の特定のデバイスグループのメッセージをアドレス指定します。グループにネットワーク内のすべてのデバイスが含まれている場合でも、マルチキャストは理論的にはブロードキャストとは異なることに注意してください。 この違いは、マルチキャストの場合、デバイスが効果的にサブスクライブしてメッセージを受信することです。 ただし、ブロードキャストの場合、デバイスは、受信するかどうかに関係なくメッセージを受信します。

私たちのパーティ(ネットワーク)の例では、マルチキャスト通信を会話する人々のグループとして見ることができます。 グループのメンバーは、他のメンバーと話したり(送信者)、聞いたり(受信者)することができます。 さらに、人々は選択によってグループのメンバーになり、会話を楽しんでいない場合は会話を放棄することができます。 パーティーでは、他の人が他のグループで会話したり、プライベートな会話をしたり、バーで静かに過ごしたりします。 これらの人々は最初に紹介されたグループに注意を払いません。

次の画像は、マルチキャスト通信の例です。

メッセージアドレスの一部のパターンは、それらがマルチキャストであるかどうかを識別します。 たとえば、IPv4では、最上位4ビットがアドレスがマルチキャストアドレスであるかどうかを決定します。 この場合、マルチキャストアドレスは1110のビットシーケンスを提示する必要があります。 IPv6は、マルチキャストをサポートするもう1つのプロトコルです。 このプロトコルでは、マルチキャストアドレスはプレフィックスff00 ::/8を使用します。

ブロードキャストルーティングの特定のケースとして、マルチキャストルーティングを理解できます。 ただし、ここでの課題は、ルーターがメッセージを受信したいホスト(マルチキャストグループのメンバー)に対してのみメッセージを送信する必要があることです。 したがって、スパニングツリーに基づく戦略では、送信元からすべての宛先へのループのないルートが作成されます。 とこれらのルートでは、ルーターはマルチキャストグループのすべてのメンバーに同時にメッセージを送信します。

いくつかのシステムは、異なる目的でマルチキャストを採用しています。 関連する例の1つは、マルチメディア配信システムです。 このシナリオでは、IPTVおよびビデオ会議アプリケーションは、データを送信するためにマルチキャストを頻繁に使用します。 もう1つの例は、Windows展開サービス(WDS)でのマルチキャスト送信です。 WDSのマルチキャストにより、サーバーは、利用可能なネットワークを効率的に使用して、単一のデータストリームで複数のWindowsクライアントを展開できます。 

2.4. エニーキャスト

エニーキャストアドレッシング方式は、特定のデバイスグループの単一のデバイスにメッセージを転送します。 通常、送信者の位置を考慮して、対象のエニーキャストグループのトポロジ的に最も近いデバイスがメッセージを受信します。 私たちのパーティー(ネットワーク)の例では、人(送信者)がパーティーを離れるが、最初にホスト(エニーキャストグループ)に別れを告げたいときのエニーキャスト通信を理解できます。 パーティーが進行中で、ほとんどのホストが数人のゲストで占められているので、1人のゲストに別れを告げても大丈夫です。 それで、その人は周りを見回して、最も近いパーティーの主催者(目的地)を見つけ、パーティーに感謝し、そして去ります。

次の画像は、エニーキャスト通信の抽象的な例を示しています。

実際には、エニーキャストの排他的なアドレス範囲はありません。したがって、ネットワーク内の複数のデバイスに同じユニキャストアドレスを割り当てることにより、エニーキャストグループを形成します。 もちろん、デバイスを構成して、エニーキャストグループのメンバーであることをデバイスに認識させる必要があります。

エニーキャストルーティングは、通常、ユニキャストルーティングと同じです。 このシナリオでは、途中のDNSサーバーは、エニーキャストグループのどのデバイスがトラフィックを受信するかを定義するのに役立ちます。 公式には、IPv4はエニーキャストをサポートしていません。 ただし、BGPプロトコルを変更すると、コアネットワークで一種のIPv4エニーキャストルーティングが有効になる可能性があります。 次に、IPv6はエニーキャストをネイティブにサポートします。 一般に、このような場合、ルーターはユニキャストアドレス指定とエニーキャストアドレス指定を区別しません。 例外は、エニーキャストトラフィックの特別な処理を実行する、潜在的なエニーキャスト宛先の近くにあるルーターのみです。

エニーキャストアドレッシングの実際のアプリケーションには、DNSクエリと効率的なコンテンツ配信が含まれます。 いくつかのDNSサーバーは、エニーキャストアドレスを使用して、アドレスのクエリのパフォーマンスを向上させた冗長サービスを提供します。 コンテンツ配信ネットワークには、エニーキャストを使用するための同様の目的があります。 このシナリオでは、コンテンツサーバーは、クライアントの要求に応じて戦略的な場所に配置されます。 したがって、エニーキャストリクエストは、クライアントの現在の場所に応じて最も適切なコンテンツサーバーへのアクセスを許可します。

3. セキュリティについての注意

特定の攻撃は、悪意のある目標を達成するために、アドレス指定方法の運用上の特徴を使用します。 このセクションでは、これらの攻撃のいくつかと、それらがアドレス指定方法をどのように悪用するかを説明します。 ただし、私たちの範囲では、採用されたアドレス指定方法に依存しない、単純なフラッディングサービス拒否や中間者攻撃などの一般的な攻撃は考慮されていません。 私たちの焦点は、ブロードキャストとマルチキャストの特性から明示的に利益を得ることができる攻撃のバリエーションにあります。

  • フラグルアタック:ブロードキャストまたはマルチキャストアドレスに複数のUDPエコー要求を送信するサービス拒否攻撃のバリエーション。 これらのUDPエコー要求には、被害者のアドレスであるスプーフィングされた送信元アドレスがあります。 ブロードキャストまたはマルチキャストの宛先では、攻撃に参加するデバイスの数が非常に速く増加します。
  • パーペチュアルエコー:UDPエコー要求とブロードキャストまたはマルチキャストアドレスを宛先として使用するサービス拒否攻撃の別のバリエーション。 主な違いは、攻撃者が送信元アドレスを被害者のアドレスにスプーフィングし、送信元ポートを被害者のUDPエコーポートにスプーフィングすることです(7)。 したがって、UDPエコーは、送信元から宛先へ、および宛先から送信元へ無期限に実行されます。
  • スマーフ:FraggleAttackに類似したサービス拒否攻撃のバリエーション。 ただし、smurfの場合、UDPエコーを送信する代わりに、複数のICMPエコー要求が宛先としてブロードキャストまたはマルチキャストアドレスに送信されます。 攻撃者は、これらのリクエストの送信元を被害者のアドレスに偽装します。

最後に、これらの攻撃を回避するための対策があることに注意することが重要です。 これらの対策は、ネットワーク化されたシステムを実装し、ネットワークを構成する際に遵守する必要があります。

4. 体系的な要約

一般に、さまざまなアドレッシング方式の最も顕著な特徴は、送信元が1つ以上の宛先にどのように関連しているかです。 したがって、特定のメッセージで使用できる潜在的な宛先の数と、実際にメッセージを受信する宛先の数に関して、アドレス指定方法を分類できます。 次の表は、これらの特性を通じて調査されたアドレス指定方法を要約したものです。

5. 結論

この記事では、メッセージのアドレス指定方法について学びました。 最初に、利用可能なメッセージアドレス指定方法を調査し、動作動作、アドレス形式、メッセージルーティング、およびアプリケーションの例に関するそれらの特性を観察しました。 次に、いくつかのアドレス指定方法を悪用する攻撃に関連する潜在的なセキュリティ問題を調査しました。 最後に、アドレス指定方法を確認し、主な差別化特性であるメッセージの宛先を通じて簡単に比較しました。

メッセージアドレス指定方法は、ネットワークシステムを開発するための膨大な機会を表していると結論付けることができます。 適切なソフトウェアエンジニアリングと正しい アドレッシング方式の実用化、システムは、効率、信頼性、およびセキュリティを向上させてネットワーク内で通信できます。