初めての - ENOG39 Meeting - 2016 年 7 月 1 日 株式会社グローバルネットコア 金子康行 <yasuyuki.kaneko@global-netcore.jp>
最初に質問? もちろん使ってるよ! という人どれくらいいます? 2
を使うに至った経緯 コアネットワークの機器リプレイスをすることに 機器リプレイスとともに 構成変更を行うことに 3
コアネットワーク ( 変更前 ) The Internet Service Network A Service Network B 4
コアネットワーク ( 変更後 ) The Internet Service Network A Service Network B 5
を使うに至った経緯 バックボーンが L3(point-to-point) から L2(broadcast multi-access) に変更 隣接ルータのリンク障害を物理的に検知できない コンバージェンスに時間がかかる 6
コアネットワーク ( 変更前 ) The Internet Service Network A Service Network B 7
コアネットワーク ( 変更前 ) The Internet Service Network A Service Network B 8
コアネットワーク ( 変更前 ) The Internet Service Network A Service Network B 9
コアネットワーク ( 変更後 ) The Internet Service Network A Service Network B 10
コアネットワーク ( 変更後 ) The Internet Service Network A Service Network B 11
コアネットワーク ( 変更後 ) The Internet Service Network A Service Network B 12
障害検知にかかる時間 ルーティングプロトコルの仕様 設定に依存 の場合 (Cisco の default 値 ) 10 秒おきに Hello パケットを送出 40 秒間 Hello パケットを受信しないとダウンと判断 BGP の場合 (Cisco の default 値 ) 60 秒おきに Keepalive パケットを送出 180 秒間 Keepalive パケットを受信しないとダウンと判断 もっと高速に障害検知 経路収束させたい!! 13
そこで を使えば! により隣接ルータとの疎通を確認 数十 数百 msec 単位で Hello を送信し続ける ダウンを検知したらルーティングプロトコルに通知 ルーティングプロトコロルのタイマーをまたずに迂回処理を開始 より高速に障害検知 経路収束が可能!! 14
そもそも とは何か RFC5880 : Bidirectional Forwarding Detection 双方向フォワーディング検出 The goal of Bidirectional Forwarding Detection () is to provide low-overhead, short-duration detection of failures in the path between adjacent forwarding engines, including the interfaces, data link(s), and, to the extent possible, the forwarding engines themselves. の目標は 隣接するフォワーディングエンジン間のパス障害を 低負荷かつ短時間で検出すること 15
そもそも とは何か RFC5881 : Bidirectional Forwarding Detection () for IPv4 and IPv6 (Single Hop) Control packets MUST be transmitted in UDP packets with destination port 3784, within an IPv4 or IPv6 packet. The source port MUST be in the range 49152 through 65535. の制御パケットは IPv4 または IPv6 の UDP パケットで 宛先ポートを 3784 として送信されなければならない 16
の動作原理 (1) neighbor 確立 17
の動作原理 (1) neighbor 確立 (2) session 要求 (2) session 要求 18
の動作原理 (1) neighbor 確立 (2) session 要求 (2) session 要求 (3) neighbor 確立 19
の動作原理 neighbor 確立 neighbor 確立 20
の動作原理 neighbor 確立 neighbor 確立 21
の動作原理 neighbor 確立 (1) neighbor 切断 22
の動作原理 neighbor 確立 (2) Neighbor 状態の変化を通知 (2) Neighbor 状態の変化を通知 (1) neighbor 切断 23
の動作原理 (3) neighbor 切断 (2) Neighbor 状態の変化を通知 (2) Neighbor 状態の変化を通知 (1) neighbor 切断 24
の動作原理 (4) LSA 更新 (3) neighbor 切断 (2) Neighbor 状態の変化を通知 (2) Neighbor 状態の変化を通知 (1) neighbor 切断 25
Configuration 例 Cisco IOS の場合 interface GigabitEthernet1 ip address 10.0.0.1 255.255.255.0 ip ospf bfd ipv6 address FE80::1 link-local ipv6 ospf 10 area 0 ipv6 ospf bfd bfd interval 50 min_rx 50 multiplier 3! router bgp 65001 neighbor 10.0.0.2 remote-as 65001 neighbor 10.0.0.2 fall-over bfd 26
Configuration 例 Cisco IOS の場合 #show bfd neighbors IPv4 Sessions NeighAddr LD/RD RH/RS State Int 10.0.0.2 4097/4097 Up Up Gi1 IPv6 Sessions NeighAddr LD/RD RH/RS State Int FE80::2 1/1 Up Up Gi1 GigabitEthernet1 10.0.0.1/24 FE80::1/64 IPv4 session IPv6 session GigabitEthernet1 10.0.0.2/24 FE80::2/64 27
より厳密に 高速に? さらに細かいプロトコルタイマーもあるので注意 - SFP Delay トポロジ変更受信と最短パス優先 (SPF) 計算開始との間の遅延時間 Cisco のデフォルト値は 5 秒 Juniper のデフォルト値は 200 ミリ秒 BGP Advertisement Interval ルーティングアップデートをピアに送出する最小間隔 Ciscoのデフォルト値は 0 秒 30 秒 Juniperのデフォルト値は 0 秒 28
まとめ 簡単便利 機器が対応しているなら ぜひ使ってみましょう ルーティングプロトコルのタイマーを短くするより多分安全 相互接続ももちろん可能 当社の場合 Cisco 機器と Juniper 機器の間でも します でも 実運用はこれからだったり 検証済みだけど 本番運用は今月 or 来月からの予定もしトラブったらまた ENOG で報告するかも 29