Ca serait simple si les plages IPv4 étaient allouées par région.
Le problème c'est que les grosses plages ( /10 par exemple) sont éclatées en milliers de plages /24 dans toute la France.
Voilà, Internet v4 ça craint : à force de gérer en épicier les plages IPv4 (= gérer au plus juste, pas de sur-allocation) on arrive forcèment à un résultat où la distance entre deux adresses IP n'a aucun rapport avec la distance topologique entre les deux BRAS (chez Free : "DSLAM" = BRAS).
Mais en quoi BGP (ou n'importe quoi d'autre) y peut quoi que ce soit?
De toute façon façon, tu te retrouves à gérer une tripotée de routes IP vers très peu de sorties physiques à un moment donné. Soit tu retardes ce moment le plus tard possible (mais alors les paquets vont être très centralisés par chaque FAI national, même s'il y a des interconnexions plus efficaces), soit tu le fais plus tôt (et plus de routeurs vont avoir à connaitre plus de routes). C'est juste un compromis : à quel moment tu commences à router un peu subtilement?
Il ne s'agit pas des subtilités de BGP, IGP, les AS privés ou autre : c'est la conséquence directe de la dispersion topologique des adresses IP.