Michael,

Le 02/09/10 11:15, Michael VILLAR a écrit :
> Certain opérateurs te permettent de setter des communauté aux prefix annoncé 
> pour changer les Local-Pref sur leur réseaux ou pour choisir des politique 
> d'annonce (tes prefix seront ou pas annoncé dans les zone Géographique 
> NA,AP,EMEA).
> 
> Il est donc possible de gérer par ces mécanismes les flux entrant, il serait 
> possible de généraliser ce principe.

Le problème, c'est que c'est assez rare et pas assez granulaire.

Tu peux effectivement éviter des allers-retours trans-océaniques avec ce
genre de configs, quoique typiquement, c'est pas en place chez certains
transitaires quasi-T1. Mais il n'y a pas de consensus pour la mise en
place de ce genre de politique sur des zones plus réduites, genre FR ou EU.

Cas typique : le peering en région. Entre Free et OVH, ça s'est fait (si
j'ai bien tout compris) parce que Free utilisait déjà pas mal de
communautés et d'AS privés, et qu'OVH est centralisé. Du coup, ça doit
faire 40Gbps de moins à transporter sur les 600km de l'aller retour
Lille-Paris.

Autre cas typique, imagine un grand réseau national d'eyeball qui reçoit
tout youredpornmotiontube via l'AMS-IX. Les vendeurs de video se chient
dessus, ou l'AMS-IX plante (un jour ou le RIPE a le vent dans le dos,
par exemple), et pouf, tout le trafic se reporte sur un autre IX, en
général DECIX ou LINX. 500 Gbps qui changent de route d'un coup. Tous
les liens qui se mettent à saturer. Ca te rapelle quelque chose ?
Comment tu fais, dans ce genre decas de figure pour t'entendre avec tous
les fournisseurs de contenus pour équilibrer entre les IX plutot que de
tout balancer sur un ou deux seuls liens ?

(bon, c'est encore plus compliqué de s'entendre quand tu veux le faire
payer son transport et qu'il te réponds "toi tu vas disparaitre du Net")

Donc, plusieurs possibilités :

- Tu analyses avec un maximum de précision toutes les routes actives de
ton réseau et tu modules tes annonces pour chaque session BGP :
        * Ca oblige à superviser TOUS les liens avec une grande précision, et à
scripter des modifications d'annonces assez fines, tout en anticipant
les congestions classiques
        * Tu t'interdis l'usage des route-servers de certains IX qui ne feront
pas forcement la distinction entre tes annonces et les routes fournies
par tous les peers
        * Tu dois être proactif et anticiper les variations d'usage (patch-day,
botnet,... ) pour pas être pris au dépourvu
        * Enfin, tu vas fragmenter tes annonces et donc contribuer au
morcellement de la table de routage globale. Enfoiré.

Mais le principal problème, c'est que ça rends ton réseau statique. A
force d'y ajouter des règles d'optimisation et de répartition, tu vas au
mieux pas pouvoir t'adapter à un gros incident, faire exploser tes coûts
d'exploit et au pire, a force d'ajouter de l'intelligence dans le
réseau, en faire une boite noire pas neutre. BOOUHOUHOU !


- Autre option, tu utilises des "boitiers d'optimisation BGP". Sur le
principe, c'est sensé faire la même chose que ce que je viens d'énoncer,
mais en mal. Comme tout est automatisé, forcement, c'est moins efficace.

Ces boitiers coutent un bras (ticket d'entrée à 40k€) mais peuvent être
de bons compléments car pas de mauvais outils pour la supervision.

- Reinventer BGP en y intégrant une meilleur connaissance de l'entourage
de l'instance.

En fait, ça consisterait à intégrer la supervision des liens et des
sessions dans le protocole de base. Le problème là dedans c'est la
nécessité pour chaque bordure de connaitre l'état de tout l'interne.

Ca induit des contraintes d'interopérabilité énormes parce que la
découverte par chaque routeur de toute la topologie est nécessairement
complexe. La mise à jour de la topologie interne serait lourde et la
moindre erreur aurait un impact énorme. Alors elle pourrait être faite
au moins en partie manuellement, et dans ce cas ça ajoute encore une
couche d'erreur et un coût à l'exploitation.

Outre les problèmes de fragmentation, de quantité de données de
supervision à analyser en temps réel, d'interopérabilité, et le risque
qu'il y a à rendre les routeurs trop intelligents, tu vas aussi avoir un
problème de sécurité et d'exposition de ton réseau. Pour bien
fonctionner, et proposer aux voisins des routes efficaces, tu dois leur
fournir pas mal d'infos dans tes annonces. A priori suffisamment pour
voir, de l'extérieur, tous les points faibles de ta topologie...

Il y a enfin le problème du Least Cost Routing. Ce genre de protocoles
ou d'approches d'optimisation a principalement pou bute de maximiser
l'usage des routes les moins chères, tout en conservant un niveau de
qualité acceptable.

"Price, Speed, Quality, pick two". Ca, tout le monde connait. "Qui qui
paye cette route là ?", ça viendrait ensuite. Puisque tout le monde a
intérêt à optimiser le coût de ses intercos, et que le paid-peering est
plus à la mode que les peering-policies constructives, on pourrait finir
par assister à un jeu ou "je t'envoie les infos de routage pertinentes
que si tu payes, et à défaut, tu feras trois fois le tour du monde avant
d'arriver dans un tarpit".

C'est un peu négatif, mais je ne vois pas d'autre issue à l'ajout
d'intelligence dans les protocoles de routage. Alors pour le coup, BGP
et ses attributs optionnels me semblent largement satisfaisants...



-- 
Jérôme Nicolle

Attachment: signature.asc
Description: OpenPGP digital signature

Répondre à