Un brin de réseau


Tel un cahier de notes, ce blog propose des articles sur les technologies réseaux et leur utilisation pratique, le tout illustré avec des maquettes et des captures.

Python freeradius-api Python diffplus

Carrier Ethernet

Le MEF (Metro Ethernet Forum) est une association dédiée initialement à la définition des services Ethernet longue distance, aussi appelés services Metro-Carrier-L2VPN Ethernet (tous ces termes sont synonymes ici). Aujourd'hui, le périmètre du MEF est plus vaste et inclut aussi la définition des services IP et SD-WAN. Cet article se limite toutefois à l'origine même du MEF, à savoir les services Ethernet.

Modèle de services ou technologie ?

Ce que représente le MEF peut paraître ambigu au premier abord. Il peut être présenté à la fois comme modèle de services et technologie. Qu'on soit clair, le MEF n'est ni un protocole ni une solution magique aux problèmes d'hétérogénéité des réseaux. C'est un terme devenu marketing et donc pouvant être mal aimé du milieu technique. Pour autant, je vois un intérêt à étudier sa version potable en ce qu'elle peut aider à définir et à cerner les besoins L2VPN, à la fois pour le personnel technique et pour le personnel avant-vente.

Le MEF doit toujours être vu, selon moi, comme un modèle de services pouvant être implémenté par diverses technologies (Ethernet, MPLS, ATM, etc.)—tel une interface dans les concepts objets pouvant avoir plusieurs réalisations. Avec un modèle commun, les opérateurs entre eux et avec leurs clients partagent le même vocabulaire, ce qui facilite l'expression et la compréhension des besoins. Aussi, de plus en plus, les termes de MEF compliant voire MEF certified apparaissent dans les catalogues de services des opérateurs.

Les différentes versions du MEF

Le MEF est devenu de plus en plus complet et complexe avec le temps. Aujourd'hui, deux versions majeures sont proposées :

Celle étudiée ici, la version 2.0, couvre déjà dans mon expérience la plupart des besoins entreprises et opérateurs. La 3.0 apporte notamment davantage de flexibilité dans la QoS mais a pour inconvénient d'être difficile à comprendre et à manier dans la pratique. En outre, même si certaines personnes aiment bien faire, il n'est pas rentable de passer du temps à étudier un framework disproportionné par rapport aux besoins initiaux—problème connu sous le nom de ETF (Excessive Technical Fastidiousness).

mef-2.0-3.0
Ce schéma indique les différences entre les versions 2.0 et 3.0. Les différences sont exprimées en termes de spécifications techniques MEF, des documents librement accessibles, qui sont nommées avec des numéros (la 6.1 définit les services entreprises et la 26.1 les services opérateurs par exemple).

Des services L2VPN Ethernet ?

Le MEF spécifie des services L2VPN Ethernet. Un service L2VPN Ethernet permet de transporter des trames Ethernet entre deux sites ou plus.

mef-l2vpn-ethernet
Dans un L2VPN Ethernet, des trames Ethernet sont forwardées de bout-en-bout via un switch virtuel qui représente le service fourni par l'opérateur. Dans cet exemple, IP est encapsulé dans les trames Ethernet transportées, d'où l'utilisation du même subnet—à la différence d'un L3VPN IP où chaque site a un subnet distinct. Cependant, en réalité, nous ignorons ce qui se trouve dans les trames Ethernet transportées, cela dépend du client : IP souvent mais aussi MPLS ou tout autre protocole fonctionnant sur Ethernet.

Dans la terminologie MEF, le réseau fournissant les services L2VPN Ethernet s'appelle CEN (Carrier Ethernet Network). Point de vue implémentation, un CEN n'est pas forcément un réseau Ethernet. Il correspond en général à plusieurs technologies : Ethernet (réseau d'accès), MPLS (réseau de cœur) ou encore ATM (en réseau d'accès ou en réseau de cœur même si cela tend à disparaître très prochainement…). Chaque technologie doit permettre le transport de trames Ethernet. Dans Ethernet, les standards 802.1q et 802.1ad permettent la segmentation des trames et donc leur transport. Dans MPLS, l'encapsulation de trames est rendue possible par les mécanismes VPWS (Point-to-point) et VPLS (Multipoint). Dans ATM, elle est rendue possible par la RFC 2684.

Concrètement ?

D'un point de vue fonctionnel, les services L2VPN Ethernet permettent deux natures de service : interconnexion de sites et porte de collecte.

La première nature est plutôt à destination des entreprises et est qualifiée de B2B (Business to Business). Il s'agit du VPN typique dont le schéma a été présenté à la section précédente. Noter que les services L2VPN sont souvent livrés dans des VLAN particuliers. Cela permet de s'aligner sur les LAN Ethernet des clients mais surtout de livrer plusieurs services sur un même port physique—on parle de multiplexage de services. Inversement, les VLAN ne sont parfois pas souhaités, et ce, pour des besoins de transparence (peu de coordination nécessaire entre le client et l'opérateur).

mef-b2b-divop
À gauche : une interconnexion de sites ; deux services L2VPN Ethernet point-à-point sont livrés sur le même port physique via des C-VLAN. À droite : une porte de collecte L2 Ethernet ; des sites clients sont collectés via n liens point-à-point et livrés dans des S-VLAN distincts (dans la pratique, le nombre de clients collecté est bien supérieur à deux).

La deuxième nature est plutôt à destination des opérateurs et est qualifiée de DIVOP (Division Opérateurs). Il est en effet courant pour un opérateur A de souscrire auprès d'un opérateur B une « porte de collecte L2 Ethernet ». Cela permet à l'opérateur A de profiter du réseau d'accès Ethernet de l'opérateur B et ainsi d'étendre son réseau—afin d'atteindre de nouveaux clients. Cette collecte de clients est généralement livrée sur un seul port physique (1 GbE ou 10GbE par exemple) dans un PoP (Point of Presence). Ici aussi, les VLAN sont utilisés : chaque client collecté est livré dans un VLAN distinct. Comme les clients peuvent utiliser des VLAN (C-VLAN), la collecte est livrée dans un niveau de VLAN supplémentaire nommé S-VLAN.

De ces besoins fonctionnels découle assez intuitivement la terminologie MEF abordée ci-dessous.

La classification du MEF

Pour avoir étudié quelque peu les spécifications techniques, je résumerais la classification des services L2VPN du MEF selon trois points :

EVC ou OVC

Un service L2VPN Ethernet est tout d'abord classé selon sa nature :

Ces natures sont pertinentes d'un point de vue pédagogique mais dans la pratique, il faut retenir que l'EVC offre des fonctionnalités que n'offre pas l'OVC et réciproquement. C'est selon les besoins du client—et non son statut juridique—que l'EVC ou l'OVC sera indiqué. Le MEF utilise des éléments de représentation particuliers pour représenter un EVC ou un OVC :

mef-evc-ovc
Un EVC raccorde uniquement des UNI. Un OVC raccorde en général des UNI et des ENNI (Access OVC). Un OVC peut aussi raccorder uniquement des ENNI (Transit OVC—c'est un cas plus rare non représenté ici et non étudié par la suite, cf. explication ci-dessous).
Élément Description
UNI User-Network Interface. Port de livraison du service fourni. Du C-VLAN y est livré. Concrètement, il s'agit d'un port Ethernet physique généralement présent sur le CPE déployé sur site client par l'opérateur.
ENNI External Network-to-Network Interface. Port de livraison du service fourni. Du S-VLAN y est livré. Concrètement, il s'agit d'un port Ethernet physique généralement présent sur l'équipement opérateur déployé dans un PoP, le client devant généralement aussi être présent dans ce PoP.
EVC EP EVC End Point. Point de terminaison de l'EVC. Une UNI peut en contenir plusieurs (cela signifie alors que plusieurs services EVC sont livrés sur le même port).
OVC EP OVC End Point. Point de terminaison de l'OVC. Une UNI / ENNI peut en contenir plusieurs (cela signifie alors que plusieurs services OVC sont livrés sur le même port).

Quelques questions courantes :

Le service Transit OVC raccorde uniquement des ENNI. Par définition, du S-VLAN est livré sur chacune des ENNI. Autrement dit, contrairement à l'Access OVC, il y a le même niveau de VLAN partout : on revient donc au service EVC. Il faudrait, pour savoir si c'est un Transit OVC ou un EVC, que le client indique clairement qu'il utilise du S-VLAN et non du C-VLAN, ce qui n'est pas toujours le cas. La distinction entre Transit OVC et EVC est donc contextuelle.

Sur une même UNI / ENNI peuvent être livrés plusieurs services EVC / OVC. Ce lien entre UNI / ENNI et EVC / OVC s'appelle End Point (comme une classe-association en UML). Les End Points ont plusieurs attributs et notament : les C-VLAN / S-VLAN associés, la QoS associée, le nombre d'adresses MAC maximum supporté.

Point-to-point, Multipoint ou Rooted multipoint

La topologie du service parle d'elle-même : Point-to-point s'il y a deux sites, Multipoint au-delà pour du Full-mesh ou Rooted multipoint au-delà pour du Hub-and-spoke.

Port-based ou VLAN-based

La livraison Port-based est celle qui demande le moins de coordination entre le client de l'opérateur. Un port physique est entièrement dédié au seul service L2VPN livré dessus. Le client n'a pas besoin d'indiquer à l'opérateur que tel C-VLAN doit être acheminé vers tel site et que tel autre C-VLAN doit être acheminé sur vers tel autre site : toutes les trames, qu'elles soient taguées C-VLAN ou non, sont acheminées vers le même site (ou vers les mêmes sites dans le cas d'une topologie Multipoint). C'est pourquoi ce mode de livraison est désigné comme « transparent », l'opérateur n'ayant pas à lire le C-VLAN des trames.

mef-port-based-vlan-based
À gauche : une livraison Port-based ; toutes les trames sont transportées, qu'elles soient taguées C-VLAN ou non. À droite : une livraison VLAN-based ; seules certaines trames sont transportées en fonction de leur C-VLAN (UNI) ou de leur S-VLAN (ENNI). Noter par ailleurs la possibilité à l'UNI de transporter quand même les trames non taguées en les plaçant dans un C-VLAN nommé C-VLAN par défaut.

La livraison VLAN-based demande davantage de coordination entre le client de l'opérateur. Sur un même port physique sont livrés plusieurs services L2VPN—on parle de multiplexage de services à l'UNI ou à l'ENNI. Le client doit donc indiquer à l'opérateur les VLAN (C-VLAN ou S-VLAN) à transporter et vers quels sites. Des trames reçues avec des VLAN (C-VLAN ou S-VLAN) non préalablement convenus sont ignorées par l'opérateur. Tout nouveau VLAN (C-VLAN ou S-VLAN) doit être indiqué à l'opérateur (ce qui implique donc du délai dans la mise en service).

Résumé de la classification

Un résumé qui reprend nature du service, sa topologie et son mode de livraison.

EVC Point-to-point Multipoint Rooted multipoint
Port-based EP-Line EP-LAN EP-Tree
VLAN-based EVP-Line EVP-LAN EVP-Tree
OVC Point-to-point Multipoint Rooted multipoint
Port-based Access EP-Line Access EP-LAN Access EP-Tree
VLAN-based Access EVP-Line Access EVP-LAN Access EVP-Tree
Transit EVP-Line Transit EVP-LAN Transit EVP-Tree