http://www.bortzmeyer.org/6041.html

----------------------------

Auteur(s) du RFC: A. Crouch, H. Khosravi (Intel), A. Doria (LTU), X. Wang 
(Huawei), K. Ogawa (NTT Corporation)


----------------------------


Le protocole ForCES ("Forwarding and Control Element Separation"), 
décrit dans le RFC 5810, normalise la communication entre les 
différents éléments d'un routeur, de façon à permettre la création d'un 
routeur par l'assemblage de composants venus de constructeurs 
différents. Ce RFC 6041 se focalise sur l'*applicabilité* de ForCES, à 
savoir dans quels cas ce protocole est applicable et ce qu'on peut 
exactement lui demander. Ce RFC peut donc servir d'introduction de haut 
niveau à ForCES.

ForCES considère un routeur comme composé d'un élément de contrôle, qui 
parle les protocoles de routage comme OSPF, c'est le *CE* ("Control 
Engine"), et d'un ou plusieurs éléments qui transmettent effectivement 
les paquets, les *FE* ("Forwarding Engine"). ForCES est le mécanisme 
par lequel le CE communique avec ses FE. Outre le protocole lui-même, 
dans le RFC 5810, ForCES a aussi un modèle de données (RFC 5812) et un 
protocole de transport (RFC 5811). Dans quels cas peut-on les employer 
et, inversement, quand sont-ils inapplicables ? La section 4 forme le 
cœur du RFC et c'est surtout elle qui est résumée ici.

D'abord, ForCES est prévu pour des routeurs assez gros pour que les 
fonctions de contrôle et de transmission soient séparées. Sur un engin 
bas de gamme, où tout tient dans le même circuit, ForCES n'est sans 
doute pas utile. Par contre, les routeurs du milieu et du haut de gamme 
ont déjà une séparation physique entre le mécanisme de contrôle et les 
mécanismes de traitement des interfaces réseaux. Comme ce CE et ces FE 
doivent communiquer (par exemple, si le CE apprend par OSPF qu'une 
route pour 192.0.2.192/26 passe par l'interface ge-0-1, il doit 
communiquer cette information au FE qui gère cette interface, mais 
aussi à tous les autres pour qu'ils lui transmettent ce trafic). Les 
routeurs ont donc tous un protocole de communication entre CE et FE 
mais il est toujours privé (un des rares qui soit documenté est le 
Netlink de Linux, dans le RFC 3549). Avec ForCES, se profile la 
possibilité d'un protocole standard pour les remplacer.

Quels services, dans cette communication entre FE et CE, peuvent être 
assurés par ForCES ? Notons bien (section 4.1) que ForCES ne traite pas 
de la découverte par le CE de ses FE, découverte qui doit être assurée 
autrement. En revanche, une fois celle-ci effectuée, ForCES pilote 
l'association entre CE et FE, et la transmission des informations 
comme, par exemple, le nombre de ports réseaux que gère le FE. Le CE 
peut ensuite configurer le FE (par exemple en lui indiquant les 
adresses IP locales, qui doivent être transmises au CE), comme indiqué 
en section 4.1.3.

Mais le principal service assuré par ForCES est évidemment l'envoi 
d'informations de routage (section 4.1.4). Un CE transmet à ses FE les 
adresses IP à router, de façon à ce que les paquets soient transmis à 
la bonne interface réseau.

La section 4.1 note de nombreux autres services. Citons-en juste un : 
l'envoi par le CE de règles de filtrage (quels paquets abandonner, et 
sur quels critères), en section 4.1.7.

De quoi a besoin ForCES pour rendre ces services, et qui n'est pas 
forcément présent sur tous les routeurs ? De capacité réseau (section 
4.2). Entre le CE et le FE, la capacité n'est pas infinie et des 
opérations comme l'envoi d'une table de routage complète peuvent être 
non-triviales sur un réseau d'interconnexion lent, d'autant plus que 
ForCES se veut utilisable pour des futures tables de routage, plus 
grandes que celle d'aujourd'hui (fin octobre 2010, il y a 340 000 
entrées dans la table de routage BGP globale).

Cette question de la capacité en amène une autre, celle de la localité. 
ForCES sépare logiquement le CE et le FE. Peuvent-ils aussi être 
séparés physiquement, et mis dans des boîtes différentes ? La section 
4.3 examine la question. Le principe est que la disponibilité du 
routeur ne devrait pas être affectée par la séparation du contrôle et 
de la transmission. La connexion entre le FE et le CE est doit donc 
être un bus très fiable, ou en tout cas aussi fiable que le CE, de 
façon à partager son sort. En pratique, cela veut dire que ForCES est 
utilisable sans problème pour les NE ("Network Element", typiquement un 
routeur) où tout tient dans une seule boîte, avec des lames différentes 
pour le CE et les FE, mais un seul châssis et une interconnexion en 
Ethernet, PCI, etc (le cas de la majorité des routeurs actuels). Une 
telle configuration simplifiera notamment les problèmes de sécurité 
(cf. section 5). Mais ForCES peut aussi marcher dans des cas où CE et 
FE sont situés dans des boîtiers séparés.

Pas de protocole réaliste sans possibilité de *gestion*. La section 6 
détaille le comportement de ForCES face aux exigences de la gestion du 
réseau. Le point important est que, quel que soit le degré de 
séparation entre CE et FE, ForCES permet de voir le routeur comme un 
élément unique. Cela se réalise en faisant passer l'essentiel des 
fonctions de gestion à travers le CE. Notre RFC recommande ainsi que 
tous les messages SNMP soient transmis au CE (par exemple en utilisant 
les mécanismes du RFC 2741). Ceux qui vont quand même directement 
traités par les FE doivent, ou bien être en lecture seule, ou bien 
permettre une notification du CE, afin que celui-ci reste seul maître. 
ForCES dispose d'une MIB, décrite dans le RFC 5813, qui permet 
d'accéder à des informations comme les associations entre le CE et les 
FE.

---------------------------
Liste de diffusion du FRnOG
http://www.frnog.org/

Répondre à