この図はルーターがパケットを処理するプロセス全体を示しており、一見の価値があります。

こんにちは、ネットワークワーカーの友人です

ネットワークが存在する限り、ルータを見ないことは困難ですが、ローエンド、ミディアム、ハイエンドのルータにはさまざまな種類があり、それらが備えている機能は内部実装とまったく同じではありません。

ルーターは常に通信データを処理しており、魚が泡を吐くのと同じように、通信データはルーターの「餌」のようなものであることを知っておく必要があります。

それでは、ルーターによって「食べられた」データはどこに行くのでしょうか?

「魚」が食べた「餌」の一部は吸収されて血液に入り、最終的にはエネルギーに変換されたり体の一部になったりしますが、吸収されなかったものは腸管を通じて体外に排泄されます。

「魚」が飲み込んだものはほとんどが水であり、基本的に水は吸収されずに吐き出されます。

同様に、ルータに入るデータのほとんどは 1 つのインターフェイスから入り、別のインターフェイスから出ます。これらはビジネス パケットを「通過」しているだけであり、これを「通過」パケットと呼ぶ人もいます。

データのごく一部が「吸収」され、処理のために CPU に送信されたり、さまざまな理由で途中で破棄されたりします。

今日は、ルーターの内部原理をよりよく理解していただくために、ルーターにおけるパケット処理のプロセス全体に関する記事を共有します。

本日の記事閲覧特典:「Cisco + Huaweiルーター学習ガイド」

ルーター技術を学びたいだけであれば、この資料は 2 つのメーカーの技術内容を組み合わせたものであり、非常に適しています。

プライベート メッセージを送って、パスワード「good things」を送信してください。プライベート メッセージを送った最初の 30 人の友人は、無料でダウンロード リンクを取得できます。

01 ルーター内でメッセージはどのような生活を送っているのですか?

この図は、ルータが受信したサービス パケットとプロトコル パケットのフォワーディング レベルでの処理フローを示しています。

この図は、ルータ CPU によって送信されるプロトコル パケットの転送レベルでの処理フローを示しています。

上の図は複雑すぎて、概念が多すぎて理解できないと思いますか?

上の図は、以下をよりよく理解するために一般的な概念を示しているだけです。

まずは「交換」から始めましょう。

データ。インターフェースボードを介して送受信されるため、インターフェースボードのインターフェースに通信ケーブルを接続する必要があります。

次に、あるインターフェイスから別のインターフェイスにデータ パケットを送信するには、2 つのインターフェイスを接続する必要があります。

しかし実際には、データ パケットはどのインターフェイスから入ってきても、どのインターフェイスからも出ていく可能性があり、このようにポイントツーポイントで接続されている場合、相互接続には N*(N-1)/2 本のワイヤが必要になり、これもまた面倒です。多くの。

接続数が多いという問題を解決するには、スイッチ ファブリック ボードを介してインターフェイス ボードを接続する必要がありますが、インターフェイス ボードとスイッチ ファブリック ボードが複数の接続を介して接続されていれば、どのインターフェイスの相互通信も完了できます。 。

スイッチング ネットワークは「3 つのノード」コンポーネントに属します。つまり、デバイス構成、プロトコル、パケット タイプとは何の関係もありません。スイッチング ネットワークは、受信インターフェイスと送信インターフェイス間の接続を確立してデータ交換を完了することに重点を置いています。

01 アップリンクとダウンリンク

スイッチングネットワークを中心として、ルーター内でのメッセージの流れは2つに分けられ、前半を「上り」、後半を「下り」と呼びます。

02 アドレス転送

メッセージは「スイッチング」後に 1 つのインターフェイスから入ってきて、別のインターフェイスから出ていくのに、スイッチも同様に行うのに、なぜルーターを使うのかと疑問に思う人もいるかもしれません。

はい、スイッチにはスイッチング機能もあります。ただし、インターネットでは、あるノードから別のノードまで非常に多くのパスが存在します。

ルータは最もスムーズで最短のパスを選択することで、通信速度の向上、ネットワーク負荷の軽減、ネットワーク リソースの節約を行うことができます。これはスイッチにはない機能です。

データパケットに適切な(通常は最短の)伝送経路を選択し、対応するインターフェースから送信することを「アドレッシング&フォワーディング」と呼びます。

ルーターが配置されているネットワークはほとんどの場合 TCP/IP システムに従い、ルーターはシステムの 3 番目の層、つまりネットワーク層で動作します。

したがって、今述べた「アドレス指定」の「アドレス」とは、データパケットに基づくネットワーク層のアドレス、つまりIPアドレスを指します。アドレスを指定するには、ルーターには「マップ」、つまり宛先 IP アドレスによってインデックスが付けられた「マップ」、つまりルーティング テーブルが必要です。各ルーターにはルーティング テーブルがあります。

03 ルーティングテーブルとはどのようなものですか?

この写真は実際の地下鉄の出口案内図です。

実際のルーティング テーブルは上の図に似ています。

ルーティング テーブルのインデックスは宛先 IP アドレス/マスクであり、次の図に示すように、各エントリには対応するネクストホップ IP アドレスと送信インターフェイス情報が含まれます。

このテーブルを使用すると、ルーターはデータ パケットをいつ受信するかを正確に知ることができます。

たとえば、宛先アドレス 10.0.0.1 のパケットを受信すると、ルータはテーブルをチェックして、パケットを GE1/0/0 に送信する必要があることを認識できます。

04 このルーティングテーブルはどのように取得されるのですか?

1つ目は、人手で作ってルーターに固定の経路を設定する方法です。ただし、このようなルーティングではネットワークの変化に対応できないため、ネットワークトポロジが変化した場合には手動で設定を変更する必要があります。

もう 1 つの方法は、動的ルーティング プロトコルを実行してルーターが相互にルーティング情報を受け渡し、収集したルーティング情報を使用してルーティング テーブルを計算および生成することで、ルーティング テーブルがネットワーク トポロジの変化をリアルタイムで追跡できるようにすることです。

実際のアプリケーションでは両方の方法が使用され、動的ルートと静的ルートが競合する場合は、静的ルートが優先されます。

もちろん、ルーティング テーブルには別のタイプのルートが存在します。これは、手動で構成されたり、ルーティング プロトコルによって学習されたりするのではなく、リンク層プロトコルによって検出されます。これは、直接ルートと呼ばれます。

05 ルーティングテーブルはどこに設置されていますか?

ルーティング テーブルの場合、次に考慮すべきことは、ルーティング テーブルがどこに適しているかということです。

前述したように、データ パケットは特定のインターフェイスから受信し、スイッチング ネットワークを通過して、別のインターフェイスから送信されます。

ルーティング テーブルをスイッチング ネットワーク上に配置できますか? スイッチング ネットワークは、デバイス全体のすべてのパケットの交換を完了する必要があるため、答えは明らかにそうではありません。スイッチング ネットワークがボトルネックになることなく高速スイッチングを完了するには、スイッチング ネットワークをルーティング プロトコルの実行に使用することはできません。 、ルーティング テーブルを維持し、アドレス指定と転送を実行します。

ラインインターフェイスボードをルーティングテーブルに配置できますか?

答えは「ノー」で、スイッチング ネットワークがスイッチングを実行するときは、どの宛先ボードに送信するかを知る必要があるため、アドレス指定と転送はアップリンクで完了する必要があります。ただし、ルーティング テーブルが上流のインターフェイス ボードに配置されている場合、パケットはどのインターフェイス ボードからも送信される可能性があるため、すべてのインターフェイス ボードにルーティング テーブルが必要です。実際には、より良い方法があります。それは、メイン制御ボードなどの公共の場所にルーティング テーブルを置き、メイン制御ボードの CPU がルーティング プロトコルを実行し、ルートを計算し、ルーティングを生成および維持することです。テーブル。

06 フォワーディングテーブルとルーティングテーブル

ルータが「ハードフォワーディング」を採用している場合、サービスパケットはメイン制御ボードのCPUで処理されず、メイン制御ボード上のルーティングテーブルを直接使用できません。インターフェースボードにもアドレス指定とフォワーディングのための情報が必要です。 。

したがって、メイン制御ボードの CPU はルーティング テーブルを生成した後、関連する情報も各インターフェイス ボードに送信します。

関連情報はフォワーディング情報であり、各インターフェースボードのフォワーディング情報テーブルFIB(Forwarding Information Base)に格納されている。

各インターフェイス ボードの転送情報は同じです。これは、それらのインターフェイス ボードのソースが同じであり、すべてメイン コントロール ボードからのものであるためです。

実際、最新の高性能ルーターは、転送と制御からアーキテクチャ的に分離されています。

フォワーディング プレーンとコントロール プレーンは異なるコンポーネントに割り当てられ、コントロール プレーンはルーティング プロトコルを実行し、ルーティング テーブルを維持し、フォワーディング テーブル FIB をフォワーディング プレーンに送信し、フォワーディング プレーンはデータ パケットの転送を担当します。

これを行う最も基本的な利点は、相互に影響を与えないことです。

トラフィックが非常に多い場合、転送層に高い負荷がかかりますが、制御層の通常のルーティング学習には影響しません。逆に、制御層がルーティング情報の処理でビジー状態であれば、影響はありません。転送層の高速データ パケット転送。

注意深い読者は、ルーティング テーブルと転送テーブルが類似しており、宛先 IP アドレス/マスク、ネクスト ホップ、送信インターフェイスの 3 つの情報を備えていることがわかります。

実際には、転送テーブルはルーティング テーブルに基づいて生成されます。ルーティング テーブルには宛先アドレスへの複数のルートが含まれる場合がありますが、転送テーブルはそれらの中から最適なルートのみを選択します。

さらに、ルーティング テーブルのネクスト ホップは元のネクスト ホップであり、必ずしも直接到達可能であるとは限りません。FIB は転送のガイドに使用され、そのネクスト ホップは直接到達可能である必要があります。「元のネクスト ホップ」に基づいて「直接のネクスト ホップ」を見つけるプロセスは、「ルーティングの反復」と呼ばれます。

ルータの電源がオンになると、ルーティング プロトコルを実行してネットワーク トポロジを学習し、ルーティング テーブルを生成します。インターフェイス ボードが正常に登録されると、メイン コントロール ボードはルーティング テーブルに基づいて転送エントリを生成し、それらをルーティング テーブルに送信します。インターフェイス ボード。パケット転送を再度ポストします。

データ パケット転送を実行するコンポーネントは、インターフェイス ボード上にあるパケット転送エンジン (PFE) と呼ばれるコンポーネントであり、通常は NP または ASIC チップです。

07 道が分からない場合はどうすればいいですか?

このように、メッセージを転送する前に事前に転送テーブルを用意しておき、メッセージを受信して​​から転送テーブルを確認する方法を「プレルーティング」といい、「道路を舗装してから開通させる」といいます。現在、すべてのルーターは IP ユニキャスト転送にこの方法を使用しています。

このように、テーブルを参照して転送するときに、一致しない場合(デフォルトルートがあれば最終的にはデフォルトルートと一致し、デフォルトルートに「不一致」がない場合)、これは次のことを意味します。ルーターが宛先アドレスに到達していない ルート(またはこのルートが学習されていない)、つまり道が分からず迷ってしまいます。

データパケットが失われた場合はどうすればよいですか? 元のルートに戻りますか?

道に迷った場合、元のルートで送信元に戻され、送信元が同じ宛先アドレスを再送信すると、メッセージは依然として同じ場所で失われて、元のルートに戻ることを想像してください。無限ループ。

したがって、失われたパケットは破棄することしかできません。保守性を考慮して、パケット転送エンジン PFE は破棄の理由を記録し、破棄されたパケットの数をカウントします。

08 プレルーティングとフロートリガー

前述したように、ルーターはいずれも「先に道路を舗装し、後で通行可能にする」というプレルーティング方式を採用しています。これに対し、「先に開通させてから道路を舗装する」方法を「フロートリガー」といいます。

フロートリガーモードでは、装置がパケットを受信し、フォワーディングテーブルを確認し、フォワーディングテーブルに該当するエントリがない場合は、パケットに基づいてフォワーディングエントリを生成します。

このようにして、ユーザー フローの次のパケットは、転送のために転送テーブルにヒットすることができます。

現在、ルーターやスイッチがレイヤ 2 転送に使用する MAC テーブルは、「フロー トリガー」方式に似た MAC アドレス学習方式を使用しています。

セキュリティの観点から見ると、フロー トリガーは明らかにトラフィック攻撃を引き起こしやすく、攻撃者にとって合理的かつ正当な攻撃パスとなります。

攻撃者は、宛先が不明なさまざまなパケットを使用して、システム上でトラバーサル攻撃やスキャン攻撃を実行し、ルーター上でトラフィック攻撃を形成する可能性があります。

そこで、ハイエンドルータでは、トラフィック攻撃を防ぐために、MAC学習機構に加えて、MACアドレス学習を制限する機能、つまり学習可能なMACアドレスの最大数を制限する機能も提供しています。各学習の時間間隔を制限する。

また、MAC アドレス学習を無効にすることもできるため、静的ルートの構成と同様に MAC エントリを手動で構成できるようになります。

仕上げ: Lao Yang丨 10 年以上の上級ネットワーク エンジニア、乾物を改善するためにネットワーク ワーカーを増やす、公式アカウントに注目してください: ネットワーク エンジニア クラブ

おすすめ

転載: blog.csdn.net/SPOTO2021/article/details/131327139