Knowledge of Internet Routing Protocols ~設計~


執筆中・・・

設計

BGP

  • iBGP ではフルメッシュ peering が必要だが、複数台存在する時点でルートリフレクタ(RR)を用いる</p>
    • peerの本数が減らすことが出来るのでルータの負荷軽減につながる
    • 複数 RR を置いている場合は同じ Cluster ID を付ける*1
      • 同一 Cluster ID は同一経路情報を破棄するため、RR 同士は差分の経路情報のみをやり取りできるので負荷軽減につながる?
  • eBGP 受信経路への LP/MED は接続形態に沿って
    • LPで大まかに優先度を決めて、同じ LP のもので AS-path 長で比較したい時に MED で差をつけるなど、大まかな優先度は以下</p>
      1. private peer
      2. public peer
      3. upstream
    • 実際には複数本存在したりその間での優先度の決定やトラフィック量の調整のために prefix 単位で制御する場合もある
  • nexthop-self の活用
    • iBGP に対して行う時は peering アドレスがどのルータに接続されている分かりづらいので、見やすくするために有効
    • nexthop が peering address のままだとそこまでの到達性が BGP のみになるので、loopback address にして IGP で到達性を確保する意味もあり
      • 実際は peering アドレスは OSPF に載せて、IGP としても保持しておく
    • eBGP では1ルータで複数 peering している時に peer 先に対して誤った nexthop を広報しないようにする意味で有効*2
  • MD5 password の活用
    • セキュリティの観点から全ての peer に適用するように推奨されている

OSPF

  • Area0 にいくつまでルータが置けるか</p>
    • ルータのスペックにもよるが、厳密な推奨台数は無いためやってみてが多い</p>
      • 1996年の文献では40~50台のルータが経験上、上限だといっている*3
    • LSDB がどこまで大きく出来るかにつながるので無駄な肥大化は避けたい
    • 地方拠点/edge 部分など役割と拡張性もみてAreaを切ることか可能なことが明確な部分にはには設ける
  • DR/BDR への意識
    • 複数ネットワークをルータが接続している場合、DR/BDRがかぶらないように、prorityで調整(実際には neighbor を張る順番にも依存するので必ずしも有効ではない)
    • メンテナンスの少ない or 上位ルータを DR/BDR にする
  • cost
    • interface の帯域や NW構成の階層でシンプルに決める
    • 距離感をそのまま反映したい場合は type1 を用いる
    • type 1/2 の混合は混乱しやすいので避けたい
  • default route の広報
    • 障害時を想定して上位のルータから default route を OSPF にて広報する
    • 広報するルータは全ての宛先がわかるという意味でフルルートを保持しているものにする

全般的に、、

  • 設計ポリシーはシンプルに、例外はなるべく少なく
  • protocol distance/route preference の意識を常にもつ
    • メーカごとに異なるので注意する。OSPFとBGPの優先度など
    • BGP経路に乗せていても広報できていない場合があり
  • 障害時のトラフィック迂回時を想定する
    • このポイントが切れたらここに回るを把握する</p>
      • eBGP と IGP 両方の場合について
    • 2次障害を加味してはきりが無いのである程度であきらめる

*1:NANOG31 “BGP Techniques for Internet Service Providers” by Philip Smith

*2:Internetweek2005 “ISPバックボーンネットワークにおける経路制御設計 ~実践編~” by 吉田友哉, NTT-Com

*3:”OSPF設計ガイド” by Sam Halabi, Cisco Systems, Inc. 1994.04.01