🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
ARP

ARPは、TCP/IPネットワークでIPアドレスからEthernetのMACアドレスを動的に得るための通信プロトコルです。EthernetでIPアドレス宛てのパケットを送信するためのIPアドレスを持つ機器を特定し、対応したMACアドレスを知るための手順を定めています。

Q&A

解決済

1回答

792閲覧

ARPのIPアドレスの知り方

rashild

総合スコア27

ARP

ARPは、TCP/IPネットワークでIPアドレスからEthernetのMACアドレスを動的に得るための通信プロトコルです。EthernetでIPアドレス宛てのパケットを送信するためのIPアドレスを持つ機器を特定し、対応したMACアドレスを知るための手順を定めています。

0グッド

0クリップ

投稿2019/09/30 13:35

Arpは宛先のIPアドレスからMACアドレスを知ることができ
その宛先MACアドレスをEtherフレームに格納することで他端末またはデフォルトゲートウェイ(ネットワーク外部)と通信ができる?という認識なのですが
宛先のIPアドレスはどのようにして知っているのでしょうか?
同じルーターに接続している時点で互いのIPアドレスはわかるのでしょうか?

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

最初から宛先IPアドレスとして指定されているか、またはホスト名を宛先として指定されてDNSを参照してホスト名からIPアドレスに変換します。

あるいは別の方式として、どういう通信をしたいかをブロードキャストして、応答を受けることで、通信したい相手のIPアドレスを知ることができます。

投稿2019/09/30 13:47

otn

総合スコア85886

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

rashild

2019/09/30 14:01

もう少し質問しても良いでしょうか。 規模的には小さいのですが家庭内のルーターを経由した特定の端末との通信を例として考えると、宛先IPアドレスが指定されていると他の端末とは通信できず、ホスト名を宛先とするならルーターを宛先として指定してもそこから特定の端末と通信したいとルーターがどうやって理解するか仕組みがわかりません。 相手を指定したいときどのように特定しているのでしょうか。 お時間があればよろしくお願いします。
otn

2019/09/30 14:14 編集

ちょっと意味が分かりません。どういう状況のことでしょうか? > 宛先IPアドレスが指定されていると他の端末とは通信できず、 通信相手のIPアドレスが判明している状態だと、他の端末と通信しないのは当たり前ですよね。 > ホスト名を宛先とするならルーターを宛先として指定してもそこから特定の端末と通信したいとルーターがどうやって理解するか この文は全く意味が分かりません。
rashild

2019/10/04 13:22

返信が遅れました、すみません。 最初から宛先IPアドレスとして指定されているということがわかりません。 通信相手のIPアドレスを知るには何かしらの通信をしないといけないと思っているのですが、"最初"というのがどの時点なのか理解できていないです。
otn

2019/10/04 15:17

「最初」というのは、「通信したいという要件」が生まれた時です。 通信したいという要件が生まれた時点で、普通はどこと通信するのかが決まると思いますが、決まらないのはどういう通信を考えているのでしょうか? どこと通信するのかが決まらない通信要件の話が、回答文の後半です。
rashild

2019/10/05 01:33

>どこと通信するのかが決まらない通信要件 これは通信を行う自分のPCの中に通信したことのあるipアドレスのテーブルのようなものがあって、それに当てはまらない場合ブロードキャストして相手のipを知るということでしょうか。 >決まらないのはどういう通信を考えているのでしょうか? 上の質問の続きになりますが 通信したいという要件が生まれ、相手側の端末と通信したいのですが通信したことのない端末の場合ipアドレスが分からないので、ブロードキャスト通信をすると思うのですが、これでは相手側を区別できないのではないかと思っています。 otnさんの一番最初の回答文の中に"どういう通信をしたいかをブロードキャストして"とありましたが 例として、同ネットワークに通信したことのないpc2,pc3があった時、pc2のみと通信したい場合ブロードキャストをするときのパケットの中にipアドレスやmacアドレス以外にpc2のみと通信したい!と受け取り側が認識できる情報があるということでしょうか? また、この場合どこと通信するのか"決まらない"のではなくブロードキャストipアドレスに"決まっている"ということでしょうか? 長文すみません。
otn

2019/10/05 04:21

なんか、最初のところで、大きな勘違いをしているのだと思いますが。 IPアドレスがわからないPC2という名前のPCと通信したいのであれば、 1.自PCのhostsというファイルを参照してIPアドレスを調べる 2.DNSサーバーに、PC2という名前のPCのIPアドレスを問い合わせる 3.WindowsでNetBIOSoverTCPIPを有効にしてあれば、ブロードキャストでPC2という名前からIPアドレスが調べられる 4.企業内とかであれば、何らかのそれ用に構築されたディレクトリサービスでPC2という名前のPCのIPアドレスを調べる など、IPアドレスを調べる方法は複数あります。
rashild

2019/10/08 10:17

理解できていませんが、日数も経ったのでベストアンサーにさせていただきました。 パケットキャプチャの教科書という本で勉強している最中ですが全く理解ができていないようです。 読み進んで理解したいと思います。 なんども質問に答えていただきありがとうございました。
otn

2019/10/08 10:24

繰り返しになりますが、通信したいという要件が発生した時には、 1.相手のIPアドレスがわかっている 2.相手のホスト名がわかっている 3.「xxxというサービスを提供しているサーバー」ということがわかっている のどれかのはずです。これ以外にもあると思いますか?
rashild

2019/10/08 13:23

いや、むしろ私は相手のipアドレスが分からないと通信ができないと思っていて、そのipアドレスを一度も通信したことのない端末からどうやって知ることができるのだろうか?と思っていました。 しかし、考えてみるとwebブラウザからurlを入力したり、検索キーワードを入力してpostを送っている時点でそのサイトのドメイン=ipアドレスを"知っている"ことになるのでipアドレスからmacアドレスを知ることができるということだったのでしょうか。 だとするとARPが少し理解できそうな気がしました。
rashild

2019/10/08 13:25

>相手のipアドレスが分からないと通信ができないと思っていて。 1.2.3のどれかというよりはipアドレスが分からなけば2や3を知っていてもipアドレスを知ることができないし、通信もできないと思っていました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問