routing
「routing」の意味・「routing」とは
「routing」は、情報技術の領域において、データがネットワークを通じて送信される経路を決定するプロセスを指す。具体的には、インターネットプロトコル(IP)に基づいて、データパケットが送信元から目的地まで最も効率的なルートを選択する。この選択は、ルーターと呼ばれるネットワーク機器によって行われ、その結果、データは正確かつ迅速に目的地に到達する。「routing」の発音・読み方
「routing」の発音は、IPA表記では/ˈruːtɪŋ/となる。これをカタカナに直すと「ルーティング」となる。日本人が発音する際のカタカナ英語では「ルーティング」が一般的である。なお、「routing」は発音によって意味や品詞が変わる単語ではない。「routing」の定義を英語で解説
Routing is the process of selecting a path for traffic in a network, or between or across multiple networks. In practice, routing is performed by dedicated devices called routers. The routing process directs incoming and outgoing packets of data based on the most efficient route, ensuring that the data reaches its destination quickly and accurately.「routing」の類語
「routing」の類語としては、「path determination」や「route selection」がある。これらも同様に、ネットワーク内でデータパケットの送信経路を決定するプロセスを指す。「routing」に関連する用語・表現
「routing」に関連する用語としては、「router」、「IP address」、「subnet」、「gateway」などがある。これらはすべて、データ通信の経路を決定するための要素であり、「routing」の理解には欠かせない。「routing」の例文
1. English example (Japanese translation): The routing process is essential for efficient data transmission. (ルーティングプロセスは効率的なデータ伝送に不可欠である。)2. English example (Japanese translation): The router performs the routing of data packets. (ルーターはデータパケットのルーティングを行う。)
3. English example (Japanese translation): Routing protocols determine the best path for data transmission. (ルーティングプロトコルはデータ伝送の最善の経路を決定する。)
4. English example (Japanese translation): Incorrect routing can lead to data loss. (誤ったルーティングはデータの損失につながる。)
5. English example (Japanese translation): The routing table in the router determines the path of data packets. (ルーター内のルーティングテーブルがデータパケットの経路を決定する。)
6. English example (Japanese translation): Dynamic routing adjusts the data path according to network conditions. (ダイナミックルーティングはネットワークの状況に応じてデータの経路を調整する。)
7. English example (Japanese translation): Static routing sets a fixed path for data transmission. (スタティックルーティングはデータ伝送の固定された経路を設定する。)
8. English example (Japanese translation): The routing process involves several steps. (ルーティングプロセスはいくつかのステップを含む。)
9. English example (Japanese translation): Routing efficiency can be improved with appropriate network design. (適切なネットワーク設計によりルーティングの効率を向上させることができる。)
10. English example (Japanese translation): The routing algorithm determines the most efficient path for data packets. (ルーティングアルゴリズムはデータパケットの最も効率的な経路を決定する。)
ルーティング
ルーティング
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/03/13 09:18 UTC 版)
ルーティング(英: routing)あるいは経路制御(けいろせいぎょ)とは、データを目的地まで送信するために、コンピュータネットワーク上のデータ配送経路を決定する制御の事である。ネットワークのトポロジとトラフィック状態に関する情報を収集するためのプロトコルと、ネットワークを介したルートを設計するためのアルゴリズムで構成される[1]。
概要
OSI参照モデルのネットワーク層(第3層)の中継機器がこの制御を担っている。
ルーティングを行うための通信プロトコルを「ルーティングプロトコル」という。
経路が判明すれば、その経路に沿って、発信元から最終的な受取先へ、結節点またはノード(ここではルータと呼ばれる)を経由しながら転送を繰り返して情報が送られる。情報はパケット(小包の意。データをある程度の量ずつに小分けして送信する、その一単位)として送られ、各パケットには論理的なアドレスが付加してある。各ルータはルーティングテーブルという表を保持しており、この表に従ってパケットの転送先を決定する。
ルーティングテーブルとはネットワーク上の様々な宛先に対する最も良い経路が記録されたものである。ルーティングの目的は、ルーティングテーブルを構築・維持・管理することである。ルーティングでは、似たアドレスはネットワークの近傍に存在するようにアドレスが構造化されていることを想定している。
(例えばjp.example.orgから見ると、us.example.orgはtw.example.orgより遠く、ru.example.orgより近い。全て架空のアドレス)
また、ネットワーク的に近傍にある複数のアドレスを、ルーティングテーブル内の一つの項目にまとめることができる。
(例えば、***.example.orgから転送する場合、ルーティングテーブルで example.org を参照する)
この点がネットワークのブリッジと異なる点であり、インターネットにおける経路決定の主要な方法になっている理由である。
ルーティングには、スタティック(静的)ルーティングとダイナミック(動的)ルーティングとがある。
小規模なネットワークでは、手動でルーティングテーブルを構成してもよい (静的ルーティング)。ネットワークが大規模になると複雑なトポロジーを持ち、しかも間断なく変更される。そのためルーティングテーブルの構築は大きな問題となりがちである。それでもなお、公衆交換電話網は、ルーティングテーブルをあらかじめ計算し用意した上で、最も短い経路が使えなくなった場合に備えて予備回線も用意する方法をとっている。動的ルーティングは自動的にルーティングテーブルを構築する方法によって、この問題を解決しようというものである。ルーティングテーブルの構築はルーティング・プロトコルによって伝えられる情報に基づいて行われる。この手法によって、通信の断絶が起きないように、自律的といっていいほどのルーティング能力が得られる。だが、プロトコルの構成には技術が要求され、現時点ではルーティングが完全に自動的に行われるというわけではない。
インターネットのようなパケット交換(packet switching)方式ではデータはパケットに分解される。パケットには個々に完全な宛先がラベルされ、独立してルーティングされる。対照的な方法である公衆交換電話網のような回線交換方式(circuit switching: 回路を実際に接続するなどの方法で持続的な回線を用意する方式)でも、電話の発呼のように、回線への経路を探すためにルーティングが行われる。しかし一旦接続が成立すれば、完全な宛先をラベルとして貼らなくても連続的に大量のデータを送ることができる。
ルーティングを行う装置としては、レイヤ3スイッチ、ルーターなどがあるが、一般的にルーティングと言う場合にはレイヤ3以上のアドレス(ここではIPアドレス)に関する経路制御を指す。
ルーティング方式
ルーティング 方式 |
---|
ジオキャスト |
- ユニキャスト - 単一の特定のノードにメッセージを配信
- ブロードキャスト - ネットワーク内のすべてのノードにメッセージを配信
- マルチキャスト - メッセージを受信する特定のノードのグループにメッセージを配信
- エニーキャスト - ソースに最も近い、典型的には1ノードのグループにメッセージを配信
- ジオキャスト - 地理的領域にメッセージを配信
動的ルーティングの基礎
指示された経路が有効でなくなっている場合、現存するノードを使った別の経路を決めなければならない。これは通常ルーティングプロトコルと経路決定アルゴリズムによってなされる。経路決定アルゴリズムには二種類あって、一つは距離ベクトルアルゴリズム (distance vector algorithm, 以下DVA)、もう一つはリンク状態アルゴリズム (link state algorithm, 以下LSA) である。この内どちらか一方が用いられるが、この二つがわかれば、インターネット上の経路決定問題はほとんど理解できることになろう。
以下用いられる「コスト」ないし「距離」は経由するルータの数(「ホップ数」)や回線速度を数値化したもので、「メトリック metric」と呼ばれる。メトリックの決定法はプロトコルによって異なる。
DVA
DVAは Bellman-Fordアルゴリズムを用いている。この方法では、各ノード間に「コスト」と呼ばれる数値が割り振られる。二点間を結ぶ経路のコストは、その間に経由するノード間のコストの総和であり、その情報はノードから得られる。
アルゴリズムは極めて単純である。最初の段階では、各ノードは直近のノードがどれかという情報と、それらの間とのコストだけを知っている(このような、「行き先リスト」とそれぞれの総コスト、やりとりするべき「次の相手(next hop)」を集めたものがルーティングテーブルないし、ディスタンステーブルである)。定期的にノード間でやりとりがなされ、互いにルーティングテーブルのデータを交換する。もし隣から渡されたデータに、自分のルーティングテーブルより優れたもの(同じ行き先に到達するのに、コストが少ない)があれば、それを用いてテーブルを更新する。自分のテーブルにない相手への情報が入っていた場合も同様である。時間をかけると、全てのノードがあらゆる宛先についての最良の「次の相手」と最良の「コスト」を見つけだす。
あるノードが脱落した場合は、そこを「次の相手」としていたノード全てにおいて、ルーティングテーブルの破棄と再構築が行われる。この情報は隣のノードに次々伝えられて行き、最終的には到達可能な全てのノードについて最良の経路が発見されることになる。
経路収束が遅いため、現在はあまり用いられていない。
LSA
LSAでは、各ノードが用いるのはネットワークのマップであり、それはグラフの形で格納されている。このマップをつくるために、全てのノードがネットワーク全体に「自分が接続しているノード」をブロードキャストする。各ノードはそのデータをもとに、個々独立してマップを計算し生成する。自分で生成したマップをもとに、各ノードは他のノードへの最短経路を決定する。
最短経路の計算にはダイクストラのアルゴリズムが用いられる。このアルゴリズムはネットワーク全体を木構造で表現する。木の根(最初の要素)は各ノードそれ自体である。次いで、ノードの集合から未登録のノードを一つずつ木に加えていく。加えるノードは既に木に存在するノードのどれかから到達できるノードのうち、最も少ないコストで到達できるものである。ネットワーク上の全てのノードを登録するまでこれを繰り返す。
木構造ができあがったら、それを用いて、ルーティングテーブルをつくる。最良の「次の相手」等がそこに登録される。
ルーティッドプロトコルとルーティングプロトコル
しばしばルーティッドプロトコルとルーティングプロトコルとを混同する人がいる。
- ルーティッドプロトコル
- ネットワークプロトコルのうち、パケットを転送すべきネットワーク層のアドレスについて十分な情報を与えるもの全てを呼ぶ。その情報を用いて、アドレッシングスキームに基づき、あるホストから他のホストにパケットの転送がなされる。Routed protocolはパケットに付加されたフィールドのフォーマットと利用法を定義するものである。パケットは端末から端末へ運ばれる。Internet Protocolが代表である。
- ルーティングプロトコル
- ネットワーク間でルーティング情報を交換するための方法である。このプロトコルによって、ルータは動的にルーティングテーブルを生成することができる。伝統的なインターネットプロトコル(IP)によるルーティングは単純である。というのも、パケットを転送すべき「次の相手(next hop)」を用いているだけで、そこから先の経路については何も考えなくてよいからである。
この動的ルーティングは非常に複雑なものになりうるのだが、インターネットの柔軟性をもたらしているものでもあり、IPが用いられるようになって以来、8桁も規模が大きくなることのできた基盤でもある。
前記したルーティングメトリック routing metric は経路の優劣を比較できれば実はどんなものでもいい。帯域幅(≒データ転送速度)、遅延、ホップ数、経路のコスト、負荷、MTU、信頼性、通信コスト、といったものから求められる。ルーティングテーブルは利用可能な最良の経路を記録するだけだが、リンク状態、あるいはトポロジーのデータベースはそれ以上の情報を持ちうる。
管理上の距離 (Administrative distance) は複数のルーティングプロトコルで、同一の宛先に対し別の経路を最適とした場合、その中から最良のものを選択するのに用いられる値である。この値は、ルーティングプロトコルの信頼性を定義するもので、その値によってプロトコルの優先順位が決まる(値が低い方が一般には優先される)。Preferenceと呼ばれることもある。
他の自律システム (autonomous system, AS) に対するルータの相対的な位置によって、様々な種類のルーティングプロトコルが存在する:
- アドホックネットワーク (Ad hoc network) ルーティングプロトコル - わずかなインフラで(あるいはインフラなしで)構成されるネットワーク。
- Interior Gateway Protocol (IGPs) - 単一の自律システム(AS)内で用いられるルーティングプロトコル。
- Exterior Gateway Protocol (EGPs) - 異なるAS間のルーティングプロトコル。
関連項目
- ルーティング・プロトコル
- 経路探索アルゴリズム
- Hierarchical routing
- Edge Disjoint Shortest Pair Algorithm
- "Hot-potato routing"
- "Cold-potato routing"
- Deflection routing
- Policy based routing
- Wormhole routing
- Adaptive routing
- 特定のルーティング法
- Classless Inter-Domain Routing (CIDR)
- MPLS routing
- ATM routing
- Routing in the PSTN
- ソース・ルーティング
- パケット転送関連(経路選択ではない)
- IPマスカレード (NAT)
- IP spoofing (Security)
- 複数のメトリックを用いた経路決定問題の数学的複雑性
- Quality of Service in routing
参考資料
- Computer Networking., Kurose, James E. and Ross, Keith W.. Benjamin/Cummings, 2004, ISBN 0321227352
脚注
- ^ ウィリアム・スターリングス『Foundations of Modern Networking: SDN, NFV, QoE, IoT, and Cloud』Addison-Wesley Professional、2015年 ISBN 0134175395
外部リンク
- Routing, A diagram on how routing works
- ITPRC's IP Routing Resource Center
- Router Troubleshooting Primer - Take a look at the proper steps to troubleshooting routing problems
ルーティング
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/03/19 03:02 UTC 版)
シングルページアプリケーション(SPA)の一番の欠点は、特定のウェブページ内の正確なサブページへのリンクを共有できないことである。SPAがユーザに提供するサーバーからのURLベースの応答(通常index.htmlまたはindex.vueを提供)は1つだけで、ブックマークに保存したり、特定の記事へのリンクを共有することは不可能である。 この問題を解決するために、フロントエンドルータはもともとhashbang(#!)分割されたハッシュベースのURLを提供している。モダンブラウザはHTML5をサポートしている。Vueのようなライブラリは、どのように変更されたかに関係なく、現在のURLパスに基づいてページに表示される内容を変更するための簡単なインターフェイスを提供する(電子メールによるリンク、更新、またはページ内リンクによるかどうかにかかわらず)。 さらに、フロントエンドルータを使用することにより、特定のブラウザイベント(すなわちクリック)がボタンまたはリンク上で発生した場合に、ブラウザパスの意図的な移行が可能になる。Vue自体はフロントエンドハッシュルーティング機能を持っていないが、オープンソースの「vue-router」パッケージでブラウザのURLを変更したり、バックボタン(ハッシュ履歴)を使用したり、URLで提供されている認証パラメータを使用して電子メールパスワードのリセットや電子メールの確認リンクを使用するAPIを提供する。 ネストされたルートをネストされたコンポーネントにマッピングすることをサポートし、きめ細かな移行制御を提供する。 Vue+vue-routerを使用したフロントエンドルーティングシングルページアプリケーションの作成は容易である。 Vueでは、開発者は既に大きなコンポーネントを構築する小さなビルディングブロックでアプリケーションを作成している。vue-routerをミックスに追加すると、コンポーネントは所属するルートにマッピングするだけで、親ルートルートは子ノードのレンダリング先を示す必要がある。
※この「ルーティング」の解説は、「Vue.js」の解説の一部です。
「ルーティング」を含む「Vue.js」の記事については、「Vue.js」の概要を参照ください。
- ルーティングのページへのリンク