BGP est utilisé pour déterminer automatiquement le routage des paquets ip. L'idée est que l'ensemble des opérateurs d'Internet échangent des messages chacun avec ses voisins, pour indiquer quelles adresses IP chacun possède, et quelles adresses IP chacun peut atteindre plus ou moins directement. Lorsqu'un opérateur reçoit depuis plusieurs voisins l'indication qu'une adresse IP est atteignable, il choisit par exemple celui qui l'atteint le plus rapidement. Pour économiser des calculs, on regroupe les adresses IP par tranches appelées “préfixes”.
Sur Internet, on a ainsi environ 60000 opérateurs qui discutent en permanence pour indiquer quels préfixes ils savent atteindre, on compte de l'ordre de 700000 préfixes IPv4 ainsi échangés en permanence (et cela continue à augmenter...), à une vitesse de l'ordre de 100 changements par minutes. En pratique, lorsque l'on construit un nouveau réseau dans un coin d'Internet, le reste d'Internet calcule comment acheminer les données vers ce nouveau réseau en 5 minutes.