BGP:トラフィック動作のいくつかの機能





この短いメモでは、BGPプロトコルを使用する場合のトラフィック管理(またはトラフィック制御の試行)の興味深い点と機能に触れたいと思います。 この記事は、オンラインで幸福にする方法の質問には答えません!



提示される情報は本質的に有益な情報であり、電気通信分野の専門家向けの読書に似ています。 情報は、詳細が過度に飽和することなく、かなり自由な形式で提示されます。 「あるべき場所にトラフィックがなく、あるべき場所にトラフィックがないのはなぜか」という質問に答えてみましょう。







私たちは、BGPプロトコルの目的をすべての結果を考慮せずに、すぐに警鐘を鳴らします。



ソースデータ





まず、独自の自律システム、アドレスの委任ブロック、および1つのプロバイダーがあります。 この場合、ASはプロバイダーと1つの単一チャネルを使用してインターネットに接続されます。 ネットワークへのトラフィック(プレフィックスへ)は、この論理チャネルを通過します。セカンドオピニオンはありません。 同様に、インバウンドトラフィックの場合、すべてのアウトバウンドトラフィックは単一の既存のチャネルを通過します。



すべてうまくいきますが、遅かれ早かれ、追加のプロバイダーに接続する必要があるときが来ます。 これには多くの理由がありますが、この瞬間について少しお話したいと思います。 2番目(3番目...)のプロバイダーを接続することにより、クライアントはチャネル予約の提供、接続性の向上、インターネットコストの最適化を試みます(プロバイダーAには安価な「ワールド」チャンネルがあり、プロバイダーBはローカルトラフィック交換ポイントへの高速で安価な接続を提供できます)、<オプション>。



チャネル予約の状況には、主に2つのシナリオがあります。

1)1 Gbitの容量を持つメインチャネルがあります。 スタンバイ(予約の場合のみ)は、はるかに少ない帯域幅(100 Mbitなど)で購入されます。 この場合、メインチャネルの障害の結果に注意する必要があります。世界の終わりは来ませんが、顧客は変化を感じます。

2)バックアップチャネルは、同様の(またはそれに近い)帯域幅で購入されます。 そのようなチャンネルはそれほど安くはないので、私はそれがアイドル状態になりたくないのです。 その後、管理者はさまざまなバランスでシャーマナイズを開始します。



当然、ネットワーク管理者は、トラフィックが自分のネットワークをどのように出入りするかを正確に理解したいと考えています。 そして私も言うだろう-彼の自律システム。 したがって、1つのプロバイダーが使用されている場合にのみ、これを100%確信できます。 複数のプロバイダーが存在する場合、ネットワークトラフィックの理解は、ネットワークトラフィックに関する前提になります。 そして、ここに理由があります。



管理者の袖には、情報の流れに影響を与えるためのいくつかのメカニズム(地域の好み、体重、医療、as-pathなど)がありますが、それらはどれほど効果的ですか 私は彼らが非常に効果的であると言うでしょう(誰かがそれを疑うでしょう)が、最後までではありません。 以下にいくつかの興味深い例を示します。



1.発信トラフィック





2つのプロバイダーからフルビューを取得するとします。 最初のプロバイダーはメイン、2番目はバックアップです。 プロバイダーからのアナウンスメントを処理するためのポリシーを決定します。最初のプロバイダーから受信したプレフィックスに、2番目のプロバイダーから受信したプレフィックスよりも(オプションとして)ローカルプリファレンスを設定します。



1





その結果、すべての発信トラフィックはメインチャネルを通過する必要があります。 論理チャネルを視覚化し(たとえば、 Cacti Weathermapを使用)、奇妙な画像を観察します。トラフィックはメインチャネルだけでなく、バ​​ックアップチャネルも通過します。 どうして?



問題は、別のビューに対する完全なビューが不一致であることです。 プロバイダーから得られるもの、特に受信したPfxRcdプレフィックスの数を見てみましょう(実際のルーターからの例です)。

#sh ip bgp summary

Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd

XXXX 4 AAAAA 3582179 106997 96854566 0 0 4w6d 392986

YYYY 4 BBBBB 772880 508161 96854556 0 0 6d02h 400394








機器XXXX(AS-AAAAA)とのセッション-主なもの。

8000のプレフィックスの数に違いがあります。 つまり、これらの8000ネットワークにあるリソースを要求すると、バックアップチャネルが使用されます。 これはなぜですか? これらのプレフィックス(デルタ)に注意を払っていると、メインプロバイダーからも受信しますが、集約された形式であることに気付きました。 つまり、4 * / 24の代わりに1 * / 22を取得します。 この集計は誰が行いますか? おそらく、upstream'ovの1つとは言い難いでしょう。



わずかな小計:発信トラフィックでさえ、そこを流れることができます。



2.着信トラフィック





この場合、すべてが一方で単純であり、他方でより複雑です。

着信トラフィックの動作にどのように影響しますか? 古典的なことは、AS-PATHを人為的に延長し(プリペンド)、一部のコミュニティでプロバイダーにアナウンスメントを送信して、プロバイダーのローカル設定を過小評価することです(すべてのプロバイダーがこの機会を提供するわけではなく、一部のプロバイダーは十分なサイズではありません。この場合、同僚はプロバイダーに電話をかけ、勤務中の管理者は電話で、自分が「見る」プレフィックスと、どの属性を使用するかなどを伝えます。



しかし、いくら努力しても、すべてはプロバイダーのポリシーに大きく依存します。 そして、発信トラフィックのバランス/負荷が多少なりとも良好である場合、両方のチャネルへの着信トラフィックをかなり予測不可能な比率で受信します。



たとえば。 AS-Aは、AS-B(プライマリ)とAS-C(バックアップ)の2つのプロバイダーと接続しています。 ネットワークを両方のプロバイダーに発表していますが、バックアップの方向で、AS-PATHを特別に拡張します(メインチャンネルに障害が発生した場合にのみこのチャンネルにトラフィックを送りたい)。



2





バックアッププロバイダーは、2つのソースからネットワークに関するアナウンスを受け取ります。クライアントから直接(私たちから)、ピアパートナーから(破線)。 多くの場合、プロバイダーは、クライアントに直接接続するパスをクライアントネットワークへの優先度の高いパスと見なすという事実に対処する必要があります。 これを行うために、彼(バックアッププロバイダー)は、 ピア (この場合は100)からではなく、 クライアント (この場合は200)から直接受信したアナウンスによってローカルプリファレンス値を増やします 。 彼は、BGPルーターが最適なルートのみをアナウンスするため、すべてのネイバーに細長いパス(クライアントから受信したアナウンス)を伝えます。



そのため、トラフィックがAS-Bプロバイダーの自律ネットワークを通過する場合、AS-Cプロバイダーのネットワークを経由する場合、バックアップでメインチャネルで受信します。 その結果、必要かどうかにかかわらず、私たちへの着信トラフィックは両方のチャネルから「入ります」。 さらに、非対称性が生じます。あらゆる方法で、メインチャネルにトラフィックを送信しようとしますが、メインとバックアップから取得します。



小計: 2つ以上のプロバイダーを使用すると、トラフィックはすべての側から「注ぐ」ことになります。



3.時々、セッションのインストール順序でさえも役割を果たします





1.例を考えます。



3





私たちのネットワーク(AS-A)はプロバイダー(AS-B)に接続されています。 AS-C、AS-Dは他のプロバイダーであり、AS-Eは私たちと同じクライアントです。 緑の矢印はルーティング情報の分布を示し、青は着信トラフィックを示します。



2.ここで、AS-Eとの関係を確立することにします(これはプロバイダーではなくパートナーです)。 コミュニケーションの本質は、追加チャネルの編成ではなく、冗長性の提供-相互の保険です。 デフォルトでは、リンクはロードされません。 事故が発生した場合、一方のASが他方を保護します。



これを行うには、パートナーへの発信アナウンスメントに関するポリシーを設定します。つまり、AS-PATHを拡張します。 アフィリエイトネットワークの場合、このアナウンスメントは最適ではないため、AS-Eはそれをさらに拡張しません。



4





3.しかし、たまたまメインプロバイダーとのセッションが中断しました(またはテストしました)。 この場合、赤い矢印は長いルートの延長を示し、青い矢印はネットワークへのトラフィックのパスを示します。



5





また、すべてが整然としています。



メインプロバイダーとのセッションが増加します。 AS-Dプロバイダーは以前に説明した(クライアントのローカルプリファレンスを増加させる)ケースであり、残りのプロバイダーはそうではない、つまり、パスの選択はAS-PATHに基づいていることに注意してください。



4. AS-BはAS-Aからのアナウンスを受け入れます。 付加なしの発表なので、この方法はより良くなり、さらに発表されるのは彼です。



6





アナウンスがさらに配信され、トラフィックのソースがどの程度変化するかを確認します。



7





5.最後に、AS-Aネイティブプレフィックスの可用性に関する情報がAS-Dに到達します。 この自律システムでは、以前のローカルプリファレンスがクライアントからの更新(AS-Eから)に設定されていたため、このパスはあまり受け入れられないと見なされます。 これらのプロセスの結果は、次のような安定した状態です。



8





図に注意してください。 4および図 8.ご覧のとおり、着信トラフィックの性質は大きく異なります。 この場合、バックアップチャネルは、メインではないにしても、バックアップから遠くなりました。 状況を修正するには? 通常の状態に戻すには、パートナー(AS-E)とのセッションを配置/レイズできますが、その方法は科学的とはほど遠いものです。



小さな小計:セッションのインストール順序でさえも役割を果たし、トラフィックの性質に影響することがあることを実証したかったのです。 私たちは、このケースは少し難解であると言えますが、実生活から取られたものであり、あるべき場所を持っています。



まとめ





BGPを使用したトラフィック管理と自律システム間のルーティングは、複雑で興味深いプロセスです。 情報の流れに影響を与える要因の数は、私たちに思えるかもしれません。



良いルーティングを!



All Articles