同じISPサーバーからホストされているIPアドレスのセットがありますが、そのセットからランダムなIPアドレスを選択すると、正しいルートまたは間違ったルートが選択されます。例を挙げましょう:ISPのIPアドレス:94.0/38.xx.xx
(94.2.55.112)のような乱数に対してtracertを実行すると、次のようになります。
1- 84.111.xx.xx (ISP 1)
2- 84.111.xx.xx
3- 84.110.xx.xx
4- 195.27.xx.xx (ISP 2)
5- 195.28.xx.xx
6- 99.34.xx.xx (ISP 3)
7- 94.2.55.112 (ISP 3)
ただし、その6つのルート(99.34.xx.xx)にtracertを実行すると、完全に変更され、そこに到達する前に非常に多くのISP間を行き来します。
Q:ルーティングテーブルが変更されたのはなぜですか?上記と同じルートをたどらないのはなぜですか?それはとてもイライラするので、これは真実ではありません。ネットワーキングルートがこんなに複雑になるとは思ってもみませんでした。
いくつかの説明が必要です。
まず、tracerouteの仕組み:
TTL exceeded
を返すためです。TTL exceeded
を返します。。 。 。
パッケージが宛先(94.2.55.112)に到達するまで、以下同様です。
それでは、ルーターがどのように機能するかを確認しましょう。
ルーターがパケットを受信すると、そのonlyの使命は、パケットをできるだけ早くネクストホップに送信することです。
このミッションを達成するために、ルーターはルーティングテーブルに基づいて決定を作成します。インターネットテーブルのルーティングテーブルは巨大になる可能性があります。テーブルをチェックして決定を下すのはプロセス切り替えと呼ばれ、最も遅い方法です。だからそれをスピードアップするためのいくつかのトリックがあります。
高速スイッチングがあります。これにより、パケットがネクストホップに送信された後、宛先への到達方法に関するルーティング情報が高速キャッシュに格納されます。ルーターは、同じ宛先に向けられた別のパケットを受信すると、キャッシュを使用します。従来の方法よりも高速です。
シスコは、Cisco Express ForwardingまたはCEFと呼ばれる手法を開発しました。これは、さらに高速です。 CEFは、非常に迅速に照会できる方法で情報を保存する独自のシステムです。
それでは、すべてをまとめましょう。
tracerouteの宛先がHost(94.2.55.112など)の場合、最初のパケットでルーターは従来の方法(プロセススイッチング)を使用して宛先がどこにあるかを確認しますが、その後、次のパケットでルーターが使用します高速スイッチングまたは[〜#〜] cef [〜#〜]。起点から終点まで、固定パスがあります。
tracerouteの宛先がrouter(99.34.xx.xx)の場合、中間ルーターは次のように動作します。 before(プロセススイッチングを含む最初のパケットとその後のキャッシュ)が、ネクストホップがないため、宛先ルーターはそれを行いません。したがって、宛先ルーターは、受信した各パケットに応答するためにプロセススイッチングを実行します。
大きな問題は、宛先ルーターに異なるISPへの接続が2つ以上あり、接続が負荷分散を実行している場合に発生します。
負荷分散とは、ルーターが次の接続を使用するまで単一の接続が過負荷になるのを防ぐために、round-robinとしてメカニズムを使用して、すべての接続間のトラフィック。
これで、状況に応じた爆発的な組み合わせができました。ルーターへのtracerouteは、すべてのパッケージにプロセススイッチングを使用します。これは、負荷分散とあなたは毎回異なるパスを持っています。
長い説明で申し訳ありませんが、結果は複数のメカニズムの合計であるため、できるだけ明確にしたいと思いました。
ルーティングテーブルは変更されませんでしたが、宛先は変更されました。そして、それがネクストホップを見つけようとするときに見られるものです。
途中の一部のルーティングテーブルには、宛先94.2.55.112と99.34.xx.xxの異なるネクストホップがありました。異なる/ 8サブネットにあることを考えると、まったく奇妙なことではありません。そのように見えるかもしれませんが、ルートは必ずしも物理的な場所/近接性を念頭に置いて定義されているわけではありません。