UE Infrastructure Réseaux P-F. Bonnefoi



Documents pareils
Internet Group Management Protocol (IGMP) Multicast Listener Discovery ( MLD ) RFC 2710 (MLD version 1) RFC 3810 (MLD version 2)

I>~I.J 4j1.bJ1UlJ ~..;W:i 1U

Instructions Mozilla Thunderbird Page 1

Application Form/ Formulaire de demande

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par.

VTP. LAN Switching and Wireless Chapitre 4

Service de VPN de niveau 3 sur RENATER (L3VPN MPLS)

APPENDIX 6 BONUS RING FORMAT

IPv6: from experimentation to services

Utiliser une WebCam. Micro-ordinateurs, informations, idées, trucs et astuces

ROUTEURS CISCO, PERFECTIONNEMENT

Le passé composé. C'est le passé! Tout ça c'est du passé! That's the past! All that's in the past!

Mesures de performances Perspectives, prospective

Le service IPv4 multicast pour les sites RAP

How to Login to Career Page

AMENDMENT TO BILL 32 AMENDEMENT AU PROJET DE LOI 32

that the child(ren) was/were in need of protection under Part III of the Child and Family Services Act, and the court made an order on

Exemple PLS avec SAS

Les techniques de la télémaintenance

Frequently Asked Questions

WEB page builder and server for SCADA applications usable from a WEB navigator

Outils d'analyse de la sécurité des réseaux. HADJALI Anis VESA Vlad

RULE 5 - SERVICE OF DOCUMENTS RÈGLE 5 SIGNIFICATION DE DOCUMENTS. Rule 5 / Règle 5

Institut français des sciences et technologies des transports, de l aménagement

Editing and managing Systems engineering processes at Snecma

Chapitre I. La couche réseau. 1. Couche réseau 1. Historique de l Internet

Comprendre l impact de l utilisation des réseaux sociaux en entreprise SYNTHESE DES RESULTATS : EUROPE ET FRANCE

TABLE DES MATIERES A OBJET PROCEDURE DE CONNEXION

INDIVIDUALS AND LEGAL ENTITIES: If the dividends have not been paid yet, you may be eligible for the simplified procedure.

Compléter le formulaire «Demande de participation» et l envoyer aux bureaux de SGC* à l adresse suivante :

Improving the breakdown of the Central Credit Register data by category of enterprises

Gestion des prestations Volontaire

Règlement sur le télémarketing et les centres d'appel. Call Centres Telemarketing Sales Regulation

Tammy: Something exceptional happened today. I met somebody legendary. Tex: Qui as-tu rencontré? Tex: Who did you meet?

DIFF AVANCÉE. Samy.

Mon Service Public - Case study and Mapping to SAML/Liberty specifications. Gaël Gourmelen - France Telecom 23/04/2007

Les Réseaux Privés Virtuels (VPN) Définition d'un VPN

Bill 69 Projet de loi 69

Forthcoming Database

COUNCIL OF THE EUROPEAN UNION. Brussels, 18 September 2008 (19.09) (OR. fr) 13156/08 LIMITE PI 53

PARIS ROISSY CHARLES DE GAULLE

Comment utiliser HSRP pour assurer la redondance dans un réseau BGP multihébergé

Travaux pratiques IPv6

DOCUMENTATION - FRANCAIS... 2

Lesson Plan Physical Descriptions. belle vieille grande petite grosse laide mignonne jolie. beau vieux grand petit gros laid mignon

Contents Windows

UML : Unified Modeling Language

Internet Protocol. «La couche IP du réseau Internet»

Bill 12 Projet de loi 12

Practice Direction. Class Proceedings

FÉDÉRATION INTERNATIONALE DE NATATION Diving

AUDIT COMMITTEE: TERMS OF REFERENCE

RAPPORT DE STAGE DE MASTER INFORMATIQUE DE L UNIVERSITE PIERRE ET MARIE CURIE Sécurité des infrastructures critiques.

INVESTMENT REGULATIONS R In force October 1, RÈGLEMENT SUR LES INVESTISSEMENTS R En vigueur le 1 er octobre 2001

EN UNE PAGE PLAN STRATÉGIQUE

RAPID Prenez le contrôle sur vos données

The new consumables catalogue from Medisoft is now updated. Please discover this full overview of all our consumables available to you.

If you understand the roles nouns (and their accompanying baggage) play in a sentence...

Chapitre 11 : Le Multicast sur IP

Calculation of Interest Regulations. Règlement sur le calcul des intérêts CONSOLIDATION CODIFICATION. Current to August 4, 2015 À jour au 4 août 2015

HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE

Credit Note and Debit Note Information (GST/ HST) Regulations

DOCUMENTATION MODULE BLOCKCATEGORIESCUSTOM Module crée par Prestacrea - Version : 2.0

Export Permit (Steel Monitoring) Regulations. Règlement sur les licences d exportation (surveillance de l acier) CONSOLIDATION CODIFICATION

Cheque Holding Policy Disclosure (Banks) Regulations. Règlement sur la communication de la politique de retenue de chèques (banques) CONSOLIDATION

ETABLISSEMENT D ENSEIGNEMENT OU ORGANISME DE FORMATION / UNIVERSITY OR COLLEGE:

Discours du Ministre Tassarajen Pillay Chedumbrum. Ministre des Technologies de l'information et de la Communication (TIC) Worshop on Dot.

BNP Paribas Personal Finance

MELTING POTES, LA SECTION INTERNATIONALE DU BELLASSO (Association étudiante de lʼensaparis-belleville) PRESENTE :

France SMS+ MT Premium Description

Exercices sur SQL server 2000

DOCUMENTATION - FRANCAIS... 2

FCM 2015 ANNUAL CONFERENCE AND TRADE SHOW Terms and Conditions for Delegates and Companions Shaw Convention Centre, Edmonton, AB June 5 8, 2015

1.The pronouns me, te, nous, and vous are object pronouns.

Natixis Asset Management Response to the European Commission Green Paper on shadow banking

NOTIONS DE RESEAUX INFORMATIQUES

Differential Synchronization

Nouveautés printemps 2013

Lean approach on production lines Oct 9, 2014

Completed Projects / Projets terminés

RISK-BASED TRANSPORTATION PLANNING PRACTICE: OVERALL METIIODOLOGY AND A CASE EXAMPLE"' RESUME

Algorithmique et langages du Web

Stratégie DataCenters Société Générale Enjeux, objectifs et rôle d un partenaire comme Data4

CLIM/GTP/27/8 ANNEX III/ANNEXE III. Category 1 New indications/ 1 re catégorie Nouvelles indications

La supervision des services dans le réseau RENATER

Notice Technique / Technical Manual

Le Cloud Computing est-il l ennemi de la Sécurité?

Deadline(s): Assignment: in week 8 of block C Exam: in week 7 (oral exam) and in the exam week (written exam) of block D

SCHOLARSHIP ANSTO FRENCH EMBASSY (SAFE) PROGRAM APPLICATION FORM

Project 1 Experimenting with Simple Network Management Tools. ping, traceout, and Wireshark (formerly Ethereal)

Once the installation is complete, you can delete the temporary Zip files..

First Nations Assessment Inspection Regulations. Règlement sur l inspection aux fins d évaluation foncière des premières nations CONSOLIDATION

0,3YDQGLWVVHFXULW\ FKDOOHQJHV 0$,1²0RELOLW\IRU$OO,31HWZRUNV²0RELOH,3 (XUHVFRP:RUNVKRS %HUOLQ$SULO

L ABC de l acquisition de petites entreprises

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

Toni Lazazzera Tmanco is expert partner from Anatole ( and distributes the solution AnatoleTEM

valentin labelstar office Made-to-measure label design. Conception des étiquettes sur mesure. Quality. Tradition. Innovation DRUCKSYSTEME

Algorithmes de recommandation, Cours Master 2, février 2011

Transcription:

Table des matières Master ère année UE Infrastructure Réseaux P-F. onnefoi Pourquoi un VPN et Quel VPN? Les avantages d OpenVPN Socat & TUN Tun & Tap : la programmation Un VPN «Light» avec SSH QoS : «packet switching» avec MPLS Version du mars 0 Internet et routage dynamique................................................ La préhistoire du routage Internet et routage : la notion d S Protocoles de routage internes et externes L organisation d Internet à l heure actuelle Le «Path Vector Routing» Le routage dynamique lgorithme de routage : vecteur de distance, «vector-distance» RIPv, «Routing Internet Protocol», RF lgorithme de routage : par état de lien, «state-link» OSPF, «Open Shortest Path First», RF 8 GP, «order gateway Protocol», RF Faire le point Linux comme routeur : RIP, OSPF, GP Sécurité et GP : Sécuriser les sessions extérieures de GP : egp Le «Policy Routing», ou le routage suivant la source............................. Routage & Linux......................................................... 8 VPNs & Tunnels......................................................... Quelques protocoles de niveau Tunnel de niveau : GRE, «Generic Routing Encapsulation» Tunnel de niveau : IPsec Internet et routage dynamique Remarques sur le routage La table de routage : comment en diminuer leur taille? le routage est effectué de saut en saut, «next hop», depuis la source jusqu à la destination ; le routage ne prend en compte que l adresse de destination du datagramme. À chaque saut : le routeur prend une décision autonome pour la sélection de la route empruntée par le datagramme : la meilleur décision en fonction de sa table de routage (est effort) ; un routeur n a qu une connaissance partielle du routage ; la notion de «route par défaut» permet de réaliser un routage sans connaitre toutes les destinations possibles. Trouver une nouvelle route en cas de panne d un routeur? les tables de routage doivent être cohérentes tout le temps ; les routeurs voisins de celui qui est en panne doivent modifier leur table de routage pour acheminer les datagrammes suivants par une nouvelle route ; le routage IP peut être dynamique. ours «Infrastructure Réseaux» P-F. onnefoi http://libpfb.so/ mars 0

!"#%&'()(*(+,-.(/00 Internet et routage dynamique Routage statique et dynamique onstantes : routage en fonction de l adresse destination uniquement ; routage de proche en proche : chaque routeur prend la décision qui lui paraît la meilleure (en fonction de sa table de routage). Routage statique Utilisation de la commande «ip address» pour la configuration d une interface ; Utilisation de la commande «ip route» qui permet d indiquer un chemin vers : un réseau (net), un équipement (host) ou une route par défaut (default). Routage dynamique : utilisation d un «Routing protocol», algorithme de routage : Il sert à l échange d informations de routage pour la construction automatique de tables de routage. Statique vs ynamique Routage statique réalisation des tables de routage à la main : difficultés des mises à jour ; convient pour des réseaux de taille réduite ou pour un réseau où la l aspect sécurité est important ; en cas de panne, le routage est modifié uniquement après la découverte de cette panne. Routage dynamique adaptation aux conditions du réseau ; adaptation à des réseaux de grande taille ; découverte automatique de la modification de la topologie.!"#%&'#()*%)+#%&,-. /.)0#*.)*+,.& %&'&()%&*+,-.,/*0%.0/,)/%&0'&./,).',,*/.,)%.8)9:; La préhistoire du routage Le modèle d rpanet Utilisation de routeur particulier, le «core gateway» :??! <+%./*++.=&*+,-.,/(.)0=,'*)0=,> Interconnexion de réseaux locaux ; routage circulaire utilisant la notion de route «par défaut» :! /*0%).,&/0')&/.,0%&'&()+%,'),+*%&*+,-.,/*0%.,)/,-?)0%:, pour aller du Réseau au Réseau, on passe par les routeurs R puis R et enfin R. *0/,)''./,-0,@(.)0,#,)0,@(.)0,!,*+,)((.,)/,'.(,/*0%.0/(,@#,0&(,@,.%,.+?&+,@!; routage peu efficace!! /*0%).,.0,.??&)., )89 :;<:=8 >? @.,%)#, )))))))))>.,%)#, )))))))))))? ;#+.),&.E,F)')G)+#%&.)*H,%&I))')J.,%)#, )))))))))))@ Internet et routage dynamique Les protocoles de routage Le but d un protocole de routage est de maintenir les tables de routage de manière cohérente (le but n est pas de router). Le protocole de routage travaille : en fonction d une métrique ou d un coût associé à chaque lien de communication : Le coût d un lien varie de façon dynamique (mesure de la congestion par exemple) ou non (mesure faite par rapport au débit). en exploitant une connaissance de la topologie du réseau : globale chaque routeur connait toute la topologie du réseau d interconnexion : tous les routeurs et toutes les liens entre ces routeurs ; locale chaque routeur ne connait que les routeurs adjacents (auquel il est directement connecté) et les liens qui le relient à eux (voisinage) ; suivant un fonctionnement : centralisé ou distribué ; itératif (local) ou direct (global). eux classes de «routing protocol» : routage par états de liens, «link state protocol» ; routage par vecteur de distance. La préhistoire!"#%&'#()*%)+#%&,-. du routage : évolution Technique /.0('%.)*%)#+.)8&.9: du ore System!"#%&'()(*(+,-.(/00 =#%&.%+8.<&.+(.8 = =G = =H =( ))>=?) @/? =E Organisation %&'()*'+),(-0.(&+,'8;.-./)+'(+-0-%,+'&-'%-.'+- centralisée évitant le routage par défaut :! les 0*-'**%00*-'(&.+(.8-'-89,%-*:*+;8<-9,((')**(+-0'-%,+-,%-'++)(%-(=);,%+->00- passerelles internes au «core system» connaissent la route pour atteindre n importe quelle station *+'+),(-?'*--%,+-'%-.'+@- (pas! 0*-'**%00*-.<&.+(.8-%,+(+-'%-.'+-/%*-0-9,% de route par défaut) ; les passerelles externes routent par défaut vers le core. Impossible ;,**)0-E-;++%-(-,/%->'(-0-*:*+F;-*+--&%'(-+')00-G à mettre en œuvre quand le système est de grande taille!! impossibilité );,**))0)+.--9,((9+%-(-(,;%-'%)+%')%--%.*'H- de connecter un nombre arbitraire de réseaux ;! 0-9,%-(-9,((')+->=(-*0-%.*'-'%-%,+%-H+%(- le core!!"# 0*-+'0*--%,+'&-/)(((+-;(#+9.8 ne connait qu un seul réseau par routeur externe ; les tables de routage deviennent énormes. =F = +#%&.%+8)*%)0#+. '(&.+0#((.0&;.8??!"# ours «Infrastructure Réseaux» P-F. onnefoi http://libpfb.so/ mars 0

La préhistoire!"#%&'#()*%)+#%&,-. du routage : évolution utres limites /%&+.0)''&.0)#%+)%&''0,&'#()*.)+0.,%)*.)-+,(*.0)&,'.0 du modèle!"#%&'()(*(+,-.(/00??@ : %8(9%:;90 L utilisation %&'()(*+'(,-./0.,0.-0.,-(0-'.+*.8.)%(-'0,--09(,-./0.:+;:,-0*.< de «core» ne convient pas à l interconnexion de backbones :! ().09(*'0.)&*(0&*.=,(9./0.,&'0*.,**(:)0*.0-'0./0&9.*'+'(,-* il existe 090>)0.<.?!.@.!@?#.,&.?!@!@@@?# plusieurs choix de routes possibles entre deux stations :! ().E+&'.>+(-'0-(.)+.,=F0-0.0-'0.',&'0*.)0*.>+=(-0*./0*./0&9.:+;:,-0*.G il faut! maintenir )%&'()(*+'(,-./0.+#%&.),+)*,%&.0&'.(-',/&(0./0*.:,&)0*H la cohérence entre toutes les machines des deux backbones ; 9 -<=>(9%:;90 exemple : M R M ou M R R R M!"# l utilisation de route par défaut peut introduire des boucles. Internet et routage dynamique omment faire? Utiliser une approche hiérarchique et un partionnement Internet est une collection de réseaux et de routeurs interconnectés utilisant le protocole IP ; le réseau entier est partitionné en différentes régions, «areas» : les routeurs à l intérieur d une région sont responsables du routage des datagrammes entre les réseaux internes à la même région ; les tables de routage de ces routeurs internes est diminuée de manière drastique ; lorsque la destination ne se situe pas à l intérieur d une région, alors le routeur interne doit router le datagramme à l extérieur de la région, vers des routeurs spéciaux : placés à la frontière, «border», de la région ; connaissants la topologie externe du réseau ; disposants de grandes tables de routage incluant tous les préfixes de réseau possibles ; chargés de router les datagrammes entre les différentes régions. le partitionnement en différentes régions peut être fait : de manière itérative ; en créant plusieurs niveaux dans la hiérarchie de routage, ce qui limite le nombre de «border router» qui ont besoin de maintenir une table de routage complète. l avantages de ce partitionnement en régions est que le processus de routage à l intérieur d une région est indépendant : de celui réalisé à l intérieur des autres régions ; de celui réalisé entre les régions. onclusion : ifférentes régions peuvent choisir des algorithmes de routage «internes» différents ; Le même protocole de routage «externe» doit être utilisé entre les différentes régions. 8???? Internet en 999. Routing in the Internet 9 ccording to the terminology used by the Internet routing, the global network is partitioned at the highest hierarchical level into subsets called autonomous systems (Ss), which generally represent domains of networks and routers under a given administrative entity. Routing protocols internal to an autonomous system are called interior gateway protocols (IGP), whereas the ones used between different autonomous systems are called exterior gateway protocols (EGP). second-level partitioning could be applied within a given autonomous system, which is then split into routing areas (R). However, this is not mandatory, as this feature depends on the interior protocol used within the autonomous system. n example of Internet-like hierarchical structure, with a few interconnected autonomous systems, and the resulting topology as seen by the exterior routing protocol is shown in Figs.. and.. Note how the routing problem is simplified when the topology to be considered is limited to routers and networks within a single autonomous system (or routing area) or to border routers only. mong the most commonly used IGPs are RIP, OSPF and IS IS, whereas the EGP currently used in the Internet is GP. The RIP [8] and OSPF [8] protocols are very popular interior protocols and will be illustrated in the next sections. Intermediate system to intermediate system (IS IS) is a link state protocol used for interior routing and represents an alternative to OSPF. It has been standardized in documents ISO/IE 089:99 and ISO/IE 089:00(E) [8] and IETF described it in RFs [8] and 9 [8]. eing an ISO standard, IS IS was designed to route a general layer- packet format, making it more flexible to work with different network protocols than Internet et routage OSPF. : The la notion working principles d S of IS IS are similar to those of OSPF. lthough IS IS is L S ou «utonomous not System» as popular as OSPF, it is successfully employed within some autonomous systems, il correspond au especially niveau hiérarchique in the case of le plus large haut Internet du partionnement service providers. d Internet ; il représente un ensemble de réseaux et de routeurs soumis à la même entité administrative ; R S S Quelques Fig. définitions. set : of interconnected autonomous systems les protocoles de routage internes à une S sont appelés IGP, «Interior Gateway Protocol» ; ceux utilisés entre les S sont appelés EGP, «Exterior Gateway Protocol» ; une S peut être partitionnée en R, «Routing rea» suivant l IGP utilisé. S EGP S S IGP?? ours «Infrastructure Réseaux» P-F. onnefoi http://libpfb.so/ mars 0

98 Routing fundamentals and protocols La vue du réseau du point de l EGP S S S S S Les S ou domaine de routage éfinition de domaines de routage ela correspond à associer des réseaux et des routeurs sous la responsabilité d une autorité unique. L architecture de routage est indépendante entre les systèmes autonomes. Règle de découpage de l Internet : deux réseaux locaux d une même institution nécessitant un autre S pour communiquer ne peuvent constituer un S unique ; une S peut être plus ou moins grande : un FI peut avoir une S aux US, une en Europe et une autre pour le reste du monde. haque système autonome est identifié : par un numéro unique attribué par le NI : SN, numéro sur bits ou bits ; les numéros à sont pour des S privées. Exemple : Renater Limousin S9, Renater S À l origine, les S étaient connectés sur le noyau RPNET (également considéré comme un S). ujourd hui, il existe seulement des S interconnectés. Fig.. Seul les The routeurs same network leurs informations topology shown de routage in Fig. sont. as visibles. seen by the exterior routing protocol order Gateway Protocol (GP) version is the external protocol currently used for Un exemple routingd S between different Internet autonomous systems and is described in RF [88]. whoisit-hiswhois.ripe.net a path vector.8.0.0/ protocol and, as such, it is appropriate for the kind of decisions made % Information the highest relatedrouting to '.8.0.0/S00' level. Indeed, when the administration of an autonomous system must decide what kind of external traffic is allowed to traverse its networks route:.8.0.0/ and descr: which peering FR-U-LIMOGES relationships must be established with other autonomous systems, origin: S00 the ability to know the exact path followed by each route proves to be very useful. mnt-by: RENTER-MNT 8 Therefore, source: GP RIPE routing # Filtered tables are populated based mainly on routing policies rather 9 than optimal shortest path computations. 0 whois -h whois.ripe.net S9 % Information related to 'S9'.. Routing aut-num: information S9 protocol as-name: FR-RENTER-LIMOUSIN descr: Reseau Regional Limousin descr: FR import: from S00 action pref=00; accept NY 8 export: to S00 announce S9 9 default: to S00 action pref=0; networks NY 0 admin-c: GR8-RIPE tech-c: GR8-RIPE mnt-by: RENTER-MNT source: RIPE # Filtered Routing information protocol (RIP) has been one of the first and most widely used Internet routing protocols since the 980s. The first version was described in RF 08, followed by a second version in RF [8]. It is a distance vector protocol and, as such, it can be used as an interior protocol in small autonomous systems. The distance between two hosts or networks is given by the number of links a datagram has to cross to reach the destination, i.e., the hop count metric is used. destination is assumed unreachable when it has an infinite distance, which is represented by the value. This value has been chosen to solve the count-to-infinity problem, although it obviously limits the size of the RIP network to paths shorter than hops. This simple protocol basically uses two types of messages: request and response. Request messages are used to ask neighbors explicitly for their distance vectors, e.g., Un exemple d S Les dernières infos sur : http://www.robtex.com/as/as00.html ours «Infrastructure Réseaux» P-F. onnefoi http://libpfb.so/ mars 0

Protocoles de routage internes et externes HPTER Routing and Peering IGP, «Interior Gateway Protocol» RIP, «Routing information protocol», RF 08, ; OSPF, «Open Shortest Path First», RF 8 ; inside a single S. IS-IS, «Intermediate system to intermediate system» : RF et 9 ; considered c est in more un protocole detail. de routage à état de lien ; il représente une alternative à OSPF EGP, «Exterior Gateway Protocol» logical sub-ss called confederations or subconfederations (both terms are used) We will not have a lot to say about routing policies, as this is a vast and complex topic. ut some basics are necessary when the operation of routers on the network is n S forms a group of IP networks sharing a unified routing policy framework. routing policy framework is a series of guidelines (or hard rules) used by the ISP to formulate the actual routing policies that are configured on the routers. mong different Ss, which are often administered by different ISPs, things are more complex. are- ful GP, coordination «order of routing Gateway policies Protocol» is needed : to communicate complicated policies among Ss. RF ; Why? ecause some router somewhere must know all the details of all the IPv or IPv addresses c est un used protocole in the routing de routage domain. «path These routes vectorcan protocol», be aggregated c-à-d (or où summarizednement as shorter est and connu shorter ; prefixes for advertisement to other routers, but some le chemin complet d achemi- routers must retain all the details. il est adapté à la prise de décision au niveau hiérarchique le plus haut, quant l administration Routes, or prefixes, not only need to be advertised to another S, but need to be accepted. d une The decision S doit on which décider routes : to advertise and which routes to accept is determined by routing quelpolicy. type The de trafic situation elle is summarized va autoriser in the à traverser extremely simple ses réseaux exchange ; of routing information between two peer Ss shown in Figure.. (Note that the labels HPTER Routing and Peering 9 S # and S quelle # are relation not saying de this «peering» is S or this elleis va S S établirnumbers avec d autres are reserved S ; and assigned il consiste centrally.) à disposer The routing des information «routingis policies» transferred plutôt by the routing que des protocol chemins optimaux ; running il between ne régit the pas routers, le routage usually the intra-s. order Gateway Protocol (GP). The exchange of routing information is typically different bidirectional, ISPs rather but than not always. keeping In requests and replies all on one ISP s network. This some cases, the routing policy might completely suppress common or ignore practice the has flow real of consequences routing for QoS enforcement. information in one direction because of the routing policy These of drawbacks the sender of (suppress the telephony the settlements model resulted in a movement to advertising of a route or routes) or the receiver (ignore more the simplistic routing arrangements information among from ISP peers, which usually means ISPs of roughly equal size. These are often called peering arrangements or just peering. There is no the sender). If routing information is not sent or accepted between Ss, then clients strict definition of what a peer is or is not, but it often describes two ISPs that are or servers in one S cannot reach other hosts on the networks represented by that directly connected and have instituted some routing policies between them. In addition, there is nearly endless variation in settlement arrangements. These are just some of the broad categories. The key is that any traffic that a small network can offload onto a peer costs less than traffic Lesthat préfixes stays on des internal réseaux transit d un links. ISP doivent Economically, there is être often : also a sender-keeps-all arrangement in place, and no money changes hands. n ISP that is not a peer is just another customer of the ISP diffusés auprès des routeurs de frontières, sous forme éventuellement ré- ISP, and customers pay for services rendered. n interesting and common situation (S ) ISP arises (S ) when three peers share a transit peer member. This situation is shown in nnounces Net and Net to Figure.. There are typically duite no par financial aggrégation arrangements ; for peer ISPs providing ISP Peer and ccepts Net nnounces transit Net to services ISP Peer to andthe third peer, acceptés so peer suivant ISPs will la not «routing provide policy». transit to a third peer ccepts Net, ISP (unless, ut NOT of Net course, the third peer ISP is willing to pay and become a customer of one of the other ISPs). routing information in the other S. Les «routing policies» ou politiques de routage es FIGURE informations. de routage sont échangées par GP. simple example of a routing policy, showing how routes are announced (sent) and accepted Suivant (received). la ISP «routing and policy» ISP are : peers. elles peuvent ne pas être transmises ; elles peuvent être ignorées. ans le cas où cette information n est pas transmise ou refusée, les machines d une S concernées par cette information ne pourront pas atteindre les autres machines. Ici, Net n est pas accepté et ne peut envoyer de trafic au travers de l S. Traffic with Sources and estinations in ISP and ISP Is Okay ISP Peer of ISP, but not ISP ISP Peer of ISP and ISP Traffic with Sources and estinations in ISP and ISP Is locked No irect onnections Exist between ISP and ISP Traffic with Sources and estinations in ISP and ISP Is Okay ISP Peer of ISP, but not ISP L organisation d Internet à l heure actuelle Internet : un maillage de FI FIGURE. propose peering to ISP ; (b) ISP will not want to peer with ISP but will take them on as a ours «Infrastructure Réseaux» P-F. onnefoi http://libpfb.so/ mars 0 ISPs do not provide free transit services, and generally are either peers or customers of other ISPs. Unless arrangements are made, ISP will routinely block transit traffi c between ISP and ISP. ustomer Regional ISPs ISP ustomer ustomer HPTER Routing and Peering Internet se présente comme un maillage de FI, ou ISP, auxquels sont connectés des entités gouvernementales et des institutions éducatives, comme des universités : IXP : Internet exchange Points : pour définir des Large ISPs onnect Heavily interconnected points d interconnexion. IXPs, POPs or public peering points e sont souvent des opérateurs de téléphonie filaire. ollocation Facilities ; POP : Points of Presence, où sont placés les IXPs Large, National ISPs de manière logique ; ustomer ISP Peer of ISP, ustomer of ISP ustomer ustomer ustomer ustomer of ISP collocation facilities : des lieux physiques d interconnexion avec des liens redondants, des alimentations ; ISP ou FI : ils s interconnectent entre eux pour donner à leur client accès à Internet. Les liens entre ces FIs sont des «peering agreement». ustomer ustomer Les lien wikipedia : ustomer Small, Local ISPs Sur l IXP : http://en.wikipedia.org/wiki/internet_exchange_point ustomer Potential partners for peering arrangements are usually closely examined Surin les différents several IXPs : http://fr.wikipedia.org/wiki/internet_exchange_point areas. ISPs being considered for potential peering must ustomer have high capacity backbones, ustomer ustomer be ustomer ustomer of roughly the same size, cover key areas, ustomer have a good network operations center (NO), have about the same quality of service (QoS) in terms of delay and dropped High speed Medium speed Low speed packets, and (most importantly), exchange traffic roughly symmetrically. Nobody wants their FIGURE les peers, routers,. «pairs», the workhorse sont égaux of entre the ISP, eux to : peer il sont with en accord an ISP that poursupplies acheminer 0,000 gratuitement packets leur trafic réciproque, mais font for The payer every haphazard leur 000 clients way packets that ; ISPs are it accepts. connected Servers, on today s especially Internet, showing Web IXPs sites, at the tend top. to generate much more ustomers les plus traffic can petits be than individuals, FIs they sont consume, organizations, seulement so or clients ISPs other with ISPs. d un tight plus gros networks FI ; with many server farms or les Web débits hosting varient sites de often 00Mbps have (Ethernet) a hard time à 0peering Gbps (TM, with O-9c). anyone. On the other hand, ISPs treat with smaller many ISPs as casual, just another intermittent customer, client although users it s are not courted all that unusual by many for peering small suitors. Even regional if match ISPs to is peer not with quite each the other. same in size, if the traffic flows are symmetrical, peering is always Peering possible. arrangements The peering detail the situation reciprocal is way often that as traffic shown is handed in Figure off.. from Keep one in mind that ISP (and other that types means of S) networks to another. (such Peers as might cable agree TV operators deliver and each SL other s providers) packets have different for no charge, peering but goals bill non-peer than presented ISPs for here. this privilege, because it is assumed that the national ISP s backbone will be shuttling a large number of the smaller ISPs packets. Le peering Without correspond peering arrangements pour une S in à rechercher place, ISPs une rely S on paire, public afin exchange d échanger and du peer- ISPs, démarche points like trafic réseau. ut the national ISP won t be using the small ISP much. few examples of national Laing peer ISPs, est and «un the IXPs customer peu» for similaire connectivity. ISPs are shown à celle The in the desfigure. opérateurs trend is toward This is just de téléphonie, more private an example, and maispeering avec des difficultés : between very les large «appels» pairs ISPs often of sont peer have des ISPs. plenty des flux of very de datagrammes small customers ; and some of those will be attached Private un FI to peut more peering être than can seulement one be other accomplished ISP unand relais employ by installing entre high deux capacity a WN FIs links. link ; There between will also the be S border routers stub S of networks the two with ISPs. no lternatively, downstream peering customers. can be done at a collocation site where the two lamillions peers règle du of routers Ps «sender and basically Unix keeps systems sit all» side : act c est by as side. le clients, premier oth servers, types FI of or qui private both reçoit on peering the l argent Internet. are des common. clients et le garde. These elahosts fonctionne are attached si leto trafic LNs dans (typically) un sens and linked est équilibré by routers avec to the celui Internet. dansthe l autre sens. LNs and site routers are just customers to the ISPs. Now, a customer of even Who will peer Les difficultés sont : moderate size could have a topology similar to that of an ISP with a distinct border, with ISP? il peut y avoir plusieurs FIs entre un core, and aggregation or services routers. lthough all attached hosts conform to the ISP client et un serveur ; Les «routing policies» : le peering Traffic with alance ISP to ISP : 000 packets per min. ISP to ISP : 000 packets per min. ISP Large Infrastructure with Many lients (a) Medium Infrastructure Mix of lients and Servers Traffic Flow Unbalanced ISP to ISP : 000 packets per min. ISP to ISP : 0,000 packets per min. ISP Many Web Servers on Lots of Server Farms Ici, FIGURE le trafic. de ISP à ISP ne peut pas passer par ISP. Good and bad peering candidates. Note that the goal is to balance the traffi c fl ow as much as possible. Generally, the more servers the ISP maintains, the harder it is to peer. (a) ISP will customer. HPTER Routing and Peering (b) un client peut effectuer de nombreuses connexions successives et rapides (consultation Web) et il est dur de suivre ces connexions (origine, chemin) ; La solution : le «peering» : un accord, un «settlement» est défini entre FI pour ne pas faire payer entre pairs ; mais le trafic ne peut pas transiter par l intermédiaire d un pair commun sans devenir client d un des ISP.

Les «routing policies» : le peering Le choix du pair ing points like the IXPs for connectivity. The trend is toward more private peering between pairs of peer ISPs. Private peering can be accomplished by installing a WN link between the S border routers of the two ISPs. lternatively, peering can be done at a collocation site where the two peers routers basically sit side by side. oth types of private peering are common. Who will peer with ISP? Traffic with alance ISP to ISP : 000 packets per min. ISP to ISP : 000 packets per min. ISP Large Infrastructure with Many lients (a) ISP Medium Infrastructure Mix of lients and Servers Traffic Flow Unbalanced ISP to ISP : 000 packets per min. ISP to ISP : 0,000 packets per min. ISP Many Web Servers on Lots of Server Farms Ici, le FI a le choix FIGURE entre. le FI et le FI : il pourra choisir et prendre en client. utre solution : Good and bad peering candidates. Note that the goal is to balance the traffi c fl ow as much as utiliser un IXPpossible. ou un WN Generally, pour s interconnecter the more servers directement the ISP maintains, (lien public) the harder ; it is to peer. (a) ISP will la tendance : liens propose entrepeering FIs (lien to ISP privé). ; (b) ISP will not want to peer with ISP but will take them on as a customer. Les liens entre S : l organisation des échanges entre S les relations de transit génèrent des revenus alors que celles de peering n en génère pas (ou indirectement) ; le peering : peut réduire les coûts de transit et permet d économiser pour l ensemble des pairs ; améliore la redondance en diminuant la dépendance envers un «transit provider» ; améliore la performance en augmentant le nombre de chemins disponibles (éviter les «bottlenecks») ; augmente la capacité en répartissant le trafic entre différents réseaux ; facilite l obtention de capacité supplémentaire en cas d urgence (auprès des pairs). Les règles : S γ S η S ϕ Pour ses clients payants, une S veut fournir un service de transit illimité. γ s η s ϕ s customers customers customers Pour ses fournisseurs et pairs, une S veut (a) fournir un service de transit sélectif. S γ γ s customers S γ γ s customers S δ S η η s customers (b) S η S ϕ η s customers (d) ϕ s customers S ε S ϕ ϕ s customers S γ S γ γ s customers γ s customers S δ S δ S η η s customers (c) S η S ε S ϕ η s customers (e) S ε S ϕ ϕ s customers ϕ s customers (b) a) les S η et φ bénéficie de leur statut de peering au profit de leur clients respectifs ; b) l S η pâtit du trafic entre γ et φ aux dépends de ses clients : η ne va pas relayer leur trafic et ils vont passer par les S dont ils sont clients (δ et ε). c) l S δ se sert de son client η pour atteindre φ. L S η pâtit de cette situation : elle paye δ pour le transit et elle ne veut pas fournir du transit gratuit en retour. Le trafic entre l S δ passe alors par le pair ε pour atteindre l S φ. Les liens entre S Exemple de réseaux d ISP, «Internet Service Provider» Tier- ISP φ Tier- ISP χ Tier- ISP γ γ s customers Macrospot.com Tier- ISP δ Tier- ISP α Tier- ISP η η s customers Tier- ISP ε Noodle.com Tier- ISP β Tier- ISP ϕ ϕ s customers Sur le schéma : «Tier-», ISP α ou β : il possède une vision globale du réseau, et ses tables de routage ne contiennent pas de route par défaut, «default-free» (il en existe une quinzaine dans le monde) ; «Tier-», ISP δ ou ε : niveau régional ou pays ; «Tier-», ISP γ ou η : niveau local. Les accords de peering se font entre «Tiers» de même niveau, donc de même dimension, avec un volume de trafic équivalent. haque ISP peut appliquer la règle de transit suivante : vendre du transit, ou de l accès internet, à une autre S : un «transit provider» vend du transport à un «transit customer» ; échanger du trafic, peering, avec une autre S ; acheter du transit depuis une autre S : ce transit peut alors être vendu à d autres S clientes. Sur le schéma : «multihomed S» : les S des deux sociétés, noodle et macrospot, ne relaient pas de trafic et sont connectées à deux S ; «Stub S» : celles ne possédant qu une connexion à une S. Tier- ISP φ Tier- ISP χ Tier- ISP γ γ s customers Macrospot.com Les liens entre S : l organisation des échanges entre S omment implémenter les règles de transit et d échange de trafic? Tier- ISP δ Tier- ISP α Tier- ISP η η s customers Tier- ISP ε Noodle.com Tier- ISP β Tier- ISP ϕ Key: Transit Peering ϕ s customers Pour mettre en œuvre les décisions économiques et éviter les situations défavorables, une S définit des «routing policies» : si une S veut éviter de fournir un transit entre deux S dont elle est voisine, il suffit qu elle n annonce pas, «advertising», que l une de ces S peut être joignables de l autre par son intermédiaire. es deux S seront visibles l une de l autre par l intermédiaire d autres S. pour ces clients pour le transit, une S doit diffuser l ensemble des réseaux qu elle connaît (ils sont alors joignables, «reachable» ou visibles) ; pour ses pairs, une S ne rend visible que ses propres clients pour le transit mais aucun de ses pairs ni de ses fournisseurs de transit pour éviter d avoir à relayer du trafic sans contrepartie ; pour ses fournisseurs de transit, «transit provider», une S doit rendre visible ses propres clients mais aucun de ses pairs ni de ses autres fournisseurs de transit pour éviter tout abus. Macrospot.com Noodle.com l S α et β voient tous leurs réseaux car ils sont pairs et tous les autres S sont leur client ; Tier- ISP φ Tier- ISP χ Tier- ISP γ γ s customers Tier- ISP δ Tier- ISP α Tier- ISP η η s customers Tier- ISP ε Tier- ISP β Tier- ISP ϕ ϕ s customers l S γ voit l S η et ses client directement mais par l S φ au travers de η ; l S δ voit l S φ au travers de ε mais pas au travers de son son client l S η ; le trafic de l S φ vers l S γ va passer par l S ε (et l S δ) mais pas par l S η. ours «Infrastructure Réseaux» P-F. onnefoi http://libpfb.so/ mars 0

Les liens entre S : l organisation des échanges entre S Un protocole de routage : «Routing Path Vector» Macrospot.com Noodle.com Le routeur de l S φ veut diffuser le préfixe de destination 8..0.0/ : S α il envoie un message contenant un «routing path vec- S χ S β E J tor» pour indiquer le chemin permettant d atteindre la G H I destination donnée : F ce message contient uniquement au départ le numé- S φ S δ ro de l S {S u } ; S ε L un routeur de frontière, «border router», K dans K O P M N l Sδ reçoit ce message et le diffuse vers tous les Q routeurs frontières dans l Sδ : S γ S η S ϕ S ces routeurs à l intérieur de l Sδ ajoute en en- R tête leur propre numéro d S au message de «chemin de routage» qui devient {S u, S u } γ s customers ϕ s customers η s customers ces routeurs rediffusent ce nouveau message vers les S adjacentes. comme l Sη n a pas d intérêt économique à diffuser un chemin vers l Sδ a ses pairs comme l Sφ, elle met à jour le message avec un «chemin de routage» indiquant uniquement ses clients :{ust u } l Sε a un intérêt économique de diffuser les accès aux réseaux de l Sδ a ses propres clients : elle diffuse un message modifié {S u, S u, S u } ; les routeurs de l Sψ mettent à jour leur tables de routage en fonction des messages reçus : si un paquet à destination de 8..0.0/ est envoyé depuis l SΦ il sera envoyé au «next hop», l Sε. {Sφ} {S {Sδ,, S Sφ} {Sδ,, Sφ} {S {Sδ,, S Sφ} {Sδ,, Sφ} {ust ustη} {Sε,, Sδ,, Sφ} Le «Path Vector Routing» est un routage : «inter-domain», à l intérieur d un même domaine ; «exterior routing», entre différents S. Fonctionnement : chaque routeur de frontière d une S, appelé «border» ou «edge router», diffuse les destinations qu il peut atteindre à ses routeurs voisins appartenant à d autres S ; Il est similaire au «distance vector routing», mais : les réseaux ne sont pas diffusés par une adresse de destination et la distance vers cette destination ; les réseaux sont diffusés par une liste d adresses de destination et par des chemins menant à ces destinations, d où le terme de «path vector routing» : une route est définie par une paire composée d une destination et d un chemin vers cette destination ; le chemin contient la liste complète des S à traverser pour atteindre la destination ; le chemin contenant la liste la plus courte d S à traverser est privilégiée. chaque routeur diffuse ses informations à intervalles réguliers : sa propre adresse réseau ; une copie de son chemin à chacun des routeurs voisins (adjacents) ; lorsqu un routeur reçoit les chemins de ses voisins, il réalise une sélection de chemin en concaténant l information reçue avec celle existante dans son propre chemin. ette sélection de chemin se fait suivant une métrique comme dans le cas de l algorithme par «vecteur de distance». Le «Path Vector Routing» Sur ce réseau d exemple, on va appliquer l algorithme de «path vector routing» : au lieu de transmettre l adresse de réseau, on transmettra le numéro de l S indiquée par une lettre grecque ; l algorithme s exécute depuis l état initial jusqu à atteindre un état d équilibre. le fonctionnement est le suivant : un chemin est noté < d η, ε, ψ >, où d indique la métrique et η, ε, ψ le chemin vers l S u ; dans l état initial de l S u : pas d information concernant l S u l S u reçoit des chemins de l S u et de l S u à son premier échange : Routing table at S α: Initial α ro m β F γ Path to α β γ 0 α 0 β γ Received Path Vectors (st exchange) α β γ δ β 0 α 0 β γ δ γ Routing table at node α: fter st exchange: α β γ δ γ β 0 γ δ α 0 Path to α β γ δ α 0 α γ, β γ 8 γ, δ m ro β F 0 α 0 β γ δ γ α β 0 γ δ l S u recalcule sa table de chemin : u (β) = min{c(α, β) + u (β), c(α, γ) + u (β)} = min{0 + 0, + } = < γ, β > u (γ) = min{c(α, β) + u (γ), c(α, γ) + u (γ)} = min{0 +, + 0} = < γ > u (δ) = min{c(α, β) + u (δ), c(α, γ) + u (δ)} = min{0 +, + } = 8 < 8 γ, δ > β γ δ Intégration routage Inter et Intra domaine eux objectifs différents de routage à l intérieur d un S : «comment router d une source vers une destination de la manière la plus efficace» ; on utilise des protocoles IGP, «Interior Gateway Protocols» de type «par vecteur de distance» ; «par état de liens» ; entre S : «comment router de la manière la plus profitable» ; on utilise des protocoles EGP, «Exterior Gateway Protocols» de type «par vecteur de chemin» ; un routeur situé à la frontière d un S, appelé «gateway router» ou «speaker router» : doit maintenir deux tables différentes de routage : une obtenue par un IGP ; une obtenue par un EGP ; omment organiser son information de routage? à chaque réception d une destination dans une autre S, il l intègre dans sa table de routage ; il échange ces informations avec tous les routeurs à l intérieur de son S afin d unifier la vision d Internet vu par tous les routeurs de l S, afin que : tous les routeurs prennent la même décision de routage pour un datagramme ; tous les routeurs partagent les tables de routage de tous les routeurs de bordure ; échange ses informations de routage avec tous les routeurs à l intérieur de son S, c-à-d avec : ceux qui sont eux-mêmes des routeurs de bordure situé en frontière de l S («internal peering») ; les autres qui ne font fonctionner qu un IGP avec une seule table de routage ; ces informations de routage contiennent : des paires «(destination, port de sortie)» pour toutes les destinations possibles (le «port de sortie» correspond à l @IP du routeur de prochain saut (sélection de la destination suivant le préfixe correspondant le plus long) ; une entrée par défaut pour les adresses inconnues (seuls les S «Tier-» sont «default-free», car ils connaissent tous les préfixes réseaux d Internet). ours «Infrastructure Réseaux» P-F. onnefoi http://libpfb.so/ mars 0

)(-)/8(*) 9()0/8+&.( Intégration routage Inter et Intra domaine Le routage dynamique : intégration dans IP EGP (interdomaine unicast) GP (9) IGP (intradomaine unicast) {Sφ} {S {Sδ,, S Sφ} {Sδ,, Sφ} {S {Sδ,, S Sφ} {Sδ,, Sφ} {ust ustη} {Sε,, Sδ,, Sφ}!"#%&'#()*%)+,)-%.'#()*/)"0.%,/ HPITRE TP() OSPF (89) IGMP() PIM(0) %&'%(!)(*&+,-.)(%/-00+)',(%+*(+')(+'+)(",*+)(-!'(!)(-&*%)*(-(&'#,&'(!) le protocole RIP est encapsulé dans UP ; )*.)'#)()('&8*)(!/)',*")(!-'%()%(,-8)%(!)(*&+,-.)(!&,(-+%%(9,*)(,"(-!'(!) le protocole GP est encapsulé dans TP ; &*#)*(-(&'#,&'(!)(#&')*.)'#) IP Multicast accès le protocole OSPF est intégré dans IP avec son propre numéro de protocole ; intradomaine interdomaine MSP(9) TP() ceux concernant le multicast utilisent différentes encapsulations suivant le niveau de communication multicast : accès local ; Le routage dynamique vantages adaptation à l évolution du réseau ; ajout ou suppression de routeurs ; pertes ou ajouts de liaisons ; configuration simple de chaque routeur (configurer seulement les interfaces). ontraintes Optimisation : sélection des meilleurs routes ; ohérence : élimination des boucles de routage (routes circulaires) ; Efficacité : peu de consommation de bande passante et de temps PU ; Stabilité : convergence (obtention du résultat global) et re-configurations rapides ; Simplicité : configuration simple de chaque élément. Les protocoles intérieurs (IGP) à vecteur de distance : RIP, IGRP ; à états de liens : OSPF ; taille <00 routeurs, une autorité d administration ; échange d informations de routage entre routeur. Les protocoles extérieurs (GP) taille correspondant à celle d Internet ; coopération entre entités indépendantes (S) ; échange d informations de routage entre S ; GP : protocole qui utilise TP pour échanger les informations de routage : il permet de faire du «policy-based routing», pour choisir entre différents chemins possibles ; il est basé sur des «tables de chemin», «path vector routing», qui énumère les S à emprunter jusqu à la destination. lgorithme de routage : vecteur de distance, «vector-distance» aractéristiques Itératif : fonctionnement tant qu il y a des informations à échanger (jusqu à la convergence de l algorithme) ; synchrone : chaque nœud du réseau de routage est indépendant au niveau du temps ; istribué : chaque nœud participe à la résolution de l algorithme ; Local : aucun nœud n a la vision complète du réseau. Fonctionnement général Échange d information entre routeurs adjacents chaque routeur diffuse vers les autres nœuds adjacents leur table de routage ; chaque table de routage est constituée de la liste des voisins et du coût de la liaison. Traitement à la réception d une nouvelle table de routage : si une entrée de la table n est pas dans sa table, il la rajoute ; si le coût de la route proposée par la table + le coût de la route pour aller jusqu au routeur qui a transmis la table est inférieur au coût indiqué dans sa table, il modifie sa table pour prendre en compte cette nouvelle route ; sinon il n y a pas de changement. La modification d une entrée dans la table de routage d un routeur engendre l émission de la nouvelle table sur toutes les interfaces du routeur. Les échanges entre les routeurs continuent jusqu à ce que l algorithme converge (plus de modification dans les tables des différents routeurs). Utilisation d une métrique simple Il est possible de n utiliser qu une métrique simple pour le coût d un chemin : le nombre de sauts pour atteindre la destination. Macrospot.com Noodle.com Si l S u diffuse le réseau 8..0.0/ par un seul routeur «speaker» alors la table de routage est simple : S α S χ S β Exemple, l S u possède un seul routeur «speaker» R qui le E J G connecte aux autres S ; H I F si le routeur S de l S u reçoit un paquet à destination de l S u, ce paquet est routé suivant le plus court chemin (dé- S φ S δ S ε terminé par un IGP à l intérieur de S u ) vers le routeur R L K O P qui le routera vers le routeur N dans l S u. M N Q Exemple : le routeur de l S u reçoit un paquet destiné à S γ S η S ϕ S l S u ; R doit router ce paquet vers un autre «speaker» routeur, mais lequel? γ s customers ϕ s customers η s customers et F possèdent le même chemin vers l S u car les routeurs «speakers» ont diffusé leurs informations à l intérieur de l S à l aide d un IGP, ou d une version adaptée de l EGP (igp par exemple). On utilise le routage «hot potato» : Learn from IGP protocol that destination x l S se «débarrasse» au plus vite et suivant la méthode la moins coûteuse : speakers. external to own S is reachable via multiple Use info from IGP le paquet est envoyé suivant le routing tables to determine least-cost plus court chemin à l intérieur de paths to each of the speakers. l S, vers le routeur «speaker» qui Hot-potato routing: possède un chemin vers l S destination (pas de calcul du coût glocost. hoose the speaker with the lowest least- etermine the interface bal). O that leads to the least-cost speaker. Sur l exemple de vers et non Enter (x,o) in forwarding table vers F. &+,-.)(:;<(*)0&%)(."'"*-))',(%+*(/-.&*,=)(!)(>?@%,*-(:(%/-.,(!/+'(-.& accès dans un domaine ou S ; accès interdomaine ou entre S. )(0)*),,-',(!)(,*&+)*((0-*,*(!/+'(%&),(&*.')(+'+)()(0+%(#&+*,(#=)' (+'(.*-0=)(!((E"#F(0&'!"*"(&G()%(-*9,)%(&',(!)%(#&H,%(0&%,%(&+('+%(:(%/-., #(!/+'(-.&*,=)((!I-,&'(!/",+),,)%(E%&'(%)*(++,-.)&%./0,+F(,*-,-',(!"!',) ours «Infrastructure Réseaux» P-F. onnefoi http://libpfb.so/ mars 0 8,(+'(%&),(),(%&'(",+),,)(E&+(!%,-'#)F((#=-+)(,"*-,&'(:()I0&,)()'(&+,*)(- *","(+)()%(%&+%#=)'%(!)(0+%(#&+*,%(#=)'%(%&',(!)(0+%(#&+*,%(#=)'%()

ls and protocols lgorithme de routage : vecteur de distance, «vector-distance» Inconvénients eight of the link La taille connecting des informations node de i to routage nodestj, proportionnelle where i = au j. nombre If nodes routeurs du domaine. ectly connected, La métrique then assume est difficilement that dutilisable ij =. : lenteur Suppose, de convergence without; loss ouclage éventuellement à l infini ; node is the destination reference node. Let Pas de chemins multiples ; i h be the distance of a most, h hops oûts between des routes nodeexternes i and node arbitraires., i.e., the minimum distance, at most, Protocole h edgesrip, are «Routing traversed. Internet y definition Protocol» h = 0 for each h. The e the Il existe différentes versions : Routing shortest fundamentals paths from and all nodes protocols to the reference node operating RIPv : reasing the number h of permitted hops. qui ne gère pas les préfixes dans les informations de routage transmises, d où l impossibilité d utiliser différents préfixes =, for each iou = de, faire i h decan l aggrégation be computed ; on the hth step as qui ne supporte pas d authentification : on peut facilement intercepter les paquets en les faisant router vers un routeur malveillant ; Let d i h = min j [d ij + h ij be the weight of the j link ] connecting node i to node j, where i = j. If nodes RIPv, RF 88,, : authentification (M+secret+compteur), préfixes transmis avec les routes, utilisation du i and j are multicast not directly (.0.0.9) connected, ; then assume that d ij =. Suppose, without loss i =. of generality, RIPng, that RFnode 080 : extension is the destination pour gérer IPv. reference node. Let i h be the distance of a ops after a L équipement finite number de routage of iterations diffuse (broadcast) h 0 N, toutes where lesn 0s islathe liste number des réseaux qu il peut atteindre avec leur distance (nombre h shortest path in, at most, h hops between node i and node, i.e., the minimum distance 0 de sauts). i obtained at the final step is the shortest distance over all possible for all vantages paths to node, i.e., h where, at most, h edges are traversed. y definition 0 h = 0 for each h. The goal is totrès determine i = connu, implanté i. the Therefore, shortest the shortest path from a generic sur tous les paths équipements from all denodes routage, to peuthe gourmand reference en ressources node PU/Mémoire operating ; is step given by by step s adapte by increasing automatiquement the number (panne, ajout h of depermitted réseau...) hops. ésavantages Starting lawith distance est une information réduite qui ne tient pas compte de la charge, du débit, du coût des lignes i = min j [d ij + i 0 =, for each i =, j ]. i h can be computed on the hth step as (.) distance maximale = : d = signifie réseau inaccessible (distance infinie) ; n i = Utiliser j, such RIPthat sur un Eq. petit (.) réseau is que satisfied. i h l on = min contrôle j [d ij et+ oùl on j h fait ] confiance aux administrateurs réseau. graph, forthere each hare no and loops i = of. negative or zero length, this algorithm ly one The solution. algorithm Figure stops.after shows a finite an example number of iterations application h 0 of the N, where N is the number orithm. of nodes. ParThe vecteur value de h 0 i obtained distance at the final step is the shortest distance over all possible pathsle from déroulement node i to node l algorithme, i.e., h 0 i = de elmann-ford i. Therefore, the shortest path from a generic node i = to node is given by h = h = : Leh nœud = apprend la distance qui le relie aux nœuds, et : i = min j [d ij + j ]. (.) nœud distance n i = j, such that Eq. (.) is satisfied. par If, in the directed graph, there are noloopsofpar negative or zero length, this algorithm always returns only one solution. Figure 9. par shows an example of application of the ellman Ford algorithm. h = : le nœud h = reçoit les informations h = h concernant = h = les nœuds, et : nœud distance (+) par (+) par 9(+) par 9 et mets à jour : nœud distance h = (+) par h = h = Ford algorithm Fig.. for all paths where, at most, h edges are traversed. y definition = 0 for each h. The goal is to 90 determine the Routing shortest fundamentals paths from and all protocols nodes to the reference node operating step by step by increasing the number h of permitted hops. Starting with i 0 =, for each i =, i h can be computed on the hth step as lgorithmes de routage dynamique. Routing algorithms 89 Les algorithmes de constructions Let d des chemins de routage i h = j [d ij + h ij be the weight of thej link ] connecting node i to node j, where i = j. If nodes epuis le schéma d interconnexion i and j are not desdirectly différents connected, routeurs, on then déduit assume un graphe that d ij dont = les. arêtes Suppose, sont without loss étiquetées for each par h un and poids i = :. of generality, that node is the destination reference node. Let i h be the distance of a The algorithm stops after a finite number of iterations h 0 N, where N is the number shortest of nodes. The value h path in, at most, h hops between node i and node, i.e., the minimum distance 0 i obtained at the final step is the shortest distance over all possible for all paths where, paths from node i to node, i.e., h at most, h edges are traversed. y definition 0 h = 0 for each h. The goal is to determine i = the i. Therefore, shortest paths the shortest from all path nodes from to the a generic reference node operating node i = to node step is given by step by by increasing the number h of permitted hops. Starting with i = min j [d ij + i 0 =, for each i =, j ]. i h can be computed on the hth step as (.) n i = j, such that Eq. (.) is satisfied. i h = min j [d ij + j h ] If, in the directed graph, for each thereh are no andloops i =. of negative or zero length, this algorithm always returns only onethe solution. algorithm Figure stops. after shows a finite an number exampleofof iterations application h 0 ofn, the where N is the number ellman Ford algorithm. of nodes. The value h 0 i obtained at the final step is the shortest distance over all possible paths from node i to node, i.e., h 0 Fig. Sur. le graphe on network prend topology en compte with seven que les nodes routeurs and ten que bidirectional i = i. Therefore, the shortest path from a generic l on numérotera links and et pas the corresponding les réseaux auxquels weighted node i = to node is given by ils sont directement directed graph connectés pour simplifier h la = description du fonctionnement h = de l algorithme. i = min j [d ij + j ]. (.) The edge weight can be used to represent the specific cost of network links in all the n i = j, such that Eq. (.) is satisfied. situations where link characteristics must affect thechoice ofthe path to be followed by packets. Therefore, the cost of a link can be defined in If, in the directed graph, there are no loops of different negative ways: or zerothe length, physical this algorithm distance covered always byreturns the link, only the amount one solution. of traffic Figure routed.along the link, the inverse of the 9 shows an example of application of the Par vecteur linkde bandwidth, distance ellman Ford to name aalgorithm. few. The cost or distance of a network path is defined as the sum of the costs of all links that are part of the path. If the cost of each edge is assumed Le déroulement de l algorithme de elmann-ford Suite to be one, then the path distance is defined in terms of the number of links traversed, which h = is also calledh the= hop : count. leh nœud = reçoit des informations h = h = h = Shortest path routing aims at determining thenœud optimal distance path between each source and destination node pair on the weighted directed graph representing a network. The optimal (+) par path is a path with the minimumcost or distance and is called a shortest path. Several algorithms to compute concernant the shortest les nœuds path have et : (+) par been implemented. In general, given a reference destination node, the result obtained after applying such an algorithm on a 9 connected graph is givenby two values for each node i of the network: i, the minimum distance from node i to the reference node; h = : le nœud n i, the reçoit downstream des informations h neighbor, = concernant or next hop, along the h = shortest path from node i toh the = Example le nœud of ellman Ford, reference qui vanode. modifier algorithm les informations du : These two values are then used to build and update the entries of node i s routing table nœud distance related to the reference node and the networks connected to it, specifying the distance (+) par obtained and the next hop to forward packets to. (+) The par most àpopular modifier... algorithms used by routers to compute the shortest path are the ellman Ford and ijkstra algorithms [8] and these will be explained in the following subsections. Fig.... The ellman Ford Example of algorithm ellman Ford algorithm ours «Infrastructure Réseaux» P-F. onnefoi http://libpfb.so/ mars 0 9 To explain the ellman Ford algorithm better, the centralized version will be illustrated first, followed by the distributed implementation.

h = h = Par vecteur de distance Le déroulement de l algorithmede elmann-ford Suite et fin 9 Par vecteur de distance utre exemple de réseau : Pour le routeur : 0 h = h = nœud distance par par par par par (+) par il reçoit les «vecteurs de distance» des routeurs et (sur l exemple, on considère que ces informations arrivent simultanément, ce qui est rarement le cas mais ne modifie pas le résultat de l algorithme) : Routing table at node : Initial istance to 0 0 0 0 0 8 Received istance Vectors 0 Routing table at node : fter st exchange istance to 0 0 0 le routeur mets à jour sa table avec les nouvelles informations reçues : u () = min{c(, ) + u (), c(, ) + u ()} = min{0 + 0, + } = u () = min{c(, ) + u (), c(, ) + u ()} = min{0 +, + 0} = u () = min{c(, ) + u (), c(, ) + u ()} = min{0 +, + } = 8 Par vecteur de distance L algorithme est distribué : chaque routeur échange ses informations ; mets à jour sa table ; si la table est modifiée, il la rediffuse ; il arrête lorsque la table est stable. Routing table at node Routing table at node Routing table at node Routing table at node Initial routing tables: fter st exchange: fter nd exchange: fter rd exchange: istance to 0 0 istance to 0 0 istance to 0 istance to 0 istance to 0 8 0 0 0 istance to 0 0 0 0 0 istance to 0 0 0 0 0 0 istance to 0 0 0 8 0 istance to 0 0 0 istance to 0 8 0 0 8 0 istance to 0 8 0 0 8 0 istance to 0 0 0 istance to 0 0 0 istance to 0 0 0 0 istance to 0 0 0 0 istance to 0 0 0 Par vecteur de distance : les problèmes & solutions Gérer les plantages les routeurs doivent informer leurs voisins périodiquement de toute modification de la topologie du réseau : un routeur peut détecter les liens de connexion avec des paquets «heartbeat» ou «HELLO» ; mais si un routeur plante il ne peut prévenir ses voisins de ce changement les routes doivent être associées à une durée de validité après laquelle est est retirée de la table de routage. Éviter les boucles de routage l algorithme fonctionne bien si les liens sont toujours «up» ; lorsqu un lien est coupé, un routeur recalcule son vecteur de distance et le distribue à ses voisins, mais sans les informer des raisons de ce recalcule : les routeurs voisins ne peuvent pas savoir si leur choix d adresse de prochain saut va créer une boucle : les informations diminuant le coût du routage circulent rapidement ; les informations augmentant le coût du routage circulent lentement par petits incréments ; ce problème est appelé «counting to infinity problem», exemple : Original network 0 Scenario : Link outage 0 Ensuite, diffuse sa nouvelle table et...le compteur démarre! Le lien casse, le détecte et mets à jour sa distance vers à ; si envoie immédiatement sa nouvelle distance à va détecter cette cassure car sa route vers passe par ; Mais imaginons que envoie sa table à avant, il mets à jour u () = min{c(, ) + u (), c(, ) + u ()} = min{0 +, + } = Routing table at node before outage istance to 0 0 0 0. detects outage. sets c(, ) =. recomputes its distance vector. obtains as the shortest distance to, via Routing table at node after outage istance to 0 0 0 0 Problème : les routeurs ont une vision limitée de la topologie du réseau, et ne sait pas que sa route passe par! ours «Infrastructure Réseaux» P-F. onnefoi http://libpfb.so/ mars 0 0

Par vecteur de distance : les problèmes & solutions Lors d une boucle de routage, le datagramme va rebondir d un routeur à l autre jusqu à ce que son TTL devienne nul. Les distances menant à la destination dans les tables de routages de ces deux routeurs ne cessent d augmenter :«counting-to-infinity». RIPv, «Routing Internet Protocol», RF Le format du paquet RIP RIP header 0 8 command version unused (must be zero) address family identifier route tag 8 bytes Solutions : introduire un temps d attente de modification, «hold-down», supérieur au temps de convergence de l algorithme : lorsque le routeur détecte une rupture il déclenche sa mesure du temps d attente ; il diffuse l information de cette rupture à ses voisins ; les voisins font de même et déclenchent leur mesure du temps d attente ; il ignore les mises à jour réalisée par des routeurs qui ignorent la rupture ; à la fin du temps d attente, on reprends l algorithme en mode normal. utiliser la solution du «split-horizon» : «il est inutile d envoyer une information concernant une destination vers un routeur qui est le prochain saut vers cette destination» ans l exemple précèdent, n aurait pas diffuser de route vers à et n aurait pas créer de boucle. utiliser la solution du «split-horizon with poisoned reverse» : le routeur diffuse à tout ses voisins l information de la rupture vers la destination en indiquant une distance ; chaque routeur recevant cette information mets sa propre information à ce qui le force à chercher un nouveau chemin vers la destination ; la valeur sert de «marquage» pour indiquer la rupture. ans l exemple précèdent, diffuse une route vers à, mais avec la valeur. RIP route entry IPv address subnet mask next hop distance metric Total up to route entries Il existe deux types de paquet RIP : requêtes : qui demande la transmission des informations de routage aux routeurs (du groupe multicast) ; réponses : qui contiennent les tables de routage (au plus entrées de octets chacune) : le champs «next hop» sert lorsque le protocole RIP n est pas exécuté par tous les routeurs du réseau : l adresse doit correspondre à un «next hop» directement accessible depuis le sous-réseau dans lequel l annonce est faite ; une valeur 0.0.0.0 pour le «next-hop», indique que la route passe par l émetteur du paquet ; la métrique vaut au plus ( est considéré comme ) ; les paquets sont diffusés toutes les 0 secondes et un routeur qui ne donne plus de nouvelles depuis 80 secondes (valeur du hold-down est considéré comme disparu. bytes RIP : les problèmes Les mauvaises nouvelles se transmettent lentement! Le problème du lien qui casse : Fig.. étails 9 Routing fundamentals and protocols typical situation affected by the count-to-infinity problem period node deletes the routing information to node. On the other hand, learns from s distance vector that = and then it recomputes = + =. Then informs that its new distance to is =, forcing to recompute =.This process could continue forever, although it is stopped by setting a maximum distance max such that when ij > max, node j is assumed to be unreachable. Split horizon is a very simple technique useful for tackling the count-to-infinity problem. If node forwards packets to a destination node through node, it does not make any sense for node to try to reach node through node. Therefore, it is useless that node informs about its distance to. This modification to the routing protocol implies that a node now has to send different distance vectors to different neighbor nodes, by properly selecting information from its table. This makes the distance vector creation process a little more complicated. Triggered update is a further improvement aimed at reducing the time required to converge to the shortest path solution. It deals with the timing for sending updated distance vectors to the neighbors. esides the periodic updates sent by each node to its neighbors, the triggered update technique requires that, if there is any change in the routing table, a node immediately sends an updated distance vector. This behavior reduces the chance of spreading wrong routing information caused by outdated distance vectors. lthough solutions such as split horizon and triggered update improve the performance of a distance vector protocol, convergence problems still persist, especially when cycles are present in the network topology. possible way to drastically overcome this issue is to include the complete list of nodes traversed to reach each destination in the distance vector sent to neighbors, which is now called path vector.router is, thus, able to select only the valid elements in the path vectors received by the neighbors by ignoring the destinations with a path where the router itself is already present. This solution eliminates the risk of cycles in routing paths, although it requires additional overhead due to the increased amount of information to be exchanged. si le lien entre R et R se casse les routes se mettent à jour lentement pour atteindre un coût infini pour aller vers R méliorations de l algorithme définir l infini comme un entier petit ( par exemple) ; prévenir les routeurs en transmettant une route avec un coût infini, «reverse poisoning» & «split-horizon». ours «Infrastructure Réseaux» P-F. onnefoi http://libpfb.so/ mars 0.. Link state protocols n alternative to distance vector protocols is represented by link state protocols. The basic characteristic of this kind of routing protocols is that each node tries to build an image of the complete network topology. Then, using this topology, each node computes lgorithme de routage : par état de lien, «state-link» Principe Les routeurs : émettent des messages, LSP, «Link-State Packet», réalisant du LS, «Link-State dvertisement», concernant l état de chacun de ses liens et leur coût (d où le nom de «Link State Routing») ; calculent tous les plus courts chemins de tous les noeuds vers lui-même ; envoient à tous les routeurs accessibles l information au sujet de ses voisins ; récupèrent la topologie du réseau et le coût de chaque liaison. haque routeur : possède une copie complète de la carte du réseau ; exécute le calcul des meilleurs routes localement en utilisant cette carte : plus de boucles! lgorithme de routage OSPF, Open Shortest Path First, RF Il est destiné à remplacer les protocoles intérieurs propriétaires : les routeurs : maintiennent une carte complète du réseau ; calculent les meilleurs chemins localement en utilisant cette topologie ; les routeurs communiquent l état de son voisinage : le routeur teste périodiquement l état des liens qui le relient à ses routeurs voisins, puis diffuse ces états (Link-State) à tous les autres routeurs du domaine, par inondation, «flooding» (un numéro de séquence permet de ne pas retransmettre un même message, et une durée de vie permet de les supprimer) ; les messages diffusés contiennent l état (up, down) et le coût d un lien pour chacun des routeurs adjacents, ainsi que l identifiant de l émetteur ; lorsque un message parvient à un routeur, celui-ci : met à jour sa carte de liens ; recalcule localement pour chaque lien modifié, la nouvelle route selon l algorithme de ijkstra «shortest path algorithm» qui détermine le plus court chemin pour toutes les destinations à partir d une même source.

ever stop updating minimum distances and transmitting and receiving distance values; s with distance Par étatestimations de lien are considered obsolete after a given time.e., a node L algorithme discards anduupdate plus court message chemin when de ijkstra it is too old; Routing fundamentals and protocols e no loops. ofon negative commence or zero avec length noeudinsource the network; : il est étiqueté comme permanent et sa distance au noeud source est évidemment nulle. stant t exists est such le noeud that actif i (t); = i t t, where i is the minimum node i to node. If the. following tous les assumptions noeuds adjacents areautrue: that, in case of link cost modifications, noeud the actif sont examinés tour à tour ; i (t) values computed by this d asynchronous (i) Nodes. chaque never version noeud stopof updating the algorithm est étiquetéminimum converge en indiquant distances to the le meilleur and correct chemin transmitting values. connu au noeud and receiving source et la liaison updated à utiliser distance pour values; l atteindre ; (ii) Messages with distance estimations are considered obsolete after a given time algorithm period,. ài.e., chaque a node tour, discards le «noeudan actif» update est celui message qui, parmi when tous it is lestoo noeuds old; étiquetés du réseau, possède tion to the shortest la valeur path la plus computation faible vers le noeud problem source. (iii) There are no loops of negative or zero length is given in theby network; the ijkstra Son étiquette devient permanente ; ssuming again that node is the reference destination node, during the cution then a the time. set instant onv recommence of the t N exists nodes such au point is partitioned that i (t) avec le nouveau into = two i t noeud subsets: t, where actif ; node i is i in is the minimum minimum distance from distance node i to i to node the reference. node has already been computed, et P This = V means. l algorithme P includes that, in case s arrête all nodes of link quand whose cost l étiquette modifications, shortest de noeud path the todestination node i (t) values isest still permanente. computed to by this distributed and asynchronous version of the algorithm converge to the correct values. itions are: P ={}, = 0, j = d j j P. The algorithm works follows: The ijkstra algorithm ne node i P such that i = min j P nother solution to the shortest path computation j and thenproblem set P = ispgiven {i} by the ijkstra Palgorithm. {i}; Parssuming état de lien again that node is the reference destination node, during the algorithm Le déroulement execution the deset l algorithme V of the Ndenodes ijkstra is partitioned Suite into two subsets: node i is in subset P if its minimum distance i to the reference nœud node distance has already been computed, whereas subset P = V P includes allnodes whose shortest par path to node is still to be found. par Initial conditions are: P ={}, = 0, j = d j j P. The algorithm works iteratively as follows: (i) etermine the node i P such that i = min j P j and then set P = P {i} and P = P {i}; nœud distance par par par jkstra algorithm ours «Infrastructure Réseaux» P-F. onnefoi http://libpfb.so/ mars 0 iteratively.. as follows: The If the ijkstra following algorithm assumptions are true: This means that, in case of link cost modifications, the i (t) values compute Par état de lien distributed (i) etermine and asynchronous node i P such that i = j P nother (i) Nodes solution version nevertostop of the theupdating shortest algorithmminimum path converge computation j distances and to the then correct problem set andp v and P = Palgorithm. {i}; updated ssuming distance values; again that node is the reference de Le déroulement de l algorithme de ijkstra algorithm (ii) Messages execution with the distance set V of estimations the N nodes areisconsidered partitionedo.. The ijkstra algorithm in nœud subset period, distance P if its i.e., minimum a node discards distancean i update to themessage referencewhen nodeith nother solution to (iii) whereas thethere shortest 0 par subset are no path P loops = computation Vof negative P includes problem or all zero nodes is length given whose inby theshort net algorithm. ssuming be found. again thatnode is the reference destination node, du algorithm execution then the a Initial set time Vconditions of instant the N t nodes exists are: P is={}, partitioned such that = into i (t) 0, two = j = subsets: i t t d j no j, subset P if its minimum distance iteratively distance from node as follows: i to i the to node reference. node has already been co whereas subset P = This V means P includes that, in all case nodes of whose link cost shortest modifications, path to node the i ( i (i) etermine the node i P such that i = min j P be found. distributed and asynchronous version of the algorithm conve j Initial conditions are: and P ={}, P = P {i}; = 0, j = d j j P. The algorithm iteratively.. as follows: The ijkstra algorithm nœud distance (i) etermine the node i P such that i = min j P nother 0 par solution to the shortest pathcomputation j and then setproblem P = and P = P {i}; algorithm. par ssuming again that node is the reference de algorithm execution the set V of the N nodes is partitioned in subset P if its minimum distance i to the reference node h whereas subset P = V P includes all nodes whose short be found. Initial conditions are: P ={}, = 0, j = d j j Fig.. Example of ijkstra iteratively algorithm as follows: Par état de lien (i) etermine the node i P such that i = min j P j Le déroulement de l algorithme de ijkstra and P = P {i}; Suite nœud distance par par par Fig.. Example par of ijkstra algorithm Fig.. Example of ijkstra algorithm nœud distance par par par par par Fig.. Example of ijkstra algorithm

Par état de lien Le déroulement de l algorithme de ijkstra Suite et fin nœud distance par par par par par par algorithm Par état de lien : autre exemple Soit le réseau suivant : 0 :%&!+/-8&**!*-+*!%&#!N!F!N9!O&/&!'*!(#!&=(+)&P! Example. Link State Routing lgorithm K-#*'.&/! %&! #&-/! '#! '/&! ;E@(! (#.! (**&! %(! '! *&*! %&! )'#! *(&! /-'#! ()-/'%9! (/'#!?/-!%&!'#''()!*(&!?-/!())!#-.&*,!*%-!%-!#-.&!!?'#.*!%&!*%-/&*!+(%*!-!())!-%&/!#-.&*! '#! %&! #&-/9! :%&!?'/&! <&)-! *%-*! %-! #-.&! Q*! )'#;*(&! (.J&/'*&&#! @0! '*! </-(.8(*! Le%/-%!%&!#&-/9! routeur diffuse le LS suivant : s LS broadcast from node Node Seq.# Neighbor I = = ost 0 Tous les routeurs effectuent le même travail et diffusent leur LS : LSP from node Node Seq.# Neighbor I =! = ost 0 LSP from node Node Seq.# Neighbor I = = ost 0 0 0 s LS re-broadcast from s LS re-broadcast from! LSP from node Node Seq.# Neighbor I = = ost LSP from node Node Seq.# Neighbor I = = ost «Par vecteur de distance» vs «par état de liens» le routage «par état de liens» : consomme plus de ressource PU/mémoire sur un routeur ; crée beaucoup de trafic dans le réseau d inter-connexion à cause du «flooding», inondation, des paquets LS de chaque nœuds ; converge plus rapidement lors de la rupture d un lien ; correspond à un travail local sur chaque routeur ; les tables de routage ne contiennent toujours que l adresse de prochain saut et non le chemin complet même s il est connu ; peut souffrir de «boucle de routage» si les routeurs ne travaillent pas tous sur la même carte du réseau (erreur de configuration, travail avec des LS ne tenant pas compte d une rupture de lien). le routage «par vecteur de distance» : moins gourmand en ressource ; implémenté dans pratiquement tous les routeurs ; facile à configurer ; correspond à un travail distribué : le travail de chaque routeur contribue au résultat de l algorithme ; les tables de routage ne contiennent toujours que l adresse de prochain saut ; les messages échangées peuvent devenir gros (beaucoup de préfixe de réseaux à échanger). OSPF, «Open Shortest Path First», RF 8 Le routage est hiérarchisé FIGURE pour. simplifier le calcul des routes : le Système utonome OSPF (S) area est types, découpé showing enthe REs various ways : that areas can be given numbers (decimal, IP address, un area est un ensemble or other). Note de réseaux that Rs contigües connect areas identifié and SRs parhave un links numéro outside sur the bits S or to exprimé other routing en notation réseau ou en protocols. notation décimale : 0.0.. ou rea ; chaque area se comporte comme un réseau indépendant ; deux niveaux de routage OSPF : routing domain, and external routes are often very numerous in an OSPF routing domain attached to the global Internet. If a router is not an R or SR, it is either an intra-area ; internal router and has all of its interfaces within the same area, or a backbone router inter-area. with at least one link to the backbone. However, these terms are not as critical to OSPF configurations as to Rs or SRs. That is, not all backbone routers are Rs or SRs; ours «Infrastructure Réseaux» P-F. onnefoi http://libpfb.so/ backbone routers can also be internal routers, and so on. mars 0 rea (non-backbone non-stub) Inter-S Link rea 0 (backbone) SR R HPTER IGPs: RIP, OSPF, and IS IS 9 R rea. (stub: no SR allowed, default external routes) Non-backbone, Non-stub reas These areas are really smaller versions of the backbone area. There can be links to other routing domains (SRs) and the only real restriction on a non-backbone, non-stub area S SR R rea (total stub area: no SR, only one default route) R SR Inter-S Link rea 0.0.0. (NSS: SR allowed, otherwise same as stub) Inter-S Link, RIP, etc.

Fig.. OSPF. Routing in the Internet 0 S X rea border router Routing area ackbone (rea 0) Example of OSPF topology and router classification S-boundary router ackbone router rea border router Internal router It is different when N routers are attached to the same broadcast network: here each router is a neighbor to every other router, for a total of N(N )/ connections. However, to reduce the overhead generated by the routing information exchange, each router becomes fully adjacent to one neighbor only, which is also responsible for distributing the link state packet describing the network. This particular router is called the designated router (R) and is chosen among the N routers connected to the network through an election process. For reliability purposes, a backup designated router (R) is elected as well. Since link state packets are exchanged only between fully adjacent routers, the election of the R allows the routing protocol overhead to be limited because only N adjacencies are established instead of N(N )/. Moreover, the broadcast nature of the shared medium allows further reduction of the OSPF overhead, since link state packets can be transmitted using a multicast address, meaning that a single packet sent by the R reaches all its adjacent routers simultaneously. When N routers are connected to a point-to-multipoint network through a nonbroadcast medium, two different choices are possible, depending on the lower-layer protocols and configurations used. The first option consists of establishing full adjacency between any pair of routers, emulating the presence of N(N )/ point-to-point connections. The alternative is to emulate the behavior of a broadcast network by electing a R and establishing N full adjacencies with the other routers. OSPF nother OSPF : feature le protocole Ivan Marsic Rutgers University that adds flexibility the router configuration is represented by 0 the possibility for the router administrator to define the cost of each interface based on the most appropriate parameter. 0 This allows 8 the administrator to give preference to paths with OSPF header version checksum type source router address (IPv ) area I authentication OSPF packet payload Figure 8-8: OSPF packet format for IPv addresses.!"#% &'(')% *+,(')% +(-)'.% (/)% 0&% +(-)'% '+)% % ).)% +(-)'.% "8+9)8)#'% ')% :9;;,"#<% ;:%!&=.% >(-%!"#% &'(')% *+,(')% +(-)'% -(//").% (% -;99)-'";#% ;:%!&=.% ;#)% ;+% :?/')/% :/;8% ')"/% ;/"<"#%&)@)/(9%!&=.%8(%)%"#-9?,),%"#%(%."#<9)%+(-)'%)%+(9;(,%:;/8('%:;/%'+)%+(-)'.%".% la découverte du voisinage ;.;#%"#%"<?/)%E%)/)%".%;#)%-;88;#%!&=%)(,)/%:;/%(99%!&=%(,@)/'".)8)#'%'+).F%.;#% "#%')%';+%+(/'%;:%"<?/)%E%)%!&=%(,@)/'".)8)#'%'+)%".%.+)-":"),%"#%')%Type%:")9,F%.))%')% ';+%/;%"#%"<?/)%E% =.%.))#F% ').)% 9"#.'(')% (,@)/'".)8)#'.% G!&=(H% (/)% 8;/)% -;8+9)I% '(#%!&=.%,).-/"),% "#% &)-'";#% JK% :;/% (% (."-% @)/.";#% ;:% 9"#%.'(')% /;?'"#<% )% -;8+9)I"'%,)/"@).% :/;8% ')% 8;/)% -;8+9)I%9"#.'(')%,('((.)%</(+%/)+/).)#'('";#%:;/%0&%G"<?/)%LH%;/%)I(8+9)F%(%/;?')/% /?##"#<%0&%8(%<)#)/(')%9"#.'(')%(,@)/'".)8)#'.%'('%(,@)/'".)%;#)%;/%8;/)%#)';/.%'('% (/)%,"/)-'9%-;##)-'),%';%'".%/;?')/%=%/;?')/%8(%(9.;%(,@)/'".)%(%,"/)-'%+;"#'';%+;"#'%9"#%';% (#;')/%/;?')/% il existe différents types de routeurs suivant leur position : R, «area border router» appartiennent à plusieurs areas (backbone et area normale) et transmettent les informations récapitulatives des «areas» qu ils relient ; SR, «autonomous system boundary router» gèrent les liens avec l extérieur de l S ; S Y intra-area et ceux situés dans le «backbone». il existe types d areas : l area 0 ou 0.0.0.0, «backbone» : si une S se décompose en une seule area, alors elle sera de type 0 ; cette area est la seule à générer la carte de routage utilisée par les autres areas ; le routage inter-area passe par ce «backbone» ; «Stub rea» : ne possède pas de lien vers l extérieur, mais connait des informations de routage sur les autres areas ; «Non-backbone, Non-Stub rea» : similaire en fonctionnement au backbone mais sans l être ; «Total Stub rea» : ne dispose que d un lien vers le «backbone» en tant que route par défaut ; «Not-So-Stubby-rea» : peut posséder un lien vers l extérieur mais le gère en concertation avec les routeurs du backbone ; packet length authentication type «Hello» : envoyés périodiquement (<0minutes). le contrôle de l état du lien ; bytes Le paquet OSPF contient : un identifiant de routeur ; un identifiant d area ; une authentification permettant d éviter de prendre en compte des paquets émis de manière malveillante ; Il existe types différents de paquets :. Hello;. atabase escription;. Link State Request;. Link State Update;. Link State cknowledgment d établir la connectivité et l adjacence avec ce voisinage ; d élire un R, «designated router» et un R, «backup designated router». LS, «Link State dvertisements» : contient l état des liens du routeur et envoyé en «flooding». Lorsqu un routeur reçoit ce type de paquet, il met à jour sa LS, «Link State atabase». Entre deux routeurs adjacents, ils mettent à jour leur database pour vérifier qu il n y a pas de différence en échangeant des paquets «database description». ans le cas où il y en a une il envoie un paquet «link state request». Quand un paquet LS est envoyé le routeur attend un «link state acknowledgment», sinon il le renvoie. Le «R» permet de diminuer l envoi des états de liens : au lieu que chaque routeur transmette à tous l état de ses liens ; seul celui désigné par élection comme R, pour un ensemble de routeurs, envoi l état des liens de cet ensemble à tous les routeurs. OSPF : avantages et inconvénients aractéristiques il est compatible IR et VLSM ; il permet de gérer plusieurs routes pour une même destination selon des critères différents (ex : délai court, débit important ) ; il permet d équilibrer la charge, «load balancing», entre des routes de coûts équivalents ; il peut utiliser le Type of Service (ToS) présent dans les en-têtes des datagrammes suivant classes (RF 9) pour contrôler le routage ; L échange entre les routeurs sont authentifiés et un calcul d intégrité des messages est réalisé. ours «Infrastructure Réseaux» P-F. onnefoi http://libpfb.so/ mars 0 vantages plus de limitation sur la taille des réseaux (diamètre > ). amélioration du temps de convergence métrique plus sophistiquée (prise en compte des débits) Inconvénients plus complexe : nécessite des routeurs plus puissants, sa configuration est également plus complexe. alcul des métriques en fonction du débit suivant les différentes technologie sur bits: cout = Exemple : pour Ethernet à 00Mbit/s le coût est de 0. OSPF : exemple Sur l exemple l S u utilise OSPF comme IGP : OSPF représente un réseau comme un graphe orienté dans le LS : les sommets correspondent à un routeur ou à un réseau ; une arête du graphe : reliant deux routeurs correspond à : un lien «point à point» physique entre deux routeurs ; un accès à un réseau de transit en mode diffusion auquel ces routeurs sont tous deux connectés ; reliant un routeur à un réseau indique que le routeur dispose d une interface connectée au réseau ; un réseau peut être : de «transit» : indiqué par une flèche entrante et une flèche sortante ; un «stub» : indiqué par une seule flèche entrante. un routeur connecté vers une autre S est un «speaker» routeur. 0 9 u u u u u u u u u u u u u u u u u u Ivan Marsic Rutgers University 8 FG N FG H N Sα N N!"#% &'(&')'*+)% *'+,-&.% +-(-/-0% )% % directed graph% *% '(/'% )% )8-,*% *% 09&'% :;<=%,8'&'%9+-*--9)%))+'%"α%)%&9***0%!"#%)%+)%*+'&-&%0+',%(&-+->-/%?8'%@'&+>')%-% +8'%/*.;)++'%+)'%0&(8%&'(&')'*+%routers%*%networks%%0&(8%'0'%>-**'>+)%+,-%&-9+'&)%,8'*% +8'% &'% ++>8'% @% % (8)>/% (-*+;+-;(-*+% /*.% *% '0'% >-**'>+*0% % &-9+'&% +-% % *'+,-&.%*>+')%+8+%+8'%&-9+'&%8)%*%*+'&>'%-*%+8'%*'+,-&.%'+,-&.)%>*%'%'+8'&%transit% -&% stub%*'+,-&.)%transit network% )% >(/'% -% >&&*0% +% +&>% +8+% )% -&0*+'% *% ')+*'% '+'&*//% +-% +8)% *'+,-&.% % +&*)+% *'+,-&.% )% &'(&')'*+'% % % @'&+'% 8@*0% -+8% *>-*0%*%-9+0-*0%'0')%%)+9%*'+,-&.E)%@'&+'%8)%-*/%*>-*0%'0')%-&%'(/'=%*% 09&'%:;<FG=%NH%)%%+&*)+%*'+,-&.%*%NI%)%%)+9%*'+,-&.%?8'%((*0%)%)%-//-,)J% 8 8 H H Sβ N Figure 8-: (a) Example of an autonomous system running OSPF. (b) irected graph representation of the same S. Notice that link costs may be asymmetric for both directions. N

GP, «order gateway Protocol», RF c est un protocole par «vecteur de chemin», «path vector routing» ; il utilise TP et le port 9 ; il assure le routage entre S, en répondant à ces questions : Quelle information de routage doit être diffusée aux autres S? omment traiter les informations reçues depuis les autres S? Quelle information doit être rediffusée parmi les informations reçues? omment une S peut disposer d une vue d Internet partagée par tous ses routeurs de telle manière à ce qu ils prennent la même décision de routage? omment décider de diffuser ou non la possibilité de joindre d autres S voisines et de courir le risque de relayer du trafic sans obtenir de contrepartie? il est complexe : dans l implémentation dans les «GP speakers», les routeurs de bordure, des contraintes «business» pour la construction des chemins de routage ; pour l apprentissage des routes extérieures par les routeurs internes à l S. il met à jour de manière incrémentale les entrées de sa table de routage : il n y a pas d échange périodique comme avec les IGPs tels que RIP ou OSPF ; seules les modifications sont transmises ; une connexion TP est maintenue avec chaque autre routeur GP, «GP session» : une connexion reliant deux «speakers» routeurs appartenant à deux S différentes ; une connexion TP entre deux «speakers» routeurs de la même S pour réaliser du «internal peering» (on parlera de «GP peers»). GP, «order gateway Protocol» S α E G F S δ L K N M H O Key: S β J I S ε P Q Link-layer connection egp TP session igp TP session les sessions externes : «egp» ; les sessions internes : «igp» (besoin de u (u ) connexions TP). GP, «order gateway Protocol» Les messages échangés : «UPTE» : «announcement» : informe des destinations atteignables, puis des destinations qui ont changé (mise à jour incrémentale) ; «withdrawal» : supprime des destinations. une route transmise au format IR est appelée NRLI, «Network Layer Reachability Information» : préfixe de la destination ; taille du préfixe ; chemin des S à traverser ; adresse de prochain saut ; des informations additionnelles pour décider de l «import policy». les informations de routage transmises ne sont Ivan Marsic pas la copie Rutgers directe University des informations disponibles mais celles filtrées par l «export policy» ; les informations de routage reçues sont filtrées Table suivant 8-: Priority l «import of rules by policy» which GP qui définissent speaker selects les routes règles from demultiple préférences. choices. es règles de préférences ne sont pas Priority Rule omments diffusées en dehors de l S (par egp) mais sont partagées à l intérieur de l S (igp), elles sont définies à l aide % LOL_PREF% R;+;%LOL_PREF%/("-,-"/%&"%'.9".%',%(.","."!"%)/% 0/'".%^%("".%^%(.'-9".% <,%'."%&)!%'!"%.'0"%.")-!/%),".%&-/%/"(%+'%'%&"%!"#%/"(;% d attributs définis dans la table Q% S_PTH% U"*"%/&'."/%S_PTH%*"!+&%-;";%&"%*-/%-&%&"%/)**"/%!0@".%',%SU_/%not%/)**"/%!0@".%',%&'(/%'.%*'"/%9"*)`8% % ME% U"*"%&"%.'0"%-&%&"%*'"/%MULTI_EXIT_IS%)*0"%-,% &"."%-/%,-!)!-)*%-!"!-"%-!'*"9;% X% <=?%()&% U"*"%&"%.'0"%,'.%&-&%&"%NEXT_HOP%).-@0"%,'.%&-&%&"% '/%-!%&"%<=?%.'0-!+%)@*"%-/%*'"/%-;";%0/"%&'(')'%.'0-!+;% a% "b=?%^%-b=?% U"*"%&"%.'0"%&-&%-/%*").!"9%,.'%"b=?%'".%&"%'!"%*").!"9% @%-b=?%-;";%(.",".%&"%.'0"%*").!"9%,-./%&)!98% :% '0".%<T% U"*"%&"%b=?%.'0".%-&%&"%/)**"/%<?%)99."//%)/%&"%!"#%&'(;%!"#%&'(%)*'!+%&"%,-./%.'0"%&)%""/%&"%.-".-)%',%&"%*'+-)*%.0*"%/).-!+%-&%&"%&-+&"/% (.-'.-%8%)!9%+'-!+%9'!%'%&"%*'"/%(.-'.-%:8;% ours «Infrastructure Réseaux» P-F. onnefoi http://libpfb.so/ mars 0 8.. Multicast Routing Protocols Multicast Group Management GP, «order gateway Protocol» Exemple de messages de type «UPTE» échangés Subnet Prefix = 8..0.0/ S φ Sδ GP routing table: Prefix Path 9..9. Next Hop 8..0.0/ {Sδφ} 9..9. K s IGP routing table: estination ost Next Hop 8..0.0/ 0 + K s GP UPTE Prefix Prefix = 8./ 8./ S_PTH S_PTH = {Sφ} NEXT_HOP NEXT_HOP = 9..9. 9..9. 9..9. Prefix K K s forwarding table: Next Hop 8..0.0/ 9..9. S δ M L 9..0. N 9... Prefix 9... UPTE N s forwarding table: Next Hop 8..0.0/ 9..0. O s forwarding table: Prefix 8..0.0/ 9... O Next Hop Prefix = 8./ S_PTH = {S { Sδ, Sφ} NEXT_HOP = 9... S ε Sδ GP routing table + N s IGP routing table: estination ost Next Hop 8..0.0/ Router M Router K Router M tous les «speakers» routeurs de l S u, K & N, possèdent la même table de routage GP, appelée «Sδ GP routing table» (cette table est échangée par igp) ; chaque routeur dispose de sa table de routage propre, appelée «forwarding table» et construite à partir d un IGP ; chaque routeur associe ces deux tables pour décider de son routage inter et intra domaine.

Faire le point ifférences entre les EGP, comme GP, et les IGP, comme OSPF? La différence n est pas technique mais elle est administrative : les IGP sont utilisés dans une organisation (entreprise, FI, association, etc.) où les décisions (ajout ou suppression de ligne) peuvent être prises par une autorité unique ; les IGP cherchent à déterminer la route la plus efficace en faisant confiance aux autres routeurs ; les EGP sont utilisés entre organisations distinctes, et parfois même concurrentes : il n est pas possible de prendre une décision qui s impose à tous (on peut ne pas être prévenu des modifications des «pairs» avec lesquels on utilise l EGP) ; les EGP ne font pas confiance aux autres routeurs : le but n est pas de trouver la meilleure route, mais d empêcher les routeurs de choisir une route dont on ne voudrait pas ; Techniquement, il n est pas possible dans un IGP comme OSPF d exprimer que l on ne veuille pas communiquer avec un routeur (on peut juste exprimer que l on veut communiquer avec un routeur, il faut disposer de moyen de faire du filtrage. Intégration IGP/EGP : Learn from IGP protocol that destination x external to own S is reachable via multiple speakers. Use info from IGP routing tables to determine least-cost paths to each of the speakers. Hot-potato routing: hoose the speaker with the lowest leastcost. etermine the interface O that leads to the least-cost speaker. Enter (x,o) in forwarding table Linux comme routeur : RIP, OSPF, GP On a vu que GNU/Linux, dans son noyau permet de router, «forwarding», les datagrammes entre différentes interfaces. Il est possible de le tansformer en routeur complet, en utilisant des implémentations open-source des protocoles de routage fournies par XORP ou Quagga. Utilisation de Quagga Quagga0 implémenterouting les protocoles fundamentals RIPv, RIPv, and protocols RIPng, OSPF, GP, OSPF et IS-IS au travers de différents démons spécialisés dans la réalisation de chacun de ces protocoles. fin de coordonner les informations de routage utilisées et obtenues au travers des différents protocoles, un démon appelé «zebra» est utilisé : ripd ospfd zebra kernel bgpd Zebra sert Fig. également.8 rchitecture d interface pour of thelaquagga configuration software des routing différents suiteprotocoles, en particulier pour définir les routes statiques. Quagga Pour utiliser quagga, il est nécessaire de l installer : sudo apt-get install quagga Pour l activer, il faut éditer le fichier «/etc/quagga/daemons» : sudo vi /etc/quagga/daemons Et modifier les lignes pour activer les démons «zebra» et «ripd» : zebra=yes bgpd=no ospfd=no ospfd=no ripd=yes ripngd=no isisd=no opier les fichiers de configuration : #cp /usr/share/doc/quagga/examples/zebra.conf.sample /etc/quagga/zebra.conf #cp /usr/share/doc/quagga/examples/ripd.conf.sample /etc/quagga/ripd.conf Pour ensuite relancer Quagga : sudo /etc/init.d/quagga restart ans le répertoire /var/run/quagga sont créés des fichiers temporaires indiquant les PIs des différents démons. 9.8.0. eth0 eth eth eth0..0.8 0.0.0./0 eth0 eth0 eth eth Pour configurer le routeur, vous pouvez eth utiliser la commande vtysh : eth 9.8.0.0/..0.0/ pef@pef-desktop: sudo vtysh eth eth eth0 eth0 Hello, this is Quagga (version 0.99.). opyright 99-00 Kunihiro Ishiguro, et al. 0.../0 E F Quagga : configuration du routeur ours «Infrastructure Réseaux» P-F. onnefoi http://libpfb.so/ mars 0 0.0.0.8/0 0...8/0 E F 0.0.0. 0... 0...8 0... 0...0 0... 0.0.0./0 0.../0 pef-desktop# configure terminal pef-desktop(config)# router rip pef-desktop(config-router)# network Router 0.0.0.0/8 eth0 pef-desktop(config-router)# exit eth eth pef-desktop(config)# exit 0.0.0.9 0...9 9.8.0. pef-desktop# show ip rip La commande network permet d indiquer sur 0.0.0.0 quelle réseau0.0.0. le routeur va utiliser N/ son protocole de routage et diffuser ses requêtes/réponses, ici0.0.0. 0.0.0.0/8. 0.0.0.8 N/ Fig..9 The network case study and the related IP address plan..0. forwarding function must be enabled in the kernel of all the six Linux routers with the sysctl command: N/ N/ [root@router ]# sysctl -w net.ipv.ip_forward= net.ipv.ip_forward =

')"&'#%/+%)#&'#)%-?/&'#%+F+,;#%/',00#%0++;#%'%-#.,"!-/,%)#-,.0"&'#<%=#+!.+!.# 0(#?>?>(# EF:# =G<H@:#(+,I# ('+# &.&)&(#!")#!.+)/%()# %('# &?>.('# 0( +#++"0+%#%.0',/#%!89%+(,/)"++#,%!"#%)#%.0,0-0)#%G9+#-<%=0.+%#%)(/0-#%('# )!"+(',#J">.0#".#)!"+(")#&(+#".#>;"(+#K9#!.+(.>.+#0('#0!..&('#89:#".(#()(.+( ('+#>%"%&(#(+#.'&)&(#0>.'#%(#>;"(+#L-9:#"'#&)!&(#>)#%M>"+)(#)!"+(")#89:#!(.0',#:%-?/&'#%+F+,;#%/',00#%."!#%)#%-?#"%"+%#,%+"#%>%+0%,0'.%/#-%+/%-) %M%%"'+)(#%>#!")(#NN,O,."#%)#%-?#"%+(")%0",%)(/0-#.%>%'%/',.#%+F+,;#%/',00#:%-0#%)("))'+,.#%)/ Sécurité et GP : contrôle de l authentification des routes échangées!'.#%hh<hh%)#+%+"/,'.#+%+(#")#,%-0#%)#+%-0'-?#+%('%0"0e< ère méthode : /&+%( vec des certificats et des biclés asymétriques : a. les deux routeurs!"#%&'()*+)%"+,-().,%)'(/) partagent un secret X ; b. dans la communication /(0%(/).,%,-/ /&+%( GP en TP GP GP GP Réseau Réseau entre les deux routeurs : %&'()*+,-.,(%.'#/+,0#(, + Sign_(,) + Sign_(, Sign_(,)) + Sign_(, Sign_(, Sign_(,))) S Path : S() S Path : S(), S() Path : S(), S(), S() un hash est calculé sur les données *#.'+&'"!#'"%&, de routage échangées combiné avec Session de routage!"#%&'#()*%)+,)-%.'#()*/)"0.%,/ Réseau Réseau Réseau Réseau egp le secret partagé X (M, SH-x S() S() S() S() HPITRE etc.) ; Routeur (secret X) Routeur (secret X) ce hash est transmis avec les données TP GP TP Empreinte(champs, X)!"#"%&'(&)#*%+*),&-(,&.,/&/,//*0%/&',&#0(",&!&,%#,&',(&#0(,(#/&/0%&%#"., à l autre routeur ; TP + TP + le routeur qui reçoit,%&'*#,+,/8&.,/&)"-(,/&9!&+0%,%"%&',/&*%:0#"*0%/&',&#0(",&!&*/&)"#&(% =/%#'*";#%"","/,"#%#*)0",#%)#%/",%&'#%)#%)0"##,%('%+F+,;#%>%-)%')"&'# haque routeur signe le chemin auquel il s ajoute lors de la traversée des!"#%&'#()*%)+,)-%.'#()*/)"0.%,/ différentes S ; les données empreinte(champs, X) GP empreinte(champs, X) GP ompare les empreintes. Le routeur final peut vérifier que le chemin proposé passe bien par des routeurs authentifiés. HPITRE peut recalculer l empreinte #0(,(#&'0*;,%&"##*;,#&<&.="(#,&#0(,(#&";,+&(%&>>?&@&>>?&&&!"#%&!'(%)&**+,-+ et vérifier l utilisation du secret partagé. #% I'.#% a. L S./"#% ('%,#)% +F+,;#<% J%="+,#% /% K?"+#.%L%.00+#% 0,/#,% '# /0',%/'*%"/-,+%-.F,0./?"&'#+%+'.%)#+%.0-#++#'.+%#+%.0',#'.+%)"",#,%'#%"+# vec des chaîne de hachés : ème méthode : '-/"%) -(++(#()(.+(#('+#>%"%&(#P#>)+)#0(#%>#%&#'()*+(#(+#0(#?>'#!.'+>.+'#;"#.M!.+#>' et l S '-/"%) partage un secret GP + h(x) GP + h(h(x)) GP + h(h(h(x))),?0#% X ; #% -0,.M)#% #+% /0-#+% #%.0',#+% )"",/,% /'% ""'% )#+% "/-,+% +'.% )# a. on mets le TTL.#/0%)&(&%#(0')&%&)& des paquets &+&#!0!&'#>)#%(#)!(''"'#0M>?(.((.+#0"#>;"(+:#.!+>(.+#%('#'">.+'#Q *+,-!.%/&0&!+-/&!& S() S(),S() S(),S(),S() à (valeur,#+% b..0-#++#'.% une empreinte %-)/,-!-+,&8)"/! e#+% 0 =.0',#'.+<% h(x) est cal-=("#culée par S ; S() S() -0+"+,#% >% 0'.".% '% -/"+#% #.#,,/,% # Réseau Réseau max) ; 8 R >0)(''(#K9#'!")(#S."!#.%)/%-0+"+,/-#%#+%/0-#+%#%.0',#+<%9/.%#*#)#:%>%)/%!'.#%HH<HN:%)(OP#E b. on vérifie à la réception qu ils sont arrivés directement du routeur Réseau Réseau R et >0)(''(#K9#0('+.>+!.#S S.#Q0",%#'*%/0-#+%#%.0',#+%/.%#'*%-?#"+%".#,+< c. une nouvelle empreinte e u = non d une S h(e u ) est calculée par chaque Réseau S() autre origine : si le paquet R venait (.H++(#L-9#'>.'#%('#!+!.'#>(#".#?(T'"#P#U#S d un Réseau S() =0.+%#%)("","/)"+/,"0%#%)(/0-#%('#%.0',#:%)(OP/E%;.#%'%+#-.#,%R%#,%',")"+#%'# routeur de rang n sur l ancienne secret = X GP + h(x) GP + h(h(x)) autre routeur alors il aurait un TTL inférieur à (passage par un routeur sup- S() Session de routage S() S(),S() R 0!..&('#0"#'((.+#L-9#S egp 0-,"0%#%?/-?/#%0'.%/0',#.%'#%#.#",#%>%+#+%/0-#+%#%.0',#+<%S?/&'#%OP empreinte reçue ; Réseau Routeur Routeur plémentaire). R '()(+#>)+>&#!"#%&#'()*+(#0'+)V"&#>)#".#>.>%#'&")'&I, Sécurité et GP : Sécuriser les sessions extérieures de GP : egp IP + TP GP TP GP WM()(.+(#('+#.'&)&(#0>.'#%(#?>#X+!.'#0"#>;"(+#L-9:#()(++>.+#0(#(++)(#(. TTL = TTL = ")(#".#&>.'(#0(#!.+)/%(#0M".(#'(''!.#0(#)!"+>(#89,#Y.#)(>.?(:#(%%(#.( Vérification du TTL >= ()(+#>'#0M>"+?(.+!()#%(#?(.#)'#>)#".(#)!"+(#.#%M!).(#0(#%>#)!"+(, 0,&(%,&"%%0%+,&',&#0(,/&,%#,&',(&#0(,(#/&+0##,/)0%'&+"-(,&:0*/&<&(%&%0(;,"( W('#0&)(.+'#'()(+'#>)+>&'#()(++(.+#>"''#0(#)&()#0('#)!"('#0'+.+'#!"#&)*H )"-(,&9!8&.,&>>?&'(&)"-(,&9!&*/&,/&)"#&':"(&".&<&EFFG&H*&.="(#,&#0(,(#&#,I0*&',/ +)('#0(#'&")+&#(.+)(#%('#'(''!.'#89#(+#%('#0()'('#'(''!.'#(89, Routage & Linux "%%0%+,/&',&#0(,/&"J"%&(%&>>?&-(*&%=,/&)"/&".&<&EFK8&*.&),(&,%&+0%+.(#,&-(,&+,&%=,/ ontrôle par les TTL )"/&.,&#0(,(#&";,+&.,-(,.&*.&"&(%,&/,//*0%&',&#0(",&-(*&"&*/&+,,&"%%0%+,G éfinition du routage traditionnel Z.(#>"+)(#&+?!0(#!")#!.+)/%()#".(#'(''!.#0(#)!"+>(#89#!.''+(#P#(++)(#(.#%>( sur un routeur,& +0%#L.,& ".#!.+)/%(#0"#LLW#L(#L!#W(I#!.+(."#0>.'#%('#>;"(+'#K9#&?>.&'#>)#%>#'(''!. ),#,& ',&,#,&,%& M(;#,& (%& +"%*/,& ',& +0%#L.,& '=(%,& /,//*0%& ', Le routage #0(",& 0(#)!"+>(#89,#-(#!.+)/%(#0!+#+)(#'#(.#")(#(.#)!)+&#'")#%('#'(''!.'#(89:#;" est!g& unn%& processus #,;"%+,8& *.& piloté %,& ),#,& suivant )"/& ).(/& la destination. -(,&.,& )#+',%& '="(,%*!,#&., +,*%&"%%0%+&)"#&(%,&#0(,&%*&.=0#**%,&',&."&#0(,G!!)+(.+#%(#%"'#0(#)';"('#!")#".#<=, e processus se décompose de la façon suivante : a. haque paquet qui entre dans un routeur est inspecté pour déterminé l adresse IP de destination ; ontrôle des annonces de routes egp b. À partir de cette adresse destination, le routeur consulte sa table de table de routage pour savoir où envoyer le?,/&"%%0%+,/&',&#0(,/&),(;,%&o#,&/0(*/,/&<&(%,&#,..,&)0.**-(,&',&#0(",&'!%*, paquet ; )"#&.="'*%*/#",(#&'=(%&/J/P,&"(0%0,&Q0)#",(#&',&.+0(%*+"*0%/RG&,, c. Le seul élément important )0.**-(,&),(&<&."&:0*/&/=")).*-(,#&"(&"%%0%+,/&',&#0(,/&*/,/&;,#/&(%&/J/P,&"(0 pour le routeur est l adresse de destination ; %0,& Q#0(,/& #"%/*/,/& <&.=*%#*,(#& '=(%&SHR&,& "(& "%%0%+,/& ',& #0(,/& -(=,&., d. Si elle n est pas présente dans la table de routage, le routeur utilise la route par défaut ; /J/P,& "(0%0,& Q#0(,/& */,/& <&.=,#*,(#& '=(%& SHR8& +0,&.=*..(/#,&." e. S il n existe pas de «!(#,&GTG route par défaut», le paquet est détruit et un message IMP d erreur est renvoyé à l émetteur du paquet. L outil pour connaître les,,&)0.**-(,&',&#0(",&'!%*&',/&#p.,/&',&+0%#l.,&0(&',&!.#",&:0%',/&%0",% adresses et routes : la commande «ip» /(#&.,/&.,%/&/(*;"%/&U pef@cerberus:~ ip address show dev eth0 V?*/,/&',&!.#",&"//0+*,/&"(&;".,(#/&',/&/J/P,/&"(0%0,/G&!"#&,,).,8&,.., #0(,&%,&),(&O#,&"%%0%+,&-(,&)"#&."&.*/,&',/&/J/P,/&"(0%0,/&/(*;"%/G : eth0: <ROST,MULTIST,UP,LOWER_UP> mtu 00 qdisc pfifo_fast state UP qlen 000 link/ether 00:0c:9:a:08:9 brd ff:ff:ff:ff:ff:ff inet 9.8../ brd 9.8.. scope global eth0 V?*/,/& ',&!.#",& "//0+*,/& "(& )#!,/& "%%0%+/& 0(& */G&!"#&,,).,8& +,#"*%/ )#!,/&%,&'0*;,%&)"/&O#,&"%%0%+/&QWX&YZRG inet fe80::0c:9ff:fea:89/ scope link valid_lft forever preferred_lft forever pef@cerberus:~ ip route list dev eth0 default via 9.8.. V 0%#L.,/&',&.=*%/"[*.*&',/&#0(,/G&!"#&,,).,8&/*&(%&)#!,&:"*&.=0[\,&',&*/,/&< \0(#& *%+,//"%,/8& *.& ),(& O#,& */&,%& -("#"%"*%,& "!%& ',& )#0,#&.,& )#0+,//(/& ', #0(",&!G 9.8..0/ proto kernel scope link src 9.8.. IP + d. S!"#%"&'()'*+"%(,*%(*-,%..%(%/0"%*!%(-*'%(&,"(.%/0"%*!%(0"''%*!%((.89%: peut vérifier la longueur k des deux chemins reçus en calculant h u (X) et en comparant à l empreinte reçue pour chacun de ces chemins "%;-!(%,<(#**-*%&(%("-,!%&(!(%!("#(%(.-*),%,"&("%&0%!%&((%!(%&9"%0"'&%*!#*!(.% (la chaîne de haché est de longueur k et X ne peut être retrouvé). *-/="%(8(!"#%"&'&>((?(.:(%!(%/0"%*!%&('! (%!(( " #(.(0%,!('"!%"(.#(-*&&!#*%(%(.# "-,!%(%*("'#.&#*!(.%(#.,.() (@(. 9' " :(('! ( %!!%( &-.,!-*( */0#!%(,%( #=.%/%*!(.%&(!%/0&( 0"-%&&%,"( %&( "-,!%,"&>( %..%( *% 0%"/%!(0#&(#,!%*!!%"(%(/#*+"%(&"%(.-")*%(,*%("-,!% Le «Policy Routing», ou le routage suivant la source La métaphore du routage E#(!"-&+/%(*!#!%>(-FGH(9%,"%(-")*(FGH:>('/#*#*!(%(I&->(%,!("'0-*"% #,<(/J/%&(=%&-*&(%(&',"!'(,%(.#(&-.,!-*(&FGH>(/#&(#%(,*%(#00"-%('"%*!%> Imaginons que vous,(*'%&&!%(%('0.-k%"(,*%(*-,%..%(-,%(%(&%"%,"&(0-,"(-*!"l.%"(.%&(%"!!#!&(%! quittiez votre maison pour prendre la route : vous avez le choix entre aller à gauche ou à droite.%&(%/*&(#&&-'&(#,<("-,!%& suivant la destination à laquelle vous voulez vous rendre. Peut-être, devez vous d abord rejoindre l autoroute M*!*>(.*!#!%( avantnop( de décider, 9N*!%"-/#*( ce qui O-,!*)(P#.#!-*:( s assimile à utiliser -*&&!%( la «route Q( *%( 0#&( par/-!%"( défaut»..% 0"-!--.%(FGH(%!(Q(0"-0-&%"(,*%(#"!%!,"%(%(&%"%,"&(&0'!,%(0%"/%!!#*!(%(#.R %"(.%&(*-"/#!-*&(%("-,!#)%(*!%"-/#*%(-"&(=#*% Sur l autoroute, vous avez le choix de prendre une voie normale ou bien celle pour les véhicules lents. Suivant la nature de M*('0!(%(!-,!%&(%&(*!#!%&>(#,,*%&(%(%&(&-.,!-*&(*%&!(#!,%..%/%*!(/&%(%*(S,"% votre véhicule vous êtes amené à faire un choix supplémentaire par rapport à celui de votre destination : -+%.)*%).0&/"'0)8#/")+9,"&:'%&/"%)*%)"#/,-%);<! e choix supplémentaire est fait sui- Les règles de sécurité à considérer pour l architecture de routage GP sont les suivantes : L architecture de routage est clairement documentée et justifiée. ela recouvre le découpage en différents systèmes et sous-systèmes autonomes. vant la nature de la source. La topologie de routage est décrite dans les documents de l ingénierie. Les échanges de tables de routage lors d une session GP sont authentifiés. La commande suivante : en camion, je prendrais la voie pour véhicule lent ; en voiture, la voie normale!"#%&'()*#+,-..("//)0)+""(,('+,!-")+-//'(.)/(#! permet de définir un mot de passe pour une session GP. Les échanges de tables de routage lors d une session GP sont authentifiés. La commande suivante : En réseau, on parle de «Policy Routing», où l on prend en compte l adresse source, le protocole IP, le TOS, le protocole de transport utilisé, ou même le contenu du paquet!"#%&'()#+,-..("//)!!"#%&'()!*+,-.+%'+,'!) permet de définir un contrôle GP fondé sur le TTL. Un filtrage sur les numéros de systèmes autonomes est défini et mis en place pour les interconnexions avec les autres opérateurs réseau ou fournisseurs de services réseau. e filtrage couvre les échanges de routes du réseau vers l extérieur (filtre out) et de l extérieur vers le réseau (filtre in). ours «Infrastructure Réseaux» P-F. onnefoi http://libpfb.so/ mars 0

Routage & Linux : le «Policy Routing» La notion de «Policy Routing» Un «policy» est un ensemble de règles de prescriptions ou d interdictions, ainsi que d actions qui servent à mettre en place un «but» défini comme «souhaitable». omme but «souhaitable», on peut citer : la QoS, c-à-d router suivant la nature du trafic en l associant à des protocoles : TOS (Type of Service), ou ifferentiated Service (iffserv) ; la répartition et la séparation de trafic à des buts d équilibrage de charge ou de sécurité ; la décision de router un datagramme suivant son adresse d origine ; le blocage de trafic. «Policy Routing» «Routing Policy» le «Policy Routing» s applique sur les mécanismes réseau qui réalisent le routage ; le «Routing Policy» est administratif et impose des contraintes sur le fonctionnement du réseau ; les deux sont imbriqués, mais doivent être gérés séparéments ; le «routing policy» sert à mettre en œuvre : la «security policy» ; le «network policy» ; le «routing policy», aussi! omment s en sortir? onnaître : la nature du trafic : UP ou TP? la portée ou «scope» des opérations réseaux. Le «Policy Routing» : la «triade» des fondamentaux Les éléments fondamentaux dresse : définit la localisation d un service ; Route : définit la localisation de l adresse ; Règle : définit la localisation de la route. L adresse Exemple : un serveur Web en IPv : pour se connecter dessus : on entre son URL dans un navigateur ; une résolution de nom est réalisé au travers d un serveur NS pour connaître l adresse IPv associé ; on demande alors le service http accessible à cette adresse ; Quel rapport entre cette adresse et l adresse physique de la machine hébergeant le serveur Web? ucun! l adresse sert de «pointeur» pour le navigateur pour lui permettre de trouver le contenu voulu. u point de vue de la «Policy Routing», l adresse d origine et aussi importante que celle de destination, ainsi que l intégralité du paquet : cela définiera la route à emprunter, empêchera l utilisation d une adresse IP non autorisée (IP spoofing), etc. Notion de portée ou «scope» d une adresse : le préfixe IR de l adresse du préfixe IR du réseau ; si un réseau est défini par 9.8..0/, et que l on utilise l adresse 9.8../ : pas de problème ; l adresse 9.8../ peut également être utilisée : le réseau ne s occupe pas de savoir quelle est la portée de l adresse utilisée du moment que la machine obéit aux règles de routage du réseau et utilise la bonne adresse de diffusion associée au réseau ; l «adresse de diffusion», broadcast, peut être différente de la portée de l adresse! la portée ou «scope» sert à associer l adresse à un regroupement, qui, à son tout, définit la route à utiliser. Le «Policy Routing» : la «triade» des fondamentaux Les éléments fondamentaux dresse : définit la localisation d un service ; Route : définit la localisation de l adresse ; Règle : définit la localisation de la route. La route La route définit la méthode de «forwarding» ou relayage, pour aller vers l adresse de destination. La «Policy routing» permet : de sélectionner une route différemment mais une fois la route obtenue, elle est utilisée de la même façon qu avant ; de définir d autres destinations, en plus de celle traditionnelle de l adresse d un routeur : spécifier une option de «rejet», reject ; ette option est similaire à un «lookup failure» et retourne un message d erreur IMP de type et code 0 «network unreachable». spécifier une option de d «interdit», denied ; Il est possible de renvoyer un message IMP d erreur ou bien de «jeter», drop, le paquet. réaliser du NT en version «one-to-one». ette version est plus rapide que celle proposée par NetFilter, elle est appelée «FastNat» mais elle n utilise pas de «onnexion Tracking» et se réduit à du NT «one-to-one». La règle ou rule La règle permet de mettre en œuvre une sorte d «L», ccess ontrol List, pour les routes : elle permet de : définir les filtres pour l appariement de paquet, packet matching, la route à utiliser lorsqu il y a correspondance entre un paquet et un filtre de sélection. La règle permet, entre autre, de sélectionner une route suivant l origine du paquet. Pour pouvoir tirer parti au maximum des possibilités des règles, il faut disposer de plusieurs tables de routage. Routage & Linux La «Routing Policy atabase» ou «RP» Les entrées de la table de routage : indiquent des chemins vers les autres réseaux ; sont, chacunes, constituées de : un préfixe, c-à-d une adresse réseau et la taille de l identifiant réseau (notation IR xx.xx.xx.xx/yy) ; le TOS associé (information optionnelle) ; une valeur de préférence ; une interface de sortie ; l adresse du routeur de prochain saut, «next hop». La correspondance, «matching», entre un paquet et une entrée de la table de routage : l adresse de destination du paquet correspond au préfixe réseau indiqué dans l entrée ; le TOS de la route est zéro ou égal à celui du paquet. Lorsque plusieurs routes correspondent aux paquets, la sélection, «lookup», se fait de la manière suivante :. les routes de plus long préfixe correspondant sont sélectionnées, les autres sont ignorées ;. parmi les routes restantes : les routes ne possédant pas le même TOS sont ignorées ; si aucune(s) route(s) possédantt le même TOS n ont été trouvés, et qu il existe des routes avec un TOS= 0 alors ces routes sont choisies et les autres ignorées ; sinon échec du «lookup». S il reste plusieurs routes après le filtrage précédent, on choisit la route avec la valeura de préférence la plus élevée (il ne devrait rester plus qu une route par définition). ours «Infrastructure Réseaux» P-F. onnefoi http://libpfb.so/ mars 0 8

La «Routing Policy atabase» Les différents types de routes unicast : destination directe désignée par un préfixe ; unreachable : destinations inacessibles, les paquets détruits et un paquet IMP «host unreachable» est renvoyé ; blackhole : destinations inacessibles et les paquets sont détruits sans avertissement ; prohibit : destinations inacessibles, les paquets détruits et un paquet IMP «communication administratively prohibited» est renvoyé ; local : destinations associés à l hôte lui-même : les paquets seront en «loop back» et remis en local ; broadcast : destinations correspondant à des adresses de diffusion ; throw : le «lookup» échoue, signifiant qu il n existe pas de route. Sans règle supplémentaire un message IMP «network unreachable» est renvoyé. nat : route spéciale capable de réaliser du NT avec l attribut «via» ; anycast : similaire à local avec une restriction : l @IP source du paquet ne peut appartenir à ces adresses ; multicast : pour du routage multicast. Les différentes tables Les tables sont identifiée : par un numéro compris entre et ; par un nom dans le fichier /etc/iproute/rt_tables ; L utilisation de plusieurs tables permet de faire du «Policy Routing», c-à-d suivant la nature de la source. Par défaut, toute les routes normales sont insérées dans la table «main», «I». Il existe aussi une table invisible, la table «local», «I», qui contient les routes pour les adresses locales et de broadcast associées. Elle est maintenue automatiquement par le noyau. La «Routing Policy atabase» La «Routing Policy atabase» Le noyau Linux permet de définir plusieurs tables de routage afin d adapter le routage à différents besoins et usages : il existe différentes tables de routage prédéfinies, comme les tables local & main : rezo@ishtar:~ ip route list table local broadcast.0.0.0 dev lo proto kernel scope link src.0.0. local.0.0.0/8 dev lo proto kernel scope host src.0.0. local.0.0. dev lo proto kernel scope host src.0.0. broadcast... dev lo proto kernel scope link src.0.0. broadcast 9.8..0 dev eth0 proto kernel scope link src 9.8..0 local 9.8..0 dev eth0 proto kernel scope host src 9.8..0 broadcast 9.8.. dev eth0 proto kernel scope link src 9.8..0 rezo@ishtar:~ ip route list table main default via 9.8.. dev eth0 metric 00 9.8..0/ dev eth0 proto kernel scope link src 9.8..0 rezo@ishtar:~ ip route default via 9.8.. dev eth0 metric 00 9.8..0/ dev eth0 proto kernel scope link src 9.8..0 La table modifiée par la commande ip route est, par défaut, celles appelées main. La «Routing Policy atabase» L ajout de route avec la commande «ip route add» Les arguments de cette commande : to PREFIX, to TYPE PREFIX : permet de définir la destination. Sans Indication de TYPE, le type «unicast» est utilisé ; tos TOS ou dsfield TOS : permet d indiqué le TOS ou le dsfield ; metric NUMER ou preference NUMER : la valeur de préférence exprimée sur bits ; table TLEI : la table à laquelle ajouter la route. Sans indication, c est la table «main» qui est choisie sauf dans le cas d un type de route local, broadcast et nat où la route est ajoutée dans la table local par défaut ; dev NME : l interface de sortie ; via RESS : l adresse de prochain saut. Suivant le type de route : pour le type unicast, c est l adresse du routeur de prochain saut, pour le type nat, c est l adresse de traduction d adresse ; src RESS : l adresse source de préférence lors de l envoi vers la destination ; realm RELMI : pour définir des groupes de destination (beaucoup de destinations) ; mtu MTU ou mtu lock MTU : positionne la MTU de façon modificable ou non (le protocole Path MTU iscovery permet de le modifier) ; window NUMER : permet de choisir la taille de fenêtre maximale pour TP indiquée en octets ; advmss NUMER : permet de définir le MSS de TP (sinon il est dérivé de la MTU) ; nethop NEXTHOP : permet de définir des chemins multiples, «multipath». haque «NEXTHOP» : via RESS : le routeur de prochain saut ; dev NME : l interface de sortie ; weight NUMER : indique la qualité ou le débit de la liaison par rapport aux autres «NEXTHOP» ; equalize : permet de rendre aléatoire la distribution des paquets sur un «mulipath». Sans cette option, le «multi-path» n est réalisé que pour un «flux» donné, et non pour chaque paquet indépendemment ; nat : permet de faire du NT. La «Routing Policy atabase» es exemples d usage de la commande «ip route add» ajouter une route vers le réseau 0.0.0.0/ par la passerelle 9... : # ip route add 0.0.0.0/ via 9... ajouter un chemin multiple pour répartir la charge entre l interface eth0 et eth : # ip route add default netxhop dev eth0 via 9... nexthop dev eth via 0...8 traduire l adresse de source 9.8.80. par l adresse 9...8 # ip route add nat 9.8.80. via 9...8 ttention, il n y a pas de suivi de trafic comme dans le cas de l utilisation de NetFilter. Il faudra alors, une autre opération pour faire l opération de SNT : ip rule add from 9...8 nat 9.8.80. ours «Infrastructure Réseaux» P-F. onnefoi http://libpfb.so/ mars 0 9

Le «Policy Routing», ou le routage suivant la nature de la source L utilisation de règles pour sélectionner les tables de routage Le choix de la table de routage à utiliser se fait suivant des règles, «rules» : rezo@ishtar:~ ip rule list haque règle est préfixée par un numéro qui définit sa 0: from all lookup local priorité, permettant de les classer. : from all lookup main : from all lookup default. Priorité 0 : sélectionner la table locale «I» assurant le routage pour les adresses locales ou de multicast. ette règle ne peut être effacée ou remplacée ;. Priorité : sélectionner la table main «I» qui est la table de routage normale, sans route utilisant du «policy». ette règle peut être effacée ou redéfinie.. Priorité : sélectionner la table default «I». La table default est vide et réservée pour du «posttraitement lorsque les règles précédentes n ont pas été sélectionnées». ette règle peut être effacée. L ajout de règle avec la commande «ip rule add» type TYPE : le type de la règle from PREFIX : sélectionner le préfixe source ; to PREFIX : sélectionner le préfixe de destination ; iif : sélectionner l interface d entrée. Si l interface d entrée est la «loopback» alors la règle ne peut correspondre qu à des paquets provenant de l hôte local. insi, il est possible de définir des tables de routages différentes pour les paquets «relayer», «forwarded», et ceux «locaux» et de séparer ces trafics ; tos TOS ou «dsfield TOS» : sélectionner le TOS ; fwmark MRK : sélectionner le marquage de paquet. Nécessaire pour faire le lien avec NetFilter ; priority PREFERENE : la priorité de la règle. ette valeur est unique pour chaque règle ; table TLEI : la table de routage à consulter, «lookup» si la règle à été sélectionnée ; realms FROM : le «royaume» à sélectionner si la règle a été sélectionnée et si le «lookup» à réussi ; realms TO : le «royaume» à sélectionner si la route choisie n en a pas sélectionné ; nat RESS : réalise la traduction d adresse SNT. ttention près toute modification de la RP avec ces commandes, il est conseillé de lancer la commande : # ip route flush cache Exemples # ip rule add from 9.0.80.0/ table ma_table prio 0 # ip rule add from 9...8 nat 9.0.80. table prio 0 Routage & Linux Il est possible d ajouter de nouvelles tables en éditant le contenu du fichier /etc/iproute/rt_tables : rezo@ishtar:~ more /etc/iproute/rt_tableson peut alors ajouter une règle permettant d utiliser la nouvelle # table en définissant le sélecteur : # reserved values # local main default 8 0 unspec 9 # 0 # local # # inr.ruhep 00 ma_table_a_moi Une fois la table ajoutée, on peut la renseigner : # ip rule add from 0.0.0.0 lookup ma_table_a_moi le sélecteur : ici, sélectionner les datagrammes en provenance de l adresse 0.0.0.0 ; définit la table à consulter :la nouvelle table ma_table_a_moi. ip rule 0: from all lookup local : from 0.0.0.0 lookup ma_table_a_moi : from all lookup main # ip route add default via 9.8.0. dev eth table ma_table_a_moi # ip route flush cache : from all lookup default il ne faut pas oublier de vider le cache avec la commande ip route flush cache. Explication de la configuration : pour des datagrammes provenant de l @IP 0.0.0.0, il faut sélectionner la table ma_table_a_moi ; la table ma_table_a_moi rédéfinit la route par défaut et l interface d accès ; le datagramme est routé suivant une table différente suivant sa provenance On fait du routage suivant la source, ce qui s appelle du «routing policy». «Routing Policy & NetFilter» Le parcours du datagramme et le routage Intégration avec le «Routing Policy» routage suivant le TOS/dsfield : manipulation de ce TOS grâce à NetFilter ; utilisation de la table mangle et du marquage de paquet : le choix de la table grâce à «fwmark» ; ttention Pour l utilisation de NetFilter dans le cadre du «Routing Policy», on utilisera la chaîne «PREROUTING». Rapport entre NetFilter et le «Policy Routing» : NetFilter est selectif dans la notion d interface de sortie : il peut sélectionner un paquet suivant son interface de sortie, mais il ne peut pas forcer un paquet vers une interface de sortie ; Seul le routage décide de l interface de sortie d un paquet ; La chaîne PREROUTING permet à NetFilter d influencer le routage mais pas «POSTROUTING». ours «Infrastructure Réseaux» P-F. onnefoi http://libpfb.so/ mars 0 0

Netfilter : modifier les paquets, la table mangle L utilisation de cette table permet de : modifier le champs TOS, «Type Of Service»/SP, «ifferentiated There are only five TOS Services values we can field» set; so the : modifier TOS target doesn't la priorité modify the du whole TOS byte. However, this can be done with SP (ifferentiated Services datagramme IP en fonction de son origine, de son contenu Field etc. odepoints). The SP bits are the first six bits in the TOS byte, as shown in ette modification permet de faire de la QoS entre routeurs the following capables figure: de gérer ces priorités (RF, ). Precedence Level escription Stays the same (link layer and routing protocol keep alive) Stays the same (used for IP routing protocols) Express Forwarding (EF) lass lass lass lass 0 est effort --set-tos value Set Type of Service field to one of the following numeric or descriptive values: Minimize-elay (0x0) Maximize-Throughput 8 (0x08) Maximize-Reliability (0x0) Minimize-ost (0x0) Normal-Service 0 (0x00) Example: set TOS to Maximize-Throughput for outgoing FTP data: iptables -t mangle - POSTROUTING -p tcp --sport 0 -j TOS --set-tos 8 iptables has the SP target that can be used to alter the SP bits. The options can be found using --help with the SP target. root@router:~# iptables -j SP --help some lines missing SP target options --set-dscp value Set SP field in packet header to value iptables -t mangle - FORWR -p tcp --dport 80 -j SP --set-dscp iptables -t mangle - FORWR -p tcp --dport 80 -j SP --set-dscp-class EF marquer le paquet dans sa gestion au sein du noyeau pour faire du «Routing Policy» : iptables -t mangle - PREROUTING -i eth0 -p tcp ---dport 80 -j MRK ---set-mark [ ] Routage & Linux : Un exemple : fusionner deux réseaux identiques omment faire? Il faut fusionner deux réseaux identiques en 9.8.00.0/ et permettre l accès d un client d un réseau vers le serveur de l autre réseau ttention La marque n existe que dans le noyau : elle ne sort pas de celui-ci et ne peut être communiquée par réseau. Routage & Linux : Un exemple : fusionner deux réseaux identiques Il faut fusionner deux réseaux identiques en 9.8.00.0/ et permettre l accès d un client du réseau vers un serveur du réseau Routage & Linux : Un exemple : fusionner deux réseaux identiques Il faut fusionner deux réseaux identiques en 9.8.00.0/ et permettre l accès d un client d un réseau vers le serveur de l autre réseau omment faire? onner aux interfaces du routeur deux adresses différentes, une pour chaque réseau ; Utiliser le firewall/routeur comme destination du service offert dans pour le réseau : le port 8090 du routeur sera redirigé vers le port 8080 du serveur réer une «vue» différente du réseau 9.8.00.0/ pour le routeur suivant l interface d entrée du datagramme : «Policy Routing»! permettre aux paquets allant de vers d atteindre : Utiliser le marquage avec NetFilter et le «policy routing» permettre aux paquets allant de vers d atteindre : Utiliser le marquage avec NetFilter et le «policy routing» le routeur disposera d une adresse différente dans le réseau, «eth0», et, «eth» : on va créer deux tables de routages : haque table de routage ne connaitra qu une seule interface : ours «Infrastructure Réseaux» P-F. onnefoi http://libpfb.so/ mars 0

Routage & Linux : Un exemple : fusionner deux réseaux identiques Il faut fusionner deux réseaux identiques en 9.8.00.0/ et permettre l accès d un client d un réseau vers le serveur de l autre réseau Routage & Linux : Un exemple : fusionner deux réseaux identiques Il faut fusionner deux réseaux identiques en 9.8.00.0/ et permettre l accès d un client d un réseau vers le serveur de l autre réseau on ajoute les règles de NetFilter suivantes pour le fonctionnement de TP du client vers le serveur donné : pour aller de : #iptables -t mangle - PREROUTING -i eth0 -s 9.8.00.0 -p tcp --sport 8080 -j MRK --set-mark pour aller de : #iptables -t mangle - PREROUTING -i eth -d 9.8.00. -p tcp --dport 8090 -j MRK --set-mark 0 on définit les règles suivantes : on vérifie l activation des règles de NetFilter de la table «mangle» : on ajoute des règle de SNT et NT : # iptables -t nat - PREROUTING -m mark --mark 0 -p tcp -j NT --to 9.8.00.0:8080 ette règle permet au paquet marqué d atteindre le serveur. # iptables -t nat - POSTROUTING -o eth0 -j SNT --to 9.8.00. ette seconde règle permet au serveur de répondre vers le routeur. Routage & Linux : Un exemple : fusionner deux réseaux identiques on vérifie l activation des règles de NetFilter pour la table «nat» : Il faut fusionner deux réseaux identiques en 9.8.00.0/ et permettre l accès d un client d un réseau vers le serveur de l autre réseau Il ne faudra pas oublier de changer la configuration du noyau : sysctl -w net.ipv.conf.all.rp_filter=0 On désactive le «Reverse Path Filtering», qui s appuie sur la notion de «Reverse Path Forwarding» RF 0, RF 8. VPNs & Tunnels Les VPNs, «Virtual Private Network» L utilisation d un VPN permet, usages : la connexion entre un Site et un autre Site : entre deux composantes d une même entreprise séparées géographiquement ; utilisant Internet pour faire circuler les données ; en assurant les propriétés de sécurités de confidentialité et d authentification ; Sans VPN, on utilise des réseaux WN privés pour interconnecter ces différentes composantes : circuits «point-à-point» dédiés comme TM (réseau opérateur téléphonique), ou MPLS (réseau de type informatique), ou une combinaison SSL, «Symmetrical igital Subscriber Line» + MPLS ; http://www.mympls.fr/haut-debit/mympls/orangebusiness/sdsl?displaytop=mympls assurant une bonne latence, une meilleure disponibilité, mais coûteux un accès distant, «remote access» : permettre la connexion d un utilisateur depuis n importe où sur Internet ; indispensable pour les «roadwarriors», c-à-d les employés d une société qui doivent voyager souvent pour leur travail ; permet la connexion de «télé-travailleurs», de sous-traitants qui doivent disposer d un accès temporaire au réseau de l entreprise. une protection pour les réseaux sans-fil, «wireless» ; un relais sécurisé : lorsque l on ne fait pas confiance au réseau local où l on est connecté et que l on se sert du VPN pour aller «directement» sur Internet (protection contre l RP Spoofing). ours «Infrastructure Réseaux» P-F. onnefoi http://libpfb.so/ mars 0

VPNs & Tunnels Qu est-ce qu un VPN? «une connexion privée entre deux éléments terminaux», c-à-d une liaison «point-à-point» entre ces deux terminaux dont le contenu n est accessible qu à ces deux terminaux. Plus concrètement? il faut pouvoir encapsuler des communications quelconques dans cette liaison point-à-point, c-à-d faire passer les datagrammes IP de ces communications dans la liaison ; cette liaison emprunte InterNet et doit pouvoir être routé : elle utilise des datagrammes IP. insi, la liaison est considérée comme un tunnel qui peut être emprunter de manière transparente par ces communications. Quelles différences avec une liaison physique «point-à-point»? La liaison physique point-à-point est physique (câble de liaison entre deux routeurs par exe.) alors que la liaison VPN est virtuelle : elle est simulée au travers d une communication isolée des autres éléments du réseau : seuls deux bouts communiquent au travers de la liaison (par ex. après authentification mutuelle) ; les données échangées peuvent être rendues «inaccessibles» à l observation d un tiers en recourant à la cryptographie (confidentialité assurée par chiffrement), ou par routage (ils peuvent passer dans un réseau d interconnexion contrôlé comme avec MPLS). omment mettre en place un VPN? Il faut transporter des datagrammes IP : avec un protocole de niveau, c-à-d en faisant circuler des trames avec éventuellement des étiquettes (MPLS et VLNs) ; avec un protocole de niveau, c-à-d en faisant circuler directement des datagrammes (encapsulation) ; Il faut isoler ces échanges du reste du trafic : en le rendant confidentiel à l aide de chiffrement (IPsec) ; en contrôlant son acheminement dans le réseau d interconnexion (MPLS). VPNs & Tunnels Les VPNs de niveau Leur travail consiste à : «encapsuler» des datagrammes IP : dans ce cas, le protocole est considéré comme de niveau car il se substitue à la couche du modèle OSI ; transporter des trames : dans cet autre cas, il véhicule du «niveau». Un VPN considéré comme de «niveau» Historiquement, on commence par PPP, «Point-to-Point Protocol», RF, : il est considéré, dans le modèle OSI, comme un protocole de niveau Protection car il encapsule des accès dans une distants liaison série des datagrammes ; HPITRE 8 il a été crée, à l origine, pour permettre des communications sur des lignes téléphoniques par modem (avant l SL avec des débits de Kbits/seconde) ; ilep-ctiontec permet une authentification Wireless, mutuelle ogent avec Systems : iometrics uthentication EP, irfortress EP, PP, «Password EP-http, uthentication igest, SecureSuite Protocol» (transmission EP, eviceonnect de mot de passe EP, en clair) EP-SPEKE, ; EP- MO, HP, «hallenge-handshake EP-FST, EP uthentication Flexible uthentication Protocol» (secret via partagé Secure échangé Tunneling, haché) ; ZLXEP, ZoneLabs EP, «Extensible EP, EP-Link, uthentication EP-PX, Protocol» (protocole etc. utilisant différentes méthodes avancés jusqu à l utilisation protocole de certificat) EP ; est conçu pour répondre à la demande croissante d authentification des Le il permet de faire de la compression (réduction des transmissions), du contrôle d erreur, du chiffrement avec utilisateurs d accès distants en employant d autres périphériques de sécurité que les mots EP, «Encryption ontrol Protocol» ; de passe. Grâce à ce protocole, il est possible d ajouter la prise en charge de plusieurs il est utilisé au travers d autres protocoles : PPPoE, «PPP over Ethernet», PPPo, «PPP over TM» pour ses modèles d authentification, notamment les cartes à jeton, les mots de passe à usage capacités à établir des sessions dans le cadre de l accès SL. ilunique, peut être réutilisé l authentification : en fractionnant par du clé PPP publique sur de l UP utilisant avec LTP, des cartes RF à puce, ; etc. ela permet Ond employer reviendra sur un leserveur procole LTP d arrière-plan qui a évoluépour au-delà implémenter de PPP dansles sadivers versionmécanismes (RF 9). d authentification, le serveur authentifiant se chargeant simplement de transmettre les éléments d authentification. Quelques protocoles de niveau PPTP, Point to Point Tunneling Protocol, RF : capable mais limité à un seul tunnel à la fois entre deux interlocuteurs, développé par Microsoft. Il peut néanmoins encapsulé d autres protocoles qu IP, comme IPX ; LF, Layer Forwarding, RF : développé en même temps que PPTP par d autres sociétés dont ISO et permet de gérer, entre autre, plusieurs tunnels simultanés ; LTP, Layer Tunneling Protocol, RF : standard qui combine les avantages de PPTP et de LF, en ajoutant des possibilités améliorées de sécurité comme ceux d IPsec ; LSec, Layer Security Protocol, RF : développé pour corriger des problèmes de sécurité d IPsec lorsque ceuli-ci était encore en phase de développement, mais plus coûteux en traitement, mieux sécurisés et basé sur SSL/TLS. etc. Protection des accès distants HPITRE 8 PPTP (Point-to-Point Tunneling Protocol) Tunnel de niveau Le protocole PPTP permet de créer un réseau privé virtuel par la prise en charge de proto- protocole 8. tels LTP que : IP, NetEUI, IPX, etc. e protocole a été développé par Microsoft en Figure lecoles Encapsulation collaboration LTP avec des scend et om. PPP IP... PPP trames PPP PPTP encapsule, par le biais d un tunnel, les protocoles IP, IPX et NetEUI, eux-mêmes encapsulés dans des paquets PPP. Il utilise IP pour UP cela LTPle protocole PPP IP GRE (Generic... Routing Encapsulation), comme l illustre la figure 8.. Figure 8. le protocole PPTP : Encapsulation des trames PPP dans GRE LTP au-dessus d IP IP UP LTP PPP PPP IP... LTP au-dessus d'un accès distant et d IP IP... PPP Pour établir une session IP LTP, GRE le client PPPse connecte IP Layer à... distance via le protocole PPP à HTTP PPTP SMTPau-dessus NS d IP SNMP un concentrateur d accès LTP, ou L (LTP ccess oncentrator), de son FI. e FTP POP GP dernier établit un tunnel vers le serveur réseau LTP, ou LNS (LTP Network les protocoles PPP, VLNs, MPLS dans le modèle OSI : Server), qui est généralement réalisé par un routeur. Il est aussi possible que la fonction de L soit directement IP GRE réalisée PPP par l ordinateur IP Layer... TPPPTP au-dessus UP d'un IMP PPP client, accès comme distant et d IP nous le verrons par la suite. RP Layer MPPE L authentification (Microsoft Point-to-Point de l utilisateur Encryption) est demandée crypte les données afin de valider des connexions IPv IPv la session d accès entrante HP en distants s appuyant PPP ou des sur connexions les méthodes VPN d authentification PPTP. Les méthodes héritées de chiffrement de PPP. Le MPPE tunnel utilisent Layer. MPLS établi sur le des clés réseau de longueur IP consiste variable, en une de encapsulation 0 à 8 bits. de es niveau méthodes par sont le protocole VLN prises en IP/UP charge par des lepaquets chiffrement PPP, comme des données illustré (R). à la figure MPPE 8.. assure la sécurité Layer des données Ethernet entre PPP la connexion HL du client distant (connexion PPTP) et le serveur d accès distant. ouches réseau mises Header Formats ours «Infrastructure Réseaux» P-F. onnefoi http://libpfb.so/ mars 0 PPP Protocols Within Layer Protocols ll Part Of Layer nd ontrolled y packet pplication Figure Les 8.méthodes d authentification de PPTP héritent des méthodes d authentification du protocole PPP. en œuvre pour un accès distant Pour LTP établir une session PPTP, l ordinateur client, ou P (PPTP ccess oncentrator), Réseau representation of packet Réseau fields when accessed directly or via descriptors. se connecte à distance via le protocole d accès PPP à un concentrateur d accès d accès NS (Network ccess Server) de lient son d accès FI. Puis il établit une seconde Point d accèssession au serveur réseau Point d accès PPTP, ou PPENIX REFERENE TLES The following network protocols are provided for reference and have supporting descriptors defined in protocols.ph (see hapter for Standard Networking escriptors). The following diagrams call out byte and bit positions matching the packet big-endian byte order and little-endian Serveur bit order d accès distant

Tunnels de niveau : une comparaison Tiré d une présentation http://prezi.com/orwqgsm9mdgg/untitled-prezi/ VPNs & Tunnels Les VPNs de niveau avec une encapsulation IP dans IP comme GRE, «Generic Routing Encapsulation», RF 8 : il est intégré dans la couche de niveau, où il est désigné par le numéro de protocole ; il permet de transporter des datagrammes IP : pour tous les protocoles encapsulables (IMP, UP, TP etc.) ; pour des @IP source et destination quelconques (applications à une liaison entre routeurs). avec un protocole d isolation comme IPsec, «Encryption ontrol Protocol», RF 8, 89 : il est disponible dans IPv et est intégré dans IPv ; il permet la négociation des éléments cryptographiques entre les deux extrémités (choix des algorithmes, des clés, construction de clés de session etc.) ; il travaille au niveau du datagramme IP, c-à-d en mode «connectionless» : il permet d authentifier les deux extrémités de la liaison dans l en-tête du datagramme IP ; il permet de chiffrer le contenu du datagramme IP ; il fonctionne en mode tunnel (tout le contenu du paquet est protégé y compris les adresses nécessaires au routage) ou transport (les adresses nécessaires au routage sont visibles). en combinant du PPP et du GRE et en ajoutant du chiffrement et de la compression : le protocole PPTP, «Point-to-Point Tunneling Protocol», RF (une connexion TP vers le port permet d établir le tunnel GRE) ; en combinant du GRE et de l IPsec en mode transport ; en combinant du LTP et de l IPsec (avec LTPv on aurait du niveau ) ; en combinant MPLS et GP : RF ; en utilisant des dérivés d openssl : en combinant du SSH (liaison TP sécurisée) et du PPP ; avec SSH et son mode VPN en niveau (interface TUN) ou (interface TP) ; avec openvpn en mode UP ou TP. Tunnel de niveau : GRE, «Generic Routing Encapsulation» Le protocole GRE vec ce protocole : on établit le tunnel entre deux routeurs : c est le routage qui décidera de l encapsulation du trafic ; le tunnel est «stateless» : il n y a pas de configuration associée au tunnel qui doit être mémorisée sur chaque extrémité, chaque datagramme IP empruntant le tunnel est encapsulé dans un nouveau datagramme IP et envoyé sans contrôle d erreur ; chaque datagramme empruntant le tunnel (suivant son routage) est traité séparément : RoadWarrior Interface virtuelle 0.0.0.0 @IP Source 0.0.0.00 @IP estination 0.0.0.0 atagramme IP atagramme IP @IP Source 9.8.. @IP estination 9.8.. atagramme IP onnées atagramme IP Serveur Interface virtuelle 0.0.0.00 le trafic entre la machine RoadWarrior et la machine Serveur empruntera ce tunnel du fait de leur trafic pris en charge entre les deux routeurs. Tunnel de niveau : GRE Établissement d un tunnel GRE sous Linux Soient les routeurs : «Routeur» : une interface configurée en 9.8.00./, un réseau déservi en 0.0.0.0/ ; «Routeur» : une interface configurée en.../, un réseau déservi en 0.0.0.0/ ; Pour établir le tunnel GRE : Sur routeur : root@routeur:~# ip tunnel add mon_tunnel mode gre local... remote 9.8.00. root@routeur:~# ip link set mon_tunnel up root@routeur:~# ip link : mon_tunnel: <POINTOPOINT,NORP,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN link/gre... peer 9.8.00. root@routeur:~# ip addr add dev mon_tunnel 0.0.0./ root@routeur:~# ip route add dev mon_tunnel 0.0.0.0/ Sur routeur : root@routeur:~# ip tunnel add mon_tunnel mode gre local 9.8.00. remote... root@routeur:~# ip link set mon_tunnel up root@routeur:~# ip addr add dev mon_tunnel 0.0.0./ root@routeur:~# ip addr : mon_tunnel: <POINTOPOINT,NORP,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN link/gre 9.8.00. peer... inet 0.0.0./ scope global mon_tunnel root@routeur:~# ip route add dev mon_tunnel 0.0.0.0/ On remarque que les deux extrémités du réseau appartiennent à un même réseau 0.0.0.0/ indépendant de tous les autres (sinon des problèmes de routage peuvent survenir). ours «Infrastructure Réseaux» P-F. onnefoi http://libpfb.so/ mars 0

Tunnel de niveau : IPsec IPsec permet la création de VPN, «Virtual Private Network», en utilisant des solutions cryptographiques. IPsec est intégré dans IPv et peut être utilisé dans IPv. IPsec propose : deux protocoles : H, «uthentication Header» pour l authentification ; ESP, «Encapsulating Security Payload», pour le chiffrement et l authentification. On peut utiliser séparément l un ou l autre et, plus souvent, les deux ensembles. Le protocole H assure l intégrité et l authentification de l origine pour l ensemble des champs de l entête du datagramme IP, à l exception de ceux qui peuvent changer lors du transfert du datagramme, c-à-d les champs «TTL» et «checksum». choix entre différents algorithmes cryptographiques : «M», «SH-», «ES», «ES», «ES», etc. : la mise en œuvre d une connexion IPsec impose de faire des choix, mais chaque connexion ne fait appel qu à deux, voire trois, algorithmes à la fois. L authentification calcule un IV, «Integrity heck Value», sur le contenu du paquet, ce qui est réalisé au travers d une fonction de hachage comme M ou SH-. Il incorpore une clé secrète connue des deux interlocuteurs, ce qui permet au destinataire de calculer l IV de la même façon. insi, si le destinataire reçoit la même valeur, alors l émetteur s est authentifié avec succès (cela repose sur le fait qu une fonction de hachage ne peut être inversée). H fournit toujours de l authentification alors qu ESP peut la fournir en option. Le chiffrement utilise un clé secrète pour chiffrer les données avant leur transmission et cela permet de «cacher» le contenu du paquet et de le protéger d éventuelles écoutes. Il est possible de choisir parmi différents algorithmes de chiffrement et en particulier, entre ES, ES, lowfish et ES. Tunnel de niveau : IPsec IPsec propose : deux modes de fonctionnement : le mode «Transport» : permet d établir une liaison sécurisée directement entre deux matériels ; encapsule le chargement du datagramme IP : les @IP source et destination reste celles de ces matériels ; le mode «Tunnel» permet d établir une liaison sécurisée entre deux routeurs ; permet d encapsuler la totalité du datagramme IP passant par ces routeurs ce qui permet d offrir un «secure hop», c-à-d le passage sécurisé entre deux routeurs (les datagrammes IP ne contiennent que les @IP source et destination des routeurs, mais pas celles des machines empruntant ce tunnel ; permet d établir des VPNs entre deux sites au travers d Internet. ans le cas du mode Tunnel, on utilise rarement le protocole H, dans la mesure où il interdit la modification de l entête du datagramme IP, ce qui rend impossible l utilisation de NT ce qui peut être bloquant. On préférera alors l utilisation d ESP avec une forme simplifiée d authentification : elle utilise les mêmes algorithmes que ceux utilisés par H, mais cette authentification ne porte que sur l entête et les données du contenu ESP, et pas sur l entête du datagramme IP qui le contient. L utilisation du mode Tunnel est transparente, puisqu elle s applique uniquement entre deux routeurs, et que deux interlocuteurs utilisant ces routeurs n ont rien à faire pour bénéficier de cette protection. L utilisation du mode Tunnel permet de «masquer» d un observateur extérieur quels sont les deux interlocuteurs qui communiquent dans chacun des réseaux reliés par le VPN : on parle alors de «privacy», ou «respect de la vie privée». Tunnel de niveau : IPsec IPsec utilise un protocole de négociation des éléments de sécurité : IKE, «Internet Key Exchange» vs «lés fournies manuellement» : les deux extrémités de la communication doivent connaître les valeurs secrètes utilisées pour la fonction de hachage et le chiffrement, ce qui pose le problème de les échanger. La «fourniture manuelle» des clés requiert d entrer manuellement les clés sur les deux extrémités probablement sans se servir du réseau pour le faire. IKE est un moyen sophistiqué pour le faire de manière «online». Sous Linux, le service «racoon» réalise le protocole IKE. Mode «principal» ou «agressif» : le choix entre ces deux modes représentent un compromis entre efficacité et sécurité pour le protocole IKE d échange de clés. Le mode principal requiert l échange de paquets dans un sens et dans l autre, alors que le mode agressif en requiert la moitié, tout en transmettant des informations en clair ce qui diminue la sécurité. Intégration d IPsec dans IPV : Le champ «protocole» du datagramme IP indique la nature du contenu : : IMP ; : UP ; : TP ; : GRE ; 0 : IPsec : ESP ; : IPsec : H ; La gestion des éléments cryptographiques : Il est nécessaire de gérer des secrets sur les deux extrémités de la connexion sécurisée (les secrets permettant l authentification et le chiffrement). Lorsqu un paquet IPsec, H ou ESP, arrive sur une interface réseau, comment cette interface peut savoir quel ensemble de paramètres (clé, algorithme et «politique de sécurité») utiliser? hacun de ces ensembles est spécifié au travers d une S, «Security ssociation», c-à-d une collection de paramètres spécifiques à une connexion, et chaque interlocuteur peut en posséder de nombreuses. Tunnel de niveau : IPsec fin de traiter un paquet IP à son arrivée, il faut : l adresse IP de l interlocuteur qui a envoyé le paquet ; la nature du protocole : ESP ou H ; un SPI, «Security Parameters Index». Une S concerne «un seul sens» de communication, c-à-d qu une communication bidirectionnelle en utilise deux. haque protocole requiert sa propre S pour chaque direction, ce qui fait que Ss sont nécessaires pour un VPN utilisant H+ESP. haque interlocuteur dispose d une S, une base de données des Ss qu il possède. ans cette S, il y a : H : l algo. utilisé ; H : le secret d authentification ; ESP : l algo de chiffrement ; ESP : la clé secrète de chiffrement ; IPsec + GRE ESP : la sélection d une authentification ou pas ; des restrictions concernant le routage ; des politiques de sélection du contenu IP, «policy» ; des paramètres concernant l échange des clés. GRE permet d encaspuler du trafic IPv ainsi que du trafic multicast, mais ne réalise pas de chiffrement ; IPsec ne s applique que sur le datagramme IP ; on peut les combiner! pplication à l encapsultation de trafic OSPF ou EIGRP envoyé en multicast au travers d un tunnel «GRE over IPsec» ours «Infrastructure Réseaux» P-F. onnefoi http://libpfb.so/ mars 0

Tunnel de niveau : IPsec & GRE Figure - le protocole GRE Packet GRE : Format 0 bytes bytes bytes Tunnel IP Header GRE Flags Protocol Type IP Header asic GRE onfiguration Transport Header Required GRE Header Original IP Header and Packet igure - GRE over IPsec Packet Format Optional GRE Header Tunnel Mode Sequence hecksum Offset Key Number ESP IP ESP bytesgre IP bytes IP bytestp ESP GRE ata Header Header Header Header Header Trailer le protocole GRE + IPsec : In Figure -, only the required GRE header and original IP header and packet typically appear in Transport GRE tunnel Mode configurations. The GRE options are normally not used because upper-layer protocols provide similar functionality. GRE IP ESP IP TP ESP GRE ata Header Header Header Header Trailer asic GRE onfiguration GRE tunnel carries some Layer protocol between two IP endpoints. uring the initial use of GRE tunnels, the tunnel contents were typically any protocol except IP. Today, GRE tunnels are used to carry IP data over an IP network. ut the GRE tunnel itself can be sent through an IPsec tunnel for security. Figure - shows a basic GRE tunnel setup. Figure Pourquoi - un GRE VPN Tunnel et Quel onfiguration VPN le passage à travers un Firewall : S/:... S/: 0... PPTP utilise une connexion de contrôle TP sur le port et le protocole GRE non sécurisé qui est souvent bloqué par les result firewalls is that ; two sites can securely exchange routing information and IP packets. IPsec utilise Remote le protocole Office UP sur le port 00 et des paquets IP basés sur le protocole ESP, Encapsulating entral Office Security Payloads. L utilisation d ESP entraine le chiffrement du contenu du paquet IP et donc, l impossibilité d accèder au numéro de port source et destination, ce qui le rend difficile à gérer par un Internet firewall pour effectuer du NT. Il est possible d utiliser du NT-T, NT Traversal, qui encapsule les paquets ESP dans UP sur le port 00. OpenVPN peut utiliser UP et TP, ce qui le rend le plus apte à être utilisé au travers d un firewall. Pour 9.8..0/ passer au travers d un firewall, on peut utiliser les ports UP (NS), TP 80 (HTTP), TP 9.8.0.0/ (HTTPS). GRE Tunnel sécurisé «cryptographiquement» Router : Router PPTP utilisant des «login/mdp» il est moins sécurisé que les autres solutions : le mdp peut être cracké par une méthode «bruteforce» ; l utilisation de «pre-shared keys» dans IPsec peut le rendre vulnérable si cette clé n est pas suffisamment robuste pour résister selected, à une attaque the bruteforce. original IP header and packet are fully protected. OpenVPN utilisant des certificats 9.8..0/ ou simplement des biclés (clé publique/clé privée) 9.8.0.0/ partagée, il faut s assurer de la sécurité de la clé privée ou partagée. ata Secure GRE Tunnels s Figure - shows, there are multiple IP layers in a GRE over IPsec packet. The innermost layer is the original IP packet. This represents data that is traveling between two devices, or two sites. The initial IP packet is wrapped in a GRE header to permit routing protocols to travel between in the GRE tunnel (something that IPsec alone cannot do). nd IPsec is added Les as the performances outer du Firewall et du VPN layer to provide confidentiality and integrity (which is a shortcoming of GRE by itself). The end Figure - is also a reminder of the two IPsec modes: tunnel and transport. Transport mode is used if the original IP header can be exposed, while tunnel mode protects the original IP header within a new IPsec IP header. When using GRE over IPsec, transport mode is often sufficient, because the GRE and IPsec endpoints are often the same. Whether tunnel or transport mode is What might get lost in Figure - is the size of the new packets created due to the additional interface serial / interface serial / ip address......0 ip address 0......0 encapsulations. interface tunnel 0 Each IP header adds 0 bytes to the interface packet tunnel size. This does not include overhead ip address 9.8.00....0 ip addr 9.8.00....0 for ESP and tunnel GRE headers. source serial / For small IP packets, it is possible that the GRE over IPsec headers tunnel source serial / tunnel destination 0... tunnel destination... may be tunnel much mode gre larger ip than the original packet itself. Network tunnel mode gre efficiency ip can be determined by the ratio of actual data compared to the overhead associated with transporting the data. When there is more overhead (packet headers) than actual data, then the network is inherently less efficient. Pourquoi un VPN et Quel VPN? Un VPN doit posséder les qualités suivantes : l interopérabilité : il doit être possible de mettre en place le VPN entre des matériels de différents constructeurs. IPsec est à privilégier car disponible sur tous les matériels proposant du VPN ; OpenVPN est moins répandu, surtout disponible dans les solutions OpenSource ; PPTP ne permet pas les connexions de site-à-site ; les méthodes d authentification : seul PPTP permet l authentification par «login/mdp» ; IPsec et OpenVPN utilisent des clés partagées, «shared keys» ou des certificats. la facilité de configuration : PPTP est très simple ; IPsec possède des options qui pour les non-initiés peuvent être complexes ; OpenVPN utilise des certificats qu il faut savoir gérer. la disponibilité d un logiciel client pour les «remote access» : PPTP est intégré dans la plupart des systèmes d exploitation ; pour IPsec, des client existent pour Windows, Linux, S mais ne sont pas toujours intégrés. Pour Mac OS X, un client sans interface graphique est intégré ; pour OpenVPN, des clients existent pour toutes les plateformes me sont pas intégrés. la possibilité de gérer du «Multi-WN», c-à-d utiliser plusieurs connexions simultanées à Internet : PPTP utilise des tunnels GRE, Generic Routing Encapsulation, et ne sait pas gérer le «Multi-WN» ; OpenVPN et IPsec savent le gérer. L utilisation d un VPN entraîne l utilisation de chiffrement qui peut être coûteux car il s applique sur toutes les données échangées : IPsec utilise les algorithmes de chiffrement suivant : ES, ES, lowfish, ST8, ES et ES ; il est possible d utiliser des «crypto-processeurs» pour réaliser le travail de chiffrement. ours Most «Infrastructure GRE over IPsec implementations Réseaux» P-F. use onnefoi a hub-and-spoke http://libpfb.so/ design. lthough not a requirement, mars 0 such a design minimizes the management overhead seen with managing a large number of IPsec tunnels. For example, if ten sites were fully meshed with GRE over IPsec tunnels, it would take Le choix d utiliser un VPN ou de louer une connexion WN privée (du type TM ou MPLS) : différence de latence : une connexion «point-à-point» de type Ethernet assure une latence de à ms ; une connexion, «First Hop», vers Internet fournie par un FI est plus importante > 0ms ; une connexion par VPN augmente considérablement la latence : 0 à 0ms. Il est possible de diminuer la latence en utilisant pour toutes les connexions entre site le même FI. importance de la latence sur les services utilisés : le partage de fichier Microsoft, «SM» : pour une latence < 0ms tout marche bien. À partir d une latence de 0ms ses performances s effondrent, et à 0ms il devient insupportablement lent ; l utilisation de Microsoft Remote esktop, RP : une latence < 0ms donne de bonnes performances. La latence de 0 et > 0ms donnée par l utilsiation d un VPN rende le travail d un utilisateur distant difficile.

Les avantages d OpenVPN Ils sont nombreux la possibilité de faire des VPNs de niveau & : dans le cas du niveau, le VPN peut transporter des trames, et les protocoles Microsofts (qui sont des protocoles locaux, c-à-d non routables). la possibilité de bénéficier du firewall du serveur sur lequel on se connecte : un «road warrior» peut bénéficier des mêmes protections que les matériels connectés directement dans le réseau de l entreprise ; les connexions OpenVN peuvent traverser la plupart des firewalls et passer par des proxys : si on peut passer en «https» alors on pourra passer in tunnel OpenVPN ; un fonctionnement en mode client ou serveur, UP ou TP ; un seul port à ouvrir sur le firewall pour le support d OpenVPN avec la possibilité pour un serveur de gérer plusieurs clients avec ce seul port ; pas de problème avec le NT ; la mise en oeuvre d OpenVPN en tant qu ajout de nouvelles interfaces virtuelles TUN/TP sur le serveur et le client autorise toutes les utilisation possibles du firewall et du routage! très extensible avec la possibilité de scripter la mise en place du VPN et la configuration du client et du serveur ; le support transparent des clients utilisant des adresses IP dynamiques sans perte de connexion ; installation simple sur les différentes plateformes ; design modulaire : le découpage clair entre réseaux et sécurité permet d envisager de nombreuses possibilités ; support des matériels mobiles et embarqués : Windows Mobile, Maemo de Nokia, OpenWRT etc. très actif au niveau de la communauté. Socat & TUN Les interfaces virtuelles : TUN & TP sont disponibles sous différents systèmes d exploitation (même sous Windows) ; correspondent à une interface réseau virtuelle : TUN, «network TUNnel» : niveau (IP), permet de faire du routage ; TP : niveau (liaison de données), permet de faire un «bridge» ; sont connectées à un processus simulant un réseau : elles permettent de faire passer les paquets dans le «user-space», c-à-d l espace utilisateur au lieu de l espace système ou noyau. Utilisation avec Socat réation d une interface TUN sur chaque machine : sur la machine Serveur : sudo socat -d -d TP-LISTEN:,reuseaddr TUN:9.8../,up permet d avoir un affichage : «Prints fatal, error, warning, and notice messages.» définit un bout du tunnel : une socket TP en attente de connexion sur le port, sans attente du délai de libération de ce numéro de port ; définit l autre bout du tunnel : une interface TUN associée à l @IP 9.8../ et activée. sur la machine lient : sudo socat TP:...: TUN:9.8../,up définit un bout du tunnel par une connexion TP vers la machine Serveur, d @IP... et de port ; définit l autre bout du tunnel : une interface TUN associée à l @IP 9.8../ et activée. Un «tunnel» est mis en place entre le client et le serveur encapsulé dans une connexion TP. Socat & TUN Les interfaces virtuelles TUN Sur la machine Serveur : tun0 Link encap:unspe HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet adr:9.8.. P-t-P:9.8.. Masque:...0 UP POINTOPOINT RUNNING NORP MULTIST MTU:00 Metric: pef@solaris:~ ip route default via 9.8.. dev eth0 proto static 9..0.0/ dev eth0 scope link metric 000 9.8..0/ dev eth0 proto kernel scope link src 9.8..8 metric 9.8..0/ dev tun0 proto kernel scope link src 9.8.. L interface est en mode «Point à Point» après le routage, cette interface virtuelle permet de communiquer sur un réseau défini entre les deux interfaces virtuelles. Socat & Tunnel Test du tunnel et observation des échanges rezo@ishtar:~ ping -c 9.8.. PING 9.8.. (9.8..) (8) bytes of data. bytes from 9.8..: icmp_req= ttl= time=8. ms --- 9.8.. ping statistics --- packets transmitted, received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 8.8/8.8/8.8/0.000 ms Le tunnel est une connexion TP bidirectionnelle dans laquelle les paquets IP sont encapsulés : On exécute un «ping» de la machine client vers la machine serveur en passant par le tunnel. lient Interface virtuelle.8.. onnexion TP @IP Source 9.8.. @IP estination 9.8.. atagramme IP onnées Serveur Interface virtuelle 9.8.. Sur la machine lient : tun0 Link encap:unspe HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet adr:9.8.. P-t-P:9.8.. Masque:...0 UP POINTOPOINT RUNNING NORP MULTIST MTU:00 Metric: Pour le routage : rezo@ishtar:~ ip route default via 9.8.. dev eth0 metric 00 9.8..0/ dev eth0 proto kernel scope link src 9.8.. 9.8..0/ dev tun0 proto kernel scope link src 9.8.. atagramme IP Vue depuis le client : rezo@ishtar:~ sudo tcpdump -nvvx -i tun0 icmp tcpdump: listening on tun0, link-type RW (Raw IP), capture size bytes ::.00 IP (tos 0x0, ttl, id 0, offset 0, flags [F], proto IMP (), length 8) 9.8.. > 9.8..: IMP echo request, id 0, seq, length 0x0000: 00 00 0000 000 00 bb c0a8 ff0 E..T..@.@..S... 0x000: c0a8 ff0 0800 0daf 000 bbaa 8f...%...O 0x000: fc 0000 0809 0a0b 0c0d 0e0f 0.,... 0x000: 89 ab cd ef 0...!"# 0x000: 89 ab cd ef 0 %&'()*+,-./0 0x000: ::.089 IP (tos 0x0, ttl, id 9, offset 0, flags [none], proto IMP (), length 8) 9.8.. > 9.8..: IMP echo reply, id 0, seq, length 0x0000: 00 00 f9f 0000 00 9bb c0a8 ff0 E..T_...@... 0x000: c0a8 ff0 0000 e 0daf 000 bbaa 8f...>%...O 0x000: fc 0000 0809 0a0b 0c0d 0e0f 0.,... 0x000: 89 ab cd ef 0...!"# 0x000: 89 ab cd ef 0 %&'()*+,-./0 0x000: La trace obtenue est «normale» : un datagramme IP contenant un «IMP echo request» ; un autre en retour contenant l «IMP echo reply». ours «Infrastructure Réseaux» P-F. onnefoi http://libpfb.so/ mars 0

Socat & Tunnel Vue extérieure du tunnel : pef@solaris:~ sudo tcpdump -nvvx -i eth0 tcp and port tcpdump: listening on eth0, link-type EN0M (Ethernet), capture size bytes 8:9:.8 IP (tos 0x0, ttl, id 09, offset 0, flags [F], proto TP (), length 0) 9.8...89 > 9.8..8.: Flags [P.], cksum 0x9a80 (correct), seq 88:, ack 89, win 8, options [nop,nop,ts val 89 ecr 90], length 88 0x0000: 00 008c b9f9 000 00 fc90 c0a8 0e E...@.@...> 0x000: c0a8 0 ea cb cde c0 9d 8e...S..,...p.v8. 0x000: 808 0 9a80 0000 00 080a 0e 09...!...y 0x000: 0 0f 0000 0800 00 00 0000 000.f...E..T..@. 0x000: 00 bb c0a8 ff0 c0a8 ff0 0800 @..S...% 0x000: 0daf 000 bbaa 8f fc 0000 0809 0a0b...O.,... 0x000: 0c0d 0e0f 0 89 ab... 0x000: cd ef 0 89 ab...!"#%&'()*+ 0x0080: cd ef 0,-.//0 8:9:. IP (tos 0x0, ttl, id 9, offset 0, flags [F], proto TP (), length 0) 9.8..8. > 9.8...89: Flags [P.], cksum 0x99 (correct), seq 89:, ack, win 80, options [nop,nop,ts val 908 ecr 89], length 88 0x0000: 00 008c 00d 000 00 b0d c0a8 0 E...@.@..}...S 0x000: c0a8 0e cb ea 9d 8e cde cc8...>,...v8.... 0x000: 808 0 99 0000 00 080a 0 00...f.. 0x000: 0e 09 0000 0800 00 00 f9f 0000...y...E..T_... 0x000: 00 9bb c0a8 ff0 c0a8 ff0 0000 e @...>% 0x000: 0daf 000 bbaa 8f fc 0000 0809 0a0b...O.,... 0x000: 0c0d 0e0f 0 89 ab... 0x000: cd ef 0 89 ab...!"#%&'()*+ 0x0080: cd ef 0,-.//0 Il est possible d utiliser SSL, «Secure Socket Layer» pour chiffrer le contenu de la connexion TP : Sur le serveur : Les deux paquets IMP sont encapsulés dans un segment TP : le paquet «IMP echo request» ; le paquet «IMP echo reply». haque paquet est envoyé dans le flux TP en «PUSH» pour être immédiatement prise en compte de l autre côté du tunnel (le tunnel ne fait circuler que des datagrammes IP). socat openssl-listen:,reuseaddr,cert=server.pem,cafile=client.crt TUN:9.8../,up Sur le client : socat openssl-connect:...:,cert=client.pem,cafile=server.crt TUN:9.8../,up es certificats sont utilisés pour authentifier les deux bouts du tunnel. Tun & Tap : la programmation réation d interface TUN pef@solaris:~/ sudo ip tuntap add dev mon_tun mode tun pef@solaris:~/ ifconfig -a mon_tun Link encap:unspe HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 POINTOPOINT NORP MULTIST MTU:00 Metric: Packets reçus:0 erreurs:0 :0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:00 Octets reçus:0 (0.0 ) Octets transmis:0 (0.0 ) pef@solaris:~/ ip link : mon_tun: <NO-RRIER,POINTOPOINT,MULTIST,NORP,UP> mtu 00 qdisc pfifo_fast state OWN qlen 00 link/none L interface TUN correspond à un lien «point-to-point» où seulement des datagrammes IP circulent. réation d interface TP pef@solaris:~/ sudo ip tuntap add dev mon_tap mode tap pef@solaris:~/ ifconfig -a mon_tap Link encap:ethernet HWaddr 0:db:f:e:d:9c ROST MULTIST MTU:00 Metric: Packets reçus:0 erreurs:0 :0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:00 Octets reçus:0 (0.0 ) Octets transmis:0 (0.0 ) pef@solaris:~/ ip link : mon_tap: <NO-RRIER,ROST,MULTIST,UP> mtu 00 qdisc pfifo_fast state OWN qlen 00 link/ether 0:b::ff:a:e brd ff:ff:ff:ff:ff:ff L interface TP correspond à une interface de type Ehternet où peut circuler tout type de trame. ttention L interface virtuelle est «OWN» tant qu aucune application n est accrochée à elle, c-à-d : que tout datagramme ou trame envoyé dessus est détruit ; qu il est impossible de faire de l écoute ou de l injection dessus. Tun & Tap : la programmation avec Scapy Pour créer un programme «attaché» à une interface virtuelle : choisir le type d interface : TUN (option IFF_TUN) ou TP (option IFF_TP) ; dans le cas de TP : choisir de récupérer les trames avec l «ethertype» en préfixe ou non (option IFF_NO_PI pour «Packet Information»). Soit la version avec une interface TP avec entête ( octets + octets de l Ethertype) : #! /usr/bin/python import os, struct, fcntl from scapy.all import * nom_interface = "mon_tap" TUNSETIFF = 0x00 IFF_TUN = 0x000 8 IFF_TP = 0x000 9 IFF_NO_PI = 0x000 0 lien = os.open("/dev/net/tun", os.o_rwr) interface = fcntl.ioctl(lien, TUNSETIFF, struct.pack('sh', nom_interface, IFF_TP)) print "Interface %s"% interface[:].strip('\x00') saisie = raw_input("ttente de configuration de l'interface") # on laisse l'utilisateur configurer l'interface en dehors du programme paquet = os.read(lien,08) # 08 taille supérieure à la MTU + entête de la trame + R 8 print "Ethertype :",[hex(ord(x)) for x in paquet[:]] 9 trame = Ether(paquet[:] # on donne la trame à Scapy en supprimant l'entête 0 os.write(lien, '\x00\x00\x08\x00"+str(ether()/ip())) # pour envoyer une trame précédée de l'entête 00000800 Ethertype d'ip Lorsque le programme est lancé, l interface est créée (avec une @M différente à chaque lancement) : pef@solaris:~ ip link : mon_tap: <ROST,MULTIST,UP,LOWER_UP> mtu 00 qdisc pfifo_fast state UP qlen 00 link/ether 0:b::ff:a:e brd ff:ff:ff:ff:ff:ff Tun & Tap : la programmation avec Scapy Soit la version avec une interface TP et sans entête : #! /usr/bin/python import os, struct, fcntl from scapy.all import * nom_interface = "mon_tap" TUNSETIFF = 0x00 8 IFF_TUN = 0x000 9 IFF_TP = 0x000 0 IFF_NO_PI = 0x000 lien = os.open("/dev/net/tun", os.o_rwr) interface = fcntl.ioctl(lien, TUNSETIFF, struct.pack('sh', nom_interface, IFF_TP IFF_NO_PI)) print "Interface %s"% interface[:].strip('\x00') saisie = raw_input("ttente de configuration de l'interface") # on laisse l'utilisateur configurer l'interface en dehors du programme 8 paquet = os.read(lien,08) # 08 taille supérieure à la MTU + entête de la trame + R 9 trame = Ether(paquet) # on donne la trame à Scapy 0 os.write(lien, str(ether()/ip())) # pour envoyer une trame En ligne, l utilisateur peut configurer le programme, par exemple en ajoutant l interface créée «mon_tap» dans un bridge comprenant l interface réseau de connexion vers l extérieur : réation du bridge et ajout de eth0 pour l accès extérieur : sudo brctl addbr vers_eth0 sudo brctl setfd vers_eth0 0 sudo brctl addif vers_eth0 eth0 sudo ip link set vers_eth0 up sudo ip addr flush dev eth0 sudo dhclient vers_eth0 jout de l interface, une fois le programme lancé : sudo ip link set mon_tap up sudo brctl addif vers_eth0 mon_tap L interface n existant que lors de l exécution du programme, il est nécessaire de l ajouter à chaque fois au bridge. ours «Infrastructure Réseaux» P-F. onnefoi http://libpfb.so/ mars 0 8

Un VPN «Light» avec SSH Un VPN au travers de SSH un VPN «à la demande» : n a pas besoin d être configuré de manière statique ; peut être mis en place et défait suivant les besoins de l utilisateur : depuis n importe où et à n importe quel moment, le rêve du «road warrior» du dimanche ; crée des interfaces virtuelles TUN/TP (nécessite une configuration avec des droits d administration ) ; Pour la configuration il faut installer sur le client «tunctl» : sudo apt-get install uml-utilities sudo apt-get install openssh-server il faut activer l «IP forwarding» sur les deux : sysctl -w net.ipv.ip_forward= Pour la configuration du serveur SSH : dans le fichier /etc/ssh/sshd_config : [... ] # Enable layer- tunneling. hange the value to 'ethernet' for layer- tunneling PermitTunnel point-to-point Et du client SSH : dans le fichier /etc/ssh/ssh_config : [... ] # Enable layer- tunneling. hange the value to 'ethernet' for layer- tunneling Tunnel point-to-point Un VPN «Light» avec SSH Le déclenchement du VPN Pour pouvoir permettre le routage du trafic par l intermédiaire du VPN, il est nécessaire de déclencher le fonctionnement en tant que routeur sur la machine : sudo sysctl -w net.ipv.ip_forward= Ensuite, sur le poste client, vous exécutez la commande suivante : sudo ssh -f -w any:any root@adresse_serveur true Ici, l option «-f» permet de mettre la commande «ssh» en tâche de fond. Le «sudo» est nécessaire pour permettre la création d une nouvelle interface sur la machine. Le «any:any» permet de sélectionner des interfaces TUN local:distante libres. Une nouvelle interface est créee du côté client comme du côté serveur : ifconfig -a tun0 Link encap:unspe HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 POINTOPOINT NORP MULTIST MTU:00 Metric: Packets reçus:0 erreurs:0 :0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:00 Octets reçus:0 (0.0 ) Octets transmis:0 (0.0 ) Il est ensuite possible d activer l interface et de la configurer pour permettre le routage au travers du VPN, ainsi que le filtrage grâce au fait que le VPN ajoute une interface virtuelle. Il est possible d auto-configurer le VPN mis en place à l aide d une ligne de commande indiquée dans le fichier ~/.ssh/authorized_keys. QoS : «packet switching» avec MPLS Le protocole MPLS, «Multi-Protocol Label Switching», RF 0 & 0 il combine : le «packet switching» en «circuit virtuel» (comme avec la technologie TM ou «Frame Relay») ; le routage IP ; le routeur : bascule : du routage «hop by hop» ; au «switching» c-à-d où les datagrammes empruntent une «sorte» de circuit virtuel : un chemin, «path» ou tunnel ; évite : d analyser les en-têtes du datagrammes en mode «switching», ce qui diminue la latence ; de faire de la fragmentation ; cette approche est appelée «tag switching» ; aux bases de données de routage, «Routing Information ase», sont associées des «Label Information ase», contenant les étiquettes à affecter à certains flux de datagrammes : une fois étiqueté, un datagramme passe directement en mode switching sans passer par le routage ; les étiquettes doivent être gérées entre les différents routeurs à l aide du «label distribution protocol» ou LP ; le réseau d interconnexion est décomposé en : LER, «Label Routers» ou : situés en bordure et chargés de classifier et d étiquetter les flux ;, «Label Switching Routers» : situés dans le noyau du réseau d interconnexion et qui «switchent» les datagrammes en fonction de leur étiquettes ; le protocole LP est utilisé entre ces différents routeurs pour maintenir la table des étiquettes et faire également la réservation d un circuit virtuel, «label-switched Path», ou LSP, entre les routeurs : ils envoient des «LP requests». Il est également possible d employer le protocole RSVP-TE, «RSVP - Traffic Engineering» RF 09. l interconnexion des routeurs est appelé un «domaine MPLS» ; une étiquette MPLS définie un tunnel unidirectionnel : le LSP, «Label Switch Path» avec un routeur d entrée, «ingress» et de sortie «egress». QoS : «packet switching» avec MPLS Le réseau d interconnexion avec MPLS Label edge routers (GMPLS) [8], which is a multipurpose control plane paradigm able to manage not only ours «Infrastructure Réseaux» P-F. onnefoi http://libpfb.so/ mars 0 9 IP network IP IP IP network IP network Label switch switch/router IP IP IP IP network 8. Practice: MPLS router configuration 9 L utilisation de MPLS est limité au réseau d interconnexion contrôlé par une même organisation. Un LSP, «label-switched path» Intf est Intf Label in out out. 0.0. IP... Intf Label est Intf Label in in out out 0.0 0.0. Intf Label est in in 0.0. Intf out IP... Fig. 8. Label-switched path Les datagrammes empruntent le même chemin suivant l étiquette MPLS qu ils ont reçus : ils passent d une interface d entrée, «intf in», à une interface de sortie «intf out» en récupérant une étiquette lors de leur entrée ou en changeant lors de leur sortie. In recent years, MPLS has been extended to generalized multi-protocol label switching packet switching devices, but also devices that perform switching in time, wavelength and space domains. Generalized multi-protocol label switching aims at extending the existing MPLS routing and signaling protocols to address the characteristics of optical transport networks. It defines a hierarchical LSP set-up. Label-switched paths may be tunneled inside an existing higher-order LSP, that acts as a link along the path of the..

Fig. 8. Fig. 8. Label Stacking FR Header... LI... Of all the MPLS terms outlined in the previous section, the one that is essential to understand is the concept Label of nested LSPs; that is, LSPs which include one or more QoS other MPLS: label «packet LSPs along their encapsulation switching» path from ingress in existing WN environments avecto MPLS egress. When this happens, there will be more than one label in front of the IP packet for at least part of its journey. Integration It is common dans TP/IP for many : large modification ISPs to stack dethree la trame labels Ethernet in front of 80. an IP packet. Often, the end of two LSPs is at the same router and two labels are pushed or popped at once. 0 bits 8 On insère une «étiquette MPLS» entre l en-tête de la trame The current limit is eight labels. There are several instances where this stacking ability comes in handy. Ethernet larger 80. ISP avec un type 0x88, et le datagramme IP : Label value Exp S TTL can buy a smaller ISP and simply add their own LSPs onto (outside) the existing Label ones. : 0bits identifie les paquets comme étant inclus In addition, when different signaling protocols are used in core routers and dans border un «tunnel» MPLS : routers, these domains can be nested instead of discarding one or the other. valeur choisie pour un lien et partagée seulement The general idea of nested MPLS domains with label stacking is shown in Figure.. entre les deux routeurs de ce lien ; There are five MPLS domains, each with its own way of setting up LSPs: static, RSVP, and LP. The figure shows the number of labels stacked at each point and Exp the order : os, «lass of Service» : bits utilisés pour classifier M MPLS IP ata le flux parmi une des 8 catégories ; MPLS label encapsulation in IP/LN environments Similaire au TOS du datagramme IP. MPLS omain FE, «forwarding equivalence class» : exprime la QoS à l intérieur d un même tunnel ; valeur combinée de label Exp ; on its incoming link and returns it to the upstream router along the path. The upstream gets this label, stores it in its table for identifying the flow on its outgoing link, assigns another label to the same flow for identification on its incoming link, stores it in MPLS omain the table associated to the outgoing label and forwards it backward to the next upstream MPLS omain MPLS MPLS router. R When a label is finally returned R to omain the ingress Redge omain router who sent R the request, an edge-to-edge path is established and it islp called a label-switched LP path (LSP). ll the following packets Static of the same flow will then followrsvp this path. One of the main results is then to provide connection-oriented functionalities to IP-based networks, as illustrated by the example in Fig. 8.. Recent advances in hardware-based processing and ultra-fast random access memories have boosted the evolution of IP router architectures to the point that the fast IP switching S, «Stack bit» : permet d avertir le routeur qu une autre étiquette est empilée après les bits de l étiquette courante ; TTL, «Time to Live» : 8bits utilisés de la même manière que le TTL de l entête du datagramme IP ; ette valeur peut être copiée depuis ou vers celle du datagramme IP. RSVP paradigm behind the original motivations for deploying MPLS networks is not critical anymore. Two stacked However, labels network Three operators stacked are labels still very keen on Three adopting stacked MPLS labels in their core(mpls, infrastructures MPLS, because IP) of(mpls, the enormous MPLS, advantages offered (MPLS, by such MPLS, a technology Les étiquettes peuvent être empilées ou «stackées», entre that integrates the flexibility of the MPLS, IP world IP) with the traffic control MPLS, and IP) management différents domaines, qui peuvent être combinés de différentes manières. capability FIGURE. achievable through a connection-oriented switching paradigm. In fact, today MPLS is mainly used to implement quality of service, traffic engineering and virtual Remarque MPLS domains, : les showing avancées how the endomains terme de can puissance be nested or de chained, routeur and ne how rend multiple plus labels solution MPLS incontournable, néanmoins elle private network solutions. permet are used. de faire de la QoS, de manière très efficace : fournit des garanties sur la QoS. MPLS : choixivan entre Marsic routage Rutgers University et commutation 0 (from routing protocols) Routing table (from peer s) To Label information base (LI) IP forwarding table estin. prefix Out port (not used in MPLS, except by edge s) Label forwarding information base (LFI) est. prefix In label Out label Out port La LFI, «Label Forwarding Figure -: Information Relationship ase» of LI est (label uneinformation structure de base) données and LFI qui(label sert àforwarding paramètrer le «forwarding» information base). des paquets où les destinations et les étiquettes d entrée sont associées avec les étiquettes et interfaces de sorties. sur un router, Label seule Forwarding la LFI Information est utilisée ase ; (LFI) is a data structure and way of managing sur un routeur «forwarding» in : which destinations and incoming labels are associated with outgoing interfaces/ports and labels. The LFI resides in the data plane and contains a local-label-to-nexthop label mapping along with the outgoing port, which is used to forward labeled packets. en ingress : il faut consulter la «IP forwarding table» en plus de la LFI ; en egress : il faut consulter seulement la «IP forwarding table» si le paquet ne contient plus qu une étiquette Table - summarizes the data structures maintained in IP routers versus MPLS s. However, MPLS. the process is somewhat more complex for edge s. On the ingress, the lookup is suivant le Ethertytpe performed : 0x0800 against the combined IPv, 0x88 IP forwarding table MPLS and LFI, Unicast described et 0x888 in the next section. MPLS Multicast. In the core (intermediary s), the lookup is performed only against the LFI. On the egress QoS : «packet switching» avec MPLS, the lookup is performed against the IP forwarding table if there was only a single label in edge -8. router, Here, so it edge replies with label receives, then a packet with selects destination its own IP label address as 9 9... and replies to. onsider the example in Figure -, has which illustrates one of the tunnels ( ) from Figure ours «Infrastructure Réseaux» P-F. onnefoi http://libpfb.so/ :@,!!%&'(!8.0+/!.+!#,Q,0.L?!]Q^^`! mars 0 0 the stack and this label was popped by the penultimate hop; otherwise, the LFI is looked up. s mentioned, the table to lookup into is determined by the link-layer header s Ether-Type or PPP Protocol field. The protocol identifier in the link-layer header tells the router what type of packet is coming in and therefore which table to look in: Illustration hapter Mechanisms for Quality-of-Service Flow of IP datagrams (denoted by FE) MPLS label Link-layer hdr IP header IP payload LFI MPLS domain = Label switching router FE = Forwarding equivalence class LSP = Label switched path LIF = Label forwarding information base F Egress Ivan Marsic Figure Rutgers -: University MPLS operation. On peut considérer MPLS comme un mécanisme permettant de créer et d utiliser des «chemins», path, sortes de «tunnels» :!"#% &'()'*% +,% -"%.//&'**'*%.,/% -"% &+0),% &+++(*% +% *'% 0% '%.*0,,'(*% 8,%!"#9 ',.:('/%&+0'&%)*%;,+<,%.*%.%Label Switching Router ()%8%*'%+=%#>*%<'&'%'.%#>%)*% segment segment &'..:('%=&+?%.,@%+'&%#>%).%*+?'%+'&%#>*%),%'%*.?'%*'%)*%.(('/%.,%MPLS segment label = label = domain% -,%+'&%<+&/*%.,%!"#%/+?.),%)*%=+&?'/%:@%.%+,)0+0*%,'<+&;%8%(.:'(%*<)),%&+0'&% label = packets =+&<.&/*% belonging.;'*% :@% '.?),),%.% *+&% =)'/9(',%!"#% (.:'(% E)0&'% F9GHI% J'% (.:'(% to the same &'&'*',*% FE.% )',%&.==)% =(+<%.,/%.((%'%.;'*% :'(+,),%+%)*%=(+<%*+0(/%:'%=+&<.&/'/%.(+,% '%.&+0'0,,'(%.**+).'/% <)% )*% (.:'(% 8% &.==)% =(+<% )*%.(('/%.% Forwarding Equivalence lass (FE)%.(*+%.%E0,)+,.(%KL0).(','%M(.**%.,/%)*%)*%.%&+0%+=%-"%.;'*% (Forwarding.% Equivalence.&'% =+&<.&/'/% lass) LSP (Label Switched Path, tunnel) ),% '% *.?'%?.,,'&% )'%.(+,% '% *.?'%.% <)% '% *.?'% =+&<.&/),%! &'.?',I%-,%+'&%<+&/*%8,%EKM%)*%.%*'%+=%.;'%=(+<*%<)%+??+,%&+**9+&'%=+&<.&/),9 "#!%&'()!.% &'L0)&'?',*% 8% *'L0','% +=% &+0'&*%.% =+&?%.%.%.(+,% <)%.% )',% EKM% =(+<% )*% =+&<.&/'/%=+&?*%.%0,,'(%<)%)*%;,+<,%.*%.%Label Switched Path (LSP)%E+&%'.?('%+,'%!*+,!+-./0#.!.+/,!!8/.!! *0%.% )*% =+&?'/% :@% &+0'&*% % %.,/% %),%E)0&'%F9GH%K.%#"%0,,'(%)*%0,)/)&')+,.(% +,'9<.@I% *.&),% <)%.,% ),&'**% #>% +),% &+0% ),'&?'/).'% #>*% )=%.,@%.,/% ',/),%!9&!:.0!;.,,.!<:;=)!>.?./!/!+@,0.!8/,+!>+,!!,+80,!0+/./+!/#,!/#! <)%.,%'&'**%#>%-=%/..%,''/*%+%&.'(%),%'%++*)'%/)&')+,%.*%<'((%<)%)*%0*0.((@%&0'% ',%.%*'.&.'%+,'9<.@%0,,'(%?0*%:'%:0)(%),%'%++*)'%/)&')+,%J+%*0??.&)N'%.,%EKM%)*% Ivan Marsic Rutgers University!.+/0,!<+#/,+/!@/#=!?!<(,0/.!E=!%&'(!+!/#,!>.?./!/!-!@0F,/+!G,! 0,)L0'(@%.**+).'/%<)%.,%#"%K.%.)&%+=%&+0'&*%.&''*%+,%.%(.:'(%),/'',/',(@%+=%+'&% Ivan Marsic Rutgers University >./!H+#/,+/!@/#+!8+.!0+/./H>+,!8/.! &+0'&%.)&*%.(+,%.,%#"%J'&'=+&'%'.%(.:'(%.*%local est. Prefix Out label scope%.,/%/)=='&',%*'?',*%+=%.,%#"% Out port est. Prefix Out label Out port 0,,'(%?.@%:'%&'&'*','/%:@%/)=='&',%!"#%(.:'(*%O@%)*%)*%*+%<)((%:'%'(.),'/%(.'&%! est. I./8?! Prefix Out &.G/,! label Out port J,/-F+! <I&J+! est. (,0/.! Prefix Out label =)! Out port K/??>?,! /8,?.! Ici, on L,0#.+L! a un tunnel,l8?/,+! où #.#H+@,,!M/8,?+N!>,/-,,!9&H?!L.+! le reçoit un paquet Networkà 9../ Ivan Marsic Rutgers University Network LFI() 9../ destination «9...» LFI() ; Port Port!O8/,!@/,0/.!!,+//.! LFI() LFI() Port Port dispose dans sa table de routage est. Prefix Out label Out port est. Prefix Out label Out port P! F,!,+!!../.?! %&'(!,G,?@L,/! 9... -+! /#,! @L.+,!! 8?/H+/! de la @0F,/! destination -.)! «9...0/» H ',+/! 9... Network H @,.Q! L/0#!.+! <-+=! 0L@8//.??!,Q@,+.G,! <(,0/.! RE=S! mais '>,?! nel/0#.! dispose pas -+! de l étiquette 9../ LFI() LFI() In label Out label Out port Port Port +,,!+!L80#!?,++!0L@8//.??!,Q@,+.G,!T-,G,!-./#!/#,!,L,,0,!!.>./!9&!8/,+! dans sa LFI ; In label Out label Out port LFI() 0@>?,!!9&!-.!+!+/!+!!%&'(H0@>?,!8/,!@,L+!?>,?!+-./0#.!/#,!+@,,! LFI() (a) (a) 9... 9... H 9... G/,! #+!.L..+#,! <?/#8#! /!.+@@,,! >,08+,!?>,?! +-./0#.! +/.??! 0! >,! le routeur.l@?,l,/,! envoi une requête.! In label! L80#! Out vers label +.L@?,! Out et port #-,=! K8,/?! %&'(!F,!+/,/#+!,!+,,!.! :.0! suivant un ;.,,.!!I./8?!&.G/,!J,/-F+U0@>.?./.,+!0./.0?!/!,/-F!+,G.0,!@G.,+!-#! LP, «Label LFI() istribution Pro- (a) 9... tocol», pour,,!/!>,//,!l,!,+80,+!8!/#,.!>0f>,+!!,,!/!,!i&j!+,g.0,+! le réseau «9...0/». 9... Label req. 9... Label req. Label req. H Label req. H 9../ 9../ le routeur est le «egress 9../», c-à-d 9../ (b) J/.0,!/#/!%&'(!.+!!+,/!!@/0?+!<+@,0..,!>!9;:V=!/#,!/#!!+.?,!@/0?!:#,!F,! (b) le routeur MPLS de sortie : il choisit une étiquette @/0?+!,! '>,?! W.+/.>8/.! &/0?!! '.F! %,L,/! &/0?! (,G,?!,Q.+/.! 9&! 9... libre,, ajoute Label une req. association Label req. H @/0?+!,!?+!@/,!/!-F!-./#!%&'(! est. Prefix Out label 9../ Out port 9../ est. Prefix Out est. label Prefix Out port Out label Out port est. Prefix Out label Out port «9...0/» (b) 9../ 9 dans sa LI, et 9../ 9 répond vers avec cette étiquette. Network Network 9../.. LFI() 9 9../ est. Prefix Out label MPLS Out port rchitecture est. Prefix Out label Out and port LFI() Operation LFI() 9 le routeur fait de même avec l étiquette 9. LFI() 9../ 9 est un intermédiaire : il ajoute une in- Network %&'(!.+!?0/,! >,/-,,! /#,!?.FH?,!!,/-FH?,! H @/0?+! <V.8,! HR=! +!./!.+! 9... Pfx: 9../ Pfx: 9../ Label = 9 Label = H,,,!/!+!!?,!X!@/0?!<.!/#,!Y(9!,,,0,!0#./,0/8,!-#,,!'.F!.+!?,!X!! 9... 9../ formation dans sa LFI ; Pfx: 9../ Pfx: 9../ LFI() 9 LFI() Label = 9 est un «igress Label =», c-à-d un routeur LI binding: In label Out label Out port 9../ LI binding: J,/-F!.+!?,! E=! %&'(! 0! 8! G,!.,,/!?.FH?,! In /,0#?.,+! label d entrée, Out label Out il port +80#! ajoute+! l association ;/#,,/! 9../! (c) 9 9... Pfx: 9../ Pfx: 9../ LFI() H Label = 9 Label = &&&! <(,0/.! R=! :#,! @/0?H.,/..,! (c) 9.,?!! /#,! LFI()?.FH?,! «9...0/» 9 #,,! +#8?!.,/.! /#,! LI binding: Figure @?!+!!%&'(!L,!V!,QL@?,!8.Z8,!&&&!0,!@./+!<0.,!.!/#,!&/0?!.,?! -: LSP path setup. In label (a) Out Packet label Out arrives port from router 9../ to towards a host in H s dans sa LFI ; (c) network (note that all LFI 9tables are empty). (b) Figure sends -: label LSP request path towards setup. (a) the Packet arrives from router to towards a host in H s V.8,!RH[=!.,/.!/#,!&&&!L,\+!0/,/+!+!!%&'(!L,!:#,!G?8,!!/#,!&&&!&/0?! LFI() lorsque «forward» un paquet il fait du destination while the data packet is held waiting until the network tunnel (note is set that up. (c) all LFI is tables the are empty). (b) sends label request towards the edge router,.,?! so! it replies %&'(! with 8.0+/! label, then.+! #,Q,0.L?! selects destination its own ]Q]X^R! label while as 9 P! the and +.L.?! data replies packet to,0@+8?/.!. is held «label waiting swapping», +0#,L,! until the tunnel.+! c-à-d 8+,! is set de Figure -: LSP path setup. (a) Packet arrives from router to towards a host in H s -#,! up. l échange (c) d étiquette then! selects its own label as 9 and replies to. is the network (note /+L.//.!G,!;/#,,/!-#,,!/#,!@?!.+!.,/..,!+!!%&'(!L,!-./#!8.Z8,!;/#,H that all LFI tables are empty). (b) sends edge label router, request so it towards replies the with label, destination onsider while the the example data in packet Figure is -, held waiting which illustrates until the one tunnel of the is set tunnels up. (c) ( ) is from the Figure :@,+! <V.8,! RH_<==!! ''K! L,\+! W(P&!,++,+! <V.8,! RH_<>==! :#,! G?8,!! ;/#,H ttention : le «tunnel» MPLS est plus efficace qu un «tunnel» VPN, mais se comporte de manière similaire (le «packet switching» est plus efficace que le «packet routing». MPLS : le fonctionnement the corresponding network prefix 9../ in its routing table, but does not have the label onsider binding the example in its LFI in Figure (label -, forwarding which information illustrates one base). of the To tunnels obtain ( ) a label for from this prefix, Figure uses a -8. label Here, distribution edge protocol receives and a packet sends with a message destination downstream IP address (to 9... and on to ) requesting has their the corresponding label for prefix network 9../. prefix 9../ When edge in its routing receives table, the but request, does not it knows have the that label itself is the binding egress in its LFI of (label the new forwarding tunnel (LSP, information label base). switched To obtain path), a because label for it this knows prefix, that router uses a H is the label distribution protocol and sends a message downstream (to and on to ) requesting their -8. Here, edge receives a packet with destination IP address 9... has the corresponding network prefix 9../ in its routing table, but does not have the label W.,,/! Forwarding Equivalence binding lasses in its LFI (FEs)! (label,+./,! forwarding information.,,/! base). 0?++,+! To obtain! a +,G.0,! label for this! prefix, uses a +,G.0,!@../.,+!;0#!%&'(H0@>?,!8/,!<?>,?!+-./0#.!8/,!'(O=!F,,@+!!?.+/!!?>,?+! label distribution protocol and sends a message downstream (to and on to ) requesting their /#/!0,+@!/!.,,/!V;K+!!,0#!8/.!?.F!P??!@0F,/+!>,?.!/!/#,!+L,!V;K! label for prefix 9../. When edge receives the request, it knows that itself is the E G H

MPLS : le fonctionnement hapter Mechanisms for Quality-of-Service hapter Mechanisms for Quality-of-Service un paquet à destination de «9...» est. Prefix Out label Out port est. Prefix Out label Out port 9../ 9 est reçu par qui utilise sa LFI 9../ 9 Network pour l envoyer vers ; Network 9../ utilise sa LFI pour envoyer 9../ le pa- LFI() LFI() Port Port Port Port quet vers et «switch» d étiquette entre 9 et ; 9... 9 9... 9... H 9 9... H (a) LFI() In label Out label Out port 9 lorsque le routeur reçoit le paquet, il regarde l étiquette et constate qu il est le est. Prefix Out label Out port «egress» : 9../ 9 il retire l étiquette ; il utilise sa table de routage pour envoyer le paquet vers H. 9... H Ivan Marsic Rutgers University s IP Forwarding table s IP Forwarding table est. Prefix Out label Out port estin. Prefix Out port estin. 9../ Prefix Out 9 port 9../ 9../ Network Network 9../ 9../ 9... H 9 On-demand ownstream Label istribution Unsolicited ownstream In label Label Out istribution label Out port (b) 9... 9 (b) Figure -: Forwarding 9...labeled packets (after the tunnel is set up in Figure -). L obtention d une étiquette est faite à l aide du protocole LP : (a) Within MPLS domain, a data packet is forwarded based on its MPLS label. (b) Once the Figure -: Forwarding labeled packets (after the tunnel is set up Figure -). packet desexits informations MPLS domain, de it liens, is forwarded «binding», based on sont its destination échangées IP address. pour associer une (a) Within MPLS domain, a data packet is forwarded based étiquette on its àmpls un FE label. ; (b) Once the Request for inding Label-to-FE inding packet exits MPLS domain, it is forwarded based on Therefore, its destination selects IP address. a label value that it is not currently using for any other LSP and sends a soit à la demande explicite d un routeur : «on-demand label distribution» ; Label-to-FE inding response message back to using the label distribution protocol. In our example (Figure -(c)), Therefore, selects a label value that it is not currently selected soit using defor the manière any label other value pro-active, LSP and and stored sends parthe envoi a label d un binding message for prefix contenant 9../ l association. in its LI (a) (b) response message back to using the label distribution protocol. (label information In our example base), not (Figure LFI (label -(c)), forwarding information base)! s LFI remains empty Figure -: Methods of MPLS downstream label distribution: (a) on demand; selected the label value and stored the label binding because for prefix does 9../ not use LFI in to its forward LI packets from this tunnel. is the egress of the (b) unsolicited. (label information base), not LFI (label forwarding information tunnel and base)! to forward s packets LFI remains towards empty H (which is not an and is not MPLS capable), will Label because istribution use conventional IP forwarding. does not use LFI to forward packets from this tunnel. is the egress of the In general, label bindings between two s can be distributed by either a downstream or an upstream tunnel. and MPLS to architecture forward requires packets downstream towards label distribution: H (which label-bindings is must not an When and receives is not the MPLS label response capable), from will, in general it will need to assign a different label for be distributed in the direction from a downstream to an upstream. There are two use conventional IP forwarding. the next segment of the same LSP tunnel, because it may be already using label for another methods for downstream label distribution (Figure -): LSP. Remember, routers are at crossroads of many different paths and these Time On-demand ownstream Label istribution: In this case, a downstream distributes a When receives the label response from, in general it will need First to assign bit received paths are established a different label for label binding in response to an explicit request from an upstream (Figure -(a)). n at unpredictable times. In our example (Figure -), selects the label value 9 for the upstream upstream the next recognizes segment a downstream of the same as its next-hop LSP for tunnel, an FE and because sends a request it may be already using label for another to for a binding between the FE and a label. If recognizes the FE and has a next segment of LSP. ecause is an intermediate, it does not store prefixes in its LFI; I hop LSP. for it, Remember, creates a binding routers and replies are to at crossroads. oth s then of have many a common different might paths even and not these be IP-capable. paths are Reception Rather, established needs delay just = the tincoming understanding, represented by the shared MPLS label value. This process is also illustrated in the x and outgoing labels. The example at unpredictable in Figure -. times. In our example (Figure -), incoming selects the label label value value is 9 9 (will for be the received upstream in MPLS packets from ) and the outgoing label value segment Unsolicited ownstream of LSP. Label ecause istribution: In this is case, an a downstream intermediate distributes, a is it does (will not be store sent in prefixes MPLS packets in its LFI; to ). In other words, the intermediate performs label label binding in response to an explicit request from an upstream Fwd (Figure decision -(b)). Last bit received downstream might even discovers not a next be hop IP-capable. for a particular FE, Rather, generates a label needs for this FE, Input port just swapping. the incoming Unlike and intermediate outgoing s, labels. edge The s do not perform label swapping. Each edge and communicates the binding to an upstream. inserts the binding into its LI (label incoming information base) label and checks value if it need is 9 to update (will the be corresponding received queuing entry in its MPLS delay LFI (label packets from ) and the outgoing label value forwarding information base). If is the next hop for the FE, can use that label as an outgoing is label, (will knowing be that sent its meaning in MPLS is understood packets by. to ). In other words, the intermediate Forwarding performs decision label delay = t f Each swapping. FE is specified Unlike as a set of one intermediate or more FE elements. s, Each FE edge element identifies s a set do of not perform label swapping. Each edge packets that may be mapped to the corresponding LSP tunnel. When an LSP is shared by multiple Fabric traversal FE elements, the shared LSP is terminated at (or before) the node where the FE elements can no longer share the same path. urrently defined types of FE elements are: queuing delay ONE WY ONE WY (a) «Switching» vs «routing» : les performances Switch fabric Output port Transmission queuing delay Transmission delay = t O x LFI() First bit transmitted Last bit transmitted Pour le switching : on consulte le «circuit-virtuel» auquel appartient le paquet en entrée ; on supprime le temps de décision, «Forwarding decision delay» t u ; on réduit le temps de «switching», le «Switch Fabric traversal delay» t u. In label Out label Out port 9 9... In label Out label Out port Switch fabric traversal delay = t s 9... MPLS : Ivan les Marsic différentes Rutgers University couches Network/IP layer Routing plane ontrol plane Network/IP layer Forwarding plane ata plane MPLS layer plane Link layer plane (Network s physical topology) ONE WY LSP MPLS domain correspond to different FEs on each outgoing link. ll packets belonging to the same FE have the same MPLS label value. However, not all packets that have the same label value belong to the MPLS same FE. This fact will become clear later, as we see that FE is determined by the label value and experimental bits (Exp) of the MPLS header. y default, packet s FE is determined by its vantages destination IP address. Other classification parameters include source IP address, IP protocol utilise type, la commutation, ifferentiated «switching», Services field auof lieu the IP duheader routage (Figure : les étiquettes -9), and peuvent TP/UP être port utilisés numbers. comme index dans une table The des packet s interfaces arrival deport sortie may dealso la table be considered commutation a classification ; parameter. Multicast packets belonging to a particular multicast group also form a separate FE. permet de définir des routes basées sur les contraintes de ressources plutôt que sur la distance la plus courte ; n edge- terminates and/or originates LSPs (label switched paths) and performs both labelbased la création forwarding deand VPN, conventional «Virtual Private IP forwarding Networks» functions. : le contrôle The edge- de mécanismes converts IP de packets tunneling offrant des supporte tunnelsinto rapides MPLS entre packets, domaines and MPLS IPs (par packets exemple into IP pour packets. uneon entreprise ingress to nationale an MPLS multi-site) domain, an : accepts unlabelled IP packets and creates an initial MPLS frame by pushing a shim header avantage conservé même avec des routeurs plus puissants ; between link-layer and network-layer headers (Figure -0). special table in the ingress, peut être transporté dans différents protocoles de niveau : MPLS est appelé protocole de niveau, en known as Label Forwarding Information ase (LFI), matches the FE to the label. LFI is OSI, an comme MPLS equivalent Ethernet ou for PPP the ; forwarding table of the IP protocol. On egress, the edge un terminates tunnel MPLS an LSP peutby avoir popping plusieurs the top FE MPLS : un stack FE peut entry être from choisi the packet, par rapport and forwarding à l adresse the IP destination ou l adresse resulting IPpacket sourcebased le type on rules de protocole, indicated by lesthe ports popped UP/TP, label (e.g., le champs that the payload «ifferentiated represents Services» an etc. ; IPv packet and should be processed according to IP forwarding rules). un tunnel MPLS peut offrir un réseau de niveau à la manière d un switch VPLS,«Virtual Private Lan Service» : support du domaine de diffusion : envoi en broadcast (par exemple de requête RP), en multicast ; limitation du domaine de collision : apprentissage des adresses M des machines connectées au tunnel ; MPLS & Virtual Private Networks LSP Figure -9: Protocol layering of an MPLS network. orrespondance avec les VPNS : routeurs MPLS d entrée et de sortie : «s» routeurs VPN LSP E PE «Provider Router» internes supportant MPLS :«ore s» internes P «Provider Router» LSP = Label switched path = Label switching router E «ustomer Router» en lien avec le routeur du réseau client F G ours «Infrastructure Réseaux» P-F. onnefoi http://libpfb.so/ mars 0