BGPexplorer-IP / MPLSネットワーク用のタイムマシン

序文

ネットワークサービスの劣化の理由を分析するとき、タイムマシンが必要になることがあります。まあ、または少なくともルート測定の履歴を記録する何か...あなたがそのような状況に自分自身を見つけたことがあれば、おそらくそれは興味深いでしょう。





ルーティングIPパケット、またはむしろそれらが提供するサービスに基づく最新のネットワークは、実際にはBGPによって制御されています。このプロトコルは、1980年代後半に3つのナプキンで設計されました。はい、それ以来、VPNルーティング情報の交換、トラフィックフィルタリングルール、その他の便利な機能など、多くの機能がこのプロトコルに追加されていますが、3つのナプキンで説明されているように、基本は同じです。そして、これにはプラスがあります。なぜなら、このプロトコルは本質的に非常に単純だからです。





しかし、私はその単純さについてではなく、ネットワーク運用サービス、またはNOC(ネットワーク運用センター(そしておそらくセンター))がしばしば直面する「戦いの後に拳を振る」ことについて話したかったのです。





" ", " -, 5 ". 5 . ? . , "" 5 , ? , - , , . - . ( ) . - , . , bgplay. . , , , .





. ( , ). , - ? , .





. , , BGP - exabgp. . , , - python. , . , . python (, GIL), , . ( ) , . BGP (, golang!). ? , , bgp- . . .





Rust — . BGP . exabgp BGP FSM , Rust API, std , . zettabgp, — bgpexplorer.





. Bgpexplorer bgp-, ( route reflector) bgp-, . RIB (Routing Information Database) , . -. - , .






- . , () .





, git rust.





$ git clone https://github.com/wladwm/bgpexplorer
...
$ cd bgpexplorer
$ cargo build
...
      
      



. .





Cisco, :





!    65535   ,   
router bgp 65535
 !       ,    IBGP
 neighbor 10.1.1.1 remote-as 65535
 !     
 neighbor 10.1.1.1 update-source Loopback0
 !      
 neighbor 10.1.1.1 transport connection-mode passive
 address-family ipv4
 !    
  neighbor 10.1.1.1 activate
 !       
  neighbor 10.1.1.1 route-reflector-client
 !    ipv4 labeled-unicast
  neighbor 10.1.1.1 send-label
 address-family vpnv4
 !  VPNv4
  neighbor 10.1.1.1 activate
  neighbor 10.1.1.1 send-community extended
      
      







$ cat > bgpexplorer.ini <<EOF
[main]
httplisten=0.0.0.0:8080
httproot=contrib
session=s0
whoisjsonconfig=whois.json
[s0]
mode=bmpactive
bgppeer=10.0.0.1
peeras=65535
EOF
      
      



main :





  • httplisten — http





  • httproot — . index.html .





  • Whoisjsonconfig whois





  • Session – , bgp, s0





(s0 ) :





  • bgppeer — BGP





  • Peeras —





  • protolisten — :, BGP BMP





  • Mode —





mode :





  • bgppassive —





  • bgpactive —





  • bmpactive — BMP





  • bmppassive — BMP





ini- bgpexplorer, ,





cargo run
      
      



.





RIB - IPv4, IPv6, VPN ..





, - .





. , .





community, aspath, nexthop, route-target, route-distinguisher.





ASnにカーソルを合わせると、ルーターのアドレス、whoisまたはDNSへのクエリが実行され、受信した情報がポップアップに表示されます。長い場合もありますが、便利な場合もあります。





このツールが他の人に役立つといいのですが。見つかった問題、願い、アイデア、建設的な批判は大歓迎です。








All Articles