Tcp-ip Support de Cours

  • Published on
    10-Apr-2016

  • View
    23

  • Download
    11

DESCRIPTION

Tcp-ip

Transcript

Support de coursTM/THL/ASM Frdric GODFRYD & Edouard DOS SANTOSTCPIP-ED-TRT-VER2.DOC, 07/12/15__________________________________________________________________________________Support de coursTCP-IPTCPIP-ED-TRT-VER1, fait le lundi 7 dcembre 2015 par Frdric GODFRYD &Edouard DOS SANTOSTable des matires11.Introduction TCP/IP2.Les couches mises en jeu dans la transmission62.1Couche d'applications62.2Couche Transport62.3Couche IP (Internet Protocol)62.4Couche Rseau Physique63.Rseaux physiques74.Modle adopt par la suite85.L'adressage IP95.1A quoi s'applique une adresse IP ?95.2Forme d'une adresse IP95.3Notation dcimale pointe105.4Adresses rseaux rserves115.5Qui attribue les adresses IP ?125.6Critres d'attribution d'une adresse rseau145.7Systme autonome145.8Exemple146.Le subnetting (le sous adressage)156.1Principe gnral du subnetting156.2Subnet mask186.2.1Le Subnet mask par dfaut186.2.2Dfinition du Subnetmask206.2.3Application236.3Inconvnient du subnetting247.ARP (Address Resolution Protocol)267.1Format d'un message ARP277.2Exemple d'Ethernet288.RARP (Reverse Address Resolution Protocol)319.IP (Internet Protocol)339.1Rle du protocole IP339.2Format d'un datagramme IPv43310.Format d'un datagramme IPv639IPv6 Quelques Caractristiques:3911.L'adressage multicast4311.1Broadcast et multicast physiques4311.2Multicast IP4512.Le routage des datagrammes IP5012.1Concepts gnraux du routage5012.2Action d'un routeur sur les datagrammes reus5212.3Les tables de routage52C:\>route print5412.4L'utilisation d'une table de routage5512.5Exemple de tables de routage5512.6Le routage direct et indirect5612.6.1ROUTAGE DIRECT5712.6.2ROUTAGE INDIRECT5812.7Remarque importante5812.8Constitution des tables de routage5912.9Routes par dfaut6012.10routage spcifique pour certains hosts6112.11L'algorithme de routage IP6113.ICMP ( Internet Control Message Protocol )6213.1prsentation6213.2les diffrents messages ICMP :6213.3format du message ICMP6314.Architecture et routage6615.EGP (Exterior Gateway Protocol)6716.IGP (Interior Gateway Protocol)6816.1Le systme manuel6816.2Interior Gateway Protocols (IGP)6816.3Les algorithmes de type "distance vector"6916.3.1RIP6916.3.2HELLO7416.3.3IGRP7416.3.4Algorithme V-D : Inconvnients7416.4Les algorithmes de type "link status"7416.4.1OSPF7616.4.2IS-IS7717.UDP (User Datagram Protocol)7817.1La notion de port7817.2la gestion des numros de ports7917.3Exemples d'applications utilisant UDP79Le protocole UDP8017.4Format d'un message UDP8017.5Encapsulations successives8118.TCP (Transmission Control Protocol)8218.1TCP8218.2Les notions de connexion et de endpoints8218.3Format dun segment TCP8518.4Encapsulations successives8918.5Exemples d'applications utilisant TCP8919.Le modle client-serveur9120.Le protocole BOOTP (BOOTstrap Protocol)9121.Le systme domain name (DNS)9121.1La hirarchie dans l'adressage symbolique9121.2DNS9221.3La hirarchie Internet9321.4Lobtention dun nom de second niveau9421.5La correspondance entre adresses94DHCP9722.Linterface entre TCP/IP et les applications9923.Les programmes dapplications9924.Le management de rseau10024.1Architecture des protocoles de management10024.2Les rfrences10124.3La MIB10124.4SMI10225.Les Firewalls ou coupe-feu10425.1Prsentation10425.2Fonctionnement10425.3Les PROXY10525.3.1Dfinition10525.3.2Fonctionnement10526.Annexes10626.1Interactions des protocoles TCP/IP entre eux10626.2La hirarchie desMIB10726.3Les trames Ethernet10826.3.1ETHERNET V2.0 de Xerox, DEC, et INTEL10826.3.2IEEE 802.3/IS 8802.3 de lISO10826.3.3Le champ Type10926.3.4Le champ adresse constructeur10926.4Le format des paquets11026.4.1Le datagramme IP v411026.4.2Le datagramme IP v611226.4.3Le datagramme ARP11326.4.4Le paquet TCP11426.4.5Le datagramme UDP11526.5Le MTU11626.6Analyse de trames11726.6.1Les trames ARP11826.6.2Les trames ICMP12026.6.3Les trames PING12227.Bibliographie12528.GLOSSAIRE12629.Table dindex1291. Introduction TCP/IPInternet historique en quelques mots:Recherche du DARPA-Defense Advanced projects Research AgencyARPANET-fut le premier rseau commutation de paquet au millieu des annes 70-protocole sous leur forme actuelle 1978 1979-rseau de liaison point point-exploration des liaisons radios et satellitesLa mise en uvre de TCPIP en 1980 sur le rseau de recherche DARPA est le dbut de lInternetLa transistion est complte quand DARPA exige que toutes les machines dARPANET utilisent TCPIPTCPIP intgr lunix BSD-entre dans le monde universitaire-dveloppements dapplications rseaux avec le socketsNSFnet en 1986, 12 rseaux nationnauxInternet (ISOC, IAB, IETF):ISOC-Internet society: Internet Society. Organisme charg de promovoir le dveloppement du rseau Internet. L'ISOC gre galement l'volution de protocoles Internet par l'intermdiaire de l'IAB, del'IETF et de l'IRTFISOC France-Pilote lIAB,et l IETFInternet Architecture Board -organisation autonome, Organe central de l'ISOC dirigeant les volution de l'Internet via l'IANA, l'IEFT et l'IRTF-10 task forces-plusieurs rencontres annuelles-le chairman de lIAB est larchitecture de lInternetInternet Engineering Task Force-organis en groupe de travail, coordonne les dveloppements techniques de l'Internet-rapports techniques: drafts, RFCsrequest for commentsLes RFC sont disponibles notamment par courrier lectronique auprs du NIC ( Network Information Center ). Ce sont des standarts qui dcrivent les protocoles IP.-Ex: RFC 793 dcrit TCP-Ne sont pas (ou plus) uniquement des Request for CommentsCertains sont uniquement informatifs:FYI-RFC 1026: Answers to Commonly asked new Intenet User QuestionsBCP : (Best Current Practice)Tout le monde peut proposer un RFC, lIAB gre le processus dacceptation des RFCs .Ils passent par les tapes draftstandard avec des sauts: elective, recommended, required..Gestion des adresses IP et des noms de domaine : Le NIC France : la gestion des noms de domaines du "top-level domain" .fr, par l'association AFNIC. (Association Franaise pour le Nommage Internet en Coopration). En particulier, son serveur HarmoNIC permet de faire des recherches multi-critres concernant les noms de domaines. RIPE : l'organisme qui attribue et gre les adresses IP pour l'Europe. Dans le reste du monde : les adresses IP sont gres par l'ARIN pour l'Amrique et par l'APNIC pour la zone Asie - Pacifique. ICANN, l'organisme qui coordonne au niveau mondial les adresses IP, les noms de domaine, les assignations de paramtres des protocoles (par exemple les numros de ports) et le bon fonctionnement des serveurs de noms de domainesVoir liste et modalits d'obtention de ces documents dans Internetworking with TCP/IP, pages 441 et 475Architecture de lInternet:LIntenet est un rseau virtuel construit en interconnectant des rseaux physiques par des passerelles, des routeurs.LIntenet supporte un service de communication universel.Architecture de lInternet: Vue utilisateurArchitecture de lInternet: La ralitLe protocole de communication TCP/IP tire son nom des deux principaux protocoles qu'il contient : TCP ( Transmission Control Protocol ) et IP ( Internet Protocol ).TCP/IP propose une mthode d'interconnexion logique des rseaux physiques et dfinit un ensemble de conventions permettant des changes de donnes entre des ordinateurs situs sur des rseaux physiques diffrents. Il a t dvelopp par la DARPA (Defense Advanced Research Projects Agency). Il est notamment oprationnel sur le rseau Internet qui est un rseau de taille mondiale fdrant les rseaux d'universits, d'institutions de recherche, de laboratoires de recherche amricains et de nombreuses entreprises.TCP/IP est un terme gnrique qui renvoie une vaste famille de protocoles et de services que l'on peut regrouper en trois grandes catgories :Les utilisateurs invoquent des applications sana avoir besoin de connatre la technologie de lInternet ni son architecture.SYMBOL 113 \f "Wingdings" des programmes d'applications:le courrier lectronique (smtp)le transfert de fichiers (ftp, tftp)laccs linformation distante (WWW (http))laccs des machines distantes (telnet)les forums (News)SYMBOL 113 \f "Wingdings" les protocoles assurant un transport de bout en bout ( tcp et udp )SYMBOL 113 \f "Wingdings" les protocoles acheminant les donnes dans le rseau ( ip )Le tableau ci-dessous donne le nom des principaux protocoles ou services de TCP/IP, avec l'indication de la couche correspondante dans le modle OSI de l'ISO.2. Les couches mises en jeu dans la transmissionNous donnons dans ce chapitre un aperu des fonctions ralises par les 4 couches principales de l'environnement TCP/IP.2.1 Couche d'applicationsLes applications interagissent avec les protocoles de la couche transport pour envoyer ou recevoir des donnes. Chaque programme d'application choisit le type de service de transport souhait et transmet ses donnes au niveau transport pour acheminement.2.2 Couche TransportLa couche transport est charge de fournir un moyen de communication de bout en bout entre deux programmes d'application. La couche transport peut agir soit en mode connect et ainsi rguler le flux des informations et fournir un service fiable, soit en mode non connect (sans acquittements).La couche transport divise le flux de donnes venant des applications en paquets, transmis avec l'adresse de destination IP au niveau IP. Inversement, le niveau transport dlivre aux applications les paquets venant du niveau IP.2.3 Couche IP (Internet Protocol)La couche IP encapsule les paquets reus du niveau transport dans des units appeles datagrammes IP.Les couches IP des diffrentes machines ont pour mission de cooprer l'acheminement des datagrammes dans le rseau suivant un mode non connect et non fiable (connectionless and unreliable). Pour ce faire, des algorithmes de routage sont mis en oeuvre dans les diffrentes machines.La couche IP traite galement les datagrammes reus du niveau Rseau Physique. Si une machine recevant un datagramme en cours d'acheminement s'aperoit qu'elle est destinataire finale du datagramme IP, le niveau IP de cette machine transmet le datagramme au niveau transport. Sinon il retransmet ce datagramme sur un autre rseau physique en fonction de l'algorithme de routage.2.4 Couche Rseau PhysiqueCette couche est en contact direct avec le matriel. Elle assure la transmission d'un datagramme venant du niveau IP en l'encapsulant dans une trame physique et en transmettant cette dernire sur un rseau physique. De plus, quand une trame physique sur le rseau lui est destine, elle remonte le datagramme qu'elle contient au niveau IP. Elle est implante sous la forme d'un device driver.3. Rseaux physiquesLes protocoles de la famille TCP/IP supportent diffrents rseaux physiques. Citons par exemple :SYMBOL 113 \f "Wingdings" Ethernet ou IEEE 802.3SYMBOL 113 \f "Wingdings" Token Ring ou IEEE 802.5SYMBOL 113 \f "Wingdings" Rseau par satelliteSYMBOL 113 \f "Wingdings" Rseau hertzien mobile transmission par paquetsSYMBOL 113 \f "Wingdings" Rseau public x25, utilis comme rseau de transportSYMBOL 113 \f "Wingdings" ISDN/RNISSYMBOL 113 \f "Wingdings" SLIP ou PPPL'unit de transfert d'un rseau physique est une trame.Cette trame contient un en-tte, des donnes, et un champ de contrle. L'en-tte inclut diffrents renseignements dont les adresses physiques de la source et du destinataire.Frame HeaderFrame Data AREATrailerC'est dans la partie frame data area que viennent s'intgrer ( encapsulation ) les diffrentes informations de service des protocoles des couches suprieures ainsi que les donnes utilisateur.Ex: format dune trame Ethernet 802.3 (rappel)Ex: Adresse IEEE802.3 ou Ethernet (rappel)4. Modle adopt par la suiteA partir de maintenant nous ne nous intresserons plus la topologie physique des rseaux. Nous considrerons un inter-rseau, c'est dire un ensemble de rseaux utilisant des rgles communes de communication, ici l'ensemble des protocoles de communication TCP/IP.Notons qu'un ensemble de segments Ethernet interconnects par des ponts ne sera vu au niveau suprieur (niveau IP) que comme un unique rseau physique.Ces rseaux sont relis entre eux par des ordinateurs appels routeurs IP. Ces routeurs sont chargs d'aiguiller les diffrents datagrammes en transit dans l'inter-rseau.Mme si TCP/IP fournit une vue logique des communications entre ordinateurs, il ne faut pas toutefois perdre de vue que les transmissions effectives de donnes ne peuvent se faire qu'entre deux machines connectes au mme rseau physique.Le mcanisme d'adressage logique induit par TCP/IP est compltement indpendant des mcanismes d'adressage physique utiliss par les diffrents rseaux physiques.TCP/IP fournit des outils permettant d'associer une adresse physique une adresse logique avant transmission d'information sur le rseau physique.5. L'adressage IPCe chapitre traite de l'adressage logique, c'est dire du moyen essentiel qu'utilise TCP/IP pour masquer les rseaux physiques et pour donner au rseau un aspect uniforme.5.1 A quoi s'applique une adresse IP ?Dans la terminologie TCP/IP, le terme hte (host en anglais) s'applique tout le systme informatique qui possde une interface rseau et qui utilise un logiciel de communication implantant TCP/IP pour transmettre ou recevoir des informations. Il peut s'agir, par exemple, de PC ou de stations UNIX. Les routeurs sont des htes particuliers chargs d'interconnecter des rseaux.Une adresse IP se compose de deux parties. La premire partie identifie le rseau physique sur lequel est rattach l'hte. La seconde partie identifie l'interface rseau de l'hte sur ce rseau.Chaque interface rseau d'un hte possde donc une adresse IP. Un hte connect n rseaux (un routeur par exemple) aura donc n adresses IP distinctes, une pour chaque interface rseau. Notons la diffrence avec une adresse DECnet qui identifie de faon unique un hte quel que soit le nombre d'interfaces rseau.La plupart des htes ne possdent gnralement qu'une interface rseau. Aussi existe-t-il un certain abus de langage qui consiste parler de l'adresse IP d'un hte, plutt que de l'adresse IP de l'interface rseau de l'hte.5.2 Forme d'une adresse IPLes adresses IP ont une longueur de 32 bits soit 4 octets. Chaque adresse IP est une paire de champs (ID Rseau, ID Machine) o : SYMBOL 113 \f "Wingdings" ID Rseau identifie un rseauSYMBOL 113 \f "Wingdings" ID Machine identifie une interface sur ce rseauIl existe cinq classes diffrentes d'adresses (A, B, C, D et E). Les longueurs respectives des champs ID Rseau et ID Machine sont indiques la page suivante.Ces classes peuvent tre distingues en comparant les premiers bits du premier octect :0pour une adresse de classe A10pour une adresse de classe B110pour une adresse de classe C1110pour une adresse de classe D11110pour une adresse de classe E07152331Octet 1b7 b0Octet 2b7 b0Octet 3b7 b0Octet 4b7 b0Classe A0ID RseauID MachineClasse B10ID RseauID MachineClasse C110ID RseauID MachineClasse D1110Adresse de diffusion GROUPE ( Multicast )Classe E11110Rserv pour une utilisation future-Attention: les premiers bits, qui dsignent la classe, sont inclus dans le champ ID Rseau. Cest dire que le champ ID Rseau fait 8 bits en classe A, 16 bits en classe B et 24 bits en classe C.5.3 Notation dcimale pointePour plus de clart, les adresses IP sont crites comme une suite de quatre dcimaux spars par des points. Chaque dcimale reprsentant un octect de l'adresse.1000 0000 . 0000 1010 . 0000 0010 . 0001 1110128.10.2.30notation binairenotation pointeCe format est appel notation dcimale pointe (dotted-decimal notation).5.4 Adresses rseaux rservesVoici une manire de reprsentation de ladresse rserve: {netid; hostid}(RFC 1918)Adresse de boucle locale : {127; quelconque} l'adresse rseau 127.0.0.0 est rserve pour la dsignation de la machine locale, c'est dire la communication intra-machine. Une adresse rseau 127 ne doit, en consquence, jamais tre vhicule sur un rseau et un routeur ne doit jamais router un datagramme pour le rseau 127 Cela permet aussi de tester la pile TCP/IP de sa machine (attention pour les machines Microsoft ladresse de Loopback est: 127.0.0.1)Adresse de diffusion limite : {-1; -1} netid ne contient que des 1 (255.255.255.255) : l'adresse constitue concerne uniquement le rseau physique associ (local), par dfaut ne passe pas les routeursL'adresse de diffusion dirige :{netid; -1} netid est une adresse rseau spcifique => la diffusion concerne toutes les machines situes sur le rseau spcifi : 192.20.255.255 dsigne toutes les machines du rseau 192.20.Adresse avec tous les bits 0: {0; 0} Signifie "celui-ci". C'est dire "cette machine" si la parite ID hte est zro, ou "ce rseau" si la partie ID rseau est zro. Ainsi, si une machine veut connatre son identificateur rseau, elle n'a qu' envoyer un paquet dont l'ID rseau vaut zro. Elle recevra en rponse un paquet dont l'ID rseau sera celui du rseau local.(Rsum:Allocation des rseaux privs rservsReserved Private Network AllocationNetwork ClassDefault NetmaskPlages dadresses rservsA255.0.0.010.0.0.0- 10.255.255.255B255.255.0.0172.16.0.0- 172.31.255.255C255.255.255.0192.168.0.0- 192.168.255.255( Ces adresses IP ne sont pas routables sur Internet, les FAI ont positionns des filtres sur leurs routeurs.Attention: ladresse 10.0.0.0 est une adresse Rseau, donc pas utilisable, ladresse 10.255.255.255 est une adresse de broadcast dirig, donc non utilisable aussi.Il est donc possible de btir un rseau d'entreprise en utilisant l'un des espaces d'adressage rservs aux rseaux privs coups de l'Internet. Le rseau de classe A 10.0.0.0, les rseaux de classe B allant de 172.16.0.0 172.31.0.0, ainsi que ceux de classe C courant de 192.168.0.0 192.168.255.0 sont dfinis par la RFC (Request for Comment - publications de l'IETF) 1918 comme non attribus sur l'Internet et rservs au rseaux privs dconnects. Il est alors possible de relier ces rseaux l'Internet public en utilisant les routeurs comme des NAT, ou Network Address Translators, qui vont attribuer la vole une adresse publique aux machines internes dsireuses d'tablir une connexion avec l'Internet public, et effectuer une traduction automatique des adresses IP dans l'en-tte des paquets. 5.5 Qui attribue les adresses IP ?le NIC (Network Information Center) est un organisme dpendant du DoD (Dpartement de la Dfense US) qui attribue toute socit ou organisation qui le demande une adresse rseau.Le NIC dlgue sa responsabilit la socit ou l'organisation demandeuse pour l'attribution des adresses htes (champs ID Machine).Il n'est pas obligatoire pour une socit ou une organisation de demander une adresse rseau auprs du NIC tant qu'elle ne connecte pas son rseau au rseau mondial Internet. Mais en prvision de l'avenir, c'est fortement recommand.5.6 Critres d'attribution d'une adresse rseauLa demande d'attribution d'adresses auprs du NIC est accompagne d'un descriptif du rseau de la socit indiquant le nombre de rseaux physiques et d'htes adresser actuellement et dans cinq ans. En fonction de ces informations, le NIC attribue une adresse rseau de classe A, B ou C. La classe de l'adresse limite le nombre d'htes adressables.... presque 17 millions d'htes (2 24 -2) pour une classe A, 65534 htes (2 16 -2) pour une classe B, et 254 htes (2 8 -2) pour une classe C.Le choix de la classe d'adresse est important. Prenons l'exemple d'un rseau disposant d'une adresse rseau de classe C (pouvant donc adresser au maximum 254 hosts). Si le nombre d'htes sur ce rseau vient un jour dpasser 254, il faudra alors passer une adresse rseau de classe B avec tous les problmes de changements d'adresses que cela implique.PlanAdresse rseauNombre de Nombre dadressesNombres dadressesDadressagePremireDerrnirerseauxpar rseauxmachines par rseauClasse A0.0.0.0127.0.0.012616.777.21616.777.214Classe B128.0.0.0191.255.0.016.3846553665534Classe C192.0.0223.255.255.02.097.152256254Classe D224.0.0.0239.255.255.255268.435.456Classe E240.0.0.0247.255.255.2555.7 Systme autonomeChaque socit qui obtient auprs du NIC une adresse rseau constitue un systme autonome.5.8 ExemplePrenons l'exemple d'une socit dont le rseau (un Token Ring ici) est reli au rseau mondial Internet par un routeur.Le rseau de la socit a pour adresse rseau 195.10.40.0. (adresse rseau de classe C). L'adresse de l'interface de chaque hte commence donc par le prfixe 195.10.40. Le routeur a deux interfaces rseau. La premire est du ct de la socit (adresse 195.10.40.1), la seconde est du ct du rseau Internet et possde une adresse IP diffrente de la prcdente.6. Le subnetting (le sous adressage)Le rseau d'une socit (ou d'une organisation) ne se limite pas, la plupart du temps, un seul rseau physique. Il est en fait constitu de multiples rseaux physiques interconnects, appels sous-rseaux.Or, le NIC n'attribue une mme socit qu'une seule adresse rseau. Grce au subnetting, il est possible de crer dans le schma d'adressage IP un niveau de hirarchie supplmentaire pour identifier ces sous-rseaux.Le sous-adressage est une extension du plan dadressage initialDevant la croissance du nombre de rseaux de lInternet, il a t introduit afin de limiter la consommation dadresses IP qui permet galement de diminuer : la gestion administrative des adresses IP, la taille des tables de routage des passerelles, la taille des informations de routage, le traitement effectu au niveau des passerelles.6.1 Principe gnral du subnettingPrincipes:A lintrieur dune entit associe une adresse IP de classe A, B ou C, plusieurs rseaux physiques partagent cette adresse IP. On dit alors que ces rseaux physiques sont des sous-rseaux (subnet) du rseau dadresse IP.Supposons qu'une socit ait obtenu auprs du NIC une adresse rseau de classe B (159.95.0.0 par exemple).1 ier Octet2 ime Octet3 ime et 4 ime Octets15995champ ID MachineFormat des adresses IP des machines de la socitsans utilisation du subnettingSi le manager du rseau de la socit dsire crer un niveau de hirarchie supplmentaire dans le schma d'adressage IP pour identifier ses sous-rseaux, il devra rserver cet effet quelques uns des premiers bits du champ ID Machine.Ces bits constituent le subnet field. C'est ce subnet field qui identifiera de faon unique les diffrents sous-rseaux.Le choix de la longueur du subnet field est de la seule responsabilit du manager du rseau de la socit. Il dpend du nombre de sous-rseaux et du nombre d'htes.Les sous-rseaux 128.10.1.0 et 128.10.2.0 sont nots seulement avec le NetId, les machines seulement avec le Hostid ; exemple IP(F) = 128.10.2.9Un site avec deux rseaux physiques utilisant le sous-adressage de manire ce que ses deux sous-rseaux soient couverts par une seule adresse IP de classe B. La passerelle P accepte tout le trafic destin au rseau 128.10.0.0 et slectionne le sous-rseau en fonction du troisime octet de ladresse destination. Le site utilise une seule adresse pour les deux rseaux physiques. A lexception de P, toute passerelle de linternet route comme sil nexistait quun seul rseau. La passerelle doit router vers lun ou lautre des sous-rseaux ; le dcoupage du site en sous-rseaux a t effectu sur la base du troisime octet de ladresse :les adresses des machines du premier sous-rseau sont de la forme 128.10.1.X,les adresses des machines du second sous-rseau sont de la forme 128.10.2.X.Pour slectionner lun ou lautre des sous-rseaux, P examine le troisime octet de ladresse destination : si la valeur est 1, le datagramme est rout vers rseau 128.10.1.0, si la valeur est 2, il est rout vers le rseau 128.10.2.0.Conceptuellement, la partie locale dans le plan dadressage initial est subdivise en partie rseau physique + identification de machine (hostid) sur ce sous-rseau :Partie Internet correspond au NetId (plan dadressage initial)Partie locale correspond au hostid (plan dadressage initial)les champs Rseau physique et identifieur Machine sont de taille variable; la longueur des 2 champs tant toujours gale la longueur de la Partie locale. Le choix du dcoupage dpend des perspectives dvolution du site: Exemple Classe B : 8 bits pour les parties rseau et machine donnent un potentiel de 256 sous-rseaux et 254 machines par sous-rseau, tandis que 3 bits pour la partie rseau et 13 bits pour le champ machine permettent 8 rseaux de 8190 machines chacun.Exemple Classe C : 4 bits pour la partie rseau et 4 bits pour le champ machine permettent 16 rseaux de 14 machines chacun.Lorsque le sous-adressage est ainsi dfini, toutes les machines du rseau doivent sy conformer sous peine de dysfonctionnement du routage ==> configuration rigoureuse.Les notations suivantes sont utilises :dcimale pointe; exemple : 255.255.255.0triplet : { , } ; cette notation renseigne les valeurs mais pas les champs de bits; exemple { -1, -1, 0 } , { 128.10, 27, -1 }.adresse rseau/masque : 193.49.60.0/27 (27=# bits contigs du masque)Diffusion sur les sous-rseaux:Elle est plus complexe que dans le plan dadressage initial.Dans le plan dadressage Internet initial, Hostid = 11..1, ==> diffusion vers toutes les machines du rseau.D'un point de vue extrieur un site dot de sous-rseaux, la diffusion na de sens que si la passerelle qui connat les sous-rseaux propage la diffusion tous ses rseaux physiques : { rseau, -1, -1 }.Depuis un ensemble de sous-rseau, il est possible dmettre une diffusion sur un sous-rseau particulier : { rseau, sous-rseau, -1 }.6.2 Subnet maskLe Subnet mask permet d'obtenir, l'adresse du sous-rseau d'un hte dont on connat l'adresse IP. Reprenons l'exemple d'un format d'adressage de classe B avec un subnet d'un octet. Le masque 255.255.255.0 appliqu l'adresse IP 130.10.140.25 donnera par addition logique bit bit l'adresse 130.10.140.0 qui est l'adresse du sous-rseau de cette machine.6.2.1 Le Subnet mask par dfautLa procdure AND est applique aux masques de sous-rseau de l'hte local et de destination1 AND 1 = 1Autres combinaisons = 0Si les rsultats de AND des htes source et de destination correspondent, la destination est localePrenons par exemple l'adresse IP 175.147.247.163En binaire : 10101111 10010011 11110111 10100011 Appliquons cette adresse le masque de classe B 255.255.0.0En binaire : 11111111 11111111 00000000 00000000 La superposition spare le partie netID de la partie hostID : IP : 175.147.247.163 = 10101111 10010011 11110111 10100011Masque : 255.255.0.0 = 11111111 11111111 00000000 00000000--------------------------------------------------------------------netID : 175.147.0.0 = 10101111 10010011 00000000 00000000hostID : 247.163 = 00000000 00000000 11110111 10100011Le netID est donc 175.147.0.0 et le hostID 247.1636.2.2 Dfinition du SubnetmaskQue sont les bits du masque de sous-rseau ?Dfinition d'un masque de sous-rseauAdressage de sous-rseaux utilisant plus d'un octetDfinition des identificateurs de sous-rseauMthode rapide de dfinition des identificateurs de sous-rseauDfinition des identificateurs d'hte pour un sous-rseauChaque identificateur de sous-rseau indique la premire valeur d'une plageLa dernire valeur de chaque plage est gale l'identificateur de sous-rseau suivant moins 16.2.3 Application votre rseau possde ladresse rseau 192.168.1.0 et vous dcidez de crer cinq sous rseaux.(Adresse de broadcast dirig)NIDFirst Add Sub. Net.Last Add Sub. Net.First Add HostLast Add Host10002001301040115100610171108111Exemple de problme avec une adresse IP de classe C utilisant un masque 255.255.255.224.:IP : 205.101.55.91 = 11001101 01100101 00110111 01011011Masque : 255.255.255.224 = 11111111 11111111 11111111 11100000--------------------------------------------------------------------netID : 205.101.55.64 = 11001101 01100101 00110111 01000000hostID : 27 = 00000000 00000000 00000000 00011011Ici, le netID est donc 205.101.55.64 et le hostID 27. Allons plus loin et regardons les diffrentes possibilits qu'offre un tel masque de sous-rseau.Les 3 bits verts peuvent, en principe, prendre toutes les combinaisons de 0 ou de 1 comprises entre 000 et 111. Les 5 bits rouges peuvent, de la mme faon, prendre toutes les combinaisons comprises entre 00000 et 11111. Je m'interromps deux minutes pour prciser qu'une RFC (Request For Comments) dclare que ni un hostID ni la partie sous-rseau d'un netID ne peuvent comporter que des 0 ou que des 1. Cette limitation thorique ne trouve pas souvent cho... Corrigeons donc : les 3 bits verts peuvent prendre des valeurs de 001 110 (car 000 et 111 ne sont pas autoriss selon la RFC) :-> 001, 010, 100, 011, 110, 101, ce qui fait 6 sous-rseaux Les 5 bits rouges montrent des hostID pouvant prendre des valeurs de 00001 11110 (car 00000 et 11111 ne sont pas autoriss), ce qui donne des adresses dcimales de 1 30 (0 et 31 ont t exclus par la RFC), donc 30 adresses par sous-rseau. De cette faon, la classe C peut tre sous-divise en 6 sous-rseaux : 205.101.55.033 - 062205.101.55.065 - 094205.101.55.097 - 126205.101.55.129 - 158205.101.55.161 - 190205.101.55.193 - 222 Vous constatez qu'il "manque" toujours deux adresses chaque sous-rseau. La premire, issue du hostID 00000 dfinit tout le sous-rseau, par exemple 205.101.55.32; la deuxime, issue du hostID 11111 donne l'adresse de diffusion du sous-rseau, par exemple 205.101.55.63. Une petite polmique vient de ce que, sans la RFC, des adresses 205.101.55.1 - 30 (provenant du sous-rseau 000) et des adresses 205.101.55.225 - 254 (provenant du sous-rseau 111) seraient possibles.De telles adresses sont d'ailleurs utilises sans problmes sur les rseaux Microsoft. De cette manire un masque de sous-rseau 255.255.255.224 segmente une classe C non pas en 6, mais en 8 sous-rseaux de 30 adresses chacuns. 6.3 Inconvnient du subnettingLe dplacement d'un hte l'intrieur d'une socit d'un sous-rseau vers un autre sous-rseau constitue un inconvnient du subnetting. Il implique ncessairement un changement d'adresse IP (voir DNS pour viter ce problme). En effet, comme nous l'avons dit prcdemment, l'utilisation du subnetting rserve une partie de l'adresse IP pour identifier le sous-rseau auquel est rattach l'hte.6.4 Le sous-adressage variable (VLSM)(RFC 1009) : un rseau IP peut possder plusieurs masques diffrents; ==> rseau de type VLSM (Variable Length Subnet Masks) Evite la rigidit du masque fixe qui impose : le nombre de sous-rseaux le nombre de machines par sous-rseau Exemple : 130.5.0.0/22 ==> 64 sous-reseaux et 1022 machines / sous-rseau uinadapt pour des petits sous-rseaux de quelques machines; exemple 30 machines sur un sous-rseau ==> 992 adresses IP perduesPermet ladaptation de ladressage IP a la taille des sous-rseauxExemple prcdent : cohabitation de grands et petits sous-rseaux 130.5.0.0/22 (64 sous-reseaux et 1022 machines / sous-rseau)130.5.0.0/26 (1024 sous-rseaux de 62 machines / sous-rseau)Division dun espace IP en sous-rseaux successifsPermet de masquer les informations de routage entre groupes de sous-reseaux6.5 .3 CIDR (RFC 1518/1519)Solution au problme de pnurie progressive des adresses IP est de tenter de mieux utiliser les adresses existantes, et notamment celles encore non attribues. Une des grandes difficults rside dans le fait que beaucoup de socit ont besoin de plus de 256 adresses (aussi une classe C se rvle-t-elle insuffisante), mme si elles sont loin de pouvoir utiliser l'intgralit des adresses d'une Classe B. Deux choix sont alors possibles : attribuer un bloc de plusieurs classes C, mais ceci ncessite de dcouper le rseau d'entreprise en sous-rseaux de 255 machines relies par des routeurs. Ou bien allouer une partie seulement d'une classe B en crant artificiellement un masque de sous-rseau dcoupant le bloc de 65000 adresses en des espaces d'adressages plus petit. Grce au classless inter-domain routing ou CIDR, il est dsormais possible pour les prestataires d'accs de dcouper loisir les espaces d'adresses qui leurs sont allous d'un seul bloc et de ne faire figurer dans les principaux routeurs de l'Internet qu'une unique adresse et un prfixe de sous-rseau permettant de router automatiquement vers le prestataire l'ensemble des paquets adresss l'une quelconque des adresses contenu dans ce bloc. On s'affranchit ainsi du dcoupage arbitraire et peu flexible en classes : l'allocation des ressources est plus fine et les tables de routages sont allges au cur du rseau. En ce sens, le subneting et CIDR ne sont pas de vritables solutions au problme de la raret des adresses IP, mais en permettant une allocation plus fine des ressources, elles repoussent d'autant les consquences de la rarfaction acclre des adresses IPLes protocoles de routage substituant des espaces C un espace B obissent au classless interdomain routing ou CIDR. Un rseau pourrait donc se voir allouer 8 espaces C, prenant les 2048 adresses 201.10.0.0 201.10.7.255, au lieu d'un espace B de 65 536 adresses. Puisque l'administrateur de rseau se voit allouer 8 rseaux C, il lui reste 21 bits d'adresse de rseau. L'adresse et le prfixe dcrivant le rseau sont ds lors 201.10.0.0 et 21, qu'on crit sous la forme 201.10.0.0/21 (fig. 3.5). (cette mthode permettant donc de diminuer la taille des tables de routages)7. ARP (Address Resolution Protocol)Le problme qui se pose ici est d'obtenir l'adresse physique (niveau 2 OSI) d'une machine, connaissant son adresse IP (niveau 3 OSI). En effet, pour envoyer un message sur un rseau, c'est l'adresse physique qui est prise en compte pour l'acheminement des trames physiques (trames Ethernet, Token Ring....).Les adresses physiques de certains types de rseaux physiques peuvent tre configures par l'administrateur du rseau. En consquence, une correspondance simple peut parfois tre dfinie entre les adresses physiques et IP. La connaissance de l'une impliquant directement la connaissance de l'autre.Mais ce n'est pas le cas gnral et d'Ethernet en particulier. Les adresses physiques mises en jeu sur un segment Ethernet sont celles des cartes Ethernet. Ces adresses, d'une longueur de 6 octets, sont fixes la construction et sont donc immuables. La correspondance doit tre alors tablie dynamiquement. La solution : ARPMise en place dans TCP/IP dun protocole de bas niveau appel Adress Resolution Protocol (ARP)Rle de ARP : fournir une machine donne l'adresse physique (MAC) d'une autre machine situe sur le mme rseau partir de l'adresse IP de la machine destinatriceLe protocole ARP (Address Resolution Protocol) ralise une telle rsolution d'adresses dynamique pour des rseaux Ethernet, Token Ring, FDDI....LA technique :Diffusion d'adresse sur le rseau physique La machine d'adresse IP met un message contenant son adresse physiqueLes machines non concernes ne rpondent pasGestion cache pour ne pas effectuer de requte ARP chaque mission7.1 Format d'un message ARPUn message ARP est encapsul dans une trame physique pour transmission sur le rseau.Message ARPFrame HeaderFrame Data AREATrailer Hardware Type / Type de rseau; 1 ( Ethernet Protocol Type / Type de protocole; 0x0800 ( IP Hard Add Size ; longueur en octets de ladresse physique Lg adresse protocole; longueur enoctets de ladresse IP Opration;1 ( Request ARP2 (Reply ARP3 ( Request RARP4 ( Reply RARP Senders Hardware Address; adresse physique de lmetteur de la trame Senders IP Address; adresse IP de lmetteur de la trame Targets Hardware Address; adresse physique du destinataire de la trame Targets IP Address; adresse IP du destinataire de la trameb0b4b8b16b24b31Hardware TypeProtocol TypeHard Add SizeProtocol Add SizeOperationSenders Hardware Address (byte 0 to 3)Senders Hardware Address (byte 4 to 5)Senders IP Address (byte 0 to 1)Senders IP Address (byte 2 to 3)Targets Hardware Address (byte 0 to 1)Targets Hardware Address (byte 2 to 5)Targets IP Address (byte 0 to 3)Deux RFC documentent ARP; la RFC 826 dcrit ARP et la RFC 1166 dfinit les valeurs Type permettant lidentification des trames transmises.7.2 Exemple d'EthernetConsidrons le segment Ethernet ci-dessous sur lequel sont connectes quatre machines W, X, Y et Z. Supposons que Y veuille communiquer avec Z dont il ne connat que son adresse IP : IPZ. Y WX ZPour communiquer avec Z qui est situ sur le mme rseau physique que lui, Y a besoin de connatre physique Ethernet de Z PhZ.Pour la trouver, il envoie par le mcanisme de broadcast physique, un message ARP toutes les machines situes sur le segment Ethernet. On appelle adresse broadcast l'adresse physique Ethernet FF:FF:FF:FF:FF:FF Une trame envoye cette adresse sera reue par toutes les machines du segment Ethernet. Notons qu'une information situe dans l'en-tte de la trame Ethernet permet aux machines qui reoivent ce broadcast de savoir qu'il s'agit d'un message ARP (ARP Request).Parmi toutes les machines qui vont recevoir cette trame, (X, Y et Z dans l'exemple), seule Z va reconnatre son adresse IP, IPZ, et remplie la partie reste vide du message ARP avec son adresse physique PhZ puis renvoit le message ARP Y (ARP Reply).Quand Y reoit la rponse et pour viter d'avoir refaire une requte ARP un peu plus tard, il place la correspondance des deux adresses dans une table appele cache. De mme, les machines W, X et Z (qui ont toutes trois lu le message ARP) placent dans leur cache la correspondance entre l'adresse IP de Y et l'adresse physique de Y. Notons que chaque entre du cache a une dure de vie limite pour tenir compte des ventuels changements de cartes Ethernet.Voici un exemple de capture de trame ARP (retrouver les diffrents champs?). Adresse IPAdresse Physique Ethernet135.12.23.65AA:00:15:2F:3b:84135.12.56.8900:0C:00:4C:79:48135.12.56.90A4:C5:45:78:56:E3Exemple de cache ARPExemple://gefisa # arp -a27 routeur1 (128.1.1.10) at 2:60:8c:23:49:68 (0)36 adp1 (128.1.1.2) at 0:20:af:29:b2:35 (0)//gefisa #8. RARP (Reverse Address Resolution Protocol)Une station sans disque relie un rseau ne peut garder son adresse IP. En effet, le code situ en ROM, qui doit rester suffisamment gnral, n'inclut pas l'adresse IP de la machine.Lors du boot, la station contacte en broadcast par le protocole RARP (Reverse Address Resolution Protocol) un serveur RARP. Ce serveur, en consultant ses tables, informe la station de l'adresse IP qui lui est affect.Le protocole RARP utilise un message RARP dont les champs sont identiques ceux du message ARP. La station effectuant la requte RARP place dans le champ adresse physique destination son adresse physique et laisse vide le champ adresse logique de destination. Ce champ sera complt par les serveurs RARP.Les requtes RARP sont propages vers le ou les serveur(s) RARP par mcanisme de diffusion. Le(s) serveur(s) RARP rponde(nt) par un message de type RARP.Voici un exemple de capture de trame RARP (retrouver les diffrents champs?).9. IP (Internet Protocol)ce chapitre dcrit le protocole IP (Internet Protocol), assimilable un protocole de couche 3 dans le modle OSI. TCP/IP fournit une vision logique des changes de donnes entre deux htes. Au niveau IP, les donnes des utilisateurs ou des applications sont encapsules l'intrieur d'units de transfert appeles datagrammes IP.9.1 Rle du protocole IPLe protocole IP fournit un service d'acheminement des datagrammes IP sans connexion et non fiable (connectionless and unreliable).Le terme, sans connexion, indique que les datagrammes seront achemins de l'hte metteur vers l'hte destinataire indpendamment les uns des autres. De plus des datagrammes venant d'un mme programme d'application peuvent ne pas arriver dans l'ordre leur destinataire.Le terme non fiable indique que cet acheminement n'est pas garanti. Un datagramme peut se perdre dans l'inter-rseau ou bien tre dupliqu. C'est aux niveaux suprieurs de rsoudre ces diffrents problmes.Le protocole IP dfinit : l'unit de donne transfre dans les interconnexions (datagramme), la fonction de routage,(niveau 3 du modle OSI et niveau 2 modle IP) les rgles qui mettent en oeuvre la remise de paquets en mode non connect9.2 Format d'un datagramme IPv4Un datagramme se compose d'un en-tte et de donnes. Avant transmission sur un rseau physique, le datagramme IP est encapsul dans une trame physique.IP HeaderIP Data AREAFrame HeaderFrame IPTrailerL'en-tte IP contient principalement :Le datagramme IP:L'unit de transfert de base dans un rseau internet est le datagramme qui est constitue d'un en-tte et d'un champ de donnes:Signification des champs du datagramme IP :VERSION : numro de version de protocole IP, actuellement version 4,(valeur = 4)Longueur de lentte (HLEN) : longueur de l'en-tte en mots de 32 bits, gnralement gal 5 (pas d'option),Type de service : indique comment le datagramme doit tre gr : (par dfaut = 0)PRECEDENCE (3 bits) : dfinit la priorit du datagramme; en gnral ignor par les machines et passerelles (pb de congestion).Bits D, T, R : indiquent le type d'acheminement dsir du datagramme, permettant une passerelle de choisir entre plusieurs routes (si elles existent) : D signifie dlai court (Delay) T signifie dbit lev (Throughput) R signifie grande fiabilit.( Reliab)Longueur totale du paquet : longueur totale du datagramme (en-tte + donnes)Identification du paquet: id du paquet (type alatoire)Fanion (FLAGS): (valeur par dfaut = 0)Contient un bit appel "do not fragment" (01X)un autre bit appel "More fragments" (FLAGS = 001 signifie d'autres fragments suivre) permet au destinataire final de reconstituer le datagramme initial en identifiant les diffrents fragments (milieu ou fin du datagramme initial).Les passerelles doivent accepter des datagrammes dont la taille maximale correspond celle du MTU le plus grand, des rseaux auxquels elle est connecte.Les passerelles doivent accepter sans les fragmenter, les datagrammes de longueur 576 octets.Reserved0#1bit; rserv (mettre 0)DontFrag0#1bit; 0=May Fragment, 1=Don't FragmentMoreFrag0#1bit; 0=Last Fragment, 1=More FragmentsLes champs de la fragmentation.:Sur toute machine ou passerelle mettant en oeuvre TCP/IP une unit maximale de transfert (Maximum Transfert Unit ou MTU) dfinit la taille maximale d'un datagramme vhicul sur le rseau physique correspondant.Lorsque le datagramme est rout vers un rseau physique dont le MTU est plus petit que le MTU courant, la passerelle fragmente le datagramme en un certain nombre de fragments, vhiculs par autant de trames sur le rseau physique correspondant, lorsque le datagramme est rout vers un rseau physique dont le MTU est suprieur au MTU courant, la passerelle route les fragments tels quels (rappel : les datagrammes peuvent emprunter des chemins diffrents).Le destinataire final reconstitue le datagramme initial partir de l'ensemble des fragments reus; la taille de ces fragments correspond au plus petit MTU emprunt sur le rseau. Si un seul des fragments est perdu, le datagramme initial est considr comme perdu : la probabilit de perte d'un datagramme augmente avec la fragmentation.Position Relative (FRAGMENT OFFSET) : Indique le dplacement des donnes contenues dans le fragment par rapport au datagramme initial. C'est un multiple de 8 octets; la taille du fragment est donc galement un multiple de 8 octets.Chaque fragment a une structure identique celle du datagramme initial, seul les champs FLAGS et FRAGMENT OFFSET sont spcifiques.Dure de vie (TTL): (par dfaut = 64)Ce champ indique en secondes, la dure maximale de transit du datagramme sur l'internet. La machine qui met le datagramme dfinit sa dure de vie.Les passerelles qui traitent le datagramme doivent dcrmenter sa dure de vie du nombre de secondes (1 au minimum) que le datagramme a pass pendant son sjour dans la passerelle; lorsque celle-ci expire le datagramme est dtruit et un message d'erreur est renvoy l'metteur.ProtocoleCe champ identifie le protocole de niveau suprieur dont le message est vhicul dans le champ donnes du datagramme :Somme de contrle de len-tte:Ce champ permet de dtecter les erreurs survenant dans l'en-tte du datagramme, et par consquent l'intgrit du datagramme.Le total de contrle d'IP porte sur l'en-tte du datagramme et non sur les donnes vhicules. Lors du calcul, le champ HEADER CHECKSUM est suppos contenir la valeur 0 :OPTIONS:Le champ OPTIONS est facultatif et de longueur variable. Les options concernent essentiellement des fonctionnalits de mise au point. Une option est dfinie par un champ octet :copie (C) indique que l'option doit tre recopie dans tous les fragments (c=1) ou bien uniquement dans le premier fragment (c=0).Les bits classe d'option et numro d'option indiquent le type de l'option et une option particulire de ce type :Enregistrement de route (classe = 0, option = 7) : permet la source de crer une liste d'adresse IP vide et de demander chaque passerelle d'ajouter son adresse dans la liste.Routage strict prdfini par l'metteur (classe = 0, option = 9): prdfinit le routage qui doit tre utilis dans l'interconnexion en indiquant la suite des adresses IP dans l'option :Le chemin spcifi ne tolre aucun autre intermdiaire; une erreur est retourne l'metteur si une passerelle ne peut appliquer le routage spcifi.Les passerelles enregistrent successivement leur adresse l'emplacement indiqu par le champ pointeur.Routage lche prdfini par l'metteur (classe = 0, option = 3): Cette option autorise, entre deux passages obligs, le transit par d'autres intermdiaires :Horodatage (classe = 2, option = 4) : cette option permet d'obtenir les temps de passage (timestamp) des datagrammes dans les passerelles. Exprim en heure et date universelle.Une liste de couples (adresse IP - horodatage) est rserve par l'metteur; les passerelles ont charge de remplir un champ lors du passage du datagramme.Le champ dpassement de capacit (dep.) comptabilise les passerelles qui n'ont pu fournir les informations requises ( liste initiale tait trop petite).Le champ FLAGS indique si les passerelles doivent renseigner uniquement l'horodatage (FLAGS = 0), ou bien l'horodatage et l'adresse IP (FLAGS=1). Si les adresses IP sont prdfinies par l'metteur (FLAGS=3), les passerelles n'indiquent l'horodatage que si l'adresse IP pointe par le champ pointeur est identique leur adresse IP.Les horodatages, bien qu'exprims en temps universel, ne constituent qu'une estimation sur le temps de passage car les horloges des machines situes sur les rseaux ne sont pas synchronises.10. Format d'un datagramme IPv6IPv6 Quelques Caractristiques: Adresse plus longue : 128 bits (16 octets) adressage de 340 x 10 e36 quipements adressage hirarchique une partie peut-tre l'adresse MAC (IEEE802) =>autoconfiguration 3 types d'adresses :Unicast MulticastAnycastplus dadresse de broadcast En-tte simplifi nombre de champs rduit de moiti- augmente l'efficacit de commutation des quipements de routage Extension de l'en-tte pour les options Les options IPv6 sont places dans des en-ttes spars,intercals entre l'en-tte IPv6 et l'en-tte de la couche transport=> introduction aise de nouvelles fonctionnalits la longueur des options n'est plus limite 40 octetsIPv6 Nouvelles fonctionnalits: Autoconfiguration : "plug and play" Gestion de la mobilit Renumrotation facile si changement de prestataire Serveurs d'adresses (DHCP : Dynamic Host Configuration Protocol)et SAA : Stateless Address Autoconfiguration (RFC 1971) Multipoint (Multicast) inclus de base pour les routeurs et les clients "scope" = meilleur routage des paquets multicast- plus besoin de Mbone ni de mrouted "Marquage" des flux particuliers : (Flow Label) applications temps rel, Qualit de Service (QoS)- Priorit du trafic de contrle Scurit : authentification et intgrit des donnes- en option : confidentialit Routage partir de la source Source Demand Routing ProtocolIPv4 -> IPv6 :changements de l'en-tte Header Length (IHL) : supprim ToS --> Flow Label Total Length (TL) --> Payload Length ID, Flags et Fragment Offset (FO) : supprims TTL --> Hop Limit Protocol --> Next header (mmes valeurs que dans IPv4) Header CS : supprim Adresses : 32 --> 128 bits (4 --> 16 octets) Alignement 32 --> 64 bitsVersion (4)version du protocole : 6Priorit (4)0 : pas de priorit particulire1 : trafic de base (news)2 : transfert de donnes sans contraintes temporelles (email)3 : rserv4 : transfert de donnes avec attente du rcepteur (ftp)5 : rserv6 : trafic interactif (login)7 : trafic de contrle (routage)Flow Label (24)permet d'identifier un trafic. Ce n'est pas encore entirement dfini dans la RFC.Payload Length (16)taille, en octets, de tout ce qui suit cet entteNext Header (8)indique quel est le type de donnes suivant cet entte.Par exemple : 6=tcp, 17=udp, 0=Hop-by-Hop_Options, 43=routing, 44=fragment, 60=destination_options, 59=rien_ne_suit, etc.Hop Limit (8)entier dcrment chaque traverse de machine. Lorsque ce paramtre vaut zro, le paquet doit tre jet.Source Address (128)adresse de la machine sourceDest. Address (128)adresse de la machine destination, sauf si le source routing est employReprsentation des adressesUne adresse IPv6 est reprsente sous la forme : aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhhaaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh/nb_de_bits_du_masqueLorsque de nombreux zros se suivent, ils sont remplacs par "::" (cela ne peut tre fait qu'une fois).Les bits de poids fort indiquent quel est le type d'adresse :0000 0000adresse loopbackadresse IPv6 avec une fin en IPv40000 001adresse NSAP0000 010adresse IPX001adresse unicast Aggregatable1111 1110 10adresse unicast de liaison locale (adresse prive non routable)1111 1110 11adresse unicast de site local (adresse prive non routable)1111 1111adresse multicastRFC 1884 RFC 1884 Format de Base (16 octets): Adresse IPv6 Globale : FEDC:BA98:7654:3210:FEDC:BA98:7654:3210 Format compress : FF01:0:0:0:0:0:0:43 => FF01::43 Adresse Link Local : FE80::IID IID=@ IEEE-802 Adresse compatible IPv4 : 0:0:0:0:0:0:0:134.157.4.16 => ::134.157.4.16- Les adresses de machines non compatibles IPv6 sont reprsentes sous la forme :0000:0000:0000:0000:0000:FFFF:ww.xx.yy.zzIPv6 : Adresses particulires Adresse de Loopback : 0:0:0:0:0:0:0:1 => ::1 Adresse non specifie : 0:0:0:0:0:0:0:0 => ::Ne peut jamais tre adresse destinationIPv6 : Prfixes Notion issue de CIDR On les note sous la forme :Adresse IPv6 / longueur du prfixe Exemples :5F00::/85F06:B500::/32 On peut indiquer quune adresse fait partie dun rseau dont le prfixe est de longueur dtermine (netmask)5F06:B500:8158:1A00::1/80Les extensions du paquet Ipv6: 11. L'adressage multicastCe chapitre prsente le multicasting IP, une extension rcente du schma d'adressage IP, qui permet d'acheminer un mme datagramme IP plusieurs destinataires.11.1 Broadcast et multicast physiquesLe broadcast physique consiste acheminer une mme trame physique toutes les machines connectes au rseau physique concern (un segment Ethernet par exemple). Sur Ethernet, le broadcast est ralis en envoyant la trame l'adresse Ethernet de broadcast (0xFF:FF:FF:FF:FF:FF). Le driver contrlant la carte Ethernet est configur pour reconnatre l'adresse broadcast.Le multicasting physique consiste acheminer une mme trame physique vers certaines machines appartenant un mme groupe multicast physique. Notons que l'implmentation de cette notion n'existe pas forcment suivant la nature du rseau physique. Sur Ethernet, une adresse multicast est caractrise par le dernier bit du premier octet de l'adresse Ethernet positionn 1 (= adresse unicast). Le driver contrlant la carte Ethernet est configur pour reconnatre l'adresse multicast choisie par l'hte.Comment seffectue la correspondance entre une adresse Ethernet et une adresse IP?Le paquet IP est encapsul dans une trame Ethernet. Les cartes Ethernet ne capturent (filtrent) que les trames qui leur sont destines. Une premire possibilit est d'utiliser l'adresse de diffusion d'Ethernet pour envoyer des datagrammes multicast. Ce cas est valable si des cartes ne sont pas capables de reconnatre des adresses de groupes Ethernet. L'inconvnient est que le filtrage sera effectu au niveau IP surchargeant la CPU.Une autre possibilit est d'effectuer une correspondance entre une adresse de groupe IP et une adresse de groupe Ethernet. Le IANA possde un ensemble d'adresses Ethernet: 00:00:5E:XX:XX:XX - La moiti de ces valeurs (utilisation de 23 bits) est rserve pour le multicast. Ainsi, pour les adresses multicast les valeurs 01:00:5E:00.00.00 01:00:5E:7F:FF:FF sont disponibles. Le fait de limiter 23 bits la correspondance permet de conserver un nombre de bits au niveau dEthernet non utiliss dans la correspondance pour dautres protocoles. Pour mettre en correspondance les adresses de diffusion au niveau IP avec les adresses de diffusion Ethernet, placer les 23 bits de poids faible des adresses de diffusion au niveau IP dans les 23 bits de ladresse de diffusion de groupe au niveau Ethernet.On remarquera que plusieurs adresses de groupe IP pourraient avoir les mme 23 bits de poids faible. Cela oblige le logiciel IP de vrifier le champ adresse destinataire IP pour filtrer tous les paquets qui ne lui sont pas destins.Exemple:Ladresse multicast 224.192.16.1 devient 01-00-5E-40-10-01. Utiliser les 23 bits de poids faibles, le premier octet nest pas utilis, et seulement les 7 derniers bits du second octet sont utiliss. Le troisime et quatrime octets octets sont directement convertis en nombre Hxadcimal. Le second octet, 192 devient en binaire 11000000. Si vous ne tenez pas compte du dernier bit, cela devient 1000000 ou 64 (en decimal), ou 0x40 (en hexadecimal). Pour loctet suivant, 16 en hexadecimal devient 0x10. Pour le dernier octet, 1 en hexadecimal devient 0x01. Ainsi, ladresse MAC correspondant 224.192.16.1 devient 01-00-5E-40-10-01.Token Ring utilise la mme mthode au niveau de la couche MAC-pour ladressage multicast. Toutefois, plusieurs adaptateurs rseaux de type Token-Ring ne le supporte pas. Reste que ladresse fonctionnelle sera 0xC0-00-00-04-00-00 pour tout traffic multicast IP envoy vers un rseau Token Ring. Voir RFC 1469.Par dfaut, le coupleur Ethernet dune station coute son adresse Ethernet (fixe en PROM) et ladresse de broadcast (FF.FF)Les autres adresses Ethernet doivent tre explicitement programmes dans le driver du coupleurPour le multicast, il faut couter au minimum: Equvalent Ethernet de 224.0.0.1 (tous les htes Xcast du LAN) Equivalent Ethernet du rpertoire des sessions du Mbone annonant la liste des groupes multicast actifs.11.2 Multicast IPUn groupe peut contenir des htes se trouvant sur le mme rseau ou sur plusieurs rseaux. Dans ce dernier cas, des routeurs spciaux Multicast Routers (mrouters ou MR) acheminent les datagrammes de diffusion de groupe. C'est en 1988 que les premires expriences furent menes. Comme tous les routeurs ne supportent pas les fonctionnalits d'un MR, un rseau virtuel form de tunnels (liaisons virtuelles point point) regroupant les MR fut dploy: le MBone (Multicast BackBone). Le MBone va permettre que le multicast soit une ralit au del du LAN. Un tunnel fonctionne de la manire suivante: partir d'une extrmit (MR) un paquet multicast est encapsul dans un paquet UDP unicast (avec une adresse IP individuelle) et envoy sur l'Internet; Arriv l'autre extrmit, le paquet est dsencapsul. Des extensions au protocoles existants sont ncessaires: d'une part sur l'hte et d'autre part sur certains routeurs qui seront des MR.Le multicasting IP est une abstraction du multicasting physique. Il permet l'acheminement d'un mme datagramme IP un ensemble d'htes formant un mme groupe multicast. La transmission relle utilise le multicast physique (si disponible) pour raliser ce multicast IP. Les membres d'un mme groupe n'appartiennent pas forcment au mme rseau physique. Chaque groupe multicast a une unique adresse de classe D, attribue par le NIC.Permet un hote de sabonner (dsabonner) un groupe, et dire aux routeurs envoie moi une copie des paquets recus par cette adresse de groupe.Diffusion de 1 vers plusieurs (1 vers n): Pas dinteraction des destinataires Tlsminaire Diffusion des tables de routages RIPv2 Bootstrapsur le rseau Decouverte automatique de ressources sur le rseau..Diffusion de plusieurs vers plusieurs (n vers m): Chaque membre du groupe peut tre source du flux multicast Tlconfrence Jeux interactifs (Star war)Meilleur utilisation de la bande passante: Les mmes donnes ne circulent quune seule fois sur le mme lienLes emetteurs (source) et les receveurs (membres) sont distinctsLes htes disent aux routeurs de quels groupes ils sont membres: Ne recoivent que les datagrammes de ces groupes Ne disent rien sur les groupes multicast auxquels ils envoient des informationsLes routeurs doivent couter toutes les adresses multicast Pour tre capable de transmettre les datagrammes multicastLes routeurs utilisent des protocoles de routage multicast pour administrer les groupes multicast.3201110adresse multicastformat dune adresse de classe DComment limiter la propagation des datagrammes ?Les datagrammes sont munis dun champ dure de vie (TTL: Time To Live) qui permet de limiter leurs propagation. En effet, les routeurs ont la responsabilit selon la valeur du TTL de retransmettre ou non le paquet. Cette facult n'est pas assure par les ponts (niveau 2). Lorsque TTL=1, la porte du datagramme est le rseau local. Classe D: 224.0.0.0 239.255.255.255Rservation de plages dadresses spcifiques: Les adresses 244.0.0.0 224.0.0.255 239.*.*.*: administratively scoped addresses (adresses rserves pour usage privs). Toutes les autres adresses de 244.0.1.0 239.255.255.255 sont attribues de facon permanente diffrents applications et sont rserves pour une allocation dynamique via SDR ou autre mthodes.L'appartenance un groupe multicast IP est dynamique. Un hte peut rejoindre ou quitter un groupe tout moment. Notons qu'un hte n'a pas besoin de faire partie d'une groupe pour lui envoyer un datagramme en multicasting.L'implantation du multicast IP est ralise par le protocole IGMP (Internet Group Management Protocol).Ce protocole utilise le protocole IP pour envoyer ses messages.Il existe deux versions, IGMPv1, IGMPv2, la version 3 est en cours dlaboration (IETF / IDMR). Version 1 (RFC 112) Version 2 (RFC 2236) Version 3 (draft)IGMP, comme ICMP, fait partie de la couche IP et utilise des datagrammes IP.Le module IP identifie IGMP par la valeur 2 du champ protocole.Le message IGMP contient les champs suivants:version = 1; type = 1 (requte du routeur multicast) ou 2 (rapport de l'hte)adresse de groupe = 0 dans une requte.Une adresse multicast ne peut tre que destinataire: Cest ladresse dun groupe de machines abonnes une session multicastLes sources (emetteurs) ont toujours une adresse unicastLe niveau Liaison de donnes nutilise pas ARP: Mcanisme de correspondance (pour les @ IEEE-802) @IP Xcast -> @Ethernet XcastEtre membre dun groupe est indpendant denvoyer ce groupe Une source nest pas obligatoirement membre du groupe auquel elles envoie un flux multicastIGMP: un seul routeur sur le LANLe routeur envoie toutes les 60 (120) secondes une sollicitation aveugle l@224.0.0.& (query) avec un TTL=1, quel(s) groupe(s) voulez vous vous abonner? et attend les rponses.Le(s) hte(s) renvoient un IGMP report qui indique ladresse du ou des groupes qui les) intressent.Sile routeur ne reoit aucune rponse pour un groupe donn, il arrte le rmission des paquets multicast de ce groupe, le groupe est rput sans abonn local.Quand lhte reoit linvitation query, il fixe un delai avant de rpondre (pour viter que toutes les rponses arrivent au mme moment).Quand un hte rpondu, les autres nont pls besoin de rpondre => une rponse par groupe multicast et par LAN.Le routeur arme une temporisation sur les abonnements aux groupes multicast avant de solliciter nouveau touts les htes (sollicitation priodique).IGMP: plusieurs routeurs sur le LANUnrouteur est lu entre tous les routeurs, cest le Dominant Router (DR) ou Designated Router: Il est seul mettre les IGMP Queries En v1, le mcanisme dlection est fonction du routage Xcast et nappartient pas IGMP En v2, le DR est le routeur dont l@IP est la plus petiteLe DR nest pas forcment le routeur qui transmet les paquets Xcast.Pour IGMP v2:Election du DR => @IP la plus petiteTimers programmablesNouveaux type de paquets envoys par lhte => de dsabonnement (leave) => au reu dun leave, le routeur envoie un query directionnel aux htes qui ont t abonns ce groupe, rduction du temps de latence pour arrter la diffusion dun groupe qui na plus dabonnIGMP v2, doit obligatoirement supporter la version 1.IGMP permet la distrubution des datagrammmes Xcast sur le LAN.Dans la famille des protocoles de routage Multicast:On distingue deux familles de protocoles en fonction du mode de diffusion des paquets multicast utilis:Mode dense: inondation et elagage, DVMRP; PIM-DIM; MOSPF (suppose que les abonns aux groupes Xcast sont nombreux).Mode pars: greffe et lagage, PIM-SM; CBT (faible population abonne).12. Le routage des datagrammes IPCe chapitre explique comment est ralis l'acheminement d'un datagramme IP depuis son hte metteur jusqu' son destinataire final.La technologie TCP-IP est de type bout en bout en opposition aux technologies point point (Cf X25), lacheminement des paquets est ralis par routage plutt que par commutation : IP est dit sans tatsLes lments de linterconnexion ne doivent fournir quun service minimum: router du mieux quils peuvent (best efford);IP over everything.Les services ncessaires la communication (Contrle de flux, gestion des derreurs, congestion, etc.) sont raliss de bout en bout un autre niveau (Cf TCP).12.1 Concepts gnraux du routageLe routage est le processus permettant d'acheminer un datagramme IP de son hte metteur jusqu' son hte destinataire. Rappelons que chaque datagramme IP est rout indpendamment des autres.Deux types d'quipements pratiquent un routage :SYMBOL 113 \f "Wingdings" Les gateways (appels aussi routeurs IP)Les routeurs IP sont des quipements d'interconnexion de rseaux physiques agissant au niveau IP. Chaque routeur possde des interfaces rseau sur au moins deux rseaux physiques.Les htes s'adressent aux routeurs IP pour assurer le bon acheminement de leurs datagrammes. Les routeurs IP ont toutes les informations leur permettant d'atteindre soit directement, soit via une srie de routeurs, l'hte destinataire.SYMBOL 113 \f "Wingdings" Les machines htes (host)Un hte participe uniquement l'acheminement (au routage) des datagrammes mis par ses programmes d'applications.Si un hte metteur est situ sur le mme rseau physique que l'hte destinataire, il peut lui envoyer directement un datagramme : il encapsule le datagramme dans une trame physique et envoie directement la trame sur le rseau physique concern. Le datagramme pour tre achemin n'est pass par aucun routeur. On parle de routage direct.Si le destinataire d'un datagramme n'est pas situ sur le mme rseau physique que l'hte metteur, ce dernier dtermine le premier routeur IP dans la direction de l'hte destinataire, qui lui transmet le datagramme. Ce datagramme est transmis de routeur en routeur jusqu' ce qu'il atteigne une passerelle qui puisse le dlivrer directement son destinataire. On parle de routage indirect.12.2 Action d'un routeur sur les datagrammes reusLorsqu'un routeur IP reoit sur l'une de ses interfaces une trame physique, il en extrait le datagramme quelle contient. Puis il met en oeuvre un algorithme de routage utilisant une table de routage pour dterminer dans quelle direction propager le datagramme.En fonction de l'adresse de destination IP contenue dans l'en-tte du datagramme, il dtermine vers quel rseau physique (parmi ceux auxquels il est connect) doit tre rout le datagramme. Il encapsule alors ce datagramme dans une nouvelle trame physique, puis met cette dernire sur ce rseau physique. Il est important de bien comprendre qu'un routeur qui reoit sur l'une de ses interfaces une trame physique n'y voit l'intrieur qu'un datagramme IP. Les informations contenues dans la partie data du datagramme lui sont compltement transparentes.12.3 Les tables de routageNous avons dit que toute dcision de routage tait prise en fonction de l'adresse IP de destination du datagramme. en fait, c'est plus exactement en fonction de l'adresse du rseau (ou du sous-rseau) de destination du datagramme. Cela ne change pas grand chose en fait, mais permet d'avoir des tables de routage moins longues, donc plus simples mettre jour.Il serait en effet difficile de grer des tables de routage contenant toutes les adresses IP des machines de l'inter-rseau (il suffit d'imaginer ce qu'il se passerait si une nouvelle machine tait installe sur un rseau : il faudrait modifier les tables de routage de toutes les autresmachines ....).Les tables de routage ne contiennent donc que des adresses rseau (ou des adresses de sous-rseau).Chaque routeur ou hte possde une table de routage qui lui est propre.Une entre d'une table de routage contient cinq champs :Network address, Subnet Mask, IP address. Metric, TTlSYMBOL 113 \f "Wingdings" Le champ Network address contient l'adresse IP d'un rseau ou d'un sous-rseau.SYMBOL 113 \f "Wingdings" Le champ Subnet Mask (Netmask) contient le subnet mask associ Network address.SYMBOL 113 \f "Wingdings" Le champ IP address(gataway address) contient : soit ladresse IP du prochain routeur dans la direction du rseau atteindre. soit la mention Deliver Directly, alors la machine est connecte sur le mme rseau physique que la machine destination.SYMBOL 113 \f "Wingdings" Le champ InterfaceAffichage de la table de routage de votre ordinateur:C:\>route printAjouter une nouvelle route static:route add 199.199.41.0 mask 255.255.255.0 199.199.40.1 metric 212.4 L'utilisation d'une table de routageSupposons qu'un routeur doive router un datagramme destination de l'adresse IP : IPdestination .Le routeur lit tour tour chaque ligne de la table de routage et applique le Subnet Mask qu'il y trouve IPdestination. Si le rsultat correspond Network Address, alors il lit le troisime champ IP address. Ce champ lui indique alors :SYMBOL 113 \f "Wingdings" soit une adresse IP : l'adresse IP du prochain routeur dans la direction de l'hte destinataire. Le routeur recherche alors dans ses tables ou par ARP l'adresse physique correspondant cette adresse IP, puis encapsule le datagramme dans une trame physique destination du routeur en question.SYMBOL 113 \f "Wingdings" soit la mention Deliver Directly qui lui indique que l'hte destinataire est sur un rseau qui lui est directement connect.12.5 Exemple de tables de routageNous donnons la page suivante les diffrentes tables de routage des quipements prsents dans l'inter-rseau figur ci-dessous. Cet inter-rseau se compose de :- Deux routeurs : Routeur_1 et Routeur_2- Trois htes : Hte_A, Hte_B et Hte_C- Trois rseaux dadresses : 195.10.40.0, 195.10.50.0 et 195.10.60.0Dtaillons la table de routage du Routeur_1.Les deux premires lignes de la table indiquent que tout datagramme destination d'un hte situ sur 195.10.40.0 ou sur 195.10.50.0 peut tre achemin cet hte destinataire. En effet, le Routeur_1 est directement connect ces deux rseaux et peut donc envoyer une trame physique directement tout hte de ces rseaux.La troisime ligne indique que tout datagramme destination de 195.10.60.0 doit tre envoy au Routeur_2, d'adresse IP 195.10.50.202.Table deroutageNetworkaddressSubnet MaskassociIPAddress195.10.40.0255.255.255.0Deliver Directlydu Routeur_1195.10.50.0255.255.255.0Deliver Directly195.10.60.0255.255.255.0195.10.50.202195.10.40.0255.255.255.0195.10.50.201du Routeur_2195.10.50.0255.255.255.0Deliver Directly195.10.60.0255.255.255.0Deliver Directly195.10.40.0255.255.255.0Deliver Directlyde lHte_A195.10.50.0255.255.255.0195.10.40.200195.10.60.0255.255.255.0195.10.40.200195.10.40.0255.255.255.0195.10.50.201de lHte_B195.10.50.0255.255.255.0Deliver Directly195.10.60.0255.255.255.0195.10.50.202195.10.40.0255.255.255.0195.10.60.200de lHte_C195.10.50.0255.255.255.0195.10.60.200195.10.60.0255.255.255.0Deliver Directly12.6 Le routage direct et indirectPour expliquer plus prcisment le routage d'un datagramme, partons de la source et supposons qu'un hte appel Hte A souhaite envoyer un datagramme IP un hte distant appel Hte B.Nous allons distinguer deux cas suivant que Hte_A et Hte_B sont connects ou non au mme rseau physique, c'est--dire suivant qu'ils sont ou non spars par un routeur IP.12.6.1 ROUTAGE DIRECTLes deux htes, Hte_A et Hte_B, sont situs sur le mme rseau physique (un mme segment Ethernet par exemple). Ils ne sont pas spars par un routeur IP.La transmission d'un datagramme IP entre Hte_A et Hte_B ne ncessite pas le passage par un routeur IP. En effet, Hte A peut envoyer directement une trame physique Ethernet Hte_B puisqu'ils sont situs sur le mme rseau physique.Pour envoyer son datagramme IP, Hte_A recherche partir de l'adresse IP de Hte_B l'adresse physique correspondante (dans ses tables ou par ARP). Puis il encapsule le datagramme dans une trame physique et envoie cette trame sur le rseau physique.Il est facile pour l'Hte_A de savoir si l'Hte_B est situ sur le mme rseau physique que lui ou non :SYMBOL 113 \f "Wingdings" Hte_A a pour adresse IP : 128.10.2.1SYMBOL 113 \f "Wingdings" Hte_B a pour adresse IP : 128.10.3.4SYMBOL 113 \f "Wingdings" L'adresse du rseau sur lequel se trouve Hte_A est 128.10.0.0. Le subnet mask associ ce rseau est donc 255.255.0.0.SYMBOL 113 \f "Wingdings" Hte_A applique ce mask l'adresse IP de Hte_B. Il obtient 128.10.000 : il en dduit que Hte_B est situ sur le mme rseau physique que lui et qu'il peut donc directement lui envoyer tout datagramme encapsul dans un trame physique.12.6.2 ROUTAGE INDIRECTLes deux htes, Hte_A et Hte_C, sont situs sur deux rseaux physiques diffrents. Ils sont spars, dans l'exemple ci-dessous, par deux routeurs IP.Le routage indirect est plus complexe car lHte_A doit dterminer quel routeur IP le datagramme doit tre envoy (en l'occurrence le Routeur_1). Le datagramme IP est alors encapsul dans une trame physique et envoy sur le rseau physique de l'Hte_A jusqu'au Routeur_1. Puis le Routeur_1, voyant que lHte_C ne lui est pas directement connect, consulte sa table de routage et envoie sur le rseau physique le datagramme IP encapsul dans une trame physique destination de Routeur_2. Routeur_2, s'apercevant que lHte_C lui est directement reli, envoie une trame physique destination de lHte_C.12.7 Remarque importanteL'en-tte d'un datagramme en transit dans l'inter-rseau a toujours comme adresse IP source celle de l'hte metteur du datagramme et comme adresse IP destination celle de l'hte destinataire.C'est au niveau de la trame physique (trame Ethernet par exemple) que les adresses physiques source et destination changent chaque passage par un routeur.Nous dtaillons ci-aprs les diffrentes adresses mises en jeu dans le routage indirect de l'exemple prcdent.entre lHte_A et le Routeur_1En-tte trame physiqueEn-tte datagrammeAdressephysiquesourceAdressephysiquedestinationAdresseIPsourceAdresseIPdestinationHte_Ainterface duRouteur_1ct Hte_AHte_AHte_Centre le Routeur_1 et le Routeur_2En-tte trame physiqueEn-tte datagrammeAdressephysiquesourceAdressephysiquedestinationAdresseIPsourceAdresseIPdestinationinterface duRouteur_1ct Routeur_2interface duRouteur_2ct Routeur_1Hte_AHte_Centre le Routeur_2 et le Hte_CEn-tte trame physiqueEn-tte datagrammeAdressephysiquesourceAdressephysiquedestinationAdresseIPsourceAdresseIPdestinationinterface duRouteur2ct Hte_CHte_CHte_AHte_C12.8 Constitution des tables de routageLes tables de routage peuvent tre configures manuellement par l'administrateur du rseau. C'est souvent le cas des tables de routage des htes (stations de travail ou serveurs). Pour les routeurs une meilleure solution consiste confier ce travail fastidieux un protocole particulier appel protocole de routage.Grce ces protocoles de routage, les diffrents routeurs vont s'changer des informations de service. Les informations de service permettent une mise jour dynamique des tables de routage (en tenant compte des liaisons qui ne fonctionnent plus, des rseaux surchargs,....).Ces changes d'informations de services s'effectuent :SYMBOL 113 \f "Wingdings" entre les routeurs de systmes autonomes diffrents. Ces routeurs portent le nom d'Exterior Gateways (routeurs externes). Le protocole de routage entre routeurs de systmes autonomes diffrents s'appelle EGP (Exterior Gateways Protocol). En cas de connexion au rseau Internet, une socit devra utiliser ce protocole sur le routeur qui tablit la liaison avec l'extrieur pour changer des informations de routage avec les autres systmes autonomes. (voir chapitre 14).SYMBOL 113 \f "Wingdings" entre routeurs d'un mme systme autonome. Ces routeurs portent le nom d'Interior Gateways (routeurs internes). Un IGP (Interior Gateways Protocol) est install sur chaque routeur de la socit. Les protocoles IGP seront dcrits au chapitre 15.Ci-dessous nous avons reprsent deux systmes autonomes, c'est--dire le rseau de chacune des deux socit ayant obtenu une adresse rseau auprs du NIC.12.9 Routes par dfautChaque rseau de l'inter-rseau ne figure pas toujours dans toutes les tables de routage d'un hte ou d'un routeur IP. en effet, il n'est pas souhaitable que les diffrentes tables de routage soient trop longues, ne serait ce que pour viter des erreurs ou pour diminuer le nombre de changements effectuer en cas de modification de l'adresse d'un rseau.On utilise alors la notion de route par dfaut. Une ligne dans la table de routage indique l'adresse IP d'un routeur par dfaut (default gateway). Tout datagramme pour lequel il n'y a pas d'information de routage particulire sera envoy vers ce routeur. L'utilisation de routeurs par dfaut dplace en fait le problme du routage vers un routeur distant.12.10 routage spcifique pour certains hostsNotons qu'il est possible d'inclure dans les tables de routages des adresses IP de stations. Cela permet par exemple d'aiguiller les datagrammes IP destination d'une machine bien prcise sur un autre chemin que celui qu'ils auraient pris sinon. C'est intressant dans une optique de scurit.12.11 L'algorithme de routage IPRsumons tout ce qui prcde par un algorithme :ROUTER_UN_DATAGRAMME_IP (datagramme, table_de_routage)1) Extraire du datagramme l'adresse IP de destination : IPD2)Pour chaque entre de la table de routage, appliquer le champ Subnet Mask IPDa) Si le rsultat correspond au contenu du champ Network Address, lire alors le contenu du champ IP Address.Si ce champ contient la mention Deliver Directly : envoyer le datagramme sa destination sur ce rseau (implique de trouver l'adresse physique de l'hte destinataire, d'encapsuler le datagramme IP dans une trame physique et d'envoyer cette trame sur le rseau physique).Si ce champ contient l'adresse IP d'un routeur : envoyer le datagramme au routeur spcifi (implique de trouver l'adresse physique du routeur spcifi, d'encapsuler le datagramme IP dans une trame physique et d'envoyer cette trame sur le rseau physique).b) Sinon, si IPD apparat directement dans la table de routage (route spcifique vers un hte), envoyer le datagramme au routeur spcifi (implique de trouver l'adresse physique du routeur spcifi, d'encapsuler le datagramme IP dans une trame physique et d'envoyer cette trame sur le rseau physique).c) Sinon, si une route par dfaut a t spcifie, envoyer le datagramme au routeur par dfaut (implique de trouver l'adresse physique de ce routeur, d'encapsuler le datagramme IP dans une trame physique et d'envoyer cette trame sur le rseau physique).d) sinon, dclarer une erreur.13. ICMP ( Internet Control Message Protocol )13.1 prsentationLe protocole ICMP (Internet Control Message Protocol) permet denvoyer des messages de contrle ou derreur vers dautres machines ou passerelles. ), permet aux routeurs IP d'envoyer des messages d'erreurs ou de contrle des htes ou d'autres routeurs IP . ICMP tablit en fait une communication entre deux softs IP situs sur deux machines diffrentes.Bien qu'ICMP soit un protocole de niveau 3 comme IP, les messages ICMP sont envoys dans le rseau encapsuls dans les datagrammes IP.ICMP rapporte les messages derreur lmetteur initial. Beaucoup derreurs sont causes par lmetteur, mais dautres sont des des problmes dinterconnexions rencontres sur lInternet : machine destination dconnecte, dure de vie du datagramme expire, congestion de passerelles intermdiaires.Si une passerelle dtecte un problme sur un datagramme IP, elle le dtruit et met un message ICMP pour informer lmetteur initial.Les messages ICMP sont vhiculs lintrieur de datagrammes IP et sont routs comme nimporte quel datagramme IP sur linternet. Une erreur engendre par un message ICMP ne peut donner naissance un autre message ICMP (vite leffet cummulatif).13.2 les diffrents messages ICMP :TYPEMessage ICMP : 0Echo Reply 3Destination Unreachable 4Source Quench 5Redirect (change a route) 8Echo Request11Time Exceeded (TTL)12Parameter Problem with a Datagram13Timestamp Request14Timestamp Reply15Information Request (obsolete)16Information Reply (obsolte)17Address Mask Reques18Address Mask Reply13.3 format du message ICMPb0b7b16b31TypecodeSomme de contrleIdentificateurNumro de squenceDonnes optionnelles Type (8 bits) Code (8 bits) Somme de contrle (16 bits) Identificateur (16 bits) Numro de squence (16 bits): il commence 0 et est incrment chaque paquet retourn, nous permettant de voir si des paquets sont manquant, rordonns ou dupliqus. Donnes optionnelles( IDENTIFICATEUR et NUMERO DE SEQUENCE sont utiliss par lmetteur pour contrler les rponses aux requtes, (CODE = 0).Demande dcho et rponse Request, Echo Reply) dcho (EchoPermettent une machine ou passerelle de dterminer la validit dun chemin sur le rseau.Le champ de donnes spcifiques est compos de donnes optionnelles de longueur variable mises par la requte d'cho et devant tre renvoyes par le destinataire si prsentes.Utilis par les outils applicatifs tels ping et traceroute.Synchronisation des Horloges et temps de transitLes horloges de deux machines qui diffrent de manire importante peuvent poser des problmes pour des logiciels distribus. Une machine peut mettre une demande dhorodatage (timestamp request) une autre machine susceptible de lui rpondre (timestamp reply) en donnant lheure darrive de la demande et lheure de dpart de la rponse. Lmetteur peut alors estimer le temps de transit ainsi que la diffrence entre les horloges locale et distante.Le champ de donnes spcifiques comprend lheure originale (originate timestamp) mis par le demandeur, lheure de rception (receive timestamp) du destinataire, et lheure de dpart (transmit timestamp) de la rponse.Demande et rponse dinformation (Information Request + Reply) Ces messages taient initialement utiliss pour permettre aux machines de connatre leur adresse IP au dmarrage du systme. Ces commandes sont aujourdhui remplaces par les protocoles RARP et BOOTP.Obtention de masque de sous-rseauUne machine peut mettre une demande de masque de sous-rseau (Subnet Mask Request) vers une passerelle grant le sous-rseau en question. La passerelle transmet par une Subnet Mask Reply, ladresse de masque de sous-rseau (de longueur 32 bits) dans le champ de donne spcifique.CODE indique le codage de lerreur rapporte et est spcifique chaque type derreur,SPECIFIQUE est un champ de donnes spcifique au type derreur,IP HEADER + FIRST 64 bits contient len-tte IP + les premiers 64 bits de donnes du datagramme pour lequel le message est mis.Compte rendu de destination inaccessibleLorsquune passerelle met un message ICMP de type destination inaccessible, le champ code dcrit la nature de lerreur :0Network Unreachable1Host Unreachable2Protocol Unreachable3Port Unreachable4Fragmentation Needed and DF set5Source Route Failed6Destination Network Unknown7Destination Host Unknown8Source Host Isolated9Communication with desination network administratively prohibited10Communication with desination host administratively prohibited11Network Unreachable for type of Service12 Host Unreachable for type of Servicecontrle de congestion:Le protocole IP tant un protocole en mode non connect : => les passerelles ne peuvent rserver lavance la quantit de mmoire ncessaire au routage des datagrammes. => des datagrammes sont alors dtruits.Cette situation de congestion se produit :lorsquune passerelle est connecte deux rseaux aux dbits diffrents (elle ne peut couler au rythme impos par le rseau le plus rapide),lorsque de nombreuses machines mettent simultanment des datagrammes vers une passerelle.Pour palier ce problme, la machine peut mettre un message ICMP de limitation de dbit de la source (Source Quench) vers lmetteur.Il nexiste pas de message dannulation de limitation de dbit. La source diminue le dbit, puis laugmente progressivement tant quelle ne reoit pas de nouvelle demande de limitation.modification de route:Un message ICMP de redirection de route peut tre transmis par une passerelle vers une machine relie au mme rseau pour lui signaler que la route nest pas optimale. Une fois la redirection effectue, les datagrammes seront achemins vers la passerelle approprie.Dans le bloc de commande, le champ SPECIFIQUE indique ladresse de la passerelle que la machine doit utiliser pour router le datagramme; CODE spcifie la redirection :CODESIGNIFICATION 0Redirect datagrams for the Network 1Redirect datagrams for the Host 2Redirect datagrams for the Type of Service and Network3 Redirect datagrams for the Type of Service and HostDetection de routes circulaires ou excessivement longuesUne passerelle dtruit les datagrammes dont le champ dure de vie est zro et met un message ICMP de dlai dpass. CODESIGNIFICATION 0time to live exceeded in transit 1fragment reassembly time exceededLorsquune passerelle ou une machine dtecte un problme avec un datagramme (en-tte incorrecte) non couvert par les messages ICMP prdfinis, elle met un message Parameter Problem on a Datagram vers lmetteur du datagramme. Le problme rencontr consiste soit en une option manquante (dans le datagramme), soit en une donne errone.Dans le bloc de commande, le champ CODE indique la nature du pb: CODESIGNIFICATION 0erreonous data 1missing optionLe champ spcifique comprend un pointeur (cod sur les 8 premiers bits, les 24 restants tant 0) servant identifier loctet erron dans le datagramme; il est non significatif lorsque CODE = 1.14. Architecture et routageLes htes, contrairement aux routeurs IP connaissent peu la structure de l'inter-rseau auquel ils sont connects. Il n'est d'ailleurs pas souhaitable qu'ils la connaissent trop en dtails, car le moindre changement topologique impliquerait la mise jour de l'ensemble des tables de routage des htes de l'inter-rseau.Un hte utilise donc souvent dans sa table de routage un default gateway vers lequel il envoie tous les datagrammes pour lesquels il n'a pas d'information de routage spcifique. Il se fie en quelque sorte "son" routeur.Des routeurs IP peuvent galement, sous certaines conditions, ne disposer que d'informations partielles de routage (c'est--dire utiliser eux-mmes des default gateways). Le risque est cependant de se retrouver avec un routage inconsistant, c'est dire avec des destinations inaccessibles. Il est donc ncessaire que l'architecture des routeurs IP s'y prte.Le schma qui suit, prsente une architecture qui se prte bien aux inter-rseaux disposant d'un backbone unique. Au centre se trouve un noyau de routeurs (nots RC). Ces routeurs n'utilisent pas de default gateway et communiquent entre eux pour connatre les chemins suivre pour pouvoir atteindre n'importe quelle destination l'inter-rseau. Les routeurs priphriques ont chacun un default gateway faisant partie du noyau central.15. EGP (Exterior Gateway Protocol)EGP (Exterior Gateway Protocol): utilis pour changer les informations de routage relatives au systmes autonomes.EGP: essentiel dans la connectivit Internet (Core, inter-provider , ...) EGP : RFC827EGP a trois fonctions principales : support dun mcanisme dacquisition permettant une passerelles de requrir, auprs dune autre passerelles, quelles changent leurs informations de routage, test continu de laccessibilit des passerelles EGP voisines, change de messages dinformation de routage avec les passerelles EGP voisines.Une passerelle extrieure met des requtes de mise jour d'information de routage (routing update),afin d'informer les passerelles voisines appartenant d'autres systmes autonomes. Les messages de mises jour sont composs de deux types de listes: une liste interne contenant tout ou une partie des passerelles du systme autonome et les rseaux accessibles travers elles, une liste externe structure de la mme manire mais identifiant des destinations extrieures au sytme autonome. Seules les passerelles appartenant linterconnexion (Core, Provider, BB) peuvent propager ces informations.EGP peut ne pas annoncer les routes auxquelles il est reli.EGP annonce des mtriques comprises entre 0 et 255 (inaccessible)Conu pour un rseau hierachique de type BackBone (exemple Arpanet/Nsfnet -> Rseaux rgionnaux ->campus).Ajourdhui le rseau est maill et des boucles apparaissentLes routes multiples ne sont pas prises en compteLa distance est utlise uniquement comme valuation daccessibilit (car la mtrique est propre un AS vs mesure universelle)Taille des messages importante ==> fragmentation de datagrammesSuccesseur dEGP : BGP dvelopp fin des annes 80 qui permet : des mises jour incrmentales ( vs tailles des messages), la conversion avec IGPs des informations de routage (==>cohrence entre mtriques de routeurs interieurs et extrieurs)vite les boucles dans une topologie maille16. IGP (Interior Gateway Protocol)Ce chapitre dcrit l'change d'informations de routage entre routeurs IP d'un mme systme autonome.16.1 Le systme manuelLa premire solution offerte au manager du rseau est d'tablir et de modifier les tables de routage la main. L'administrateur fait des mises jour ncessaires ds qu'un nouveau sous-rseau est ajout ou enlev.S'il n'existe par exemple qu'un seul chemin entre deux points, le manager peut configurer manuellement les routes des htes.Un tel systme ne s'adapte pas une croissance rapide du nombre des rseaux ou des frquents changements. Il ne convient que pour de petits rseaux.16.2 Interior Gateway Protocols (IGP)On dsigne sous le nom d'IGP tout algorithme qu'utilisent les routeurs IP d'un mme systme autonome pour s'changer des informations sur le routage ou l'accessibilit de tel ou tel sous-rseaux.Les protocoles de routage sont btis sur deux types d'algorithmes :SYMBOL 113 \f "Wingdings" distance vector : dcompte du nombre de liaisons intermdiairesSYMBOL 113 \f "Wingdings" link status : cot de la liaison en fonction de son dbit.Chacun utilise une unit de mesure (routing metric) de manire disposer d'une base numrique de comparaison entre plusieurs chemins possibles. Cette unit quantifie une distance entre les diffrents points du rseau. Selon le type d'algorithme retenu, les paramtres permettant de mesurer cette distance vont varier.16.3 Les algorithmes de type "distance vector"Algorithme de Belman-Ford, calcul de routes distribu. Un routeur diffuse rgulirement ses voisins les routes quil connat. Une route est compose dune adresse destination, dune adresse de passerelle et dune mtrique indiquant le nombre de sauts ncessaires pour atteindre la destination. Une passerelle qui reoit ces informations compare les routes reues avec ses propres routes connues et met jour sa propre table de routage : si une route reue comprend un plus court chemin (nombre de prochains sauts +1 infrieur), si une route reue est inconnue.RIP, HELLO ou IGRP (protocole propritaire Cisco) implantent des algorithmes de ce type.La distance est exprime en nombre de sauts (hop count). Le hop count indique le nombre de routeurs IP par lequel doit passer un datagramme pour aller de l'metteur jusqu'au destinataire.A partir des routeurs voisins, chaque routeur construit un "embryon" de table de routage qu'il diffuse travers le rseau. De mme, il reoit des autres routeurs des informations qui enrichissent sa propre table de routage. Il la rediffuse, mise jour, travers le rseau. A la fin, la table de routage reprsente l'ensemble des liaisons et des quipements connects qui constituent le rseau.Ce mcanisme d'apprentissage progressif n'est pas immdiat. Il n'aboutit une description complte du rseau qu'aprs un temps appel temps de convergence de l'algorithme. Pour un rseau moyen, l'apprentissage dure plusieurs minutes, pendant lesquelles les datagrammes peuvent boucler ou tre dtruits.Le trafic induit par la constitution de ces tables charge notablement le rseau, les routeurs changeant constamment leurs tables afin de prendre en compte les modifications topologiques du rseau (rupture de liaisons, panne ou rajout de routeurs....).Un compromis est donc trouver entre la frquence de mise jour (et la charge de trafic qu'elle reprsente) et la vitesse de prise en compte des modifications du rseau. Cette frquence est par dfaut de 30 secondes pour RIP et de 90 secondes pour IGRP.16.3.1 RIPProtocole intrieur (Cf AS), RFC 1058.Berkeley made (BSD/routed)Conu lorigine pour les rseaux locaux, tendu aux rseaux distantsPeu performant, mais le plus employ au mondeDe type Vector/DistanceDeux Version 1.0 et 2.0Fonctionne au dessus dUDP/IP ; port 520 (Cf limitation des informations de routage dans le systme autonome .Des liens virtuels peuvent tre tablis dans la topologie de lAS afin de cacher les connexions physiques dune partie du rseau.Les liens extrieurs avec dautres systmes autonomes (via EGP par exemple) sont pris en compte.Echanges entre routeurs authentifis ==> lintgrit des messages.OSPF est le premier protocole de routage normalis utilisant un algorithme de type "ling status". Il a t conu pour de trs grands rseaux s'appuyant sur de nombreux routeurs, des liaisons WAN multiples et des backbones haut dbit comme FDDI.Citons ci-dessous quelques particularits de ce protocole :SYMBOL 113 \f "Wingdings" OSPF est un des premiers protocoles de routage prendre en compte dans le routage le champ type of service prsent dans l'en-tte du datagramme IP router. A une mme destination peut correspondre plusieurs chemins diffrents, une pour chaque type de service (low delay, high trouhgput,....). Quand un routeur sous OSPF route des datagrammes, il prend en compte l'adresse destination et le type de service spcifi dans l'en-tte IP.SYMBOL 113 \f "Wingdings" OSPF utilise le load balancing. S'il existe plusieurs chemins vers une mme direction ayant le mme cot, OSPF distribue le trafic galement sur chaque chemin. Les protocoles comme RIP ne calculent vers une destination donne qu'une seule route.Le problme : dans les sytmes de routage, si le rseau est trop grandoverhead du traffic dans le rseau, calculs trop longs, dimensionnement mmoire trop grandLa solution : routage hirachiquedcoupage du rseau en parties indpendantes (Areas), relies par un BackBone (Area BackBone)La fonctionnalit chaque area constitue un rseau indpendant la table des liaisons ne contient de les liaisons de lArea, le protocole dinondation sarrte aux frontires de lArea, les routeurs ne calculent que des routes internes lArea certains routeurs (area border routers) appartiennent plusieurs Areas (en gnral une Area infrieure et une Area BB) et transmettent les informations rcapitulatives des Areas quils relient.Chaque routeur du systme autonome o dune area construit sa propre base dinformation dcrivant la topologie de lAS complet ou bien de larea.Au dpart les routeurs utilisent des message "Hello" pour dcouvrir leurs voisins; une "adjacence" est forme lorsque deux routeurs communiquent pour changer des informations de routage. Linformation lmentaire change entre routeurs dcrit ltat (link state) des adjacences; cette information est fournie par un routeur donn puis propage dans l'area ou lAS.A partir de sa base dinformation (collection dtats des routeurs), chaque routeur construit un arbre du plus court chemin (SPF tree) dont il est la racine. Cet arbre indique toutes les routes pour toutes les destinations du systme autonome, plus les destinations extrieures.La base dinformation topologique dun systme autonome dcrit un graphe orient. Les noeuds du graphe sont des routeurs ou bien des rseaux tandis que les liens reprsentent les connexions physiques. Les rseaux sont dits de transit si plusieurs routeurs y sont connects ou terminaux dans le cas contraire. A chaque rseau est associ une adresse IP et un masque rseau.Une machine seule (host) est considre comme un rseau terminal avec un masque gal 0xFFFFFFFF.16.4.2 IS-ISOSPF n'est pas le seul protocole de sa gnration. Il doit compter avec IS-IS (Intermediate System to Intermediate System). Ce protocole est dfini par l'ISO. Il est de type link status et prsente des caractristiques similaires OSPF. Dans sa premire version, il supporte le protocole de l'OSI. Dans une version plus rcente (Integrated IS-IS ou Dual IS-IS), plusieurs protocoles de rseau peuvent tre grs simultanment, comme IP et OSI, grce un champ type de protocole.Cette possibilit est comparer la solution de type SIN offerte par OSPF. Un protocole de type DIN (Ships In the Night) ne sait grer qu'un seul protocole de rseau, mais peut coexister avec d'autres protocoles de routage. Dans le cas d'un rseau IP et XNS, OSPF sait coexister avec RIP-XNS. Les messages de routage des deux protocoles se croisent sur les mmes liaisons sans se voir, comme des bateaux dans la nuit (Ships in the night).17. UDP (User Datagram Protocol)UDP : protocole de transport sans connexion de service applicatif : mission de messages applicatifs : sans tablissement de connexion au pralable, l'arrive des messages ainsi que lordonnancement ne sont pas garantis.Identification du service : les portsLes adresses IP dsignent les machines entre lesquelles les communications sont tablies. Lorsqu'un processus dsire entrer en communication avec un autre processus, il doit adresser le processus s'excutant cette machine. L'adressage de ce processus est effectu selon un concept abstrait indpendant du systme d'exploitation des machines car : les processus sont crs et dtruits dynamiquement sur les machines, il faut pouvoir remplacer un processus par un autre (exemple reboot) sans que l'application distante ne s'en aperoive, il faut identifier les destinations selon les services offerts, sans connatre les processus qui les mettent en oeuvre, un processus doit pouvoir assurer plusieurs services.17.1 La notion de portLa couche IP assure la transmission des datagrammes IP de la machine source jusqu' la machine destination. Mais, en fait, ce sont les programmes d'applications (appels galement processus) qui sont les destinataires finaux des diffrents messages en transit dans l'inter-rseau. Il est donc indispensable d'identifier quel processus est le destinataire parmi tous ceux qui s'excutent sur une machine.Chaque machine contient un ensemble de points de destination abstraits appels protocol ports, identifis par un entier positif cod sur deux octets. Une application qui souhaite communiquer sur le rseau avec une autre application doit se raccorder un port, comme le montre le schma ci-dessous.Une application est donc identifie dans un rseau par :SYMBOL 113 \f "Wingdings" l'adresse IP de la machine sur laquelle elle se trouveSYMBOL 113 \f "Wingdings" le protocol port number auquel elle s'est raccorde17.2 la gestion des numros de ports Tous le changes entre le software UDP et les processus d'applications ont lieu via les ports. Avant de pouvoir transmettre un message sur le rseau, chaque processus d'application doit ngocier avec le systme d'application pour obtenir un port et un numro de port associ.Un port UDP peut tre considr comme une file d'attente. Dans la plupart des implmentations, quand un port est affect un programme d'application par le systme d'exploitation, une file d'attente est cre sur ce port. Cette file d'attente recevra les messages venant du rseau et destination de ce port.TCP/IP fixe certains numros de ports UDP pour les types d'applications les plus courants. Les autres numros sont disponibles. Si une application ne connat pas le numro de port d'une application distance laquelle elle veut s'adresser, elle peut obtenir ce numro par un mcanisme de requte / rponse.17.3 Exemples d'applications utilisant UDPUne des principales applications utilisant UDP est SNMP (Simple Network Management Protocol).Nous donnons ci-dessous une liste non exhaustive des ports UDP fixs. Notons que si des services identiques sont offerts sous TCP, les numros de ports seront alors les mmes.Le protocole UDPUDP (User Datagram Protocol) est donc un protocole du niveau transport qui permet un processus d'une machine d'envoyer un datagramme un processus d'une autre machine. Dans ce but, il utilise directement le protocole IP, protocole non-fiable et sans connexion. UDP fournit donc un service de transport :SYMBOL 113 \f "Wingdings" non fiable (sans accuss de rception (= unreliable)SYMBOL 113 \f "Wingdings" sans connexion(=Connectionless)En consquence des messages UDP peuvent :SYMBOL 113 \f "Wingdings" se perdre dans l'inter-rseauSYMBOL 113 \f "Wingdings" tre dupliqusSYMBOL 113 \f "Wingdings" ne pas arriver dans l'ordreSYMBOL 113 \f "Wingdings" arriver trop vite pour tre traits par le destinataireUn programme d'application qui utilise UDP doit tenir compte de tous ces problmes.17.4 Format d'un message UDPChaque message UDP est appel un datagramme utilisateur (user datagram). Il contient un en-tte (header) et une zone de donnes (data area).Les ports source et destination contiennent les numros de port utiliss par UDP pour dmultiplexer les datagrammes destins aux processus en attente de les recevoir. Le port source est facultatif (gal zro si non utilis). La longueur du message est exprime en octets (8 au minimum) (en-tte + donnes), le champ de contrle est optionnel (0 si non utilis). Les messages UDP venant de la couche IP sont distribus aux diffrentes applications en fonction des numros de port inclus dans les en-tte IP. Les messages en provenance des diffrentes applications de la machines sont transmis la couche IP.Lorsqu'il est utilis, le champ de contrle couvre plus d'informations que celles contenue dans le datagramme UDP; En effet, le checksum est calcul avec un pseudo-en-tte non transmis dans le datagramme: Le champ PROTO indique l'identificateur de protocole pour IP (17= UDP) Le champ LONGUEUR UPD spcifie la longueur du datagramme UPD sans le pseudo-en-tte. UDP multiplexe et dmultiplexe les datagrammes en slectionnant les numros de ports : une application obtient un numro de port de la machine locale; ds lors que l'application met un message via ce port, le champ PORT SOURCE du datagramme UDP contient ce numro de port, une application connat (ou obtient) un numro de port distant afin de communiquer avec le service dsir.Lorsque UDP reoit un datagramme, il vrifie que celui-ci est un des ports actuellement actifs (associ une application) et le dlivre l'application responsable (mise en queue) si ce n'est pas le cas, il met un message ICMP port unreachable, et dtruit le datagramme.17.5 Encapsulations successivesUDP s'appuyant sur les couches infrieurs pour acheminer les messages UDP, des encapsulations successives ont lieu :UDP HeaderUDP Data AreaIP HeaderIP Data AreaFrame HeaderFrame Data Area18. TCP (Transmission Control Protocol)Utiliser un service de transport non fiable et sans connexion comme UDP ne peut convenir pour des programmes d'application transfrant de grands volumes de donnes. Il faudrait implanter dans les applications des mcanismes de contrle du bon acheminement des messages, de remise dans l'ordre des messages... Nous dcrivons ici un autre protocole de transport plus performant : TCP.18.1 TCP TCP (Transmission Control Protocol) est un protocole du niveau transport qui permet une application d'une machine d'envoyer un flux de donnes vers une application d'une autre machine.TCP fournit un service :SYMBOL 113 \f "Wingdings" Fiable (fournit un canal sans erreurs)SYMBOL 113 \f "Wingdings" avec contrle de flux (permet de ne pas surcharger une machine qui n'est pas prte temporairement recevoir de nouvelles donnes.SYMBOL 113 \f "Wingdings" Ordonn (les octets mis par l'application source sont reus dans le mme ordre chez le destinataire.SYMBOL 113 \f "Wingdings" En mode full duplex (permet un flux de donnes bidirectionnel entre les deux applications).SYMBOL 113 \f "Wingdings" En mode connect (La communication entre deux machines compte trois tapes : tablissement d'une connexion, utilisation du canal de communication, puis relchement de la connexion.18.2 Les notions de connexion et de endpointsUne connexion de type circuit virtuel est tablie avant que les donnes ne soient changes : appel + ngociation + transferts Une connexion = une paire d'extrmits de connexion Une extrmit de connexion = couple (adresse IP, port)Exemple de connexion : ((124.32.12.1, 1034), (19.24.67.2, 21))Une extrmit de connexion peut tre partage par plusieurs autres extrmits de connexions (multi-instanciation)La mise en oeuvre de la connexion se fait en deux tapes : une application (extrmit) effectue une ouverture passive en indiquant qu'elle accepte une connexion entrante, une autre application (extrmit) effectue une ouverture active pour demander l'tablissement de la connexion.Tout comme UDP, TCP utilise la notion de port. Cependant un port TCP n'est pas utilis comme l'tait un port UDP. L'abstraction fondamentale utilise par TCP est la connexion.Une connexion est identifie par une paire de endpoints (points terminaux).Un endpoint est une paire d'entiers (host, port) o :SYMBOL 113 \f "Wingdings" host est l'adresse IP d'une machineSYMBOL 113 \f "Wingdings" port est un port TCP de cette machineSegmentation, contrle de flux:Les donnes transmises TCP constituent un flot d'octets de longueur variable. TCP divise ce flot de donnes en segments en utilisant un mcanisme de fentrage. Un segment est mis dans un datagramme IP.Acquittement de messages:Contrairement UDP, TCP garantit l'arrive des messages, c'est dire qu'en cas de perte, les deux extrmits sont prvenues.Ce concept repose sur les techniques dacquittement de message : lorsqu'une source A met un message Mi vers une destination B, A attend un acquittement Ai de B avant d'mettre le message suivant Mi+1.Si lacquittement Ai ne parvient pas A, A considre au bout d'un certain temps que le message est perdu et remet Mi :La technique acquittement simple pnalise les performances puisqu'il faut attendre un acquittement avant d'mettre un nouveau message. Le fentrage amliore le rendement des rseaux.La technique du fentrage : une fentre de taille T, permet l'mission d'au plus T messages "non acquitts" avant de ne plus pouvoir mettre :fentrage glissante permettant d'optimiser la bande passante permet galement au destinatairede faire diminuer le dbit de l'metteur donc de grer le contrle de flux.Le mcanisme de fentrage mis en oeuvre dans TCP opre au niveau de l'octet et non pas au niveau du segment; il repose sur : la numrotation squentielle des octets de donnes, la gestion de trois pointeurs par fentrage :18.3 Format dun segment TCPUn segment contient un en-tte (header) et une zone de donnes (data area).Segment : unit de transfert du protocole TCP changs pour tablir les connexions, transfrer les donnes, mettre des acquittements, fermer les connexions; TCP HeaderTCP Data AreaFormat dun segment TCPL'en-tte contient principalement :Numro de squence : le numro de squence du premier octet (NSP) de ce segment. Gnralement la suite doctets O1, O2, ..., On (donnes du message) est associe la suite de numro de squence NSP, NSP+1, ..., NSP+n. Il existe deux exceptions cette rgle : lorsque le bit SYN (voir CODE BITS) est positionn, le NSP reprsente cette donne de contrle et par consquent la suite NSP, NSP+1, NSP+2, ..., NSP+n+1, associe la suite de donnes SYN, O1, O2, ..., On. lorsque le bit FIN (voir CODE BITS) est positionn, le NSP+n reprsente cette donne de contrle et par consquent la suite NSP, NSP+1, NSP+2, ..., NSP+n, associe la suite de donnes O1, O2, ..., On, FIN.Numro dacquittement : le prochain numro de squence NS attendu par lmetteur de cet acquittement. Acquitte implicitement les octets NS-1, NS-2, etc.Fentre: la quantit de donnes que lmetteur de ce segment est capable de recevoir; ceci est mentionn dans chaque segment (donnes ou acquittement).CODE BITS : indique la nature du segment :URG : le pointeur de donnes urgentes est valide (exemple : interrupt en remote login), les donnes sont mises sans dlai, les donnes reues sont remises sans dlai.SYN : utilis linitialisation de la connexion pour indiquer o la numrotation squentielle commence. Syn occupe lui-mme un numro de squence bien que ne figurant pas dans le champ de donnes. Le Numro de squence inscrit dans le datagramme (correspondant SYN) est alors un Initial Sequence Number (ISN) produit par un gnrateur garantissant lunicit de lISN sur le rseau (indispensable pour identifier les duplications). FIN : utilis lors de la libration de la connexion;PSH : fonction push. Normalement, en mission, TCP reoit les donnes depuis lapplicatif , les transforme en segments sa guise puis transfre les segments sur le rseau; un rcepteur TCP dcodant le bit PSH, transmet lapplication rceptrice, les donnes correspondantes sans attendre plus de donnes de lmetteur. Exemple : mulation terminal, pour envoyer chaque caractre entr au clavier (mode caractre asynchrone).RST : utilis par une extrmit pour indiquer lautre extrmit quelle doit rinitialiser la connexion. Ceci est utilis lorsque les extrmits sont dsynchronises. Exemple : CHECKSUM : calcul du champ de contrle : utilise un pseudo-en-tte et s'applique la totalit du segment obtenu (PROTO =6) :OPTIONS Permet de ngocier la taille maximale des segments changs. Cette option n'est prsente que dans les segments d'initialisation de connexion ( avec bit SYN).TCP calcule une taille maximale de segment de manire ce que le datagramme IP rsultant corresponde au MTU du rseau. La recommandation est de 536 octets.La taille optimale du segment correspond au cas o le datagramme IP nest pas fragment mais :il nexiste pas de mcanisme pour connatre le MTU, le routage peut entraner des variations de MTU,la taille optimale dpend de la taille des en-ttes (options).Acquittements et retransmissionsLe mcanisme dacquittement de TCP est cumulatif : il indique le numro de squence du prochain octet attendu : tous les octets prcdents cumuls sont implicitement acquittsSi un segment a un numro de squence suprieur au numro de squence attendu (bien que dans la fentre), le segment est conserv mais lacquittement rfrence toujours le numro de squence attendu(-->).Pour tout segment mis, TCP sattend recevoir un acquittementSi le segment nest pasacquitt, le segment est considr comme perdu et TCP le retransmet. Or un rseau dinterconnexion offre des temps de transit variables ncessitant le rglage des temporisations; TCP gre des temporisations variables pour chaque connexion en utilisant un algorithme de retransmission adaptative Algorithme de retransmission adaptativeEnregistre la date dmission dun segment, enregistre la date de rception de lacquittement correspondant, calcule lchantillon de temps de boucle A/R coul, dtermine le temps de boucle moyen RTT (Round Trip Time) .Aujourdhui de nouvelles techniques sont appliques pour affiner la mesure du RTT : lalgorithme de Karn.Lalgorithme de Karn repose sur les constatations suivantes : en cas de retransmission dun segment, lmetteur ne peut savoir si lacquittement sadresse au segment initial ou retransmis (ambigut des acquittements), =>lchantillon RTT ne peut donc tre calcul correctement, TCP ne doit pas mettre jour le RTT pour les segments retransmis. Lalgorithme de Karn combine les retransmissions avec laugmentation des temporisations associes (timer backoff): une valeur initiale de temporisation est calcule si une retransmission est effectue, la temporisation est augmente (gnralement le double de la prcdente, jusqu une valeur plafond). Cet algorithme fonctionne bien mme avec des rseaux qui perdent des paquets.Gestion de la congestionTCP gre le contrle de flux de bout en bout mais galement les problmes de congestion lis linterconnexion.La congestion correspond la saturation de noeud(s) dans le rseau provoquant des dlais dacheminement de datagrammes jusqua leur pertes ventuelles. Les extrmit ignorent tout de la congestion sauf les dlais. Habituellement, les protocoles retransmettent les segments ce qui agrave encore le phnomne. Dans la technologie TCP/IP, les passerelles (niveau IP) utilisent la rduction du dbit de la source mais TCP participe galement la gestion de la congestion en diminuant le dbit lorsque les dlais TCP maintient une fentre virtuelle de congestion TCP applique la fentre dmission suivante: fentre_autorise = min (fentre_rcepteur, fentre_congestion).Dans une situation de non congestion: fentre_rcepteur = fentre_congestion.En cas de congestion, TCP applique une diminution dichotomique : chaque segment perdu, la fentre de congestion est diminue par 2 (minimum 1 segment) la temporisation de retransmission est augmente exponentiellement.Si la congestion disparat, TCP dfinit une fentre de congestion gale 1 segment et lincrmente de 1 chaque fois quun acquittement est reu; ce mcanisme permet un dmarrage lent et progressif :Fentre_congestion = 1,mission du 1er segment,attente acquittement,rception acquittement,Fentre_congestion = 2,mission des 2 segments,attente des acquittements,rception des 2 acquittements,Fentre_congestion = 4,mission des 4 segments, ...Log2 N itrations pour envoyer N segments. Lorsque la fentre atteint une fois et demie sa taille initiale, lincrment est limit 1 pour tous les segments acquitts de la fentre.Une connexion TCP est tablie en trois temps de manire assurer la synchronisation ncessaire entre les extrmits : Ce schma fonctionne lorsque les deux extrmits effectuent une demande d'tablissement simultanment. TCP ignore toute demande de connexion, si cette connexion est dj tablie. Une connexion TCP est libre en un processus dit "trois temps modifi":18.4 Encapsulations successivesTCP s'appuyant sur les couches infrieures pour acheminer les datagrammes utilisateurs, les encapsulations successives ont lieu :TCP HeaderTCP Data AreaIP HeaderIP Data AreaFrame HeaderFrame Data Area18.5 Exemples d'applications utilisant TCPBeaucoup d'applications utilisent TCP. Citons :FTP ( File Transfert Protocol )SMTP (Simple Mail Transport Protocol)Telnet ( TELetype NETwork )Les applications X400 (messagerie lectronique)Nous donnons ci-dessous une liste non exhaustive des ports TCP fixs. Notons que si des services identiques sont offerts sous TCP, les numros de ports seront alors les mmes.( Rechercher sur votre OS le fichier: etc\services, celui-ci contient lextrait du tableau ci-dessousNKeywordUNIX KeywordDescription0Reserved1TCPMUX-TCP Multiplexor5RJE-Remote Job Entry7ECHOechoEcho9DISCARDdiscardDiscard11USERSsystatActive users13DAYTIMEdaytimeDaytime15-netstatNetwok status program17QUOTEqotdQuote of the day19CHARGENchargenCharacter generator20FTP-DATAftp-dataFile Transfert Protocol ( data )21FTPftpFile Transfert Protocol23TELNETtelnetTerminal connexion25SMTPsmtpSimple Mail Transport Protocol37TIMEtimeTime42NAMESERVERnameHost name server43NICNAMEwhoisWho isTCP : Lautomate19. Le modle client-serveurLes processus qui utilisent le rseau de communication font souvent partie d'une conversation client-serveur. Un serveur attend des requtes en provenance de clients et ralise des actions en fonction de ces requtes. Parfois il renvoie une rponse.Si le serveur communique en UDP par exemple, il peut accepter et rpondre des requtes en provenance de n'importe quelle machine de l'inter-rseau. Par contre s'il communique en utilisant des trames physiques, il est restreint au rseau physique auquel il est connect.20. Le protocole BOOTP (BOOTstrap Protocol)Le BOOTstrap Protocol (BOOTP) est une alternative au protocole RARP pour une station sans disque qui souhaite dterminer son adresse IP. Bootp est plus gnral que RARP, parce-qu'il repose sur UDP.21. Le systme domain name (DNS)Jusqu' prsent, nous avons utilis des adresses IP sur 4 octets pour identifier une machine. Cependant les utilisateurs prfrent parfois utiliser des noms prononables pour dsigner une machine. On parle alors de noms symboliques ou de noms de haut niveau. Nous allons voir dans ce chapitre en quoi consiste cet adressage symbolique et comment il peut tre mis en oeuvre.21.1 La hirarchie dans l'adressage symboliqueTant que le nombre de machines connectes un inter-rseau demeure faible, la gestion des noms est simple. Une machine sera dsigne par exemple sous le nom "palmier", une autre sous le nom "colchique", etc.... Mais ds lors que le nombre de machines connectes crot rapidement, cette gestion devient trs lourde pour le manager du rseau. Et le risque de voir deux machines diffrentes porter le mme nom symbolique n'est plus exclure.Pour remdier ce problme, un systme d'adressage hirarchique a t cre. L'attribution des noms est faite en utilisant un mcanisme de dlgation d'autorit.Le dcoupage hirarchique peut tre bas sur la gographie, l'organisation interne de la socit ou sur tout autre critre du moment qu'il est logique.Donnons un aperu sommaire dune hirarchie possible :Chaque rectangle couvre un domain dont il a la responsabilit et porte un domain name.21.2 DNSLe mcanisme qui implante ladressage hirarchique nominatif sappelle DNS ( Domain Name System ) .Un Domain Name est une suite de sous-noms, appels labels, spars par des points.tm.form.gefi dsigne par exemple le dpartement TM de la FORM de GEFI. Lattribution de noms aux diffrents ordinateurs de la tm tant faite par le responsable du dpartement TM. Tout hte portera alors un nom respectant la syntaxe X.tm.form.gefi.Prcisons quun nom symbolique peut dsigner :un hte: shpe55.tm.form.gefiun service: form.gefiune bote aux lettres lectronique: edouard@ shpe55.tm.form.gefiun utilisateur...Ladressage symbolique hirarchique dpasse en fait le cadre de TCP/IP.21.3 La hirarchie Internet Le rseau Internet propose aux rseaux connects deux systmes de hirarchie :- Le premier dit Organisationnel, est bas sur la nature de lactivit de la socit qui a demand une affectation dadresse IP.- Le second dit gographique est bas sur la gographie.Le schma organisationnel est souvent prfr car il induit des adresses symboliques plus courtes. Nous donnons ci-aprs la liste des Domain names situs au sommet de la hirarchie Internet et qui constituent les points de raccord possibles pour les hirarchies des socits ou organisations.comCommercial (for example, microsoft.com for Microsoft Corporation)eduEducational (for example, mit.edu for Massachusetts Institute of Technology)govGovernment (for example, whitehouse.gov for the Whitehouse in Washington D.C.)intInternational organizations (for example, nato.int for NATO)milMilitary operations (for example, army.mil for the Army)netNetworking organizations (for example, nsf.net for NSFNET)orgNoncommercial organizations (for example, fidonet.org for FidoNet)+ un code par pays ( et parfois par rgions )gefi pourrait par exemple tre identifi par ;gefi.comschma organisationnelougefi.frschma gographique ( fr pour la France )En France les attributions des noms de domaine en .fr sont de la responsabilit de lAFNIC ou de quelques fournisseurs daccs Internet (ASI).21.4 Lobtention dun nom de second niveauPar nom de second niveau, on entend un nom qui dsigne linstitution demandant de faire partie du Domain Name System dInternet. Dans lexemple, gefisa est un nom de second niveau.Tout comme pour les adresses IP, il nest pas obligatoire de se dclarer au NIC tant que lon ne souhaite pas tre connect sur lextrieur. Toutefois en prvision de lavenir, et sil on souhaite adopter ladressage symbolique, cest souhaitable.Voici la reprsentatin dune zone dautorit21.5 La correspondance entre adressesLa correspondance entre un nom symbolique et une adresse IP est effectue par un ensemble de serveurs de noms (ddis ou non) qui cooprent entre eux. Il y a en gnral un serveur de noms par entit diffrente de la hirarchie. Chaque demande de correspondance est en priorit traite par le serveur de noms local. Pour rduire le nombre de requtes et de rponses, on implante gnralement sur les htes un mcanisme de cache. Les serveurs de noms doivent tre conformes aux standards dicts par Internet avant raccordement au rseau Internet.Rsolution de NOMS:Mise en cache et TTLLes serveurs DNS mettent en cache les requtes itrativesChaque entre mise en cache est affecte dune dure de vie (TTL, Time to Live)Lorsque la dure de vie expire, l'entre est supprime du cacheLa dure de vie restante est envoye au solveur dans la rponse rcursiveRequtes inverses Permet de retrouver un nom d'hte partir de son adresse IP.Il faut donc crer une zone inverse.Soit un rseau 190.168.10.0A 192.168.10.5 serveur1A 192.168.10.10 serveur2Zone inverse : 10.168.192.in-addr.arpaFichier de base de donnesSOAStart Of Authority (Il en est le responsable)Enregistrement SOA : A pour dfinir un hte (port TCP 80)NSpour identifier un serveur de noms associ au domaineMX pour dfinir une messagerie (port TCP 25)CNAME pour faire des aliasFichier de cachePour un serveur DNS Internet, il y a un fichier de cache par dfaut. Il contient les @IP des 11 root-servers.Si le serveur DNS n'est pas utilis pour Internet, il faut supprimer ce fichier de cache.Voici un exemple de Cache DNS; DNS CACHE FILE;; Initial cache data for root domain servers.;; YOU SHOULD CHANGE:; Nothing if connected to the Internet. Edit this file only when; update root name server list is released.; OR; If NOT connected to the Internet, remove these records and replace; with NS and A records for the DNS server authoritative for the; root domain at your site.; Internet root name server records:; last update: Sep 1, 1995; related version of root zone: 1995090100;; formerly NS.INTERNIC.NET. 3600000 IN NS A.ROOT-SERVERS.NET.A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4; formerly NS1.ISI.EDU. 3600000 NS B.ROOT-SERVERS.NET.B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107; formerly C.PSI.NET. 3600000 NS C.ROOT-SERVERS.NET.C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12; formerly TERP.UMD.EDU. 3600000 NS D.ROOT-SERVERS.NET.D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90; formerly NS.NASA.GOV. 3600000 NS E.ROOT-SERVERS.NET.E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10; formerly NS.ISC.ORG. 3600000 NS F.ROOT-SERVERS.NET.F.ROOT-SERVERS.NET. 3600000 A 39.13.229.241; formerly NS.NIC.DDN.MIL. 3600000 NS G.ROOT-SERVERS.NET.G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4; formerly AOS.ARL.ARMY.MIL. 3600000 NS H.ROOT-SERVERS.NET.; End of FileExemple de serveur du domaine Racine :DHCPQu'est-ce que DHCP ?A chaque dmarrage d'un client DHCP, ce dernier demande des informations d'adressage IP un serveur DHCP, notamment : Adresse IP, masque de sous-rseau et passerelle. Permet d'attribuer aux clients une adresse IP et un masque. Le reste est sous forme d'options. (routeur par dfaut, serveur DNS, ...).Agent de relais DHCP : plage d'adresses IP disponibles pour un autre rseau au cas ou le serveur DHCP de cet autre rseau serait HS. Les @IP sont donnes au travers du routeur qui relie les 2 rseaux.Cet agent rpond aux broadcasts aprs avoir entendu 4 trames de broadcast successives d'un client qui met des DHCP discover. Pour cela, il effectue un DHCP request dirig au travers du routeur. Un serveur DHCP ne peut pas tre un agent relais DHCP. Configuration manuelle de TCP/IP.Configuration automatique grce DHCPsaisie manuelle adresse IP / masque / Passerelle/ etcidentification difficile de la source d'un problme- infos d'adressage IP fournies automatiquementlimination de nombreux pb de configurationinformations incohrentessurcharge administrativeFonctionnement de DHCPLa configuration s'effectue en 4 trames : 1 - DHCP DiscoverSollicitation du client (diffusion)2 - DHCP OfferOffre d'un serveur DHCP (diffusion) : @IP+mask+dure du bail3 - DHCP RequestDemande du client (trame dirige)4 - DHCP ACKAccus de validation du serveur DHCP (trame dirige) : @IP+mask+bail+optionsDemande : - 1ere fois initialisation - Demande spcifique refuse - Client avait un bail dont il a mis finDemande de bail client : DHCP Discover. Tous les serveurs DHCP contacts ayant une adresse proposer diffusent une proposition.Proposition de bail: DHCP Offer. Le serveur DHCP rserve l'adresse. Si le client ne reoit pas de proposition pendant 1 seconde, il diffuse trois autres requtes 9, 13 et 16 secondes auxquels s'ajoute une dure alatoire comprise entre 0 et 1000 millisecondes. Aprs 4 tentatives, il essaie toutes les 5 minutes. Le client slectionne la premire proposition qui lui parvient.Slection de bail IP : DHCP Request. Informe tous les serveurs DHCP de son adhsion un serveur. Cela permet aux serveurs DHCP non slectionns de librer la rservation et au bon serveur de lui rpondre.Accus de rception du bail IP (conclu) : DHCP ACK. Lorsque le client DHCP reoit DHCP ACK, TCP/IP est compltement initialis et est considr comme un client DHCP li Message@src@destAutreDHCP Discover0.0.0.0255.255.255.255@mac client Nom ordi clientDHCP OfferIP@srv255.255.255.255IP Propos @mac client Masque Dure bail (3J) IPsrvDHCP Request0.0.0.0255.255.255.255@mac client Nom ordi client IP demande IPsrvDHCP ACKIP@srv255.255.255.255IP propos @mac client Masque Dure bail (3J) IPsrvOptions DHCP: IP routeur / Wins / DNS / etc..IPCONFIG /ALL affiche :La configuration IP de Windows 3.x; NT La configuration IP de la carte rseauIPCONFIG /RENEW permet d'obtenir des options mises jour et une dure de bailIPCONFIG /RELEASE libre un bail22. Linterface entre TCP/IP et les applicationsLinterface entre un programme dapplication et les protocoles du groupe TCP/IP dpend des dtails du systme dexploitation. Rien nest spcifi ce propos dans les normes TCP/IP.Un exemple dinterface utilise est la socket ( Unix BSD ). Pour utiliser TCP/IP, un programme doit demander la cration dune socket, prciser les adresses IP source et destination ainsi que les ports applicatifs mis en jeu. Ensuite, le programme dapplication communique avec TCP/IP par les primitives read et write.23. Les programmes dapplicationsCe chapitre aborde brivement les protocoles dapplications lis au groupe de protocoles TCP/IP. Ces programmes dapplications permettent aux utilisateurs et aux programmes de communiquer avec des services sur des machines distantes.Nous citons ci-dessous quelques uns des principaux programmes dapplications reposant sur les protocoles de couches 3 et 4 de TCP/IP.telnet: terminal distant ou virtuelftp: protocole de transfert de fichierstftp: idem, mais en mode non connectnfs, rfs: accs partag des fichierssmtp: courrier lectroniquesnmp: management de rseauxLes chapitres 22 25 de Internetworking with TCP/IP dtaillent ces diffrents outils.24. Le management de rseauUn administrateur de rseau a besoin de logiciels lui permettant par exemple de rsoudre les diffrents problmes qui surviennent sur le rseau, de contrler le routage et d'effectuer des statistiques sur le trafic.Dans un environnement TCP/IP, le management de l'inter-rseau est situ au niveau applicatif. Il s'appuie sur TCP/IP pour transmettre les diffrents messages qu'il induit.24.1 Architecture des protocoles de managementLe groupe de protocoles TCP/IP n'a pas de protocole standard officiel pour la communication d'informations de management. Deux standards sont toutefois recommands : SNMP et CMOT.SNMP (Simple Network Management Protocol) est de loin le plus largement utilis. CMOT (CMOP over TCP) prcise l'utilisation sur une connexion TCP du standard ISO CMIP (Common Management Information Protocol).Le protocole SNMP (Simple Network Management Protocol) a t dvelopp pour permettre ladministrateur du rseau dinterroger les lments de son rseau sans se dplacer. Le principe de SNMP est trs simple : sur chacune des machines, on installe un petit programme : lagent SNMP. Cet agent enregistre en permanence des informations relatives la machine. Il stocke ces informations dans une MIB (Management Information Base), une base de donnes. Ainsi, de son ordinateur, ladministrateur peut interroger chacune de ses machines et obtenir les informations quil souhaite, comme par exemple le nombre doctets reus et envoys... Il peut aussi modifier certaines informations. Le protocole SNMP fonctionne au niveau 7 du modle OSI, mais se situe directement au-dessus dUDP. Il fonctionne sur un modle client-serveur, o il ny a quun seul client, la station dadministration (NMS = Network Management Station) et beaucoup de serveur (chaque agent SNMP), le client interrogeant les serveurs pour rcuprer les informations. Chaque agent est plac sur un nud du rseau qui est dit administrable (MN : Managed Node). Ces nuds peuvent tre soit des htes (stations de travail ou serveurs), soit des lments dinterconnexion (switchs, hubs, routeurs), soit des supports physiques (cbles).Deux types de machines participent au processus de management :SYMBOL 113 \f "Wingdings" des agents contenant du soft "agent" et une base de donnes de gestion des objets et variables propres la machine. Ils conservent des informations que le ou les managers ont la possibilit d consulter ou de modifier par des requtes. Ces agents gardent, par exemple, des statistiques sur l'tat des interfaces rseau, sur le trafic entrant et sortant, sur les messages d'erreurs gnrs.SYMBOL 113 \f "Wingdings" un manager (NMS : Network Management Station) partir duquel est contrl et administr le rseau. Un soft de gestion centrale y rside ainsi qu'une base de donnes globale.24.2 Les rfrences SNMP: RFC 1157 et 1155 SNMPv2: RFC1441 et145224.3 La MIBRfrence: RFC 1213 pour la MIB IILes deux groupes de travail qui ont propos SNMP et CMOT ont coopr initialement pour dfinir un standard concernant les donnes de management rseau. Ce standard est donc indpendant du protocole utilis (SNMP ou CMIP).Connu sous le nom de la MIB ( Management Information Base ), le standard spcifie les types de donnes qu'un hte ou un routeur IP doit conserver et les oprations permises sur ces types de donnes.La dfinition initiale de la MIB classe en huit catgories les informations de management (appeles variables MIB) :SYMBOL 113 \f "Wingdings" SystemThe host or gateway operating systemSYMBOL 113 \f "Wingdings" InterfacesIndividual network interfacesSYMBOL 113 \f "Wingdings" addr. trans.Address Translation (ex : ARP)SYMBOL 113 \f "Wingdings" ipInternet Protocol SoftwareSYMBOL 113 \f "Wingdings" icmp Internet Control Message Protocol softwareSYMBOL 113 \f "Wingdings" tcp Transmission Control Protocol softwareSYMBOL 113 \f "Wingdings" udpUser Datagram Protocol softwareSYMBOL 113 \f "Wingdings" egpExterior Gateway Protocol softwareToute variable MIB est identifie par une suite de chiffres spars par des points. Toute identification d'une variable MIB a comme prfixe 1.3.6.1.2.1. Le chiffre suivant compris entre 1 et 8 indique la catgorie laquelle appartient la variable MIB (system, ip, ...). Le chiffre suivant enfin identifie la variable dans la catgorie.Par exemple, 1.3.6.1.2.1.4.3 correspondant la variable ipInReceives24.4 SMIUn autre standard appel SMI (Structure of Management Information) dcrit un ensemble de rgles utilises pour dfinir et identifier les variables MIB..Pour se retrouver dans la foule dinformations proposes par chaque agent, on a dfini une structure particulire pour les informations appele SMI. Chacune des informations de la MIB peut tre retrouve soit partir de son nom de variable, soit partir dun arbre de classification. Cela revient parcourir des sous-dossiers et dossiers dun disque dur Supposons que vous souhaitiez consulter la variable System dun hte, vous pouvez soit lui demander la variable System directement, soit lui demander la variable ayant pour OID (Object IDentification) 1.3.6.1.2.1.1 correspondant larborescence de la variable (ISO, Identified Organization, dod, Internet, Management, MIB2, System). Ca parait trs lourd premire vue, mais le nombre de variable tant important, on ne peut se souvenir de chaque nom. Par contre, il existe de nombreux logiciel permettant dexplorer la MIB de faon conviviale, en utilisant cette classification. SMI dfinit, par exemple, les types IpAddress (Chane de caractres de 4 octets) et Counter (entier entre 0 et 232 -1). C'est partir de ces types que doivent tre dfinies les variables MIB.SMI impose galement l'utilisation du standard ISO ASN.1 pour dfinir et rfrencer les variables MIB.Au bout dun moment, les variables choisies pour la MIB (puis la MIB2) se sont avres insuffisantes pour plusieurs applications. On va donc trouver deux autres types de MIB que sont les Private MIB et les MIB R-MON (Remote network MONitoring). Les Private MIB, reprsentes en 1.3.6.1.4 dans la classification SMI, permettent aux entreprises de rajouter des variables pour une implmentation particulire des agents SNMP. Cela leur permet dajouter de nouvelles variables en fonctions des applications quelles veulent dvelopper. Les MIB R-MON permettent par exemple de placer des agents SNMP sur des supports physiques. Sur un cbles, on peut connecter une sonde R-MON qui va enregistrer tout se passe et que le ladministrateur pourra interroger pour avoir des informations sur les collisions, les dbits un endroit prcis.25. Les Firewalls ou coupe-feu25.1 Prsentation Le FIREWALL est destin garantir la scurit des changes entre deux rseaux Il agit sur la couche Application. Il faut absolument dsactiver le FORWARDING IP (routage par la couche 3)25.2 Fonctionnement Le Firewall spare physiquement et logiquement deux rseaux (le rseau de lentreprise et Internet ou deux rseaux dans lentreprise). Il filtre les connexions afin dinterdire les intrusions25.3 Les PROXY25.3.1 Dfinition le serveur PROXY, le FireWall simule lapplication et permet de crer vritablement un mur entre le rseau protger et Internet.25.3.2 Fonctionnement lorsquun paquet est reu, le FireWall lexamine et vrifie les adresses source et destination, lutilisateur, le type dapplication laquelle il doit accder et, ventuellementlinterface rseau utilise. A la diffrence de ce qui se passe avec les autres techniques, le paquet IP nest pas renvoy tel quel. Le FireWall cre un nouveau paquet, mais seulement aprs que la session soit autorise, et modifie ladresse source pour y mettre la sienne, afin de cacher ladresse de lutilisateur. une fois la session tablie, le proxy surveille les paquets transmis contre dventuelles attaques applicatives connues (ping of death, dni de services, etc .)26. Annexes26.1 Interactions des protocoles TCP/IP entre eux26.2 La hirarchie desMIB26.3 Les trames Ethernetcalcul du FCS> 9.6 (sprambuleadresseadressetypedonnesCRCtempsprambuledestinationsourcelongueur+ paddinginter-trameet SFD64 bits6 octets6 octets2 octets46 1500 octets4 octets96 bits time8 octets64 1518 octetstype: pour les trames ETHERNET V2.0longueur : pour les trames IEEE 802.326.3.1 ETHERNET V2.0 de Xerox, DEC, et INTELPrambule/SFD (8 octets ) Destination adresse (6 octets ) Source adresse (6 octets ) Type (2 octets )Donnes ( 46 1500 octets )...FCS (4 octets )26.3.2 IEEE 802.3/IS 8802.3 de lISOPrambule/SFD (8 octets ) Destination adresse (6 octets ) Source adresse (6 octets ) Longueur (2 octets )Donnes ( 46 1500 octets )...FCS (4 octets )26.3.3 Le champ TypeLe champ Type / LongueurLongueur IEEE 802.30000-05DCXNS Internet0600DoD IP v4 ( Internet Protocol )0x0800X25 niveau 30x0805Ethernet ARP ( Address Resolution Protocol )0x0806Ethernet RARP (Reverse ARP )0x8035AppleTalk0x809BAppleTalk ARP0x80F3NetWare IPX/SPX0x8137, et 0x8138IP v60x08DD26.3.4 Le champ adresse constructeur00-00-0CCISCO00-00-DDGOULD00-00-0FNeXT00-00-DEUNIGRAPH00-00-1BNOVELL00-00-F0SAMSUNG00-00-6BMIPS00-20-AF3COM00-00-6EARTISOFT00-60-8C3COM00-00-93PROTEON02-60-8C3COM00-00-AAXEROX00-AA-00INTEL00-00-C0Western Digital/SMC08-00-07APPLE00-00-D8NOVELL08-00-5AIBM26.4 Le format des paquets26.4.1 Le datagramme IP v4 la taille minimale de lentte fait 20 octetsb0b4b8b16b24b31VersionIHLTOSTotal Length FieldFlagsFragment OffsetTTLProtocolHeader ChecksumIP Source AddressIP Destination AddressOptionData Field Version (4 bits) IHL: IP Header Length/Longueur de lentte IP (4 bits), en nombre de mots de 32 bits avec le champ option (la longueur maximale est de 60 octets) TOS: Type Of Service (8 bits) Total Length Field/Longueur totale du datagramme, en nombre doctets (16 bits) TTL: Time TO Live (8 bits) Protocol (8 bits) Header Checksum (16 bits) Source Address IP (32 bits) Destination Addr IP (32 bits) Option Field Data Field, ce champ encapsule le protocole N+1 Le TOS: Type Of Servive01234567PriorityDTRNot usedPriority0Priorit normale7Supervision rseauDSi D=1 ( dlai courtTSi T=1 ( dbit de transmission levRSi R=1 ( grande fiabilit les FLAGS-RservFSi F=1 ( Fragmentation interditeMMoreSi M=1 ( les datagrammes IP sont fragments26.4.2 Le datagramme IP v6b0b4b8b16b24b31VersionPrioriyFlow LabelPayload LengthNext HeaderHop LimitSource AddressDestination Address Version (4 bits) Priority (4 bits) Flow Label (24 bits) Payload Length (16 bits) Next Header (8 bits) Hop Limit (8 bits) Source Address (128 bits) Destination Addr (128 bits)26.4.3 Le datagramme ARPb0b4b8b16b24b31Hardware TypeProtocol TypeHard Add SizeProtocol Add SizeOperationSenders Hardware Address (byte 0 to 3)Senders Hardware Address (byte 4 to 5)Senders IP Address (byte 0 to 1)Senders IP Address (byte 2 to 3)Targets Hardware Address (byte 0 to 1)Targets Hardware Address (byte 2 to 5)Targets IP Address (byte 0 to 3) Hardware Type / Type de rseau; 1 ( Ethernet Protocol Type / Type de protocole; 0x0800 ( IP Hard Add Size ; longueur en octets de ladresse physique Lg adresse protocole; longueur en octets de ladresse IP Opration:1 ( Request ARP2.(Reply ARP3 ( Request RARP4 ( Reply RARP Senders Hardware Address; adresse physique de lmetteur de la trame Senders IP Address; adresse IP de lmetteur de la trame Targets Hardware Address; adresse physique du destinataire de la trame Targets IP Address; adresse IP du destinataire de la trame26.4.4 Le paquet TCP la taille minimale de lentte fait 20 octetsb0b4b8b16b24b31Numro de port sourceNumro de port destinationNumro de squenceNumro dacquittementH.L.ReservedFlagsWindow sizeTCP ChecksumPointeur urgentOptionData Field26.4.5 Le datagramme UDP la taille minimale de lentte fait 8 octetsb0b4b8b16b24b31Numro de port sourceNumro de port destinationUDP LengthUDP ChecksumOptionData Field26.5 Le MTUMTU: Maximum Transmission Unit Le MTU indique la limite suprieure dune trame Si IP a un datagramme suprieure au MTU, IP emploie la fragmentation La commande netstat permet de visualiser le MTU des interfaces. Valeurs reprsentative de MTU daprs la RFC 1191RseauMTU en octetsHyperchannelToken Ring 16MbpsToken Ring 4MbpsATMFDDIEthernetIEEE 802.2/802.3X25Point point (faible retard) (*)6553517914446453435215001492576296(*) SLIP ou PPP Le MTU de chemin (PATH MTU) est le plus petit MTU dune trame lorsque celle-ci traverse plusieurs rseaux physiques. Le MTU est calcul en fonction du temps daller et retour (round-trip delay) que prend un paquet interactif pour tre envoy et pour retourner quelque chose. Un temps de rponse entre 100 200 ms est peru comme mauvais par un utilisateur.26.6 Analyse de trames26.6.1 Les trames ARP26.6.1.1 ARP RequestFrame Time Src MAC Addr Dst MAC Addr Protocol Description41 260.554 3COM 234819 *BROADCAST ARP_RARP ARP:RequestETHERNET: ETYPE = 0x0806 : Protocol = ARP: Address Resolution Protocol ETHERNET: Destination address : FFFFFFFFFFFF ETHERNET: .......1 = Group address ETHERNET: ......1. = Locally administered address ETHERNET: Source address : 02608C234819 ETHERNET: .......0 = No routing information present ETHERNET: ......1. = Locally administered address ETHERNET: Frame Length : 60 (0x003C) ETHERNET: Ethernet Type : 0x0806 (ARP: Address Resolution Protocol) ETHERNET: Ethernet Data: Number of data bytes remaining = 46 (0x002E)ARP_RARP: ARP: Request, Target IP: 128.1.1.10 ARP_RARP: Hardware Address Space = 1 (0x1) ARP_RARP: Protocol Address Space = 2048 (0x800) ARP_RARP: Hardware Address Length = 6 (0x6) ARP_RARP: Protocol Address Length = 4 (0x4) ARP_RARP: Opcode = 1 (0x1) ARP_RARP: Sender's Hardware Address = 02608C234819 ARP_RARP: Sender's Protocol Address = 128.1.1.1 ARP_RARP: Target's Hardware Address = 000000000000 ARP_RARP: Target's Protocol Address = 128.1.1.10 ARP_RARP: Frame Padding00000: FF FF FF FF FF FF 02 60 8C 23 48 19 08 06 00 01 .......`.#H.....00010: 08 00 06 04 00 01 02 60 8C 23 48 19 80 01 01 01 .......`.#H.....00020: 00 00 00 00 00 00 80 01 01 0A 00 00 00 00 00 13 ................00030: 00 00 00 13 00 00 00 13 31 0A 0C 64 ........1..d 26.6.1.2 ARP ReplyFrame Time Src MAC Addr Dst MAC Addr Protocol Description42 260.558 3COM 234968 3COM 234819 ARP_RARP ARP: ReplyETHERNET: ETYPE = 0x0806 : Protocol = ARP: Address Resolution Protocol ETHERNET: Destination address : 02608C234819 ETHERNET: .......0 = Individual address ETHERNET: ......1. = Locally administered address ETHERNET: Source address : 02608C234968 ETHERNET: .......0 = No routing information present ETHERNET: ......1. = Locally administered address ETHERNET: Frame Length : 60 (0x003C) ETHERNET: Ethernet Type : 0x0806 (ARP: Address Resolution Protocol) ETHERNET: Ethernet Data: Number of data bytes remaining = 46 (0x002E)ARP_RARP: ARP: Reply, Target IP: 128.1.1.1 Target Hdwr Addr: 02608C234819 ARP_RARP: Hardware Address Space = 1 (0x1) ARP_RARP: Protocol Address Space = 2048 (0x800) ARP_RARP: Hardware Address Length = 6 (0x6) ARP_RARP: Protocol Address Length = 4 (0x4) ARP_RARP: Opcode = 2 (0x2) ARP_RARP: Sender's Hardware Address = 02608C234968 ARP_RARP: Sender's Protocol Address = 128.1.1.10 ARP_RARP: Target's Hardware Address = 02608C234819 ARP_RARP: Target's Protocol Address = 128.1.1.1 ARP_RARP: Frame Padding00000: 02 60 8C 23 48 19 02 60 8C 23 49 68 08 06 00 01 .`.#H..`.#Ih....00010: 08 00 06 04 00 02 02 60 8C 23 49 68 80 01 01 0A .......`.#Ih....00020: 02 60 8C 23 48 19 80 01 01 01 00 00 00 00 00 13 .`.#H...........00030: 00 00 00 13 00 00 00 13 31 0A 0C 64 ........1..d 26.6.2 Les trames ICMPTrace du moniteur rseau Thu 03/18/99 18:35:51 c:\temp\cicmpe.TXTTrame Heure Adr src MAC Adr dst MAC Protocole Description1 1.925 ZDSN 00A0245A4BBC ICMP EchoETHERNET: ETYPE = 0x0800 : Protocol = IP: DOD Internet Protocol ETHERNET: Destination address : 00A0245A4BBC ETHERNET: .......0 = Individual address ETHERNET: ......0. = Universally administered address ETHERNET: Source address : 00A0245375CF ETHERNET: .......0 = No routing information present ETHERNET: ......0. = Universally administered address ETHERNET: Frame Length : 74 (0x004A) ETHERNET: Ethernet Type : 0x0800 (IP: DOD Internet Protocol) ETHERNET: Ethernet Data: Number of data bytes remaining = 60 (0x003C) IP: ID = 0x2506; Proto = ICMP; Len: 60 IP: Version = 4 (0x4) IP: Header Length = 20 (0x14) IP: Service Type = 0 (0x0) IP: Precedence = Routine IP: ...0.... = Normal Delay IP: ....0... = Normal Throughput IP: .....0.. = Normal Reliability IP: Total Length = 60 (0x3C) IP: Identification = 9478 (0x2506) IP: Flags Summary = 0 (0x0) IP: .......0 = Last fragment in datagram IP: ......0. = May fragment datagram if necessary IP: Fragment Offset = 0 (0x0) bytes IP: Time to Live = 32 (0x20) IP: Protocol = ICMP - Internet Control Message IP: CheckSum = 0xF1A1 IP: Source Address = 192.168.1.101 IP: Destination Address = 192.168.1.100 IP: Data: Number of data bytes remaining = 40 (0x0028) ICMP: Echo, From 192.168.01.101 To 192.168.01.100 ICMP: Packet Type = Echo ICMP: CheckSum = 0x2F5C ICMP: Identifier = 256 (0x100) ICMP: Sequence Number = 7424 (0x1D00) ICMP: Data: Number of data bytes remaining = 32 (0x0020)00000: 00 A0 24 5A 4B BC 00 A0 24 53 75 CF 08 00 45 00 ..$ZK...$Su...E.00010: 00 3C 25 06 00 00 20 01 F1 A1 C0 A8 01 65 C0 A8 .

Recommended

View more >