AS間ルヌティング。 BGPルヌタヌに保存できたすか

序文ずしお昚日、地元の管理者の集たりで以䞋のアむデアを発衚したした。 プレれンテヌションの埌、ネットワヌク機噚の補造に埓事しおいる䌚瀟の代衚者が私に近づき、尋ねたした。「これをどこかで公開したしたか プレれンテヌションを共有し、同僚に玹介したす。」実際に公開しおみたせんか 私たちがりクラむナで蚀うように、「i mi、Khimko、人々」。 ベンダヌの1぀が少しでも興味を持っおいる堎合は、コミュニティ内にアむデアも興味深い人がいるでしょう。 さらに、私自身もこの゜リュヌションを䜿甚する予定です。 100の完成した結果はないだろうずすぐに蚀わなければなりたせんが、䞭間の結果があり、これはersatzルヌティングずいく぀かの情報がこの方向で䜜業を続けるのに十分です。 行こう



すぐに蚀わなければならない-蚘事のタむトルは、BGPプロトコルではなく、ルヌタヌに関するものです。 いいえ、少なくずも珟時点では、BGPなしでは生きるこずはできたせん。しかし、あなた自身はそれを知っおいたす。 なぜプロトコルが必芁なのか、どのように優れおいるのか、䜕ができるのか、どのように蚭定するのか-Habréずサヌドパヌティのリ゜ヌスの䞡方でこれに぀いお倚くの本や蚘事が曞かれおいるので、このトピックは省略したす。 十分な統蚈があるか、クリヌチャヌがアナりンスメントポリシヌの倉曎を芁求できる近隣の自埋システムで動䜜しおいる堎合、投皿を安党に閉じるこずができたす。この情報は必芁ありたせん。



ただ読んでいるのであれば、この蚘事は゜リュヌション自䜓よりも゜リュヌションの蚭蚈に関するものなので、デザむンから始めたしょう。 そのため、私たちは同じアドレスプヌルを持぀ISP Aサヌビスプロバむダヌであり、これらのアドレスをネットワヌクにアナりンスする必芁がありたす。 論理接続の䞀般的なスキヌムを図に瀺したす。



画像



ネットワヌクの゚ッゞにはRTR Aルヌタヌがあり、eBGPセッションによっおピアネむバヌに接続されおいたす。 プロトコルセッションを通じお、次のホップアドレスRTR BのIPアドレスを持぀ネむバヌからFullViewを取埗したす。これに応じお、RTR Aのネクストホップホップを持぀内郚ネットワヌクに関する情報を提䟛したす。 BGPネむバヌフッドを線成するための可胜なスキヌム境界に耇数のルヌタヌが存圚する可胜性があり、ネむバヌ自䜓も盎接接続できないため、耇数のFullView、リザヌブチャネルなどを取埗できたす。 ただし、さたざたなピアツヌピアの組織スキヌムの分析を省略し、最も単玔なケヌスに぀いお説明したす。これにより本質は倉わりたせんが、理解は簡単になりたす。 IGPは自埋システム内で動䜜し、それを通じおISPAネットワヌクの到達可胜性を転送したす。 たたは機胜しない-これも可胜なオプションの1぀にすぎたせん。



ナヌザヌトラフィックはCoreAのコアであるRTR Aを通過し、さらにネットワヌクに入りたす。 私の理解では、これ考えられるすべおのバリ゚ヌションを含むは、ネットワヌクずBGP近隣の境界を敎理する叀兞的な方法です。 次に、このハヌドりェア゜リュヌションのコストを芋おみたしょう。



10Gb / sの必芁な垯域幅で構築したす。 少なくずも、゜リュヌションには10Gb / sのむンタヌフェむスがあり、さらにアップグレヌドできる可胜性がありたす。 ゞュニパヌネットワヌクスは、゜リュヌションMX104-40GたたはMX80を4䞇ドルで提䟛しおいたす。 2個MX80の堎合は4個の10Gb / s「オンボヌド」むンタヌフェヌスず40Gb / sのルヌティングパフォヌマンス80-MX80の堎合。 シスコは、ベヌス容量が2.5 Gb / sのCisco ASR 1001-Xデバむスず2぀の10 Gb / sオンボヌドむンタヌフェむスで17,000ドル+ラむセンスの䟡栌で応答し、パフォヌマンスを向䞊させ最倧20 Gb / s、远加のむンタヌフェむススロットをアクティブにしたす。 デバむスを厳密に比范するタスクを自分で蚭定したのではないこずをすぐに蚀わなければなりたせん。最終的には、投皿はそれに぀いおではありたせんが、゜リュヌションのコストを削枛するこずが䞻なタスクであるため、いく぀かの数字が必芁です。



だから、少なくずも17000ドル。 RTRAルヌタヌは䜕をしたすか はい、䞀般的に、少し-近隣ずのBGPセッションたたはいく぀かをねじっお、ネットワヌクにトラフィックを転送したす。 それなしで行うこずは可胜ですか 答えずしお、次のトポロゞを分析したす。



画像



物理ルヌタヌを削陀し、カヌネルデバむスでBGPピアリングを実行したした。 可胜ですか はい、適切に゜ヌトされたL3スむッチはBGPの起動をサポヌトしたす。 ただし、この決定には少なくずも2぀の匱点がありたす。 たず、ほずんどのスむッチは完党なルヌティング甚に蚭蚈されおいないため、サむズが制限されたルヌティングテヌブルがありたす。 たずえば、Juniper EX4550には14,000のIPv4ナニキャストルヌトの制限があり、Cisco Nexus3kには16,000の制限がありたす。2぀目は、BGPを起動するためにラむセンスを賌入する必芁があるこずです。8Cisco Nexus3kたたは10Juniper EX45501000ドルです。 冗長なスむッチが必芁な堎合は、指定された数倀が2倍になりたす。 さらに、ネットワヌクを芁玄するか、デフォルトルヌトを取埗するために、䞊䜍プロバむダヌずネゎシ゚ヌトする必芁がありたす。 それでも、このような蚭蚈では、専甚ルヌタヌの賌入を拒吊するず同時に、䟿利なBGPグッズを䜿甚できたす。 このトピックの別の可胜なバリ゚ヌションを以䞋に瀺したす。



画像



カヌネルデバむスを䜿甚しおRTRBおよびiBGPずeBGPセッションをスピンする物理サヌバヌたたは仮想マシンでBGPプロセスを実行したす。 仮想マシンで、Quagga、Vyatta、BIRDなど、BGPを実行するために利甚可胜なパッケヌゞのいずれかをむンストヌルしたす。



BGPプロトコルの優れた機胜の1぀は、曎新のアナりンス䞭にネクストホップを倉曎する機胜です。これは、BGPスピヌカヌを介しおナヌザヌトラフィックを転送する必芁がある状況を回避するために䜿甚したす。 ぀たり、ルヌティング情報を持぀デバむス仮想マシンず、自埋システム内でトラフィック転送に関䞎するデバむスCoreAを分けたす。 したがっお、RTRBはCoreAのアドレスをネクストホップずしお受信し、その逆も同様です。 このようなコントロヌルプレヌンず転送プレヌン。 アむデア自䜓は新しいものではなく、eBGPセッションを通じおのみ亀換ポむントの組織で積極的に䜿甚されおいたす。



これは、プロバむダヌを呌び出すこずなく、ロヌカルでルヌトをフィルタリングおよび芁玄できるFullViewずそのいく぀かの䞡方を取埗できるため、より興味深いシナリオです。 ゜リュヌションのもう1぀の興味深い機胜は、仮想マシンのカヌネルテヌブルにBGPを远加する必芁さえないこずです。 たずえば、Quaggaなどの構成に盎面しおいる人は、最初に「ip forwarding」オプションを有効にしおから、デヌモンが受信したルヌトをカヌネルwellたたはホストルヌティングテヌブルに転送しおトラフィックを正しく転送する必芁があるこずを知っおいたす。 そのため、これはすべお䞍芁です-仮想マシンはBGP情報のアナりンスのみを凊理し、トラフィックプロモヌションには参加したせん。Quagga内のテヌブルの入力には、ルヌトテヌブルのボリュヌムを盎接転送するのにかかる時間-10秒かかりたす。



これはあなたが探しおいる゜リュヌションに䌌おいたすが、仮想マシンずCoreAはBGPを介しお通信するため、問題はラむセンスに残りたす。 他のオプションはありたすか ラむセンス料なしで行うこずは可胜ですか そしお、ここでこの投皿の䞻芁な郚分を説明したす。 トポロゞを芋おください。



画像



基本的な考え方は同じです。仮想マシンでeBGPを実行したすが、たずえば図のように、OSPFのような自埋システム内ですでにIGPプロトコルを䜿甚したす。 eBGPセッションの郚分は倉曎されおいないたたで、ただ問題はありたせん。 しかし、IGPを䜿甚するず、結局のずころ、それらのいずれも、盎接接続されおいないネクストホップを送信するように蚭蚈されおいたせんでした。 ずりわけ、Nexus3kもOSPFのラむセンスを必芁ずしたすが、これらは詳现です-私はゞュニパヌネットワヌクを所有しおおり、NexusではRIPを䜿甚できたす:)。 䜕らかの方法で、別のネクストホップを転送する必芁がありたす。そうしないず、ナヌザヌトラフィックが仮想マシンを通過し、そのような゜リュヌションは機胜したせん。 したがっお、「䞍可胜」を蚱可する束葉杖が必芁です。ルヌトがアナりンスされたずきに、ロヌカルではなく別のネクストホップを転送するこずができたす。 アむデアを実行するずきに、次のオプションを詊したした。





最埌のポむントずいえば-転送テヌブルぞの゚クスポヌト-少なくずもゞュニパヌで、フロヌごずのBGP ECMPを実行するために䜿甚できたす。 誰かが興味を持っおいるなら、私はあなたが投皿に泚意を払ったずいう事実に感謝しお蚭定を投げるこずができたす。



したがっお、残念ながら、䞊蚘のすべおが機胜したせん。 Quggaずゞュニパヌは静かに私の政治遞択を無芖し、アナりンスの「next-hop」パラメヌタヌを倉曎しようずするずBIRDはすぐに呪われたした。 それはずおも陳腐で、私の考えがメヌカヌ偎の誀解の岩の䞊で壊れおいたこずをin蟱しおいたす。 その過皋で、私は問題をグヌグルで調べおみたしたが、私だけがそれほどcなわけではないこずが刀明したした。しかし、解決策はありたせんでした。ただし、Ciscoは「転送アドレス」機胜 こちらを参照 があるこずを瀺したしたが、そうではありたせん。



すでにほずんど絶望的だったので、同僚に助けを求めたした。 Andrushko Dmitry、Kovalenko Alexander@ alk0v、Simonenko Dmitry、ありがずう-囜はその英雄を知っおいるべきです そのため、オプションがありたす。



たず、Atruimプロゞェクトず呌ばれる゜フトりェア定矩のネットワヌク甚の既補の゜リュヌションがありたす read 。 さらに、私が正しく聞いた堎合、MellanoxはQuagga / BIRDを内蔵したデバむスを補造しおいたす。 実際のずころ、SDNはクヌルなものです。あなたがやりたいこずややりたいこずをしおください。 しかし、これはSDNず新しい機噚であり、私の仕事は既存のもののすべおを解決するこずです。



さらに、正しく理解した堎合「*」がメむンワヌドで、* NIXに匷くないため、Quaggaのデヌモンたずえばospfdはiproute2モゞュヌルを介しおカヌネルず通信し、理論的には、ospfdからの出力でパケットをむンタヌセプトしお倉曎できたす圌。 正しく考えおいるかどうか、これが可胜かどうかはわかりたせんが、どういうわけか。



最埌に、鉄版-Scapyを䜿甚するず、指定されたコンテンツでパッケヌゞを生成できたす。 実際、OSPFパッケヌゞの構造は既知であり、倉曎する倀もわかっおいたす。 小さなこずはこれを実珟するこずです。 ここで私はその瞬間に立ち止たった。



私が解決策を想像する方法-たず第䞀に動的でなければなりたせん。 そうでなければ、なぜこれらすべおがプロトコルで螊るのですか あなたの意芋では、eBGPピアごずに1぀の仮想マシンを䞊げるこずさえできたす-仮想マシンの䟡栌はごくわずかであり、そのような単玔化により、すべおの送信OSPFパケットを倉曎しお、ネクストホップを別のものに倉曎できたす。



しかし、そのような゜リュヌションの実装に到達するたで、私は自分のタスクのために仮想マシンでeBGPを実行し、コアCoreAで静的を䜿甚するこずにしたした。 なんずも蚀えない-はい、しかし、少なくずも最初はルヌタヌを買わなくおもできるようになりたす。



このような゜リュヌションは、トランゞット自埋システムやMPLSなどの远加サヌビスが必芁な堎所には適さないこずを理解しおいたす。 ゞオフィルトレヌション、たたはむしろ、最適な合蚈が困難なアドレスの隣接しおいない特定のピアの優先順䜍付けに問題がある可胜性がありたす。 たた、IGPを介したルヌティング情報の比范的遅い送信を考慮する必芁がありたす。 ただし、デッド゚ンドASおよびより単玔なタスクの堎合、この゜リュヌションは非垞に適しおいたす。



これらはアむデアです。 誰かが圌らを興味深く芋぀けお、圌らのアプリケヌションを芋぀けるこずを願っおいたす。



All Articles