SlideShare a Scribd company logo
1 of 21
Download to read offline
BGP Unnumbered で遊んでみた
1
@akira6592
⾃⼰紹介
¡ 名前︓ よこち
¡ 執筆・ブログなど
¡ Ansible実践ガイド 第3版
¡ Software Design 2019年12⽉号 Ansible 連載
¡ Software Design 2018年12⽉号 Ansible 特集
¡ 技術ブログ(てくなべ)
¡ 過去発表資料
2
@akira6592
はじめに
¡ インターフェースや BGP ネイバーの IPアドレス設定が不要な
BGP Unnumbered をご紹介します
¡ デモもあります
¡ 最近知って、試してみたレベルです
¡ Cumulus Linux 4.1 (FRR) 前提です
3
BGP Unnumbered とは︖
4
BGP Unnumbered とは
¡ アドレス指定不要で BGP ネイバーを⾃動発⾒
¡ IPv6 リンクローカルアドレスをネクストホップとした
IPv4 経路情報を広報(RFC 5549)
5
アドレス通知
・⾃動発⾒
経路情報
Dest: 172.16.X.0/24
Next Hop: fe80: ...
何が嬉しいか
¡ インターフェースのIPアドレス設定が不要
¡ IPv4 アドレスの節約
¡ ネイバーIPアドレスの指定が不要
¡ コンフィグ可変要素が少なく、
スケールさせやすい
6
interface swp1
no shutdown
!
interface swp2
no shutdown
!
router bgp 65011
bgp router-id 10.0.0.11
no bgp default ipv4-unicast
bgp bestpath as-path multipath-relax
neighbor ISL peer-group
neighbor ISL remote-as external
neighbor ISL bfd
neighbor swp1 interface peer-group ISL
neighbor swp2 interface peer-group ISL
!
address-family ipv4 unicast
redistribute connected route-map ADV_LO_SRVRS
neighbor ISL activate
exit-address-family
IPアドレス設定なし
ネイバーIP設定なし
もう少しだけ詳しく
7
ネイバー⾃動発⾒の仕組み
¡ ⾃⾝のアドレスは IPv6 の リンクローカルアドレス で⾃動割当
¡ ⾃⾝に明⽰的なアドレス設定不要
¡ ネイバー間で IPv4 は利⽤しない
¡ ネイバーのアドレスは IPv6 の ND(Neighbor Discovery)の仕組みで通知
¡ RA で IPv6 リンクローカルアドレスと MAC アドレスを通知
¡ これにより BGP OPEN メッセージを開始
¡ ネイバーのアドレス指定不要
RA で通知、発⾒
8
IPv4 経路を IPv6 経由で広報する仕組み
¡ RFC 5549 を利⽤
¡ Advertising IPv4 Network Layer Reachability Information with an IPv6 Next Hop
¡ IPv6 をネクストホップとした IPv4 経路を広報
【経路情報】
Dest: 172.16.X.0/24
Next Hop: fe80: ...
9
(参考)RFC 5549 関連の OPEN メッセージ
¡ Capability Code (RFC 5492): 5 Extended Next Hop Encoding (RFC 5549)
¡ NLRI AFI: 1 (IPv4)
¡ NLRI SAFI: 1 (unicast) など
¡ Next Hop AFI: 2 (IPv6)
10
(参考)RFC 5549 関連の UPDATE メッセージ
¡ Path Attribute Type Code: 14 (MP_REACH_NLRI) (RFC4760)
¡ AFI: 1 (IPv4)
¡ SAFI: 1 (unicast) など
¡ Network Address of Next Hop: IPv6 ネクストホップ
¡ NLRI: 広報する IPv4 経路
¡ Path Attribute Type Code: 15 (MP_UNREACH_NLRI) (RFC4760)
¡ AFI: 1 (IPv4)
¡ SAFI: 1 (unicast) など
¡ Withdrawn Routes: 削除する IPv4 経路
11
デモ
12
シナリオ: 1. 事前状態
¡ 4台構成のBGP
¡ leaf02はBGP未設定
¡ sv01/02間は疎通不可
13
spine01 spine02
leaf01 leaf02
swp1 swp2
swp1 swp2 swp1 swp2
swp1 swp2
swp3 swp3
sv01 sv02
BGP未設定
BGPネイバー
確⽴済み
.254
.1
172.16.1.0/24
.254
.1
172.16.2.0/24
シナリオ: 2. BGP 設定追加
¡ leaf02 へBGP設定追加
spine01 spine02
leaf01 leaf02
swp1 swp2
swp1 swp2 swp1 swp2
swp1 swp2
swp3 swp3
sv01 sv02
BGP設定追加
BGPネイバー
確⽴済み
.254
.1
172.16.1.0/24
.254
.1
172.16.2.0/24
14
シナリオ: 3. 事後状態確認
¡ 以下を確認
¡ ネイバー状態
¡ ルーティングテーブル
¡ 疎通
spine01 spine02
leaf01 leaf02
swp1 swp2
swp1 swp2 swp1 swp2
swp1 swp2
swp3 swp3
sv01 sv02
BGPネイバー
確⽴済み
.254
.1
172.16.1.0/24
.254
.1
172.16.2.0/24
ネイバー張れた︖
ルーティングは︖
疎通可能︖
15
デモ
¡ (デモ画⾯をご覧ください)
16
まとめ
17
まとめ
¡ BGP Unnumbered は以下の仕組みで実現しています
¡ IPv6 のリンクローカルアドレスや ND による、ネイバーを⾃動発⾒
¡ RFC 5549 による、IPv6 をネクストホップとした IPv4 経路を広報
¡ これに限らず、プロトコルや機器の実装レベルでの⾃動化を活⽤すると、
設計がシンプルになり、さらなる⾃動化も進めやすそうです
18
参考1(本・サイト)
¡ Cloud Native Data Center Networking
¡ https://www.oreilly.com/library/view/cloud-native-data/9781492045595/
¡ https://cumulusnetworks.com/lp/cloud-native-data-center-networking
¡ BGP in the Data Centerを読みました (4/6) : Chapter 4 - Reimagining BGP
Configuration
¡ https://foobaron.hatenablog.com/entry/bgp-in-the-data-center-04
¡ RFC5549の技術の導⼊を実現する⽅法とメリット
¡ https://cyberagent.ai/blog/tech/658/
¡ Cumulus Linux の仮想アプライアンス「Cumulus VX」を Vagrant で構築する
¡ https://tekunabe.hatenablog.jp/entry/2019/11/17/cumulus_vx_vagrant
19
参考2(関連RFC)
¡ RFC 5549
¡ Advertising IPv4 Network Layer Reachability Information with an IPv6 Next Hop
¡ IPv6 をネクストホップとした IPv4 経路の広報
¡ RFC 5492
¡ Capabilities Advertisement with BGP-4
¡ Capability Code など
¡ RFC 4760
¡ Multiprotocol Extensions for BGP-4
¡ MP_UNREACH_NLRI、MP_REACH_NLRI パスアトリビュートなど
20
参考3(各社実装)
¡ Cumulus
¡ BGP unnumbered overview
¡ https://cumulusnetworks.com/blog/bgp-unnumbered-overview/
¡ Arista
¡ BGP IPv6 Link Local Peers Discovery -BGP Unnumberedに対するAristaの解-
¡ https://eos.arista.com/ja/bgp-ipv6-link-local-peers-discovery/
¡ Juniper
¡ Understanding Redistribution of IPv4 Routes with IPv6 Next Hop into BGP
¡ https://www.juniper.net/documentation/en_US/junos/topics/topic-map/multiprotocol-bgp.html#id-understanding-
redistribution-of-ipv4-routes-with-ipv6-next-hop-into-bgp
¡ Cisco
¡ NX-OS Release 6.2(8) 以降でRFC 5549 対応
¡ https://www.cisco.com/c/ja_jp/td/docs/sw/dcswt/nex7000swt/cg/049/l3-cli-nxos/l3-advbgp.html
21

More Related Content

What's hot

"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越Kentaro Ebisawa
 
ロードバランスへの長い道
ロードバランスへの長い道ロードバランスへの長い道
ロードバランスへの長い道Jun Kato
 
インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造Taiji Tsuchiya
 
VPP事始め
VPP事始めVPP事始め
VPP事始めnpsg
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021Preferred Networks
 
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月VirtualTech Japan Inc.
 
ネットワーク機器のAPIあれこれ入門 (NetOpsCoding#2)
ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)
ネットワーク機器のAPIあれこれ入門 (NetOpsCoding#2)Kentaro Ebisawa
 
Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理Takuya ASADA
 
3GPP F1インターフェース(TS38.470-f50)の概要
3GPP F1インターフェース(TS38.470-f50)の概要3GPP F1インターフェース(TS38.470-f50)の概要
3GPP F1インターフェース(TS38.470-f50)の概要Tetsuya Hasegawa
 
ネットワークエンジニアはどこでウデマエをみがくのか?
ネットワークエンジニアはどこでウデマエをみがくのか?ネットワークエンジニアはどこでウデマエをみがくのか?
ネットワークエンジニアはどこでウデマエをみがくのか?Yuya Rin
 
Fibre Channel 基礎講座
Fibre Channel 基礎講座Fibre Channel 基礎講座
Fibre Channel 基礎講座Brocade
 
無料で仮想Junos環境を手元に作ろう
無料で仮想Junos環境を手元に作ろう無料で仮想Junos環境を手元に作ろう
無料で仮想Junos環境を手元に作ろうakira6592
 
IPv4/IPv6 移行・共存技術の動向
IPv4/IPv6 移行・共存技術の動向IPv4/IPv6 移行・共存技術の動向
IPv4/IPv6 移行・共存技術の動向Yuya Rin
 
OpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウドOpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウドMasanori Itoh
 
【EX/QFX】JUNOS ハンズオントレーニング資料 EX/QFX シリーズ サービス ゲートウェイ コース
【EX/QFX】JUNOS ハンズオントレーニング資料 EX/QFX シリーズ サービス ゲートウェイ コース 【EX/QFX】JUNOS ハンズオントレーニング資料 EX/QFX シリーズ サービス ゲートウェイ コース
【EX/QFX】JUNOS ハンズオントレーニング資料 EX/QFX シリーズ サービス ゲートウェイ コース Juniper Networks (日本)
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 VirtualTech Japan Inc.
 
VyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 BridgeVyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 BridgeKLab Inc. / Tech
 

What's hot (20)

"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越
 
ロードバランスへの長い道
ロードバランスへの長い道ロードバランスへの長い道
ロードバランスへの長い道
 
インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造
 
VPP事始め
VPP事始めVPP事始め
VPP事始め
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
 
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
 
ネットワーク機器のAPIあれこれ入門 (NetOpsCoding#2)
ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)
ネットワーク機器のAPIあれこれ入門 (NetOpsCoding#2)
 
Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理
 
3GPP F1インターフェース(TS38.470-f50)の概要
3GPP F1インターフェース(TS38.470-f50)の概要3GPP F1インターフェース(TS38.470-f50)の概要
3GPP F1インターフェース(TS38.470-f50)の概要
 
ネットワークエンジニアはどこでウデマエをみがくのか?
ネットワークエンジニアはどこでウデマエをみがくのか?ネットワークエンジニアはどこでウデマエをみがくのか?
ネットワークエンジニアはどこでウデマエをみがくのか?
 
Fibre Channel 基礎講座
Fibre Channel 基礎講座Fibre Channel 基礎講座
Fibre Channel 基礎講座
 
無料で仮想Junos環境を手元に作ろう
無料で仮想Junos環境を手元に作ろう無料で仮想Junos環境を手元に作ろう
無料で仮想Junos環境を手元に作ろう
 
Multi Chassis LAG for Cloud builders
Multi Chassis LAG for Cloud buildersMulti Chassis LAG for Cloud builders
Multi Chassis LAG for Cloud builders
 
NETCONFとYANGの話
NETCONFとYANGの話NETCONFとYANGの話
NETCONFとYANGの話
 
IPv4/IPv6 移行・共存技術の動向
IPv4/IPv6 移行・共存技術の動向IPv4/IPv6 移行・共存技術の動向
IPv4/IPv6 移行・共存技術の動向
 
OpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウドOpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウド
 
HTTP/2 入門
HTTP/2 入門HTTP/2 入門
HTTP/2 入門
 
【EX/QFX】JUNOS ハンズオントレーニング資料 EX/QFX シリーズ サービス ゲートウェイ コース
【EX/QFX】JUNOS ハンズオントレーニング資料 EX/QFX シリーズ サービス ゲートウェイ コース 【EX/QFX】JUNOS ハンズオントレーニング資料 EX/QFX シリーズ サービス ゲートウェイ コース
【EX/QFX】JUNOS ハンズオントレーニング資料 EX/QFX シリーズ サービス ゲートウェイ コース
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
 
VyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 BridgeVyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 Bridge
 

Similar to BGP Unnumbered で遊んでみた

自宅ラック勉強会#3
自宅ラック勉強会#3自宅ラック勉強会#3
自宅ラック勉強会#3hikari1019
 
Technical report for IPv6 Routing w/ bgp4+
Technical report for IPv6 Routing w/ bgp4+Technical report for IPv6 Routing w/ bgp4+
Technical report for IPv6 Routing w/ bgp4+Toshiki Tsuboi
 
IPv6 を始めてみた
IPv6 を始めてみたIPv6 を始めてみた
IPv6 を始めてみたmiki koganei
 
Internet Week 2018 知っておくべきIPv6とセキュリティの話
Internet Week 2018 知っておくべきIPv6とセキュリティの話Internet Week 2018 知っておくべきIPv6とセキュリティの話
Internet Week 2018 知っておくべきIPv6とセキュリティの話Akira Nakagawa
 
IPv6冗長で差をつけよう 2011年夏の思い出作り HSRP編
IPv6冗長で差をつけよう 2011年夏の思い出作り HSRP編IPv6冗長で差をつけよう 2011年夏の思い出作り HSRP編
IPv6冗長で差をつけよう 2011年夏の思い出作り HSRP編@ otsuka752
 
I pv6 research_basical
I pv6 research_basicalI pv6 research_basical
I pv6 research_basicalkuni255
 
192.0.0.4 on android
192.0.0.4 on android192.0.0.4 on android
192.0.0.4 on android@ otsuka752
 
Apstra AOS 3.2 機能一覧
Apstra AOS 3.2 機能一覧Apstra AOS 3.2 機能一覧
Apstra AOS 3.2 機能一覧ApstraJapan
 
2011/08/27 第3回 静岡 IT Pro勉強会 インフラ部 LT
2011/08/27 第3回 静岡 IT Pro勉強会 インフラ部 LT2011/08/27 第3回 静岡 IT Pro勉強会 インフラ部 LT
2011/08/27 第3回 静岡 IT Pro勉強会 インフラ部 LTTatsuya Ueda
 
Technical report for IPv6 Routing w/ bgp4+ (part2)
Technical report for IPv6 Routing w/ bgp4+ (part2)Technical report for IPv6 Routing w/ bgp4+ (part2)
Technical report for IPv6 Routing w/ bgp4+ (part2)Toshiki Tsuboi
 
MAP 実装してみた
MAP 実装してみたMAP 実装してみた
MAP 実装してみたMasakazu Asama
 
545人のインフラを支えたNOCチーム!
545人のインフラを支えたNOCチーム!545人のインフラを支えたNOCチーム!
545人のインフラを支えたNOCチーム!Masayuki Kobayashi
 
Layer 4 Load Balancer (NAT, IP Tunnelling, DR)
Layer 4 Load Balancer (NAT, IP Tunnelling, DR)Layer 4 Load Balancer (NAT, IP Tunnelling, DR)
Layer 4 Load Balancer (NAT, IP Tunnelling, DR)Kota Uchida
 
IPv6冗長で差をつけよう 2011年夏の思い出作り VRRP編
IPv6冗長で差をつけよう  2011年夏の思い出作り VRRP編IPv6冗長で差をつけよう  2011年夏の思い出作り VRRP編
IPv6冗長で差をつけよう 2011年夏の思い出作り VRRP編@ otsuka752
 
結局IPv6ってどうなん?(序)
結局IPv6ってどうなん?(序)結局IPv6ってどうなん?(序)
結局IPv6ってどうなん?(序)nemumu
 
自宅ラック勉強会資料
自宅ラック勉強会資料自宅ラック勉強会資料
自宅ラック勉強会資料Razzan Zhang
 
自宅ラック勉強会Vol4 #routerboard
自宅ラック勉強会Vol4 #routerboard自宅ラック勉強会Vol4 #routerboard
自宅ラック勉強会Vol4 #routerboardkometch H
 

Similar to BGP Unnumbered で遊んでみた (20)

自宅ラック勉強会#3
自宅ラック勉強会#3自宅ラック勉強会#3
自宅ラック勉強会#3
 
Technical report for IPv6 Routing w/ bgp4+
Technical report for IPv6 Routing w/ bgp4+Technical report for IPv6 Routing w/ bgp4+
Technical report for IPv6 Routing w/ bgp4+
 
IPv6 を始めてみた
IPv6 を始めてみたIPv6 を始めてみた
IPv6 を始めてみた
 
Internet Week 2018 知っておくべきIPv6とセキュリティの話
Internet Week 2018 知っておくべきIPv6とセキュリティの話Internet Week 2018 知っておくべきIPv6とセキュリティの話
Internet Week 2018 知っておくべきIPv6とセキュリティの話
 
IPv6冗長で差をつけよう 2011年夏の思い出作り HSRP編
IPv6冗長で差をつけよう 2011年夏の思い出作り HSRP編IPv6冗長で差をつけよう 2011年夏の思い出作り HSRP編
IPv6冗長で差をつけよう 2011年夏の思い出作り HSRP編
 
I pv6 のはなし
I pv6 のはなしI pv6 のはなし
I pv6 のはなし
 
I pv6 research_basical
I pv6 research_basicalI pv6 research_basical
I pv6 research_basical
 
192.0.0.4 on android
192.0.0.4 on android192.0.0.4 on android
192.0.0.4 on android
 
Apstra AOS 3.2 機能一覧
Apstra AOS 3.2 機能一覧Apstra AOS 3.2 機能一覧
Apstra AOS 3.2 機能一覧
 
SRv6 study
SRv6 studySRv6 study
SRv6 study
 
2011/08/27 第3回 静岡 IT Pro勉強会 インフラ部 LT
2011/08/27 第3回 静岡 IT Pro勉強会 インフラ部 LT2011/08/27 第3回 静岡 IT Pro勉強会 インフラ部 LT
2011/08/27 第3回 静岡 IT Pro勉強会 インフラ部 LT
 
Technical report for IPv6 Routing w/ bgp4+ (part2)
Technical report for IPv6 Routing w/ bgp4+ (part2)Technical report for IPv6 Routing w/ bgp4+ (part2)
Technical report for IPv6 Routing w/ bgp4+ (part2)
 
MAP 実装してみた
MAP 実装してみたMAP 実装してみた
MAP 実装してみた
 
545人のインフラを支えたNOCチーム!
545人のインフラを支えたNOCチーム!545人のインフラを支えたNOCチーム!
545人のインフラを支えたNOCチーム!
 
Layer 4 Load Balancer (NAT, IP Tunnelling, DR)
Layer 4 Load Balancer (NAT, IP Tunnelling, DR)Layer 4 Load Balancer (NAT, IP Tunnelling, DR)
Layer 4 Load Balancer (NAT, IP Tunnelling, DR)
 
IPv6冗長で差をつけよう 2011年夏の思い出作り VRRP編
IPv6冗長で差をつけよう  2011年夏の思い出作り VRRP編IPv6冗長で差をつけよう  2011年夏の思い出作り VRRP編
IPv6冗長で差をつけよう 2011年夏の思い出作り VRRP編
 
結局IPv6ってどうなん?(序)
結局IPv6ってどうなん?(序)結局IPv6ってどうなん?(序)
結局IPv6ってどうなん?(序)
 
IPv6 Update
IPv6 UpdateIPv6 Update
IPv6 Update
 
自宅ラック勉強会資料
自宅ラック勉強会資料自宅ラック勉強会資料
自宅ラック勉強会資料
 
自宅ラック勉強会Vol4 #routerboard
自宅ラック勉強会Vol4 #routerboard自宅ラック勉強会Vol4 #routerboard
自宅ラック勉強会Vol4 #routerboard
 

More from akira6592

新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニア新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニアakira6592
 
Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)
Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)
Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)akira6592
 
Ansible 実践ガイド第3版 ネットワーク担当としてのふりかえり #インフラエンジニアBooks
Ansible 実践ガイド第3版 ネットワーク担当としてのふりかえり #インフラエンジニアBooksAnsible 実践ガイド第3版 ネットワーク担当としてのふりかえり #インフラエンジニアBooks
Ansible 実践ガイド第3版 ネットワーク担当としてのふりかえり #インフラエンジニアBooksakira6592
 
Ansible でお世話になっている機能と拡張
Ansible でお世話になっている機能と拡張Ansible でお世話になっている機能と拡張
Ansible でお世話になっている機能と拡張akira6592
 
Ansible 2.10 と Collection
Ansible 2.10 と CollectionAnsible 2.10 と Collection
Ansible 2.10 と Collectionakira6592
 
自動化の下ごしらえ
自動化の下ごしらえ自動化の下ごしらえ
自動化の下ごしらえakira6592
 
向き合うエンジニア 2020年度版
向き合うエンジニア 2020年度版向き合うエンジニア 2020年度版
向き合うエンジニア 2020年度版akira6592
 
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)akira6592
 
はじめてAnsibleのバグ修正に協力してみた
はじめてAnsibleのバグ修正に協力してみたはじめてAnsibleのバグ修正に協力してみた
はじめてAnsibleのバグ修正に協力してみたakira6592
 
CML-Personal (VIRL2)のインストールと基本機能
CML-Personal (VIRL2)のインストールと基本機能CML-Personal (VIRL2)のインストールと基本機能
CML-Personal (VIRL2)のインストールと基本機能akira6592
 
自動化ツール Ansible に触れてみよう(技術インターン)
 自動化ツール Ansible に触れてみよう(技術インターン) 自動化ツール Ansible に触れてみよう(技術インターン)
自動化ツール Ansible に触れてみよう(技術インターン)akira6592
 
技術ブログを書こう
技術ブログを書こう技術ブログを書こう
技術ブログを書こうakira6592
 
Ansible2.9 ネットワーク対応のアップデート #ansiblejp
Ansible2.9 ネットワーク対応のアップデート #ansiblejpAnsible2.9 ネットワーク対応のアップデート #ansiblejp
Ansible2.9 ネットワーク対応のアップデート #ansiblejpakira6592
 
私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた
私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた
私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみたakira6592
 
show コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudyshow コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudyakira6592
 
はじめた自動化をどう広めるか 書籍「Fearless Change」からのヒント
はじめた自動化をどう広めるか 書籍「Fearless Change」からのヒントはじめた自動化をどう広めるか 書籍「Fearless Change」からのヒント
はじめた自動化をどう広めるか 書籍「Fearless Change」からのヒントakira6592
 
はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)
はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)
はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)akira6592
 
向き合うエンジニア
向き合うエンジニア向き合うエンジニア
向き合うエンジニアakira6592
 
Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-akira6592
 
ネットワークコンフィグ分析ツール Batfish との付き合い方
ネットワークコンフィグ分析ツール Batfish との付き合い方ネットワークコンフィグ分析ツール Batfish との付き合い方
ネットワークコンフィグ分析ツール Batfish との付き合い方akira6592
 

More from akira6592 (20)

新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニア新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニア
 
Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)
Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)
Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)
 
Ansible 実践ガイド第3版 ネットワーク担当としてのふりかえり #インフラエンジニアBooks
Ansible 実践ガイド第3版 ネットワーク担当としてのふりかえり #インフラエンジニアBooksAnsible 実践ガイド第3版 ネットワーク担当としてのふりかえり #インフラエンジニアBooks
Ansible 実践ガイド第3版 ネットワーク担当としてのふりかえり #インフラエンジニアBooks
 
Ansible でお世話になっている機能と拡張
Ansible でお世話になっている機能と拡張Ansible でお世話になっている機能と拡張
Ansible でお世話になっている機能と拡張
 
Ansible 2.10 と Collection
Ansible 2.10 と CollectionAnsible 2.10 と Collection
Ansible 2.10 と Collection
 
自動化の下ごしらえ
自動化の下ごしらえ自動化の下ごしらえ
自動化の下ごしらえ
 
向き合うエンジニア 2020年度版
向き合うエンジニア 2020年度版向き合うエンジニア 2020年度版
向き合うエンジニア 2020年度版
 
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
 
はじめてAnsibleのバグ修正に協力してみた
はじめてAnsibleのバグ修正に協力してみたはじめてAnsibleのバグ修正に協力してみた
はじめてAnsibleのバグ修正に協力してみた
 
CML-Personal (VIRL2)のインストールと基本機能
CML-Personal (VIRL2)のインストールと基本機能CML-Personal (VIRL2)のインストールと基本機能
CML-Personal (VIRL2)のインストールと基本機能
 
自動化ツール Ansible に触れてみよう(技術インターン)
 自動化ツール Ansible に触れてみよう(技術インターン) 自動化ツール Ansible に触れてみよう(技術インターン)
自動化ツール Ansible に触れてみよう(技術インターン)
 
技術ブログを書こう
技術ブログを書こう技術ブログを書こう
技術ブログを書こう
 
Ansible2.9 ネットワーク対応のアップデート #ansiblejp
Ansible2.9 ネットワーク対応のアップデート #ansiblejpAnsible2.9 ネットワーク対応のアップデート #ansiblejp
Ansible2.9 ネットワーク対応のアップデート #ansiblejp
 
私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた
私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた
私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた
 
show コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudyshow コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudy
 
はじめた自動化をどう広めるか 書籍「Fearless Change」からのヒント
はじめた自動化をどう広めるか 書籍「Fearless Change」からのヒントはじめた自動化をどう広めるか 書籍「Fearless Change」からのヒント
はじめた自動化をどう広めるか 書籍「Fearless Change」からのヒント
 
はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)
はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)
はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)
 
向き合うエンジニア
向き合うエンジニア向き合うエンジニア
向き合うエンジニア
 
Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-
 
ネットワークコンフィグ分析ツール Batfish との付き合い方
ネットワークコンフィグ分析ツール Batfish との付き合い方ネットワークコンフィグ分析ツール Batfish との付き合い方
ネットワークコンフィグ分析ツール Batfish との付き合い方
 

Recently uploaded

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 

Recently uploaded (9)

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 

BGP Unnumbered で遊んでみた

  • 2. ⾃⼰紹介 ¡ 名前︓ よこち ¡ 執筆・ブログなど ¡ Ansible実践ガイド 第3版 ¡ Software Design 2019年12⽉号 Ansible 連載 ¡ Software Design 2018年12⽉号 Ansible 特集 ¡ 技術ブログ(てくなべ) ¡ 過去発表資料 2 @akira6592
  • 3. はじめに ¡ インターフェースや BGP ネイバーの IPアドレス設定が不要な BGP Unnumbered をご紹介します ¡ デモもあります ¡ 最近知って、試してみたレベルです ¡ Cumulus Linux 4.1 (FRR) 前提です 3
  • 5. BGP Unnumbered とは ¡ アドレス指定不要で BGP ネイバーを⾃動発⾒ ¡ IPv6 リンクローカルアドレスをネクストホップとした IPv4 経路情報を広報(RFC 5549) 5 アドレス通知 ・⾃動発⾒ 経路情報 Dest: 172.16.X.0/24 Next Hop: fe80: ...
  • 6. 何が嬉しいか ¡ インターフェースのIPアドレス設定が不要 ¡ IPv4 アドレスの節約 ¡ ネイバーIPアドレスの指定が不要 ¡ コンフィグ可変要素が少なく、 スケールさせやすい 6 interface swp1 no shutdown ! interface swp2 no shutdown ! router bgp 65011 bgp router-id 10.0.0.11 no bgp default ipv4-unicast bgp bestpath as-path multipath-relax neighbor ISL peer-group neighbor ISL remote-as external neighbor ISL bfd neighbor swp1 interface peer-group ISL neighbor swp2 interface peer-group ISL ! address-family ipv4 unicast redistribute connected route-map ADV_LO_SRVRS neighbor ISL activate exit-address-family IPアドレス設定なし ネイバーIP設定なし
  • 8. ネイバー⾃動発⾒の仕組み ¡ ⾃⾝のアドレスは IPv6 の リンクローカルアドレス で⾃動割当 ¡ ⾃⾝に明⽰的なアドレス設定不要 ¡ ネイバー間で IPv4 は利⽤しない ¡ ネイバーのアドレスは IPv6 の ND(Neighbor Discovery)の仕組みで通知 ¡ RA で IPv6 リンクローカルアドレスと MAC アドレスを通知 ¡ これにより BGP OPEN メッセージを開始 ¡ ネイバーのアドレス指定不要 RA で通知、発⾒ 8
  • 9. IPv4 経路を IPv6 経由で広報する仕組み ¡ RFC 5549 を利⽤ ¡ Advertising IPv4 Network Layer Reachability Information with an IPv6 Next Hop ¡ IPv6 をネクストホップとした IPv4 経路を広報 【経路情報】 Dest: 172.16.X.0/24 Next Hop: fe80: ... 9
  • 10. (参考)RFC 5549 関連の OPEN メッセージ ¡ Capability Code (RFC 5492): 5 Extended Next Hop Encoding (RFC 5549) ¡ NLRI AFI: 1 (IPv4) ¡ NLRI SAFI: 1 (unicast) など ¡ Next Hop AFI: 2 (IPv6) 10
  • 11. (参考)RFC 5549 関連の UPDATE メッセージ ¡ Path Attribute Type Code: 14 (MP_REACH_NLRI) (RFC4760) ¡ AFI: 1 (IPv4) ¡ SAFI: 1 (unicast) など ¡ Network Address of Next Hop: IPv6 ネクストホップ ¡ NLRI: 広報する IPv4 経路 ¡ Path Attribute Type Code: 15 (MP_UNREACH_NLRI) (RFC4760) ¡ AFI: 1 (IPv4) ¡ SAFI: 1 (unicast) など ¡ Withdrawn Routes: 削除する IPv4 経路 11
  • 13. シナリオ: 1. 事前状態 ¡ 4台構成のBGP ¡ leaf02はBGP未設定 ¡ sv01/02間は疎通不可 13 spine01 spine02 leaf01 leaf02 swp1 swp2 swp1 swp2 swp1 swp2 swp1 swp2 swp3 swp3 sv01 sv02 BGP未設定 BGPネイバー 確⽴済み .254 .1 172.16.1.0/24 .254 .1 172.16.2.0/24
  • 14. シナリオ: 2. BGP 設定追加 ¡ leaf02 へBGP設定追加 spine01 spine02 leaf01 leaf02 swp1 swp2 swp1 swp2 swp1 swp2 swp1 swp2 swp3 swp3 sv01 sv02 BGP設定追加 BGPネイバー 確⽴済み .254 .1 172.16.1.0/24 .254 .1 172.16.2.0/24 14
  • 15. シナリオ: 3. 事後状態確認 ¡ 以下を確認 ¡ ネイバー状態 ¡ ルーティングテーブル ¡ 疎通 spine01 spine02 leaf01 leaf02 swp1 swp2 swp1 swp2 swp1 swp2 swp1 swp2 swp3 swp3 sv01 sv02 BGPネイバー 確⽴済み .254 .1 172.16.1.0/24 .254 .1 172.16.2.0/24 ネイバー張れた︖ ルーティングは︖ 疎通可能︖ 15
  • 18. まとめ ¡ BGP Unnumbered は以下の仕組みで実現しています ¡ IPv6 のリンクローカルアドレスや ND による、ネイバーを⾃動発⾒ ¡ RFC 5549 による、IPv6 をネクストホップとした IPv4 経路を広報 ¡ これに限らず、プロトコルや機器の実装レベルでの⾃動化を活⽤すると、 設計がシンプルになり、さらなる⾃動化も進めやすそうです 18
  • 19. 参考1(本・サイト) ¡ Cloud Native Data Center Networking ¡ https://www.oreilly.com/library/view/cloud-native-data/9781492045595/ ¡ https://cumulusnetworks.com/lp/cloud-native-data-center-networking ¡ BGP in the Data Centerを読みました (4/6) : Chapter 4 - Reimagining BGP Configuration ¡ https://foobaron.hatenablog.com/entry/bgp-in-the-data-center-04 ¡ RFC5549の技術の導⼊を実現する⽅法とメリット ¡ https://cyberagent.ai/blog/tech/658/ ¡ Cumulus Linux の仮想アプライアンス「Cumulus VX」を Vagrant で構築する ¡ https://tekunabe.hatenablog.jp/entry/2019/11/17/cumulus_vx_vagrant 19
  • 20. 参考2(関連RFC) ¡ RFC 5549 ¡ Advertising IPv4 Network Layer Reachability Information with an IPv6 Next Hop ¡ IPv6 をネクストホップとした IPv4 経路の広報 ¡ RFC 5492 ¡ Capabilities Advertisement with BGP-4 ¡ Capability Code など ¡ RFC 4760 ¡ Multiprotocol Extensions for BGP-4 ¡ MP_UNREACH_NLRI、MP_REACH_NLRI パスアトリビュートなど 20
  • 21. 参考3(各社実装) ¡ Cumulus ¡ BGP unnumbered overview ¡ https://cumulusnetworks.com/blog/bgp-unnumbered-overview/ ¡ Arista ¡ BGP IPv6 Link Local Peers Discovery -BGP Unnumberedに対するAristaの解- ¡ https://eos.arista.com/ja/bgp-ipv6-link-local-peers-discovery/ ¡ Juniper ¡ Understanding Redistribution of IPv4 Routes with IPv6 Next Hop into BGP ¡ https://www.juniper.net/documentation/en_US/junos/topics/topic-map/multiprotocol-bgp.html#id-understanding- redistribution-of-ipv4-routes-with-ipv6-next-hop-into-bgp ¡ Cisco ¡ NX-OS Release 6.2(8) 以降でRFC 5549 対応 ¡ https://www.cisco.com/c/ja_jp/td/docs/sw/dcswt/nex7000swt/cg/049/l3-cli-nxos/l3-advbgp.html 21