ルーティングとはコンピュータが送信したデータ(パケット)を宛先のコンピュータまで適切に転送する処理のこと。
言葉の意味から、ルーティング(=routing)→道案内と理解できればまずはOKです。
このページでは、ルーティングって何?ルーティングテーブルとは?という疑問を初心者向けに解説します。
ネットワークエンジニアを目指す方であれば知らないと恥ずかしい超・基本知識です。是非最後までご覧ください。
ルーティングとは?
ルーティングとはコンピュータが送信したデータ(パケット)を宛先のコンピュータまで適切に転送する処理のことです。
インターネットは、複雑に絡み合ったネットワーク網で構成されています。
そのため、上記のように「送るデータの道案内」を適切に行う必要があります。この処理をルーティング(経路制御)と呼びます。
上記のように、説明されてもいまいちピンとこない方のために、ルーティング理解の前提となるインターネットの構造/仕組みを簡単に解説しておきます。
ルーティング理解の前提知識:インターネットの構造/仕組み
インターネットは一言で説明するとネットワークの集合体です。
世界中に存在する会社のネットワーク、携帯電話会社のネットワーク、大学・学術機関のネットワークなど、様々なネットワークが複雑に絡み合うことで成立しているのがインターネットです。
非常に簡易的に表した図ですが、網目のように様々なネットワークが互いに接続しあっています。
各企業や家庭・大学はISP(インターネットサービスプロバイダ)を通して他のISP/大規模ISPと接続され、世界中のISP同士がお互いに接続しあうことで1つの「インターネット」というネットワークを構成しています。
一つひとつのネットワークが相互に接続しあうことで、世界中のあらゆるネットワークが1つにまとまり、結果として今あなたの手元のパソコン・スマートフォンから、このWebページ(日本のどこかにあるネットワークの中の一部に存在)を見ることが可能になっている。この点をまずは頭に入れておきましょう。
ルーティング=経路選択
では本題の「ルーティング」とは何か?ルーティングとは一言で説明すると、インターネットの世界における道案内の役割を担っています。
ネットワークは複雑に絡み合っているので、どの道をたどっていけば目的地にたどり着くことができるのか?という道案内が必要になります。
どのネットワークを経由すれば、目的のコンピュータ/サーバにデータを届けることができるのか?その道順を正しく選択していくのがルーティング(経路制御)です。
上記の図で言えば、赤で示した線をたどることで目的とするコンピュータにデータを届けることが可能になります。簡単に説明すれば、この赤い線を見つけることがルーティングです。
ルーティング=「最適な」経路選択
ルーティング(経路制御)をさらにもう1歩深く説明します。
下記の図は、インターネットのネットワーク網を簡易的に示した図です。この時コンピュータBからサーバCにデータを届けようとする場合を考えます。
コンピュータBがサーバCと通信するには、赤色の線か緑色の線の2つの道順が存在することが分かりますよね。もちろん、どちらを通っても目的のサーバCにデータを届けることが可能。
ルーティング処理は、この赤と緑の線どちらの道を通って通信するのが適切であるか?を判断する(=最適な経路選択)を行うというのもポイントの1つです。
単に道案内をするだけでなく、道路が渋滞しないように一番効率的なルートでデータを届ける仕組みを提供するのがルーティングの役割です。
どちらの道を通るのがよりコストが低いか?どの道が最短か?これらの判断を行い、適切な道順でデータを目的地まで送り届けることが「ルーティング」であると理解しましょう。
ちなみに、このとき道案内をするネットワーク機器をルーターと呼びます。
ルーターはよく耳にする機器の名前ですね。
あなたの家にあるルーターも、複数の機器(パソコン・スマートフォン)に適切にデータ転送を行う役割を担っています。
下記図の通りルーターは、インターネットからダウンロードしたデータをどの機器に送り届ければ良いかを判断(=ルーティング)しています。
ルーティングテーブルとは(経路制御表とは)
では、実際にどのようにルーターは道案内を行うのか?初心者向けに分かりやすく簡単に解説しておきます。
ルーターはルーティングテーブル(経路制御表)をもとにデータの道案内を行います。パケットには宛先IPアドレスが記載されているので、指定された宛先IPアドレスの場合に、どの経路に行けばよいか?を判定します。
宛先ネットワーク | 経路 |
---|---|
ネットワークA | ルータB |
ネットワークB | ルータC |
上記のルーティングテーブルを参考にすると、宛先がネットワークAの人はルータBに。ネットワークBの場合はルータCに案内されることになります。
このようにルーター1つ1つにルーティングテーブルが存在しており、ルーターにデータが届けられるたびにどっちに行けばよいのか?を都度判断しています。
このように世界中にあるルーターがデータをばけつリレーすることで、目的のコンピュータまで送り届けるのです。
ルーティングは駅の乗り換えに似ています。
大阪駅から東京の新宿駅まで行きたい場合は、まず東京行きの新幹線に乗ります。東京駅についたら、JRに乗り換えて新宿駅まで向かいます。JRが使えない場合は、地下鉄に乗り換えて何度か乗り換えをすればそれでも新宿駅までたどり着くことができます。
このとき、乗り換え駅で「次はどの電車に乗れば良いか?」を教えてくれる駅員さんをルーターに、各駅の駅員さんがそれぞれの役割を果たしてお客さんを目的地まで届けることをルーティングに例えることができます。
インターネットも日常生活と同じように考えると決して難しくはありません。
インターネットというと複雑でその仕組みはプロじゃないとわからない・・・と思うかもしれませんが、実際は1つ1つ丁寧に考えられれば決して難しくはありません。
スタティックルーティングとダイナミックルーティング
では、このルーティングテーブル(経路制御表)は一体だれが作っているのでしょうか?
このルーティングテーブルの設定方法には以下大きく2つの種類が存在します。
スタティックルーティング(静的経路制御)
スタティックルーティング(静的経路制御)は、ルーティングテーブルを人間の手によって固定的に設定していく方法です。届けたいネットワークの情報と、そこにデータを流す設定を1つ1つ行っていくイメージです。
ただし、この方法は非常に大きな負担となります。例えば、新しいネットワークが1つ追加された場合、存在する全てのルーターに対して追加の設定を行う必要があるためです。
世界中にあるネットワークの数は膨大で、その構造も日々変動しています。そのため、スタティックルーティング(静的経路制御)はかなり非効率な方法です。そのため、大規模なネットワークを運用する企業ではあまり採用されない方法です。
ダイナミックルーティング(動的経路制御)
ダイナミックルーティング(動的経路制御)はルーティングプロトコルを用いて自動的にルーティングテーブルを生成する方法です。
ルーター同士がデータを転送しあう際に、お互いが持つルーティング情報(=経路情報)を交換することで自動的にルーティングテーブルの設定を更新していきます。
ルーティングプロトコルには、RIPやOSPF、BGPと言ったように利用するシーンや場合に分けて様々な種類が存在します。
ネットワークエンジニアを目指したい方は
ICMPだけでなく、ネットワークの基礎を1から学びたい方はこちらの書籍を購入してがっつり学びましょう!
さくっと手軽に読める内容ではないのですが、ネットワークエンジニア全員が必ず読破している本と言っても過言ではありません。是非この機会にチャレンジしてみてみましょう。
ITを1から学びなおしたい方は
システムエンジニアを目指す方や、IT知識を1から身につけたい方は以下のページをご覧ください。
正直どこから学び始めればよいかわからない。どのように勉強していけば、エンジニアとしてのスキルが磨けるか?が分からない・・・という方は必見です。
システムエンジニア向けに「できるエンジニア」になる方法を1から解説しておりますので、是非ご覧ください。
これまでに累計12万人以上の方に参考にしていただきました!