BGP selecteert de beste route voor een bepaalde bestemming op basis van verschillende factoren, waaronder:
1. AS-path: de route met het kortste AS-path wordt als beste beschouwd.
1. Routeringsprotocol: BGP zal eerst kijken naar routes die via hetzelfde routeringsprotocol worden aangeboden. Routes via een externe routeringsprotocol (bijvoorbeeld OSPF of EIGRP) worden als minder betrouwbaar beschouwd.
1. MED (Multi-Exit Discriminator): MED wordt gebruikt om routes te onderscheiden bij meerdere uitgangspunten van hetzelfde AS. Een lager MED-nummer duidt op een betere route.
1. Local preference: dit is een BGP-attribuut dat wordt gebruikt om routes te onderscheiden binnen hetzelfde AS. Een hogere waarde voor local preference duidt op een betere route.
1. Preferentie van de route: binnen een router kunnen meerdere routes naar dezelfde bestemming aanwezig zijn, met verschillende preferenties. BGP zal de route met de hoogste preferentie selecteren.
1. BGP-protocol-staat: BGP gebruikt verschillende states (zoals idle, connect, active, open-sent en open-confirm) om verbinding te maken en routes uit te wisselen. Voor een route die via een state is geëxporteerd die wordt beschouwd als meer stabiel wordt beschouwd een betrouwbaarder pad.
1. Routeringsafstand: als alle bovengenoemde criteria gelijk zijn, wordt de route met de laagste routeringsafstand verkozen tot de beste route.
BGP zal al deze factoren in overweging nemen en de beste route selecteren voor een bepaalde bestemming.