11.07.2015 Views

Les Réseaux Informatiques - Kro gpg

Les Réseaux Informatiques - Kro gpg

Les Réseaux Informatiques - Kro gpg

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

4HISTORIQUEQuelques dates des évolutions techniques.Le langage parlé ? -4 Millions ?L’écriture Assyriens -3500<strong>Les</strong> pigeons voyageurs ? ?<strong>Les</strong> signaux de fumées <strong>Les</strong> amérindiens ?<strong>Les</strong> dialectes sifflés ? ?<strong>Les</strong> postes ? < 0Télégraphe à bras Chappe 1792mobilesTélégraphe Code de Morse 1843Téléphone Bell et Gray 1875Radio Marconi 1895Transistor Bell Labs 1948Ordinateur ENIAC 1946ETHERNET Xerox Intel Dec 1976Apple2 S.Jobs et Wozniack 1979 ?IBM PC IBM 1981 ?La communication entre ordinateurs ne peut pas être distinguée de celle des hommes. Si au départ,l’ordinateur n’est qu’un gros jouet aux mains de scientifiques, celui-ci a créé une véritable révolutiontechnologique qui devient le support de base de la communication entre les humains. L’informatique estentrée partout, dans le téléphone, dans les disques compacts, la voiture, l’avion. Partout l’ordinateur aremplacé la machine à écrire.L’évolution des capacités de communication des ordinateursL’ordinateur au début n’a que des capacités de calcul. Communiquer avec lui est l’affaire de spécialistes trèspointus. Puis, petit à petit, la technique s’améliore. On utilise des bandes perforées puis des cartes perforées.<strong>Les</strong> sorties sont faites sur des imprimantes.<strong>Les</strong> Télétypes sont utilisés pour communiquer avec l’ordinateur. Ce sont des terminaux qui font de la saisiesur un clavier et de l’affichage sur du papier.<strong>Les</strong> terminaux vidéo se généralisent ensuite. L’affichage se fait sur écran. Ces écrans deviennent de plus enplus sophistiqués , avec de la couleur, du graphisme. Un terminal est assez « bête », il ne fait que de lasaisie et de l’affichage, il envoie les caractères tapés au clavier et reçoit des ordres d’affichage.Le prix des processeurs diminuant, la technologie devenant à la portée de plus petites équipes, le microordinateurarrive à la fin des années 70 (INTEL). Depuis la façon de concevoir les réseaux et lesapplications a considérablement changé.Quelques chiffres qui expliquent bien des bouleversementsMicroprocesseur Date Prix Opérations / secIntel 4004 1971 ? 60000 sur 4 bitsPentium Pro 1996 1000 $ 100 Millions / 32 bitsSuper CalculateurCray 1 1985 10 Millions $ 100 Millions / 32 bits4


Schéma d’un réseau type des années 70-80 Avant les réseaux locauxOrdinateur central.Ordinateurgérant lescommunicationsLiaisonsspécialiséesContrôleur determinauxTerminaux: : : : : :On voit dans cette architecture un système très centralisé, conforme aux prix du marché. L’ordinateur esttrès cher, les terminaux assez bon marché.Chaque constructeur durant les années 60-90 a développé son propre réseau informatique avec son langagepropriétaire. Ceci permet de garder une clientèle captive, l’utilisateur n’ayant que peu de possibilités d’allervoir un autre constructeur. Certes à cet époque IBM ® se fait copier ses machines par deux ou troisconstructeurs mais c’est très limité. La société IBM à la fin des années 70 détenait 80 à 90% des ventesd’ordinateurs.Cependant les clients évoluent, ils rachètent d’autres entreprises qui n’ont pas forcément les mêmesordinateurs. Comment faire pour communiquer entre deux systèmes complètement différents ?. On voitalors apparaître des machines de réseau qui sont des traducteurs, d’un coté, il vont parler le SNA d’IBM, del’autre le DSA de BULL. On voit ainsi que pour connecter n constructeurs, il faut créer, à condition que lestraducteurs soient réversibles, n (n+1)/2 traducteurs. Travail gigantesque et difficile à mettre à jour car leslangages réseaux évoluent très vite.Il a donc fallu se réunir entre constructeurs pour définir un langage commun qui permette d’interconnecterles systèmes. Il en est résulté le protocole OSI (Open System Interconnection) de l’ISO (InternationalStandards Organization). Ce langage devait résoudre le problème des communications hétérogènes.En fait ces développements n’ont jamais été publics (pas de sources), le marché restreint. Peu deconstructeurs se sont dit : « J’abandonne mon langage pour l’OSI ». Du coup un petit langage né duDépartement de la Défense Américain (DOD) et promu par des Universités (Berkeley) est devenu celangage d’interconnexion. Il s’appelle INTERNET PROTOCOLE (IP)Pour donner un ordre d’idée : pour une petite machine IBM des années 1988. OSI valait 100 KF et TCP/IP5 KF . De plus avec TCP/IP on pouvait se relier à un vaste réseau existant. Le choix est vite fait !.<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 5


6Schéma typique de l’informatique avec l’arrivée des réseaux locaux:::Serveurdépartemental:Routeur d’agenceLiaison spécialiséeRéseau local 1Routeur central::::Serveur dusiègeRéseau local 2:Réseau local 3On voit que cette informatique est plus décentralisée. Le serveur central n’est plus sollicité que pour la nobletache.6


8La Couche Physique<strong>Les</strong> Codages de caractères7 bits 8 bits ASCII.. ISO 8809-1. Voir l’utilitaire charmap de windows pour voir une table de codesLa transmission , 2 modes :• Transmission parallèle : C’est une transmission simultanée des bits d’un même caractère. Ce type detransmission pose des problèmes de synchronisation et reste cantonnée à des courtes distances, du styleBus d’un ordinateur ou câble d’une imprimante. Le câble est le plus souvent plat.• Transmission en série . On envoie les bits les uns après les autres : 2 types de codages sont utilisés, lecodage dit asynchrone et le codage synchrone.<strong>Les</strong> supports de transmission• <strong>Les</strong> fils (Cuivre, Or..)• La Fibre Optique• <strong>Les</strong> signaux Hertziens (paraboles


Le Manchester DifférentielIl tient compte du bit précédent . Le bit zéro est un changement de polarité, le bit un non . Ce codage nedépend pas de la polarité. Il est utilisé comme niveau physique du réseau Local ETHERNET1 0 0 1 0Problème de la transmission bande de base : Ces signaux se déforment vite. Le carré s’arrondit, le signals’aplatit . Ils sont généralement utilisés pour de courtes distances. Pour aller plus loin, on utilise des signauxsinusoï daux. En fait la sortie d’un ordinateur, reste bande de base, plus loin, on utilise un appareil ditmodem qui va faire un recodage des signaux. Si la technologie s’améliore on change le modem et nonl’ordinateur.<strong>Les</strong> ModulationsSur des transports longue distance on va utiliser un modem qui va transformer le signal bande de base ensignal sinusoï dal.. On trouve différents types de modulations qui vont coder l’information.Modulation d’amplitude.Modulation de phaseModulation de fréquence :<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 9


10Modulation de phase à quatre moments00 01 10 11 10 00 00<strong>Les</strong> Sens de transmission.On trouve différents types de liaisons.Simplex Emetteur è RécepteurAlternat ou Emetteur è RécepteurHalf-Duplex é êRécepteur ç Emetteurbidirectionnel Emetteur è Récepteurou Full Duplex Récepteur ç EmetteurContrairement à ce que l’on pourrait croire ETHERNET dans sa version d’origine est un protocole Half-Duplex. On peut soit émettre, soit recevoir.<strong>Les</strong> jonctions, interfaces ou connectiqueExemple la jonction V24 (ou RS232C).Ceci décrit l’interface du port série d’un PC, pour communiquer avec un appareil externe. En fait, il existedeux types d’appareils, les DTE (Data Terminal Equipment) ou les DCE (Data CommunicationEquipement). Le DTE est un terminal ou ordinateur, alors que le DCE est généralement un modem.La norme V24 hélas n’a jamais décrit le connecteur physique et pendant de nombreuses années , lesconnecteurs étaient non normalisés. Il fallait créer des câbles spécifiques pour connecter des appareils deconstructeurs variés . Depuis l’arrivée des micro-ordinateurs, une interface de type Canon ® DB25 ou DB9est devenue un standard. C’est celle que l’on voit à l’arrière de l’ordinateur. Cette sortie est trapézoï dale.Vue de face de la sortie V24 / DB25:13 ….. 8 6 5 4 3 2 125 20 14Ces connecteurs vont recevoir ou transmettre des signaux. Comme cette interface doit recevoir beaucoupd’appareils , celle-ci dispose de beaucoup de broches. En fait on utilise principalement ceux-ci :(Plutôt que de parler DTE /DCE, voici un schéma de connexion PC/modem) . Certains de ces signaux sontobsolètes comme ceux utilisés pour composer des numéros. De nos jours on utilise le protocole Hayes.<strong>Les</strong> flèches indiquent qui émet le signal vers qui.<strong>Les</strong> numéros 103 , 104 sont les références de la norme que les gens ont transformés en étiquettes pluslisibles comme CD à la place de 109. Cependant, sur certains modems on voit encore ce genre d’indications.Câblage V24 d’ordinateur à modemOrdinateur (DTE)DTE = Data Terminal EquipmentModem (DCE)DCE = Data Communication Equipment20 (DTR) Terminal prêt è2 (TD) Transmission de données (103) è3 ç (RD) Réception de données (104)10


4 2 (RTS) Request to Send è5 ç (CTS) Clear to Send6 (DSR) Modem Prêt ç Modem Prêt8 (CD) Carrier detect ç Détection de porteuse on voit aussi 109 sur les modemsCes signaux sont juste de type On/Off (+_12V) sauf pour TD/RD qui véhiculent les données. Pourconnecter un modem sur un PC, il faut un câble spécial qui est vendu avec les modems. Si l’on veut faire untransfert d’ordinateur à ordinateur, il faudra un câble dit croisé. Voici un schéma type .Câblage V24 d’ordinateur à ordinateur. Lien série PC PCPCPC2 è 33 ç 24 è 6ê (Soudure)5 4ê (Soudure)6 ç 54 fils vont donc suffire, mais pour faire des transferts il faudra des programmes spécialisés tels laplink ou letransfert sur câble direct de MICROSOFT.Il existe bien des jonctions, ETHERNET utilise la RJ45, le téléphone la RJ11La RJ45 ETHERNET :Beaucoup plus simple, juste une paire de fils en émission , une paire en réception , avec une particularité !.Le câblage utilise 8 fils groupés en 4 paires torsadées. Le connecteur mâle suivant rentre dans une prisefemmelle murale ou dans un Hub ou dans une carte réseau.8 7 6 5 4 3 2 11 et 2 émission 3 et 6 ! réception.On prend 2 paires de fils suivant un code de couleur précis, pour prendre des automatises. Chaque paire estconstituée de torsades, pour la paire réception, un des fils va sur la sortie 3 , l’autre vers le 6.<strong>Les</strong> paires sont torsadées (Twisted Pair) on parle aussi de câblage UTP ou STP (Shielded ou Unshielded )suivant que les câbles sont dans un blindageX21 / V35Ces interfaces sont utilisées dés que la vitesse sur la ligne spécialisée dépasse 64Kb/s ou que le protocoleX25 est utilisé. Celles ci sont réservées au mode synchrone alors que la V24 peut faire de l’asynchrone oudu synchrone.2 Ces signaux sont très importants car ils servent au contrôle de flux. Voir le protocole V42bis decompression de données.<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 11


12<strong>Les</strong> modemsAvis CCITT Débit en bits/s Type deVitesse de Exploitationmodulation modulationV 34 28800 Phase+Amplitude 3200 Hz Full DuplexV32 9600 Phase+Amplitude 2400 Hz Full DuplexV32 bis 14400 « « 3200 « «<strong>Les</strong> modems dits asynchrones du marché qui sont utilisés comme Fax ou comme moyen de transmission surINTERNET ou sur les services kiosque 36xx, sont couramment des modems V34bis (33600 bits/s). Cesmodems présentent un certain nombre de possibilités. Ceux-ci sont dits compatibles Hayes, supportant lesprotocoles V42bis de compression et correction d’erreurs.Hayes 3 : un jeu de commandes qui permet de paramètrer le modem . Avec une émulation de terminal, ouun terminal, on peut envoyer des commandes à celui-ci 4 . Lorsque le modem est en attente d’une connexionon tape ce genre de commandes. Celles ci démarrent toujours par deux caractères : at suivi de la commandeat&vLe modem affiche sa configurationatd0442276892on appelle ce numéroats0=2Mise en réponse automatique.De nos jours, des systèmes comme Windows95 masquent ce genre de commandes via des drivers. On peutcependant utiliser en direct les commandes pour analyser les erreurs. Dans ce cas on sélectionne le portsérie dans Hyperterminal de Windows95 ou NT au lieu du pilote de modem.La compression : On dit en ce moment que l’on transfère à 115kb/s alors que le modem lui va à 33600Bit/sec. En fait , à travers le port série qui émet à 115Kb/s, on va agir comme dans un entonnoir. Le modemva essayer de comprimer les caractères envoyés. Si la ligne ne va pas assez vite, il va désactiver le signalCTS pour dire qu’il ne veut plus de données. On fait du contrôle de flux avec RTS/CTS (Voir interfaceV24)33600bits/ssur porteuse à 25000 HzModem115200 bits/s:InterfaceV24Contrôle de flux par lessignaux RTS/CTSRTC 2 FilsEn boucle de courantInterfaceV24On trouve de nombreux types de modems qui sont utilisés sur des liaisons spécialisés, ceux-ci ne sontparfois même pas normalisés. Il faut alors acheter une paire de modems au même fabricant. France Télécomfournit ses liaisons spécialisées synchrones avec deux modems d’extrémités. Il faut lors de la commandespécifier quel type d’interface on veut pour la liaison spécialisée (V24, V35, X21..) . Cette interface doit êtrela même que celle de l’équipement que l’on doit raccorder (Un ordinateur ou un routeur).X2 / K56Flex : Ces modems récents permettent de dépasser les 33.6 Kbs si l’une des extrémités est de typeRNIS (Numéris). Ils sont dissymétriques (56 kbs /16kbs) et sont utilisés pour se connecter aux fournisseursINTERNET.3 Hayes est une société qui fabrique des modems. On utilise sa façon de faire4 Sous Windows95 on prend Hyperterminal en utilisant directement le port du modem (com1 ..)12


La Détection et la Correction d’Erreur<strong>Les</strong> données sont transmises mais la ligne peut avoir des parasites, elle est bruitée. Il va donc falloir détecteret corriger ces erreurs.. <strong>Les</strong> codes correcteurs s’appliquent dans le cas de liaisons longues distances, parexemple les sondes spatiales, ou les délais de propagation de signaux dépassent plusieurs minutes. Il esthors de question de retransmettre. Il s’accumule un train de données énorme entre la sonde et la terre.Le volume de données entre les deux systèmes peut être de 10 000 000 bit/s 5 * 10 min * 60 sec = 600 Mo(un petit disque dur)..<strong>Les</strong> codes correcteursIl est donc impératif de corriger les erreurs plutôt que de les retransmettre. Pour ce faire, on va rendrel’information plus complexe en modifiant le codage habituel. Supposons que l’on ait un codage réduit de 4valeurs : par ex00,01,10,11, un erreur sur ce genre de codage conduit à une valeur correcte !. On va donc changer le codageet en proposer un autre.00= 0 0 0 0 001= 0 1 1 1 110= 1 0 1 1 011= 1 1 0 0 1Une erreur sur un code ne donne plus un code existant, on peut alors faire un calcul de distance sur lacombinaison la plus proche. C’est ce genre de technique qui est utilisé. Bien évidemment, celle-ci est trèscoûteuse en bande passante, puisqu’il faut rajouter de l’information et presque la doubler.. <strong>Les</strong> protocolesde transport ordinaires ne l’utilisent pas et ne mettent en place qu’un simple mécanisme de détectiond’erreur.Détection d’erreur.La parité : Tous les sept ou 8 bits , on rajoute un bit dit de parité. Ce genre de protection est peuperformante car deux erreurs passent inaperçues .<strong>Les</strong> méthodes standard, utilisent une division de polynômes . <strong>Les</strong> deux extrémités, se mettent d’accord surun polynôme de degré 16, dit polynôme générateur par exemple 1 + x 7 + x 16 . Ensuite, à partir des Béléments de la trame, on va calculer un autre polynôme de degré B-1. Ce polynôme s’écrit , ai étant le iémeélément de la trame,P(x) = a 0 + a 1 x + .. + a b-1 x b-1On calcule ensuite la division de ce polynôme par le polynôme dit générateur. Le reste est un polynôme dedegré 15 qui s’écrit : R(x)=r 0 + r 1 x + ... + r 15 x 15<strong>Les</strong> valeurs r0 à r15 sont ensuite stockées dans la zone de détection d’erreur. Lors de la réception, lerécepteur fait le même calcul et compare son résultat avec celui de l’émetteur. Si ça coï ncide , pas d’erreur,sinon erreur.Limites de la méthode : on peut avoir une erreur sur la zone de contrôle, alors que les données sont valides.Pour diminuer cet effet, il faut éviter que la zone de contrôle soit grande par rapport à la taille de la trame.Cette zone est appelée dans la littérature CRC (Cyclic Redundancy Code) ou FCS (Frame CheckSequence).A cause des erreurs de transmission, l’information est transmise par petites bouffées (trames) pour rester endessous du taux moyen d’erreur (10 -4 pour le téléphone). Un bit sur 10000 est faux. <strong>Les</strong> bouffées ou tramesdevront être de taille inférieure à ce chiffre.5 Si la vitesse de modulation du signal est de 10 Mbit/s<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 13


14LES RESEAUX LOCAUX14


LES RESEAUX LOCAUX<strong>Les</strong> types de réseaux locauxLe But :Raccorder sur un même support physique des ordinateurs, et permettre de communiquer avec un ensembled’ordinateurs sur ce support. Un seul message sur le support peut être lu par plusieurs ordinateurs. <strong>Les</strong>modems sont remplacés par des cartes réseaux que l’on installe dans les ordinateurs. Ces réseaux sont detaille limitée. Cette limite est due au protocole lui-même.On trouve schématiquement deux types de réseaux, les BUS et les AnneauxDans le cas des BUS, tout le monde parle sur un même fil. Pour gérer les collisions inévitables, ons’empare du fil en émettant suffisamment longtemps (le temps de la propagation aller/retour du signal sur lesupport), pour s’assurer que le message a été correctement lu.ETHERNET est de type BUS: : :Dans le cas des Anneaux, une trame vide circule en permanence sur le fil qui relie l’ensemble des machines.Cette trame s’appelle le jeton. La machine qui a le jeton peut y insérer des données. Le jeton peut êtreperdu. Le temps de réaction à cette perte encadre la dimension du réseau et le nombre des machines quipeuvent s’y connecter. <strong>Les</strong> anneaux se comportent mieux sous forte charge.Token Ring est de type Anneau à Jeton:Jeton:::<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 15


16ETHERNETLe support Physique ETHERNET ou IEEE802.3ETHERNET ou le début du réseau Local (RFC 894 et 1042)ETHERNET a été développé par Xerox Corporation au Palo Alto Center (PARC) vers le milieu des années70. Il fait suite au développement d’un projet de réseau (ALOA) de l’Université de Hawaii. A cette époque,le concept de réseau local n‘existe pas, le micro-ordinateur non plus. Bref un peu de paléontologie..ETHERNET est novateur car la vitesse d’échange entre ordinateurs n’excèdait guère 64 Kilo bits parseconde. Le principe est donc de mettre un support physique en commun, et de faire du très haut débit surdes distances moyennes (>100m).La spécification de ETHERNET a été faite conjointement par DEC, Xerox et Intel.On utilise un câble commun pour relier des dizaines voire des centaines de machines. Ce câble commun vavéhiculer les informations à destination de l’ensemble des stations, la méthode utilisée est le CSMA/CD(Carrier Sense Multiple Access / Colision Detection).Le Câble forme un BUS dans le jargon réseau, reliant les stations. La vitesse est fixée par la norme : 10Mbs. (10 Millions de bits par seconde). Un bit est une valeur binaire : 0 ou 1.Des prix : début 80 une carte ETHERNET vaut 10000Fr, maintenant 150Fr ! ! !La notation IEEE802.3 :10Base5 10=10Mbs Base=Bande de Base 5 = 5*100mètres ex :Nom 10 Base 5 10 base2 1 Base5 10BaseT (1985) 10Broad 36Vitesse Mbps 10 10 1 10 10Signal Baseband Baseband Baseband Baseband BroadbandLongueur 500 185 250 100 1800MaxMedia 50 Ohm coax 50 Ohm coax Unshielded UTP75 ohm coax(thick) (thin)Twisted PairTopologie Bus Bus Bus Etoile BusUn certain nombre de réseaux cités sont très rares (10Broad36 ou 1Base5).Topologie de Bus::Exemple de réseau ETHERNET.<strong>Les</strong> bouchons sont là pour éviterles réflexions parasites.:BouchonProblème : Comment parler sans que ce soit le désordre ?. ETHERNET a dû répondre à ce problème.Ce protocole est aléatoire, chacun parle quand il a envie, mais suivant des règles strictes. Si deux machinesémettent en simultané, il se produit une collision. Celle-ci n’est détectée que pendant l’émission d’unetrame.16


1. Avant de parler on écoute le câble. Si silence étape 2.2. On émet une trame de 64 octets minimum et au plus 1518 octets. La collision doit être détectée pendantl’émission de la plus petite trame. Celle-ci comprend 64 octets, soit 512 bits transmis en 51,2 µs (à 10Mbit/s). On écoute pendant l’émission, il faut avoir le retour d’information comme quoi une collisionvient d’arriver. Pour cela la longueur maximum du réseau correspond à une durée de 25,6µs. Si l’onutilise une fibre optique, la longueur maximum en km sera de 3*10 5 *25.6*10 -6 = 7km. En fait ce cas estrare car la vitesse est plus faible dans les câbles, de plus le signal s’affaiblit et il faut le régénérer par desrépéteurs qui ont des temps de traversée. C’est souvent plus proche de 500m.3. Le signal se propage comme une onde qui va parcourir le câble. Or, des stations ont pu croire que lacâble était libre et se mettent à parler. Il se produit dans le jargon ETHERNET, une collision. On détecteune trame brouillée (Jam).4. Si collision, on émet une trame de brouillage, on calcule un nombre aléatoire et on attend avant deréémettre 6 . Toutes les stations font le même calcul. Passé ce délai, on réémet la trame. Et ainsi de suitejusqu'à 16 fois, avant de remonter une anomalie à la couche supérieure.Le support d’origine était un câble coaxial qui ne comporte qu’un fil central et un blindage. Ce type desupport ne permet pas une transmission bidirectionnelle mais juste unidirectionnelle. On dit que latransmission est half-duplex. (on émet ou on reçoit). Ceci a changé avec l’apparition de 10 Base T quicomprend 2 paires de fils, une pour émettre et une pour recevoir. Ceci dit, à part dans les commutateursETHERNET modernes le protocole reste half-duplex.Au delà de la limite de distance du support , on peut étendre le réseau à l’aide de répéteurs qui vontréamplifier le signal vers un autre segment ETHERNET. On ne peut pas traverser plus de 2 à 3 répéteurs.Au-delà on utilise des ponts . Le pont lit les trames et les réémet, de plus il apprend les adressesETHERNET et fait office de filtre. Le répéteurs eux amplifient tout, même les bruits. Le pont travaille auniveau logique, fait du contrôle d’adresses et d’erreurs.<strong>Les</strong> ponts peuvent boucler le réseau à condition d’utiliser l’algorithme Spanning Tree. L’expérience montreque loin de faire une redondance entre ponts, la détection des problèmes s’avère fort délicate. Il vaut mieuxéviter de boucler un réseau ETHERNET.Le Format des trames.On trouve plusieurs formats : IEEE802.3, IEEE802.2, ETHERNET2, ETHERNET SNAP. Pour simplifier,on ne présente que ETHERNET2. TCP/IP utilise la plupart du temps le format ETHERNET2. PourIEEE802.3 le champ type devient un champ longueur. On ajoute parfois un en-tête dans la partie donnéequi s’appelle le LLC suivi éventuellement du SNAP. Ces en-têtes supplémentaires provoquent une perte dedonnées utiles que TCP/IP évite en prenant le format originel de ETHERNET (II).<strong>Les</strong> chiffres indiquent le nombre d’octets (8 bits)7 1 6 6 2 46-1500 4Préambule SOFAdresse deDestinationAdresse Source Type Données FCSPréambule :Attention, une trame arrive, synchronisez vous (Toutes les horloges ont des dérives 10Mb/s +-)SOF (Start of Frame)Fanion de début de trame (séquence caractéristique).Source :Chaque carte a une adresse unique générée par le constructeur de la carte.Destination :Soit l’adresse d’une carte, soit une adresse de diffusion de groupe ou de réseau (Broadcast)Type :Quel service réseau va lire la trame. Par exemple IP ou NOVELL ou LAN Manager . Ces types sontnormalisés. Le type indique à quel logiciel (couche) on va renvoyer les données.FCS (CRC Cyclic Redundancy Check)6 Il existe de toute façon un temps inter trame égal à 12 octets soit 9.6 µsec<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 17


18Un code est rajouté pour voire si une erreur a endommagé la trame. Si c’est le cas elle est mise à la poubelleau niveau de la carte réseau.Polynôme Détecteur d’erreur calculé par un circuit sur la carte :g(x) = x 32 + x 26 + x 16 + x 12 + x 11 + x 10 + x 8 + x 7 + x 5 + x 4 + x 2 + x 1Chaque carte vendue dans le commerce possède une adresse source qui est unique. <strong>Les</strong> 3 premiers octetsréprésentent un code du constructeur, la suite le numéro de série de la carte. <strong>Les</strong> machines utilisent leursadressent matérielles pour communiquer. De temps en temps, elles utilisent l’adresse de diffusion oubroadcast. Celle-ci est constituée par 48 bits à un. <strong>Les</strong> adresses sont souvent représentées par des valeurshexadécimales, séparées par le symbole « : » . L’adresse de broadcast s’écrit donc ainsi :FF :FF :FF :FF :FF :FF.<strong>Les</strong> JONCTIONS et la connectiqueL’Interface AUIUne interface DB15 (15broches) qui permet de mettre un transceiver externe qui peut s’adapter à tout typede support (Coax fin, 10 BaseT, 10 BaseF) F pour fibre optique. <strong>Les</strong> cartes ont très souvent ce connecteursupplémentaire. Seul inconvénient, il n’est pas Full-Duplex.10Base2Un câble coaxial fin avec des connecteurs en T. Facile a mettre en place. Par contre les connecteursaffaiblissent le signal , du coup on ne peut mettre que 30 stations sur le câble. Tend à être remplacé par10BaseT. Un problème sur le câble et 30 stations en panne contrairement à 10BaseT.10 Base T :Le support est constitué de 2 paires de fils torsadés (twisted pairs), prolongés par des connecteursd ‘extrémité appelés RJ45. Ces câbles vont dans des appareils appelés HUB qui connectent les machines. Ilexiste des HUB 8 ports 12 /16/24 ports. On ne doit pas connecter par des câbles, plus de 3 Hubs. <strong>Les</strong> câblesde connections qui les relient sont des câbles croisés. Voir schéma du cours. En 85, la porte sur le Hubvalait 2000Fr , maintenant 300 à 400 Fr. <strong>Les</strong> Hub peuvent être cascadés en local avec des câblespropriétaires. Ils ne forment alors qu’un seul ensemble. Dés qu’ils sont éloignés , il faut des câbles croisés.<strong>Les</strong> machines ne doivent pas être à plus de 100 mètres du Hub. Idem pour les Hubs entre eux.<strong>Les</strong> évolutions :La technologie aidant, le prix des processeurs chutant, on voit apparaître des HUB intelligents appelésswitch (commutateurs) . Ces commutateurs sont capables de lire une trame et de la diriger sur l’un des portsen fonction de l’adresse de destination. Par rapport au Bus classique, on ne reçoit que les trames pour soi, etdonc on améliore nettement la capacité du réseau. C’est un peu comme si l’on mettait un pont entre chaqueporte du Hub.Ces switchs ont deux modes, le Store and Forward et le Cut Through. Le premier lit la trame et si elle estvalide l’envoie, le deuxième lit l’adresse destination et dès que celle-ci est lue, envoie le reste vers la bonnedestination sans attendre, ceci propage hélas aussi les erreurs (mauvais CRC). Store and forward est de plusen plus utilisé.Une autre technique est d’attendre la longueur minimale d’une trame (64 octets) avant de la transmettre.100 Base TEn fait , en gardant le principe de ETHERNET, on transmet à 100 Mbs. Ceci ne peut marcher que sur unréseau qui ne fait que du 100BaseT. Ce sont donc des Hubs particuliers qui utilisent les câbles habituels du10BaseT, toutefois les connecteurs d’extrémité sont blindés.Pour avoir à la fois du 100Mbs et du 10Mbs sur le même réseau, il faut interconnecter avec des switchs.Un switch vaut au moins 1000Fr la porte (200Fr pour un Hub), par contre la carte ETHERNET 100Mbs està peine plus chère que son ancêtre.GIGA Bit EthernetLe concurrent de l’ATM pour les hauts débits. Même principe mais la vitesse est de 1Gigabit/sec. Le prixdes cartes et des liens 1Gbs étant assez bon marché, le Gbs risque de faire une sérieuse concurrence àl’ATM.Le Gigabit Ethernet utilise en 1999 uniquement les fibres optiques. Cependant, une normalisation sur pairemétalliques va avoir lieu. Le cablage recommandé devra suivre les spécification 5E. Il faudra faire très18


attention à avoir les mêmes types de cable (impédance). Curieusement, le Gigabit sur cuivre sera unprotocole de transport parallèle qui utilise les 8 fils, 4 en émission et 4 en réception. <strong>Les</strong> émissions étant à250 Mbs sur chaque fil.Vers le Full DuplexOn a tendance en fait à réserver 100BaseT pour des serveurs qui sont très sollicités et de laisser 10BaseTpour les stations. Mais ça changera assez vite , surtout pour les installations nouvelles.On parle aussi de plus en plus du Full Duplex pour le 10BaseT et le 100BaseT. En fait comme on a unepaire émission et réception, autant en profiter. Du coup le Hub devenu switch fait disparaître les problèmesde collisions. Une conséquence importante en devient l’agrandissement des distances. Il ne faut pas oublierque plus la vitesse d’émission augmente, plus la dimension du réseau ETHERNET diminue. La dimensionminimale de la trame n’a pas évoluée et du coup 64 octets prendront moins de temps à être émis.<strong>Les</strong> différentes variations de la trame ETHERNET (pour les initiés)ETHERNET II (TCP/IP)Source Destination Type 46 à 1500 octets FCSETHERNET 802.3 (NOVELL uniquement)Source Destination Longueur 46 à 1500 octets FCSETHERNET 802.2Source Destination Longueur LLC 3 octets 46 à 1500 octets FCSETHERNET SNAP (Apple / IBM)Source Destination Longueur LLC (3) SNAP (2) 46 à 1500 FCSSi le champ Type/longueur est supérieur à 05DC, c’est une trame ETHERNET IILa trame 802.3 « brute » est une erreur de NOVELL. Elle disparaît peu à peu.<strong>Les</strong> câblages de bâtimentsOn utilise le terme de capillaire pour les désigner les câbles qui irriguent chacun des bureaux, et celui deBackBone ou épine dorsale pour les connexions centrales. Généralement le capillaire est fait par de câblesdits de catégorie 5 (100Mbs), en cuivre (paire métalliques torsadées) et se raccordent à des armoires decommunication sur des panneaux de répartition. Chaque bureau reçoit au bout de ce câble une prise muraleavec une prise RJ45 femelle. Un câble souple permet de connecter l’ordinateur à la prise murale. La distanceHUB Ordinateur doit être inférieure à 100 mètres.Sur le panneau de répartition un autre câble souple relie la prise à un équipement actif . Un HUBETHERNET ou TOKEN-RING ou un commutateur ATM. <strong>Les</strong> armoires sont souvent connectées par desfibres optiques permettant de faire passer des débits plus importants sur des distances plus longues.Remarque : pour connecter des bâtiments différents, la fibre optique est obligatoire pour des raisons deterres électriques.<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 19


20TOKEN RINGou IEEE802.5 ou Anneau à JetonToken Ring est le protocole promu par IBM pour se démarquer de ETHERNET. Stratégie industrielle ?, ouvision différente du réseau et de la société. On a vu avec ETHERNET que l’organisation est très anarchiste.Tout le monde cause quand il veut. Bref IBM n’a pas dû aimer et a inventé l’anneau à jeton 7 . Un jetontourne, va de station en station. Le jeton est une trame qui circule de station en station. Si vous l’avez etqu’il est vide, vous pouvez y ajouter vos données. Quand on émet, le récepteur prend l’information , indiquedans l’en-tête qu’il a lu les données , le récepteur vérifie cette lecture et rend le jeton vide. Cette norme aévolué en vitesse. Au départ , c’était 4Mb/s, maintenant c’est 16 Mbs. La vérification de la lecture à 16Mb/sn’est pas faite.Ce protocole était assez novateur pour le câblage, car il utilise du matériel actif équivalent au HubETHERNET, ceci bien avant 10BaseT. Avantage aussi, sous forte charge, le réseau ne s’écroule pas, tout lemonde a le même temps de parole. Par contre sous faible charge il est plus lent. <strong>Les</strong> trames sont pluslongues. On peut insérer des stations ou des MAU ( MAU= medium access unit) à chaud. <strong>Les</strong> MAU sontalimentées par les stations. Donc le matériel est très fiable. Un anneau peut compter 256 stations.La vitesse d’émission était de 4Mbs à l’origine, puis 16Mbs ensuite.Le concept de l’anneau reste d’actualité dans les hauts débits (FDDI)Format de la trame :1 1 1 6 6 >=0 4 1Start Access Frame Adresse Adresse Données FCS EndDelimter Control control Destination SourceDelimiterLe token = StartDelimter+AccessControl+EndDelimiterTopologie Logique d’un AnneauPhysiquement c’est une étoile::Jeton::Une station est le moniteur actif (la première connectée) et contrôle le réseau. Si une station est en panne,une trame peut ne pas s’arrêter .7 IBM n’a pas réussi à imposer TokenRing. Technologie trop chère, ouverture trop tardive ?. Du coupETHERNET domine le marché et la commutation a enlevé les problèmes d’écroulement sous forte charge.20


Rôle du moniteurGérer la perte du jetonSe signaler aux autres par une trame spéciale régulièrementLa méthode d’accès est finalement beaucoup plus complexe et se prête moins bien à l’utilisation descommutateurs. Il faut sans arrêt émettre des jetons sur toutes les portes du commutateur. Par ce principe, latransmission ne peut être Full-Duplex. C’est une limitation de taille.<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 21


22FDDIou Fiber Distributed Data InterfaceNé au milieu des années 80 :Principe : 100 Mbps, double anneau à jeton utilisant un support fibre optique. <strong>Les</strong> fibres peuvent êtreMultimode ou monomode. La différence entre les deux vient du fait que l’une est à gradient d’indice alorsque l’autre a un cœur d’un autre indice dont le diamètre est égal à la longueur d’onde de la lumièretransportée, celle-ci se propage alors en ligne droite sans dispersion. La monomode est réservée pour des casparticuliers (distance) et ses connecteurs sont chers. On utilise le plus souvent de la multimode dite 62.5/125µm. Des lasers à diodes semi-conductrices sont utilisés pour émettre, de la même façon que pour la lectured’un CD-ROM.La technologie FFDI connaît une nouvelle jeunesse avec l’arrivée des commutateurs FDDI. Ceci dit, elle esttrès concurrencée par l’arrivée de l’ETHERNET à 100 Mbs et de la commutation ETHERNET à 100Mbs.On ne lui prédit plus un très grand avenir. Elle existe cependant de nombreux sites qui ont eu des besoins degros débits avant l’apparition de 100 Base T.Caractéristiques principalesDistance entre deux nœuds 2kms2 anneaux contrarotatifs100 km à plat ou 35 km de diamètre500 à 1000 stations possiblesTrame maximum de 45000 octetsTolérance de panne en cas de coupure des anneauxPour émettre, il faut avoir le jeton et avoir été accepté par la station de management.3 compteurs gérés par la stationLE TRTT (temps max de rotation du jeton)Le TRT (par rapport au TRTT, combien de temps peut on parler). Si jeton en retard, on n’émet que lesinformations synchrones (voix, vidéo..)Le THT temps maximal d’émission synchrone (temps réel)22


VLANSou Virtual Lan (Réseau Virtuel)Ce n’est pas une nouvelle norme de réseau local mais une méthode pour gérer les réseaux locaux. Il s’agitplus de supervision de réseau.<strong>Les</strong> VLAN constituent une étape importante dans la gestion d’un grand réseau. En effet beaucoup de tempsest passé pour séparer physiquement les réseaux dans des panneaux de brassage.En général un grand réseau n’est pas un réseau tout à plat mais une série de réseaux cloisonnéesphysiquement et interconnectés par des routeurs.Lorsqu’un utilisateur se déplace ou un bureau change d’affectation , il faut se déplacer pour modifier lepanneau de brassage de manière à mettre ce bureau sur un autre HUB.En fait avec les VLAN, qui prennent tout leur poids avec les commutateurs et leur généralisation, il estpossible à partir d’une station de supervision de grouper les utilisateurs entre eux sans se déplacer. Lerésultat est identique à une séparation physique. On ne pourra pas faire de partage d’information bricoléavec le collègue d’un autre service.<strong>Les</strong> choix de séparation se font soit sur :• les numéros de carte ETHERNET.• les adresses TCP/IP.• Le plus souvent l’interface physique d’un commutateur. On groupe les ports entre eux, ou qu’ils soientdans le bâtiment.Problèmes : Jusque récemment, les HUB/Commutateurs communiquent entre eux suivant un protocolepropriétaire. Une norme récente ISO8021Q devrait résoudre le problème de la coopération d’équipementvariés entre eux. 8Pour que ces réseaux devenu physiquement séparés communiquent entre eux, il faut soit des routeurs, soitun VLAN commun dans lequel seront mis les serveurs communs. Ce VLAN commun va recevoir tous lesbroadcast de tous les VLANS.<strong>Les</strong> VLANS posent aussi un problème de numérotage du réseau en TCP/IP car les requêtes ARP (broadcast)ne peuvent être satisfaites. En principe, il faudrait mettre chaque VLAN sur un réseau TCP/IP différent cequi nécessite l’achat d’un gros routeur avec beaucoup d’interfaces, et complique singulièrement le réseauTCP/IP.Une solution pour éviter ce problème est de forcer le partage d’information en passant par les serveurscentraux. On interdit de fait le partage d’informations de poste à poste.8 Cependant, les constructeurs ont tendance à dire qu’une norme est trop restrictive et diminue lespossibilités. Le langage entendu chez un constructeur : si vous voulez le maximum de fonctionnalités,achetez tout chez nous.. Ce discours doit être soigneusement évité. La résistance se pratique au quotidien !.<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 23


24TELEPHONIE NUMERIQUEISDN ou RNIS 9 : un exemple le produit Numéris de France Télécom .HISTORIQUEDepuis le début du siècle, les techniques de base du téléphone n’avaient que très peu évolué. Depuis ledébut, les techniques de la téléphonie sont purement analogiques. Un signal de microphone fait varierl’intensité d’une boucle de courant. Ce signal est envoyé à distance via des amplificateurs. De plus l’appareilde l’abonné est alimenté par le réseau via la boucle de courant.Bref au temps de l’informatique, de l’électricité partout, et vu la chute du cours des microprocesseurs, toutceci est bien archaï que. Qualité sonore médiocre, informations du réseau inexistntes. Transmissionsinformatiques rendues très délicates par la très faible bande passante. Celle ci est de 3000Hz et doncnécessite des appareils spéciaux appelés modems (Modulateurs / Démodulateurs) qui vont s’adapter a laligne et transporter plus d’informations que 3000 bits/sec.Ces appareils utilisent des codages en variation de phase sur une porteuse (Onde sinusoï dale) émise vers2500Hz . Ceci permet d’aller beaucoup plus vite , ces modems suivent des normes, on parle de V23 V32V34 V27 V29 ..Ce sont les avis du CCITT qui normalisent ces modems afin de permettre lesinterconnexions entre différents fournisseurs.Cependant on devrait atteindre une limite liée au rapport Signal/Bruit et plus connue sous la forme dethéorème de Shanon. Cette limite serait de 33600Bit/sec, limite actuelle. Des techniques mixtes utilisant enpartie le réseau Numéris (coté fournisseur) vont permettre d’atteindre le 57.6 Kbits/sec. Il s’agit desmodems X2 ou K56Flex qui sont commercialisés en ce moment. X2 est développé par USR (3Com®) etK56Flex par Rockwell ®. La future norme devrait être K56Flex.Pour lever toutes ces contraintes, les membres du CCITT ont normalisé le RNIS. Le téléphone devient alorsnumérique. Une certaine contrainte apparaît que n’ont pas les protocoles informatiques, ce sont lescontraintes de temps. On va alors parler de multiplexage temporel. C’est à dire que chaque communicationqui a ouvert un canal de communication aura un égalité de parole dans le temps (ETHERNET ne joue pasce rôle). Ceci permet d‘éviter que la voie de son interlocuteur soit déformée. Elle doit arriver de manièrestable dans le temps. Pour numériser la voie suivant les techniques traditionnelles, il faut 64 Kilo bits parsecondes.Le téléphone devient un mini ordinateur qui envoie des informations numérisées. Numéris est au téléphonece que le Compact Disc Audio est au vinyle . Sur un seul câble, l’abonné dispose de 3 canaux logiques ,deux à 64Kbit/sec dits canaux B plus un qui sert aux informations du réseau à 16 kbit/sec (le Canal D). Laconnectique est de type Bus , dit BUS S. Sur une seule liaison d’abonné, on peut recevoir 2 communicationset connecter sur le même Bus jusqu'à 8 appareils 10 . On peut recevoir une télécopie pendant que l’ontéléphone.On reçoit, au niveau du poste téléphonique numérique, une information sur les numéros appelants. Lacomposition du numéro et l’accès est immédiat (


Chacun des canaux B est la propriété d’un seul équipement. Cette technique est un multiplexage temporel àcommutation de circuit. Un circuit logique est créé entre l’appelant et l’appelé et la gestion de la Bandepassante est assez peu optimisée. En effet , on ne peut en aucun cas aller plus vite que le découpage à 64K,alors que la deuxième liaison est inutilisée ou que celle ci est peu bavarde.RNIS est un produit qui commence à s’imposer sur une technologie déjà dépassée. RNIS date de 1985époque ou les circuits étaient moins rapides, 10 Base T commuté n’existait pas.. Cependant, cette solutionest normalisée et permet d’avoir une garantie de bande passante entre deux abonnés. 64 Kb/s jusqu’auJapon par exemple. Le seul frein est le paiement à la distance pour lequel INTERNET n’a aucun concurrent.Groupage de canaux : On peut grouper au niveau RNIS ou PPP deux canaux 64 Kbs pour en constituer unseul .LE RNIS RESTE DU TELEPHONE : Chaque canal B ouvert est tarifé à la durée et à la distance. On peutavoir des liaisons numériques de très longue distance.VIDEO CONFERENCE : Numéris est parfait pour la vidéo conférence, dans le sens où la bande passanteest GARANTIE. ( Pas sur INTERNET). De plus les tarifs longues distances chutant, le fait de faire de lavidéo conférence sur INTERNET peut se révéler assez peu intéressant d’ici quelques années (du moins dansla France). (Rapport coût / qualité)La vidéo conférence sur Numéris utilise 3 canaux. Un pour le son et deux pour l’image.Produits Numéris et facturation :Numéris est facturé depuis quelques années comme le téléphone. Par contre le coût d’abonnement est pluscher. Pour l’abonné de base, le produit à retenir est Numéris DUO. Celui-ci fournit une TNR (TerminaisonNumérique de Réseau) sur laquelle on peut brancher 2 appareils analogiques (Prise T) et plusieurs appareilsnumériques ( Téléphones, carte RNIS pour PC), via une sortie RJ45. On peut recevoir 2 appels ensimultané. On a deux numéros de téléphone.L’abonnement DUO est 30% plus cher que 2 lignes téléphoniques. Mais quand on transfère souvent desfichiers , la durée de la connexion diminue (et le prix aussi !). Bien sur , si le fichier traîne aux US surINTERNET, votre abonnement Numéris ne servira à rien.<strong>Les</strong> lignes primaires (E1)De nombreuses entreprises ont des besoins de lignes groupées pour recevoir des appels simultanés. Du pointde vue raccordement et cablage, il est plus simple de demander une ligne Numéris primaire. Il s’agit en faitd’une ligne constitué de 2 paires de fils cuivre faisant passer une liaison à 2Mbs. On peut faire circulerjusqu'à 30 Canaux B et un canal D de 64Kbs. On doit commander un nombre minimal de canaux, ensuiteaucun déplacement n’est nécessaire pour ajouter des canaux. Tout nouvel ajout, se fait depuis le site central.Le câblage est donc très simple.<strong>Les</strong> protocoles de liaison.Sur le canal B on utilise HDLC LAP-B (Link Access Protocol Balanced). Le B a donné son nom au canalSur le canal D , on utilise HDLC LAP-D.(voir pages suivantes)Numéris et INTERNETPour le raccordement à INTERNET, on utilise principalement le réseau téléphonique et des modems33.6Kbs voire 57.6Kbs lorsque le fournisseur est sur Numéris. Numéris permet un gain de vitesse certain,cependant sur INTERNET, l’information peut trainer au loin. Il faut conseiller Numéris lorsque l’ontransfère beaucoup de documents via la messagerie. En connexion locale INTERNET, RNIS (Numéris)entre en concurrence avec les modems XDSL (http://www.adsl.org) et le câble.<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 25


26PROTOCOLES DE LIAISONS POINT A POINTSDLC et HDLCHistoriqueIBM créa le protocole Synchronous Data Link Control (SDLC) au milieu des années 70 pour l’utiliserdans son Architecture de réseau SNA (Systems Network Architecture). SDLC a été le premier protocole deliaison synchrone, orienté chaîne de bit. On retrouve dans SDLC une vision très hiérarchisée del’information, conforme à ce qui se faisait a l’époque. Il faut voir que les terminaux de type écrann’existaient point et que l’on gérait des machines à écrire, des imprimantes, des machines a cartes , desbandes perforées.. Un ordinateur valait plusieurs millions de francs.TechnologieIl peut être utilisé sur des liaisons en point à point ou en multipoint. Pour réaliser une multipoint, on installece que l’on appelle un éclateur de jonction qui va dupliquer le signal de la ligne vers plusieurs extrémités.Pour gérer la cacophonie, SDLC utilise le polling , un peu comme le Token Ring. Chacun parle suivantl’interrogation d’un primaire. <strong>Les</strong> communications peuvent être half duplex ou full duplex.SDLC identifie 2 types de noeuds réseau.• Le Primaire. Contrôle les opérations des autres stations appelées secondaires. Le primaire interroge lesecondaire dans un ordre déterminé. <strong>Les</strong> secondaires transmettent lorsqu’elles ont des données aémettre. Le primaire a la charge d’établir le lien et de le suspendre.• Secondaire. Sont contrôlés par des primaires. Il agissent sur les ordres des primaires. On trouve parexemple des contrôleurs de terminaux synchrones qui vont gérer les saisies des utilisateurs.Format de la Trame. Un peu toujours la même cuisine ! !1 1 ou 2 1 ou 2 Variable 2 1Flag Adresse Contrôle Donnée FCS FlagProtocoles dérivés : HDLCHDLC partage le format des trames SDLC. HDLC a une option pour rajouter un CRC sur 32 bits. Il estdifférent de SDLC qui ne supporte qu’un seul mode de transfert (par polling 11 ).• Normal response Mode (NRM). Ca c’est SDLC.• Asynchronous response mode (ARM). <strong>Les</strong> secondaires peuvent initialiser la communication.• Asynchronous balanced mode (ABM) ABM introduit un mode combiné. Le primaire et le secondairedépend de la situation.LAPBIL est connu pour sa présence dans le protocole X25 et le RNIS. En fait , il s’agit ni plus ni moins que deHDLC réduit au mode ABM. La liaison LAPB est établie par soit le DCE (Data Control Equipment) soitpar le DCE (Data Terminal Equipment) (Voir schéma en cours). La station qui initie l’appel est le primaire.11 Polling veut dire que l’on va interroger successivement , un peu comme un tour de table dans une réunion26


SLIP ET PPPHistoriqueAu milieu des années 80, un besoin se fait sentir pour l’INTERNET d’un protocole de liaison Point à pointpour la famille de protocoles TCP/IP. La plupart des sites alors utilisaient des réseaux locaux (LAN) et desréseaux de paquets tels que X25 pour les liaisons longues distancesBref on inventa SLIP (Serial Line IP Protocole) que l’on abandonna rapidement pour PPP, car ce protocoleétait incapable de sélectionner de manière facile les adresses IP des extrémités.PPP devait résoudre• l’affectation des adresses IP de chaque coté• marcher sur une liaison de type synchrone (chaîne de bits) ou asynchrone (Orienté caractère avec stopbit et start bit) .• Etre Multi-protocole• Capable de tester la qualité de la ligne, détecter les erreurs (un CRC est ajouté)• Gérer des options de négociations et de compression (Van Jacobson)Deux familles de protocoles ont étés crées, Link Control Protocol et Network Control Protocol. PPP estmaintenant livré sur tout PC ou Mac comme couche de liaison vers un fournisseur INTERNET en utilisantdes modems sur le port série.1 1 1 2 > 1500 octets 2 1Flag 7E addr FF Control 03 Protocole Information CRC Flag 7E0021 Datagramme IPC021Données de contrôle de liaison8021 Contrôle de réseauBien que surveillant les erreurs, les trames invalides sont mises au rebut, juste une statistique de la liaisonest mise à jour. C’est donc à la couche du dessus de réémettre. On a pu constater que PPP avait du mal àfonctionner lorsque les protocoles de correction d’erreurs V42bis 12 des modems asynchrones n’étaient pasactifs..Pour peu que le MTU (voir IP) soit grand, les trames on alors du mal à passer. Sinon avec les contrôlesd’erreurs actifs, un MTU de 1500 est tout à fait correct avec les modems V34.PAP et CHAP ARAPCes noms « barbares » sont des méthodes d’identification négociées à l’intérieur du protocole PPP. Onenvoie comme renseignement un nom utilisateur et un mot de passe.PAP laisse passer le mot de passe en clair.CHAP crypte le mot de passe avant de le passer sur le réseau.ARAP fait la même chose, mais pour le réseau AppleTalk.PAP et CHAP sont utilisés classiquement pour les accès distants sur Internet pour valider les autorisations.12 C’est au niveau du paramétrage des modems, cette option est en principe l’option par défaut<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 27


28PROTOCOLES DE RESEAUX25<strong>Réseaux</strong> de transmission par paquets<strong>Les</strong> secrets du Minitel.Nous voici là au niveau 3 des couches OSI. X25 est un protocole de transport de l’information complet quigère le transport de l’information de bout en bout sur de très longues distances avec un plan denumérotation International. On parle de WAN (Wide Area Network), Public Data Network (PDN) ou réseaupublic de données.On parle aussi de réseau de transport par paquet en mode connecté. TRANSPAC est une société detransport de l ‘information basée sur X25. X25 a été formalisé complètement sur papier par des autoritésinternationales (CCITT) et a débouché sur des applications concrètes (ce n’est pas toujours le cas !.cf OSI).C’est un projet global de téléphonie informatique avec plan de numérotage, opérateurs internationaux, etc.Pendant les années 80 X25 a été beaucoup utilisé , mais sa complexité le rend mal adapté aux hauts débits,au transport sur fibre optique et il souffre de la concurrence de ATM et de Frame Relay.Des réseaux nationaux utilisent X25 pour le transport des données informatiques. TRANSPAC en Franceest l’opérateur national. Celui-ci facture le service comme pour le téléphone et l’on est facturé à la durée dela connexion et aussi au nombres de paquets X25 transportés (mais pas à la distance sauf international).<strong>Les</strong> services 3613,14,15,16,17,21 sont des points d’entrées de ce réseau.TechnologieX25 défini donc un réseau téléphonique pour ordinateur. L’ordinateur compose un numéro qui va appelerun autre ordinateur. L’appelé peut refuser la communication , accepter du PCV reconnaître l’adresse del’appelant, lire des données complémentaires du paquet d’appel. De manière classique, on défini deux typesde machines, les DTE et les DCE. Le DTE est un terminal ou un ordinateur, alors que le DCE est unmodem, un commutateur X25.Bref, Dans X25 le DTE initie un appel via un numéro (175xxxxx pour paris..). Le réseau route ce paquetd’appel et crée ce que l’on appelle un Circuit Virtuel. Ce protocole est orienté connexion, c’est à dire quetout les équipements le long de la ligne vont garder la mémoire de ce chemin et réserver des ressources(mémoire sous forme de buffers et de files d’attente). Ce système permet une connexion avec un temps deréponse garanti, un contrôle d’erreur au niveau de chaque liaison.Autre avantage, les paquets ne transmettent pas l’adresse du destinataire une fois le CV effectué. Seuls desnuméros de voies logiques sont transmis entre le point d’appel et le premier commutateur.Par contre dès qu’une ligne a un incident, le CV est coupé, les sessions sont perdues. Il faut se reconnecter.Ce n’est pas le cas pour TCP/IP.Chaque liaison entre commutateurs X25 est basée sur les trames de niveau 2 HDLC/LAPB. Chaquecommutateur ne peut supporter qu’un nombre restreint de CVs (Circuit Virtuels) et ceci même si lesliaisons ne véhiculent pas de données.Grâce à un plan de numérotage de type téléphonique, et donc prédictif, les commutateurs n’ont pas besoinde protocoles de routage complexe. Si c’est du 134, on va sur le commutateur du département de l’Hérault.<strong>Les</strong> paquets ont une longueur de 256 octets1= une machine interne0= international3 =kiosque minitel.. En fait avec quelques centaines d’adresses, le commutateur peut travailler de manièreautonome.Le DTE type terminal inintelligent (Minitel) est connecté au réseau public par l’intermédiaire d’un PAD(Assembleur, Désassembleur de paquets). Le PAD qui gère l’accès kiosque va générer un numéroTRANSPAC à la place d’un mnémonique (METEO= un numéro du type 175..) Ce PAD établit le CV quiva joindre la machine de destination et la connexion s’établit ensuite. Le minitel lui n’a aucune notion ni deX25, ni du protocole de liaison, il établit une liaison asynchrone à l’aide d’un modem interne 1200/75Bits/secs (V23) sur l’une des entrées du PAD ou du VidéoPAD . Celui ci agit comme un concentrateur determinaux asynchrones qui gère en sortie le protocole X25.28


L’affichage du Minitel est géré par l’ordinateur distant. Le VidéoPAD gère lui la saisie de l’appel. Parexemple, il va transformer la saisie de METEO par le numéro TRANSPAC du serveur de la METEO.Chaque fois que les touches SUITE ENVOI ANNULATION GUIDE SOMMAIRE sont tapées, leVidéoPAD envoie la ligne tapée vers le serveur. Celui-ci en retour envoie des ordres semi-graphiques pourredessiner l’écran.MinitelVideo PAD3615Commutateur X25RTCLiaisons spécialiséesde TRANSPAC:B:ANuméro devoie logique JNuméro devoie logique ICircuit virtuelsLiaison spécialiséeX25 est complexe car il mélange à la fois des problèmes de réseau (router l’information) et des problèmes detransport. Par rapport aux couches TCP/IP, on pourrait dire que X25, c’est IP+TCP+OSPF+ICMPBref c’est du niveau 3++.Avec ATM ce sera pire, car ATM se préoccupe d’être universel et veut aussi gérer les réseaux locaux, latéléphonie, la vidéo. X25 n’a jamais eu cette prétention pour la bonne raison qu’à cette époque, les réseauxlocaux n’existaient pas . X25 a été normalisé entre 1981 et 1984.Transpac services et évolutionsoffre des liaisons CV à 64 kb/s puis des liaisons virtuelles réservées à 256 Kb/s (91) puis 2Mb/s (93).Le service LVR sert à interconnecter des réseaux locaux.La taille du paquet X25 va évoluer vers 1024 puis 2048 octetsUn service de type Frame Relay est proposé.<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 29


30FRAME RELAYou Relais de Trame.Ce protocole connaît un certain succès aux US , et semble proposé comme une alternative au tout nouveauprotocole ATM (Asynchronous Transfer Method). En fait il est de la famille des modes de transport parpaquets avec Circuit virtuel.Même famille que X25. Mais comme on peut le voir, Frame Relay est beaucoup plus proche des tramesniveau 2. En fait les architectes du projet en 1984 ont trouvé X25 trop lourd, pas assez performant, passantson temps a contrôler les erreurs et les corriger, et à gérer du contrôle de flux . Pour Frame Relay, les lignesétant de moins en moins bruitées, la technologie aidant, on peut se passer de certains contrôles qui de toutefaçon vont être refaits par les ordinateurs. Un simple contrôle d’erreur est fait par un CRC et la trame quin’est pas valide est mise à la poubelle. Elle n’est pas retransmise en interne comme dans le cas de X25.En cas de congestion, le noeud du réseau renvoie à la source une notification de congestion.Le réseau français TRANSPAC utilise Frame Relay comme protocole de base pour son service INTERNET.30


ATMAsynchronous Transfer MethodCette technologie est présentée depuis quelques années comme la technologie du futur. Ce sera au marchéde juger.. Pour l’instant cette technique risque de se trouver reléguée à la fourniture des gros opérateurs.Car le 100 BaseT commuté ainsi que le GigaBit ETHERNET risquent de satisfaire bon nombre de clientsinformatiques qui n’ont que faire du transport de la voix ou de la vidéo. Le marché en terme de ventesrisque de s’en ressentir. ETHERNET a encore de beaux jours devant lui.Il est vrai que les deux ne peuvent se comparer car ETHERNET c’est du niveau 1 et 2 alors que ATM c’estpresque tous les niveaux à lui tout seul.Historique.• On a vu que Numéris (ISDN) est une impasse technologique (bande passante fixe et déjà faible..).• ETHERNET ne garantit pas la bande passante et reste spécialisé à un réseau localOu se situe ATM ?. C’est une technologie de compromis cherchant à satisfaire à la fois les besoins en vidéo,en son et en données informatiques. La base de ATM, c’est le soucis de la voix.Comme on a vu avec Numéris, il faut échantillonner la voix. Si on laisse passer les sons de 0 à 4000 Hz, ondoit échantillonner au double, c’est à dire 8000 Hz, on a donc l’obligation d’émettre un octetd’échantillonnage toutes les 125 µsec ( 1 sec / 8000). On peut se permettre une certaine mise en mémoiredes informations, celle-ci ne partent pas tout de suite, on attend de remplir une cellule ATM.La taille de la cellule ATM est un compromis entre Américains et Européens. <strong>Les</strong> uns voulant 64 octets dedonées les autres 32 octets. Du coup la trame ATM que l’on appelle cellule (vu la petite taille) a unelongueur de 48 octets + 5 octets d’en-tête soit 53 octetsPour remplir ces 48 octets, il faut 48 * 1/8 ms = 6msec.Pour les remettre dans le combiné distant, il faut aussi 6 msec.Le délai de propagation (indépendant de la vitesse d’émission) doit rester inférieur à 28msec pour desproblèmes d’échos ,.. Il reste donc 28-12= 16msec soit à 200 000 kms/sec 3200 kms. Cette distance pouvantêtre adaptée si on met des équipements intermédiaires 13 . C’est pour éviter ces équipements que leseuropéens voulaient 32 octets au lieu de 64 pour les américains.Voilà pour la base historique et le pourquoi de la taille de cellule. ATM est un mode connecté avec circuitvirtuel, sans reprise sur erreur, un peu comme Frame Relay.Il est évident que sur 5 octets, on ne va pas transporter des adresses à la mode IP sur 4 octets et bientôt 16octets !. Le CV est donc un impératif et le découpage des trames en cellule inévitable.<strong>Les</strong> vitesses de transmission normalisées25 Mbs155 Mbs650 MbsPourquoi asynchrone ?.Contrairement à Numéris (ISDN) ou le canal B2 suit le canal B1, les cellules se suivent dans le désordre.Synchrone Numéris. Déterministe, donc pas besoin d’en-têteCanal D CanalB1 Canal B2 Canal D Canal B1 Canal B2Asynchrone ATMH CV1 H CV1 H CV2 H CV2 H CV2 H CV3H est un en-tete, le mode synchrone n’en a pas besoin car on sait temporellement quelle information vaarriver. L’asynchrone malgré ce tribut à l’en-tête offre plus de souplesse.13 Le tout fibre changerait pas mal de choses. 1/3 plus rapide, pas de bruit.<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 31


32La trame ATM5 48 14En-têteDonnéesEn-tête UNI (Client vers réseau)4 8 4 12 3 1 8GFC VPI VPI/VCI VCI PT CLP HECEn-tête NNI (Réseau vers réseau 2 noeuds du réseau)12 16 3 1 8VPI VCI PT CLP HECGFC = Generic Flow ControlVCI = Virtual Channel Identifier = Numéro de circuit virtuelVPI = Virtual Path Identifier = Numéro de chemin virtuel (par ex Paris / Toronto)PT = PayLoad Type utilisé pour la gestion du réseauCLP = Cell Loss Priority (Donnée en surnombre, peut être perdue)HEC = CRC basé sur x 8 + x 2 + x + 1. Décodé dans la silice des cartes.Le long du réseau on ne connaît que des VP, les VC ne sont connus que sur les extrémitésLe contrôle de FluxSur ATM ce n’est pas rien car il va falloir desservir à la fois des flux à bande passante garantie et des fluxnon garantis. Le commutateur devra scruter certains CV de manière fixe et garantie et les autres s’il luireste du temps pour cela. <strong>Les</strong> octets envoyés sans garantie de bande passante pourront être détruit ailleursdans le réseau (bit CLP), si besoin s’en fait sentir. La notion de réservation de bande passante, ce n’est pasde la tarte dés que l’on travaille en coopération. IP n’en fait pas (tout du moins en V4). Tout le monde estégal et bien souvent, tout le monde attend, en tout cas pour l’administrateur c’est plus simple ! !. 15Dans la littérature, on parle de constant bit rate (CBR) ou variable bit rate (VBR).Le format des données.ATM forum a normalisé 5 couches (ATM Adaptation Layer)certaines sont devenues obsolètes. On retient principalementAAL1 transmission de vidéo et son On ajoute dans les données un numéro de séquence sur 4 bit et unedétection d’erreur sur la séquence de 4bitsAAL5 permet le transport de blocs d’informations jusqu'à 64Ko. <strong>Les</strong> huit derniers octets de la dernièrecellule comprennent un indicateur de longueur sur 16 bits et un code correcteur sur 32 bits.Ces couches permettent la fragmentation et le réassemblage des trames de plus haut niveau comme IP.Heureusement pour IP le MTU sur ATM n’est pas de 48 octets. Le MTU est défini plus loin.L’adaptation aux réseaux locauxLe problème se pose car le broadcast ne marche pas avec ATM . ATM étant un protocole de point à point.Or la plupart des protocoles de réseaux locaux (LAN) utilisent le broadcast. ATM Forum a normalisé uneméthode qui s’appelle LAN Emulation.Des serveurs permettent de se raccorder à un réseau virtuel (on s’enregistre dans le VLAN). Ce sont desLAN Emulation Servers. Ils permettent la résolution des adresses. (arp)D’autres les BUS assurent les fonctions de gestion des broadcasts .Tout ça est assez neuf et va évoluer rapidement. <strong>Les</strong> solutions risquent de changer aussi rapidement14 Pour les données informatiques, 2 octets en en-tete plus deux en fin (44 utiles donc)15 Dis , j’ai un cours, tu peux pas me donner 2mbs de bande passante pendant une heure ?.32


LESTECHNOLOGIES IPINTERNET PROTOCOL<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 33


34LES TECHNOLOGIES IPHistoriqueA la fin des années 60 fut créé le réseau ARPANET par l’agence des projets de recherche avancés dudépartement de la défense (l’ARPA) aux Etats Unix , qui interconnectait quelques ordinateurs de centres derecherche et d’universités. Dans les années 1980, le réseau fut divisé en deux parties: Milnet pour le traficréservé au gouvernement et à l’armée, et NSFNet (National Science Foundation) pour le trafic entreuniversités qui grandit progressivement au cours des années 80.Aujourd’hui la croissance est explosive, l’essentiel de l’armature du réseau est toujours assuré par laNSFNet. La coordination internationale est assuré par l’IAB (INTERNET Association Board) et ses deuxbureaux l’IETF (INTERNET Engeneering Task Force) et l’IRTF (INTERNET Research Task Force)Le langage réseau de l’INTERNETLe langage adopté dans l’INTERNET pour communiquer entre machines est le langage réseau TCP-IP.C’est un protocole très novateur dans le sens ou il est faiblement hiérarchisé. Tous les ordinateurs sontégaux dans leur possibilités. Le langage TCP-IP est très répandu dans le monde des systèmes Unix et il esttrès facile de trouver des sources pour réaliser un support TCP-IP sur n’importe quel système. TCP-IP est defait le premier véritable langage réseau indépendant de tout constructeur d’informatique, ce qui en fait sonsuccès.Cependant, Il faut distinguer les protocoles c’est à dire les ‘langages de réseau’ et les entités administratives.En effet si un réseau parle ‘TCP-IP’, il n’est pas forcément connecté à l’INTERNET. Ce n’est pas parce queje parle français que je suis français..Le réseau INTERNET est en fait une fédération de réseaux qui mettent en place une organisation commune.Cette organisation est très fédérale. Parmi les entités de l’INTERNET on va trouver une multitude de sousréseau sous les appellations suivantes:NSFNASARENATERFNETEBONER3T2....Chaque réseau a des règles de raccordement et des tarifs qui lui sont propres. <strong>Les</strong> différents adhérentssuivent des règles propres à leur réseau. Pour donner un exemple, prenons le cas de RENATER et de R3T2.RENATERC’est un GIP ( Groupement d’intérêt Public) qui regroupe différents bailleurs de fonds et essentiellementdes organismes liés à la recherche. On y trouve le MEN 16 , le CNRS, le CEA, EDF,INRIA,IFREMER...<strong>Les</strong> fonds apportés permettent de payer les salaires de permanents mais principalement, le coût des liaisonsspécialisées. Avant RENATER le MEN payait un certain nombre de liaisons spécialisées souvent dupliquéespour faire passer des protocoles différents (Le SNA d’IBM ou le DecNet...). La volonté a été de ne pluspayer que pour des Liaisons rapides supportant le protocole TCP-IP.RENATER finance donc les interconnexions de plaques régionales et internationales et ne fait passer surson réseau que les ‘gens’ habilités c’est à dire ceux qui participent au GIP.R3T2C’est le réseau régional PACA et un certain nombre de sites (dont le nôtre) ont été équipés de prises R3T2.On peut imaginer que certains sites soient équipés de prises R3T2 mais n’aient pas l’agrément RENATER.Par cela, il ne pourront pas sortir de la région via RENATER. ( http://www.RENATER.fr )L’Agent Opérateur de ces 2 réseaux est France Télécom. C’est lui qui connecte les sites gère les tables deroutage et les incidents. La situation est variable selon les réseaux. Certains sont gérés directement par lesutilisateurs.16 Ministère de l’Education Nationale34


L’ADRESSAGE IPLe principe de base d’un réseau IPIP est un réseau de transport de paquets en mode non fiable et non connecté. C’est à dire que le paquet peutêtre perdu dans le réseau, arriver dans le désordre voire en double. La fiabilité n’est assurée que par lescouches de transport qui sont dans les ordinateurs d’extrémité. <strong>Les</strong> éléments intermédiaires du réseau sontdes routeurs IP qui vont servir d’aiguillage. Un routeur peut être arrêté sans que les liaisons passant par cerouteur en soit perturbées. Le réseau se reconfigure et les paquets seront acheminés par d’autres chemins.Rien ne garantit non plus que les paquets vont prendre le même chemin . On pourrait comparer cela auréseau postal. Deux enveloppes ne passeront pas forcément par le même centre de tri, et n’arriveront pasforcément en même temps.On appelle datagramme le paquet élémentaire. Celui-ci comme une enveloppe de courrier comprend uneadresse de destination et une adresse de départ. Derrière les routeurs, on trouve des réseaux locaux, desliaisons spécialisées.L’ADRESSE IPL’adresse IP est constituée de 32 bits , soit 4 octets notés de façon décimale de 0 à 255, par ex 193.50.125.2.Une adresse est affectée non pas à une machine mais à une interface d’une machine. Celle-ci peut donc avoirplusieurs adresses. L’adresse se décompose en 2 parties, une partie réseau et une partie machine. Cetadressage n’est pas hiérarchisé dans le sens que 193.50.126.0 pourrait être un réseau japonais, alors que193.50.125.0 serait un réseau français. C’est la très grosse faiblesse de cet adressage. Le successeur (IP V6)prévoit des hiérarchies d’adresses à la manière du téléphone.Chaque machine a une ou plusieurs adresses. Elle a obligatoirement une adresse IP par carte réseau. Ellepeut aussi avoir plusieurs adresses sur une seule carte (IP ALIASING). C’est le cas des machineshébergeant plusieurs sites WEB.LES DIFFERENTES CLASSES D’ADRESSES INTERNETPour des raisons administratives et de routage, on regroupe ces adresses sous forme de classes. On pourraensuite utiliser ces adresses à sa guise pour gérer son réseau. Ces adresses sont demandées auprès du NIC 17(Network Information Center). Le NIC France (l’INRIA 18 ) délègue la fourniture des adresses aux grandsfournisseurs d’accès au réseau. Dans le cas de nos universités, toute nouvelle adresse doit être demandée àRENATER, organisme qui s’occupe du réseau de la recherche.RENATER a plusieurs réseaux de classe B et des blocs d’adresses de classe C, qu’il va morceler en sousréseaux pour ses utilisateurs. RENATER sera donc responsable du routage de l’ensemble des classes B etclasses C qui lui ont été attribués. Le détail de ce qui sera fait dans la classe B sera invisible de l’extérieur.En principe l’adressage comprend donc 256**4 adresses c-a-d : 4294967296 adresses (4 Milliards). En fait,on va voir qu’il y a beaucoup de pertes et que cet adressage est au bord de la saturation.<strong>Les</strong> adresses sont regroupées en différentes classes pour des raisons d’administration et de routage. La partiemachine est réservée à l’usage du gestionnaire du réseau qui peut redécouper cette partie, c’est à dire« subnetter ».• Le réseau de classe A. Il peut contenir beaucoup de machines car l’adresse est sur 7 bits L’adresse duréseau est donc sur un octet dont la valeur la plus grande est un zéro par conséquent le premier chiffresera inférieur à 128. Le classe A démarre à 0 jusqu’à 1270 Réseau Machine Machine Machine• Le Classe B: adresse sur 14 bits: commence à 12817 NIC http://www.nic.fr ou le fournisseur d’accès.18 INRIA, Institut National pour la Recherche en Informatique et Automatismes. (Un pionnier français duréseau INTERNET et des systèmes Unix).<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 35


3610 Réseau Réseau Machine• Le Classe C , le plus utilisé en ce moment, dû à la disparition des classes B devenues indisponibles parsuite de manque d’adresses. Démarre donc à l’adresse 192110 Réseau Réseau Réseau Machine• Le Classe D est utilisé pour des groupes de multicast Commence à 2241110 Réseau Réseau Réseau Machine• Le Classe E réservé pour usage futur, commence à 2401111 Réseau Réseau Réseau MachineLe Sous adressage ou subnetting ,exemple du classe B .Classe B normal01 Réseau Réseau Machine MachineClasse B après sous adressage : Ce classe B est décomposé en sous réseaux de 256 machines.01 Réseau Réseau Réseau MachinePour le Classe A 34.0.0.0 , on peut décomposer des réseaux de différentes manières, en précisant uneinformation que l’on appelle masque de sous réseau ou Subnet MaskSi 34.0.0.0 veut décomposer en beaucoup de sous réseaux, de 256 machines, il va prendre un subnet maskde 255.255.255.0 . Pour décomposer en réseau de 256*256 machines , on va alors avoir un masque de255.255.0.0.Cette information concerne, les routeurs et les machines du réseau. Elle définit ainsi la famille de lamachine. Le subnet, veut dire que la machine appartenant a un réseau de type 255.255.0.0 pourra adresserdirectement 256*256 machines sans passer par un routeur.Evidemment des réseaux aussi larges sont rares car 256*256 machines sur le même réseau physique, ca faitbeaucoup de bruit. Cette information est utile pour les mécanismes de diffusion, lorsque l’on veut faire unbroadcast IP, on va mettre à un les bits machines pour indiquer que cette information concerne toutes lesmachines de ce réseau.Pour conclure, un réseau ou subnet au sens IP constitue un groupe de machines et une information deroutage et de diffusion (broadcast)Il faut noter qu’il n’y a rien d’incompatible à avoir sur le même support physique (ETHERNET) deuxréseaux IP. <strong>Les</strong> machines pour communiquer devront soit avoir deux interfaces, soit passer par un routeurbien qu’étant sur le même câble. 19Le réseau 127.0.0.0Celui ci est particulier, il est réservé pour l’usage local de la machine. On appelle ça, la loopback adresse ouadresse de bouclage. 127.0.0.1 est l’adresse locale de la machine et ne doit jamais sortir sur le réseau. Cecipermet de faire des tests en local sans sortir sur le réseau, ou d’appeler des services en mode TCP/IP alorsqu’ils sont dans la même machine. On accède alors aucun réseau physique.<strong>Les</strong> faiblesses de l’adressage IPOn voit de tout ceci que bien qu’étant très simple à la base, le laxisme de la définition initiale de IP entraîneun vrai casse-tête pour les administrateurs, au niveau des réseaux internes et au niveau des routeurs.Il faut changer les adresses lorsque l’on déplace une machine. C’est compliqué et délicat pour un utilisateurnon averti. 2019 C’est un peu tordu, mais en matière de réseau, on voit de tout. Ca ne peut avoir de sens que sil’ETHERNET est commuté (avis personnel).20 BOOTP et DHCP simplifient ce genre de choses. Ils distribuent l’adresse en dynamique.36


En effet si on a un classe C, on est limité à 256 adresses, moins adresse 255 moins adresse du routeur. Si leréseau dépasse 254 machines, il faut donc faire du routage, séparer les réseaux physiques, compliquer lesdéclarations de routage. Comment router appletalk, novell etc..Exemple de sous adressage d’un réseau de classe C.On veut découper un réseau de classe C en sous réseaux de 32 machines. De 0 à 31 nous avons 32possibilités. 31 s’écrit en binaire : 11111 (5 bits).Si l’on admet, cas courant que l’adresse du réseau est dans les 3 bits restants à gauche (les trois de poidsfort), nous avons huit sous réseaux. Le masque représente la partie réseau, soit les bits 6,7,8. Le 6 ème vaut32, le 7 ème 64, le 8 ème 128. Le masque s’écrit avec tout ces bits à un, soit : 32+64+128=224.Le masque du sous réseau sera donc 255.255.255.224. Cette précieuse information sera à fournir au routeuret dans la configuration des machines du réseau.193.50.126.97 11000001.00110010.01111110.01100001Masque 11111111.11111111.11111111.11100000<strong>Les</strong> 8 réseaux possibles seront donc:000 = 0 001=32 010=64 011=96 100=128 101=160 110=192 111=224Pour un routeur la machine d’adresse 100 appartiendra au réseau X.X.X.96 masque 255.255.255.224Ce routeur aura des routes du styleinterface ETHERNET 0route X.X.X.96 255.255.255.224interface ETHERNET 1route X.X.X.32 255.255.255.224Pour la machine 100, son masque sera 255.255.255.224 et son routeur aura comme adresse, une adressecomprise entre 96 et 126 (pas 127 car 127 sera l’adresse de broadcast de ce sous réseau). Un masque pourun réseau de classe C ne pourra pas être 255.255.0.0 , inférieur à la partie réseau officielle (255.255.255.0)LES ROUTAGESAu niveau des routeurs de l’interconnexion INTERNET, chaque réseau entraîne une consommationmémoire dans les routeurs et des temps de transferts pour les mises à jour des tables de routage. Si toutes lesadresses sont distribuées, on consomme dans les routeurs 128 adresses de classe A, 64 * 256 adresses declasse B et 32 * 256 * 256 de classes C soit plus de 2 millions d’entrées.Un entrée dans le routeur, c’est au minimum deux adresses IP, un coût, une date de mise à jour et donc auminimum 12 octets. En tout et au minimum , il faudra compter 24 Mo de mémoire dans le routeur, sanscompter le temps de rafraîchissement des informations qui vont contribuer à diminuer la bande passante.CIDRPour ces raisons l’INTERNET s’oriente vers un routage CIDR (Class<strong>Les</strong>s InterDomain Routing) . c’est àdire sans classes de numéros mais en utilisant une agrégation de numéros de réseaux lié à un systèmeautonome . On verra cela plus tard dans les routages extérieurs. On préfère dire de 193.20 à 194.12 envoyezces réseaux vers RENATER .IPV6Dans les prochaines années IPV4 deviendra IPV6 et on passera à des adresses de 128 bits.Beaucoup de choses vont évoluer en même temps que l’adressage.Voir pour cela la page de l’UREC 21 http://www.urec.fr/IPng/A retenir :Le masque sert à reconnaître pour quelles adresses on doit passer par un routeur pour communiquer.<strong>Les</strong> adresses ne sont pas isolées mais regroupées par classes (comme le téléphone)21 Unité de Réseau du CNRS. Une foule de renseignements sur les réseaux<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 37


38BROADCASTING et MULTICASTINGIl existe dans les réseaux trois types d’adresses, les adresses locales, les adresses de broadcast, les adressesmulticast.Pour résumer1. Je parle directement à quelqu’un (unicast)2. Je parle à tout le monde (broadcast)3. Je parle à un groupe restreint (multicast)TCP/IP gère ainsi que ETHERNET ces différent types d’adresses. On verra que ARP est un broadcastETHERNET, RIP est un broadcast IP/UDP qui sera convertit en broadcast ETHERNET, si ETHERNET estla couche de liaison.Pour TCP/IP l’adresse de broadcast consiste à mettre les bits de l’adresse machine à un. Si 193.50.125.0 estmon réseau, 193.50.125.255 sera l’adresse de broadcast IP. Suivant comment est décomposé le réseau, lapartie finale ne sera pas forcément 255. Par contre pour un réseau de classe C non subnetté, ce sera toujoursle cas.Heureusement ping 255.255.255.255 ne génère pas un broadcast à l’ensemble de l’INTERNET.Un routeur ne laisse jamais passer les broadcasts de niveau 2. Par contre il peut laisser passer lesbroadcastde niveau 3 (adressage IP). A priori, il n’y a aucune raison de le faire. Ce genre de chose se voitpar malveillance ou mauvaise installation (par ex NT4.0 propose des masques de classe B par défaut..). Ilfaut filtrer ces broadcast IP au niveau des routeurs.Typiquement le multicast est utilisé pour transmettre des conférences sur l’INTERNET.Pour IP les adresses de multicast vont de 224.0.0.0 à 239.0.0.0Le RFC Assigned Numbers a déjà alloué certaines adresses• 224.0.0.1 signifie tous les systèmes de ce sous réseau• 224.0.0.2 tous les routeurs de ce sous réseau• 224.0.1.1 est réservée à NTP Network Time Protocol• 224.0.0.9 RIP-2Adresse de broadcast sur ETHERNETFF :FF :FF :FF :FF :FFadresses de multicast sur ETHERNETle premier octet de l’adresse contient la valeur 01 et les adresses du multicast IP vont de01 :00 :5E :00 :00 :00 et 01 :00 :5E :7F :FF :FFTransformation d’une adresse de multicast IP en adresse ETHERNETAdresse IP de classe D0 8 16 241110Adresse ETHERNET (48 bits)00000001 00000000 01011110 0On prend les 23 derniers bits de l’adresse. La transformation étant non bijective, la couche IP devra filtrerune partie de ce qui lui arrive.Comment ca marche ?.Lorsqu’une application utilise une adresse multicast, IP va générer l’adresse ETHERNET en remplissant les23 derniers bits de l’adresse IPLe Multicast est utilisé pour des applications comme les conférences sur INTERNET (MBONE). Le routeurlocal devient routeur de multicast IGMP. <strong>Les</strong> stations s’abonnent à un réseau multicast IP particulier auprès38


du routeur. Ce routeur aura été ajouté dans les membres de la conférence. Chaque machine connectéepourra alors recevoir les informations.<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 39


40ARP ou Address Resolution Protocolet RARP Reverse Address Resolution ProtocolRésolution d’adressesAu niveau ISO, ce serait la couche 2.99 , en fait la jonction entre la couche liaison et la couche réseau. Dansun cas très classique, comment faire le lien entre les adresses ETHERNET et les adresses IP ?. C’est le rôlede ARP.Ca ne me concernepas, je ne dis rien.:Avis à tous , quelleest la machine dontl’adresse IP est193.50.125.2Mon adresse est193.50.125.1:Oui c’est moi, voicimon adresseETHERNET08 :00 :00 :0A :0B :05:Pour parvenir à avertir tout le monde, au niveau ETHERNET, on utilise comme adresse de destination, uneadresse de diffusion. Comme cela, toutes les machines lisent la trame, et celle qui a la bonne adresserépond. Evidemment, si la machine est arrêtée, aucune réponse n’arrivera.Il se peut aussi qu’une autre machine ait pris cette adresse. A ce moment là, c’est la plus rapide qui seraenregistrée. Ceci peut arriver, si les deux ordinateurs ont été configurés par une copie de disquette.Ou si quelqu’un essaye de pirater le réseau en se faisant passer pour un autre !. Il existe une commande quis’appelle arp et qui donne la correspondance numéro IP , numéro ETHERNETarp -aCette commande existe sous Unix , Windows95 et NT.ARP correspond a un numéro de service bien particulier (806) dans la trame ETHERNET. Cette techniquene s’applique pas que pour IP. Dans la trame ARP, est indiqué le type du protocole.On pourrait se dire aussi, pourquoi ne pas diffuser les données. Ceci est beaucoup trop coûteux. En effettoutes les machines seront interrompues pour lire la trame, les ponts et les commutateurs devront toutlaisser passer..Cache et TimeoutUne fois cette résolution obtenue, l’adresse est mise dans un cache en mémoire, celui ci peut être effacé parla commande arp -d . (Cas où un serveur du réseau vient d’avoir sa carte changée).Ce cache doit être rafraîchi périodiquement, une machine inactive (pas de paquets reçus depuis un certaintemps) est retirée de ce cache, ceci arrive entre 10 et 20 minutes selon les systèmes. Il est possible de rentrerde manière statique l’adresse d’une machine, a des fins de sécurité, par exemple entre un routeur et desserveurs du réseau (arp -s) .<strong>Les</strong> machines ayant fait la résolution vont transmettre les paquets avec l’adresse ETHERNET (MAC) de lamachine a contacter. Dans le champ service de la trame ETHERNET, nous aurons la valeur 800 quicorrespond aux trames de service IP.40


Le ARP gratuitCertains systèmes d’exploitation ont un comportement des plus curieux. En fait , ils font une requête ARPen demandant leur propre adresse IP.En fait ceci permet de détecter si une autre machine n’aurait pas la même adresse, ce qui nuirait aufonctionnement normal de la machine. On est averti de suite qu’une machine a la même adresse.RARPC’est arp à l’envers, la machine diffuse (broadcast) une trame ETHERNET pour demander sa propreadresse IP. Un serveur va lui renvoyer son adresse dans une trame ETHERNET parfaitement définie(service 8035). C’est utilisé pour des machines n’ayant pas de disque dur, serveurs de terminaux...Cependant, comme nous le verrons, l’adresse IP est insuffisante pour travailler sur un vaste réseau où nousdevons définir l’adresse de la passerelle, des serveurs de noms, etc. RARP est donc abandonné au profit deBOOTP et dernièrement de DHCP qui assument ce genre de fonction de manière beaucoup plus évoluée.Proxy ARPUne machine peut utiliser ARP pour faire du routage transparent. Cette machine fera la correspondanceentre l’adresse reçue et l’interface sur laquelle elle achemine l’information.C’est le cas par exemple pour un routeur d’accès distant.Proxy arp193.50.125.6:193.50.125.4Routeur d’accès distantLiaisons via leRTC en PPP:Adresse193.50.125.150:Adresse193.50.125.151On peut se demander qu’elle est la différence entre le routage et proxy arp. En fait la machine qui appelle(193.50.125.4) a l’impression que 150 et 151 sont sur son réseau. En quelque sorte proxy arp , c’est duroutage transparent. On voit parfois les termes de IP forwarding qui correspondent à cette technique.Derrière le routeur, on peut avoir un réseau non vu de l’extérieur dont seul le routeur a connaissance. Onréalise d’une certaine façon un déport d’adresse.<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 41


42Le DATAGRAMME 22 IPUn service de remise de paquets en mode non connectéRéseauL’INTERNET s’appuie sur un protocole (IP ou INTERNET PROTOCOL) qui est un service de remise depaquets non fiable. La remise du paquet s’effectue sans garantie de remise mais un message ICMP « doit »signaler la suppression du paquet 23 , ces paquets peuvent suivre des routes différentes, être dupliqués, arriverdans le désordre 24 .Structure des datagrammes :0 4 8 16 24 32VERS LGMAT Type Service Longueur TotaleIdentification Drap Déplacement FragmentDurée de Vie (TTL) ProtocoleTotal de Contrôle en-têteADRESSE IP SOURCEADRESSE IP DESTINATIONOptions IP Eventuelles BourrageDonnéesSignification :VERS= numéro de version. En ce moment IPV4 bientôt IPV6LGMAT= longueur d’en-tête en mots de 32 bits. Généralement, 20 octets = 160 bits=5*32bitsLGMAT vaut 5 la plupart du tempsType de service codé sur 8 bits0 3 4 5 6 7Priorité D T R InutiliséPriorité 0 (cas normal), 7 supervision réseauDTR, représente le type d’acheminement :D requiert un délai court (style éviter un satellite)T débit élevéR grande fiabilitéLongueur Totale = longueur en octets du datagramme, en-tête plus donnéesDéplacement fragment, voir plus loinDurée de vie : compteur que l’on décrémente a chaque passage de passerelle, si il atteint zéro, le messageest détruit, et un ICMP est envoyé à la source.Protocole : Comme pour ETHERNET ou IP vaut 800, ici on indique le type de données , à ce niveau, ils’agit de ICMP, UDP, TCP, EGP. L’explication de ces valeurs viendra plus tard.Total de contrôle : C’est une valeur permettant de vérifier l’intégrité de l’en-têteOptions , souvent utilisées pour la supervision du réseau : pour résumer, on trouve :Enregistrement de routeRoutage défini par la source. (avec retour des temps de passage)HorodatageDO NOT FRAGMENTA retenir : sont particulièrement importants :Adresse Source | Adresse Destination | Type de Service | TTL22 Dans la terminologie IP , on parle de datagramme qui n’est ni plus ni moins qu’un paquet. Au niveauliaison on parle de trame. Tout ceci est tout de même équivalent. En X25, on ne parle que de paquet.23 Sauf s’il est dans un routeur qui vient de s’arrêter, comme on n’est pas dans un mode connecté, aucuneinformation ne sera remontée !. TCP niveau 4 devra réémettre24 IP c’est du désordre très bien organisé42


Taille du datagramme, MTU (Maximum transmit Unit) et fragmentation.Chaque datagramme pour être transféré devra s’appuyer sur une trame du protocole de liaison. Or la taillede la trame de liaison peut être très différente. Par exemple, dans le cas de ETHERNET, c’est 1500,TokenRing (16Mbs) 16K. Le MTU est un paramètre local de l’ordinateur ou du routeur et dépend de lacouche de liaison. IP a prévu un mécanisme de fragmentation lorsque le datagramme est supérieur auMTU, c’est à dire que le datagramme est découpé en fragments. Le datagramme peut faire jusqu'à 64Ko, ilva être découpé si besoin dès le départ en multiples de MTU.:Réseau 1MTU = 1500: Réseau 2MTU=520R1:R2:Réseau 3MTU = 1500R1 va fragmenter les datagrammes du réseau 1 vers Réseau3, et va donc générer 3 trames de 520 pour unetrame de 1500. <strong>Les</strong> déplacements indiquent l’index dans les données du paquet non fragmenté du départ.De temps en temps le MTU local peut être paramètré en local. Il faut faire quelques tests de transferts pourjuger de la bonne taille. Cependant, la plupart des machines étant d’abord reliées à un réseau ETHERNETlocal, utilisent un MTU de 1500 pour avoir de grosses trames ETHERNETTous les fragments dans le schéma vont arriver sur la destination qui va les réassembler. Ce n’est pas latache des routeurs car il leur faudrait mémoriser les fragments pour les réassembler.La fragmentation est tout de même ennuyeuse car au moindre fragment perdu, c’est tout le datagramme IPqu’il faut réémettre. IL FAUT EVITER LA FRAGMENTATIONA cause de cela la couche UDP limite le datagramme à 512 octetsLa couche TCP prend le maximum si la destination est locale (1496 en ETHERNET) et limite à 1024 octetsdès que la destination sort du réseau local.Attention, ceci peut dépendre du fournisseur de la couche de transport IP. Certaines couches TCP utilisentl’algorithme PATH MTU DISCOVERY (découverte du MTU de chemin) afin d’optimiser la taille dudatagramme. TCP met alors dans chaque datagramme IP, l’option DO NOT FRAGMENT. Si ledatagramme est refusé par un routeur, celui-ci envoie un message ICMP de refus. TCP diminue alors lataille du MTU lié à la session jusqu’à ce que le datagramme passe.<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 43


44Le Routage des Datagrammes IPLe routage est l’opération d’acheminer les paquets à bonne destination. <strong>Les</strong> machines effectuant cetteopération sont appelées routeurs ou passerelles. Dans la terminologie Anglo-saxonne, on parle de« router » ou « gateway » 25 . Un routeur est souvent une machine spécialisée et sans disque dur (fiabilité).Cependant une station Unix ou un Windows NT peuvent faire le travail.Transfert direct ou indirect.Si les 2 machines sont sur le même réseau physique, la remise est directe, on s’appuie sur la couche deliaison pour envoyer les informations. Pour déterminer l’adresse physique, on utilise arp. Dans le cas ou lesmachines ne sont plus sur le même réseau, on va passer par un routeur.:B194.214.25.2:;Routeur R194.214.25.1 193.50.125.1A193.50.125.2: C 193.50.125.6Pour atteindre C , A effectue une remise directe. Pour atteindre B, ce sera indirect en passant par le routeur.Le routeur a deux adresses car l’adressage IP ne concerne que les interfaces sur le réseau et non la machineelle même. A ce propos , si le routeur est connu par l’adresse 193.50.125.1 et que la carte est en panne, onne pourra l’atteindre alors que ce serait possible via 194.214.25.1 en supposant que les 2 réseaux aient desaccès indépendants vers l’extérieur.Pour que le routage marche, A pour atteindre B et connaissant l’adresse IP du routeur R, va faire unbroadcast ARP, extraire l’adresse physique de D et ensuite générer le paquet avec une adresse Destinationqui n’est pas celle du routeur. Celui ci s’en servira pour acheminer plus loin ce datagramme.Routage IP via des tables statiquesCette table va indiquer les routes a prendre en fonction du réseau, un peu comme une carte routière.Réseau194.214.25.0193.50.125.1 194.214.25.1193.50.126.1Réseau193.50.125.0R1Réseau194.214.24.0R2Réseau193.50.126.0194.214.24.1 194.214.24.225 Il est vrai que gateway s’applique plus souvent à une machine qui va faire une traduction de protocole, cequi n’est pas le cas ici. Cependant dans beaucoup de références gateway est utilisé à la place de router.44


<strong>Les</strong> tables seraient les suivantes :pour R1193.50.125.0 Direct194.214.25.0 Direct194.214.24.0 Direct193.50.126.0 194.214.24.2Pour R2193.50.125.0 194.214.24.1194.214.25.0 194.214.24.1194.214.24.0 194.214.24.1193.50.126.0 DirectPour conserver de petites tables (Il y a des millions de réseaux), on invente le panneau Autres Directions. Cepanneau s’appelle la ROUTE PAR DÉFAUT.Si R1 est le routeur externe, R2 peut avoir à la place des 3 réseaux cités : 0.0.0.0 194.214.24.1ce qui veut dire tous réseaux non cités : passer par R1Ces tables sont définies statiquement par l’administrateur du réseau. Nous verrons plus loin qu’il existe desprotocoles de routage qui permettent la mise à jour automatique des tables de routage.On parle de RIP, EGP, BGP, OSPF , etc ..<strong>Les</strong> couches traversées dans le réseau . Le routeur ne lit que l’en-tête IP et travaille avec la couche physique.Il ignore ( à priori ) tout du contenu du paquet.SourceApplicationTCP ou UDPIPLiaisonPhysiqueRouteurIPLiaisonPhysiqueDans le système d’exploitationDestinationApplicationTCP ou UDPIPLiaisonPhysiqueCertains routeurs dits filtrants examinent les adresses Sources, Destination et aussi le type de l’application,de manière à éviter des entrées illicites sur le réseau Interne. C’est le principe des pare-feux ou firewall.A retenirLa route par défaut.Un ordinateur simple (PC / MAC) , station de travail, ne connaît que la route par défaut. (Une seulepasserelle). En effet la boite de dialogue standard ne permet pas autre chose. Cependant, la commanderoute permet d’ajouter manuellement une route statique. <strong>Les</strong> ordinateurs ajoutent aussi des routes parréponse à des messages ICMP REDIRECT.<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 45


46<strong>Les</strong> Routages DynamiquesOn a vu que le routage statique est difficile à gérer pour des réseaux importants. Nous abordons ici lesroutages dynamiques, les routeurs s’échangent des informations sur leurs tables de routage, décident dumeilleur chemin, inactivent la route. Dés le départ, on obtient un message route barrée, au lieu que lespaquets aillent se perdre en silence. On obtient alors le message explicite Host unreachableOn considère deux types de routage, les routages Intérieurs et les routages Extérieurs.L’intérieur est un routage local qui concerne des réseaux gérés par la même structure administrative, lesroutages extérieurs concernent les problèmes d’interconnexion de vastes réseaux.Système Autonome : un système qui a établi sa propre politique de routage. RENATER est un systèmeautonome, le campus de Jussieu, celui de Luminy sont des systèmes autonomes.Protocoles de routages intérieur (RIP, OSPF, HELLO)RIP et un peu obsolète, mais il est toujours utilisé, notamment par MICROSOFT sous NT 3.51/4.0 maisaussi sous NOVELL 3.12. Il faut donc parler de son principe dans le cas ou l’on utilise ces systèmes pourinterconnecter des réseaux. Sous Unix on trouve des versions plus évoluées . <strong>Les</strong> deux démons 26 standardss’appellent GATED et ROUTED . ROUTED ne gère que RIP V1 et devrait donc être écarté. GATED V3gère RIP V2 ainsi que OSPF V2 et BGP V2,V3.<strong>Les</strong> principes de RIP (RFC 1058)RIP est multi-protocoles et est utilisé ailleurs que dans IP (NOVELL/ Appletalk)RIP s’appuie sur une notion de métrique (Hop count) qui est un compteur de saut. C’est un algorithme deroutage à vecteur de distance.« Pour aller sur ce réseau, il faut passer par machin et c’est 2 sauts plus loin ».RIP considère que si le saut est supérieur à 15, c’est une route désactivée. RIP n’est utilisable que sur despetits réseaux. De plus une liaison directe a un coût de 1 et non 0.Au démarrage, le routeur envoie des broadcast sur les interfaces actives. Ce sont des broadcast IP UDP dontle numéro de port est 520 . Cette requête constitue à demander à tous les voisins gérant RIP leurs tables deroutage. Un datagramme UDP est limité à 512 octets, par conséquent, un datagramme ne peut transporterque 25 routes (Il faut 20 octets par route). Cependant plusieurs datagrammes peuvent être émis.Mises à jour. Toutes les 30 secondes, la table est émise sur le réseau sous forme de broadcast !.Mises à jour volontaires. Lorsqu’une métrique change, seules les entrées concernées sont envoyées.Si on trouve une route avec un plus petit hop count, c’est celle ci qui remplace l’ancienne. Si un routeur nedonne plus signe de vie, au bout de 90 secondes, la route passe en état invalide, puis au bout de 270secondes la route passe en flush et est détruite 60 secondes après (2 broadcast minimum).On voit que la suppression d’une route est un processus lent et que RIP converge très lentement.<strong>Les</strong> bonnes nouvelles voyagent vite, les mauvaises lentementTable RIP typiqueDestination Next Hop Distance Timers FlagsRéseau A Routeur 1 3 t1, t2 , t3 x,yRéseau B Routeur 2 5 t1, t2 , t3 x,yRéseau C Routeur 1 2 t1, t2 , t3 x,y. . . . .Pour éviter des problèmes de bouclage de route, on attend suffisamment longtemps quand une route tombe,de plus on évite de renvoyer des informations de routage sur une route qu’un voisin déclare comme plusproche.26 on appelle démons des programmes qui tournent en tache de fond dans le système d’exploitation. Ce sontdes programmes fantômes, d’ou le nom de démon (démon dans la littérature)46


Inconvénients• RIP manque aussi une information essentielle qui est le masque de sous réseau. Dans certains cas deréseaux, il peut y avoir confusion sur la signification des bits machine si l’adresse réseau n’est pas enmultiple d’octets. Si les deux derniers octets de l’adresse sont ainsi :1111 0000 . 0000 0000 , la partie machine peut être sur 8 bits ou 12 bits, il est impossible de ledéterminer !.• Aucun calcul du temps de réponse ou de charge du réseau n’est fait. Il est aberrant de considérer de lamême façon un réseau ETHERNET à 10 Mbs avec une liaison PPP à 38400 bps.• Un utilisateur malveillant peut détourner le trafic ou écrouler le réseau !.• RIP émet des tonnes de broadcast (tous les routeurs, toutes les 30 secondes..)RIP V2 (1993)• Ajout du subnet mask.• Retour d’information vers un protocole de routage extérieur.• Support de Multicast pour diminuer les broadcast.• Signature des tables.OSPF (Open Short Path First) RFC 1247C’est un protocole à état de liens (link-state). Chaque routeur teste l’état du lien avec ses voisins et leurenvoie ses informations. Chaque routeur se constitue une arborescence du réseau en déterminant le cheminle plus court. (RIP s’arrête à ses proches voisins)OSPF utilise la couche IP et non UDP. Il a un champ service spécial (pas un numéro de port).• OSPF peut gérer des routes différentes en fonction du champ qualité de service IP (3 bits et 8possibilités) delay, throughput, reliability.• A chaque interface est associé un coût qui peut dépendre du débit, du temps d’aller-retour.• On peut diviser un système autonome en Area, et avoir des tables par area et qualité de service.• A égalité de coût OSPF établit une répartition de charge• Supporte les sous réseaux via les masques• <strong>Les</strong> liaisons Point à points entre routeurs ne demandent pas d’adresse IP• Utilise le multicast• Authentification par mot de passe des tables• Passerelle désignée : une passerelle va concentrer les messages sur elle pour les diffuser sur d’autres, onlimite ainsi le nombre des diffusions linéaire en n au lieu de n2 si n est le nombre de passerelles.• Remonte des informations de passerelles intérieures vers les extérieures.• Peut gérer des routes de machine à machine1 1 2 4 4 2 2 8 VariableVersion Type Longueur Routeur Id Area Id FCS Typed’authentificationAuthentificationDonnées5 types de datagrammes OSPF• Hello : généré entre voisins pour maintenir les relations• Database description. Décrit le contenu d’une base topologique adjacente. Celle-ci est échangée audémarrage d’un voisin• Link State Request Demande d’une partie de base topologique• Link State Update Réponse à la question précédente. Transmet les LSA (Link State Advertising)• Link State Acknowledgement. Une sécurité essentielle !.<strong>Les</strong> LSA ont 4 types :Router links advertising (RLA) UN routeur l’envoie à toute l’aire à laquelle il appartient.Network Links Advertissements (NLA) défini les routeurs multi-airesSummary Links Advertissements (SLA) Générés par les routeurs frontaliersAS external links advertissements. Décrit une route externe au système autonomeA retenir : deux types de routage dynamique et compte de distance ou vecteur de chemin<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 47


48<strong>Les</strong> protocoles de passerelles extérieures ( EGP,BGP ) 27Réseau FédérateurG1G2Système Autonome 1Système Autonome 2Un mécanisme est nécessaire pour permettre aux passerelles périphériques d’informer le système central del’existence de nouveaux réseaux ou des incidents de ses réseaux internes en les marquant non joignables.Ces protocoles sont des protocoles de passerelles extérieures. G1 et G2 vont causer EGP avec le réseaufédérateur. Celui-ci en interne va mixer les informations de son routage interne avec les informations EGP.En utilisant EGP, c’est comme si l’on mettait sur la porte d’entrée du système autonome des panneauxindicateurs. « Je possède tel et tel réseau »EGP ( Exterior Gateway Protocol ) RFC904 Avril 1984Un réseau EGP est constitué de voisins (neighbor) qui se testent régulièrement. Ils transportent desinformations sous forme de métriques un peu comme RIP. Cependant ces métriques calculées par rapport àla sortie du réseau ne sont pas interprétées comme élément de routage. Seul le fait de mettre la valeur 255dans la distance va mettre la route comme invalide.• Sépare les informations de routage de celles d’accessibilité dans un but d ‘économiser la bande passante.• Propage des informations d’accessibilité et limite la topologie de l’interconnexion à un arbre dont laracine est le système central. EGP est un protocole de frontière.• Propage qu’un chemin vers un réseau donné.• Entre deux réseaux fédérateurs, EGP n’est pas optimal, il faut créer des routes manuellement pouroptimiser le trafic.• Oblige une passerelle à ne propager que des informations concernant des réseaux accessibles à l’intérieurdu système autonome. Ouf, sinon les routeurs de campus auraient toutes les routes de l’INTERNET !..BGP (Border Gateway Protocol) RFC 1267BGP définit trois types de systèmes autonomes.1. Le stub (en fait une feuille du réseau )2. Un multi-interfaces : plusieurs connexions sur les système central3. Un transit . Ce système autonome peut router à la fois du trafic local et du trafic de transit.BGP s’appuie sur TCP et utilise un protocole à vecteur de distance. <strong>Les</strong> décisions de routage sont entrées pardes fichiers de configuration. Comme EGP les décisions de routage ne font pas partie du protocole. <strong>Les</strong>mises à jour successives sont transmises via TCP lorsque les tables évoluent. Pas question de broadcast et deliaisons non sécurisées..27 C’est difficile de comprendre ces termes. En fait, c’est à la limite du routage. C’est plutôt une déclarationde possession de réseaux.48


<strong>Les</strong> Messages ICMPINTERNET CONTROL AND ERROR MESSAGE PROTOCOLLe réseau TCP/IP sur lequel s’appuie INTERNET est un réseau de type Datagramme. Le réseau n’a aucunemémoire de ce qui se passe, les datagrammes n’ont que deux renseignements, une adresse source et uneadresse destination. A aucun moment, on ne sait par quel routeur le datagramme est passé. Or, il faut bieninformer la source des problèmes du réseau.Pour cela, on utilise les messages ICMP, voici différentes valeur du champ type de ICMP :Type de Champ0 Réponse d’écho (la commande ping)3 Destination inaccessible4 Limitation de source (source quench)5 Redirection8 Demande d’écho (la commande ping)11 Expiration de délai12 Problème de paramètre pour un datagramme13 Demande estampille de temps14 Réponse estampille de temps15 Obsolète16 Obsolète17 Demande de masque18 Réponse de masqueCes messages sont traités prioritairement.Le contrôle de flux est assuré par des ICMP de type 4. Le routeur demande à la source de limiter son débit.C’est ce que fait la source tant que ce genre de message est envoyé. Celle ci augmente ensuite régulièrementle débit tant qu’un message de limitation n’arrive pas. Ce message est envoyé par un routeur , dans lesordinateurs, TCP utilise la taille de fenêtre.Redirection: le routeur vous indique de suivre une autre route. Ce message n’a de sens que si le routeur etl’émetteur sont sur le même support physique, car l’émetteur n’a aucun moyen de changer de route surINTERNET. Ceci s’active dès que l’on a plusieurs routeurs sur le même réseau ETHERNET . <strong>Les</strong> machinesn’ont qu’une adresse de routeur, si celui ci connaît une route plus courte, il l’indique:ICMP redirect : passe par R2Routeur R1:Machine A:R2:Machine DRouteur par défaut R1, Jeveux atteindre la machine D<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 49


50Détection des boucles de routage :Chaque datagramme IP a une indication précieuse, c’est son HOP COUNT ou TIME TO LIVE, chaque foisqu’une trame traverse un routeur, on décrémente de un cette valeur jusqu'à atteindre zéro, le routeur émetalors un ICMP de type 11 (à condition que l’on puisse encore le recevoir..). Une trame IP part généralementavec un TTL de 32. La commande traceroute utilise le TTL en l’augmentant progessivement et reçoit duréseau les informations venant de tous les routeurs parcourus. Pour 20 routeurs traversés, il envoie 20 * 3datagrammes, car traceroute fait des statistiques de temps de réponse.A retenir• <strong>Les</strong> ICMP sont les messages d’incident de réseaux.• Il avertissent les machines émettrices des incidents du réseau.• Un routeur ne peut avertir un autre routeur par ICMP.• <strong>Les</strong> commandes PING et TRACEROUTE s’appuient sur les ICMP.50


LE TRANSPORT IPUDP ou User Datagram ProtocolArchitecture IP :Programmes d’applicationTELNETFTPSMTPRlogin/rshTCPDNSSNMPUDPTFTPNFSBOOTPRPCIP (et ICMP plus IGMP)ARPRARPCouche Physique et protocoles de liaisonLa couche IP dans la machine source ou destination agit comme une couche de multiplexage. C’est un peucomme une gare de triage. S’appuyant sur le champ protocole de l’en-tête IP, elle va traiter différemmentces paquets et les remonter si besoin aux couches supérieures.UDP s’inscrit dans la couche 4. Il s’agit d’un transport en mode non connecté. UDP envoie desdatagrammes et utilise une information complémentaire, le numéro de PORT. La trame UDP est constituéed’un numéro de port source et d’un numéro de port destination. Ce transport est en fait une succession demessages sans liens. L’application devra surveiller l’ordonnancement des messages et les problèmes decontrôle de flux que UDP ne gère pas. A part NFS (Network File System), UDP est utilisé par desapplications qui ne transfèrent que des petits messages, TCP étant trop coûteux pour ce genre d’opérations.BOOTP et SNMP sont des applications typiques de UDP. Chaque écriture d’une application provoquel’envoi d’un datagramme UDP. Il n’y a aucune temporisation.0 8 16 31Port UDP source Port UDP destination 28Longueur message UDP Total de contrôleDonnéesLe port source est facultatif et vaut zéro généralement, sinon il contient le numéro du port ou renvoyer lesréponses.Longueur message UDP : longueur totale du datagramme, en-tête UDP compris. (


52principe des couches, une partie de l’en-tête IP pour faire un contrôle plus serré. Ceci permet de contrôlerque l’on a bien un datagramme pour cette adresse IP et que c’est bien UDP qui est concerné.La méthode de calcul des erreurs est moins performante que celle d’ETHERNET. En particulier uneinversion de 2 octets peut passer inaperçue. Le fait de faire deux fois le calcul sur deux partiesindépendantes assure une sécurité supplémentaire.Dépend du lienETHERNET/PPP/ATM/X25..<strong>Les</strong> poupées russesEn-tête trameEn-tête IPEn-tête UDP Données UDPDonnées du DatagrammeDonnées de la trameCertains ports UDP sont prédéfinis , mais les programmeurs sont libres d’en utiliser d’autres. Voici unexemple de ports réservés :On peut voir cela sous le système Unix avec le fichier /etc/servicesOu sous c:\windows\servicesDécimal Mot Clé Mot Clé Unix Description0 Réservé7 ECHO echo Echo9 DISCARD discard détruire11 USERS sysstat Utilisateurs actifs53 DOMAIN nameserver Serveur de noms de domaine67 BOOTPS bootps Serveur de protocole d’amorce68 BOOTPC bootpc Client de protocole d’amorce69 TFTP tftp Transfert de fichiers simpleFinalement UDP se réduit une à une petite couche , gare d’aiguillage entre différentes applications. Cesapplications auront du travail, si elles transfèrent de grosses informations sur des grands réseaux car lespaquets vont arriver déséquencés 30 . Pour éviter cela et éviter que chaque application se préoccupe dutransport (chacun dans son coin, avec les problèmes de reprise, le contrôle de flux, etc..), TCP a été créé.C’est disons, un sous programme commun à certaines applications qui tourne dans le système d’exploitationde la machine.La commande netstatC’est le principe des couples adresses port. En fait netstat n’affiche en standard que les connexions TCPIl faut taper netstat –a –u inet (linux) ou netstat –a –p udp (commande windows)Active INTERNET connections (including servers)Proto Recv-Q Send-Q Local Address Foreign Address Stateudp 65412 0 *:syslog *:*udp 0 0 *:tftp *:*udp 0 0 localhost:domain *:*udp 0 0 romarin.univ-aix:domain *:*udp 0 0 *:1026 *:*udp 0 0 *:ntp *:*udp 0 0 localhost:ntp *:*udp 0 0 romarin.univ-aix.fr:ntp *:*udp 0 0 *:49 *:*Choix des couples adresses, port30 A ce niveau là, l’application la plus énigmatique est celle de Sun NFS qui s’appuie sur UDP alors qu’ils’agit de transferts de fichiers. Ca pose d’ailleurs des problèmes de performance et de sécurité.52


Une session TCP ou UDP, s’identifie par un couple de valeurs, adresseIPlocale.port, adresseIPdistante.portOn peut avoir plusieurs adresses locales (plusieurs sorties sur différents réseaux). Lors d’un appel, onutilise deux ports. L’un est un « well-known » port (une application bien précise ex : TELNET=23), l’autreest un port local libre généralement > 1023.Un serveur ou démon UDP peut préciser lors du démarrage du service, en s’attachant un « well-known »port, sur quelles adresses IP locale ou distante, il veut que la couche UDP lui envoie les données dans unefile d’attente. Il est possible de lancer plusieurs applications sur le même port local mais qui traiteront desadresses différentes.Type de sélection des couples adresses port que l’on va recevoirIl est vrai qu’en local on peut avoir plusieurs cartes réseau donc plusieurs adresses et faire une sélection à ceniveau. Voir l’interface de programmation des sockets (bind)Local IP.port foreign IP. Port*.port foreign IP.**.port *.*A retenir• <strong>Les</strong> ports• Des clients faciles à écrire• Des serveurs difficiles à écrire• Sécurité faible, car pas d’état.• Des petits messages comme SNMP et DNS<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 53


54TCP (TRANSPORT CONTROL PROTOCOL)TCP est un protocole de transport qui pourrait être indépendant de IP et même s’appuyer directement surdes réseaux physiques comme ETHERNET. Cependant on le trouve toujours en relation avec IP d’ou leterme TCP/IP.• TCP est un protocole connecté. C’est à dire qu’il existe une phase de création d’une connexion où lesdeux machines négocient leurs options et réservent des ressources. TCP informe les applications dusuccès ou de l’échec et ensuite contrôle le lien. Si celui-ci tombe, les applications en sont prévenues.Même si IP n’est pas un réseau connecté, TCP réalise cela au niveau des machines source et destination.• Transferts bufferisé, sauf ordre on attend de remplir un segment, ou la fermeture de session.• TCP va soit découper, soit rassembler dans un paquet suffisamment d’informations pour minimiser lestransferts réseaux. <strong>Les</strong> unités de transfert sont appelés SEGMENTS dans le jargon TCP.• Connexions Bidirectionnelles :• Fiabilité des transferts et acquittements.En-tête d’un « segment »TCP :20 octets 20 octetsEn-tête IP En-tête TCP données TCPDétail de l’en-tête en mots de 32 bitsPort source (16 bits)Longueur entête(4 bits)réservé (6)Port destination (16 bits)Numéro de séquence sur 32 bitsNuméro d’acquittement sur 32 bitsURGACKPSHRSTSYNFINtaille de fenêtre sur 16 bitsSomme de contrôle TCPOptions éventuellesDonnéesPointeur urgent sur 16 bitsSignification des bitsURG le pointeur de données urgentes est valideACK est à un lorsque le segment contient un accusé de réceptionPSH Ce segment requiert un push (on n’attend pas le remplissage ex : TELNET)RST abandon violent de la connexionSYN échange initial des numéros de séquenceFIN Séquence de fin de connexionDe la même façon que UDP, les couples (adresses, ports) identifient les connexions. Cette combinaisons’appelle socket 31 du même nom que l’interface de programmation de Berkeley.Le numéro de séquence représente le rang du premier octet de données dans le paquet depuis le début de laconnexion. Ce numéro de séquence ne démarre pas à un mais à une valeur propre au système d’exploitationappelé ou appelant et qui s’incrémente régulièrement. On peut remarquer que ce ne sont pas les segmentsqui sont numérotés mais les octets envoyés pendant la connexion. La valeur initiale du numéro de séquencea pour but d’éviter qu’une connexion se ferme, puis s’ouvre et que pendant ce temps des paquetsretardataires de l’ancienne connexion ne soient pris pour valables.Détail d’une ouverture de sessionLe client envoie un segment TCP avec le bit SYN positionné à un. Il envoie son numéro de séquence ainsique la taille de sa fenêtre (WIN) et la taille maximum de son segment (MSS). Il effectue ce que l’on appelleune ouverture active.31 Socket veut dire prise, comme une prise de courant54


Le serveur va acquitter cette ouverture avec le bit SYN et fournit ses mêmes renseignements au client (MSSet WIN), il fait une ouverture passive. Le client acquitte ce segment en retour, la connexion est alors créée.On l’appelle l’ouverture à trois poignées de main !. Généralement, pour éviter la fragmentation, TCP prendcomme taille de MSS 1460 caractères lorsque les trames sont sur une liaison ETHERNET.Ceci est transmis dans le champ options éventuelles lors de l’initialisation SYN. En cas de problème deréponse, la demande est retransmise au bout de 9 sec, puis 24 sec puis 75 sec avant de signaler un échec.Principe des fenêtresPour chaque paquet envoyé, le récepteur envoie une confirmation de bonne réception. Afin de ne pasattendre cette réception , on s’autorise à émettre un certain nombre de paquets avant de s’arrêter faute d’unacquittement. Tout segment doit être acquitté. Si on émet 5 segments et que le premier se perd, le récepteurne va acquitter que la séquence antérieure au premier, or il a reçu les 4 autres. L’émetteur part en time-outsur cet acquittement, remet le 1 er ainsi que les 4 autres que le récepteur va confirmer de suite.Ce mécanisme est un mécanisme d’acquittement cumulatif, il indique l’endroit jusqu’où tout va bien. Onaurait pu faire différemment. Cependant, lorsque le paquet en panne arrivera , on enverra un seulacquittement qui validera tous les segments de la fenêtre.La fenêtre évolue en taille de manière dynamique, celle-ci s’exprime en nombre d’octets (taille de fenêtrewin). C’est à dire que elle peut augmenter ou diminuer en fonction de la rapidité du réseau et des machines.Si l’application arrête de lire des données, la couche TCP du récepteur va très vite envoyer une fenêtre detaille nulle.Voici le diagramme dans le tempsSourceDestinationEnvoi paquet 1Envoi paquet 2 Réception paquet 1Envoi paquet 3 Emission acquittement 32 1Réception paquet 2Emission ACK 2Réception ACK1 Réception paquet 3Emission ACK3Réception ACK2Réception ACK3En fait, on peut perdre l’ACK2, si l’on reçoit l’ACK3, c’est que 2 a été bien transmisConcept de fenêtre glissante :1 2 3 4 5 6 7 8 9 10 111 2 3 4 5 6 7 8 9 10 11A gauche de la fenêtre se trouvent les paquets transmis, au milieu les paquets en cours, à droite ceux quirestent. Dès que l’acquittement du 1 arrive, la fenêtre glisse. La taille est de 7 pour dire que l’on peutémettre 7 segments avant d’attendre l’acquittement. En fait la taille de fenêtre 33 s’exprime en octets et on atout intérêt à prendre un multiple entier de la taille du segment.Temporisations et retransmissions.TCP gère de manière dynamique les temporisations. IL essaye pour cela de déterminer Round Trip Time(RTT) ou temps de bouclage moyen. Il regarde le temps qui s’écoule entre l’émission d’un segment et la32 On note l’acquittement ACK (acknowledge)33 On aurait pu compter en nombre de segments et compter les fenêtres sur un seul octet. WIN peutpréciser : je ne veux que 10 caractères.<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 55


56réception d’un ACK sur un segment non retransmis. Il utilise une moyenne de ce temps pour calculer satemporisation avant réemission.Gestion des congestions ou le contrôle de fluxLe réseau ou la machine distante peut être engorgé. Pour chaque perte, TCP diminue sa fenêtre de moitié etil double la valeur de sa temporisation (et ainsi de suite), c’est le repli exponentiel 34 . Ceci permet dedésengorger les routeurs du réseau. Le redémarrage s’effectue à l’inverse lentement , on augmente de unsegment à chaque ACK. Lorsque l’on a atteint une fois et demie la taille de la fenêtre initiale, onn’augmente plus que de un segment lorsque tous les segments de la fenêtre ont été acquittés.Lorsque le récepteur envoie une taille de fenêtre nulle, TCP passe en timer persistant et envoie toutes les 60secondes un segment de sonde de fenêtre (on peut avoir raté le segment d’ouverture de la fenêtre..).Gestion des erreurs ICMPSi on reçoit source quench, la taille de la fenêtre passe à un segment.On ne traite pas host unreachable !.. <strong>Les</strong> concepteurs pensent que c’est un problème de réseau transitoire etque ce problème sera résolu ou que la gestion des temporisations fera échouer la connexion par un« connection timed out ».Timer keep alive.C’est une fonction de TCP qui permet de détecter les absences. En effet si aucune donnée ne circule, laliaison TCP est silencieuse. Il existe deux solutions, soit l’application s’en occupe elle-même, soit elledemande à TCP un timer keep alive. C’est le cas de TELNET et RLOGIN. En effet si un client éteint samachine, la session va rester ouverte et consommer des ressources machines.On émet un paquet sonde toutes les 2 heures, si échec, 9 sondes toutes les 75 secondes, si erreur toujours, onfait un RST sur la connexion.Vitesses constatées d’échange TCP :ETHERNET8 600 000 bits/secFDDI80 à 98 Mbit/secRemarqueOn ne peut pas aller plus vite que la taille de la fenêtre divisée par le temps d’aller retour entre les deuxmachines.A retenir• TCP est une méthode de transport qui tourne dans le système d’exploitation des serveurs et des clients(pas les routeurs).• TCP assure la remise en ordre des datagrammes, la retransmission et le groupage des informationsavant envoi (MSS), le segment est rempli• TCP est la base de la plupart des services de l’INTERNET• Pour voir qui est connecté en TCP au niveau réseau netstat –t34 C’est tellement exponentiel qu’il faut attendre 9 minutes pour faire tomber la connexion !. TCP c’est dela glue.56


APPLICATIONSLES SERVEURS DE NOMDOMAINE NAME SERVER (DNS)L’adresse IP numérique étant difficile à manipuler, une représentation hiérarchique de nom de machines aété mise en place pour faciliter l’utilisation du réseau. Cependant dans les couches basses du réseau, seule lavaleur numérique est utilisée. Le DNS n’est qu’une application non une couche du réseau 35 .<strong>Les</strong> noms sont composés par une suite de caractères alphanumériques encadrés par des points 36 . Par exromarin.univ-aix.fr correspond à l’adresse 193.50.125.2 et le mécanisme qui associe le nom au numéros’appelle la résolution de noms. Cette représentation est hiérarchique.<strong>Les</strong> serveurs qui traitent la conversion nom = adresse ou adresse = nom sont des serveurs de nom ou DNS<strong>Les</strong> serveurs de laracineArpa com edu gov frIn-addruniv-aix.fr19350romarin125<strong>Les</strong> domaines de la racine sont des domaines génériques ou des domaines géographiques.DomainecomedugovintmilnetorgdeukfrDescriptionOrganisations commerciales ( hp.com)Institutions éducatives (américaines)Organisations gouvernementales USOrganisations internationalesMilitaires UsRéseauOrganisation à but non lucratifAllemagneAngleterreLa France35 Et pourtant, le DNS c’est la base de l’INTERNET.36 On peut mettre un point dans un nom, sans créer un sous domaine.<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 57


58<strong>Les</strong> domaines géographiques sont sous forme de 2 caractères (ISO 3166).Comment ça marche ?.Une organisation : le NIC (Network Information Center) a en charge la bonne marche des DNS et délègueson autorité sur des sous domaines. En France, l’autorité responsable est l’INRIA qui gère le domaine fr.Quelques une des machines de l’INRIA sont les serveurs du domaine fr. (http://www.nic.fr)Quant une application (TELNET, web..) a besoin de résoudre une adresse symbolique, elle va utiliser unrenseignement de la configuration de la machine. Sous Unix, il s’agit du fichier /etc/resolv.conf.Dans ce fichier, on va trouver l’adresse de un ou 2 serveurs de noms. On envoie une requête UDP sur le port53 du serveur de noms en demandant la résolution.Celui-ci va alors appeler un série de serveurs 37 (ses collègues ) pour la résolution. Tout d’abord, celui-ci vafaire appel aux serveurs de la racine. Il s’agit de 8 serveurs dont les adresses sont figées dans laconfiguration du serveur 38 . Dans la cas ou on cherche www.linux.org, on va appeler la racine pourdemander qui gère le domaine com. On va récupérer une série d’adresses de serveurs.Ensuite on interroge l’un de ses serveurs pour déterminer les adresses des machines qui gèrent le sousdomaine linux.Enfin, la dernière machine, va délivrer la bonne information, et la réponse va être envoyée à la machinedemandeuse. Le serveur va garder cette information au maximum jusqu'à son expiration (indiquée par lepropriétaire du domaine, champ refresh) . Au delà, le serveur de nom devra redemander l’adresse. Lors dechangement importants (un serveur de nom par exemple), il est conseillé de changer les valeurs REFRESHune bonne semaine avant, afin que les noms soient gardés le moins longtemps possible dans les caches del’INTERNET. En effet, le changement peut mettre jusqu'à deux jours pour se propager partout !.<strong>Les</strong> machines serveurs ne sont jamais seules à gérer un domaine. Il faut veiller aux pannes !. Il existe doncdes serveurs primaires et des serveurs secondaires. <strong>Les</strong> secondaires appellent les primaires au bout d’untemps défini par le primaire (généralement 2 jours, champ MINIMUM) pour mettre à jour les informations.Pour faire cette copie elles utilisent TCP avec le port 53.Ces machines répondront ensuite de manière cyclique aux requêtes extérieures du réseau. Ces machinessont déclarées auprès du NIC.<strong>Les</strong> machines clientes du DN S ne font aucun cache. Elles appellent sans arrêt le serveur de noms.Configuration d’un serveur de nom :Le fichier /etc/named.boot contient les déclarations initiales. En gros de qui suis je le primaire ou lesecondaire.Cas du domaine univ-aix.frprimary univ-aix.fr named.dataprimary puget.univ-aix.fr puget.named.dataprimary iae.univ-aix.fr iae.named.dataprimary lpl.univ-aix.fr lpl.named.datasecondary iut.univ-aix.fr 194.199.116.10 iut.named.data;les zones pour le mapping inverse :primary125.50.193.in-addr.arpa 193.50.125.dble fichier named.data contient les infos suivantes :Le premier est un champ de type SOA (Start of authority) . On y défini l’adresse électronique duresponsable de la zone , la fréquence de mise à jour de la zone.@ IN SOA romarin.univ-aix.fr. postmaster.romarin.univ-aix.fr.(1996121301 ; Serial ANMMJJNum28800 ;refresh 39 : 8 heures7200 ;retry 40 : 2 heures3600000 ;expire 41 : 41 jours86400 ) ;minimum 42 : 2 jour37 à moins qu’il n’ait déjà cette information dans son cache38 on trouve cette information sur le serveur www.nic.fr39 refresh concerne la relecture des informations par les serveurs secondaires40 retry les secondaires en cas d’échec réessayent toutes les 2 heures41 expire : au bout de 40 jours sans nouvelles du primaire, la zone ou sous domaine est détruire58


Si le serial est modifié, les secondaires vont recopier la zone au bout du délai refresh. Expire sert lorsque lessecondaires n’arrivent plus à contacter le primaire. Minimum indique que l’enregistrement par défaut auraune durée de vie de 2 jours.Extrait des déclarations du domaine univ-aix.fr<strong>Les</strong> serveurs des sous domaines de univ-aix.friut.univ-aix.fr. IN NS romarin.univ-aix.fr.iut.univ-aix.fr. IN NS alpha.iut.univ-aix.fr.iae.univ-aix.fr. IN NS romarin.univ-aix.fr.iae.univ-aix.fr. IN NS aixup.univ-aix.fr.Des enregistrements de messagerie (MX records) utilisés par SMTP; Le relais de messagerie pour le domaine (attention au "." en fin de nom absolu)univ-aix.fr. IN MX 100 romarin.univ-aix.fr.Des déclarations de machines , il faut bien dire qui est romarin !romarin IN A 193.50.125.2www IN CNAME romarinw3 IN CNAME romarinromarin a des alias www ou w3. Donc www.univ-aix.fr = romarin.univ-aix.frSignification des différents champsCNAME aliasNSServeur de nomPTRAdresse inverse (Pointeur dans la littérature)AAdresse de machineSOAStart of AuthorityMXRedirection du courrier<strong>Les</strong> résolutions inverseson cherche parfois à savoir qui est la machine dont le numéro est 193.50.125.2. En fait on va générer unerequête en cherchant quelle est la machine 125.50.193.in-addr.arpa. On va interroger ainsi le pseudodomainearpa (les serveurs de la racine) puis les serveurs in-addr puis 193 puis 50 jusqu'à parvenir sur leserveur du domaine qui va renvoyer l’info suivante :193.50.125.2 = romarin.univ-aix.frle fichier 193.50.125.db contient les reverses de la zone :$ORIGIN 125.50.193.in-addr.arpa.@ IN SOA romarin.univ-aix.fr. postmaster.romarin.univ-aix.fr. (1996110801 ; Serial28800 ;refresh : 8 heures7200 ;retry : 2 heures3600000 ;expire : 41 jours86400 ) ;minimum : 2 jour; ----------------------------------------------------------;@ IN NS romarin.univ-aix.fr.@ IN NS irisa.irisa.fr.@ IN NS cnudns.cnusc.fr.;2 IN PTR romarin.univ-aix.fr.Ceci est utilisé pour filtrer des accès à certains services comme les serveurs ftp ou news. On veut savoir si lamachine appartient au réseau fr ou univ-aix.fr ou univ-mrs.fr de manière à créer des services différents ourejeter des appels. Il est aussi plus facile de lire des rapports ou l’adresse FQDN (Full Qualified DomainName) est indiquée.Toute machine du réseau auquel on attribue une adresse IP devrait avoir sa reverse adresse de définie !. Deplus en plus les machines ne suivant pas cette règle sont rejetées par les serveurs.Tout ces mécanismes sont accessibles via des API bien documentées, il s’agit des fonctions gethostbyaddr()et gethostbyname()42 minimum : La valeur la plus importante car stockée avec les valeurs des résolutions dans tous les serveursde noms de l’INTERNET. Combien de temps cette information est valide.<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 59


60<strong>Les</strong> commandes utilisateur Unix : 43host romarin ouhost 193.50.125.2host -t mx mediterranee.univ-mrs.frnslookupCette commande permet d’interroger un serveur de nom de manière interactive , de demander àlister le domaine (toutes les machines du domaine par ex)digwhoisNB : Un nom peut correspondre à plusieurs adresses ( www.microsoft.com).host www.microsoft.comwww.microsoft.com has address 207.68.137.59www.microsoft.com has address 207.68.137.62www.microsoft.com has address 207.68.137.65www.microsoft.com has address 207.68.143.193www.microsoft.com has address 207.68.156.16www.microsoft.com has address 207.68.156.49www.microsoft.com has address 207.68.156.52www.microsoft.com has address 207.68.156.53www.microsoft.com has address 207.68.156.54www.microsoft.com has address 207.68.156.58www.microsoft.com has address 207.68.156.61www.microsoft.com has address 207.46.130.16www.microsoft.com has address 207.46.130.138www.microsoft.com has address 207.46.130.139www.microsoft.com has address 207.46.130.149www.microsoft.com has address 207.46.130.150www.microsoft.com has address 207.46.130.151www.microsoft.com has address 207.46.131.15www.microsoft.com has address 207.46.131.141www.microsoft.com has address 207.68.137.53www.microsoft.com has address 207.68.137.56www.microsoft.com mail is handled (pri=10) by mail1.microsoft.comAttention, par expérience, il est assez facile de mettre en place un domaine. Par contre, il existe des grospièges qui pénalisent le bon fonctionnement :• Sur vos postes clients, vous vous trompez et mettez dans les DNS à contacter un routeur. En fait, sicelui-ci est le premier contacté, vous allez perdre un temps important 30 sec à une minute avantd’appeler le deuxième. Il faut mettre l’adresse de 2 « vrais » DNS dans les configurations.• Par rapport à votre domaine père vous déclarez trop de serveurs de noms qui gèrent votre zone. Cesserveurs ne sont pas chez vous mais chez des collègues. Etes vous bien sur qu’il sont actifs et bienconfigurés ?. Sinon ce sera les clients qui viendront chez vous qui devront attendre de tomber sur le bonserveur ! !. Ne mettez donc pas trop de serveurs de noms « officiels » sur votre zone (3 maximum).43 Sous Win95, c’est le désert : aucune commande livrée en standard !60


SNMPSimple Network Management ProtocolRFC1155/1157Ce protocole sert à la gestion des équipements de réseau. Il s’appuie sur UDP (161/162) pour transporterdes petites informations vers des logiciels de gestion de réseau .Par une simple commande, il est possible de connaître le nombre de paquets émis par secondes surl’interface d’un routeur ou la carte ETHERNET d’un simple Ordinateur.<strong>Les</strong> commandes utilisent des mots de passes codés en clair. SNMPV2 est sensé régler ce problème mais estdéjà mort né !.<strong>Les</strong> commandes interrogent ou modifient des « variables ».L’équipement peut aussi envoyer des « traps », c’est à dire des événements comme la mise sous tensiond’une station sur un Hub. Le logiciel d’administration recoit la trap et modifie alors la représentation del’élément en présentant par exemple une lumière verte, comme si l’on voyait l’équipement.<strong>Les</strong> opérations de base:get-requestget-next-requestget-responseget-bulkset-requesttraprécupère une valeurrécupère une valeur dans une tableréponse à un get-requestmodifie une valeurmessage évenementiel non sollicité<strong>Les</strong> variables des équipement sont disposées dans une arborescence de données :ccittisoisoccitt0 1 23org6dod1internetdirectory mgmt experimental private1 2 3 4Ici sous mgmt, on trouve encore mib (1), puis sous mib :système (1) interfaces(2) arp (3) ip (4) icmp(5) tcp(6) udp(7) egp(8)<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 61


62Pour appeler une variable comme system.sysuptime, le client SNMP enverra une chaine de valeurnumériques comme 1.3.6.1.2.1.3. On pourra aussi bien demander la valeur system.sysuptime ou1.3.6.1.2.1.3.Comment configurer SNMP ?.En fait les équipements récents sont tous administrables SNMP. Certains fabricants de HUB, fournissentmême leur logiciel de supervision. Pour programmer l’équipement (HUB, routeur), on doit initialiser laconfiguration, généralement via un port « Console », en fait un port asynchrone que l’on peut relier à unsimple PC et une émulation de terminal (minicom Linux ou Hyperterminal Windows). Parfois l’équipementfait du BOOTP et on peut le configurer ou le « pirater ! » via un simple telnet 44 . Ensuite on donne uneadresse IP à cette équipement et un mot de passe. Le reste de la configuration (gestion des traps) peut sefaire en mode ligne, ou via un logiciel à distance.<strong>Les</strong> MIB (Management Information Base)Une représentation commune des éléments essentiels de la MIB a été normalisé. <strong>Les</strong> noms des variablessont communs à tous les équipements. <strong>Les</strong> variables interrogées sont représentées suivant une représentationhiérarchique. On peut interroger la variable system.SysUpTime et bien d’autres encore. <strong>Les</strong> constructeursajoutent une partie privée à la MIB. Le problème est ensuite de savoir à quoi correspondent les variableslistées. <strong>Les</strong> outils comme snmpget utilisent une MIB /usr/lib/mib.txt. Ce fichier suit une syntaxe normaliséeappelée ASN.1. Il faut modifier ce texte pour voir apparaître les noms des variables proriétaires.Exemple de syntaxe ASN.1sysUpTime OBJECT-TYPESYNTAX TimeTicksMAX-ACCESS read-onlySTATUS currentDESCRIPTION"The time (in hundredths of a second) since the networkmanagement portion of the system was last re-initialized."::= { system 3 }Si l’on a des dizaines de constructeurs différents, ajouter ces informations n’est pas chose facile. En fait lesadministrateurs travaillent directement sur les valeurs numériques. Dans le cas du constructeur Cisco, sa« MIB » privée est sous 1.3.6.1.4.1.9Par exemple pour voir la consommation CPU d’un Cisco, on fait un :snmpget routeur-cisco motdepasse .1.3.6.1.4.1.9.2.1.57.0enterprises.9.2.1.57.0 = 5Il faut lire 5% de CPU sur la dernière minuteDans la Mib Cisco, la variable s’appelle AvgBusy1Exemples de commandes SNMP, classiques sous UnixCes commandes sont installées dans la plupart des distributions Linux. Win95 ou NT ne donnent rien enstandard.snmpget cisco motdepasse system.sysuptimesystem.sysUpTime.0 = Timeticks: (528409207) 61 days, 3:48:12snmpwalk cisco motdepasse systemsystem.sysDescr.0 = "Cisco Internetwork Operating System Software ..IOS (tm) 4500 Software (C4500-I-M), Version 11.0(5), RELEASE SOFTWARE (fc1)..Copyright (c) 1986-1996 by cisco Systems, Inc...Compiled Mon 05-Feb-96 22:35 by hochan"system.sysObjectID.0 = OID: enterprises.9.1.14system.sysUpTime.0 = Timeticks: (528409207) 61 days, 3:48:12system.sysContact.0 = ""system.sysName.0 = "cisco-cdc1.univ-aix.fr.univ-aix.fr"system.sysLocation.0 = ""system.sysServices.0 = 6snmpwalk cisco password icmpicmp.icmpInMsgs.0 = 9749icmp.icmpInErrors.0 = 0icmp.icmpInDestUnreachs.0 = 5027icmp.icmpInTimeExcds.0 = 7icmp.icmpInParmProbs.0 = 0icmp.icmpInSrcQuenchs.0 = 0icmp.icmpInRedirects.0 = 0icmp.icmpInEchos.0 = 460244 Sur un switch 3Com, la doc donne le mot de passe standard..Il suffit d’une config bootp..sécurité ! !62


icmp.icmpInEchoReps.0 = 113icmp.icmpInTimestamps.0 = 0icmp.icmpInTimestampReps.0 = 0icmp.icmpInAddrMasks.0 = 0icmp.icmpInAddrMaskReps.0 = 0icmp.icmpOutMsgs.0 = 657872icmp.icmpOutErrors.0 = 0icmp.icmpOutDestUnreachs.0 = 44609icmp.icmpOutTimeExcds.0 = 3460icmp.icmpOutParmProbs.0 = 0icmp.icmpOutSrcQuenchs.0 = 15365icmp.icmpOutRedirects.0 = 589700icmp.icmpOutEchos.0 = 140icmp.icmpOutEchoReps.0 = 4601icmp.icmpOutTimestamps.0 = 0icmp.icmpOutTimestampReps.0 = 0icmp.icmpOutAddrMasks.0 = 0icmp.icmpOutAddrMaskReps.0 = 0snmpnetstat -i cisco motdepasseName Mtu Network Address Ipkts Ierrs Opkts OerrsEthernet0 1500 none none 290662643 0 261303643 27 0Ethernet1 1500 none none 329321626 148 361966900 0 0Ethernet2 1500 none none 66088017 0 59743572 0 0Ethernet3 1500 none none 1055965 0 1657673 1 0Ethernet4* 1500 none none 0 0 2 1 0Ethernet5* 1500 none none 0 0 2 1 0Serial0 1500 none none 46281099 901907 46332851 0 0Serial1 1500 none none 2463035 2760 2364075 0 0snmpnetstat -r cisco motdepasseRouting tablesDestination Gateway Flags Interfacedefault 193.50.124.2 UG if0192.168.1 192.168.1.1 U Ethernet2193.48.48 193.50.124.2 UG Ethernet1193.50.124 193.50.124.1 U Ethernet1193.50.125 cisco-cdc1 U Ethernet0193.50.126.32 slip15-cdc UG if0193.50.126.64 slip14-cdc UG if0193.50.126.96 slip13-cdc UG if0193.50.126.128 this-network U Serial1193.50.126.192 193.50.126.193 U Ethernet3193.50.127 192.168.1.2 UG if0193.50.173 slip16-cdc UG if0193.50.174 this-network U Serial0193.50.175 this-network U Serial0194.57.187 192.168.1.2 UG if0194.57.195 192.168.1.2 UG if0194.199.116 this-network U Serial0snmpnetstat -s cisco motdepasseip:729278605 total datagrams received3464 datagrams with header errors3 datagrams with an invalid destination address727238565 datagrams forwarded0 datagrams with unknown protocol0 datagrams discarded1816006 datagrams delivered1412295 output datagram requests112823 output datagrams discarded95870 datagrams with no route0 fragments received0 datagrams reassembled0 reassembly failures5 datagrams fragmented0 fragmentation failures0 fragments createdicmp:9751 total messages received0 messages dropped due to errors657956 ouput message requests0 output messages discardedOutput Histogram:Destination unreachable: 44615Time Exceeded: 3460Source Quench: 15365Redirect: 589776Echo Request: 140Echo Reply: 4603Input Histogram:<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 63


64tcp:udp:Destination unreachable: 5027Time Exceeded: 7Echo Request: 4604Echo Reply: 1132 active opens27 passive opens0 failed attempts7 resets of established connections0 current established connections7929 segments received5588 segments sent4 segments retransmitted1498219 total datagrams received946971 datagrams to invalid port0 datagrams dropped due to errors513925 output datagram requestsLa commande netstat sous Linux, quoique ce ne soit pas du SNMP, mais une commande directe du système.Souvent netstat –s donne ce genre d’information. Que ce soit pour les systèmes Unix ou WindowsMRTGUn très bel outil qui interroge des routeurs et présente des statistiques sous forme Gif/HTML.http://ee-staff.ethz.ch/~oeticker/webtools/mrtg/mrtg.html<strong>Les</strong> logiciels de supervision de réseaux.Quelques noms : HP OpenView, IBM Netview, Sun NetManager. Une caractéristique commune, ceslogiciels nécessitent un temps d’apprentissage important. Un long moment à faire les dessins de son réseau,avant de jouer avec le sapin de Noël. Autre problème, ces logiciels ne représentent que les variablesstandard. Dés lors, pour optimiser, il faut ajouter deux ou trois logiciels propriétaires pour chaque type derouteur par exemple. L’administraion clique bouton n’est pas tout à fait pour tout de suite..Encore que.. De plus en plus, les constructeurs ajoutent des agents HTML. Via le WEB, on peut alorsfacilement consulter les variables et voir directement visualiser de beaux graphiques. Des agents Java serontvraisemblablement intégrés dans les éléments et rendront plus facile la construction d’un outil adapté auxbesoins de tout le monde. Quelque part on peut dire que le développement de SNMP n’ira pas plus loin. Ilest suffisant pour l’essentiel.CMIP est l’équivalent de SNMP pour les protocoles ISO.64


BOOTP / DHCPLe Protocole d’amorce (RFC 951 et 1532)Comme nous avons vu précédemment RARP est un protocole qui permet de demander son adresse IP.RARP passe par des protocoles de niveau 1, non routables. De plus seule l’adresse IP est récupérée.BOOTP marche au niveau IP/UDP et permet des choses plus intéressantes.BOOTP utilise deux ports UDP : le port serveur 67 et le port client 68.On n’utilise pas de port éphémère car la réponse peut être broadcastée (en principe ceci est évité).BOOTP peut servir à démarrer un serveur, un terminal X en renvoyant le nom du fichier de démarrage quisera récupéré par TFTP.BOOTP n’accepte et ne traite que la première réponse.Le format de la trame BOOTP sur 300 octets0 8 16 24Code Opération Type de matériel Longueur adresse(1 requête , 2 réponse ) 1=ETHERNET matérielle 6 sicompteur de saut(0 en général saufrouteur)ETHERNETIdentificateur de transaction (tiré au hasard , envoyé et renvoyé tel que)Nombre de secondes Non utiliséadresse IP du client (souvent 0.0.0.0)votre adresse IP (renvoyée par serveur)Adresse IP du serveur (rare)adresse IP du routeur (si un routeur route la demande)adresse matérielle du client (16 octets) (émise et retournée)nom de machine du serveur (64 octets) si bootnom du fichier de démarrage (128 octets) si bootinformation spécifique (64 octets) (retour des infos)Certains champs sont remplis quand la machine a une notion de ce qu’elle veut. Elle peut avoir déjà uneadresse IP et demander des renseignements complémentaires et même avoir le nom ou l’adresse du serveurqui doit la servir.Pour démarrer , le client fait un broadcast ETHERNET avec dans cette trame, comme adresses IP 0.0.0.0 ,destination 255.255.255.255 et remplit l’adresse matérielle, port 67.Le serveur renvoie sans broadcast la réponse sur la machine. Elle évite de faire un ARP pour renvoyer laréponse car le client ne connaît pas encore son adresse. Le serveur ajoute « à la main » l’entrée dans lacache.Passage par un routeursi le routeur est configuré 45 pour router les trames vers un serveur BOOTP particulier, celui ci ajoute 1 dansle hop count , met l’adresse IP de l’interface qui a reçu l’appel dans le champ adresse IP du routeur ettransmet la demande au serveur . Le serveur a ainsi une correspondance entre l’adresse matérielle et leréseau sur lequel se trouve la machine.Configuration des serveurs.Ceux ci ont des fichiers de configuration constituées de centaines de lignes du style :adresse ETHERNET = adresse IPPour chaque réseau, ils ont des informations spécifiques, comme l’adresse du routeur, le masque, lesserveurs de nom, les serveurs de temps..<strong>Les</strong> informations sont renvoyées dans le champ spécifique du vendeur.<strong>Les</strong> évolutions de BOOTP : DHCP45 C’est la commande ip helper dans les routeurs cisco<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 65


66Pour rendre la distribution d’adresse IP encore plus facile, un nouveau protocole DHCP (Dynamic HostConfiguration Protocol ) a été ajouté vers 1995. Celui ci permet de distribuer dynamiquement des adressespar des plages de numéros. Ces adresses peuvent être distribuées pour des temps plus ou moins long (notionde bail). L’adresse peut être réattribuée à la demande suivante.DHCP utilise un mécanisme d’acquittement pour dire au serveur qui a envoyé la réponse que l’adresseenvoyée a été validée par la machine cliente. Le serveur n’attribuera plus cette adresse pour la durée du bail.De plus le client vérifie par une requête ARP qu’aucune machine n’a déjà cette adresse. Ce n’est pas le casde BOOTP !.Ceci dit la couche du dessus peut envoyer un ARP gratuit et se rendre compte du problème. Cependant lamachine n’aura aucun moyen de négocier une autre adresse via BOOTP. Seul DHCP peut permettre cela.Hormis les machines fixes (serveurs) du réseau, toute machine cliente devrait utiliser DHCP pour sonadresse. Ca évite bien des problèmes de copies de configurations avec la même adresse.DHCP est standard sous Windows95 et WindowsNT 46DHCP utilise le format de BOOTP et s’appuie sur les passerelles pour faire parvenir les requêtes au serveur.Le champ non utilisé contient des options DHCP et la trame dépasse 300 octets.Remarque :BOOTP/ DHCP offrent une grande souplesse, il est facile de reconfigurer le réseau. Par contre il est trèsdifficile de reconnaître facilement une machine du réseau par son adresse. Hors ceci est bien utile lors del’analyse d’un problème. Préfère-t-on voir un piratage ou problème depuis la machine pc-bureau205 oudepuis pc-dhcpxxx ?. Lequel des deux systèmes est le plus parlant ?Ceci dit , il est très important de se faire un fichier de toutes les cartes ETHERNET et « d’essayer de letenir à jour !».46 On peut reprocher à MICROSOFT de ne pas avoir mis en option BOOTP, mais c’était probablement àl’époque pour vendre des serveurs NT pour gérer le service DHCP ! !66


TFTPTrivial File Transfer Protocol (RFC 1350)Ce protocole permet le transfert de fichiers pendant des séquences de démarrage ou pour sauvegarder desconfigurations de routeurs. Il doit donc être très petit pour tenir dans un mémoire morte 47 .Donc pas de TCP, mais UDP (port 69) comme couche de transport.Il n’y a pas de fenêtre de transmission mais une attente à chaque transmission de l’acquittement du paquet.Si celui-ci n’est pas acquitté, on retransmet.Le protocole en 4 lignes :20 octets 8 octets 2 N octets 1 N octets 1En-tête IP En-tête UDP Code nom du fichier 0 mode 02 octets 0 à 512 octets3=data No de bloc Données4=ack2 octetsNo de blocerreur 2 octets5=Err No d’erreur message d’erreur 0Si le code vaut 1 , c’est une lecture, s’il vaut 2 une écrituremode = netASCII ou byteLe dernier paquet fait moins de 512 octets.Pour ne pas bloquer le port 69 qui ne fait qu’écouter les appels (1 et 2) pour le reste du service, TFTPserveur récupère un port éphémère et finit le transfert avec ce numéro de portCe protocole est très simple (trivial) et ne sert pas à transférer des gros fichiers sur de longues distances.Pour cela on utilise FTP.Aucun mot de passe n’est utilisé, le serveur restreint l’accès à un répertoire particulier généralement/tftpboot avec des droits de propriétés de fichiers très limitatifs.Sécurité : Sous Unix, utilisez TCP/ WRAPPER qui fait le contrôle des adresses appelantes.Cependant, quelqu’un peut par des programmes appropriés, modifier l’adresse source, et se faire passerpour vous. Il peut par ce biais non pas lire mais écrire dans des fichiers. Attention donc aux bugs de sécuritéde ce genre de serveurs !.On l’emploie souvent pour sauvegarder la configuration d’un routeur, ou les démarrer47 En 1998 les mémoires mortes ne sont plus si petites, et FTP est plus sur que TFTP..<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 67


68FTPFile Transfer Protocol RFC959Le protocole de transfert de fichier utilise deux connexions TCP. L’une pour les ordres ( le port 21) l’autrepour les données (20).La connexion pour les données est crée à chaque fois qu’un fichier est transféré mais aussi pour lister unrépertoire. Cette connexion de données s’établit du serveur vers le client en sens inverse de la premièreconnexion de contrôle. Une simple émulation de terminal suffit à donner les ordres car ceux-ci sontcomposés de caractères courants et non de chaînes de bits.<strong>Les</strong> commandes courantes sont les suivantes :ABORLISTPASSPORT n1,n2,n3,n4,n5,n6QUITRETR nom de fichierGET nom de fichierPour transférer les données qui peuvent être des fichiers ou des commandes du style DIR (listage d’unrépertoire), le serveur va faire une ouverture TCP active. Le client fait une ouverture passive sur un portéphémère TCP. Dans la connexion de données, celui-ci indique au serveur qu’il attend les données sur leport qu’il vient d’ouvrir. C’est la commande PORT (qui se termine le plus souvent par port successfull)<strong>Les</strong> serveur utilise son port ftp-data (20) pour appeler et fait le transfert (cas du get) et ferme la connexion àla fin. S’il s’agit d’un transfert du client vers le serveur, c’est le client qui envoie les données et ferme laconnexion.En fait c’est assez simple à écrire, on peut juste regretter que pour la commande dir, il faille créer unesession TCP supplémentaire pour cela.Principalement, FTP a deux modes de transfert , le mode binary et le mode ASCII. Dans le cas du modeASCII, on suppose que le fichier distant est du texte et qu’il faut le convertir. Le plus souvent, les genstransfèrent des informations pour leur système d’exploitation et n’ont pas (même si c’est du texte) à faire deconversion. Ca sert surtout pour voire un fichier README écrit sous Unix où les lignes ne sont pas finiespar CRLF comme sous DOS. L’option ASCII fera la conversion des fins de ligneCommandesClient Port 1025 è Serveur Port 21DonnéesClient Port 1026 ç Serveur Port 20Il existe deux types de fonctionnement dans les serveurs FTP, le mode anonyme et le mode utilisateur. Autout départ, on indique son identité , si on donne comme nom anonymous, on donne par respect vis à vis del’administrateur du site son adresse électronique comme mot de passe. Dans le cas de l’anonymous, on a desaccès restreints à une partie du système et généralement, accès en lecture seulement. <strong>Les</strong> accès nominatifssont généralement liés à des comptes utilisateurs sous Unix.Il faut noter que ces transferts ne changent en rien les données (pas comme sous mail-SMTP) maisnécessitent des comptes et des mots de passe.Dans les défauts de FTP, les attributs de fichier, propriétaires, types (records bloqués, variables..) ne sontpas transmis. C’est pour cela et des besoins de compression que les fichiers sont généralement dans desarchives et donc stockés compressés avec des attributs de fichiers dans l’archive.On trouve ces fichiers stockés sous la forme.gz (Unix).tar.Z (Unix).zip (Dos).gzip (Unix).hqx (Mac)68


L’utilitaire winzip sous Windows95 reconnaît la plupart de ces formats.Session FTP type:Remote system type is UNIX.Using binary mode to transfer files.ftp> cd /pub/linux250 CWD command successful.ftp> dir200 PORT command successful.150 Opening ASCII mode data connection for /bin/ls.total 4drwxr-xr-x 3 root root 1024 Jan 7 16:11 .drwxrwxr-x 5 root wheel 2048 Oct 17 10:02 ..drwxr-xr-x 7 lalot root 1024 Jan 23 03:10 kernellrwxrwxrwx 1 root root 24 Sep 21 07:44 redhat ->../../pub1/linux2/redhatlrwxrwxrwx 1 root root 32 Nov 19 11:46 redhat-contrib ->../../pub1/linux2/redhat-contriblrwxrwxrwx 1 root root 27 Jan 7 16:11 slackware ->../../pub1/linux2/slackware226 Transfer complete.ftp> get README200 PORT command successful.150 Opening BINARY mode data connection for README (1099 bytes).226 Transfer complete.1099 bytes received in 0.0136 secs (79 Kbytes/sec)<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 69


70SMTPSimple Mail Transfer Protocol RFC 821 822Un peu comme FTP et beaucoup d’applications INTERNET, on peut communiquer avec un machineparlant SMTP par le port TCP 25 à l’aide d’un simple TELNET. <strong>Les</strong> réponses sont sous la forme texte : 3valeurs numériques ASCII suivies d’un texte compréhensible par un humain.Cette façon de faire est très pratique car elle permet de débugger à la main les serveurs et de comprendre cequi se passe.Schéma d’un échange de courrierUtilisateur surun PC(toto@m1.univ-aix.fr)AgentutilisateurEudora ,Exchange,NetscapeUn PC ClientAgent detransfert demessage(ici lemême)Utilisateursous Unix viaTELNETFred@m1.univ-aix.frAgentutilisateur(mail, elm)Unix / Windows NTBoitesaux lettresSMTP 25Agent detransfert(Sendmail)RelaisINTERNETINTERNETUnix / Windows NTBoitesaux lettresSMTP 25Agent detransfert(Sendmail)RelaisINTERNETUtilisateur surun PC(god@microsoft.com)AgentutilisateurEudora ,Exchange,NetscapeAgent detranfert demessage(ici lemême)Un PCDans la littérature on distingue deux types de programmes, le Mail User Agent (MUA)et le Mail TransfertAgent (MTA). Certains programmes sont les deux à la fois comme ceux qui tournent sur les PCs sousWindows. Ceux-ci ont cependant des fonctions de transfert réduites. Il ne savent pas faire du relais, avoirplusieurs comptes utilisateurs locaux, etc. Principalement, ils ne reçoivent pas les demandes de connexionsSMTP.La frontière est donc un peu délicate à déterminer. Dans le protocole SMTP tout le monde est égal, unserveur devient client et réciproquement.Habituellement, seuls deux relais sont utilisés, ils sont appelés aussi Bureaux de postes. Ces machines sontconnectées 24h/24 et gèrent des centaines de comptes utilisateurs. Le micro ordinateur vient récupérer sescourriers par l’intermédiaire d’un second protocole (POP ou Post Office Protocol ).70


Alors que SMTP ne demande aucun mot de passe, POP demande le mot de passe du compte utilisateur pourpouvoir récupérer les messages. POP s’appuie sur les ports TCP 109 et 110 suivant la version.Comme nous allons le voir SMTP est vraiment SIMPLE MAIL TRANSFER PROTOCOL. Il n’existeaucune identification certaine de l’expéditeur, pas d’accusé de réception et pourtant c’est lui qui est utilisépar tout le monde (ou presque). Il n’est pas cher et facile à comprendre. La messagerie X400 qui est unenorme OSI a bien du mal à décoller..SMTP ne transfère que les caractères codés sous 7 bits donc pas de caractères accentués. Une extension(ESMTP) permet cela. Cependant de nombreux MTA ne la supportent pas encore.Sous Unix, on peut utiliser un MUA (mail) pour voir ce qui se passe lors du transfert du message. Celui cirenvoie sur le terminal toute la discussion avec le MTA (sendmail)Généralement, on voit ceci :ClientHELO romarin.univ-aix.frServeur 220 whitehouse.gov Hello romarin.univ-aix.fr, pleased to meet youClient MAIL From : 48Serveur 250 ... Sender okClientRCPT To : Serveur 250 ... Recipient okEventuellement plusieurs RCPTClientDATAServeur Enter mail, end with « . » on a line by itselfClient Salut Bill !Client .Serveur 250 Mail acceptedClientquitServeur 221 whitehouse.gov delivering mailDans le cas de ESMTP au lieu de faire un HELO, le client envoie EHLO, le serveur envoie soit une erreur,soit un complément d’information.<strong>Les</strong> lignes de DATA ne doivent pas dépasser 1000 caractères<strong>Les</strong> commandes VRFY ou EXPN permettent de tester si un utilisateur existe ( c’est l’outil del’administrateur ).RetransmissionsParfois le transfert ne peut se faire de suite. Dans ce cas le message est mis dans une file d’attente(/var/spool/mqueue) , puis toutes les 30 minutes et pendant 3 jours, le sendmail (MTA) va essayer detransférer jusqu'à ce que ça marche sinon sendmail retourne le message au destinataire.Le message est à l’arrivée stocké dans un répertoire (/var/spool/mail) dans la boite aux lettres de l’utilisateur(un fichier portant son nom).Le courrier est composé de trois parties1. L’enveloppe : les champs From et To2. <strong>Les</strong> en-têtes3. Ils sont utilisés par les MTA et MUA. On voit le nom du MUA (Eudora sa version..), le nom desdifférents MTA ..X-Mailer, Subject, Message-id, Date, Reply-to, ReceivedLe corps du message<strong>Les</strong> MX recordsCertaines machines ne sont que des pseudos de messagerie, les MTA demandent les MX records au DNSpour déterminer ou envoyer le courrier. S’il n’existe pas de MX records, on transfère directement sur lamachine.48 Aucune vérification n’est faite sur l’origine. On peut se faire passer pour n’importe qui !.<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 71


72S’il existe plusieurs MX sur la même machine, on prend celui de plus petit rang. Si celle ci est en panne, onappelle la machine de rang au dessus. 49MIME Multipurpose INTERNET Mail Extension (RFC 1521)5 nouveaux champs d’en-têteMime-Version :Content-Type : TEXT/PLAIN ; charset=US-ASCII ou iso-8859-XContent-Transfer-Encoding : 7bit ou quoted-printable ou base64 ou 8 bit ou binaryContent-ID :Content-Description :Ces en-têtes permettent entre autre de définir le type du corps message, son codage etc. Si ESMTP est utiliséon devrait avoir comme encoding 8 bits. Sinon le message est transféré en quoted printable ou é devient=E9. Le MUA va convertir cela automatiquement car il comprend mime la plupart du temps.Le transfert de fichier via SMTPBeaucoup de gens l’utilisent car aucun mot de passe n’est demandé. Cependant contrairement à FTP, il y ades contraintes , longueur de la ligne, ligne contenant un point unique. Du coup pour transférer des fichiers, on est obligé de coder les données suivant différentes méthodes (Base64, Mime, uuencode). C’est unesuite de lignes lisibles qui constitue le fichier. Le MUA décodera suivant les déclarations d’en-tête.On voit tout de suite que ces codages grossissent les fichiers à transmettre et il faut éviter de faire circulerdes courriers trop gros. De nombreux administrateurs limitent la taille des messages pour ne pas recevoirdes fichiers de plusieurs dizaines de Méga-octets qui bloqueraient le spool (la zone de réception descourriers).Le cryptage et la signatureCertains courriers peuvent être cryptés et signés électroniquement. C’est une application externe qui faitcela. En France, c’est interdit. La prochaine loi permettra de signer électroniquement librement, et decrypter en déposant sa clé dans un organisme agréé.<strong>Les</strong> signatures électroniques sont particulières, elles englobent le contenu du courrier . Si celui-ci change, lasignature n’est plus valable. C’est mieux qu’une signature manuelle !.On a deux clés, une clé privée et une publique. La clé publique sert à vérifier la signature du message maisne peut pas permettre d’en créer un. La clé privée gardée secrète par l’émetteur lui permet de fabriquer lasignature. Toute modification du texte produit une falsification de la signature.Un des produits employé sur INTERNET s’appelle PGP (Pretty Good Privacy).IMAPUne version de POP qui gère la boite aux lettres utilisateur sur un serveur. <strong>Les</strong> messages restent stockés etorganisés sur les serveur et non pas rapatriés en local. C’est encore peu utilisé.SPAM<strong>Les</strong> administrateurs protègent de plus en plus les serveurs SMTP contre l’envoi de messages anonymes. Desgens peu scrupuleux inondent des millions d’utilisateurs de leurs messages personnels. Des listes noires ontété mises en place pour les bannir. De plus les serveurs refusent de relayer du courrier pour des machinesen dehors de leur domaine.A retenirLa messagerie dans l’INTERNET est peu sécurisée et est très sommaire (pas d’accusés de réception). Maisça marche !.49 La machine qui prend le relais n’a pas besoin d’avoir les mêmes comptes utilisateurs. Celle-ci ne gèrequ’une file d’attente et enverra le courrier au vrai serveur lorsque celui-ci aura redémarré.72


TELNET et RLOGINL’émulation de terminalRLOGIN est une émulation de terminal disponible sous Unix, elle est très sommaire et transmet peu devariables de l’environnement utilisateur. TELNET est moins spécialisé Unix, il évolue régulièrement etpossède toute une phase de négociation d’options ce qui lui permet de coopérer avec des systèmes différentset des versions moins évoluées.Le principe général est que tout caractère frappé au clavier est transmis au site distant qui va décider del’afficher ou bon lui semble sur l’écran. La souris n’existe pas. Celle-ci est gérée par les terminauxgraphiques comme XWINDOW. On utilise le bit PSH de TCP pour envoyer le caractère.<strong>Les</strong> commandesElles sont transmises dans le flot de données par l’intermédiaire du caractère 0xFF (255). Pour envoyer FF,on l’envoie deux fois. L’octet suivant est une commande. Parmi celles-ci :EOF 236 Fin de fichierSE 240 Fin de sous optionBRK 243 Break (suite à CtrlC)SB 250 Début de sous OptionWILL 251WONT 252DO 253DONT 254IAC 255 Interpret as Command<strong>Les</strong> négociations d’options sont transmises par IAC suivi de WILL,DO,WONT,DONT puis del’identificateur d’option.1 Echo3 suppress go ahead24 Terminal type31 window size34 linemode36 Variables d’environnement<strong>Les</strong> modes de fonctionnement1 Semi Duplex (abandonné)2 Un caractère à la fois (comme RLOGIN)3 Une ligne à la fois4 Mode Ligne (1990)TELNET utilise très peu le mode Urgent TCP, contrairement à RLOGIN. Le CtrlC est transmis par unVoici les couches traversées par un pauvre petit caractère..Utilisateur è Terminal Driver è Client TELNET è Session TCP/IP port 23 è Serveur TELNET èTerminal Driver è ApplicationIdem pour le sens du retour.Grâce à TELNET, on peut exécuter des commandes à distance. On peut sélectionner un numéro de port TCPpour faire des test. C’est un outil irremplaçable, qui manque beaucoup sous WindowsNT/95.<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 73


74NFS et les RPCNFS et RPC sont des développements de la société SUN qui ont été repris amplement par la suite. Toutsystème Unix supporte ces protocoles. NT supporte aussi RPC (mais pas NFS). DCE (EnvironnementInformatique Distribué) est un équivalent en mieux des RPC, mais est moins « distribué » au sens propre. Ilfaut l’acheter , il n’est pas en standard dans le système la plupart du temps.L’avantage des RPC• Le programmeur écrit juste un programme client et des procédures serveur appelées par le client• Si UDP est utilisé, les TimeOut et retransmissions sont gérées par les RPC• <strong>Les</strong> RPC permettent une traduction des différentes façon de coder l’information.Bien évidemment la façon de programmer en RPC est très différente de la programmation habituelle dessocketsEn appelEn-tête IP 20En-tête UDP 8Identificateur Transaction XID 4appel (0) / Réponse (1) 4Version RPC (2) 4Numéro de programme 4Numéro de version 4Numéro de procédure 4crédits ...vérificateur ...Paramètres de procédure Dépend de la procédureEn réponseEn-tête IP 20En-tête UDP 8Identificateur Transaction XID 4Réponse (1) 4statut (0) accepté 4Vérificateur>400 octetsstatut 4Résultat de la procédure ....<strong>Les</strong> RPC utilisent une technique pour enregistrer les ports associés aux procédures. Sous UNIX, il s’agit dudémon Portmapper (Port 111) . <strong>Les</strong> programmes serveur RPC s’enregistrent auprès du portmapper, ilsenregistrent le numéro du programme , le numéro de version ainsi que le numéro de port sur lequel cesprocédures attendent le client. Sous Unix, la commande rcpcinfo -p indique les procédures enregistrées.NFS est un protocole qui permet le partage des fichiers entre deux ordinateurs, on trouve NFS plutôt sur lessytèmes Unix.Habituellement, on trouve 3 serveurs :• mountd qui sert aux demandes de montage de fichiers (autorisations) port 702 (habituel). Mountd varépondre à une commande du style mount news :/pub/pub/linux/redhat /mnt .Celle ci va monter lesystème de fichier de la machine news sous le répertoire /mnt. Sous Unix cette commande est unecommande privilégiée. Il faut avoir les droits de root (on est multi utilisateur..). Mountd transmet ausystème client un handle de système de fichier. Celui ci sera utilisé lors des échanges suivants.• lockmgr verrous sur les fichiers NFS• nfs démon qui va servir les fichiers (port 2049 souvent)commandes mount et showmountNFS a une quinzaine de procédures qui sont parmi d’autres LOOKUP, READ, WRITE..Par mesure de sécurité, les accès NFS (lorsque celui-ci est utilisé) doivent être filtrés sur les routeurs.74


<strong>Les</strong> NEWS et LISTSERV<strong>Les</strong> NEWS permettent aux utilisateurs de l’INTERNET de participer à des discussions (sous forme écrite),on parle d’articles comme élément d’échange. L’organisation qui gère les NEWS s’appelle USENET.<strong>Les</strong> NEWS ne transitent pas par les messageries des utilisateurs (heureusement). Ces NEWS sont alimentéspar des clients connectés sur des serveurs de NEWS. Ces serveurs vont véhiculer l’information de proche enproche. Chaque serveur ayant un ou plusieurs collègues.L’organisation entre serveurs n’est pas hiérarchisée, un article peut arriver plusieurs fois. Chaque article aun numéro de série lié au serveur initial qui l‘a reçu.Le serveur reçoit l’article et garde une base de donnée indiquant qu’il a bien reçu cet article. Si l’articleapparaît une nouvelle fois, celui-ci est ignoré.<strong>Les</strong> articles sont purgés régulièrement suivant la place disque disponible. Chaque jour, notre serveur reçoitplus de ½Go d’articles.Ces articles sont organisés en conférences elle mêmes organisées en hiérarchies.Par exfr.comp.os.linux veut dire France / ordinateur / système / linuxfr.rec.cuisineFrance / divers / CuisineCes conférences sont crées par des votes, chaque hiérarchie étant sous la dépendance d’un administrateurqui va générer des messages pour créer des nouvelles conférences.Ceci ressemble un peu à l’organisation des DNScompscirec..frdeuketc..ordinateurssciencediversalt est une hiérarchie particulière car la création des groupes est libre. Ce qui favorise bien des groupesnazis, pédophiles.. etc. C’est une des raisons pour laquelle le réseau des Universités ne véhicule plus alt.<strong>Les</strong> NEWS utilisent le port TCP 119.<strong>Les</strong> machines qui se connectent au serveur sont filtrées en fonction de leur adresse IP.Comme logiciel client, Netscape Navigator ou INTERNET Explorer font très bien l’affaireLES IRCINTERNET Relay ChatBavardage (ou drague) INTERNET.<strong>Les</strong> IRC permettent les discussions en direct à plusieurs. <strong>Les</strong> gens se connectent à un serveur sur uneréunion particulière. Tout message tapé sera reçu immédiatement par l’ensemble des utilisateurs de cegroupe. Ca n’a que peu d’intérêt professionnel, mais ça a un gros succès auprès de ceux qui ont du temps àperdre.<strong>Les</strong> listes LISTSERV / TULP / MAJORDOMO 50Ces listes existaient sur le réseau BITNET qui a disparu depuis peu. LISTERV est une applicationintéressante qui a été reprise.C’est un moyen de créer des conférences qui passent par la messagerie. C’est un bon moyen pour un petitgroupe d’individus de se transmettre des informations.50 LISTSERV était utilisé sur le réseau IBM BITNET. TULP et MAJORDOMO sont d’autres « produits »issus de LISTSERV<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 75


76Un logiciel spécial va traiter des courriers qui arrivent à des utilisateurs fictifs. LISTSERV (ouMAJORDOMO ou SYMPA 51 ) est l’utilisateur auquel on envoie des commandes.Mail listserv@machine.domaineTout message envoyé à listserv sera considéré comme une commandetype de commandes tapée dans le corps du messagehelpaidesub liste dupont frederic on s’abonnerev listequi est abonné à la listeind listeListe des fichiers associés à la listeindliste des listesget liste fichierretrouve un fichiersignoff liste dupont frederic on se désabonneListserv va utiliser le champ From du message pour expédier les messages de la liste aux membres. Il fautdonc se méfier et utiliser son vrai compte de messagerie. Certaines listes sont privées, l’administrateurajoute à la main les utilisateurs et parfois les messages 52 .Pour envoyer un message dans la liste.mail liste@machine.domaineATTENTION, NE PAS LE FAIRE QUAND ON EST PAS ABONNE, par respect envers les membres de laliste.Une liste des listes francophones :http://www.cru.fr/listes51 Hélas pas de normes de ce coté là. Gérer des milliers de comptes avec des gens qui s’abonnent partout etsans retenue est un véritable casse tête pour les administrateurs !.52 On appelle ça un modérateur . Dans le système des NEWS, ça existe aussi76


WEB (World Wide Web)HTTP (Hyper Text Transfer Protocol)Le WEB, c’est l’application qui a « vendu » le réseau INTERNET qui jusque là n’était prisé que dequelques initiés. Pourtant ce développement récent, est dû au CERN, Centre Européen de la RechercheNucléaire.Le principe est de transmettre par le réseau des documents hypertexte, contenant des images, des liens, etc,un peu comme le help de windows ou hypercard de Apple.Une normalisation d’adressage des différents services de TCP/IP a été crée de manière à banaliser l’accèsaux services au travers d’un browser ou butineur (terme proposé en français).Parmi ceux-ci on peut citer Netscape, INTERNET Explorer, Mosaic (l’ancêtre).Format du lien HTMLService : // adresse INTERNET FQDN / nom du fichier ou de l’objetftp ://ftp.news.univ-aix.fr/pub/pc/win95news ://news.univ-aix.fr/fr.comp.os.linuxhttp ://www.microsoft.com/supporthttp :///c/mapage.htmlDonne accès en anonyme au serveur ftp dans le répertoire win95Accès à la conférence fr.comp.os.linuxAccès à la page support de MICROSOFTidem sur le disque C localHTTP est Hyper Text Transport Protocol , HTML le langage des pages Hyper Text Markup LanguagePour http, le langage des documents s’appelle le HTML, il existe un certains nombre d’outils pour créer cespagesHot Dog pro, NetScape, Adobe PageMil, MICROSOFT FrontPage...Ce sont des fichiers texte lisibles, et un bon spécialiste peut écrire directement en HTML. Bref ce qui vendle mieux le réseau est peut être une des applications les plus triviales.Chaque page est transmise par une session TCP port 80 qui est fermée à la fin de la réception. Le clic surune information hypertexte est purement local et va directement au serveur concerné, on ne repasse pas parle même serveur.L’information trouvée est mise en cache localement. De plus en plus , on utilise des serveurs intermédiairespour faire des caches au niveau d’un très grand nombre d’utilisateurs. En cliquant sur une informationsituée aux Japon, on a de bonne chance de l’avoir dans un cache régional ou national. Ces caches sontactivés de manière transparente (fonction HTTP PROXY). L’adresse URL est passée en texte au serveurPROXY qui résoudra la requête. On atteint parfois 25% de succès. Une fois sur 4 la page est déjà dans lecache.<strong>Les</strong> suites de HTTP/HTMLLe business étant rentré dans les protocoles INTERNET , les choses avancent très vite mais de façon plusdésordonnée. Auparavant beaucoup de développements étaient dus à des organismes de recherche sanssoucis de rentabilité ou de compétition.Le WEB permet aussi de passer des données à un serveur qui va construire une page HTML constituant laréponse (cgi-bin). Ceci est un peu limité car on ne peut pas faire exécuter un programme au client. Plusieursdéveloppements ont eu lieu ces derniers temps.SUN , société qui vend et fabrique des stations de travail sous Unix a crée un nouveau langage et conceptde réseau : JAVA Ce langage est de type C++ et le programme est envoyé au client qui l’exécute ensuite. Ilexiste des compilateurs qui vont créer un pseudo-code JAVA qui sera interprété dans la machine distante.MICROSOFT met en avant ActiveX qui est du même style mais très dépendant de Windows et de la plateforme Intel. D’ou problème pour faire tourner l’application sur un Mac ou une station Unix.NETSCAPE fournit aussi JavaScript qui n’a rien avoir avec Java et permet de développer dans un langageinterprété assez simple.La plupart des browsers sont plus ou moins compatibles avec ces langages.De toute façon le choix sera fait par les développeurs, mais MICROSOFT risque d’avoir une longueurd’avance car INTERNET Explorer est inclus dans les dernières versions de Windows.<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 77


78LA PROGRAMMATION DES SOCKETSCeci est un résumé sur les principes généraux. Il existe des livres que sur cette programmation, mais commesouvent le détail masque la limpidité de la philosophie.L’Université de Berkeley a défini il y a quelques années , un standard de communication entre programmes,celui-ci devant être indépendant du système et fonctionner en réseau. Cette interface de programmation a euun grand succès et est utilisée sur de nombreux systèmes en dehors du monde Unix. <strong>Les</strong> micro-ordinateursont aussi cette interface de programmation. Chez MICROSOFT, on parle de winsock (les sockets deWindows)<strong>Les</strong> sockets utilisent un concept de tube nommé et constitue un généralisation de la méthode d’accès auxfichiers sous Unix. Une socket (ou prise traduit littéralement) défini une extrémité de la connexion.Créer une prise (socket) :descripteur = socket ( af , type , protocole )af défini une famille de protocoles et peut avoir les valeurs suivantes :78AF_INETTCP/IPAF_PUP Famille de protocoles XeroxAF_APPLETALK AppleAF_UNIXUnix....Le Type peut êtreSOCK_STREAM Type de transport connecté (TCP)SOCK_DGRAMSOCK_RAWType DatagrammePermet d’accéder aux couches basses. Cas d’un analyseur de tramesHéritage et terminaison des socketsUn programme Unix peut créer une tache fille par deux mécanismes, soit fork, soit exec. Dans les deux casla tache fille hérite des sockets et fichiers ouverts par le père. Généralement dans le cas d’un serveur, le pèrereferme la socket qu’il vient de transmettre au fils (elle reste ouverte pour le fils) et en ouvre une autre pourécouter les nouvelles connexions. Pour Windows95 ou WindowsNT, voir la programmation des threads.Pour fermerclose ( descripteur )Pour plus de clarté on appellera le descripteur socket. Lorsque tous les processus ont fermé cette socket, laconnexion est alors coupée.Spécification des adresses localesbind ( socket , adresse-locale , longueur adresse )cette commande permet de choisir l’interface et le port sur lequel on va recevoir les informations.Par défaut, on reçoit sur toutes les interfaces.Connexion des sockets avec l’adresse de destinationconnect ( socket , adresse de destination , longueur adresse )Emission des informationswrite (socket , message , longueur ) cf le write standard d’Unixsend (socket , message , longueur , drapeaux )Cette commande permet entre autre d’envoyer des données urgentes (TCP)Ces fonctions permettent l’émission de données sans connexion préalable.sendto (socket , message , longueur , drapeaux , adresse destination , longueur adresse )sendmsg ( socket , structure de message , drapeaux )Réception des informationsread ( socket , réception , longueur ) longueur ici évite de faire déborder la zone de réception.recvfrom (socket , réception , longueur , drapeaux , adresse source , longueur adresse )Cette primitive permet de connaître l’origine du message qui est renvoyée dans le champ adresse sourceRenseignements sur la source


<strong>Les</strong> processus fils, n’ont pas vu la phase d’établissement de la connexion. Ils ont des primitives pourdemander au système comment s’appelle leur interlocuteur ou à travers quelle interface, ils sont connectés.getpeername ( socket , adresse de destination , longueur adresse )Ceci n’a de sens qu’avec TCPgetsockname ( socket , adresse locale , longueur adresse )Demander et définir des options de socketCeci permet de définir des options TCP ou IP par ex les options d’en-têtegetsockopt ( socket , niveau , Nom de l’option , valeur de l’option , longueur )setsockopt ( socket , niveau , Nom de l’option , valeur de l’option , longueur )niveau = opération sur socket ou couche de protocoleMise en attente de connexions entrantes d’un serveur TCPListen permet de dire au système que l’application est prête a recevoir des appels et demande de réserverune certaine taille de file d’attente pour ses informations. C’est juste une préparation, cet appel n’est pasbloquant. La primitive accept va réaliser la dernière partie.listen ( socket , longueur file d’attente )newsock = accept ( socket, adresse , longueur adresse )Le serveur se met en attente avec la commande accept. Le système (TCP) libère le serveur lorsqu’un appelentrant arrive et fournit une nouvelle socket. Celui ci crée un processus fils, ferme newsock qui sera possédépar le fils et retourne en état bloqué sur la fonction accept.Accès au serveur de domaine.Pour utiliser les primitives de base (bind , sendto , connect), il faut utiliser les numéros IP. Il existe doncdes primitives pour convertir une adresse symbolique en adresse IP.ptr = gethostbyname ( nom de domaine )obtenir le numéro IPptr = gethostbyaddr (adresse , longueur , type)retourne le nom symbolique d’une adresse IP (reverse adresse)Des informations sur la programmation des sockets sous windows :tout sur winsock.dllftp://sunsite.unc.edu/pub/micro/pc-stuff/ms-windows/winsock/Exemple de programmation par sockets tiré du livre (TCP/IP illustré Volume 1) de R StevensProgramme pour installer un serveur sur un port (partie du programme sock) développé par Richard Stevenssource : ftp://ftp.uu.net/published/books/stevens.tcpipiv1.tar.Z/** Copyright (c) 1993 W. Richard Stevens. All rights reserved.* Permission to use or modify this software and its documentation only for* educational purposes and without fee is hereby granted, provided that* the above copyright notice appear in all copies. The author makes no* representations about the suitability of this software for any purpose.* It is provided "as is" without express or implied warranty.*/#include"sock.h"intservopen(char *host, char *port){intfd, newfd, i, on, pid;char*protocol;unsigned longinaddr;struct sockaddr_in cli_addr, serv_addr;struct servent*sp;protocol = udp ? "udp" : "tcp";/* Initialize the socket address structure */bzero((char *) &serv_addr, sizeof(serv_addr));serv_addr.sin_family = AF_INET;/* Caller normally wildcards the local INTERNET address, meaninga connection will be accepted on any connected interface.We only allow an IP address for the "host", not a name. */if (host == NULL)serv_addr.sin_addr.s_addr = htonl(INADDR_ANY); /* wildcard *else {if ( (inaddr = inet_addr(host)) == INADDR_NONE)<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 79


80err_quit("invalid host name for server: %s", host);serv_addr.sin_addr.s_addr = inaddr;}/* See if "port" is a service name or number */if ( (i = atoi(port)) == 0) {if ( (sp = getservbyname(port, protocol)) == NULL)err_ret("getservbyname() error for: %s/%s", port, protocol);} elseserv_addr.sin_port = sp->s_port;serv_addr.sin_port = htons(i);if ( (fd = socket(AF_INET, udp ? SOCK_DGRAM : SOCK_STREAM, 0)) < 0)err_sys("socket() error");if (reuseaddr) {on = 1;if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR,of SO_REUSEADDR error");}(char err_sys("setsockopt/* Bind our well-known port so the client can connect to us. */if (bind(fd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0)err_sys("can't bind local address");if (udp) {buffers(fd);if (foreignip[0] != 0) { /* connect to foreignip/port# */bzero((char *) &cli_addr, sizeof(cli_addr));cli_addr.sin_family = AF_INET;cli_addr.sin_addr.s_addr = inet_addr(foreignip);cli_addr.sin_port = htons(foreignport);/* connect() for datagram socket doesn't appear to alwildcarding of either IP address or port number */}}buffers(fd);if (connect(fd, (struct sockaddr *) &cli_addr, sizeof(cli_addr))sockopts(fd, 1);err_sys("connect() error");return(fd); /* nothing else to do *//* may set receive buffer size; must do here to getcorrect window advertised on SYN */sockopts(fd, 0); /* only set some socket options for fd */listen(fd, listenq);if (pauselisten)sleep(pauselisten); /* lets connection queue build up */if (dofork)TELL_WAIT(); /* initialize synchronization primitives */for ( ; ; ) {i = sizeof(cli_addr);if ( (newfd = accept(fd, (struct sockaddr *) &cli_addr, &i)) < 0)err_sys("accept() error");if (dofork) {if ( (pid = fork()) < 0)err_sys("fork error");if (pid > 0) {close(newfd); /* parent closes connected socket */WAIT_CHILD(); /* wait for child to output to terminal */continue; /* and back to for(;;) for another accept() */} else {close(fd); /* child closes listening socket */}}/* child (or iterative server) continues here */if (verbose) {/* Call getsockname() to find local address bound to socket:local INTERNET address is now determined (if multihomed). */i = sizeof(serv_addr);if (getsockname(newfd, (struct sockaddr *) &serv_addr, &i) < 0)err_sys("getsockname() error");}}buffers(newfd);/* Can't do one fprintf() since inet_ntoa() storesthe result in a static location. */fprintf(stderr, "connection on %s.%d ",INET_NTOA(serv_addr.sin_addr), ntohs(serv_addr.sin_port));fprintf(stderr, "from %s.%d\n",INET_NTOA(cli_addr.sin_addr), ntohs(cli_addr.sin_port));/* setsockopt() again, in case it didn't propagatefrom listening socket to connected socket */sockopts(newfd, 1); /* can set all socket options for this socket */if (dofork)TELL_PARENT(getppid()); /* tell parent we're done with terminal */return(newfd);80


ANALYSE DE PROBLEMESUNIX<strong>Les</strong> commandes suivantes sont souvent en standard sous Unixarp –a Correspondance adresse IP/ adresse MAC (Ethernet / TokenRing / FFDI..)pingteste si une machine répond aux icmp echohostteste la conversion adresse IP adresse symbolique FQDNnetstat état des connexions TCP (avec -a les connexions TCP/UDP en état listen)-s = statistiquesrpcinfo -p Serveurs causant Remote Procedure Callnslookup / dig outils DNSshowmount clients nfsifconfig Montre la configuration des interfacestcpdump outil d’analyse de trames, nécessite le compte privilégié roottcpdump dst host and tcp port xxxtcpdump broadcasttcpdump arproute crée les routes , syntaxe variable suivant OSNon standard sous Unix mais utiles.ttcp permet de tester les performances de transfert réseau (TCP ou UDP)bing permet de tester les vitesses de ligne entre deux machines (basé sur ICMP)echoping teste les temps de réponse sur les ports ECHO (TCP/UDP) ou HTTPperl Ce langage de programmation est le grand dada des adminstrateurs systèmes car il estpuissant , permet de lancer des commandes, récupérer facilement les sorties, utiliser des sockets..des librairies puissantes autour. Il est tellement bien qu’il a été porté même sous NT et W95. Unmust !. On fait en 5 lignes l’équivalent de plusieurs pages de C.DOSPas grand chose en standard, il faut ajouter des commandes à la couche winsock Trumpet. Il existeun très très bon shareware : ethld200.zip. Faire un ftpsearch (http://ftpsearch.ntnu.no). Ce produitmontre à la fois des statistiques et permet de voir des détails sur chaque protocole. Il est nonspécialisé IP. Il suffit d’avoir un packet driver ou le niveau ODI ou NDIS de chargé.W95arp -apingnetstatnbtstatwinipcfgroutenet / ?netbios statistiques sur IPconfiguration IPcommandes netbiosNTidem sauf quewinipcfg devient ipconfig Il existe donc deux équipes en concurrence acharnée chez MICROSOFT ! ! !EXEMPLESexemple de netstat -s sur la machine romarin.univ-aix.fron peut remarquer que IBM a traduit les messages de son système AIX ce qui rend la sortie particulièrementlisible.netstat -sip:16606935 paquets reçus au total0 en-têtes de totaux de contrôle incorrects25 paquets avec une taille inférieure au minimum0 paquets avec taille de données inf. à longueur des données0 paquets avec la longueur d'en-tête inf. à longueur des données<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 81


82icmp:tcp:udp:0 paquets avec la longueur des données inf. à la longueur d'en-tête74 fragments reçus0 fragments abandonnés pour double emploi ou manque de place0 fragments abandonnés après le délai d'attente0 paquets renvoyés10510 paquets impossibles à renvoyer0 redirects envoyés5049 appels à icmp_error0 erreurs non générées parce que l'ancien message était icmpHistogramme en sortie:réponse d'écho: 2887destination impossible à atteindre: 204029436 messages avec des zones code incorrectes0 messages inférieurs à la longueur minimale0 totaux de contrôle incorrects0 messages de longueur incorrecteHistogramme en entrée:réponse d'écho: 106destination impossible à atteindre: 67785source quench: 3314routage redirigé: 17009écho: 2904dépassement de délai: 126802887 réponses à des messages générées13781754 paquets envoyés9031491 paquets de données (-1959641964 octets)345648 paquets de données (128069197 octets) retransmis2494766 paquets d'URG uniquement0 paquets d'URG uniquement281375 paquets d'investigation (probe) de fenêtre700810 paquets de mise à jour de fenêtre927664 paquets de control11614359 paquets reçus6051908 ACK (pour -1970016459 octets)460169 ACK dupliqués34 ACK pour des données non envoyées5107411 paquets (1353166444 octets) reçus en séquence251900 paquets dupliqués (57456432 octets)1296 paquets avec des données dupliquées (180514 octets en double)429080 paquets hors séquence (115471206 octets)116 paquets (2051 octets) de données après la fenêtre7 investigateurs (probe) de fenêtre179286 paquets de mise à jour de fenêtre1930 paquets reçus après closetotaux de contrôle incorrects: 10974 mis au rebutzones de décalage de l'en-tête incorr.: 3 mis au rebutpaquet trop court: 14 mis au rebut177645 demandes de connexion416593 acceptations de connexion476097 connexions établies (acceptations comprises)637903 connexions terminées (dont 195175 connexions rejetées)134851 connexions à l'état embryonnaire rejetées4564158 segments rtt mis à jour (4907399 tentatives)610406 timeouts de retransmission4653 connexions coupées par timeout de retransmission282373 timeouts persistants23069 timeouts keepalive875 keepalive probes envoyés13850 connexions coupées par keepalive0 en-têtes inachevés3 zones de longueur de données incorrectes51 totaux de contrôle incorrects14247 socket buffer overflowsnews:~# ping ftp.ibp.frPING pascal.ibp.fr (132.227.60.2): 56 data bytes64 bytes from 132.227.60.2: icmp_seq=0 ttl=51 time=47.0 ms64 bytes from 132.227.60.2: icmp_seq=1 ttl=51 time=49.8 ms64 bytes from 132.227.60.2: icmp_seq=2 ttl=51 time=103.4 ms64 bytes from 132.227.60.2: icmp_seq=3 ttl=51 time=44.9 ms--- pascal.ibp.fr ping statistics ---4 packets transmitted, 4 packets received, 0% packet lossround-trip min/avg/max = 44.9/61.2/103.4 msnews:~# traceroute ftp.ibp.fr82


traceroute to pascal.ibp.fr (132.227.60.2), 30 hops max, 40 byte packets1 cisco-cdc1.univ-aix.fr (193.50.125.1) 1.127 ms 1.141 ms 0.995 ms2 193.50.124.2 (193.50.124.2) 1.992 ms 2.561 ms 2 ms3 aix.r3t2.ft.net (193.48.48.49) 4.211 ms 4.206 ms 4.162 ms4 marseille2.r3t2.ft.net (193.48.48.37) 7.147 ms 6.911 ms 6.872 ms5 marseille1.r3t2.ft.net (193.48.48.81) 89.561 ms 48.06 ms 124.761 ms6 marseille.RENATER.ft.net (193.48.48.249) 17.267 ms 11.785 ms 8.554 ms7 stamand1.RENATER.ft.net (195.220.180.89) 22.765 ms 20.461 ms 22.064 ms8 stamand3.RENATER.ft.net (195.220.180.41) 34.804 ms 24.147 ms 49.075 ms9 stlambert.rerif.ft.net (195.220.180.10) 20.431 ms 23.835 ms 21.171 ms10 danton1.rerif.ft.net (193.48.53.50) 20.547 ms 28.044 ms 23.968 ms11 u-jussieu-paris.rerif.ft.net (193.48.58.122) 32.367 ms 22.945 ms 24.1 ms12 r-jusren.reseau.jussieu.fr (192.44.54.126) 22.256 ms 31.718 ms 47.724 ms13 r-ibp.reseau.jussieu.fr (134.157.254.250) 33.582 ms 29.909 ms 57.689 ms14 pascal.ibp.fr (132.227.60.2) 54.88 ms 73.052 ms 52.783 msOn traverse donc 13 routeurs pour aller sur la machine ftp.ibp.frnetstat sous windows95L’option -a de netstat indique les ports en attente de connexionsC:\WINDOWS>netstat -aActive ConnectionsProto Local Address Foreign Address StateTCP pc-lalot:1025 news:nbsession ESTABLISHEDConnexion en mode client de serveur de fichiers microsoft/netbios sur newsTCP pc-lalot:6000 news:1641 ESTABLISHEDTCP pc-lalot:6000 news:1174 ESTABLISHEDTCP pc-lalot:6000 news:1184 ESTABLISHEDTCP pc-lalot:6000 news:1531 ESTABLISHEDConnexions XWindowTCP pc-lalot:1210 inet1.tek.com:80 CLOSE_WAITTCP pc-lalot:1211 inet1.tek.com:80 CLOSE_WAITConnexions WebUDP pc-lalot:talk *:*UDP pc-lalot:ntalk *:*UDP pc-lalot:177 *:*UDP pc-lalot:nbname *:*UDP pc-lalot:nbdatagram *:*Ports UDP en écouteStatistiques netbiosnbtstat -sNetBIOS Connection TableLocal Name State In/Out Remote Host Input Output----------------------------------------------------------------------------LALOT Connected Out NEWS 894B 792BLALOT Listeningdig ftp.cica.indiana.edu; DiG 2.1 ftp.cica.indiana.edu;; res options: init recurs defnam dnsrch;; got answer:;; ->>HEADER


84;; WHEN: Tue Jan 21 12:05:11 1997;; MSG SIZE sent: 38 rcvd: 201rpcinfo -pprogram vers proto port100000 2 tcp 111 portmapper100000 2 udp 111 portmapper100005 1 udp 779 mountd100005 1 tcp 781 mountd100003 2 udp 2049 nfs100003 2 tcp 2049 nfsshowmount -e ftp.univ-aix.frExport list for news.univ-aix.fr:/pub/pub (everyone)84


LES RESEAUX LOCAUX DE PCApple a vers le milieu des années 1980 été le premier à concevoir et à developper son réseau. Il a utilisé unetechnique, le CSMA-CA qui est un peu ressemblant à ETHERNET sur des paires métalliques normales(localtalk). Le débit de ce réseau est de 250 Kb/s. Le connecteur était très peu cher (400Fr). Le réseaupermettait le partage des imprimantes à une époque où une imprimante Laser valait très cher. Ce serviceainsi que la simplicité du système a fait le succès d’Apple.Depuis, Apple a adopté ETHERNET (ethertalk) ,TokenRing (tokentalk). Pour les protocoles de plus hautniveau, Apple a développé le strict minimum concernant INTERNET, n’a pas cherché à développer unsupport natif Netbios. Apple a pris beaucoup de retard ces derniers temps dans le domaine des réseaux.<strong>Les</strong> PC sont restés assez longtemps sans réseau. Il a fallu attendre la fin des années 80 pour voir une société(NOVELL) proposer enfin des serveurs de fichiers et d’impression (Netware) et des couches réseau sur lesPC en MS/DOS. Quelques temps après MICROSOFT et IBM ont suivi le pas et ont proposé leurs solutions(Netbios et Lan Manager ). Le serveur tournait sous OS/2.Cette époque a été l’objet de tâtonnements et au bout de quelques temps les principaux acteurs ont défini descouches de protocoles de liaison réseau pour les machines clientes sous MS/DOS. Le but étant de donnerune interface homogène au dessus de la carte réseau et de permettre de gérer du Multiprotocole. Parexemple sur la même machine pouvoir utiliser SNA (IBM), LANMAN, NOVELL, TCP/IP en même temps.Pour NOVELL cette interface s’appelle ODI (OPEN DATA LINK INTERFACE)MICROSOFT a proposé avec 3Com NDIS (Network Driver Interface Specification)<strong>Les</strong> cartes réseau du marché sont donc vendues avec des drivers compatibles avec ces normes<strong>Les</strong> packets driversL’université de Clarkson a normalisé une interface et a développé, une série d’outils pour faire del’INTERNET (FTP et TELNET ping..). Ces drivers ont encore de temps en temps sur des machinesMS/DOS leur utilité. Cependant plutôt que d’utiliser le packet driver spécifique de la carte, on peut utiliserle packet driver qui s’appuie sur les couches ODI et NDIS . odipkt.com ou ndispkt.com. Ceci s’est fait avantles normes NDIS et ODI.<strong>Les</strong> types de réseau locaux de PCOn trouve deux types : le réseau poste à poste et le réseau Serveur Client.• <strong>Les</strong> SERVEURSUn serveur est une machine du réseau sur laquelle on enregistre des noms d’utilisateurs avec des mots depasse. C’est le cas de NT Server et de Netware. <strong>Les</strong> utilisateurs à partir de leur PC vont se connecter sur leserveur en tapant leur nom et leur mot de passe. Le serveur exécute un script qui va lancer des commandes,attacher des lecteurs réseau au poste local. L’utilisateur pourra alors accéder les données du serveur enfonction des droits donnés par l’administrateur. Généralement ces serveurs ont des groupes d’utilisateurs.L’appartenance à ces groupes donnent des droits sur les fichiers et les imprimantes.• <strong>Les</strong> DOMAINES<strong>Les</strong> choses se compliquent lorsque l’on installe plusieurs serveurs. En effet pour avoir accès à plusieursressources du réseau, il va falloir se connecter plusieurs fois, avec des mots de passe différents.. Pourrésoudre ces problèmes, on a inventé une couche supérieure. NOVELL appelle cela Netware DirectoryServices alors que MICROSOFT parle de domaines. En fait tout ceci existait sous Unix , c’est unefonctionnalité que l’on appelait les pages jaunes, devenues depuis NIS.Le principe est simple. Un serveur central est maître de l’annuaire des utilisateurs. Celui ci communiqueavec les machines clients de son domaine pour indiquer que la station X correspond à l’utilisateur Y. Ainsipar une seule connexion, l’utilisateur aura accès à toutes les ressources (machines imprimantes..) dudomaine• Le POSTE à POSTEUn serveur, ça coûte cher. Beaucoup de petits sites n’ont pas les moyens ni parfois les compétences pourinstaller un serveur . Depuis Windows pour Workgroups, MICROSOFT fournit en standard ses logicielsclients avec la possibilité de faire du poste à poste. Chaque poste peut ainsi mettre en partage son<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 85


86imprimante ou ses fichiers. Ce partage se fait par mot de passe sur chaque poste. Il est bien évident que dèsque le nombre de postes augmente, le nombre de mots de passes à retenir devient énorme (2 à 3 par poste).Afin de faciliter l’utilisation du réseau dans ces cas là, MICROSOFT a mis en place une technique trèsdiscutable qui consiste à conserver sur le poste les mots de passe servant à l’utilisation du réseau. C’est pourcela que dès que l’on installe le support du réseau, W95 et WfW demandent un nom utilisateur.Ce nom va servir a stocker les mots de passe dans un fichier nom.pwl. Ainsi l’utilisateur utilisant le mêmenom et le même mot de passe n’aura plus à taper tous les mots de passe. <strong>Les</strong> connexions serontautomatiques.On peut simplement noter que cette technique est très mauvaise sur le plan de la sécurité . Un programmepermet de décrypter instantanément le mot de passe !.Le poste à poste amélioré : Si on possède un serveur, on peut partager son disque ou son imprimante nonplus avec un mot de passe mais par rapport à un utilisateur ou groupe d’utilisateurs du domaine.<strong>Les</strong> protocoles de liaison classiquesTrames encapsulées dans ETHERNET ou TOKEN-RINGOn va trouverNetBEUI. Ce sont des trames utilisables pour le protocole NetBios (en voie de disparition).TCP/IP Netbios et les applications INTERNET. Nomé DoD TCP/IP 53DLCutilisé par SNA.IPX/SPX Utilisé par NOVELL mais aussi par Netbios.On voit que Netbios passe partout. Netbios est une API de transport développée par MICROSOFT et IBM,un peu comme les sockets<strong>Les</strong> couches NOVELL sur un PC clientCouches NOVELLLSLDriver de carte ODIIPXODIVLM ou NETXDéfinitionLink Support layerODICouche IPX sur ODIVirtual Loadable ModuleLe réseau MICROSOFTL’histoire de MICROSOFT est lié à netbios, les serveurs de MICROSOFT ont évolué en passant de OS2 àWindowsNT pour des raisons stratégiques. Mais le protocole reste le même. Cependant, MICROSOFT a faitun effort en direction de TCP/IP ce qui permet d’utiliser facilement les protocoles au travers d’uneinterconnexion INTERNET.<strong>Les</strong> noms de fichier UNC NETBIOSPour un réseau, les noms de fichiers MSDOS sont peu pratiques, car un fichier est désigné par ce genre desyntaxe : lecteur:\répertoire\fichierOr une machine ne peut avoir que 26 lecteurs (de A à Z), c’est donc plutôt limité<strong>Les</strong> noms UNC sont fabriqués ainsi : \\serveur\partage\repetoire\fichierà noter que pour NOVELL , c’est : /serveur :volume\repertoire\fichierCeci évidemment n’a rien à voir avec le WEB ! ! ! (mais ça aurait pu)Le nom du serveur en netbios est limité à 15 caractères.Ceci permet d’appeler un fichier sur n’importe quel serveur sans lui donner une lettre de lecteur et donc deconnecter un lecteur (à partir du moment ou l’on a les droits)NB : certaines commandes ne connaissent que netbios d’autres que TCP/IP. Par conséquent si TOTO est lenom netbios de la machine titi.domaine.frping titi.domaine.fr marche mais ping TOTO ne marche pas car ping utilise l’API Winsockidem à l’envers pour la commande net<strong>Les</strong> noms de machines, les groupes de machines53 DoD Department of Defense. Le bailleur de fond du projet TCP/IP. Lorsque l’on installe les couchesTCP/IP sous W95 ou NT, il faut chercher Microsoft TCP/IP (le propriétaire a du changer ?).86


Si je désire partager des informations avec d’autres utilisateurs, il faut que ceux-ci puissent découvrir mamachine. La plupart du temps, les serveurs de réseaux locaux utilisent la diffusion d’informationspériodiques par l’intermédiaire de broadcasts. Au début, tous les serveurs faisaient des broadcasts et lasituation allait en empirant car tout PC a maintenant la possibilité de faire du partage en poste à poste et nonplus en client et serveur central. 1000 machines faisant des broadcasts, c’est mille personnes qui crient surle réseau. En gros, on passe son temps à frapper à votre porte.Il a donc fallu créer des groupes de machines. Chaque machine fait partie d’un groupe. La première qui créeun groupe va répondre aux demandes d’enregistrements dans le groupe. Ainsi au début la machine diffusesa demande, le gestionnaire du groupe l’enregistre en vérifiant l’unicité du nom de machine. Après , c’est legestionnaire qui diffusera et lui seul régulièrement l’information sur le groupe. En cas d’arrêt, unmécanisme d’élection redéfini l’enregistreur. Ceci dit tout ça ne marche qu’a condition de ne pas avoir demachines sur des réseaux différents où les routeurs vont bloquer l’information. Ils filtrent les broadcasts.Pour passer cette barrière , il faut utiliser WINS (Windows Name Server). WINS est un service qui tournesur un serveur NT. Dans la configuration TCP/IP des clients Windows, on indique l’adresse IP du serveurWINS. Ainsi pour le parcours du réseau, la découverte des serveurs passera par une demande au serveurWINS. Lors du démarrage de la machine client, celle-ci fournit a WINS son nom et son groupe. WINSl’enregistre dans sa base automatiquement.Certains Types de noms de machines (codes affichés par nbtstat )00 Station03 Service de message20 ServeurBE Moniteur réseau1B Maître explorateur de domaine1D Maître ExplorateurTypes de groupes00 membre d’un domaine ou groupe de travail1C Contrôleur de domaine1 E Accepte d’être explorateurLa résolution des noms.Le résolveur IP des machines windows peut utiliser Netbios et WINS pour la résolution de noms, d’habitudesur les autres systèmes, seul le DNS est contacté.Sur l’ordinateur, il existe des commandes orientées netbios et d’autres winsock. Leurs comportementdifférent sur les noms de machines. Netbios limite le nom à 15 caractères et celui ci n’est pas hiérarchisécomme pour winsock et le DNS.Voici comment les applications utilisent les nomsEtapes traversées pour la résolution WinsockFichier hosts ?DNS ?


88<strong>Les</strong> commandes (DOS) de réseaux locaux de PCNOVELLNOVELL avait conquis une grosse partie du marché des serveurs. Cependant MICROSOFT a repris celuici.L’avantage majeur de NOVELL Netware est surtout qu’un simple PC sous DOS permet d’administrerles serveur. De plus on peut avoir accès à la console du serveur à distance. Seul inconvénient, le serveur estun système propriétaire sur lequel le jeu de commande est limité.C’est exactement l’inverse pour MICROSOFT.LOGIN SERVEUR/NOMConnexion au serveurMAP k :=serveur/volumeAttacher un lecteur au posteSLISTListe des serveursUSERSListe des utilisateurs sur le serveurSYSCONGestion des utilisateursFCONSOLENDIR, NCOPYCommandes DOS modifiées pour afficher les droitsGRANTDonne des droits sur les repertoiresREVOKEEnlève les droitsMICROSOFTUne seule commande, la commande NET ( voir aussi NBTSTAT)NET USE * \\serveur\partageIdem commande MAPNET VIEWParcours du réseauNET LOGON ou LOGOFFNET CONFIGVisualise la configuration utilisateur88


LA SECURITEVaste sujet que la sécurité sur INTERNET. Celle-ci va être abordée de façon succincte. En effet un livrecomplet pourrait ne pas y suffire. Concernant la sécurité toute entreprise un peu importante devrait avoir unexpert en sécurité ou faire appel à des sociétés pratiquant un AUDIT. Bien entendu cette inspection doit êtrefaite avec les pleins pouvoirs et la participation active de la direction. Dans nos campus universitaires, c’estbien là le problème. Le Monsieur Sécurité doit être un très bon spécialiste pas quelqu’un que l’on met à ceposte pour l’occuper.<strong>Les</strong> pirates eux ne comptent pas leurs heures, ni leurs nuits et week-ends. Une bonne source d’informationhttp://www.cert.org, site officiel de sécurité mais aussi http://www.rootshell.com et bien d’autres sites dehackers http://www.hackers.com. Pour les news : news://comp.os.security.announce. Il faut rappeler qu’auterme de nombreuses lois, le fait de pénétrer un système est passible de prison. Et sur un système bienadministré, on laisse toujours des traces.Le type des attaques.• Vol d’adresse IP au niveau ARP Un serveur est arrêté et un pirate monte un cheval de Troie. Est cej’envoie mon mot de passe à la bonne machine ?.• IP SPOOFING. Changer l’adresse source d’une trame IP. Par exemple y mettre la même que ladestination. Ceci ne marche que pour les applications marchant sur UDP (TFTP, DNS, NFS).Rejeté par un firewall ou routeur filtrant• DNS SPOOFING. Faire croire à un DNS que l’adresse 202.15.20.5 appartient à www.maboite.com.Comme certaines sécurités se basent sur la résolution de noms..Avoir la bonne version du démon named (appelé aussi BIND).• BUFFER OVERFLOW. La meilleure de toute sur les systèmes Unix. Sur Unix, ceci conduit parfois àune prise de main de la machine. Sous NT peut faire « geler » le serveur. En fait chaque applicationattend du réseau des réponses probables. Exemple : un nom c’est moins de 20 caractères. <strong>Les</strong> piratesenvoient des noms spéciaux qui vont bien au delà. Ils provoquent un écrasement des données et desretours de procédures pas si au hasard que cela. Par exemple forcer le lancement d’un terminal xterm.Actuellement c’est très en vogue car de nombreux programmes ne font pas de vérifications suffisantes.Le langage C qui est le langage des développeurs est très laxiste sur les chaînes de caractères, ledébordement y est facile.• SYN/FLOOD Saturer un serveur d’appels d’ouverture TCP incomplets.• PING OF DEATH. Un ping avec plus de 60000 caractères. Provoque le plantage de plein de systèmesMise à jour vers un système récent, ou filtre ICMP sur un firewall (réponse rapide).• Et bien d’autres…Se Protéger localement (60% des attaques sont internes...)• <strong>Les</strong> réseaux locaux sont sensibles au piratage. Des outils sous Dos/Unix permettent facilement de lireles trames du réseau. IL faut donc impérativement remplacer les HUBS par des Commutateurs ouséparer les réseaux entre eux. Des HUBS différents pour des utilisateurs différents. Il faut noter que laseule bonne solution est le commutateur, car qui vérifiera que dans tel bureau un petit malin a mis enroute un sniffer (nom donné aux programmes qui lisent les trames). 54<strong>Les</strong> systèmes• <strong>Les</strong> serveurs Unix.Avantages d’un serveur Unix .20 ans de métier dans l’INTERNET, Système puissant rapide . Possibilité de tout faire à distance par unsimple TELNET (ça peut être un inconvénient). Très riche jeu de commande. On peut tout automatiser.Dans le cas du système Linux, c’est la façon la moins onéreuse et la plus performante de monter desserveurs TCP/IP. Ce système développé par des bénévoles dame le pion de bien des systèmes payants.Comme on dit : « On peut avoir moins bien, mais c’est plus cher !. »Inconvénients d’un serveur Unix.54 Recherchez pour l’analyse des trames, l’excellent produit shareware sous DOS ethload (ethld200.zip)<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 89


90<strong>Les</strong> privilèges dans la machine sont le superuser (root) et l’utilisateur lambda.. Hélas beaucoup deprogrammes pour fonctionner ont besoin un faible instant de privilèges root. Lorsque ces programmes sontmal écrits, un utilisateur du système par un simple TELNET peut devenir root. L’accès à TELNET et aulangage de commande ne doit être donné qu’a des gens de confiance. Il n’est pas utile de faire du TELNETpour faire de la messagerie, du FTP ou du SQL (Base de donnée).L’interface utilisateur n’est pas très bonne. C’est un système pour spécialisteFaiblesse de la table des mots de passe :Celle-ci est accessible par n’importe quel utilisateur TELNET/FTP. En principe le mot de passe doit êtredans un fichier séparé possédé par root. (Shadow password). Sinon n’importe quel accès FTP utilisateurpermet de récupérer la table, puis un utilitaire (Crack) permet de trouver les mots de passe simples. D’ou leconseil, celui-ci doit être long et ne pas être dans un dictionnaire.Attention : si quelqu’un de l’INTERNET pirate le serveur, donc devient root, il pourra ensuite installer unsniffer et par conséquent lire ce qui se passe sur le réseau. On devra donc particulièrement surveiller uneinstallation de serveur Unix.Avez vous un bon ingénieur système Unix ?. A-t-il le temps de penser sécurité ?. Sur ce genre de serveur setrouve installé au départ un certain nombre de services INTERNET. Par exemple en standard se trouventinstallé des services FTP, Sendmail, TELNET, Finger, NFS. IL est bon de regarder ce qui est utile, et dedésinstaller ce qui ne sert pas. Concernant ce qui est utile, doit on ouvrir tel ou tel service à tousl’INTERNET ou juste à quelques adresses. Pour cela généralement, il est bon de regarder certains fichiers :/etc/inetd.conf Quels services lancer (se borner à POP FTP TELNET)/etc/hosts.allow Fichiers de configuration de TCP/Wrapper/etc/hosts.denyCes fichiers indiquent quelles adresses de l’INTERNET sont autorisées à accéder à quel service. Regarderles annonces de news://comp.os.security.announce. Surveiller les logs (/var/log/secure ou/var/log/messagessous Linux)• <strong>Les</strong> serveurs NTAvantages.Ils sont conviviaux, assez robustes (moins que Unix). On trouve beaucoup de logiciels. La prise en main esttrès rapide. <strong>Les</strong> configurations standard sont faciles à faire.Inconvénients.Lourd, gourmand en mémoire, pas facile d’automatiser des tâches car MICROSOFT n’a plus développé decommandes lignes depuis plusieurs années. <strong>Les</strong> boites de dialogue sont parfois moins compréhensiblesqu’un fichier de configuration en texte clair de Unix. Le système est binaire. Tout est stocké dans desregistries (mais sans commentaires..). Sortir des boites de dialogue et automatiser une installation est unproblème compliqué. C’est le syndrome du clickodrome !. De plus il faut souvent redémarrer. Sous Unix, onpeut changer l’adresse IP de la carte sans redémarrer.En ce moment, il faut aussi avoir une bonne paire de basket. Car en dehors de créer un utilisateur et demanipuler le disque, il faut se déplacer pour exécuter un jeu de commandes et faire certaines manipulations.Sécurité.Pas d’accès de prise de contrôle distante donc moins de problèmes ( mais c’est contraignant). Des attaquessur le compte de l’administrateur ont eu lieu. <strong>Les</strong> serveurs comme Samba sous Unix et dont les sources sontpublics ouvrent la porte de la connaissance et celle des attaques. Suite à de nombreuses bugs de sécurité, il afallu mettre en place des filtres pour se protéger de l’extérieur. Il faut à ce jour installer 3 services packs (parserveur NT) pour dormir tranquille.<strong>Les</strong> Gardes barrières.• <strong>Les</strong> routeurs / Firewall (ou garde barrières)Heureusement, ils sont là et permettent de centraliser la sécurité. On voit bien que chaque machine peutavoir ses faiblesses. En cas de problèmes, il faut pouvoir intervenir rapidement et le seul endroit ou passetoute l’information est le routeur. Ceux-ci ont maintenant des possibilités de filtrage basés sur lesadresses sources et destination IP ainsi que sur les numéros de port. Il est alors possible de dire que leTELNET extérieur ne pourra pas passer : Sur un routeur CISCO par ex :access-list 102 deny any any eq TELNET90


Ces commandes ont un sens d’application, on dit que l’access list s’applique en entrée ou sortie del’interface. Ceci permet surtout de contrôler totalement le réseau. En effet en Interne tout le monde peutbricoler un serveur mal configuré. Grâce à la politique des Firewall, ce serveur « non déclaré » ne pourraêtre visible.<strong>Les</strong> Topologies possibles de réseau• Bien protéger son réseau par une zone démilitarisée.On ne laisse que 2 ou 3 serveurs en accès extérieurs, le reste du réseau étant dans une zone nonaccessible. Dans cette zone, on y met le serveur de mail, le serveur de nom, le serveur WEB, ainsi que leserveur Proxy WEB/FTP. Dans cette solution, personne ne peut en interne mettre un donnée surl’INTERNET, accessible sur son poste . Il devra demander à l’Administrateur de la machine extérieureLa zone interne, peut avoir une classe de numéro IP non accessible de l’extérieur (ex 10.0.0.0) ou(192.168.0.0) ou 172.16.0.0On peut même pousser le vice à supprimer la passerelle dans la configuration d’un poste et ne plusmettre qu’une route manuelle. 55INTERNET et piratesZone PubliqueUne partie declasse CRouteur à deuxcartesETHERNETFirewallZone DémilitariséeDMZ. Un réseau nonroutable. Le réseau Internede l’entrepriseLe serveur WebLe DNSLe SMTP/POPLe ProxyDans ce cas de figure, une machine du réseau DMZ ne pourra faire un ping sur l’INTERNET. Elle passerapar les serveurs PROXY du réseau Public, pour faire des requêtes WEB .De quels services faut il se méfier sous Unix.1. Enlever tout ce qui sert à rien, surtout les démons lancés par root. Même le démon talk a eu des bugsde sécurité.2. Eviter les rcommandes (rlogin , rsh..) basées sur la confiance en une adresse IP ou pire en un nomFQDN. Regarder les fichiers .rhosts et les enlever.3. Enlever le shell aux utilisateurs (remplacer /bin/bash par /bin/true) dans /etc/passwd4. Avoir un mot de passe de root long > 8 caractères et alpha numérique5. Xwindow. Ne pas faire de commandes au hasard (xhost + par exemple). Filtrer les accés Xwindow surle firewall (Port 6000). En effet souvent une bug de sécurité permet de lancer la commande xterm –DISPLAY=adresse IP du pirate. Et un joli shell apparaît sur le terminal X du pirate.55 On peut le faire avec la commande route. On le met par exemple dans autoexec.bat<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 91


926. Si par paresse « normale », vous voulez des rcommandes, fixez par la commande arp –s lacorrespondance adresse IP, adresse ETHERNET. Et ensuite n’autorisez que ces adresses là dans lefichier rhosts.7. Utilisez TCP Wrapper (man tcpd ou hosts.allow hosts.deny). ce programme ajoute une vérification surles adresses IP de tous les services.8. Sendmail : Ce programme qui gère 80% des serveurs de courrier sur INTERNET tourne avec lesautorisations root et a de nombreuses bugs de sécurité. On peut installer qmail en remplacement.9. Pour tous les services réseaux qui sont actifs, consultez fréquemment news://comp.os.security.announceProgrammation d’un FirewallCisco propose une solution PIX pour faire un firewall, déchargeant ainsi le routeur. Cette solution nes’impose que sur les gros réseaux.Basersa sécurité sur un système étranger dont on n’a pas les sources. Est ce une bonne soultion ?. J’aitendance à penser que les solutions freeware, Linux, FreeBSD etc.., sont plus sures. Qui peut dire s’iln’existe pas dans les routeurs Cisco ou dans les OS Microsoft des clés permettant l’espionnage. Dans cestemps de « guerre économique » mieux vaut être méfiant.Exemple d’access lists CISCO pour filtrer des trames à l’arrivée du réseau. Cette liste simple refuse derecevoir des paquets de l’extérieur dont l’adresse source vient de chez nous. Impossible sauf si piratageextérieur. On peut voir les refus dans les valeurs matches. Pour plus d’informations :http://www.cru.fr/securite/FiltresExtended IP access list 101deny ip 193.50.125.0 0.0.0.255 any log (267 matches)deny ip 193.50.126.0 0.0.0.255 any logdeny ip 193.50.127.0 0.0.0.255 any logdeny ip 193.50.173.0 0.0.0.255 any logdeny ip 194.57.187.0 0.0.0.255 any logdeny ip 194.57.195.0 0.0.0.255 any logdeny ip 193.50.174.0 0.0.0.255 any logdeny ip 193.50.175.0 0.0.0.255 any logdeny ip 194.199.116.0 0.0.0.255 any log (437 matches)deny ip 127.0.0.0 0.255.255.255 any log (57 matches)permit ip any any (120074001 matches)92


GERER LA PENURIE D’ADRESSENAT TRANSLATION D’ADRESSEComme on a vu précédemment, l’adressage INTERNET a de grosses limites en terme de numérotation. Enfait récemment de bonnes idées ont résolu en partie ce problème. Le routeur fait de la translation d’adresse.Comment ça marche ?.En fait on peut avoir dans les numéros IP 3 réseaux spéciaux :Le Classe A 10.0.0.0Le Classe B 172.16.0.0<strong>Les</strong> Classe C 192.168.0.016 millions d’adresses65000 adresses65000 adressesCes adresses ne seront jamais attribuées officiellement à un réseau global de l’INTERNET. On peut sanscrainte les utiliser pour construire un réseau et faire des tests ou connecter ce réseau plus tard àl’INTERNET en faisant de la translation d’adresse. On est sur que jamais www.machin.com n’aura une deces adresses et qu’il n’y aura jamais de confusion.Pour résoudre le problème de ces adresses non « routables », le routeur va faire la « sale besogne ». C’est-àdirevioler le principe de l’indépendance des couches. Que fait un routeur : modifier les adresses de niveau 2et de choisir un type d’enveloppe (l’encapsulation), il ne s’occupe que des adresses niveau 2 et 3 . En faitavec NAT , le routeur travaille avec la couche 4 voire le niveau application. Tout ceci n’est possible qu’avecl’amélioration des performances hardware des routeurs. Cependant les routeurs centraux des grandscarrefours ne feront probablement jamais du NAT.Le routeur a une petite série d’adresse (Un pool d’adresses) vue de l’extérieur 56 , mais comme on va le voir,une classe C suffit amplement à connecter plusieurs milliers de machines.On distingue 3 types de configurations en fonction des services :1. Le mappage statique pour les serveurs (DNS Web News Proxy Sendmail). C’est à dire 193.50.125.2 =10.0.0.1. Le routeur va interchanger les adresses de niveau32. Le mappage dynamiqueLe routeur choisit dynamiquement comme DHCP des adresses pour les machines qui veulent discuter avecl’extérieur. Le routeur surveille la fin des sessions TCP, et gère un timer pour les «sessions» UDP. Commeles machines ne sont pas toutes en discussion au même moment, on peut ainsi avec peu d’adresses fairepasser beaucoup de machines. De plus si le réseau possède un serveur proxy, un DNS, un serveur demessagerie, les postes clients ne feront que peu de sessions extérieures. En ce moment, on s’aperçoit que lapénurie d’adresse est là à cause des postes clients, non des serveurs. Si on traite les postes clients avec duNAT, il existe encore pas mal de temps pour IPV4 57 .3. Le mappage des sessions TCP 58 pour le reste (lorsqu’il y a pénurie).Le routeur va faire croire au poste interne que celui-ci est en discussion avec le réseau externe. En fait lessessions TCP seront faites à trois : Une du poste interne vers ce qu’il croit être la machine externe, en fait lerouteur, puis une session du routeur vers la machine externe. Hors chaque adresse IP peut établir 64000connexions TCP (numéros de ports). On voit que la saturation est facilement levée par ceci. Cependantcertaines applications qui s’échangent des numéros de port pour communiquer dans les parties donnéesposent problème. C’est le cas de FTP, on a vu que la commande PORT renvoie un numéro de PORT oualler transférer le fichier. Ce port n’est donc pas négocié par une demande d’ouverture classique. AinsiNAT impose au routeur d’aller non seulement s’occuper des états des sessions TCP , mais aussi de regarderune partie des données.56 Un réseau officiel, par exemple un subnet de classe C57 IPV6 c’est pour quand ?. Il semble s’éloigner de plus en plus !.58 On parle aussi de IP masquerade<strong>Les</strong> <strong>Réseaux</strong> <strong>Informatiques</strong> D. Lalot 93


94Machine Interne Routeur Machine externeAdresse IP 10.0.0.2 10.0.0.1193.50.125.2pool 193.50.194. (1à 15)Socket vue en local Machine Interne RouteurMachine externe10.0.0.2 Port 1025193.50.125.2 port 2110.0.0.2 port 1025 devient193.50.194.2 port 35200193.50.125.2 port 21193.50.194.2 port 35200La machine externe ne sait pas qu’elle discute avec 10.0.0.2. Elle croit discuter avec 193.50.194.2. Lorsquela session se sera fermée la prochaine sera peut être avec une autre adresse IP. Imaginons une bug desécurité sur un poste client, le pirate aura bien du mal à retrouver une deuxième fois cette machine. Cettetechnique (IP masquerade ) est employée pour « router » un réseau local avec une seule adresse IP. Ce quiest le cas des gens utilisant des accès via le RTC.Problèmes : Et oui ça serait trop beau.. D’une part certaines applications (peu importantes ne marchentpas). Il faut plus de mémoire sur les routeurs, mais ça c’est bon pour les fabricants.Si le routeur a une panne électrique, ou que celui ci est « rechargé » pour maintenance, toutes lescorrespondances des sessions en cours sont perdues. Il faudrait une modification des routeurs pour garder lamémoire des sessions sur un support style mémoire flash. Pour l’instant, un pépin et toutes les sessions encours sont perdues.L’avantage des routeurs jusque là était d’être quasi sans mémoire (hormis les routes qui sont rechargéesautomatiquement). Un routeur arrêté et relancé ne provoque généralement qu’un délai d’attente.Une bonne référence sur comment programmer un routeur Cisco avec NAT.Documentation : Didier Benza de l’Université de Toulon.http://www.univ-tln.fr/~benza/nat.html94


Utilisateur chez lui ou autravail. Adresses IPdynamiques: RTCAnalogiqueFranceTélécomRRouteur d’accès distantsIdentification PPP(CHAP/PAP):Serveur de noms(DNS)Fournisseur d’accès InternetInternet Service Provider (ISP):Serveur Webhttp://www.machin.comAnneauTokenRingRouteur IPModems Asynchrones.Liaison PPP (33.6Kbs):Serveur demessagerieRouteur IPFiltres d’accésaux services: NumérisFranceTélécomR::Serveur Proxy(Cache Web)Serveur de newsServeur WebHébergement de sitesServeur FTP miroirCartes RNIS.Liaison PPP synchronesur Canal B 64KbsLiaison PrimaireNuméris 30canaux BEncapuslationATMRouteur de sortie IPLiaison FT Transfix3614 RLS (tarifs)Encapsulation HDLCnative ou PPP + HDLCRéseau decommutateursATM (exemple)


PINGTracerouteHTTP HTTP FTPDNS / NamedSNMPApplicationsECHONuméroduprocessusTTL expiréNo processus ?UDP / TCP ?Source QuenchRalentir eledébit.TCP ou UDP ?Quelle application ?Se baser surIP Source+Port sourceet IP Destination +PortDestinationQuel Port destination ?Une seule application parport.UDP petits messgesInterface logicielle SOCKET ouWINSOCKDans le systèmed’exploitationICMP Signaux réseaux.Analyse du packet renvoyé parle réseau.TCP. Transport. Contrôle deflux gestion des erreurs.Réémissions .UDPIPARP. Résout lacorrespondance adresses IP –adresses couche de liaisonNovell IPX/SPXNetbios MsoftRéseauEthernetPilote ou driver. Interprète lechamp service EthernetCarte Ethernet lit enstandard son adresse et lesbroadcastsInterface logicielle NDIS ouODI ou Packet driver (PCsous DOS ou Windows)


9898


REFERENCES HTMLUnité réseau du CNRS ou le CRU (Comité Réseau des Universités) excellent pointeur sur des infos réseauhttp://www.urec.fr ou http://www.urec.frRichard Stevens Home Page (Auteur de TCP/IP Illustré)http://www.noao.edu/~rstevensRFC en Franceftp://ftp.inria.fr/inet/INTERNET-draftsLa librairie virtuellehttp://www.w3.org/vlLa librairie des télécommunicationshttp://www.analysys.co.uk/commslib.htm<strong>Les</strong> Organismes de NormalisationIETF INTERNET Engeneering Task Force (RFC)http://www.ietf.org/1id-abstracts.htmlIEEEhttp://www.ieee.orgCCITT / ITT / ITUhttp://www.itu.chISOhttp://www.iso.chANSIhttp://www.ansi.govIRTF INTERNET Research Task Forcehttp://www.irtf.org/irtfIAB INTERNET Association Boardhttp://www.iab.orgINTERNET Societyhttp://www.isoc.govLa programmation des sockets de windowsftp://sunsite.unc.edu/pub/micro/pc-stuff/ms-windows/winsockINTERNET Software Consortiumhttp://www.isc.org<strong>Les</strong> groupes de news à regarder sur les réseauxfr.network.*comp.dcom.*comp.protocols.*comp.os.linux.networkingcomp.os.ms-windows.networking.*Atm Forumhttp://www.atmforum.com<strong>Les</strong> FAQs indexées à l’Institut Pasteurhttp://www.pasteur.fr/computer/other

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!