• 締切済み

VPN環境でのARPテーブルの情報について

ARPテーブルに登録される情報について質問させてください。 ARP要求を行いARP応答が合った場合に 動的に宛先のIPアドレスとMACアドレスの情報がARPテーブルに登録されると認識していたのですが。 ・ルーターを超えている場合はMACアドレスはルーターのMACアドレスになる ・VPN環境で他の拠点と通信を取った際には通信が取れても ARPテーブルに相手先のIPアドレスの情報が登録されない ゲートウェイが登録されているようには見えるのですが・・・ 勉強不足で申し訳ございません。 ping応答が得られないときにARPテーブルの情報から通信状況を確認しようとしたところ この部分の動きがうまく理解できませんでした。 上記動作となる理由をどなたか教えていただけないでしょうか?

みんなの回答

回答No.3

御質問に回答致します。 >・ルーターを超えている場合はMACアドレスはルーターのMACアドレスになる ⇒ルーターを超えている場合というか、ゲートウェイを超えている場合は、ゲートウェイのMACアドレスがARPテーブルに登録されます。 一般にゲートウェイを超える場合は、異なるサブネットワークに存在するので、ノードは自らのルーティングテーブルを確認し、あて先となるサブネットワークのゲートウェイとなるルータやマルチレイヤスイッチ(L3スイッチなど)に対してARP要求をします。 そのため、ルータのMACアドレスになるように見えるだけです。 ・VPN環境で他の拠点と通信を取った際には通信が取れてもARPテーブルに相手先のIPアドレスの情報が登録されないゲートウェイが登録されているようには見えるのですが・・・ ⇒相手先のIPアドレスが異なるサブネットワークならゲートウェイのMACアドレスが登録されます。 ルータの動作を理解すると分かり易いと思います。 ノードから異なるサブネットワークへの通信をする場合、ノードはルーティングテーブルに登録されているそのサブネットワークのゲートウェイとなるルータに対してARP解決をしそこにパケットを送信します。 パケットを受け取ったルータは、まずレイヤー2の階層でMACアドレスを解読し、レイヤー3に渡し、レイヤー3であて先のIPアドレスを解読します。 その際、ルータは以下の二通りの動作をします。 1.ゲートウェイ(ルータ)があて先のノードと同じサブネットワークにされている場合 そのあて先IPアドレスが自分の別インタフェースに直接接続されているサブネットワーク内に存在するものなら、ルータはパケットの送信元MACアドレスを自らのインタフェースのMACアドレスに変更し、あて先MACアドレスをあて先ノードのMACアドレスに変更(ARPテーブルをみるか、ARP解決)し、パケットを送出します。 2.ルータ(ゲートウェイ)があて先のノードと同じサブネットワークに接続されていない場合 自分の接続されているサブネットワークに存在しない場合は、ルーティングテーブルからそのサブネットワークのゲートウェイ(あて先サブネットワークを知っているルータ)を確認し、ルータはパケットの送信元MACアドレスを、そのゲートウェイと同じサブネットワークに接続されている自らのインタフェースのMACアドレスに変更し、あて先MACアドレスをゲートウェイのMACアドレスに変更(ARPテーブルをみるか、ARP解決)してパケットを送出します。 あて先のサブネットワークが直接接続されているルータに届くまで「2.」の動作をルータ間で繰り返し、直接接続されているルータに届いたら「1.」の動作をし、最終的にはあて先ノードに届きます。

  • Toshi0230
  • ベストアンサー率51% (836/1635)
回答No.2

> ARP要求を行いARP応答が合った場合(中略)ARPテーブルに登録されると認識 これは、「宛先IPアドレスが送信元IPアドレスと同じネットワーク内にある場合」という前提条件が付いた場合のみ正しいです。 異なるネットワークに通信する際は、該当するゲートウェイアドレスのMACアドレスをARP要求し、ARPテーブルに登録されます。 なので、 > ・ルーターを超えている場合はMACアドレスはルーターのMACアドレスになる ARPテーブルには、「ルーターのIPとルータのMACアドレス」が登録されます。 接続先のIPアドレスはARPテーブルにはのりません。 VPN接続時も同様です。 ping応答がないときにarpのエントリを見るのは切り分けの一つの方法ですが、ARPの動作を正しく理解していないと間違った結論にたどり着いてしまうので注意してください。

Natsurou
質問者

お礼

>ARPの動作を正しく理解していないと >間違った結論にたどり着いてしまうので注意してください。 おっしゃっていただいているとおりですね。 その先の通信やフレームも含めてちゃんと理解したいと思います。 ありがとうございました。

  • maesen
  • ベストアンサー率81% (646/790)
回答No.1

>ARP要求を行いARP応答が合った場合に >動的に宛先のIPアドレスとMACアドレスの情報がARPテーブルに登録されると認識していたのですが。 おおもとに勘違いがあるように思いますが違いますでしょうか? ARP要求は宛先IPアドレスに送信するために必要なMACアドレスを得るために行いますが、 この宛先IPアドレスに送信するために必要なMACアドレスには2つのケースがあります。 ・同一ネットワークの場合は宛先IPアドレスそのものに対応するMACアドレス ・異なるネットワークの場合はゲートウェイのIPアドレス対応するMACアドレス つまり、そもそもARP要求を行うときのあて先IPアドレスに設定する値が、本来の宛先IPアドレスではなくゲートウェイのIPアドレスです。 従って、異なるネットワークの場合は宛先IPアドレスに対してARP要求は行っていません。 ARP要求で得ようとしているMACアドレスはレイヤ2(データリンク層)の通信のためのものです。 IP通信はレイヤ3(ネットワーク層)の通信です。 説明が長くなるのでここでは書きませんので入門書や初級ネットワークのWebサイトを参照頂きたいですが、この関係が理解できればわかると思います。 一応参考となるWebサイトを記載します。 http://www5e.biglobe.ne.jp/~aji/3min/29.html

Natsurou
質問者

お礼

ありがとうございます。 ご指摘のとおりそもそも認識が間違っていました。 このなるネットワークの場合は ARPテーブルには 宛先のIPアドレスとルーターのMACアドレス が登録されると思い込んでいました。 異なるネットワークの場合はルーターに向けてARP要求を行い ARPテーブルには ルーターのIPとMACアドレスが登録されるんですね。 記載していただいたサイトや他のサイトも確認して再度勉強しなおします。

関連するQ&A

  • arpがよくわからない。

    arpの動作について、よく分かりません。 通信を円滑に行うために、IPアドレスとMACアドレスを対応づけるテーブルを持つ、というくらいの理解(?)です。 例えば、Windowsのコマンドプロンプトで、「arp -a」を実行するといくつかのプライベートIPアドレスとMACアドレスの組み合わせが表示されるのですが、なぜプライベートIPアドレス(自分の所属するネットワーク内のコンピュータのみのアドレス)しか保存されていないのでしょうか? ルータを介さない通信の場合(異なるネットワークに対する通信ではない場合)に、そのまま(ルータを介さず)相手のMACアドレスに通信をするためでしょうか?また、異なるネットワークのコンピュータのIPアドレスとMACアドレスの対応がないのは、そのネットワークのルータのarpに任せている(?)ということなのでしょうか? 質問が曖昧ですみません。arpの使いどころや、必要性、意義などの理解(データリンク層の理解?)が出来ていないと思います。そのあたりをご教授していただければと思います。 よろしくお願いします。

  • ARPとDNSの関係?

    ARPとDNSは関係がありますか? 例えば、通信したい相手のパソコンのMacアドレスを知らないとき、以下のどちらで解決するのでしょうか? (1)ARPをブロードキャストして、応答があればIPアドレスからMacアドレスを知る (2)DNSサーバにARP要求して、DNSサーバから相手のIPアドレスを教えて貰う

  • サーバに登録されているARPテーブルの原理

    サーバとネットワーク機器Aが通信するとARP応答により、 ARPテーブルが登録されます。 その後、 ネットワーク機器Aを取り外して、ネットワーク機器Bに ネットワーク機器Aと同じIPアドレスを設定して接続すると、 サーバに登録されているARPテーブルは「ネットワーク機器B」 のARPテーブルに更新される場合と、更新されずネットワーク機器Aの ARPテーブルが登録されていました。 なぜ、更新される場合と、更新されない場合があるのでしょうか? LANモニタで確認すると接続した際にブロードキャストは出して いました。

  • ARPテーブルについて

    いつもお世話になっております。 LinuxのARPテーブルについて質問があります。 ARPテーブルに登録されたIPアドレスは、しばらくアクセスせずに放置しておくと勝手にクリアされます。 このクリアされるまでの期間がどのくらいなのか調べたいのですが、計測した結果はおよそ7分(誤差が±30秒程度)でした。 実際の値は設定ファイルに書き込まれていると思っているのですが、どこを調べてもそれらしいものがありません。 どなたか、ARPテーブルのクリアされるまでの期間が記録されている場所を知っている方、教えていただけないでしょうか?

  • SNMPでARPテーブルの取得は可能でしょうか?

    SNMPでL3スイッチやルータのARPテーブルの取得は可能でしょうか? また、L2スイッチ(管理VLANにIPアドレスを設定できるもの)は、ARPテーブルを持つのでしょうか?

  • VPN設定(クライアントにグローバルIP)

    次のようなことを実現したいです。 <拠点A> グローバルIPアドレス: 202.XXX.XXX.70 - 202.XXX.XXX.78 プライベートネットワークアドレス: 172.16.10.XXX <拠点B> グローバルIPアドレス: 207.XXX.XXX.50 - 207.XXX.XXX.58 プライベートネットワークアドレス: 172.16.30.XXX 拠点Aと拠点BはVPNで繋がっております。 都合上、拠点Aに202.XXX.XXX.74と固定のグローバルIPアドレスをクライアントに振り、同様に拠点Bにも207.XXX.XXX.55とクライアントに振ってあり、この間をVPNを通して通信する必要がでてきました。 このグローバルIPアドレスを固定に振っているもの同士のVPN接続ができなくて困っています。 VPNは繋がっておりますので、プライベート空間同様の設定をすればグローバルIPアドレスであっても繋がるのではと思ったのですが、うまくいきません、、、 拠点B(客先)からはVPNルーターのグローバルIPアドレスとクライアントに振られている固定のグローバルIPアドレスを情報としてもらっています。 上記以外、拠点B側の設定はまったく分かりません。 拠点A側で行ったこととしては、固定IPのクライアントにNICを2枚挿して、1つをグローバル、1つをプライベートでIP設定しました。 また、ルーティングテーブル中に拠点BのルーターとクライアントのIPへの通信はプライベート側のNICにパケットを転送するように設定しました。 ルーターの設定は、拠点Bからのパケットを固定IPのクライアントに送るようにファイヤーウォールに穴を開けました。 NATやIPマスカレードはグローバルIPをクライアントで持っているため、必要ないと思い設定していません。 トンネルはできていますので、そこへクライアントに固定で振っているグローバルIPが通れば・・・と考えているのですが、、、 行き詰まりました。ご教授頂けたらと思います。 VPNルーター: YAMAHA RTX1500 クライアントOS: WindowsXP

  • ARPパケットの宛先(IP/MAC)アドレス

    ARPパケットの中身ですが アドレスタイプ/アドレス長/オペレーションコード/送信元MACアドレス/送信元IPアドレス/宛先MACアドレス/宛先IPアドレス 分類すると上記に分けられると思うのですが、このとき宛先MACアドレスと宛先IPアドレスには 何が入るのでしょうか? ARPパケットはブロードキャスト送信されるので宛先MACアドレスはそのネットワークの ブロードキャストアドレスが入り、宛先IPアドレスはIP/MACの対応が知りたいIPアドレスが入るのでしょうか? この場合だと宛先IPアドレスと宛先MACアドレスが異なるアドレスになりますが、 これはそういうものと捉えて良いのでしょうか。 少し説明文が分かりにくいかと思われますがご存知の方がいらしたらご教授願います。

  • ルータのARPテーブルから親ルータを判別できるか?

    ルータのARPテーブルから親ルータを判別できるか? という質問です ARPテープルではルーティング情報等が得られますが、その情報からそのARPテーブルを持つルータの「親ルータ(郡)」を識別することはできるでしょうか?

  • VPNのトンネルとNAPT

    各拠点にVPNルーターを設置しまして、 各拠点から中枢のネットワークへとVPNの方式で接続させる、 という状況の下では、 中枢側のルーターから各拠点のルーターへと『プライベートIPアドレス』が割り当てられているのだろう、 と私は勝手に認識して参りました。 従いまして、もしかしますと、私の根本的な誤解が含まれているのかも知れませんが、間違いを残した儘では心配になりますので、伺います。 ★『VPNクライアント』の各ルーター(ノード)の配下に属しているホスト群へは、其の『VPNクライアント』からプライベートIPアドレスが割り当てられていますが、其のIPアドレスが『VPNサーバー』側から割り当てられてはいませんので、 もし其のホストが『VPNサーバー』側のLANのリソース群を利用するのでしたら、 其処の『VPNクライアント』のルーターを経由する際に、 "NAPT"が適用されるのでしょうか?

  • vpnについて

    お世話になっております。 さて、今3拠点のvpnを構築している最中なのですがうまく行きません。 拠点1:固定グローバルIP 10.100.0.0/24 yamaha rtx1000 拠点2:固定グローバルIP 192.168.0.0/24 yamaha rtx1000 で実験しているのですが拠点1のPCから拠点2のPCにpingすら通りません。yamahaのサポートに確認したところルータの設定自体は問題ないようなのですが、何かクライアントの方で設定する必要はあるのでしょうか。