関連事項の整理 62 IGP と EGP の違い ルータルータ ルータルータ EGP は Routing Domain 間の中の経路のみ扱う EGP の Next Hop は境界ルータへの IP アドレス Routing Domain - A ルータ ルータ IGP は Routing Domain

Similar documents
All Rights Reserved. Copyright(c)1997 Internet Initiative Japan Inc. 1

橡C14.PDF

ネットワークのおべんきょしませんか? 究める BGP サンプル COMMUNITY アトリビュートここまで解説してきた WEIGHT LOCAL_PREFERENCE MED AS_PATH アトリビュートはベストパス決定で利用します ですが COMMUNITY アトリビュートはベストパスの決定とは

15群(○○○)-8編

宛先変更のトラブルシューティ ング

Microsoft PowerPoint irs14-rtbh.ppt

Microsoft PowerPoint - janog20-bgp-public-last.ppt

BGPルートがアドバタイズされない場合のトラブルシューティング

2004 IPv6 BGP G01P005-5

BGP ( ) BGP4 community community community community July 3, 1998 JANOG2: What is BGP Community? 2

IIJ Technical WEEK2017 経路制御の課題と対策

ループ防止技術を使用して OSPFv3 を PE-CE プロトコルとして設定する

はじめに xsp のルータにおいて設定を推奨するフィルタの項目について の IPv6 版 最低限 設定することが推奨されるフィルタ について まず議論したい 接続形態に変化はないので IPv6 対応をメインに IETF draft RIR でproposal 進行中のものについては今回の検討外とした

網設計のためのBGP入門

PowerPoint プレゼンテーション

初めてのBFD

経路奉行の取り組み

MPLS-VPN とは C 社を中心として RFC2547(Informational) に記された ISP サービスとしての IP-VPN 実現技術 網内パケット転送に MPLS(LDP/TDP) VPN 経路情報交換に BGP(mpBGP:RFC2283) を使用 ルーティングプロトコルがエッジ

Inter-IX IX/-IX 10/21/2003 JAPAN2003 2

untitled

BGPベストパス選択の実際

Microsoft PowerPoint ppt [互換モード]

アライドテレシス・コアスイッチ AT-x900 シリーズ で実現するエンタープライズ・VRRPネットワーク

JANOG14-コンバージェンスを重視したMPLSの美味しい使い方

Microsoft PowerPoint - ie ppt

第一回 輪講 ~インターネットルーティング入門~

ISPのトラフィック制御とBGPコミュニティの使い方

routing_tutorial key

第1回 ネットワークとは

November 29, 2016 BGP COMMUNITY の世界動向 吉村知夏 NTT America Internet Week 2016 / Tokyo 1

2014/07/18 1

第11回ネットワークプランニング18(CS・荒井)

橡3-MPLS-VPN.PDF

ip nat outside source list コマンドを使用した設定例

IPv4

外部ルート向け Cisco IOS と NXOS 間の OSPF ルーティング ループ/最適でないルーティングの設定例

Microsoft PowerPoint - janog15-irr.ppt

rpki-test_ver06.pptx

Microsoft PowerPoint - chapter8_2013.pptx

JUNOSインターネットソフトウェアとIOSのコンフィグレーション変換

ISP バックボーンネットワークにおける経路制御設計 ~ 実践編 ~ NTTコミュニケーションズ ( 株 ) 吉田友哉 Copyright 2003 Tomoya Yoshida

untitled

事例から学ぶIPv6トラブルシューティング~ISP編~

IRS-Meeting-Log txt

(1) IGPのシステム 設 計 論 3 内 容 ルーティングとは ~ 基 本 の 復 習 ~ RIP OSPF OSPFの の 基 礎 OSPFの の 設 定 OSPFの の 網 設 計 OSPFの の 仕 組 み ~ 大 規 模 ネットワークにおいてOSPF OSPFの の 何 が 響 くのか~

BGP/MPLS-VPN とは ルータによる 多様な IF による提供が可能 (ATM~ HSD などの非対称構成も可能 ) 暗号に頼らないセキュリティの確保が可能 (FR などと同等の機能を IP ネットワークで実現 ) お客様側への特別な装置が不要 (a)ipsec-vpn 方式 暗号化装置 (

25.pdf

TCP/IP Internet Week 2002 [2002/12/17] Japan Registry Service Co., Ltd. No.3 Internet Week 2002 [2002/12/17] Japan Registry Service Co., Ltd. No.4 2

Firepower Threat Defense の BGP

janog40-bgp-tutorial

_IRS25_DDoS対策あれこれ.pptx

janog41-bgp-tutorial

【公開】村越健哉_ヤフーのIP CLOSネットワーク

PIM-SSMマルチキャストネットワーク

ルーティングの国際動向とRPKIの将来

技術的条件集別表 35 IP トランスポート仕様

技術的条件集別表 26.3 IP 通信網 ISP 接続用ルータ接続インタフェース仕様 (IPv6 トンネル方式 )

IPv6 トラブルシューティング~ ISP編~

学生実験

第1回 ネットワークとは

コンテンツセントリックネットワーク技術を用いた ストリームデータ配信システムの設計と実装

RENAT - NW検証自動化

P2P技術

[ 参照規格一覧 ] JIS C5973 (F04 形単心光ファイバコネクタ ) JIS C6835 ( 石英系シングルモード光ファイバ素線 1991) JIS C6832 ( 石英系マルチモード光ファイバ素線 1995) IETF RFC791(Internet Protocol

仕様と運用

total.dvi

橡2-TrafficEngineering(revise).PDF

Microsoft PowerPoint ISC203(印刷版).ppt

Packet Tracer: 拡張 ACL の設定 : シナリオ 1 トポロジ アドレステーブル R1 デバイスインターフェイス IP アドレスサブネットマスクデフォルトゲートウェイ G0/ N/A G0/

経路奉行・RPKIの最新動向

今日も元気でお酒がうまい。飲みに行こうぜー

RPKIとインターネットルーティングセキュリティ

実習 :VLAN 間ルーティングのトラブルシューティング トポロジ 2014 Cisco and/or its affiliates. All rights reserved. This document is Cisco Public. 1 / 8 ページ

Clos IP Fabrics with QFX5100 Switches

第10回 ネットワークプランニング15(荒井)

実習 :VLSM を使用した IPv4 アドレスの設計と実装 トポロジ 学習目標 パート 1: ネットワーク要件の確認 パート 2:VLSM アドレス方式の設計 パート 3:IPv4 ネットワークのケーブル配線と設定 背景 / シナリオ 可変長サブネットマスク (VLSM) は IP アドレスの節約

設定例: 基本 ISDN 設定

本日のお話 運用 / 運用システムの現状 ネットワーク運用の自動化のススメ 1) ネットワーク管理の自動化 2) ネットワーク工事 ( 設定 ) の自動化 3) ネットワーク運用時 ( 障害時 ) の自動化 Copyright 2012 NTT Communications Corporation.

janog40-sr-mpls-miyasaka-00

Microsoft PowerPoint f-InternetOperation04.ppt

untitled

技術知識 11 ディスタンスベクターとリンクステート ディスタンスベクターとは 噂話が好きな奥様達による伝言ゲームである リンクステートとは 同じカーナビをつけた走り屋の集団である... 私の先輩の格言より * * * ルーティングプロトコルの仕組みに

untitled

今日のトピック 実験結果の共有 RPKI/Router 周りの基本的な動き 今後の課題と展望 2012/7/6 copyright (c) tomop 2

untitled

9.pdf

R80.10_FireWall_Config_Guide_Rev1

VPN の IP アドレス

_ITRC42_nishizuka2.pptx

4-octet ASを用いた実験・調査の概要

The Internet ebgp peering BFD deployment (?) CE (Upstream) stability RIPE-229 fast-external-fallover keepalive/holddown 5sec/15sec BFD

Office 365 とのドメイン間フェデレーション

MPLS Japan 2015 キャリアサービスへの EVPN 適 用の検討と課題 横 山博基 NTT コミュニケーションズ株式会社 ネットワークサービス部 Copyright NTT Communications Corporation. All right reserved.

EIGRP MPLS VPN PE-CE Site of Origin の設定

Microsoft PowerPoint - about_stack_ ppt [互換モード]

VRF のデバイスへの設定 Telnet/SSH アクセス

Polling Question 1

Microsoft PowerPoint - s2-TatsuyaNakano-iw2012nakano_1105 [互換モード]

IPv6 リンクローカル アドレスについて

技術的条件集別表 26.2 IP 通信網 ISP 接続用ルータ接続インタフェース仕様 (IPv4 トンネル方式 -10GBASE LR インタフェース )

Transcription:

59 BGP のシステム設計論 60 概要 関連事項の整理 BGP プロトコル概説 ISP ネットワーク拡大に沿った規模対応 ポリシルーティング ポリシルーティングの実際 30

関連事項の整理 62 IGP と EGP の違い ルータルータ ルータルータ EGP は Routing Domain 間の中の経路のみ扱う EGP の Next Hop は境界ルータへの IP アドレス Routing Domain - A ルータ ルータ IGP は Routing Domain B の中の経路のみ扱う IGP の Next Hop は次のルータの IP アドレス または ルータの送出 I/F ルータルータ Routing Domain - B 31

63 IGP と EGP での経路解決 100.0.0.0/16 ルータ ルータ ルータ ルータ Routing Domain - A 100.0.0.254/30 経路表 IGP: 100.0.0.252/30 200.0.3.1 200.0.1.0/24 200.0.2.1 EGP: 100.0.0.0/16 100.0.0.253 EGP 100.0.0.253/30 200.0.3.1 ルータ ルータ IGP 200.0.2.1 ルータ ルータ Routing Domain - B 200.0.1.0/24 64 BGP Border Gateway Protocol EGP として標準である BGP パスベクタ型 (Path Vector) RFC1771 バージョン BGP-4 が標準 IPv6 は BGP-4 を拡張して利用 (BGP4+) 特徴 様々な経路制御パラメータがある MED, Local Preference, AS Path Length(*), Community マルチホーム 冗長構成が可能 高いスケーラビリティ 高い拡張性 (Capability の利用 ) (*)RFC1771 には AS Path 長によって最適経路を判断する基準は記述されていない しかし 現在は一般的に行われている 32

65 BGP - Terminology 100.0.0.0/16 ルータルータ AS は 一つの経路制御ポリシを持ち そのポリシに従ってインターネットの中で自律的に経路を制御できる単位を示す参考 : http://www.nic.ad.jp/doc/jpnic-00273.html ルータ AS A ルータ AS: Autonomous System ebgp: External-BGP ibgp: Internal-BGP 100.0.0.254/30 AS 番号の範囲 1~64511 : Global AS 64512~65534 : Private AS 0, 65535 : IANA Reserve ebgp Peer 100.0.0.253/30 200.0.3.1 ルータ ルータ ibgp 200.0.2.1 AS - B ルータルータ 200.0.1.0/24 66 CIDR の復習 (1) CIDR Classless Inter-Domain Routing クラスレスな AS 間の経路制御 クラスレスとは classa, classb, classc などのクラスの考え方を除いたもの 対義語 == クラスフル (classful) 33

67 CIDR の復習 (2) クラスフル (classful) という考え方 IP アドレスの先頭オクテットの値でネットワークアドレスの範囲を判断する class A = 1~126 第一オクテットだけがネットワーク class B = 128~191 第二オクテットまでネットワーク class C = 192~223 第三オクテットまでネットワーク ネットワークアドレス単位でしか扱わない ( 扱えない, 伝えない, 伝えるすべがない ) その中を更に分割したものをサブネットと言う 分割する大きさも自分にしか定義できず 伝えるすべがない クラスフルネットワークの中は統一したサブネットのサイズにしないと扱えない 68 CIDR の復習 (3) クラスレス (classless) という考え方 どこまでがネットワークを示すのかを明示して扱う ネットワークを示すものをプリフィクス (Prefix) と呼ぶ プリフィクスの長さは一般的にビット数で表される Class Cの 202.216.40.0 202.216.40/24 (202.216.40.0/24) つまりクラスレスだと 連続するclass Cアドレスを任意の大きさでひとかたまりで扱える Class Aのサブネットも全く同様に扱える Class Cより小さいアドレスブロックも全く同様に 任意の大きさで扱える これがいわゆるVLSM(Variable Length Subnet Mask) 34

69 CIDR の復習 (4) CIDR クラスレスな AS 間経路制御 プリフィクス + プリフィクス長で経路情報を扱う 複数の ClassC(=/24) アドレスも ( あらゆるアドレスが ) 任意の大きさでひとかたまりに扱える AS 内の小さなネットワークセグメント, ユーザネットワークをひとかたまりにして他の AS に広告できる 経路集成 aggregation The Internet における階層的経路制御 (1) 70 全インターネットを 3 つに階層化して それぞれ独立して経路制御を扱う InterAS AS 間,Default-Free ゾーン,EGP で制御 IntraAS AS 内,AS 内の全経路,IGP で制御 End-User ユーザサイト内 Static や IGP で制御 InterAS IntraAS End-User AS1 AS2 AS3 End-User End-User 35

The Internet における階層的経路制御 (2) 71 経路集成 Aggregation 複数の経路情報をひとかたまりにして より大きなサイズの ( より短いプリフィクスの ) 単一の経路情報にすること 現在 IP アドレスの割り振りは ISP 毎に行われているので そこからユーザに割り当てる IP アドレスは割り振りブロックで集成することができる 202.216.32.0/24 202.216.33.0/25 202.216.33.128/26 202.216.33.192/26 202.216.34.0/23 202.216.36.0/22 集成 202.216.32.0/21 The Internet における階層的経路制御 (3) それぞれの境界で経路集成 = 情報量の縮退 上流の経路は全て default route で制御する 下流の詳細構成は気にせず ひとかたまりの経路で制御する BGP 110,000 Inter AS 経路経路 Default-free free ゾーン EGP による経路制御 10 NextHop 10 NextHop 経路集成 Default 経路集成 Default Route Route 1000 1000 Intra Intra AS AS IGP IGP による経路制御 Intra AS Intra Intra AS AS IGP による経路制御による経路制御 IGP IGP による経路制御 Intra AS OSPF IGP による経路制御による経路制御 1 Default Default route route 経路集成経路集成 IntraAS IntraAS IGP IGP 10 10 End-User End-User 72 36

The Internet における階層的経路制御 (4) 73 その内在的矛盾? CIDR は非階層的アドレス形態であった IP アドレスに階層構造を持ち込んだ 階層構造を厳格に推し進めようとすると 電話番号のように局番固定割り当てのような構造が望ましい 末端に近くなるほどマルチホームがしにくい 小さいアドレスブロックでマルチホームをするのは難しい Aggregation と CIDR の内在的矛盾 実際問題としては 小さいアドレスブロックでマルチホームすることも容認されつつある 階層的経路制御の崩壊の兆し Punching Hole Routes の出現 ( 経路の半分は /24 何故?) BGP の動作の仕組み 37

75 BGP メッセージの種類 OPEN BGP セッションを開始するときに発行される KEEPALIVE BGP セッションが開通していることを確認するために利用される NOTIFICATION エラーなどの情報を伝えるために使われる UPDATE 実際の経路情報などを伝えるために使われる 伝わってくる経路情報 (IPv4) 76 Withdraw をする経路 ( 経路表から削除する経路 ) を格納してある領域のオクテット数 Withdraw をする経路のリスト 新しくアナウンスされる経路 または既にアナウンスされている経路の更新によって新しく設定される経路に対する属性 新しくアナウンスされる経路 または既にアナウンスされている経路のリスト ( 到達性情報 ) で これらの経路すべてに上記の属性が適用される UPDATE Message Header Unfeasible routes length [2] Prefix Length [1] Prefix Length Path attributes Length [1] NLRI Length [1] Withdrawn routes Prefix #1 Prefix #2 Path attributes Network Layer Reachability Information 38

77 Path Attributes( パス属性 ) プリフィクスに括りつけられた経路選択制御用の属性値群 必須, 任意, 透過性, 非透過性の 4 つに分類 必須 Well-known mandatory 全ての BGP ルータで解釈可能で 全ての経路レコードに必要 任意 Well-known discretionary 全ての BGP ルータで解釈可能で 必ずしもつけなくても良い 透過性 Optional transitive 一部の BGP ルータで解釈されない可能性があり 次の AS へも伝播される 非透過性 Optional non-transitive 一部の BGP ルータで解釈されない可能性があり 次の AS へ伝播されない 崩れ始めた Mandatory 属性 ~ こぼれ話 ~ 78 BGP の Mandatory は BGP で経路を伝播するために必須のものとして定義された属性である 以降に説明するが IPv4 の経路だけを想定すれば Mandatory 属性は必須であるのはすごく自然である しかし BGP4+( 俗称であるが..) の登場 BGP を利用した MPLS ラベル配送技術の登場と BGP を取り巻く環境は BGP を経路制御プロトコルから ネットワーク情報伝達プロトコルへと変えていった この流れの中で 既に Mandatory なのにも関わらず既に現実的に省略されている属性も出始めている 39

Path Attributes( パス属性 ) Well-known mandatory 79 ORIGIN 生成元の AS でどういう形で BGP 上に生成されたか IGP, EGP, INCOMPLETE の 3 値 経路のほとんどは IGP が Origin となる EGP は他の EGP から BGP に移された経路をいい 現在ほとんど見ることはない INCOMPLETE は どこから redistribute されて BGP に移されたわからないけ路をさす AS_PATH 生成元 AS までの経過 AS のリスト NEXT_HOP そのプリフィクスへの次のホップとなる IP アドレス 一般的に隣接するルータではなく AS の出口の IP アドレスとなる Path Attributes( パス属性 ) ポリシ制御のプレイヤーたち 80 LOCAL_PREF Well-Known Discretionary Local Preference AS 内で他 AS から受け取った経路に関する優先度をつけるのに用いる MULTI_EXIT_DISC Non-Transitive Multi Exit Discriminator 複数相互接続点を持つ隣接 AS に対してそれぞれの優先度を伝える COMMUNITY Transitive 任意の 32 ビットの情報を伝達する 40

81 ebgp と ibgp ebgp External BGP 他の AS との間でセッションを張り経路情報の交換を行う ibgp Internal BGP 同じ AS の複数の BGP ルータの間で それぞれが ebgp を介して入手した ( あるいは自 AS 内から生成した ) 外部経路を交換し AS 内の経路情報の同期を取る 基本的には ibgp で入手した経路情報は ibgp で以遠伝播しない 全ての BGP ルータと ibgp セッションを確立する必要がある ( 回避方法は後ほど ) ISP ネットワーク拡大に沿った規模対応設計 ~BGP の導入 ~ 41

AS 番号はどうやって割り当てを受けるのか 83 JPNIC が割り当てを行う http://www.nic.ad.jp/ja/ip/asnumber.html AS 割り当ての条件 RFC1930 日本語訳も一応ある ftp://ftp.nic.ad.jp/jpnic/ipaddress/rfc1930-jp.txt あくまでガイドラインであって 実際の細かい条件は RIRs(APNIC など ) によって決定され運用されている マルチホームの条件はなくなりました 84 最も単純な BGP の導入 IGP でデフォルトルートが指されるルータが単一のボーダルータ BGP AS 独自の経路制御ポリシだから 2 つ以上の AS に接続 aggregate Inter AS aggregate Default route Intra AS IGP による経路制御 問題点 :single : point of of failure 複数箇所で他の AS AS と接続したい 42

85 BGP 導入の実際 2 つ以上の国内大手 ISP を上流としてマルチホーム接続 NSPIXP,JPIX, JPNAP などのインターネットエクスチェンジに加入して 国内到達性を確保 別途国際ゲートウェイ ISP( あるいは国内大手 ISP) に加入して海外到達性を確保 アドレスブロックは JPNIC などから割り当てをうける 現在では IX 経路で国際トランジットをもらうケースもある BGP の基本的コンフィグレーション (1) 86 BGP BGP 起動起動 router bgp 20000 BGP BGP グローバルコマンドグローバルコマンド no synchronization IGP IGP で経路があればで経路があれば BGP BGP で広告で広告 no auto-summary 含まれるプリフィクスが network 172.16.0.0 mask 255.255.0.0 含まれるプリフィクスが IGP IGP にあれば集成経路を広告 network 192.0.1.0 mask 255.255.255.0 にあれば集成経路を広告 aggregate-address 223.224.0.0 255.255.0.0 summary-only neighbor 202.249.2.60 remote-as 4689 集成経路以外を抑制 neighbor 202.249.2.60 route-map AS4689in in Peer Peer 確立確立 neighbor 202.249.2.60 route-map ixp-out out Route-map map でポリシを記述 43

BGP の基本的コンフィグレーション (2) 87 Inbound 方向のルートマップの例 route-map AS4689in permit 10 match as-path 10 set local-preference 110! route-map AS4689in permit 20 match as-path 20 set local-preference 100! シーケンス番号 シーケンス番号 シーケンス番号順に構成され その順番に評価されるそれぞれのシーケンスでは適合条件とアクションを定義するンを定義する BGP の基本的コンフィグレーション (3) 88 Outbound 方向のルートマップの例 route-map ixp-out permit 10 match as-path 30 set metric 1000! 44

ISP ネットワーク拡大に沿った規模対応設計 ~ibgp システムの構築 ~ 90 2 つのボーダルータを置く デフォルトが 2 つ IGP 的に近いほうを選択する ボーダルータ間の経路情報の同期? ibgp の確立 aggregate Default ibgp Intra AS IGP による経路制御 ebgp Inter AS aggregate Default 次の課題 :BGP: 加入者にトランジットを提供 Full route 45

91 ibgp の注意点 ebgp は直接隣接を必要とするが ibgp は AS 内での同期が目的なので離れていても確立可能 ibgp は全てのボーダルータとセッションを張る必要がある ボーダルータでなくてはならないという制限はない ただし 92 ibgp 仕様上の問題点 Synchronization 問題 トランジットしようとする経路は IGP で観測されていなければならない Next-hop が別のボーダルータだった場合 途中の IGP ノードでは default しか知らない net N net N default Default net N????? net N 46

93 ibgp システムの解 No synchronization IGP synchronization の縛りを解くコマンド (c 社 ) IGP で経路観測されない経路も利用可能 つまり BGP ルータ間に非 BGP ルータがあると矛盾が発生 トランジット層の総 BGP ノード化 トランジット層とアクセス層の二層構造へ BGP ユーザが多い場合 総トランジット層 に近づく Transit layer Access layer 94 ibgp 問題のまとめ ibgpは隣接していなくても確立可能 仕様では 中間ノードが経路制御できないと問題があるので IGPでBGP 経路を知っている必要があった がしかし それでは経路制御階層化の意味がないので IGPとの同期を外すほうがよい IGP 同期を外す結果 全てのBGPルータは隣接する必要がある BGPルータ ( トランジット ) 層と非 BGPルータ ( アクセス ) 層の二層に階層化 総トランジット層へ 47

ibgp システムの基本 (1) NEXT_HOP を IGP で観測する 95 ibgp で伝播される外部経路では 基本的に NEXT_HOP の値は変わらない ebgp の隣接ルータの IP アドレス BGP 経路は NEXT_HOP が IGP で reachable でなければ有効とならない そこで IX やプライベートピアリングのセグメントを IGP で認識させる 例えば passive-interface で OSPF プロセスに定義する ebgp ルータで ibgp ピアに対して nexthop-self を設定して 自分の IP アドレスを NEXT_HOP として使う ibgp システムの基本 (2) loopback をピア設定に利用する 96 ibgp ピアの設定では Loopback アドレスを利用するのが 基本 Loopback インターフェースはダウンしない 隣接ルータと対面するインターフェースが落ちても迂回して到達することが可能 Loopback インターフェースにも IGP を起動することを忘れずに 全 BGP ルータで同じ IP アドレスで対象ルータを認識することが可能 IX などに接続するボーダルータで 且つそこに 2 台以上のルータを接続した場合には注意が必要 ibgp が IX 越しに接続される可能性があり 思わぬ経路トラブルを起こす可能性が高い 48

ibgp の基本的コンフィグレーション 97 Interface Loopback 0 ip address 202.216.41.1 255.255.255.255! Interface FastEthernet 2/0 description NSPIXP2 Segment ip address 202.249.2.41 255.255.255.0! Router ospf 4689 network 202.216.41.1 0.0.0.0 area 0 network 202.249.2.0 0.0.0.255 area 0 passive-interface loopback 0 passive-interface FastEtheret 2/0! Router bgp 4689 neighbor IBGP peer-group neighbor IBGP remote-as 4689 neighbor IBGP update-source Loopback 0 neighbor 202.216.41.2 peer-group IBGP neighbor 202.216.41.3 peer-group IBGP neighbor 202.216.41.4 peer-group IBGP Loopback Loopback0 0 の設定の設定 /32 /32で構わない FastE2/0 FastE2/0 が IX IXセグメントだったとする Loopback Loopbackと IX IXセグメントをセグメントをOSPF 上で定義 か上で定義 かつ非活性とする これによって他の BGP BGPルータでもそれぞれがでもそれぞれがIGP IGP 上で認識される上で認識される peer-group peer-group を利用してみる を利用してみる 等質なコンフィグには非常に有効 Update-source Update-source で ピアリングに利用する IP IPアドレスを定義するドレスを定義する ibgp ibgpに loopback loopbackアドレスを利用すると BGP BGPルータをータをIP IPアドレスで認識できるので運用上非常に便利常に便利 ISP ネットワーク拡大に沿った規模対応設計 ibgp システムのスケーラビリティ 49

99 ibgp システムのスケーラビリティ ibgp で得た経路は他の ibgppeer に再伝播しないため 全ノードを mesh 状に peer する ボーダルータ 5 ノードで既に 10peer 10 ノードでは? 10C2 = 45 11 ノード目の増設にあたって 10peer の追加 ibgp Transit フル mesh layer 問題 ibgp フル mesh 問題解決策 ibgp ルートリフレクタ (1) 100 リフレクタとリフレクタクライアントの 2 階層化 リフレクタからクライアントには ibgp で得た経路を再分配する RR Normal ibgp Peers Transit layer RR Peer to Reflector Clients 50

ibgp フル mesh 問題解決策 ibgp ルートリフレクタ (2) 101 コンフィグレーション リフレクタ側で以下のように設定 クライアント側では設定不要 階層化可能 階層化しない場合はリフレクタ同士は以前 Full Mesh な構成が必要 Non-Client BGP Peers router bgp 14186 bgp cluster-id FOUR-BYTE-CLUSTER-ID neighbor CLI.ENT.IPA.DDR remote-as 14186 neighbor CLI.ENT.IPA.DDR route-reflector-client ibgp フル mesh 問題解決策 BGP コンフェデレーション (1) 102 BGP コンフェデレーション (confederation) AS の中を更に小さい単位で subas に分け その間を ebgp で結ぶ フル mesh にはる必要はなくなる Sub-AS 内での Full Mesh は依然必要 AS65001 AS65003 AS65002 Transit layer AS65004 AS65005 51

ibgp フル mesh 問題解決策 BGP コンフェデレーション (2) 103 コンフィグレーション プライベート AS を利用するのが普通 Confed 内部となる AS 番号を confed peers で定義 router bgp 65000 bgp confederation identifier 4689 bgp confederation peers 65001 65002 65003 65004 network. 104 AS 内 BGP スケーラビリティ問題の実際 複数の対外接続が必要 The Internet 冗長性の確保が必要 POP にコアルータが 2 台 BGP の加入者増 BGP 加入者用ルータの増大 13C2=78 78peers 地域 /POP 毎に BGP 接続加入者がいる それぞれに BGP ノードが必要 52

105 AS 内 BGP スケーラビリティ問題の実際 ~RR による解法 ~ RR の導入 The Internet POP コアルータと対外接続ルータをフルメッシュ 9C2+8= +8=44 44peers 加入者ルータがクライアント 106 AS 内 BGP スケーラビリティ問題の実際 ~RR による解法 ~ RR の導入 設計上この階層をさらに Reflector-Client の構成にすればさらに Peer の数は減る R1 R2 The Internet R1 (3)+(1+14)+(3+8)=29 29peers R2 R2 Non-Client Peer R2 R2 R2 加入者ルータがクライアント 53

AS 内 BGP スケーラビリティ問題の実際 ~ コンフェデレーションによる解法 ~ 107 地域 POP ごとに subas を設定 BGP 加入者収容ルータとの間にiBGPを設定 confedbgp 領域 subas IGP は分割, 単一どちらでも OK The Internet 25peers ISP ネットワーク拡大に沿った規模対応設計 スケーラビリティとトラブル回避 54

109 ebgp のスケーラビリティ 経路数 110,000 経路 (**) 最近の伸びはほとんどない 所要メモリサイズに影響 256MB 必要 Peer の数 IX で多数の peer を張るとメモリ所要に影響 50peer 程度 +upsteam で 10MB 程度余分に消費 **http://www.apnic.net/stats/bgp/total/totalann.html 110 ebgp の問題回避技術 (1)-1 誤広告対策 隣接 ASが広告する経路は完全にいつも正しいとは限らない 誤った経路受領は障害の原因となる AS-pathによるフィルタリング 隣接 AS から広告する旨を予め知らせてもらった ASpath の経路しか受け取らない Prefix が間違っている場合には防げない 55

111 ebgp の問題回避技術 (1)-2 プリフィクスフィルタリング ( 主に顧客の場合 ) 顧客が広告するプリフィクスを予め知らせてもらい フィルタする Prefix が変わった際にいちいち設定が必要で ISP- 顧客間のやり取りが煩雑 Dynamic Route Filtering IRR の登録情報を元に Filter を自動生成して運用する システムに問題が発生した場合にすべてが Filter される可能性がある Maximum-prefix を絞る Neighbor NE.IG.HB.OR maximum-prefix 1000 900 C 社コマンド 1000 経路までしか受けず 900 でアラーム 当該 AS からの設定ミスなどによる大量アナウンスを防止する 特定の Prefix をブロックすることはできない 112 ebgp の問題回避技術 (2) Route flapping リンク不安定などによる経路広告のばたつき 経路更新, 消去の連続で CPU リソースを浪費 対処策 :Flap Dampening..(config-router)# bgp dampening c 社コマンド ばたつく経路に一定時間のペナルティを課して 経路テーブルから消す 一方でデフォルトの設定では メンテナンスなどで正常なアナウンスをした経路までブロックしてしまう可能性がある Non-Transitive の副作用 / 実装依存 http://www.nanog.org/mtg-0210/flap.html 56

113 ebgp の問題回避技術 (3) ポリシ変更の負担軽減 ポリシ変更を反映には peerのクリアが必要 Upstreamの場合 full route を受けるため負担 対処策 : soft-reconfiguration c 社機能 クリアなしに経路に対するポリシ反映 Outbound はコンフィグそのままで実行可能 Clear ip bgp PEER soft out 一旦広告していた経路を取り消して 再広告 Inbound はneighbor 定義が必要 Neighbor ADDRESS soft-reconfiguration inbound ネイバから受けたそのものを蓄えておき それに対して新たなポリシを適用 メモリが余分に必要なので注意 Full routeで10mb 程度 対処策 : Graceful Restart Peerのクリアを行っても Peerが再度張りなおされた後 Peerが切れている間にUpdateされた経路のみが 広報されUpdateの負荷を最小限にする仕組み http://www.ietf.org/proceedings/02mar/i-d/draft-ietf-idr-restart-02.txt ポリシルーティング 57

115 ポリシルーティング BGP における経路情報の扱い プリフィクス (NLRI)+ パス属性 パス属性値の調整, パス属性値に基づく経路選択を行うことができる ルーティングポリシ 複数 peer を持つ AS との間でどのようにトラヒックを交換するか セキュリティのために経路をフィルタする 複数の upstream に対するトラヒックバランス ポリシルーティングを可能にするパス属性値 116 AS_PATH 経過 AS 列, 短いほうが優先 ただし,RFC1771 には規定なし AS-path prepend で AS 列長の調整が可能 LOCAL_PREF Local Preference 設計者意図の優先順位付け MULTI_EXIT_DISC Multi Exit Discriminator (MED) 隣接する AS 間で複数 peer がある場合の優先度 COMMUNITY Community Attribute 32 ビットの値を付加できる プロトコル上 値に意味はないが 有効な利用法がカレントプラクティスに存在 ルータごとに Community の値を判断して Prepend, LocalPref, MED などを適宜負荷することが可能 58

117 AS_PATH 172.16.0.0/16 AS20001 AS_PATH: 20001 AS_PATH: 20004 20001 AS20004 Prefix AS Path 172.16.0.0/16 20003 20002 20001 >172.16.0.0/16 20004 20001 AS_PATH: 20001 AS20002 172.16.0.0/16 へのトラヒック AS20005 AS20003 AS_PATH: 20003 20002 20001 通常 AS_PATH が短い (AS ( 数が少ない ) ものを選択する AS_PATH: 20002 20001 118 AS Path Prepend AS を余計につけて AS_PATH_length を長く見せるテクニック as-path prepend 20004 AS_PATH: 20004 20004 AS_PATH: 20003 20004 20004 AS20003 Prefix AS Path 172.16.0.0/16 20003 20004 20004 > 172.16.0.0/16 20002 20004 172.16.0.0/16 AS20004 172.16.0.0/16 へのトラヒック AS20001 AS20002 AS_PATH: 20004 AS_PATH: 20002 20004 59

119 LOCAL_PREF 172.16.0.0/16 AS20001 他 AS から受領する経路に付加し 大きいほうが優先される AS20002 Local_Pref=9 0 AS_PATH: 20002 20001 AS20005 172.16.0.0/16のトラヒックの流れ AS20004 Local_Pref=1 00 AS20003 AS_PATH: 20004 20003 20001 通常 AS_Path の小さい AS2 経由が優先だが Local_Pref により AS4 の経路を優先する Prefix AS Path LocPref > 172.16.0.0/16 20004 20003 20001 100 172.16.0.0/16 20002 20001 90 120 MULTI_EXIT_DISC AS20001 172.16.0.0/16 MED500 プライベートピアリング 172.16.0.0/16 へのトラヒックは プライベートピアを経由 MED1000 IX ピアリング AS20002 Prefix AS Path MED 172.16..0.0/24 20001 200 > 172.16..0.0/24 20001 100 広告する経路に付加し隣接 AS に伝えられ 隣接 AS における経路選択で使われる 数値が小さい方が優先 60

121 COMMUNITY(1) 32 ビットの整数値, 透過性 Well-known Community No-export: 自 AS 以外に広告しない No-advertise: 受領したルータ以降に広告しない Well-known ではない Community 経路情報を受領した AS, ルータで解釈させ 何らかのポリシ付加 (Prepend, LocalPref など ) を発生させる 122 COMMUNITY(2) 一般的な利用法 New-format 32 ビットを 16 ビットずつに二分 5511:1000 上位 ターゲット AS 下位 ターゲット AS での動作 例 1:RFC1998 MCI( 現 CWnet) における実装例 3561:70 そのプリフィクスに LocPref=70 付与 3561:80 そのプリフィクスに LocPref=80 付与... その AS からの戻りトラヒックの制御に便利! 61

COMMUNITY (3) 123 AS5511 の例 地域, ピアごとに 広告経路上の prepend 及び非広告を指定可能 124 COMMUNITY の利用方法 AS20004 172.16.0.0/16 CA 3561:70 172.16.0.0/16 CA 3561:70 に対して LOCAL_PREF=70 を付加 経路情報に付加して広告することで 対地における経路選択を制御することができる AS20003 172.16.0.0/16 172.16.0.0/16 へのトラヒック AS20002 AS3561 Prefix AS Path LocPref 172.16.0.0/16 20003 20004 70 > 172.16.0.0/16 20002 20004 100 62

125 BGP の最適経路の決定プロセス 同一プリフィクスの経路情報が複数があるとき パス属性値に拠って最適方路を決定 以下 cisco の例 1. Local Preference が大きい 2. AS_PATH が短い 3. MED が小さい 4. IGP 上で Next-hop が近い (cost/metric) 5. BGP のルータ ID が小さい 正確には 5 つの判断基準ではなく IP Address が小さいものを選ぶなど 細かいものを含めると 10 個の基準がある ポリシルーティングの実際 63

127 相互接続の例 海外上流 1 海外上流 2 海外上流 3 ピア 2 ピア 1 IX 自 AS 顧客 128 ポリシルーティングの基本検討 相互接続別 対地別の基本ポリシ付け Outbound/Inbound を対にして どういう経路を交換するか 相互接続別 顧客フルルート供給, 顧客経路のみ受領 ピア相手自網顧客経路のみを相互に交換 海外上流自網顧客経路のみ供給, フルルート受領 対地別 ( 優先する順番にパスを並べる ) 顧客直接,IX 経由,Upstream 経由 国内対地プライベートピア経由,IX ピア経由,Upstream 経由 海外対地安い順番, 品質の良い順番, とりあえず無制御 64

129 受領経路優先順序検討 ( 国内 ) 海外上流 1 海外上流 2 海外上流 3 ピア 2 ピア 1 IX 自 AS 顧客に対しては契約線を優先するが障害時には IX 経由でも到達性を確保したい 顧客 130 受領経路優先順序検討 ( 国内 ) 海外上流 1 海外上流 2 海外上流 3 ピア 2 ピア 1 IX 自 AS ピアはプライベートピアがある場合そこを優先にしたい 国内が全滅したときには海外も使いたい 顧客 65

131 受領経路優先順序検討 ( 国内 ) 海外上流 1 海外上流 2 海外上流 3 ピア 2 ピア 1 IX 自 AS 顧客 132 受領経路優先順序検討 ( 海外 ) 海外上流 1 が一番安いので トラフィックを集めたい しかし 到達性が良い対地は他の上流を使うようにしたい 海外上流 1 海外上流 2 海外上流 3 ピア 2 ピア 1 IX 自 AS 顧客 66

受領経路に関するルーティングポリシ実装案 133 各 ebgp ピアで 受領経路に対して以下の通り LOCAL_PREF を付与する 顧客 110 プライベートピアリング 100 IXピアリング 95 海外上流 90 海外上流に関して 上流 2, 上流 3 から受領する経路に AS-path prepend を 1hop 掛ける 134 広告経路ポリシ検討 ( 国内 ) 海外上流 1 海外上流 2 海外上流 3 ピア 2 ピア 1 IX 自 AS 顧客 広告する経路に付与して有効なattribute は MED, as-path prepend,, community のみ 67

135 広告経路ポリシ検討 ( 海外 ) 海外上流 1 海外上流 2 海外上流 3 ピア 2 ピア 1 ( ( 受領経路と同様に ) IX 海外上流 1 が一番安いので トラフィックを集めたい しかし 到達性が良い対地は他の上流を使うようにしたい 顧客 自 AS 広告経路に関するルーティングポリシ実装案 136 各 ebgp ピアで 広告経路に対して以下の通り MULTI_EXIT_DISC を付与する 顧客 500 プライベートピアリング 900 IXピアリング 1000 海外上流に関して 上流 2, 上流 3 に広告する経路に AS-path prepend を 1hop 掛ける 68

137 海外上流のトラフィック制御の難しさ 海外上流からの inbound トラフィックのバランスは日々変化する 接続構成は常に更新される 調整方法としては as-path prepend, Community プリフィクスの一部のみ適用 広報 Prefix を分割してアナウンスするなど 精密な調整が不要な工夫が必要 全部従量課金サービスにしてコストへのインパクトを少なくする 十分なキャパシティを準備して突出しても性能低下にならないようにする キャパシティプランニングの重要性大 US Tier1 US Tier1 US Tier1 US Tier1 IX ピアリング, プライベートピアリングピアリング構成変更, 容量増強, 提携関係, 顧客関係 海外上流 1 海外上流 2 自 AS 海外上流 3 スケーラブルな経路制御設計 69

139 BGP と OSPF の比較 (1) OSPF IGP : Interior Gateway Protocol IP 上に直接乗るプロトコル Protocol number: 89 リンクステート型プロトコルリンクステート情報を伝播状態変更毎に LSA, 連鎖伝播 BGP EGP : Exterior Gateway Protocol TCP 上に乗るプロトコル Port number: 179 パスベクター型プロトコルパス情報を伝播 状態変更毎に UPDATE, 連鎖伝播 140 BGP と OSPF の比較 (2) OSPF 基本的に OSPF を起動した隣接ルータ全てと経路交換 BGP 明示的に定義した隣接ルータのみと経路交換 マルチキャストでセグメント上の全 OSPF ルータとやりとり 隣接ルータ毎に BGP セッションを確立 ( ピアリング ) あるネットワーク ( ルータ ) の状態変更は 全ルータのパスツリー再作成を引き起こす 30 分でリフレッシュ --flooding あるネットワークの状態変化は基本的にはそのプリフィクスだけの問題 リフレッシュなし 70

141 BGP と OSPF の比較 (3) OSPF トポロジの管理に主眼を置く エリア内共通の LSDB を全ルータが作成し LSDB から各ルータそれぞれがパスツリーを作成 経路個別のポリシ付加は不可 精密で敏速な経路制御 BGP プリフィクス ( ネットワーク ) のパス属性に着目 受領した UPDATE は各 AS, ルータのポリシに基づいて処理, 以遠伝播する 経路個別にポリシ付加が可能 パス属性値としてプリフィクスに付加 ポリシに基づいた経路制御 Scalable Routing Design Principles 142 RFC2791, July 2000, Jessica Yu ドラフトの日本語訳あり http://www.janog.gr.jp/doc/draft-yurouting-scaling-01-j.txt 71

スケーラビリティ確保のための指針 143 階層構造化 ibgp RR の階層化,OSPF のバックボーンエリアと他エリア 区画化 BGP Confederation,OSPF のエリア分割 適切なトレードオフの設定 BGP flap dampening 経路制御処理の負担を軽減 経路集成, 集約 スケーラブルな経路制御ポリシ, 実装 できるだけシンプルにする, できるだけ自動化する 世界規模 ISP における典型的なネットワーク構成 144 全ルータで BGP が起動される そもそも末端ルータでもメモリフル実装 BGP はルートリフレクタで階層化 加入者ルータ以外は二重化構成 IGP(IS-ISが多い ) によるロードバランシング実現 Staticは場合によってはBGPにredistribute 72

OSPF による NEXT_HOP へのロードバランシングの仕組み その経路へデータが行くためには BGP next-hop である redistribute したルータの loopback アドレスへ向かおうとする BGP next-hop へ向けて OSPF で作られたルーティングテーブルを recursive lookup する データトラヒック ロードバランスする R R R R R Loopback address 外部経路 Static or BGP 145 146 BGP と OSPF の分担 OSPFはトポロジ管理に関しては精巧だが 外部経路を扱うことは不得手 外部経路のフィルタリングも難しい たとえスタティックルートでも 多くなると安定しない BGPはトポロジ管理はできないが 外部経路のコントロールは非常に得意 ポリシの付加やフィルタリングも容易 73

147 骨組みと神経回路 nexthop nexthop nexthop BGP による骨組み IGP による神経回路 nexthop nexthop nexthop 148 参考文献 74

149 参考文献 RFC2791 - Scalable Routing Design Principles Jessica Yu インターネットルーティングアーキテクチャ第 2 版 Sam Halabi / Danny McPherson 著, 鈴木訳 インターネットルーティング入門 友近 池尻 小早川著, 翔泳社 インターネットルーティング C. Huitema 著, 前村監修 エクストランス訳, 翔泳社 Question? Kuniaki KONDO kuniaki@inetcore.com Akinori MAEMURA akinori.maemura@francetelecom.com 75