SEV1 wykłady @ WIET AGH

notatka

BGP w pięć minut

networkingbgp pobierz .md

BGP w pięć minut

BGP to protokół routingu, którego największą różnicą w stosunku do OSPF czy EIGRP jest możliwość okonfigurowania wszystkiego: do kogo i co rozgłaszamy, z jakimi parametrami, od kogo się czego uczymy. BGP nie został stworzony z myślą - mam sieć w firmie: 20 routerów i chcę, żeby ze sobą gadały i żeby wszystko śmigało, tylko priorytetem jest to, że jeżeli ja się dowiem o 20 prefiksach, to somsiadowi powiem o tylko 5, żeby miał gorzej.

Jakie informacje wymieniają między sobą speakery BGP?

BGP to protokół routingu, w którym urządzenia mówią sobie jak trafić do jakiegoś adresu IP. Co jest bardzo istotne, ta informacja o dostępności sieci ABC nie musi oznaczać "jeżeli do mnie wyślesz pakiet, to ja go prześlę do sieci ABC". BGP pozwala przesłać informację "sieć ABC jest dostępna przez urządzenie h1" (a ja jestem np. urządzeniem h2). Co z tego wynika, BGP może być uruchomione nie tylko na routerze i będzie to równie przydatny speaker BGP.

Przykład: h2 to speaker BGP, który przekazuje h3 informację o trasie przez h1.

BGP:
  h2 (speaker) ---- PREFIX: 10.0.0.0/27 ----> h3 (router)
                   next-hop: 192.168.0.13

Pakiet do 10.0.0.12 idzie do h1, mimo że trasę poznaliśmy od h2.
  h3 (router) ----> h1 (router) ----> 10.0.0.0/27
                   192.168.0.13

h3 musi umieć dotrzeć do next-hopa 192.168.0.13. Pakiety do prefiksu 10.0.0.0/27 przechodzą przez h1, a h2 zajmuje się tylko wymianą informacji o trasach.

Przykładowe ogłoszenie BGP (advertisement)

nazwa przykład co to
PREFIX 10.0.0.0/27 docelowa sieć
next-hop 192.168.0.13 dokąd wysłać pakiet
as-path 6500 6509 6531 przy rozgłaszaniu do innego AS zwykle dodajemy swój numer
communities 234:69 labelka, tag - zwał jak zwał
local-pref 110 którą ścieżkę wolimy wewnątrz AS
med 90 sugestia dla sąsiada, którym wejściem wchodzić

local-pref wymieniamy wewnątrz AS, przez iBGP. Do zwykłego sąsiada eBGP go nie wysyłamy.

Źródło: RFC 4271, sekcje 5.1.2 i 5.1.5.

Sesje

Sesja BGP to zwykłe połączenie TCP na porcie 179 między dwoma speakerami (peerami - tego słowa się używa w kontekście właśnie sesji). Po nawiązaniu wymieniają się prefiksami, które chcą rozgłaszać, a potem aktualizują trasy przy zmianach. Do utrzymania sesji służą też krótkie wiadomości KEEPALIVE.

  • eBGP - między różnymi systemami autonomicznymi (AS) - na tym się skupimy, tego używamy w datacenterach.
  • iBGP - wewnątrz jednego AS.

Implementacje BGP, z którymi pracujemy: frr-i-gobgp.

Powiązane: route-server, overlay, rib-vs-fib