こんにちわ。
1つのPCに2枚のNICを挿して、AとBのネットワークにつなげています。
デフォルトゲートウェイはAのネットワークのみを指定しています。
で、Bのネットワーク向けのFTPなどをしてもちゃんとBの先のサーバに通信できているのですが、
このときのパケットは、どういう動きというか流れをしているのでしょうか。
Aのルータが受け取って、これはBのルータ向けだよとPCに戻して、
PCがB用のNICを見つけて、Bのルータに向けてパケットを出すのでしょうか?
あまりに初心者ですいません。。
よろしくおねがいします。
No.3ベストアンサー
- 回答日時:
OSがルーティングテーブルを見て、送信先のIPアドレスから送信に使用するNICを決定します。
コマンドプロンプトから、route printを実行するとルーティングテーブルを参照可能です。
質問者のPCのように、複数のネットワークに足を出している形態のことを、
一般にマルチホーミングと呼びます。
実際にマルチホームしているPCのルーティングテーブルの例ですが、こんな感じです。
192.168.1.0/24と192.168.168.0/24にマルチホームしています。
自分自身のIPアドレスは、192.168.1.129、192.168.168.1です。
デフォルトゲートウェイは192.168.1.1です。
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.129 1
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
192.168.1.0 255.255.255.0 192.168.1.129 192.168.1.129 1
192.168.1.129 255.255.255.255 127.0.0.1 127.0.0.1 1
192.168.1.255 255.255.255.255 192.168.1.129 192.168.1.129 1
192.168.168.0 255.255.255.0 192.168.168.1 192.168.168.1 1
192.168.168.1 255.255.255.255 127.0.0.1 127.0.0.1 1
192.168.168.255 255.255.255.255 192.168.168.1 192.168.168.1 1
224.0.0.0 240.0.0.0 192.168.1.129 192.168.1.129 1
224.0.0.0 240.0.0.0 192.168.168.1 192.168.168.1 1
255.255.255.255 255.255.255.255 192.168.1.129 192.168.1.129 1
255.255.255.255 255.255.255.255 192.168.168.1 192.168.168.1 1
全ての通信の宛先IPアドレスは、この行のいずれか1つに必ず合致します。
合致するかどうか、比較する際の基準は、longest matchと呼ばれます。
比較の方法は、若干専門的な説明になりますが、以下のとおりです。
宛先IPとNetmaskを、数学でANDと呼ばれる計算方法で計算します。
得られた値とNetwork Destinationが一致していれば、その行は合致する候補になります。
複数の行が合致候補になった場合、Netmaskが一番大きい行が最終的な合致結果となります。
Netmaskも同じ大きさの場合は、Metricが小さいほうが最終的な合致結果となります。
最終的に合致する行が見つかったら、Interfaceのところで示されているNICを使って送信します。
また、Gatewayのところで示されているIPアドレスが自分自身のものと同一の場合は、
自分が宛先への送信について責任を持って、直接送信を行います。
そうでない場合は、Gatewayに転送することで、以降の送信については任せる形になります。
より詳しく知りたい場合は参考URLをご覧ください。
いくつか具体例を挙げて説明します。
例1:宛先IP=192.168.1.2の場合
もっとも長く一致する行は
Network Destination Netmask Gateway Interface Metric
192.168.1.0 255.255.255.0 192.168.1.129 192.168.1.129 1
なので、192.168.1.129のインタフェースが選択されます。
送信の際使用する送信元アドレスは、選択されたインタフェースのアドレスになります。
ゲートウェイは自分自身のIPなので、宛先IPアドレスに対して自分自身が直接送信を行います。
例2:宛先IP=192.168.168.2の場合
もっとも長く一致する行は
Network Destination Netmask Gateway Interface Metric
192.168.168.0 255.255.255.0 192.168.168.1 192.168.168.1 1
なので、192.168.168.1のインタフェースが選択されます。
送信の際使用する送信元アドレスは、選択されたインタフェースのアドレスになります。
ゲートウェイは自分自身のIPなので、宛先IPアドレスにに対して自分自身が直接送信を行います。
例3:宛先IP=192.168.2.1の場合
もっとも長く一致する行は、
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.129 1
なので、192.168.1.129のインタフェースが選択されます。
送信の際使用する送信元アドレスは、選択されたインタフェースのアドレスになります。
ゲートウェイは自分自身のIPではないので、192.168.1.1に対して送信を行い、
あとは192.168.1.1に任せます。
このルーティングテーブルは、管理者権限を持っているユーザであれば、
行を追加したり削除したりすることが可能です。
このルーティングテーブルに基づいて、送信インタフェースとゲートウェイを決定した後は、
送信に使われるメディアに合わせてアドレス解決等の処理を行った上で、
実際の送信が行われます。
ほとんどの場合、メディアはイーサネットだと思いますが、
その場合、MACアドレスが送信に必要なので、必要に応じてARPを使い、
相手のMACアドレスを調べた後、送信するということになります。
調べた結果はコマンドプロンプトでarp -aを実行すると分かるように、
一定時間記憶され、再利用します。
--------------------------------------------
整理すると、
分かっているのは宛先IPアドレスのみの状態から、ルーティングテーブルを見て、
・使用するインタフェース
・送信元IPアドレス
・直接相手に送るか、Gatewayに転送するか
の3つを決定します。
その後、直接相手に送る場合は相手のMACアドレス、
Gatewayに転送する場合はGatewayのMACアドレスをARPで調べ、
NICからイーサネットに送り出す、という流れになります。
参考URL:http://www.microsoft.com/japan/technet/community …
想像を絶する丁寧なご回答、大変ありがとうございました。
内容もわかりやすく、まさに現在知りたかったことがよく理解でき、とても勉強になりました。
ご紹介いただいたURLのバックナンバーを読んで勉強したいと思います。
本当にありがとうございました。
No.2
- 回答日時:
これは、PCがB用のNICに対してパケット送信するね。
仮に次の構成を考えてみるどこぞのWebサーバー(IP不明)
|
Aのルータ(192.168.1.254/24)
|
君のパソコン ここより上がAのNIC、下がBのNIC
|
B用のFTPサーバ(192.168.2.200/24)
ここで、君のパソコンのIPアドレスを、Aが192.168.1.1/24、Bが192.168.2.1/24としよう。FTPサーバのIPアドレスは簡単のために192.168.2.200とする。
まず、複数送信先候補がある場合、どこに投げるかというのは「ルーティング」と言う。
君のパソコンがB用のFTPサーバに接続する際、システムはまず、相手のIPアドレスのサブネットを特定する。と言っても、相手が設定しているサブネットがわかるわけではないので、自分の中に登録されているものを使う。
ルート先のサブネットと一致すれば、パソコンはそこに向かってパケットを送信する。ここでいうルート先とは、AのNICとBのNICだ。今回、FTPサーバはそのままBのNICのサブネットと一致するので、Bに送信する。
どこぞのWebサーバにデータを投げる際、どこに投げて良いか分からないので、デフォルトゲートウェイに投げる。実際、デフォルトゲートウェイとは、先ほど言ったルーティングのルールとして「全ての条件(あて先)に該当する」ルート先、と言える。
これが、制的ルーティングとデフォルトゲートウェイのお話だ。
ほかにも、動的ルーティングというものもあるけど割愛。
制的ルーティングにはルーティングテーブルという物を用いる。このテーブルを見るには、DOS窓を開いて、
C:\>route print
とすると良い。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ゆるやかでぃべーと タイムマシンを破壊すべきか。
これはディベートの論題だと仮定したうえでの回答お願いします。あなたは、その末にタイムマシンを壊してしまうのか、使い道を探すのかどうかを考えてもらいたいです。
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
NICを2枚差しするとpingが通らない
SSL・HTTPS
-
NICを2枚挿したときのデフォルトNIC
SSL・HTTPS
-
NICを2枚差しで、インターネット用とPC間のファイル共有用に使用したいのですが上手くいきません
ネットワーク
-
-
4
PCにNICを2枚挿しした時のファイアウォール設定
セキュリティホール・脆弱性
-
5
1台のPCに2本のLANケーブルを接続すると?
その他(インターネット接続・インフラ)
-
6
NIC2枚差し WEBサーバーで2系統のLANどちらからもWEBサーバー内のWEBページを開きたい
ネットワーク
-
7
NICが2枚のときに、PINGで返ってくるIPを変えたい
その他(インターネット接続・インフラ)
-
8
LANカードを 2枚挿して 社内LANとインターネットを 使い分けたい
その他(インターネット接続・インフラ)
-
9
UdpClient 送信元のIPアドレスの指定方法
C言語・C++・C#
-
10
スイッチングハブにセグメントを混在したら同セグメントだけ通信しますか?
ハッキング・フィッシング詐欺
-
11
デバイス \\Device\\Harddisk0\\DR0 に不良ブロックがあります。
ドライブ・ストレージ
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
宛先の「'」(アポストロフィー)
-
BCCで送信したあと、誰に送った...
-
Gmail 勝手にメールが送信される
-
EXCEL VBA メール送信でファイ...
-
一斉送信のリストが作成出来る...
-
NICを2枚さしたときのパケット...
-
EdMax メール一斉送信数の限定...
-
メールはBCCだけでも届くものな...
-
送信済みフォルダの新規フォル...
-
AL Mailで送信でいません。
-
「その後どうなりましたか?」...
-
アウトルックの受信トレーの赤...
-
Gmailについて
-
パーマネントエラーってなんで...
-
サンダーバード送信時に送信フ...
-
好きな人にLINEを送って、4時間...
-
今も資料をお持ちでしょうか?...
-
誤配された宅配物を返さない こ...
-
添付ファイルを変更して返信
-
本メールが届いてから2営業日以...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
宛先の「'」(アポストロフィー)
-
メール送信直後に『Delivery St...
-
NICを2枚さしたときのパケット...
-
エクセルで、勝手にメール送信...
-
BCCで送信したあと、誰に送った...
-
Gmail 勝手にメールが送信される
-
下書きメールが消えてしまいました
-
EメールでBCCのみで送信できま...
-
エクセルからメールを送信する...
-
送信済みフォルダの新規フォル...
-
メール送信 一部宛先エラー
-
メールのヘッダー
-
BCCで一括メール送信のエラーに...
-
メールはBCCだけでも届くものな...
-
EXCEL VBA メール送信でファイ...
-
エクセルに「メール送信ボタン...
-
携帯電話メールの一斉送信について
-
Outlook Expres...
-
ファイル→送信の中に「メールの...
-
AL Mailで送信でいません。
おすすめ情報