Vous êtes sur la page 1sur 17

TCP/IP

essaim LSI

TCP/IP Les interconnexions de rseaux


Compilation par Pierre-Alain Muller

Avant propos Au sicle dernier, le chemin de fer a rvolutionn le monde (avnement de la socit industrielle). Aujourdhui, les rseaux amorcent une nouvelle rvolution (avnement de la socit de linformation). Les rseaux gomment les distances gographiques et crent de nouvelles communauts qui interagissent frquemment. Petite histoire des rseaux avant 1960 : comment acheminer de faon fiable des bits le long dun support de communication => thorie de linformation (traitement de signal) vers 1965 : comment acheminer de faon fiable et efficace des paquets => commutation de paquets, rseaux locaux, analyse statistique du temps de rponse. de 1975 nos jours : comment fournir des services de communication aux travers dune interconnexion de rseaux => techniques dinterconnexion, modles de protocoles en couches, services de transport en mode connect, et le modle client-serveur. Dans ce qui suit, nous tudierons larchitecture des rseaux interconnects

1. Introduction et prsentation gnrale


Les agences gouvernementales amricaines (NSF, DoE, DoD, HHS, NASA, DARPA, ...) ont subventionn la ralisation dune interconnexion qui couvre tout le territoire amricain. La DARPA (Defense Advanced Research Projects Agency) dfinit la suite de protocoles TCP/IP. 1.1 Les services dInternet Internet dfinit un ensemble de normes, aussi appeles protocoles, cest--dire de rgles indpendantes des constructeurs pour changer des informations. Les avantages de TCP/IP sont multiples : Indpendance par rapport aux technologies des rseaux Les protocoles dfinissent une unit de transmission appele datagram et spcifie comment transmettre les datagrammes sur un type de rseau donn. Connectivit universelle Une interconnexion TCP/IP permet toute paire de machine qui y est relie de communiquer. Une adresse (unique au sein de lInternet) est affecte chaque machine. Chaque datagramme contient les adresses source et destination. Les noeuds de commutation intermdiaires utilisent ces adresses pour prendre leurs dcisions de routage. Accuss de rception de bout en bout Mme lorsque les machines source et destination ne sont pas relies au mme rseau physique.

Janvier 96

TCP/IP Protocoles dapplication normaliss

essaim LSI

TCP/IP inclut de nombreux protocoles dapplication pour la messagerie, le transfert de fichiers, la connexion distance, ... 1.1.1 Services dinterconnexion de niveau application TCP/IP se prsente comme un ensemble de programmes dapplication qui utilisent le rseau pour effectuer des tches utiles. Les utilisateurs de ces programmes nont pas besoin de connatre TCP/IP, ils nutilisent que les programmes dapplication (courrier lectronique, transfert de fichiers, connexion distance) 1.1.2 Services dinterconnexion de niveau rseau Il existe deux grands types de services. Service de remise de paquets en mode non connect Ce service, la base de tous les autres services, assure le routage de petits messages dune machine une autre, en utilisant les adresses qui sont contenues dans les messages. Chaque paquet est rout indpendamment, il ny a pas de garantie de fiabilit ou de squentialit. Ce service est extrmement efficace, car il est en correspondance directe avec le matriel sousjacent. Service de remise en mode connect Ce service assure le transport fiable des messages, il simule une connexion physique de bout en bout. 1.2 Les appels commentaires Internet (RFC) La documentation relative aux protocoles, normes et stratgies, peut tre obtenue auprs du NIC (Network Information Center), sous la forme de RFC (Request for comments), par courrier lectronique ou transfert de fichiers. 1.3 Evolution Chaque jour de nouveaux groupes rejoignent lInternet. Physiciens, chimistes, scientifiques de lespace manipulent et changent des informations en quantit beaucoup plus importante que les informaticiens. Demain, en fait aujourdhui, les particuliers se connectent galement Internet. Nombre de rseaux 1980 1990 1995 10
1

de machines dadministrateurs 102 105 1010 100 101 102

103 105

Cet accroissement important a demand de passer dune gestion centralise une gestion hirarchique et dcentralise du rseau Internet.

2. Prsentation des technologies sous-jacentes


LInternet ne constitue pas un nouveau type de rseau physique. La technologie matrielle joue un rle mineur dans lensemble, mais il important de faire la distinction entre

Janvier 96

TCP/IP

essaim LSI

mcanismes de bas niveau, assurs par le matriel, et services de haut niveau, fournis par le logiciel. 2.1 Deux approches des rseaux de communication La commutation de circuits Repose sur ltablissement dune connexion ddie entre deux points (tlphone). Cette technique prsente lintrt doffrir une capacit garantie, mais dtriment dun cot fixe, indpendant du trafic (en fait cela peut tre peru comme un avantage, car on sait lavance ce que lon paye !) La commutation de paquets Le trafic mis sur le rseau est trononn en petits morceaux, appels paquets, qui sont multiplexs sur les liens haut dbits qui relient les machines. Chaque paquets contient des informations qui identifient le destinataire. La commutation de paquets permet des communications simultanes entre machines. Ce type de rseaux est devenu extrmement populaire. 2.2 Types de rseaux WAN MAN LAN Wide Area Network Metropolitan Network Local Area Network 9,6 Kbits/s 56 Kbits/s 4 Mbits/s 45 Mbits/s 100 Mbits/s 2 Gbits/s

2.3 La technologie Ethernet La technologie Ethernet utilise la commutation de paquets ; elle a t invente par Xerox au PARC, au dbut des annes 70, puis normalise en 1978 par Xerox, Intel et Digital Equipment. Un rseau Ethernet est constitu dun cble coaxial denviron 1,27 cm de diamtre et dune longueur de 500 m au plus. Chaque extrmit est termine par une rsistance dimpdance identique limpdance caractristique du cble (52 Ohms). Le cble lui-mme, appel ether est entirement passif. Les rseaux Ethernet peuvent tre tendus au moyen de rpteurs. Deux rpteurs au plus peuvent tre placs entre deux machines quelconques, ce qui limite la longueur dun rseau Ethernet environ 1500 mtres. Les connexions sont ralises au moyen de robinets taps , appels galement vampires lorsquils mordent le cble. Chaque connexion comporte deux composants lectroniques majeurs : un transceiver et un coupleur. 2.3.1 Proprits dun rseau Ethernet Un rseau Ethernet est un bus contrle distribu, dune capacit nominale de 10 Mbit/s, bas sur la notion de remise pour le mieux ( best effort delivery ). Les stations sont en comptition les unes avec les autres et laccs au support nest pas garanti, des donnes peuvent donc tre perdues. Les informations sont diffuses ( broadcast ), les transceivers ne filtrent pas les donnes, ce sont les coupleurs qui liminent les paquets non dsirs. Il ny a pas dautorit centrale responsable de lallocation du support, la mthode daccs est dite CSMA/CD ( Carrier Sense Multiple Access with Collision Detect ).

Janvier 96

TCP/IP

essaim LSI

CSMA : plusieurs machines peuvent accder simultanment au cble, chaque machine dtermine si le cble est disponible en y dtectant une onde porteuse. En labsence de transmission, linterface de la machine commence transmettre pour une dure limite (afin de ne pas monopoliser le support) CD : Le signal se propage dans le cble environ 80 % de la vitesse de la lumire, et natteint pas simultanment les deux extrmits du cble. Deux TRX peuvent donc dcider en mme temps que le support est libre, ce qui engendre un mlange des signaux lectriques. Ce genre dincident est appel collision . Les collisions sont dtectes par chaque transceiver (par comparaison entre le signal mis et le signal sur le cble). En cas de collision, le coupleur interrompt la transmission pendant un temps alatoire, avant de rmettre. En cas de nouvelle collision, la plage de dlai est double, quadruple, ... 2.3.2 Variantes de lEthernet La technologie Ethernet a t amlior de multiples manires : Paires torsades : cble de type tlphone, bon march, sans blindage 10baseT et 100baseT. Ethernet fin : cble coax moins cher, connexion BNC, transceiver et coupleur intgrs sur la mme carte. Ethernet bande large : multiplexage de plusieurs Ethernet sur un mme cble (porteuses diffrentes) 2.3.3 Ladressage Ethernet Linterface filtre les paquets qui ne sont pas destins la machine. Chaque machine (en fait chaque coupleur) connect un rseau Ethernet possde un identificateur unique (un entier sur 48 bits) qui constitue son adresse Ethernet. Les adresses Ethernet sont partages en 3 types : adresse dune interface de rseau adresse de diffusion sur un rseau adresse de diffusion de groupe Par convention, ladresse de diffusion (tout 1) est rserve lmission vers toutes les machines du rseau. 2.3.4 Structure des trames Ethernet Le rseau Ethernet est une connexion entre machines au niveau liaison, les donnes changes sont structures en paquets appels trames ( frames ). Les trames ont une longueur variable entre 64 octets et 1518 octets. Prambule 64 bits Destination 48 bits Source 48 bits Type 16 bits Donnes 368-1200 bits CRC 32 bits

Le prambule contient une alternance de 64 bits 1 et 0, termine par 2 bits 1. Le type de trame permet lutilisation simultane de plusieurs protocoles, le CRC (Cyclic Redundancy Check) contrle la validit des informations.

Janvier 96

TCP/IP

essaim LSI

2.3.5 Les ponts et leur importance Un pont est un calculateur rapide, dot de deux interfaces rseau.
S egm ent 2 Pont Segm ent 1

Les ponts sont suprieurs aux rpteurs car ils ne reproduisent pas les bruits et les erreurs, ni les trames mal-formes. De plus, les ponts respectent les rgles CSMA/CD de sorte que les collisions et le dlai de propagation dun segment demeure indpendant de lautre segment. Grce aux ponts, un nombre quasi illimit de rseaux Ethernet peuvent tre relis. Les ponts masquent les dtails des interconnexions, le tout se comporte comme un rseau unique. La plupart des ponts prennent des dcisions intelligentes relatives aux trames acheminer. Ces ponts sont appels ponts filtrants ou ponts auto-adaptatifs ( learning bridges ).

S egm ent 2 Pont Segm ent 1

3.

Les adresses Internet

Ce chapitre traite de ladressage qui permet TCP/IP de masquer les dtails des rseaux physiques afin de faire apparatre les interconnexions de rseaux comme un rseau unique et uniforme. 3.1 Identificateurs universels

Un systme de communication fournit un service de communication universel sil permet toute machine de communiquer avec toute autre machine. Il faut donc une mthode gnrale pour identifier les machines. 3.2 Les trois premires classes dadresses IP

Une adresse Internet , aussi appele adresse IP, est un entier sur 32 bits, soigneusement choisi pour assurer lefficacit du routage. En particulier, une adresse IP inclut lidentification du rseau et dune machine particulire. Conceptuellement, chaque adresse IP est une paire (nom de rseau, nom de machine). Les adresses IP sont regroupes en 5 classes (A, B, C, D, E).

Janvier 96

TCP/IP

essaim LSI

Classe A B C D E

1 2 3 4 5 6 7 8

16

24

32

0 <--rseau---><-------------machine---------> 1 0 <------rseau--------><-------machine----> 1 1 0 <---------rseau-------------><-machine> 1 1 1 0 <---adresse de diffusion de groupe---> 1 1 1 1 0 <------rserve pour le futur------>

Les deux bits de poids fort suffisent diffrencier les 3 classes primaires dadresses. Les adresses de classe A sont utilises pour quelques rseaux de plus de 216 machines. Il nest aujourdhui pratiquement plus possible dobtenir des numros de classe A ou B. Les organisations demandent donc 1 ou plusieurs numros de classe C (nous en avons 5 lessaim). 3.3 Adresses de rseau et adresses de diffusion

En plus de permettre un routage efficace, le codage des informations rseau dans les adresses permet galement de rfrencer les rseaux indpendamment des machines. Ladresse rseau est obtenu en plaant tous les bits machine 0. Un autre avantage significatif du plan dadressage IP est dinclure une adresse de diffusion ( broadcast address ) qui rfrence toutes les machines du rseau. Conformment la norme, tout identificateur de machine ne comportant que des 1 est rserv la diffusion. Avec la technologie Ethernet, la diffusion est aussi efficace que la transmission normale. 3.4 Faiblesse de ladressage Internet

Le fait de coder linformation rseau dans ladresse IP prsente le dsavantage dobliger changer ladresse IP dune machine lorsquelle est dplace dun rseau un autre, ce qui pose un rel problme pour linformatique nomade. 3.5 La notation dcimale pointe

Les adresses IP sont gnralement reprsentes sous forme de quatre entiers dcimaux, spars par un point dcimal. 1000 0000 0000 1010 0000 0010 0001 1110 128.10.2.30 3.6 La boucle locale ( loopback )

Il sagit dune adresse particulire qui napparat jamais sur un rseau (127.0.0.0) et qui est destine permettre les communications inter-processus sur la machine locale. Lorsque nimporte quel programme dapplication utilise cette adresse, le logiciel de linterface rseau renvoie les donnes, sans les mettre sur le rseau.

4.

Association des adresses IP et des adresses physiques (ARP)

Dans le plan dadressage IP, chaque machine est dcrite par une adresse IP sur 32 bits. Il nous faut maintenant tudier comment une machine ou une passerelle met une adresse IP en

Janvier 96

TCP/IP

essaim LSI

correspondance avec la bonne adresse physique (qui dpend de la technologie de rseau employe). 4.1 Rsolution par association dynamique

Le protocole ARP ( Address Resolution Protocol ) fournit un mcanisme efficace et simple pour rsoudre les adresses dynamiquement. Lorsquune machine A veut rsoudre une adresse IP IB, elle diffuse (donc vers tout le monde) un paquet spcial qui demande, la machine dont ladresse IP est IB, de rpondre en indiquant sont adresse physique PB. Toutes les machines, B incluse, reoivent la requte mais seule la machine B reconnat son adresse IP et renvoie donc un message contenant son adresse physique. Il nest pas raliste de diffuser chaque fois quune machine A veut atteindre une machine B, car cest beaucoup trop coteux (toutes les machines doivent traiter le paquet de diffusion). Pour rduire les cots de communication, les machines qui utilisent ARP grent un tampon dans lequel elles enregistrent les associations entre adresses physiques et adresses IP les plus rcentes. Plusieurs amliorations sont possibles : lassociation entre adresse IP et Physique de lmetteur est incluse dans chaque demande ARP diffuse, et tous les rcepteurs extraient linformation une machine qui dmarre diffuse son adresse physique. 4.2 Encapsulation et identification de ARP

Les messages ARP sont vhiculs dans le champs de donnes dune trame : En tte de trame Zone de donnes de trame <--------------><--------Message ARP-------> Le champs de type vaut : 16 #0806#

5.

Dtermination dune adresse IP au dmarrage

Ladresse IP des machines est souvent enregistre dans la mmoire permanente et est lue durant le dmarrage de la machine. Les machines dpourvues de mmoire secondaire (TX, Diskless) doivent obtenir leur adresse avant que le systme dexploitation ne commence sexcuter. La procdure peut sembler paradoxale : une machine communique avec un serveur distant pour obtenir une adresse ncessaire pour communiquer. En fait, la machine cliente recours temporairement son adresse physique, pour communiquer sur un rseau physique donn avec une autre machine qui contient les associations entre adresses physiques et adresses IP. Le serveur nest pas connu du client, de nouveau la diffusion est employe est un ou plusieurs serveurs rpondent. 5.1 Le protocole de rsolution dadresse inverse (RARP)

Le protocole RARP est linverse du protocole ARP dont il est driv. Un message RARP permet une machine de demander ladresse IP dune machine tierce aussi facilement que sa propre adresse. Un message RARP est achemin dune machine une autre, encapsul dans le champs de donnes dune trame Ethernet. Le type de trame contient la valeur 16#8035#. Lorsquune machine diffuse une demande RARP, toutes les machines du rseau reoivent la requte, mais seules des machines particulires, dnommes serveurs RARP, rpondent la

Janvier 96

TCP/IP

essaim LSI

demande. Ladresse IP, une fois obtenue, est enregistre en mmoire centrale et le protocole de rsolution dadresse inverse nest plus utilis jusqu la prochaine mise sous tension.

6.
6.1

Remise de datagrammes en mode non connect


Systme de remise en mode sans connexion

Le systme de remise de paquets est le service fondamental des interconnexions de rseaux. Il sagit dun service de remise pour le mieux ( best effort delivery ), non fiable et sans connexions. Le service est dit non fiable car la remise des paquets nest pas garantie. Des paquets peuvent tre perdus, dupliqus, retards, altrs ou remis dans le dsordre. Le service ne dtecte pas ces conditions et nen informe ni lmetteur, ni le destinataire. Le service est dit sans connexion car chaque paquet est trait indpendamment de tous les autres. Les paquets dune suite, mis depuis une machine vers une autre, peuvent emprunter des chemins diffrents, certains peuvent tre perdus tandis que dautres sont correctement remis. Enfin, le service assure une remise dite pour le mieux parce que le logiciel dinterconnexion de rseaux ne dtruit pas de paquets de sa propre initiative. La remise est non fiable uniquement lorsque toutes les ressources sont satures, ou lorsque le rseau tombe en panne. Le protocole qui dfinit le systme de remise non fiable en mode sans connexion est appel Internet Protocol -> IP. IP donne trois dfinitions importantes : lunit de donne transfre (la structure de la donne) la fonction de routage des rgles sur le concept de remise non-fiable 6.2 Datagrammes IP

Lanalogie entre un rseau physique et une interconnexion TCP/IP est forte. Sur un rseau physique, lunit de donne transfre est la trame. Pour IP, lunit de donne transfre est appele datagramme ( datagram ). Un datagramme contient les adresses source et destination, ainsi quun champs de type, qui identifie la nature des donnes contenues dans le datagramme. 6.2.1 Structure des datagrammes 0 4 8 12 16 20 24 28 31 Version.Lgmat...Type...........Longueur totale................ Identification.................Drapeaux.Dplacement........... Dure de vie....Protocole......Total de contrle en tte...... Adresse IP source............................................. Adresse IP destination........................................ Options IP ventuelles.........................Bourrage....... Donnes....................................................... Janvier 96 8

TCP/IP

essaim LSI

Donnes....................................................... Donnes.......................................................

Tous les champs de lentte sont de taille fixe, sauf les options et le bourrage ( padding ). Description des champs : Version Lgmat : numro de version du protocole IP utilis pour crer le datagramme. : longueur de lentte en mots de 32 bits.

Lgr Totale : longueur du datagramme (en octets), entte et donnes incluses. La taille max du datagramme est de 216 =65536 octets. Type : type de service, indique comment le datagramme doit tre gr. il se dcompose en 5 parties. 0 1 2 3 4 5 6 7 priorit..D....T....R....Inutiliss.. La priorit du datagramme qui varie de 0 7 (0 = valeur normale, 7 = supervision du rseau) permet dassurer la priorit des informations de contrle par rapport aux donnes. Ainsi, les algorithmes de contrle de congestion ne sont pas affectes par les phnomnes quils tentent de matriser. Les bits D, T, R indiquent le type dacheminement dsir pour le datagramme : D = dlai court, T = dbit lev, R = grande fiabilit Ces informations sont destines aux algorithmes de routage, ce ne sont pas des exigences. 6.2.2 Taille des datagrammes, MTU rseau et fragmentation Dans le cas idal, lintgralit du datagramme tient dans le champs de donnes dune trame physique, ce qui rend la transmission efficace (Ethernet utilise la valeur 16#0800# pour indiquer que des donnes sont encapsules dans un datagramme IP). Chaque rseau physique dfinit une taille limite qui lui est propre (Ethernet 1500 octets, ProNet 2044, X25 128, ...). Au lieu de choisir des tailles de datagrammes compatibles avec les contraintes des rseaux physiques, les concepteurs de TCP/IP ont choisi une taille initiale pratique et ont mis au point une technique permettant de dcouper les grands datagrammes en morceaux plus petits, si besoin est. Ce processus est dnomm fragmentation. La taille de chaque fragment est choisie de faon permettre la transmission de chaque sousfragment dans une seule trame du rseau physique sous-jacent. De plus, comme IP reprsente le dplacement sous forme de multiples de 8 octets, la taille des fragments doit tre un multiple de 8. Chaque fragment contient une entte de datagramme qui reproduit la majeure partie de lentte initiale du datagramme (sauf un but dans le champ drapeaux qui indique quil sagit dun fragment. 6.2.3 Rassemblage des fragments Dans une interconnexion TCP/IP, les fragments sont achemins comme autant de datagrammes indpendants, jusqu leur destination finale. Le rassemblage au niveau de la

Janvier 96

TCP/IP

essaim LSI

destination finale permet le routage indpendant des fragments, les passerelles intermdiaires ne sont pas obliges de stocker ou rassembler les fragments. Lentte contient des informations pour le contrle de la fragmentation : Identification : un entier unique qui identifie le datagramme, et qui est recopi dans chaque fragment. Dplacement fragment : dplacement (en multiple de 8 octets) des donnes transportes dans le fragment courant par rapport au datagramme initial. Les fragments narrivent pas ncessairement dans le bon ordre et il ny a aucune communication entre la passerelle qui a ralis la fragmentation et la machine qui effectue le rassemblage. Les drapeaux : le premier bit (dit de non fragmentation) indique si le datagramme peut tre fragment. Le deuxime bit indique si le fragment contient des donnes issues du dbut, du milieu ou de la fin du datagramme. Dure de vie : indique en seconde la dure maximale de transit du datagramme dans linterconnexion de rseaux. La dure de vie est dfinie par la machine qui met le datagramme dans linterconnexion de rseaux. Les machines et les passerelles qui traitent le datagramme doivent dcrmenter la dure de vie du datagramme au fur et mesure que le temps scoule. Le datagramme est dtruit lorsque sa dure de vie expire. Protocole : analogue au champs type de trame du protocole Ethernet. Total de contrle : assure lintgrit des donnes contenues dans lentte. Les donnes ne sont pas contrles ce niveau de protocole. Adresses IP : source et destination. 6.2.4 Les options des datagrammes IP Les options sont incluses essentiellement des fins de test ou de mise au point. Il est par exemple possible denregistrer la route suivie par un datagramme dans linterconnexion de rseaux (suite des adresses IP des passerelles traverses).

7.

Routage des datagrammes IP

Dans un systme de commutation de paquets, le routage fait rfrence au processus de choix dun chemin pour transmettre les paquets, et le terme de routeur dsigne toute machine effectuant un tel choix. 7.1 Types de routage

Sur un rseau physique donn, une machine peut envoyer directement une trame physique une autre machine relie ce mme rseau. Routage indirect : lmetteur doit identifier la passerelle vers laquelle envoyer un datagramme, puis la passerelle doit acheminer le datagramme vers le rseau correspondant la destination. Les algorithmes de routage usuels utilisent, sur chaque machine, une table de routage Internet. Cette table contient des adresses de rseaux (valables pour toutes les machines de ces rseaux) accessibles par lintermdiaire des passerelles directement relies au rseau physique. Routage par dfaut : lorsque la destination napparat pas dans la table de routage, le datagramme est envoy une passerelle particulire, dsigne par la route par dfaut.

Janvier 96

10

TCP/IP 7.2 Routage avec les adresses IP

essaim LSI

Le routage IP naltre pas le datagramme initial. Les adresses IP, calcules par lalgorithme de routage, sont connues sous le nom dadresse de prochain saut ( next hop address ) et ne sont pas conserves aprs transmission du datagramme sur le rseau physique. 7.3 Gestion des datagrammes entrants

Un datagramme reu par une machine est remis, par le logiciel de linterface rseau, au logiciel IP pour tre trait. Si ladresse IP du datagramme concide avec ladresse IP de la machine, le logiciel IP accepte le datagramme et le transmet au protocole de plus haut niveau pour complment de traitement. Sinon, le datagramme est dtruit (les machines ne corrigent pas les erreurs de routage).

8.

Protocole de datagramme utilisateur

Jusqu prsent, nous avons considr la machine destinataire comme une entit globale. En fait, les machines excutent des processus qui sont eux les destinataires rels de datagrammes. Toutefois, indiquer un processus particulier, sur une machine spcifique, nest pas dune grande souplesse. Pour cette raison, les concepteurs de TCP/IP ont introduit une abstraction intermdiaire, qualifiable de destination abstraite, les ports de protocole . Chaque port est identifi par un entier positif, et le systme dexploitation local fournit une interface que les processus utilisent pour spcifier un port. La plupart des OS assurent un accs synchrone aux ports. Les donnes reues sont conserves un certain temps dans une file dattente, jusqu ce quun processus vienne les extraire. Pour communiquer avec un port distant, lmetteur a besoin de connatre la fois ladresse IP de la machine destination et le numro de port associ au protocole sur cette machine. Chaque message mis contient la fois le numro de port destination sur la machine destination, et le numro de port source sur la machine source qui les rponses seront adresses. 8.1 Le protocole UDP

Dans la suite de protocole TCP/IP, UDP ( User Datagram Protocol ) assure le mcanisme de base qui permet aux programmes dapplication denvoyer des datagrammes dautres programmes dapplication. Le protocole UDP fournit des ports de protocoles qui permettent de distinguer diffrents programmes dapplication. En plus des donnes mises, les messages UDP contiennent les numros de port destination et source. UDP assure un service de remise non fiable, en mode sans connexion, qui utilise IP pour acheminer les messages entre machines. Un programme qui utilise UDP doit grer les problmes de fiabilit, pertes de messages, duplications, retards, d-squencements et pertes de connectivit. Pige : le logiciel fonctionne bien sur un rseau local simple mais pas sur une grande interconnexion.

Janvier 96

11

TCP/IP 8.2 Structure des messages UDP

essaim LSI

Un datagramme utilisateur comporte deux parties : un entte UDP et une zone de donnes. 0 8 16 Total de contrle 31 Port UDP source Longueur msg UDP ......... Le calcul du total de contrle est facultatif => pour gagner en vitesse. 8.3 Numros de ports rservs et non rservs Port UDP destination

Donnes .................................

Certains ports sont rservs, mais la plus grande partie est laisse la disposition des sites ou des programmes dapplication locaux. Les numros rservs sont affects en croissant partir des valeurs les plus faibles. Les valeurs les plus grandes peuvent tre alloues dynamiquement. Ex : les TX utilisent tftp (port 69)pour charger leur logiciel de serveur X.

9.

Transfert fiable en mode connect (TCP)

TCP a pour objet de permettre le transfert dinformation de faon fiable quel que soit le dbit, le volume ou la distance, et ceci indpendamment des rseaux formant linterconnexion. 9.1 Proprits des services de remise fiable

Orientation connexion. Lors de transfert de gros volume de donnes, les flots de bits sont dcomposs en octets (8 bits). Un service de remise fiable transmet la machine destination autant de bits que lmetteur en a envoy depuis la machine source. Circuits virtuels. Les programmes dapplication voient les connexions comme des circuits matriels ddis. La fiabilit est une illusion assure par le service de remise fiable. Transferts tamponns. Les applications utilisent toute taille de donnes qui leur parait adapte. Le logiciel de communication est libre de composer ou de dcomposer le flot en paquets indpendants du choix de lapplication ( des fins defficacit). Les applications peuvent forcer lmission des donnes (mme si le tampon nest pas plein) au moyen dun mcanisme dnomm push . La commande pousser agit de bout en bout, elle force la transmission et la remise. Par contre, la taille des enregistrements reste du ressort des couches plus basses. Connexions non structures. Les applications qui utilisent TCP doivent dfinir et comprendre la structure des donnes applicatives changes. Connexions bidirectionnelles simultanes ( full duplex ). Les programmes dapplications voient deux flots indpendants, de sens contraire. Le protocole sous-jacent peut envoyer des informations de contrle relatives un sens de transfert dans lentte TCP des segments mis en sens inverse ( piggy backing ).

Janvier 96

12

TCP/IP 9.2 Assurer la fiabilit

essaim LSI

La technique fondamentale est nomme acquittement positif avec retransmission ( positive acknowledgment with retransmission ). Le rcepteur dialogue avec lmetteur et lui envoie des accuss de rception chaque arrive de donnes. La source conserve une copie des paquets mis et attend un accus de rception avant dmettre le paquet suivant. Lmetteur arme une temporisation lorsquil met un paquet et retransmet le paquet si la temporisation expire avant larrive de laccus de rception. Le schma se complique lorsque la couche sous-jacente duplique un paquet (donnes ou accus de rception). En gnral, les protocoles fiables dtectent les paquets dupliqus en affectant chaque paquet un numro de squence et en exigeant que le rcepteur se souvienne des numros reus. Inversement, pour viter les ambiguts dues aux accuss de rception retards ou dupliqus, les protocoles dacquittement positif et de retransmissions mentionnent les numros de squence dans les accuss de rception. Le rcepteur peut ainsi associer correctement les accuss de rception aux paquets qui leur correspondent. 9.3 Le concept de fentre glissante ( sliding window )

Le protocole dacquittement positif gaspille une quantit significative de bande passante, car la transmission dun nouveau paquet est retarde, tant que laccus de rception correspondant na pas t reu par lmetteur du paquet prcdent. La technique de la fentre glissante consiste envoyer un petit nombre de paquets sans attendre laccus de rception dun paquet pour envoyer le suivant. Ce systme, bas sur le fait quun rseau fonctionne plus souvent quil ne fonctionne pas, permet dobtenir un dbit sensiblement plus lev quun simple protocole daccus positif. 9.4 Le protocole de contrle de transmission (TCP)

TCP est un protocole, pas une application. Le document relatif au protocole dfinit uniquement les fonctions du protocole, pas la faon prcise daccder ces fonctions. TCP ne suppose que peu de choses sur le systme de communication sous-jacent. Il est utilisable avec un grand nombre de systmes de remise de paquets, parmi lesquels le service de remise de datagramme IP. 9.5 Ports, connexions et extrmits de connexions

Comme UDP, TCP se trouve au-dessus de IP dans le modle en couche. TCP (comme UDP) permet plusieurs applications de communiquer en mme temps, en dmultiplexant les informations reues vers les diffrents programmes utilisateurs, partir des numros de port pour identifier les destinations finales sur une machine donne. ...................Application....................... Flot fiable (TCP)........Datagramme utilisateur (UDP) .................Interconnexion (IP)................. ..................Interface rseau...................

Janvier 96

13

TCP/IP

essaim LSI

TCP utilise les connexions, et non le port, comme concept principal. Les connexions sont alors identifies par leurs deux extrmits. Une extrmit de connexion est dfinie par une paire de nombres entiers (machine, port). Une connexion est dfinie par une paire dextrmits ((machine i, port i), (machine j, port j)). Le concept de connexion permet de partager une mme extrmit entre plusieurs connexions. Ainsi, il est possible de concevoir des programmes serveurs, qui assurent un service simultan de plusieurs connexions, sans avoir besoin de numros de port locaux spcifiques pour chaque connexion. 9.6 Taille de fentre variable et contrle de flux

Avec TCP la taille de la fentre varie dans le temps. Chaque accus de rception indique le nombre doctets correctement reus et contient une indication de taille de fentre ( window advertisement ) qui indique le nombre doctets supplmentaires que le rcepteur est prt accepter. Lorsque les indications de taille de fentre sont infrieures la valeur prcdente, la fentre se rduit au fur et mesure quelle se dplace. Le mcanisme de taille de fentre variable permet deffectuer du contrle de flux, ainsi que du transfert fiable. Dans les cas extrmes, le rcepteur donne une indication de taille de fentre nulle pour arrter la transmission des donnes. 9.7 9.8 9.9 9.10 9.11 Structure des segments Temporisations et retransmissions Echantillonage prcis du temps de boucle Algorithme de Karn et augmentation des temporisations Etablissement dune connexion TCP

TCP utilise un processus en trois temps : Emetteur ----> <-------> Rseau SYN sq x ACK y+1 Rcepteur -----> ----->

SYN sq y, ACK x+1 <-----

Le processus en trois temps permet dtablir une synchronisation correcte entre les deux extrmits de la connexion, car TCP ignore les demandes de connexions supplmentaires reues aprs ltablissement de la connexion (du fait de la retransmission possible de la demande initiale). Chaque extrmit est prte transfrer des donnes et les deux parties se sont accordes sur les numros de squence de dpart.

Janvier 96

14

TCP/IP 9.12 Libration dune connexion TCP

essaim LSI

TCP utilise un processus en trois temps modifi pour librer une connexion : Emetteur ----> <---Rseau FIN sq x ACK x+1 Rcepteur -----> <----Messages vers les applications pour avertir de la fin <----- rponses des applications <--------> 9.13 FIN y, ACK x+1 ACK y+1 <--------->

Numros de ports TCP rservs

Comme UDP, TCP combine lassociation statique et dynamique. Moins de 256 ports sont rservs, le reste est laiss la disposition des applications. (FTP 21 et 20, Telnet 23). 9.14 Performance de TCP

Malgr sa complexit, TCP est un protocole trs efficace. Le logiciel TCP qui fonctionne sur lInternet peut assurer un dbit soutenu de 8 Mbit/s entre deux stations relies par un rseau Ethernet 10 Mbit/s. Cray Research Inc. a obtenu des dbits de plus de 600 Mbit/s, soit une valeur du mme ordre de grandeur quun bus.

10.

Le systme de noms de domaine

Les noms de domaines permettent dattribuer des noms symboliques significatifs un grand nombre de machines, travers une correspondance entre noms et adresses IP. 10.1 Les noms hirarchiques

Le mcanisme de nommage est dcentralis des organismes responsables dun sousensemble de lespace de nommage. Dun point de vue syntaxique, la subdivision de lespace des noms introduit une partition supplmentaire dans le nom. Ainsi : lsi.essaim.univ-mulhouse.fr 10.2 Noms de domaines officiels et officieux

Ladministration dInternet choisi de diviser les domaines suprieurs selon la liste suivante : Nom de domaine com edu gov mil Correspondance entreprises commerciales enseignement gouvernement (US) militaires (US)

Janvier 96

15

TCP/IP net org int code du pays

essaim LSI sites rseau dimportance majeure organisation organisation internationales chaque pays

Notons quil nest pas possible de distinguer les noms de sous-domaines des noms dobjets individuels, daprs le seul systme des noms.

11.

La connexion distance (Telnet, rlogin)

Telnet permet dtablir une connexion TCP avec le serveur Telnet dune autre machine. Les caractres frapps sur le clavier de la machine locale sont transmis la machine distante, qui les reoit comme sils avaient t frapps sur son propre clavier. Telnet achemine galement les rponses du systme distant vers lcran du terminal de lutilisateur. 11.1 Les services de Telnet Telnet propose trois services de base : un terminal virtuel rseau : avec une interface normalise un mcanisme de ngociation doptions entre client et serveur un traitement symtrique des deux extrmits de la connexion Un point daccs au systme dexploitation est appel pseudo-terminal . Pour prendre en compte lhtrognit des quipements du rseau, telnet spcifie les squences de commandes et la faon dont les donnes sont mises sur le rseau. Reprsentation client Client Reprsentation virtuelle Serveur Reprsentation serveur Telnet utilise un signal hors bande lors de lmission des fonctions de contrle ( partir du mcanisme TCP de donnes urgentes). 11.2 Les options de Telnet Telnet permet de ngocier les options de manire symtrique entre un client et un serveur, ceci permet de reconfigurer une connexion au mieux. Comme tous les logiciels Telnet comprennent un protocole de terminal virtuel de base, clients et serveurs peuvent cooprer mme si lun dentre eux comprend une option que lautre ne comprend pas. Dans la terminologie Telnet, les termes de la ngociation se prsentent comme suit : Will X Do X Dont X

Janvier 96

16

TCP/IP

essaim LSI

Ainsi, il est possible de faire inter-oprer des versions rcentes et sophistiques avec des versions plus anciennes et rudimentaires. 11.3 rlogin Rlogin est un systme de connexion distance spcifique des machines UNIX, par opposition Telnet, plus gnral (indpendant des types de machine et des OS). Rlogin intgre la notion de machine privilgie, ce qui permet un utilisateur de se connecter sur une autre machine sans devoir entrer son mot de passe.

12. Transfert de fichiers et accs aux fichiers


12.1 FTP, le principal protocole de transfert de fichiers Le transfert de fichiers entre machines htrognes connectes par TCP est moins vident quil ny parait. En effet, les dtails des droits daccs et du systme de nommage rendent ce protocole trs complexe. De plus, FTP offre de nombreuses options qui dpassent le seul transfert de fichier. Accs interactif. En plus de linterface programmable, FTP offre une interface interactive qui permet lutilisateur dinteragir facilement avec des serveurs distants. Spcification de reprsentation. FTP permet aux clients de prciser le type et la reprsentation des donnes transfres (texte, binaire, ASCII ou EBCDIC). Vrification des utilisateurs. FTP exige des clients quils envoient un nom dutilisateur et un mot de passe au serveur, avant dtre autoris transfrer des fichiers. FTP cre deux connexions entre la machine cliente et la machine serveur, la premire pour les donnes (port 20) la deuxime pour le contrle (port 21). Les serveurs FTP communiquent sur la liaison de contrle par lintermdiaire de NVT (Network Virtual Terminal) dj dfini par Telnet, mais sans ngociation doption. Afin de simplifier laccs aux fichiers de nombreux sites adoptent la convention du FTP anonyme : login > anonymous passwd > guest ou alors aussi pam@univ-mulhouse.fr

12.2 TFTP Trivial File Transfer Protocol La famille TCP/IP contient un deuxime protocole de transfert de fichier peu coteux, qui assure les services de base. Ce protocole est destin aux applications ne ncessitant pas dinteraction complexes entre client et serveur (amorage des terminaux X par exemple). Il limite le fonctionnement au seul transfert de fichiers et neffectue pas de contrle daccs. Notons que TFTP ne ncessite pas un transfert fiable, il sexcute donc au-dessus de UDP. Lmetteur envoie les fichiers sous forme de blocs de taille fixe (512 octets) et attend davoir un accus de rception pour chaque bloc, avant denvoyer le bloc suivant. Le rcepteur acquitte les donnes ds rception.

Janvier 96

17

Vous aimerez peut-être aussi