web-dev-qa-db-ja.com

インターネット上のルーターは、宛先IPアドレスにパケットを送るために、次にパケットを送信する場所をどのように知っていますか?

私は過去10年間、(とりわけ)短時間のフリーランスIT作業を行ってきました。私は数えきれないほど多くのローカルネットワークの取り決めを設定または再構築しました。最近では、ネットワークの知識に残っている大きなギャップのいくつかについて研究しています。全体として、私は自分自身を「専門家」とは絶対に呼ばないでしょうが、この時点で、ネットワーク境界内で物事がどのように機能するかを十分に理解し、ほとんどのネットワークの基礎(レイヤー)を公正に理解していると思います。 OSIスタック、TCP/IP、DNS、MACアドレス指定とARP、高レベルのプロトコルなど)

しかし、先日、「インターネット上でのパケットのルーティングが実際にどのように機能するかを誰かに説明するにはどうすればよいでしょうか」ということが起こりました。そして、私はその質問に答えるのに苦労するだろうと気づきました。

これで、たとえば、ボーダーゲートウェイプロトコルとは何か、ルーティングテーブルとは何か、インターネットインフラストラクチャピアリングポイントとは何かについて、少なくともある程度は理解できました。しかし、私はそれらのものや他のものが実際にどのように決定するのか本当に理解していないことを認めますルーターが実際にパケットで何をするか宛先IPアドレスに向かってそれを移動します。

では、パケットを受信するインターネット上のルーターは、パケットを次に転送するルーターをどのように決定するのでしょうか。そして、thatルーターは、パケットを転送するのに最適なルーターをどのように知るのでしょうか。私が言ったように、私はインターネットルーティングインフラストラクチャに関連する要素と概念をある程度理解していますが、特定のルーターがパケットを送信する場所について適切なルーティング「決定」を実際に行えるようにするためにすべてがどのように組み合わされるかについてはわかりません。パケットを最終的な宛先に向かって正しく移動する役割を果たします。

(注:これをよりよく理解するために、さまざまなリソースを調べました。しかし、これまでに出くわしたほとんどのことは、(1)インターネット上のルーターの技術的なトピックを省略しました。ネクストホップのパケットをどこに送信するかを知っている、または(2)プロトコルに関する技術的な詳細と専門用語に行き詰まっていて、ルーターの決定ポイントですべてがどのようにまとめられるかを把握するのが難しいと思った。これは、ネットワーキングの専門家でない人にも理解できるかもしれない、その質問に対する実際の技術的な答えを得るのに最適な場所です。)

5
mostlyinformed

すでに述べたように、BGPは基本的な答えです。

これを要約しようと思いますが、答えはかなり長く複雑になる可能性があります。

IPアドレスは、ARIN + IPアドレス空間の配布と追跡を任務とする他のいくつかの同様の国際組織によって配布されます。

次に、ISPの境界ルーター(どこにいても)は、それらが上記のIPアドレス空間の宛先であることをアドバタイズし、それらに到達するための最適なパスをアドバタイズすることもできます。

また、ネットワークエンジニアが特定のルートを使用して宛先に到達するようにルーターを構成するために使用できる、さまざまなアルゴリズムや設定などもあります。たとえば、既知の不良キャリアやより複雑なシナリオを回避します。

しかし、繰り返しになりますが、探しているのはBGPであり、多くのオプションがあります。

さらに読むためのいくつかのリンク: http://searchtelecom.techtarget.com/feature/BGP-essentials-The-protocol-that-makes-the-Internet-workhttp:// www.Cisco.com/c/en/us/support/docs/ip/border-gateway-protocol-bgp/13753-25.html

4
Paul

ルーターはルーティングプロトコルを使用して、インターネット上の各ネットワークの場所に関する情報をルーター間で配布します。ルーティングプロトコルに参加する各ルーターは、ルーティングテーブルを作成します(他のルーターは、ほとんどの場合、事前構成されたデフォルトルートを使用します)。各ルーティングテーブルエントリには、基本的に「プレフィックスP内の宛先に到達するには、インターフェイスIを介してネクストホップアドレスAに送信します」と記載されています(宛先が直接接続されたネットワーク上にある場合は、ネクストホップアドレスはありません)。

ルーターが宛先に送信する場合、ルーターはそれに一致する最長のプレフィックスを持つエントリを探し、その方向に従ってパケットを転送します。パスに沿った各ルーターはこれと同じメカニズムを使用し、パケットは最終的に宛先に到達します。

実際の実装では、アドレスをルーティングテーブルと自動的に照合するキャッシュやハードウェア機能などの最適化を利用しますが、上記は基本的なアルゴリズムです。

2
Barmar

ルーターには、パケットの送信先に関する情報が入力されたルーティングテーブルがあります。単純なホームルーターの場合、おそらく2つのエントリがあります。ローカルネットワーク(例:192.168.1.0/24)はLANインターフェースに直接接続されており、その他はすべてWANインターフェースのデフォルトルートを介してゲートウェイアドレス(ネクストホップ)に送信されます。 ISPが管理するルーター。

ルーティングテーブルは、この例のように単純な場合は手動で入力するか、ピアと通信してルーティングテーブルの内容を計算するBGPやOSPFなどのルーティングプロトコルを実行することで入力できます。

1
ptman