That's Done!

thatsdone's (mostly technical) memorandum

[ja] BGP in the Data Center


一部で話題の O'reily の "BGP in the Data Center" を読んだ。

  • [https://www.oreilly.com/library/view/bgp-in-the/9781491983416/(https://www.oreilly.com/library/view/bgp-in-the/9781491983416/)

これは面白い…というか、自分が今やってること的にとても勉強になったのでメモ。

日本語の他の方の記事もけっこうあるようだ。

遡ると'14の JANOG33 で Microsoft の人が講演していたりとか。(時期はこの本よりも早い)

1. Introduction to Data Center Networks

物理構成の話。L3 Leaf-Spine 型のNWの構成のベストプラクティスの解説。

2. How BGP Has Benn Adapted to the Data Center

物理構成ができたら、その上の routing をどうやるのか?の話。BGP話。

しかし、BGPの Best Path Algorithm が参照する metric が8つあって、それを覚えるのにこんなのがあるとは知らなかったw Cisco(当時?)の Denise Fishburne さんが考えたらしい。

mnemonic - BGP metric
Wise W Weight
Lisp L LOCAL_PREFERENCE
Lovers L Locally Originated
Apply A AS_PATH
Oral O ORIGIN
Medication M MED
Every E eBGP over iBGP
Night N NextHop IGP Cost

(うー、Pelican の調整がまだ不完全で border が出ないな...)

3. Building an Automatable BGP Configuration

各router (というか、TOR/Leaf/Spine等スイッチ)の BGP 設定は、 愚直に書くと機器ごとに個別の設定や、個別の機器内でも重複した記述が多数出てくるわけだが、 これを自動化のためにカイゼンできるか?の解説。

Spine側のASNの割り当てはちょっと誤解していたところがあった...

4. Reimaging BGP Configuration

3章の解説でもろもろ設定を単純化したとして、まだ以下のような pain point がある。

  • NW機器間(というか、ホストも含むかな...)のインターフェースに付与して管理するのは大変。
  • 隣(neighbour)のASの定義をいちいち書くのも大変。

一つ目の問題の解決として、(IPv6) Un-Numbered の解説。

二つめの問題の解決として、remote-as 構文の拡張の external / internal を使う方法の解説。

ちな、僕が読んだバージョンの p58 の Figure 4-2 の下半分の図は 10.1.1.0/24 じゃなくて、10.1.2.0/24 だと思う。

5. BGP Life Cycle Mamagement

状態表示でよく使うコマンドのほか、メンテのために停止させたい時の常套手段と、デバッグのやりかた。

デバッグ用の機能を使って、経路計算のロジックを勉強する…というのもあるのか。

6. BGP on the Host

この構成で本格的に動かす場合、ホストも BGP をしゃべることになるわけで、 今までのSEとNEという境界もあいまいになるよね…という話。

そのほか、Anycast 話とか、Dynamic Neighbour とか。

そういえば、題材に使われている FRR を使い込む… というタスクもあったのだが、再開せねば...(とおいめ