- ベストアンサー
受信時のルーティング
いつもお世話になっています。 今回お聞きしたいことは、誰かが私のパソコンにパケットを送る際の 経路はどのように決まるのか? ということについてお聞きしたいと思います。 私の環境は仮に IPAddress :210.248.112.111 NetMask :255.255.255.0 Default Gateway :210.248.112.1 だとすると、私が何処かのサーバにアクセスした際には必ず210.48.112.1を 経由して私のサーバにパケットが届くものだと思っていました。 しかし試しに IPAddress :210.248.112.111 NetMask :255.255.255.0 Default Gateway :210.248.112.33(ここもインターネットに繋がっている) としても問題なくブラウジング等出来てしまいます。 識者の方には上記の説明は蛇足かと思いますが、今回私が お聞きしたいことは(サブ)ネットワークからパケットが出る際にはDefault Gatewayから 出れば良いが、(サブ)ネットワークにあるホストにパケットが届く際には そのホストへパケットを送る「ルータ」はどのように 決定するのか、ということです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは あるIP に到達するまでに、様々なネットワークを介して通信が行われますが、 このネットワークを接続しているのが、ルータなどのルーティング・デバイスになります。 ネットワークは、このルーティング・デバイスの転送機能によって、 異なるネットワーク間の通信ができるようになっており、 転送先を決定しているのが、ルーティングテーブル(=経路情報)になります。 ---------- 余談ですが、Cisco などの高速ルーティング・デバイスは、 ルーティングテーブルとは別にIPフローのキャッシュテーブルを持っており、 高速で正しい経路へフォワードされます。 ---------- もちろんPC もルーティングテーブルを持っており、 Windows PC であれば”route print”、 UNIX 系であれば”netstat -rn”で確認できます。 通常、PC には”Default Gateway”を一つ登録し、 自分自身の所属するサブネット以外のネットワークへの通信は、 そのルータに転送されます。 会社や家庭などのルータは、LAN 内のNW 以外のアドレスは、 全てISP にルーティングする”Default Route”が利用されますが、 ISP 内のルーティングデバイスの中には、 全てのルート(=FULL Route)を持つものもあります。 そもそも、ルーティングテーブルには、ルート情報が必要になりますが、 コレを手動で登録したルートを”Static Route”、 ルーティングデバイス同士が自動で交換しあったルートを”Dynamic Route” と呼びます。 また、同じネットワークアドレスへのルーティング情報が複数登録される事もあり、 通常はメトリックやコスト、Prefference、Administrative Distance といった 優先順位に基づいて一定のルートに固定して転送されます。 しかし、設定によっては優先順位を同じにして、 異なる経路を選択させることも可能です。 このことを”イコールコスト・マルチパス”と呼びます。 転送先の決定には、順番に振り分け先を替えていく”ラウンドロビン方式”や、 通信の割合で決定される”重み付け方式”などがあります。 ラウンドロビン方式の中にも、通信先ごとに振り分けを行ったり、 パケット単位で振り分けを行ったりする方法があります。 ------------ 余談ですが、Cisco のデフォルトでは同じ通信先に対しては、 必ず同じ経路をたどります。 ------------ 但し、振り分けについては注意が必要で、Firewall やロードバランサなどの セッション管理装置を介す通信は、必ず同じ経路をたどる必要があります。 例えば、あるサーバに対して1パケット目はFirewall-A を通り、 2パケット目がFirewall-B を通ると言った通信は通常許されません。 また、戻りのパケットも来た時と必ず同じ経路を戻る必要があります。 これは、通信をIP よりも上位レイヤまで参照できるFirewall などの装置は、 ”セッションテーブル”で通信ストリームを管理しているからで、 1・2・3・・・と続くはずの通信が、1・3・・・となった時には、 セッションが破棄されます。 少し話がそれてしまいましたが、 経路の選択はルーティング・デバイスが持つ、 ルーティングテーブルに従って行われます。 ルーティングテーブルは変更される事もあるため、 必ずしも同じ経路をたどるわけではありません。 PC などでTraceroute を行ってみてください。 どういった経路をたどっているか確認が可能です。
その他の回答 (2)
- Toshi0230
- ベストアンサー率51% (836/1635)
No.1さんと同じ答えですが、「ルータが持っている経路情報に従って」決定します。 どのように経路情報を持たせるか、というのはネットワーク設計者が設計時に決定します。 なので、パケットの「行き」の経路と「帰り」の経路が異なることも往々にしてあります。
お礼
返答が遅くなり申し訳ありません。 ルーティングというものを勉強しました。 経路の選択についてはルータが持っているルーティングテーブルによるもので 私のパソコンの設定はまったく関係無いんですね。 勉強になりました、ありがとうございます。
- nick2038
- ベストアンサー率34% (55/160)
送り出し側から見て、到達可能なルートの中で一番メトリックが小さいところです。(まぁメトリックと限った訳でもないですが) 受け取り側から見た経路は関係ないです。
お礼
返答が遅くなり申し訳ありません。 ルーティングというものを勉強しました。 経路の選択についてはルータが持っているルーティングテーブルによるもので 私のパソコンの設定はまったく関係無いんですね。 勉強になりました、ありがとうございます。
お礼
返答が遅くなり申し訳ありません。 ルーティングというものを勉強しました。 経路の選択についてはルータが持っているルーティングテーブルによるもので 私のパソコンの設定はまったく関係無いんですね。 勉強になりました、ありがとうございます。