BGPexplorer - mesin waktu untuk jaringan IP / MPLS

Kata pengantar

Kebetulan ketika menganalisis alasan penurunan layanan jaringan, Anda ingin memiliki mesin waktu. Yah, atau setidaknya sesuatu yang akan mencatat sejarah pengukuran rute ... Jika Anda pernah menemukan diri Anda dalam situasi seperti itu, maka mungkin itu akan menarik.





Jaringan modern berdasarkan routing paket IP, atau lebih tepatnya layanan yang mereka sediakan, sebenarnya dikendalikan oleh BGP. Protokol ini dirancang pada akhir 1980-an pada tiga serbet. Ya, sejak itu, banyak fitur telah ditambahkan ke protokol ini, termasuk pertukaran informasi perutean VPN, aturan penyaringan lalu lintas, dan hal-hal bermanfaat lainnya, tetapi dasarnya tetap sama, dijelaskan pada tiga serbet. Dan ini memiliki kelebihan, karena protokol ini sangat sederhana pada intinya.





Tetapi saya ingin berbicara bukan tentang kesederhanaannya, tetapi tentang "mengacungkan tinju setelah berkelahi", yang sering dihadapi oleh layanan operasi jaringan apa pun, atau NOC - pusat operasi jaringan (dan mungkin pusat).





" ", " -, 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.





Saat Anda mengarahkan kursor ke ASn, alamat router, kueri ke whois atau DNS akan dilakukan, dan informasi yang diterima akan ditampilkan di popup. Terkadang panjang, tetapi bisa bermanfaat.





Saya akan senang jika alat ini bermanfaat bagi orang lain. Menemukan masalah, keinginan, ide, kritik yang membangun dipersilakan.








All Articles