Per il collegamento in rete e lo scambio di dati tra router, i router BGP utilizzano una cosiddetta tabella di routing per controllare e gestire i pacchetti dati. I router generano le informazioni BGP della tabella grazie alle informazioni sui router in entrata e al RIB (Routing Information Database) memorizzato sul router. Il RIB non solo include informazioni sui peer esterni e interni, ma aggiorna anche la tabella di routing in base a nuove informazioni sul gruppo di peer BGP corrente e su percorsi, router e peer disponibili o non più disponibili. I router BGP utilizzano connessioni TCP e la porta TCP 179 per scambiare messaggi e dati, ad esempio:
- OPEN: avvia lo scambio di informazioni di una sessione BGP.
- UPDATE: trasmette informazioni su percorsi modificati o nuovi.
- KEEPALIVE: i messaggi regolari KEEPALIVE confermano i messaggi OPEN e informano i router collegati che la sessione deve essere mantenuta.
- NOTIFICATION: utilizzata per eliminare percorsi di routing o per interrompere una sessione se il messaggio KEEPALIVE non viene visualizzato.
Il BGP determina il percorso migliore per lo scambio di dati in base alla tabella di routing e agli attributi di percorso corrispondenti, quali:
- Sistemi autonomi raggiungibili (AS_PATH)
- Hop o nodi intermedi richiesti (Next Hop)
- Costi (metrica IGP)
- Connessioni parallele prioritarie (discriminatore multi-uscita)
Il routing BGP può essere applicato con IPv4 e IPv6 e altri protocolli internet o etichette MPLS. Inoltre, funziona secondo il modello ISO/OSI, ovvero sul livello di trasporto ISO per controllare il livello di rete.
Fornendo uno scambio costante di percorsi disponibili o nuovi tramite BGP, i router BGP possono creare grafici per mappare i percorsi in rete tra sistemi autonomi o all’interno di essi. Ciò garantisce uno scambio affidabile di dati e informazioni nelle reti, ne migliora la stabilità e previene la formazione di cicli.