鈴木 剛(Tsuyoshi Suzuki)
グローバルナレッジネットワーク株式会社 Cisco認定インストラクター
July 19, 2016
初級者向け!BGPの基本とCiscoルータの動作
Cisco Support Community
ご参加ありがとうございます
本日の資料はこちらからダウンロードいただけます
http://supportforums.cisco.com/ja/community/5356/webcast
直接ダウンロードする場合はこちら
オーディオ ブロードキャスト について
[Audio Broadcast(オーディオ ブロードキャスト)] ウィン
ドウが自動的に表示され、コンピュータのスピーカーか
ら音声が流れます
[Audio Broadcast(オーディオ ブロードキャスト)] ウィン
ドウが表示されない場合は、[Communicate(コミュニ
ケート)] メニューから [Audio Broadcast(オーディオ ブ
ロードキャスト)] を選択します
イベントが開始されると自動的に音声が流れ始めます
音声接続に関する詳細はこちらをご参照ください。解決
しない場合は、QA ウィンドウよりお知らせください。
https://supportforums.cisco.com/ja/document/82876
ご質問方法
Webcast 中のご質問は全て画面右側のQAウィンドウ
より All Panelist 宛に送信してください
エキスパート スピーカー
鈴木 剛 (Tsuyoshi Suzuki)
グローバルナレッジネットワーク株式会社
Cisco認定インストラクター
グローバルナレッジネットワーク株式会社
会社紹介とご案内
提供コース1,000以上 年間提供クラス6,000以上
会社案内
(グローバルナレッジネットワーク)
• 世界約30か国で展開する
ITとビジネストレーニング
のリーディングカンパニー
Global Knowledge Asiaグループとして
アジア7ヶ国
に展開
• シスコダイレクトラーニングパートナー
入門~ハイエンドスキル、R&Sから各種専門分野まで
幅広くシスコ認定トレーニングコースを取り揃えて実施
・アワード受賞実績多数
シスコより・「Learning Partner of the Year for Asia Pacific and Japan 2016」
・「CCSI Instructor Excellence Award 2016」 4名 受賞
集合研修 (定期開催) 集合研修 (一社向け) Virtual Classroom (定期開催) eラーニング (ASP) オンライン 配信 (一社向け) Virtual Classroom (一社向け) NEW TRAIN MIX TRAIN (新入社員研修) Worldwide Training Service テスト センター
推奨コースとおすすめ情報
•
講義、演習、確認問題集、試験がセット、
5日間で効果的に資格取得できるプログラム
4日間で講義と演習を行い、
最終日の15:00から受験
「Cisco Learning Labs」を使用した
豊富な演習
確認問題集
が付属しており、効率よく学習が可能
豊富な受講形態
(集合研修/オンライン研修、
試験バウチャー付き/なし、など)
資格取得だけでなく、
実務スキルの
修得
も目的としたプログラム
1日目 オリエンテーション 講義 + 演習 + 章末の振り返り 2日目 朝テスト 講義 + 演習 + 章末の振り返り 3日目 朝テスト 講義 + 演習 + 章末の振り返り 4日目 朝テスト 講義 + 演習 + 章末の振り返り 5日目 朝テスト 復習 + 自習 試験 9:30 18:00 15:00 9:30 18:00グローバルナレッジの資格取得支援コース「CCNA BOOT CAMP」の特長
講義 自習用 問題集 受験 演習 受講後 サポート
キャンペーン・CCNA R&S改訂内容の詳細はWebへ http://gknet.jp/csitg
CCNA R&S v2.0資格取得応援キャンペーンのご案内
【キャンペーン期間】
●受講期間 2016年7月11日(月) ~ 2016年8月5日 (金) 【ICND1,CCNA R&S】 2016年7月11日(月) ~ 2016年9月16日 (金) 【ICND2】【キャンペーン概要】
キャンペーン期間中に、「CCNA BOOT CAMP 前編/後編」ご受講の皆様にもれなく、
対象コース毎の「【ASP】スマホ版対応問題集」をプレゼント
【CCNA R&S 改訂】
シスコシステムズ社によりCCNA R&S試験の改訂が発表されました。 現行のv2.0試験の終了時期 ICND1 : 2016/8/20 ICND2 : 2016/9/24 CCNA R&S : 2016/8/20◆CCNP R&S 認定カリキュラム対応
◆BGPに特化した講義と豊富な実機演習で、BGPのコンフィギュレーションをマスター
Implementing Cisco Routing (ROUTE) v2.0 ~CCNP BOOT
CAMP ルーティング編(試験あり/なし)
速習BGP
詳しくはWebへ
http://gknet.jp/csitg
鈴木 剛(Tsuyoshi Suzuki)
July 19, 2016
Cisco Support Community Expert Series Webcast
初級者向け!BGPの基本とCiscoルータ
の動作
グローバルナレッジネットワーク株式会社 Cisco認定インストラクター
投票質問1
これまでにBGPの学習や設定をしたことが
ありますか?
1.はい。BGPの知識があり、設定した
こともあります。
2.BGPの学習をしたことはありますが、
設定したことはありません。
3.BGPの設定をしたことはありますが、
体系的に学習したことはありません。
4.いいえ。BGPに関する学習は初め
てです。
1.
BGPとは
2.
BGPの設定1(ネイバー確立)
3.
BGPの設定2(ネットワークの通知)
インターネット BRIDGE BRIDGE BRIDGE BRIDGE 家庭
インターネット
インターネットの構造
ISP E 企業ネットワーク 一般家庭 データセンター 大学 ISP A (AS100) ISP B (AS200)インターネット
BGP ISP D ISP C (AS300) BGPBGP概要
インターネット
サービスプロバイダなどの各組織が保有・運用するネットワークを
AS(Autonomous System:自律システム)と言い、番号で識別される
インターネットは、AS同士を接続したものである
BGPはAS間で使用されるルーティングプロトコル(EGP)である
AS 200 AS 100 AS 400 AS 300 AS 500 AS 700 AS 600BGPの特徴
BGPの特徴
TCP(179番ポート)を使用し、ルート情報の交換に信頼性がある
大量のルート情報を交換できる
ルート情報には、以下が含まれる
ネットワークとサブネットマスク長(プレフィックスとプレフィックス長) 様々なアトリビュート(パス属性)を含む マスク長 ネットワーク アトリビュート AS_PATH 100,200・・・ 24 150.1.1.0 例)ルータ間で交換されるBGPパケット
IP
ヘッダ
TCP
ヘッダ
BGP
BGPの特徴
BGPの特徴
TCP(179番ポート)を使用し、ルート情報の交換に信頼性がある
大量のルート情報を交換できる
ルート情報には、以下が含まれる
ネットワークとサブネットマスク長(プレフィックスとプレフィックス長) 様々なアトリビュート(パス属性)を含む マスク長 ネットワーク アトリビュート AS_PATH 100,200・・・ 24 150.1.1.0 例)ルータ間で交換されるBGPパケット
IP
ヘッダ
TCP
ヘッダ
BGP
150.1.1.0/24
BGPのアトリビュートとは?
BGPの
アトリビュート
とは
RIPやOSPFの
メトリック
に似ている
メトリック
とはルート情報に付随する数値で、最も良い経路を見つける時に使用される
BGP
アトリビュート
とは、ルート情報に付随する複数の情報の総称である
最も良い経路を見つける時に使用される情報もある 経路選択以外で、BGPの動作を制御する情報もあるBGPのアトリビュートとは?
BGPの
アトリビュート
とは
RIPやOSPFの
メトリック
に似ている
メトリック
とはルート情報に付随する数値で、最も良い経路を見つける時に使用される
BGP
アトリビュート
とは、ルート情報に付随する複数の情報の総称である
最も良い経路を見つける時に使用される情報もある 経路選択以外で、BGPの動作を制御する情報もある次のページでもう少し説明します!
新宿
メトリックとは
メトリックとは
最も良い経路を判断する時の基準となるもの
Start
代々木
原宿
Goal
渋谷
どっちが良い?
ルート➀
ルート②
新宿
メトリックの考え方
メトリックとは
最も良い経路を判断する時の基準となるもの
Start
代々木
原宿
Goal
渋谷
ルート 目的地 次の駅 経由する駅数 ➀ 渋谷 渋谷 1 ② 渋谷 代々木 3➀が良い!
新宿の路線情報
ルート➀
ルート②
40.1.1.0/24
R1
メトリック(RIPの例)
メトリックとは
最も良い経路を判断する時の基準となるもの
Start
R2
R3
Goal
R4
ルート 宛先 ネクスト ホップ メトリック ➀ 40.1.1.0/24 R4 1 ② 40.1.1.0/24 R1 3➀が良い!
(ベストパス)
R1内のルート情報
(トポロジテーブル)
ルート➀
ルート②
新宿
アトリビュートとは
アトリビュートとは
ルート情報に付随する
複数の情報
の総称
Start
代々木
原宿
Goal
渋谷
ルート 目的地 次の駅 駅数 時間(分) 料金 ・・・ ➀ 渋谷 渋谷 1 15 220 ・・・ ② 渋谷 代々木 3 20 180 ・・・新宿の路線情報
ルート➀
ルート②
R1
アトリビュート
アトリビュートとは
ルート情報に付随する
複数の情報
の総称
Start
R2
R3
R4
ルート 宛先 NextHop LocPrf Weight Path ・・・
➀ 40.1.1.0/24 R4 50 0 4 ・・・ ② 40.1.1.0/24 R2 100 30 2 3 4 ・・・
R1内のルート情報
(BGPテーブル)
ルート➀
ルート②
40.1.1.0/24
Goal
アトリビュートまとめ
BGPのアトリビュートとは
RIPやOSPFのメトリックに似ている
BGPアトリビュートとは、ルート情報に付随する複数の情報の総称である
最も良い経路を見つける時に使用される情報もある 良い経路を見つける以外で、BGPの動作を制御する情報もある
代表的なアトリビュート
Origin
AS-path
NextHop
Local Preference
どの情報から評価するかは決まっている(ベストパス選択アルゴリズム)
【参考】BGPベストパス選択アルゴリズム
Cisco IOSのベストパス選択の優先順位
前提
AS_PATHに自分のAS番号が含まれるルートは、受信せず破棄される
ネクストホップへの到達性がないルートは、ベストパスには選ばれない
以下の順番でアトリビュートを評価し、ベストパスを1つに絞り込む
1.
Weightが大きいもの
2.
Local Preferenceが大きいもの
3.
自分自身が生成した経路情報
4.
AS_PATH長が短いもの
5.
ORIGIN (「i」 「e」 「?」の順に優先される(「i」が最優先))
6.
MEDが小さいもの
2.BGPの設定1
BGPネイバーとは
ネイバー(Neighbor)の日本語訳は「隣人」である
BGPネイバーとは、BGPを使ってルートの情報を交換するルータである
直接つながっているお隣のルータであることも多い
ネイバーとしたい相手のルータは、必ずconfigの中で指定する
※OSPFでは、指定しなくともネイバー関係が形成されます
BGPネイバーは2種類ある
EBGPネイバー
IBGPネイバー
R1
12.0.0.1
12.0.0.2
R2
12.0.0.2とネイバーになる!
12.0.0.1とネイバーになる!
EBGPネイバー
EBGPの”E”とはExteriorで、「外部」を意味する
EBGPネイバーとは、そのルータが所属するASの外部に存在するルータ、
すなわち異なるASに所属するルータとのネイバー関係である
R1とR2の設定が終わると、BGPでネイバーになるためのパケット(OPEN
メッセージ)が交換され、ネイバーが確立される
R1
12.0.0.1
12.0.0.2
R2
AS1
AS2
EBGPネイバー
EBGPネイバーの設定
R1
12.0.0.1
12.0.0.2
R2
AS1
AS2
router bgp 1
EBGPネイバーの設定
R1
12.0.0.1
12.0.0.2
R2
AS1
AS2
router bgp 1 neighbor 12.0.0.2 remote-as 2自分のAS番号
相手のIPアドレス
相手のAS番号
投票質問2
R2の設定で、正しいものはどれでしょう?
1.router bgp 1
neighbor 12.0.0.1 remote-as 1
2.router bgp 1
neighbor 12.0.0.2 remote-as 2
3.router bgp 2
neighbor 12.0.0.1 remote-as 1
4.router bgp 2
neighbor 12.0.0.2 remote-as 2
R1
12.0.0.1
12.0.0.2
R2
AS1
AS2
EBGPネイバーの設定とネイバー確立
R1
12.0.0.1
12.0.0.2
R2
AS1
AS2
router bgp 1 neighbor 12.0.0.2 remote-as 2 router bgp 2 neighbor 12.0.0.1 remote-as 1 OPEN OPEN➀両ルータに設定
②OPENメッセージ交換
③EBGPネイバー確立
OPENメッセージのチェック
R1
12.0.0.1
12.0.0.2
R2
AS1
AS2
router bgp 2 neighbor 12.0.0.1remote-as 1 OPEN➀
AS1
の
12.0.0.1
ですけど、私とネイバー
になってもらえませんか?
②(
AS番号
と
IPアドレス
は正しいな・・・)
AS2の12.0.0.2です。
はい、こちらこそよろしくお願いします。
OPENEBGPネイバーの耐障害性
EBGPネイバーが切断されると、障害の影響が大きい
回線を冗長化して、耐障害性を高める必要がある
しかし、2つのEBGPネイバーを持続するのはルータに負荷がかかる
Loopbackインターフェースを使って、ルータ間で1つだけBGPネイバーを
確立する
12.0.0.1
21.0.0.2
AS1
AS2
LoopbackインターフェースでEBGPネイバー
21.0.0.1
12.0.0.2
R1
R2
Loopback 0
1.1.1.1/32
Loopback 0
2.2.2.2/32
Loopbackを使用したEBGPネイバーの設定
この設定では、問題が3つ発生する
①
そもそも相手のLoopbackへの到達性がない
②
OPENメッセージの送信元IPアドレスが21.0.0.1や12.0.0.1になる
③
OPENメッセージのIPヘッダにあるTTLが1である
12.0.0.1
21.0.0.2
AS1
AS2
21.0.0.1
12.0.0.2
R1
R2
Loopback 0
1.1.1.1/32
Loopback 0
2.2.2.2/32
router bgp 1 neighbor 2.2.2.2 remote-as 2 router bgp 2 neighbor 1.1.1.1 remote-as 1問題➀と②の解決法
➀そもそも相手のLoopbackへの到達性がない
→両ルータにStaticルートを追加する
②OPENメッセージの送信元IPアドレスが21.0.0.1や12.0.0.1になる
→BGPの設定の中で、
送信元IPアドレスをLoopbackインターフェースに変更
する
12.0.0.1
21.0.0.2
AS1
AS2
21.0.0.1
12.0.0.2
R1
R2
Loopback 0
1.1.1.1/32
Loopback 0
2.2.2.2/32
ip route 2.2.2.2 255.255.255.255 21.0.0.2 ip route 2.2.2.2 255.255.255.255 12.0.0.2 router bgp 1 neighbor 2.2.2.2 remote-as 2neighbor 2.2.2.2 update-source loopback 0
ip route 1.1.1.1 255.255.255.255 21.0.0.1 ip route 1.1.1.1 255.255.255.255 12.0.0.1 router bgp 2
neighbor 1.1.1.1 remote-as 1
問題③
③OPENメッセージのIPヘッダにあるTTLが1である
・・・EBGPネイバーは直結ルータと形成することが多いので、TTLは1とする仕様である
何が問題か??
R1
12.0.0.1
12.0.0.2
R2
AS1
AS2
OPENTTL=1
R1#show ip routeGateway of last resort is not set
2.0.0.0/32 is subnetted, 1 subnets S 2.2.2.2 [1/0] via 12.0.0.2
Loopback 0
投票質問3
Staticルートに従って、TTLが1のパケット
を送信しようとしているR1は、どのように動
作するでしょうか?
1.「次のルータに破棄されるかもしれ
ないけど、自分には関係ない」と考
え、パケットを送信する。
2.「次のルータで破棄されることになる
から、無駄な動作はやめておこう」と
考え、パケットを送信しない。
3.「次のルータに破棄されないように、
TTLを変更しよう」と考え、TTLを1よ
りも大きな数字に変更してパケットを
送信する。
問題③の解決法
③OPENメッセージのIPヘッダにあるTTLが1である
→パケットが送信されるように、IPヘッダにセットされる
TTLを255へ変更
する
(pingなど通常のパケットは、CiscoルータはTTLを255にセットします)
※255でなくても、2以上なら構いません
12.0.0.1
21.0.0.2
AS1
AS2
21.0.0.1
12.0.0.2
R1
R2
Loopback 0
1.1.1.1/32
Loopback 0
2.2.2.2/32
ip route 2.2.2.2 255.255.255.255 21.0.0.2 ip route 2.2.2.2 255.255.255.255 12.0.0.2 router bgp 1 neighbor 2.2.2.2 remote-as 2neighbor 2.2.2.2 update-source loopback 0 neighbor 2.2.2.2 ebgp-multihop 255
ip route 1.1.1.1 255.255.255.255 21.0.0.1 ip route 1.1.1.1 255.255.255.255 12.0.0.1 router bgp 2
neighbor 1.1.1.1 remote-as 1
neighbor 1.1.1.1 update-source loopback 0 neighbor 1.1.1.1 ebgp-multihop 255
【参考】問題③を解決する別の設定
ルータがTTL=1のパケットを送信しようとする時、ルーティングテーブルの「C」ルー
トを参照している場合は、パケットを送信する
逆に、ルーティングテーブルで「S」や「O」など、「C」以外のルートを参照している場
合は、パケットを送信しない
●R1の設定 ip route 2.2.2.2 255.255.255.255 21.0.0.2 ip route 2.2.2.2 255.255.255.255 12.0.0.2 router bgp 1 neighbor 2.2.2.2 remote-as 2neighbor 2.2.2.2 update-source loopback 0 neighbor 2.2.2.2 disable-connected-check ●R2の設定 ip route 1.1.1.1 255.255.255.255 21.0.0.1 ip route 1.1.1.1 255.255.255.255 12.0.0.1 router bgp 2 neighbor 1.1.1.1 remote-as 1
neighbor 1.1.1.1 update-source loopback 0 neighbor 1.1.1.1 disable-connected-check
すなわち、TTL=1のパケットを送信しようとする時は
参照しているルートが「C(Connected)」かどうかをチェックしている
Loopbackを使用したEBGPネイバー確立
12.0.0.1
21.0.0.2
AS1
AS2
LoopbackインターフェースでEBGPネイバー
21.0.0.1
12.0.0.2
R1
R2
Loopback 0
1.1.1.1/32
Loopback 0
2.2.2.2/32
ip route 2.2.2.2 255.255.255.255 21.0.0.2 ip route 2.2.2.2 255.255.255.255 12.0.0.2 router bgp 1 neighbor 2.2.2.2 remote-as 2neighbor 2.2.2.2 update-source loopback 0 neighbor 2.2.2.2 ebgp-multihop 255
ip route 1.1.1.1 255.255.255.255 21.0.0.1 ip route 1.1.1.1 255.255.255.255 12.0.0.1 router bgp 2
neighbor 1.1.1.1 remote-as 1
neighbor 1.1.1.1 update-source loopback 0 neighbor 1.1.1.1 ebgp-multihop 255
【参考】IBGPネイバー
IBGPの”I”とはInteriorで、「内部」を意味する
IBGPネイバーとは、そのルータが所属するASの内部に存在するルータ、すなわち
同じASに所属するルータとのネイバー関係である
Loopbackインターフェースを使用する場合でも、TTLは255なので調整不要
IBGPネイバーを構成すると、アトリビュートを維持できる
R1
R2
AS1
AS2
EBGPネイバー
R3
IBGPネイバー
R4
AS4
EBGPネイバー
3.BGPの設定2
40.1.1.0/24
(復習)パケットのルーティングとは
R1
R2
40.1.1.80
クライアント
サーバ
下記の手順で、クライアントからサーバへパケットを送信できる
➀40.1.1.0/24をConnected
ルートとして認識している
③40.1.1.0/24がルーティング
テーブルに保存される
②ルーティングプロトコルで通知
パケット
パケット
④クライアントがパケットを送信
⑤R1とR2はルーティングテーブ
ルを参照してパケットを転送する
BGPによるネットワークの通知
R1
12.0.0.1
12.0.0.2
R2
AS1
AS2
router bgp 2 network 40.1.1.0 mask 255.255.255.040.1.1.0/24
40.1.1.0/24を通知
【注意】
EBGPネイバーはすでに確立されているものとし、そのconfigは割愛しています
networkコマンドの動作
BGPのnetworkコマンドは、通知したいネットワークを指定するコマンドである
RIPやOSPFのnetworkコマンドとは意味が異なる
RIPやOSPFでは「そのプロトコルを有効にするインターフェースを指定する」ため
のコマンドである
通知できるネットワークは、
ルーティングテーブルに存在し、networkコマンドの指定と
サブネットマスクも含めて完全一致
したものだけである
別の言い方をすれば、「BGPのnetworkコマンドは、ルーティングテーブルに存在する
ネットワークのうち、ネイバーに通知したいものを指定する」コマンドである
R1
R2
AS1
router bgp 2network 40.1.1.0 mask 255.255.0.0AS2
のように設定すると40.1.1.0/16のこととな
投票質問4
R2からR1へ通知されるネットワークはどれ
でしょう?
1.20.1.0.0/24と30.1.1.0/24
2.20.1.0.0/16と30.1.1.0/25
3.20.1.0.0/16のみ
4.30.1.1.0/25
5.どちらも通知されない
R1
R2
AS1
AS2
R2のルーティングテーブル 20.1.0.0/16 30.1.1.0/25 router bgp 2 network 20.1.0.0 mask 255.255.255.0 network 30.1.1.0 mask 255.255.255.0R1
【再掲】アトリビュート
アトリビュートとは
ルート情報に付随する
複数の情報
の総称
R2
R3
R4
ルート 宛先 NextHop LocPrf Weight Path ・・・
➀ 40.1.1.0/24 R4 50 0 4 ・・・ ② 40.1.1.0/24 R2 100 30 2 3 4 ・・・