ネットワーク基本プロトコル-ARP

ARPは、7層モデルの2番目の層であるデータリンク層にあります。データリンク層とは何ですか?正解はMACアドレスです。MACアドレスは、ネットワークインターフェイスのハードウェアアドレスを指し、イーサネットまたはトークンリングのネットワークインターフェイスを識別するために使用される48ビットの値です(これはほとんど聞いたことがない)。配信には常にアドレスが必要ですが、ハードウェアレベルでは、MACアドレスがこれを行います。データを送信する前に、宛先ハードウェアアドレスを知っておく必要があります。
つまり、イーサネットでは、ホストがデータフレームを送信する場合、データを送信する相手のイーサネットアドレスを知る必要があります。また、IPアドレスしかわからないので、ARPプロトコルを呼び出して機能させ、IPアドレスをMACアドレスに変換する必要があります。
一般に、ARPプロトコルはローカルエリアネットワークにのみ適用できると考えられています。

これでARPの機能がわかり、MACアドレスを解決するために使用されます。

TCP / IPプロトコルスタックは、上位層から下位層へと順次カプセル化され、そのうち3番目の層は宛先IPアドレスをカプセル化し、2番目の層は宛先MACアドレスをカプセル化する必要があります。宛先IPアドレスはユーザー/アプリケーション/ DNS解決によって取得されますが、宛先MACアドレスはどこから取得されますか?ARP解決。

ARPがMACアドレスを解析するプロセスを見てみましょう。
たとえば、宛先IPアドレスがすでにわかっていると仮定して、上位層のデータがパケットを送信します。このとき、MACアドレスはデータリンク層でカプセル化する必要があります。しかし、ホストは言った、わかりません、カプセル化は失敗し、宛先IPから宛先MACカプセル化へのマッピングは失敗しました。どうすればいいですか?次に、最初に別のことを行います。まず、ARPリクエストリクエストであるブロードキャストを送信します。ソースMACはイニシエーターMACで、宛先MACアドレスはFFFF:FFFF:FFFF(すべてのホスト)です。ブロードキャストを受信するすべてのデバイスは、受信したARP要求をアンパックし、ARPパケットで解析する必要がある宛先IPを読み取り、探している人を確認します。2つの結果、1つはホストの発見、あなたが探している宛先IPアドレスは私のものと同じではない、それは無視される、それを無視するだけだ。もう1つは、正しい宛先IPを持つデバイスです。一見、私を探していたので、返信させてください。応答としてARP応答を送信するだけです。ARP応答メッセージでは、送信元MACは解決されたデバイスのMACであり、宛先MACはARP要求のイニシエーターのMACアドレスです。ARP応答を受信した後、イニシエーターは宛先IPアドレスと宛先MACアドレスの間の対応をARPテーブルに追加します。次に、未完了のカプセル化作業を続けます。これで、正しい宛先MACをデータフレームにカプセル化して送信できます。

TCP接続の確立中にARPが行った処理を見てみましょう。今回は、レシーバーがルーターです。
アプリケーションが対話型インターフェースを介してデータ要求を送信する場合、TCP接続を確立する必要があります。TCPには3つのハンドシェイクが必要であることがわかっており、TCPの最初のSYNパケットがIP層に到達すると、IP層はルーティングテーブルの検索を開始します。いくつかの処理方法があり
ます。1)宛先IPと自分自身が同じネットワークセグメントにあることがわかった場合は、ARPキャッシュテーブルを調べます。キャッシュテーブルにあり、宛先IPに対応するMACアドレスがある場合、直接取り出してメッセージを再カプセル化して送信できます。キャッシュテーブルにない場合、ARPが機能します(TCPをキャッシュするSYNが最初にキャッシュされます)。ARP要求ブロードキャストを送信して、宛先IPのMACを要求します。ARP応答を受信した後、<IPアドレス、対応するMAC>を応答にローカルARPキャッシュテーブルにキャッシュし、TCP SYNメッセージを再カプセル化して送信します。
2)宛先IPアドレスが自分と同じネットワークセグメント上にない場合、パケットをデフォルトゲートウェイに送信するのに時間がかかります(デフォルトゲートウェイのMACアドレスを知る必要があります)。また、デフォルトゲートウェイに対応するMACアドレスが存在する場合は、ARPキャッシュテーブルを参照して、データを直接抽出し、ネットワークインターフェイスに送信して、ネットワークインターフェイスがカプセル化と転送を完了します。キャッシュテーブルがない場合は、ARPブロードキャスト要求をデフォルトゲートウェイのMACに送信します。ARP応答を受信した後、<デフォルトゲートウェイアドレス、対応するMAC>をローカルARPキャッシュテーブルの応答にキャッシュし、TCP SYNのIPを完了します。カプセル化して転送します。

ARPキャッシュ
ARPキャッシュテーブルはIP層で使用されます。TCP接続が確立されるたびにARP要求が送信されると、効率が低下するため、ホスト、スイッチ、およびルーターにARPキャッシュテーブルが存在します。TCP接続を確立するときは、最初にARPキャッシュテーブルにクエリを実行します。有効な場合は、ARPエントリの内容を直接読み取って、データパケットの2番目の層を送信します。テーブルに障害が発生した場合にのみ、ARP要求を実行し、MACアドレスを取得してTCP接続を確立します。 。   
ARPキャッシュは、IPアドレスとMACアドレスを格納するために使用されるバッファであり、本質的には<IPアドレス、MACアドレス>の対応表です。テーブルのエントリは、ネットワーク上のホストのIPアドレスと対応するMACアドレスを記録します。各イーサネットまたはトークンリングネットワークアダプターには、独自の個別のテーブルがあります。
アドレス解決プロトコルは、既知のIPアドレスを持つノードのMACアドレスを要求されたら、まずARPキャッシュで確認します。存在する場合は、対応するMACアドレスを直接返します。存在しない場合は、ローカルエリアネットワークにクエリのためにARP要求を送信します。
ARPキャッシュには動的アイテムと静的アイテムが含まれています:
動的アイテムは時間とともに自動的に追加および削除されます。各動的ARPキャッシュアイテムにはTTL(存続時間)が設定されています。TTLが0の場合、アイテムはテーブルから削除されます。WindowsでのTTL通常は10分以内です。
静的ARPキャッシュエントリは永続的であり、TCP / IPツールを使用して手動で追加および削除できます。静的ARPキャッシュエントリは、ノードが一般的に使用されるローカルIPv4アドレス(ルーターやサーバーのIPv4アドレスなど)にARP要求を送信しないようにするために使用されます。

以下のためのARPエージングメカニズム
ダイナミックARPは、動的ARPパケットを学ぶことにより、デバイスを指し、ダイナミックにIPアドレスとMACアドレスの間のマッピングを更新し、ネットワーク管理者が手動メンテナンスを必要としません。
 一定期間、ARPテーブルのマッピング関係が使用されなかった場合、このマッピング関係は削除されます。動的ARPエージングメカニズムは、システムがARPエントリを自動的に削除するための一連のメカニズムです。動的ARPエージングメカニズムにより、頻繁に使用されないARPエントリを時間内に削除して、ARPテーブルのストレージスペースを節約し、データパケットを送信する前にデバイスを高速化してARPテーブルをクエリできます。
ARPキャッシュの使用からわかるように、ARPキャッシュはブロードキャストの量を減らすことができるため、ネットワークトラフィックの量を減らし、コンピューター間の通信効率を向上させることができます。特定のセキュリティリスクがあります(以下の無料ARPを参照してください)

Free ARP
Free ARPは、ホストがARPを送信して独自のIPアドレスを見つけることを意味します。これは通常、システムの起動中にインターフェイスが設定されたときに発生します。
標準のARPとの違いは、無料のARPパケットの宛先IPアドレスフィールドが独自のIPアドレスをカプセル化することです。つまり、それが配置されているネットワークから独自のMACアドレスを要求します。
ARPを解放すると何ができますか?
  1)1つのホストがそれを使用して、別のホストが同じIPアドレスを持っているかどうかを判別できます。通常の状況では、無料のARP要求を送信してもARP応答は受信されません。ARP応答を受信した場合、ネットワーク上のマシンと同じIPアドレスを持つホストが存在し、アドレスの競合が発生しています。
  2)他のホストのキャッシュにある古いハードウェアアドレスを更新します。
  無料のARPを送信するホストがハードウェアアドレスを変更した場合(インターフェースカードの交換など)。他のホストがこのARP要求を受信すると、ARPキャッシュテーブルに対応するIPアドレスがあることがわかりますが、MACアドレスが一致しないため、受信したARP要求を使用してローカルARPキャッシュテーブルエントリを更新する必要があります。
  3)ゲートウェイは無料のARPを使用してARP攻撃を防止し
  ます一部のゲートウェイデバイスは、一定の時間内に無料のARPメッセージをネットワークにアクティブに送信し、ネットワーク内の他のホストがARPエントリのゲートウェイMACアドレス情報を更新してARPを防止または軽減できるようにします**効果。

無料のARPセキュリティの隠された問題
ARPプロトコルは、ARP要求の送信後にARP応答を受信するだけでなく、コンピューターがARP応答パケットを受信する限り、応答内のIPアドレスとMACアドレスを使用してローカルARPキャッシュを更新します。
ホストは偽のARP応答を作成し、ARPのソースMACアドレスを誤ったMACアドレスに設定し、偽のARP応答をネットワークに送信すると、この無料のARP応答を受信するすべてのホストがローカルARPテーブルを更新しますエントリ内の対応するIPアドレスに対応するMACアドレス。更新が成功すると、これらのホストのデータパケットは誤ったMACアドレスに転送され、ARPスプーフィング***が実行されます。

プロキシARP
プロキシARPは、ホスト(通常はルーター)を使用して、別のデバイスからのARP要求に応答するための指定デバイスとして独自のMACアドレスを使用します。
なぜプロキシARPが必要なのですか?
ルーターの重要な機能の1つは、ローカルエリアネットワークのブロードキャストパケットをネットワークに制限し、その拡散を防ぐことです。そうしないと、ネットワークストームが発生します。
ARP要求はブロードキャストパケットであり、照会するオブジェクトが同じローカルエリアネットワーク内にある場合は、応答を受け取ります。しかし、ターゲットが同じLAN内にない場合はどうすればよいですか?ルーターが提供するプロキシARPは、この問題の解決策を提供します。
2つのホストAとBが同じネットワークセグメント上にあるが、ブロードキャストセグメントが異なる場合、ホストAがホストBのMACアドレスにARP要求を送信すると、ルーターがブロードキャストパケットを転送しないため、ARP要求はルーターにしか到達できません。ルーターがプロキシARPを有効にし、ホストBが接続されているネットワークに属していることを知っている場合、ルーターはそのインターフェースのMACアドレスを使用してホストBのMACアドレスを置き換え、ホストAにARPで応答します。ホストAはARP応答を受信しますが、プロキシARPの存在を知りません。
プロキシARPは、ルーティングテーブルに影響を与えずに新しいルーターを追加できるため、サブネットがホストに対して透過的になります。通常、プロキシARPは、ホストがデフォルトゲートウェイで構成されていないか、ルーティング戦略がないネットワークで使用する必要があります。欠点は、これが実際には一種のARPスプーフィングであることがワークプロセスからわかることです。さらに、2つの物理ネットワーク間のルーターのプロキシARP機能は、実際には物理ネットワークを互いに隠すため、ネットワークトポロジを一般化することはできません。さらに、プロキシARPはそれを使用するネットワークのARPトラフィックを増加させ、ホストはより多くのARPキャッシュスペースを必要とします。

ARPセキュリティ
ARPプロトコルには、シンプルで使いやすいという利点がありますが、セキュリティメカニズムがないため、攻撃者が簡単に使用できます。ネットワークでは、一般的なARP攻撃の方法には主に次のものが含まれます。
サービス拒否(DDoS)とも呼ばれるARPフラッド攻撃。2つの主なシナリオがあります
。1)デバイスはARPパケットを消費し、ARPエントリを維持する必要があります。システムリソース、およびARPエントリのクエリ効率の要件を満たすために、一般的な機器ではARPエントリのサイズに制限があります。攻撃者はこれを使用して、送信元IPアドレスが変更される多数のARPパケットを偽造します。これにより、デバイスのARPテーブルリソースが無効なARPエントリによって使い果たされ、正規のユーザーのARPパケットがARPエントリを生成できなくなり、通常の通信が中断されます。
2)ツールを使用してこのネットワークセグメント上のホストをスキャンするか、セグメント間のスキャンを実行する攻撃者は、未解決のターゲットIPアドレスを含む多数のIPパケットをデバイスに送信し、デバイスに多数のARPミスメッセージをトリガーさせ、多数の一時的なARPテーブルを生成して配信しますアイテム、および大量のARP要求パケットをブロードキャストしてターゲットIPアドレスを解決し、CPU(中央処理装置)の過負荷を引き起こします。
ARPスプーフィングとは、偽造されたARPパケットを送信することにより、攻撃者がネットワーク内のデバイスまたは他のユーザーホストのARPエントリを悪意を持って変更し、ユーザーとネットワーク間の異常な通信を引き起こすことを意味します。

ARPの安全性向上のためのプログラム
異なるメーカーやコンフィギュレーション特性から製品が異なりますが、ARPのセキュリティ向上させるために、一般的にこれらの方法:
ARPパケットのレート制限を、ARPミス・メッセージの速度制限、ARPパケットが破棄無料イニシアチブ、ARP最適化された応答、ARPエントリ制限、ARPエントリ制限、ARPエントリ統合、動的ARP検出、ARPゲートウェイ競合の競合、ARPパケットでのMACアドレスの整合性チェックなど

「ARP仕様フル」ケース
このケースは参考用です。
機器:Huawei NE05E-SEルーター;
現象:定期点検中に、エラーアラーム「Spec of ARP full」が見つかりました。
情報を検索したところ、ARPエントリがハードウェア仕様によって制限されていることがわかりました。ARPエントリがいっぱいの場合、新しいデバイスのMACアドレスを登録できず、IPアドレスをMACアドレスに解決できず、ネットワーク通信に接続できません。
考慮が必要なのは、これらのARPが実際である場合、ARPテーブルエントリの数をソフトウェアで増やすことができない場合、唯一の置き換えはハードウェアであることです。
この場合、ルーターの現在のバージョンは1055 ARPエントリをサポートし(デバイスARPとND仕様は共有されます)、これは「set arp specification {1055 | 8192}」コマンドで設定できます。デバイスは8192 ARP仕様とND仕様のみを利用します1055をお楽しみください。

RARPリバースARP
システムがローカルディスクで起動する場合、通常はディスク内の構成ファイルからIPアドレスを読み取ります。ただし、ディスクレスワークステーションなどのディスクレスマシンは、他の方法を使用してIPアドレスを取得する必要があります。
ネットワーク上の各システムには、ネットワークインターフェイスの製造元によって構成された一意のハードウェアアドレスがあります。ディスクレスシステムのRARP実装プロセスでは、インターフェイスカードから一意のハードウェアアドレスを読み取り、RARP要求(ネットワーク上のデータのフレーム)を送信して、ディスクレスシステム内のホストのIPアドレスを要求します。
RARPサーバーの複雑さはそこにあります。サーバーは通常、複数のホストにハードウェアアドレスからIPアドレスへのマッピングを提供します。さらに複雑なことに、RARP要求は特別なタイプのイーサネットデータフレームとして送信されます。つまり、RARPサーバーはこのタイプのイーサネットデータフレームを送受信できる必要があります。
RARPは、ブート時にIPアドレスを取得するために多くのディスクレスシステムで使用されます。RARP要求は実際にはハードウェア層でブロードキャストされるため、RARPはARPよりも実装が複雑です。つまり、ルーターを介して転送されません。RARPがオフの場合でもディスクレスシステムを起動できるようにするために、ネットワーク上に複数のRARPサーバー(ケーブル1本)を提供するのが一般的です。

おすすめ

転載: blog.51cto.com/12221408/2486751