• ベストアンサー

ルータ ルーティングの仕組み

今TCP/IP関連でルーティングについて勉強しています。 初歩の初歩の超初歩レベルです。 それで疑問に思ったのがどのようにルーティングしているかということです。 インターネットは世界中にネットワークが広がっているわけですから、そこから特定のIPアドレスを探すというのはとんでもなく大変そうです。 例えば、地球の裏側であるブラジルのマイナーなホームページのIPアドレスなんて、日本のルータのルーティングテーブルに登録されているとは思えません。 とすれば、どのようにして、そのホームページのIPアドレス先までたどり着くのでしょうか? 解説サイトなどをみるとルーティングはバケツリレーのようなものだと例えられていますが、地球上のどこにあるか分からないIPアドレスにたどり着くには、天文学的なバケツリレーの数になり、通信速度の激しい低下やネットワーク資源がパンクしそうに思えます。 しかし、実際にはブラジルのホームページでも何でも一瞬で表示され、インターネットもその程度ではパンクしません。 何故でしょう? また、一般的(???)なルータにはルーティングテーブルのリストがどのくらいの数登録されているのでしょうか。 以上、超初心者なのでとんちんかんな質問かもしれませんが、よろしくお願いします。

  • jyuzou
  • お礼率77% (238/307)

質問者が選んだベストアンサー

  • ベストアンサー
  • janis999
  • ベストアンサー率62% (37/59)
回答No.4

Jyuzouさん、こんにちは。 いくつか質問をいただきましたので、簡単ですが回答させていただきます。 「IPアドレスの固まり」というのはおっしゃるとおり、ネットワークアドレス部の事です。 17万経路というのは、IPアドレスの固まりが17万あるという事です。あくまでインターネット上で現在有効なものがです。 この固まりを細かい固まりに分割して企業や団体などに割り当てられています。 ISPなどが持つ、フルルート(現在のインターネット上にある全てのIPアドレスの固まり)を受け取っているルータで約17万経路を保持しているということです。ですから、どのISPにあるフルルートを受け取っているルーターは全て17万の経路情報を持っているということになります。 簡単ではございますが、回答とさせていただきます。

jyuzou
質問者

お礼

度重なる回答感謝いたします。 どうもありがとうございました。

その他の回答 (3)

  • kuma-ku
  • ベストアンサー率54% (1558/2845)
回答No.3

こんばんは > 地球の裏側であるブラジルのマイナーなホームページのIPアドレスなんて、 > 日本のルータのルーティングテーブルに登録されているとは思えません。 確かに細かい[aaa.bbb.ccc.ddd]と言った、ホストアドレスまでは、 日本のルータがRouting 情報として持っていません。 しかし、[aaa.bbb.ccc.0/24]や[aaa.bbb.0.0/16]、[aaa.0.0.0/8]と言った、 大きなネットワークの塊が、どのISP の先に繋がっているかを知っています。 言い換えれば、Internet 上のすべてのルート情報(フルルート)を持っているため、 世界中のInternet に繋がっているパブリックなネットワークにルーティングできるようになっています。 家庭で使用しているような、ブロードバンドルータの場合、 LAN のNW 以外はISP のルータにルーティングするDefault Route で通信を行うため、 数十程度のルート情報を記憶できれば十分です。 また、一般的な企業で使用されるようなInternet ルータの場合でも、 自社内のルート情報を扱うクラスや帯域などで選定され、 Internet にはDefault Route を利用します。 しかし、ISP のコア~IX で使用されているクラスのルータは、 世界中のルート情報を扱えるよう、 数十万~数百万クラスのルート情報を格納できるようなルータが利用されています。 ただ、ルート情報は経路集約されており、ある程度最適化されています。 この結果、可能な限り最短距離を選択し、目的のNW に到達できるようになっており、 地球の裏側でもおおよそ20hop 程度で通信が行われます。 最後に勉強される際に、ぜひ訪れて欲しいページをいくつか紹介しておきます。 http://www.atmarkit.co.jp/fnetwork/index/index_router.html http://www5e.biglobe.ne.jp/~aji/3min/index.html http://www.atmarkit.co.jp/fnetwork/rensai/iprt01/iprt01.html 以下のページは少し難しいですが、大規模なルーティングを学ぶには最適だと思います。 http://www5e.biglobe.ne.jp/~aji/30min/index.html http://www.nic.ad.jp/ja/materials/iw/2005/proceedings/index.html ”ISPバックボーンネットワークにおける経路制御設計” http://www.nic.ad.jp/ja/materials/iw/2002/proceeding/ ”ISPバックボーンネットワークにおける経路制御設計・その理論と実践” 頑張ってください。

jyuzou
質問者

お礼

少しわからない用語もありますが、丁寧な回答どうもありがとうございます。 リンク先の方もすこしずつ読んでいきたいと思います。 どうもありがとうございました。

  • mii-japan
  • ベストアンサー率30% (874/2820)
回答No.2

少し正確性を欠きますが、判りやすく説明します 同一サブネットに属しているルータが複数あります ひとつのルータは複数のサブネットに接続されています ですから、ひとつのあるひとつのルータから見て、同一サブネットに属しているルータは複数あります(当然そのサブネットはひとつではありません) そこで、ルータ同士が情報を交換します(交換しないで固定で設定する場合もあります) Aルータのサブネット1にB,Cルータ、サブネット2にDルータ、サブネット3にE,F,Gルータと言うように接続されています そうして、Aルータは サブネット11への接続は Cルータ、サブネット21への接続はFルータ と言うような情報を入手するか設定されています この時に、どこへ送れば良いか判らないものは特定のルータに送れという設定がなされます、これがデフォルトゲートウェイです(これも情報交換で設定される場合と固定的に設定される場合があります) どこへ送ればよいか判っている宛先へ送る場合そのルータへ、送り先が不明の場合はデフォルトゲートウェイへ送ります 受け取ったルータが宛先が判っていればそこへ、判らなければ、そのルータのデフォルトゲートウェイへ送ります このように次々に手渡し式に送っていくとどこかで宛先を知っているルータに巡り合えて、相手へ届けられます これがうまく行かないでぐるぐる回りすることも考えられるので、手渡し何回で相手が見つからなかったら廃棄しろと言うことも決められています

jyuzou
質問者

お礼

回答どうもありがとうございました。

  • janis999
  • ベストアンサー率62% (37/59)
回答No.1

jyuzouさん、こんにちは! まずインターネットというネットワークですが、これはISP(プロバイダー)同士が様々な形で接続されている巨大なネットワークのことをいいます。 次にIPアドレスですが、全世界のIPアドレスを一元管理しているところがあり、各ISPは必要な数のIPアドレスを申請して、割り振りをもらいます。 ISPには何万ものユーザーがいるので、もらうIPアドレスの数も何万にもなります。 その何万ものIPアドレスをもらう際には、ここからここまでのIPアドレスの範囲、という形でもらいます。要は固まりでもらうということです。 各ISPには複数のルーターが設置されていて、自分達がもらったIPアドレスの固まりを自分が持っているよ!と隣のルータに伝えます。 こうやって、隣に隣にと伝え続けることにより、インターネットに接続している全てのルーター(ISPとして使っているルーターのことです)が全てのIPアドレスの固まりを知ることになります。 現在のインターネット上にはIPアドレスの固まりが17万くらいあります。 実際にインターネットする際には、ルーターにパケットが飛んできたら、ルーティングテーブルの中から行き先を見て、一番近い出口からパケットを出します。 そしてもらった隣のルーターも同じように処理して最後につながるのです。これがバケツリレーってことです。 こんな回答でよろしいでしょうか?

jyuzou
質問者

お礼

回答どうもありがとうございます。 おっしゃっている「IPアドレスの固まり」というのはネットワークアドレス部ということでしょうか? すると世界中にこのネットワークアドレスは17万くらいしかなく、それ以外はホストアドレスやプライベートアドレスで管理しているということでしょうか? また、それぞれのISPのルーティングテーブルには17万のリストが保持されているということなのでしょうか? 再質問になってしまいましたが、時間がありましたら回答頂けるとありがたいです。

関連するQ&A

  • ルータのルーティングテーブルには、たいていデフォルトゲートウェイ(?)がある?

    下記のアドレスのページ等を見ると、ルータはパケットを受け取るとその中の宛先IPアドレスのネットワークアドレスを見て、自分の持っているルーティングテーブルを参照して次のルータにパケットを渡し、ルーティングテーブルに無ければパケットを破棄する、とあるのですが、多くの場合はルーティングテーブルに宛先ネットワークアドレスの情報はないと思うのですが、どうなのでしょうか?(あるとしたら、ものすごくたくさんのデータをテーブルが持ってないといけない気がするのですが) ないとすると、ルータもPCのように、デフォルトゲートウェイを持っていて、ルーティングテーブルにないネットワークアドレスのパケットは、そこに送られる、ということになるのでしょうか? よろしくお願いします。 http://www.itbook.info/study/p74.html

  • インターネットの仕組み(ルーティング)について教えてください

    非常に不思議です。 インターネットで,例えば,日本のある企業のホストから,アメリカのある企業のホストへデータを送る場合,ルータのルーティングテーブルを参照しながら,ルーターを経由してアメリカの目的のホストへ届くと本に書いてありました。そこで疑問なのですが, 1.ルータのルーティングテーブルには,全世界全てのネットワークアドレスが記述されているのですか。だとすれば,ものすごい数になりますが,ネットワークの追加・変更・削除があった場合,どうやってテーブルを修正するのですか。世界全てのルータのテーブルを例え何かの方法で自動修正したとしても,すごい時間がかかるのではないですか。(本では,ルータに隣接する全てのルータに変更内容を通知し,それを受け取ったルータは,さらに自分と隣接する全てルータに変更情報を通知するとありましたが・・・) 2.JPNICはIPアドレスの割り当てを行っているところと書いてありましたが,それだけですか。上記のようなルーティングについて監視や統制は行っていないのですか。 インターネットに詳しい方,よろしくお願いいたします。 (これを考えだすと夜も眠れません・・・)

  • ルーターのルーティングテーブルについて

    ネットワーク機器のルーティングテーブルについて教えて下さい。 ルーターなどのルーティングテーブルを見ると、 ・行き先IP ・行き先サブネット ・ゲートウェイIP ・出力先IF の4つが書かれていました。 行き先IP、サブネット、ゲートウェイは解るのですが、 出力先IFというのは本来MACテーブルというものに書かれているものではないのでしょうか? 表示上だけは一緒に書かれているけど、本来テーブルとしては別で持っていて、毎回 (1)ルーティングテーブルを見てゲートウェイのIPを調べる (2)ARPテーブルを見てゲートウェイのMACを調べる (3)MACテーブルを見てゲートウェイに繋がってるIFを調べる ・・・という機械動作を、 ルーターは毎回行うのでしょうか?

  • ルータのルーティングテーブル

    こんにちは ルータのルーティングテーブルについて質問ですが、 ルータのルーティングテーブルはどのような構造になっているのでしょうか。 たとえば ルータLAN側のIPが192.168.0.1 PCが192.168.0.2 ルータのWAN側が150.10.10.10 だった場合にPCから150.10.10.10にアクセスすると ルータの設定画面にいきます。 このときルータはどのように処理してルーティングテーブルを参照しているのでしょうか。 よろしくおねがいします。

  • ルーターのルーティングについて

    PC初心者です。 IPアドレスとルーティングのしくみについての質問です。 光回線⇔(0)HUB(1)⇔(2)ルーター(3)⇔(4)PCという接続なのですが ルーターのルーティングテーブルを見ると自動で下記のものが設定されてました。 フラグ ネットワークアドレス サブネットマスク ゲートウェイ インタフェース C aa.bbb.ccc.df 255.255.255.255 ダイレクト WAN C aa.bbb.ccc.de 255.255.255.224 ダイレクト WAN C 192.168.11.0 255.255.255.0 ダイレクト LAN (f=e-1) まず確認なのですが 192.168.11.0が(4)の口 aa.bbb.ccc.de、aa.bbb.ccc.dfが(2)または(3)の口 を表しているのですか? またpingを打ったところaa.bbb.ccc.deだけつながらなかったのはなぜでしょうか? また、http://www.ugtop.com/spill.shtmlでグローバルIPアドレスを確認したところaa.bbb.ccc.mnとなっていました。 上の2つaa.bbb.ccc.df、aa.bbb.ccc.de、とこのaa.bbb.ccc.mn の計3つがグローバルIPとして外から見えているのでしょうか? (なぜグローバルIPは一つではないのでしょうか?) 以上長文ですが、何卒よろしくおねがいいたします。

  • 【ルータ】ルーティングの設定で。。。

    現在、ルータ(WBC V100M)の設定をしております。 (まだ本番のネットワークには乗せず、PCと1対1で設定してます。) 設定状況を下記します。 【ルータ】 IP:192.168.8.1 サブネットマスク:255.255.0.0 DHCP機能:無効 ※クライアント端末に固定IPをふっているので。 【PC】 IP:192.168.0.100 サブネットマスク:255.255.0.0 デフォルトGW:192.168.8.1 この状態でルータの設定を行っており、 ルーティングの設定で、 宛先:192.168.0.0/16 ゲートウェイIPアドレス:192.168.8.2 …と設定したら、ルータに接続出来なくなります。 個人見解では、現在1対1で設定している為、 ゲートウェイIPアドレスに設定した、192.168.8.2の アドレスが見えないからだと思っているのですが、 この考えは間違っていないでしょうか? また、本番ネットワークにルータをつなげたら、 192.168.8.2は見えるので、ルータに接続出来ないという事は ないと思っていいのでしょうか?

  • ルータとルータ間の接続

    現在、YAMAHAのルータRT57iを使って、ルーティングをやろうとしています。 ストレートケーブルにてRT57iのLAN1ポート同士を接続しております。 ルーティングしたいエリアは、以下のとおりです。 ●ネットワークエリア:A ルータIP:192.168.46.1 ネットワークエリア:192.168.46.0/24 ●ネットワークエリア:B ルータIP:192.168.51.254 ネットワークエリア:192.168.51.0/24 AとBそれぞれにルーティングテーブルを設定し、 A側ルーティングテーブル: ip route 192.168.51.0/24 gateway 192.168.51.254 metric 2 B側ルーティングテーブル: ip route 192.168.46.0/24 gateway 192.168.41.1 metric 2 に設定しています。 ですが、それぞれのクライアントからpingをしても、 『Destination net unreachable』が帰ってきてしまいます。 これは、手前のルータにてルーティング先がないということまではわかったのですが、解決策がわかりません。 なぜ、ルーティングテーブルを記述しているにもかかわらず、pingが通らないのでしょうか? わかる方がいらっしゃいましたら、よろしくお願いします。

  • ルーティングについて

    セグメントA---------ルータ---------セグメントB 上記のような構成のルーティングについて教えてください。 (1)TCPパケットをセグメントAからセグメントBにパケットを送信する場合について教えてください。。 ルータには、セグメントA、セグメントB向けのルーティング情報をテーブルを登録する必要があるのでしょうか。 (セグメントA向けのルーティング情報を登録しなくても、コネクション型なのでセグメントAから送信したパケットは戻ってくることができるのでしょうか) (2)IPパケット(Ping)をセグメントAからセグメントBにパケットを送信する場合について教えてください。。 ルータには、セグメントA、セグメントB向けのルーティング情報をテーブルを登録する必要があるのでしょうか。それとも、セグメントA向けのルーティング情報を登録しなくても、セグメントAから送信したIPパケットは戻ってくることができるのでしょうか。

  • ルーティングについて

    「ルータ→スイッチングハブ→4台のPC(a,b,c,d)」のLANでpcaからpcdにデータを送信する場合、pcdのMACアドレスが必要でARP要求をかけました。各々のpcにARP要求は来ると思うのですが、同じネットワークのルータにもARP要求は来ます。(ARPテーブルが初期状態) 普通ルータは自分宛ipアドレスでなくてもそのデータを取り入れ適切なルートへ導いてくれます、ところがARP要求が来たルータは自分宛でないのでルーティングしようとするのが普通なのですが、破棄してしまいます。どういう風にルータは内部でルーティングせず破棄するという判断をしてるのでしょうか?

  • ルーティング情報について

    セグメントA----ルータX-----ルータY----セグメントB 上記のような構成のルーティングについて教えてください。 (1)TCPパケットをセグメントAからセグメントBにパケットを送信する場合について教えてください。。 ルータX,Yには、セグメントA、セグメントB向けのルーティング情報をテーブルを登録する必要があるのでしょうか。 (セグメントA向けのルーティング情報を登録しなくても、コネクション型なのでセグメントAから送信したパケットは戻ってくることができるのでしょうか。それとも、登録していないと帰りパケットはルーティングできないのでしょうか) (2)IPパケット(Ping)をセグメントAからセグメントBにパケットを送信する場合について教えてください。。 ルータX,Yには、セグメントA、セグメントB向けのルーティング情報をテーブルを登録する必要があるのでしょうか。それとも、セグメントA向けのルーティング情報をルータに登録しなくても、セグメントAから送信したIPパケットは戻ってくることができるのでしょうか。