Cours Tcp-Ip 4TR ISA
Cours Tcp-Ip 4TR ISA
Cours Tcp-Ip 4TR ISA
4me TR-ISA
Plan
INTRODUCTION : les rseaux locaux (Ethernet, TR, FDDI), INTERNET CONCEPTS DE L'INTERCONNEXION L'ADRESSAGE INTERNET ARP : PROTOCOLE DE RESOLUTION D'ADRESSE RARP : PROTOCOLE DE RESOLUTION D'ADRESSE INVERSE
LE PROTOCOLE INTERNET ROUTAGE DES DATAGRAMMES LE SOUS - ADRESSAGE LA SECURITE FILTRAGE dADRESSE S LE PROTOCOLE ICMP UDP : LE PROTOCOLE TRANSPORT DATAGRAM TCP : LE PROTOCOLE DE TRANSPORT FIABLE
- Ethernet a t dvelopp par Xerox en 1976, standard normalis par lIEEE sous rf 802.3
- Noms pour diffrentes variantes: 10 base5 dsigne la premire version, 10 indique le dbit en Mbit/s, le mot base prcise que la tx se fait en BDB (sans modulation) et le 5 indique que le cble coax permet la tx sur une distance de 500 m (thick Ethernet)
- Le modle OSI
- Larchitecture en couche
Ethernet, TR ou autre
Introduction (suite)
TCP/IP : but = interconnexion de rseaux sur une base plantaire Technologie issue des annes 1970, de projets DARPA Aujourdhui : plus de 100000 rseaux interconnects, plusieurs millions de machines, plusieurs dizaines de millions d'utilisateurs de "l'lnternet". Interconnecte divers rseaux : Ethernet, T.R., X25, FR, FDDI, etc. La technologie est constitue par des protocoles de base (suite TCP/IP) qui offrent les services de base du transfert des donnes : transport de datagrammes : service lmentaire de la commutation de paquets. transport de messages scuriss : service orient connexion permettant d'acheminer des donnes en garantissant leur intgrit adaptation de la technologie TCP / IP la plupart des interfaces matrielles. Ces services de base sont indpendants du support de transmission; adaptables toute sorte de media depuis les rseaux locaux jusqu'aux rseaux longue distance.
6
Introduction (suite)
Interconnexion universelle : les machines ont une adresse unique sur l'Internet. Deux machines relies au rseau, communiquent grce aux autres noeuds du rseau qui routent de manire cooprative sur la base de l'adresse destinataire. il n'y a pas de machines prioritaires Dans le cadre du transport scuris, les acquittements sont effectus entre les systmes finaux (source et destinataire) plutt que continuellement entre chaque noeud relayant les messages. Applications standards bties sur la technologie de base : courrier lectronique, transfert de fichier, mulation terminal, etc. Technologie publique et largement diffuse travers les RFC's. Indpendante des constructeurs et disponible sur tous types de matriel (micro, station, super-calculateur et quipements de rseaux) Largement valide depuis de nombreuses annes dans un monde htrogne.
Concepts de linterconnexion
Point de dpart : les rseaux interconnects sont de nature diverse Les diffrences entre tous ces rseaux ne doivent pas apparatre l'utilisateur de l'interconnexion. Abstraction chaque niveau de fonctionnalit (couches de protocoles) qui encapsule les fonctionnalits de niveau infrieur Affranchit l'utilisateur des dtails relatifs aux couches infrieures et finalement au rseau lui-mme (couche physique). Les premiers systmes d'interconnexion ont trait le problme au niveau applicatif : messagerie relayant le message de noeud en noeud. Cette solution prsente plusieurs inconvnients : si les applications interfacent elles-mmes le rseau (aspects physiques), elles sont victimes de toute modification de celui-ci, plusieurs applications diffrentes sur une mme machine dupliquent l'accs au rseau, lorsque le rseau devient important, il est impossible de mettre en oeuvre toutes les applications ncessaires l'interconnexion sur tous les noeuds des rseaux.
9
Alternative cette solution : mise en oeuvre de l'interconnexion au niveau des protocoles grant la couche rseau de ces systmes. Avantage considrable : les donnes sont routes par les noeuds intermdiaires sans que ces noeuds aient la moindre connaissance des applications responsables des ces donnes Autres avantages : la commutation est effectue sur la base de paquets de petite taille plutt que sur la totalit de fichiers pouvant tre de taille trs importante, le systme est flexible puisquon peut facilement introduire de nouveaux interfaces physiques en adaptant la couche rseau alors que les applications demeurent inchanges, les protocoles peuvent tre modifis sans que les applications soient affectes.
10
Le concept d'interconnexion ou d'internet repose sur la mise en oeuvre d'une couche rseau masquant les dtails de la communication physique du rseau et dtachant les applications des problmes de routage.
L'interconnexion : faire transiter des informations depuis un rseau vers un autre rseau par des noeuds spcialiss appels passerelles (gateway) ou routeurs (router)
11
Reseau A
Reseau B
Le rle de la paserelle P est de transfrer sur le rseau B, les paquets circulant sur le rseau A et destins au rseau B et inversement.
12
P1
Reseau B
P2
Reseau C
P1 transfre sur le rseau B, les paquets circulant sur le rseau A et destins aux rseaux B et C P1 doit avoir connaissance de la topologie du rseau; savoir que C est accessible depuis le rseau B. Le routage n'est pas effectu sur la base de la machine destinataire mais sur la base du rseau destinataire
13
A l'intrieur de chaque rseau, les noeuds utilisent la technologie spcifique de leur rseau (Ethernet, X25, etc)
Le logiciel d'interconnexion (couche rseau) encapsule ces spcificits et offre un service commun tous les applicatifs, faisant apparatre l'ensemble de ces rseaux disparates comme un seul et unique rseau.
Vue utilisateur
Ladressage Internet
But : fournir un service de communication universel permettant toute machine de communiquer avec toute autre machine de linterconnexion
Une machine doit tre accessible aussi bien par des humains que par d'autres machines
un nom (mnmotechnique pour les utilisateurs), une adresse qui doit tre un identificateur universel de la machine, une route prcisant comment la machine peut tre atteinte.
15
Ladressage Internet
Solution : adressage binaire compact assurant un routage efficace Utilisation de noms pour identifier des machines (ralise un autre niveau que les protocoles de base) Les classes d'adressage
Une adresse = 32 bits dite "internet address" ou "IP address" constitue d'une paire (netid, hostid) o netid identifie un rseau et hostid identifie une machine sur ce rseau. Cette paire est structure de manire dfinir cinq classes d'adresse
16
Classe A Classe B
10
Classe C
Classe D Classe E
110
1110 11110
Multicast Rserv
17
Notation dcimale L'interface utilisateur concernant les adresses IP consiste en la notation de quatre entiers dcimaux spars par un point, chaque entier reprsentant un octet de l'adresse IP : 10000000 00001010 00000010 00011110 est crit :
128.10.2.30
Adresses particulires Adresses rseau : adresse IP dont la partie hostid ne comprend que des zros; => la valeur zro ne peut tre attribue une machine relle : 192.20.0.0 dsigne le rseau de classe B 192.20. Adresse machine locale : adresse IP dont le champ rseau (netid) ne contient que des zros; hostid = 0 (=> tout zro), l'adresse est utilise au dmarrage du systme afin de connatre l'adresse IP (Cf RARP).
18
19
Adresse de boucle locale : l'adresse rseau 127.0.0.0 est rserve pour la dsignation de la machine locale, c'est dire la communication intra-machine. Une adresse rseau 127 ne doit, en consquence, jamais tre vhicule sur un rseau et un routeur ne doit jamais router un datagramme pour le rseau 127.
20
Rsum
8 16 24 31
Net-id
127
Tout un
Nimporte quoi (souvent 1)
21
et connexions
Une adresse IP => une interface physique => une connexion rseau.
S'applique particulirement aux routeurs qui possdent par dfinition plusieurs connexions des rseaux diffrents
A une machine, est associ un certain nombre N d'adresses IP. Si N > 0 la machine (ou passerelle) est multi-domicilie.
193.49.60.41 193.49.60.43 193.49.60.1 192.100.1.2 192.100.1.1
La passerelle est multi-domicilie: interface 1 : Ethernet 193.49.60.1 interface 2 : Token Ring 192.100.1.1
192.100.1.7
22
Combien de rseau peut avoir de classe A et pour chaque rseau combien peut-on avoir de machines. Mme question pour les classes B et C.
Nbre de rseaux
Nbre de machines
A B C
24
- Les adresses prives sont, par dfinitions, non "routable" sur le rseau Internet Cela signifie plus clairement que les dispositifs d'aiguillage du rseau ne pourront jamais viser une machine qui se trouve dans une classe prive. Cela ne signifie pas qu'un systme dont l'adresse IP est prive ne peut se connecter au rseau des rseaux. Cela traduit en fait l'impossibilit pour un tel systme d'tre serveur de la toile. Il est clair que cette optique prsente une amlioration immdiate de la scurit des machines qui y adhrent. - L'utilisation d'adresses prives a aussi trs souvent pour but de rduire la consommation des adresses publiques qui se rarfient mesure qu'Internet grandit. En fait l'adressage priv est la solution qui permet de repousser la limite de saturation du nombre de machine qui peuvent se connecter au rseau mondial. Une classe complte prive locale peut accder l'extrieur par une adresse publique unique et un mcanisme que l'on appelle le NAT (Network Address Translation)
25
Le besoin La communication entre machines ne peut s'effectuer qu' travers l'interface physique Les applicatifs ne connaissant que des adresses IP, comment tablir le lien adresse IP / adresse physique? La solution : ARP Mise en place dans TCP/IP dun protocole de bas niveau appel Adress Resolution Protocol (ARP) Rle de ARP : fournir une machine donne l'adresse physique d'une autre machine situe sur le mme rseau partir de l'adresse IP de la machine destinatrice LA technique : Diffusion d'adresse sur le rseau physique La machine d'adresse IP met un message contenant son adresse physique Les machines non concernes ne rpondent pas Gestion cache pour ne pas effectuer de requte ARP chaque mission
26
L'association adresse physique - adresse IP de l'metteur est incluse dans la requte ARP de manire ce que les rcepteurs enregistrent l'association dans leur propre mmoire cache
Pour connatre l'adresse physique de B, PB, partir de son adresse IP IB, la machine A diffuse une requte ARP qui contient l'adresse IB vers toutes les machines; la machine B rpond avec un message ARP qui contient la paire (IB, PB).
27
Format du message ARP La requte ARP est vhicule dans un message protocolaire lui-mme encapsul dans la trame de liaison de donnes. Lorsque la trame arrive destination, la couche liaison de donnes dtermine l'entit responsable du message encapsul; Ex: champ type de la trame Ethernet: 0806 pour ARP La structure du message ARP/RARP gre une association adresse de protocole / adresse physique indpendamment de l'interface physique et du protocole utilis :
28
Type de matriel
LGR-MAT
Type de protocole
29
Le besoin L'adresse IP d'une machine est configurable (elle dpend du rseau sur lequel elle se trouve) et est souvent enregistre sur la mmoire secondaire o le systme d'exploitation l'accde au dmarrage. Ce fonctionnement usuel n'est plus possible ds lors que la machine est une station sans mmoire secondaire. Problme : dterminer un mcanisme permettant la station d'obtenir son adresse IP depuis le rseau. La solution Protocole de bas niveau appel Reverse Adress Resolution Protocol Permet d'obtenir son adresse IP partir de l'adresse physique qui lui est associe. Fonctionnement Serveur RARP sur le rseau physique; son rle: fournir les adresses IP associes aux adresses physiques des stations du rseau;
30
Le serveur possde une base de donnes contenant les couples adresse physique/adresse IP, les stations mettent une requte RARP sur le rseau, consistant demander l'adresse IP qui est associe leur adresse physique, Les requtes RARP sont propages vers le ou les serveur(s) RARP par mcanisme de diffusion. Le(s) serveur(s) RARP rponde(nt) par un message de type RARP.
Pour conatre son adresse IP, A diffuse sur le rseau, une requte RARP qui la dsigne comme destinataire Les Serveurs RARP (B et C) rpondent la requte.
31
IP : Internet Protocol
Le protocole Internet (Internet Protocol ou IP) : ralise les fonctionnalits de la couche rseau selon le modle OSI se situe au coeur de l'architecture TCP/IP qui met en oeuvre un mode de transport fiable (TCP) sur un service rseau en mode non connect :
Services Applicatifs
Le service offert par le protocole IP est dit non fiable : remise de paquets non garantie, sans connexion (paquets traits indpendamment les uns des autres), pour le mieux (best effort, les paquets ne sont pas limins sans raison).
32
protocole IP dfinit :
l'unit de donne transfre dans les interconnexions (datagramme), la fonction de routage, les rgles qui mettent en oeuvre la remise de paquets en mode non connect
33
16
19
24
31
Padding
...
34
Inutilis
PRECEDENCE (3 bits) : dfinit la priorit du datagramme; en gnral ignor par les machines et passerelles (pb de congestion). Bits D, T, R : indiquent le type d'acheminement dsir du datagramme, permettant une passerelle de choisir entre plusieurs routes (si elles existent) : D signifie dlai court, T signifie dbit lev et R signifie grande fiabilit.
35
FRAGMENT OFFSET, FLAGS, IDENTIFICATION : les champs de la fragmentation. Sur toute machine ou passerelle mettant en oeuvre TCP/IP une unit maximale de transfert (Maximum Transfert Unit ou MTU) dfinit la taille maximale d'un datagramme vhicul sur le rseau physique correspondant lorsque le datagramme est rout vers un rseau physique dont le MTU est plus petit que le MTU courant, la passerelle fragmente le datagramme en un certain nombre de fragments, vhiculs par autant de trames sur le rseau physique correspondant, lorsque le datagramme est rout vers un rseau physique dont le MTU est suprieur au MTU courant, la passerelle route les fragments tels quels (rappel : les datagrammes peuvent emprunter des chemins diffrents), le destinataire final reconstitue le datagramme initial partir de l'ensemble des fragments reus; la taille de ces fragments correspond au plus petit MTU emprunt sur le rseau. Si un seul des fragments est perdu, le datagramme initial est considr comme perdu : la probabilit de perte d'un datagramme augmente avec la fragmentation.
36
FRAGMENT OFFSET : indique le dplacement des donnes contenues dans le fragment par rapport au datagramme initial. C'est un multiple de 8 octets; la taille du fragment est donc galement un multiple de 8 octets. chaque fragment a une structure identique celle du datagramme initial, seul les champs FLAGS et FRAGMENT OFFSET sont spcifiques.
37
P1
Rseau 2 MTU=620
P2
Rseau 3 MTU=1500
En-tte datagramme
EF1 et EF2 ont le bit More (M) positionn. Le dplacement (depl) est relatif au datagramme initial.
Longueur totale : taille du fragment et non pas celle du datagramme initial, partir du dernier fragment (TOTAL LENGTH, FRAGMENT OFFSET et FLAGS) on peut dterminer la taille du datagramme initial. IDENTIFICATION : entier qui identifie le datagramme initial (utilis pour la reconstitution partir des fragments qui ont tous la mme valeur). FLAGS contient un bit appel "do not fragment" (01X) un autre bit appel "More fragments" (FLAGS = 001 signifie d'autres fragments suivre) permet au destinataire final de reconstituer le datagramme initial en identifiant les diffrents fragments (milieu ou fin du datagramme initial) les passerelles doivent accepter des datagrammes dont la taille maximale correspond celle du MTU le plus grand, des rseaux auxquels elle est connecte. les passerelles doivent accepter sans les fragmenter, les datagrammes de longueur 576 octets.
39
Dure de vie Ce champ indique en secondes, la dure maximale de transit du datagramme sur l'internet. La machine qui met le datagramme dfinit sa dure de vie. Les passerelles qui traitent le datagramme doivent dcrmenter sa dure de vie du nombre de secondes (1 au minimum) que le datagramme a pass pendant son sjour dans la passerelle; lorsque celle-ci expire le datagramme est dtruit et un message d'erreur est renvoy l'metteur. Protocole Ce champ identifie le protocole de niveau suprieur dont le message est vhicul dans le champ donnes du datagramme :
Somme de contrle de len-tte Ce champ permet de dtecter les erreurs survenant dans l'en-tte du datagramme, et par consquent l'intgrit du datagramme. Le total de contrle d'IP porte sur l'en-tte du datagramme et non sur les donnes vhicules. Lors du calcul, le champ HEADER CHECKSUM est suppos contenir la valeur 0 : xxxx xxxx xxxx xxxx (VERS, HLEN, TYPE OF SERVICE) xxxx xxxx xxxx xxxx (TOTAL LENGTH) xxxx xxxx xxxx xxxx (ID. FLAGS, FRAGMENT OFFSET) xxxx xxxx xxxx xxxx (TIME TO LIVE, PROTOCOL) 0000 0000 0000 0000 (HEADER CHECKSUM) xxxx xxxx xxxx xxxx (IP SOURCE ) xxxx xxxx xxxx xxxx (IP SOURCE) xxxx xxxx xxxx xxxx (IP DESTINATION) xxxx xxxx xxxx xxxx (IP DESTINATION) ... (OPTIONS ventuelles + PADDING
41
OPTIONS Le champ OPTIONS est facultatif et de longueur variable. Les options concernent essentiellement des fonctionnalits de mise au point. Une option est dfinie par un champ octet :
0 1 2 3
C
classe doption
Numro doption
copie (C) indique que l'option doit tre recopie dans tous les fragments (c=1) ou bien uniquement dans le premier fragment (c=0). les bits classe d'option et numro d'option indiquent le type de l'option et une option particulire de ce type :
42
Enregistrement de route (classe = 0, option = 7) : permet la source de crer une liste d'adresse IP vide et de demander chaque passerelle d'ajouter son adresse dans la liste.
code
Longueur pointeur
Adresse IP
Adresse IP ...
43
Routage strict prdfini par l'metteur (classe = 0, option = 9): prdfinit le routage qui doit tre utilis dans l'interconnexion en indiquant la suite des adresses IP dans l'option : code
Longueur pointeur
... Le chemin spcifi ne tolre aucun autre intermdiaire; une erreur est retourne l'metteur si une passerelle ne peut appliquer le routage spcifi. Les passerelles enregistrent successivement leur adresse l'emplacement indiqu par le champ pointeur.
44
Routage lche prdfini par l'metteur (classe = 0, option = 3): Cette option autorise, entre deux passages obligs, le transit par d'autres intermdiaires : code
Longueur pointeur
...
45
Horodatage (classe = 2, option = 4) : cette option permet d'obtenir les temps de passage (timestamp) des datagrammes dans les passerelles. Exprim en heure et date universelle.
code
Premier horodatage
...
Une liste de couples (adresse IP - horodatage) est rserve par l'metteur; les passerelles ont charge de remplir un champ lors du passage du datagramme.
46
Le champ dpassement de capacit (dep.) comptabilise les passerelles qui n'ont pu fournir les informations requises ( liste initiale tait trop petite). Le champ FLAGS indique si les passerelles doivent renseigner uniquement l'horodatage (FLAGS = 0), ou bien l'horodatage et l'adresse IP (FLAGS=1). Si les adresses IP sont prdfinies par l'metteur (FLAGS=3), les passerelles n'indiquent l'horodatage que si l'adresse IP pointe par le champ pointeur est identique leur adresse IP. Les horodatages, bien qu'exprims en temps universel, ne constituent qu'une estimation sur le temps de passage car les horloges des machines situes sur les rseaux ne sont pas synchronises.
47
Le routage est le processus permettant un datagramme dtre achemin vers le destinataire lorsque celui-ci nest pas sur le mme rseau physique que lmetteur. Le chemin parcouru est le rsultat du processus de routage qui effectue les choix ncessaires afin dacheminer le datagramme. Les routeurs forment une structure cooprative de telle manire quun datagramme transite de passerelle en passerelle jusqu ce que lune dentre elles le dlivre son destinataire. Un routeur possde deux ou plusieurs connexions rseaux tandis quune machine possde gnralement quune seule connexion. Machines et routeurs participent au routage : les machines doivent dterminer si le datagramme doit tre dlivr sur le rseau physique sur lequel elles sont connectes (routage direct) ou bien si le datagramme doit tre achemin vers une passerelle; dans ce cas (routage indirect), elle doit identifier la passerelle approprie. les passerelles effectuent le choix de routage vers dautres passerelles afin dacheminer le datagramme vers sa destination finale.
48
M
M est mono-domicilie et doit acheminer les datagrammes vers une des passerelles P1 ou P2; elle effectue donc le premier routage. Dans cette situation, aucune solution noffre un meilleur choix.
Le routage indirect repose sur une table de routage IP, prsente sur toute machine et passerelle, indiquant la manire datteindre un ensemble de destinations.
49
Les tables de routage IP, pour des raisons videntes dencombrement, renseignent seulement les adresses rseaux et non pas les adresses machines. Typiquement, une table de routage contient des couples (R, P) o R est ladresse IP dun rseau destination et P est ladresse IP de la passerelle correspondant au prochain saut dans le cheminement vers le rseau destinataire. La passerelle ne connat pas le chemin complet pour atteindre la destination. Pour une table de routage contenant des couples (R, P) et appartenant la machine M, P et M sont connects sur le mme rseau physique dont ladresse de niveau rseau (partie Netid de ladresse IP) est R.
50
Reseau
10.0.0.0
Reseau
20.0.0.0
Reseau
30.0.0.0
Reseau
40.0.0.0
10.0.0.1
20.0.0.2
30.0.0.1
10.0.0.0
20.0.0.0
30.0.0.0
40.0.0.0
20.0.0.1
direct
direct
30.0.0.1
Table de routage de G
51
Aprs excution de lalgorithme de routage, IP transmet le datagramme ainsi que ladresse IP determine, linterface rseau vers lequel le datagramme doit tre achemin. Linterface physique dtermine alors ladresse physique associe ladresse IP et achemine le datagramme sans lavoir modifi (ladresse IP du prochain saut nest sauvegarde nulle part). Si le datagramme est achemin vers une autre passerelle, il est nouveau gr de la mme manire, et ainsi de suite jusqu sa destination finale.
53
Les datagrammes entrants sont traits diffremment selon quil sont reus par une machine ou une passerelle : machine : le logiciel IP examine ladresse destination lintrieur du datagramme
si cette adresse IP est identique celle de la machine, IP accepte le datagramme et transmet son contenu la couche suprieure. sinon, le datagramme est rejet; une machine recevant un datagramme destin une autre machine ne doit pas router le datagramme.
passerelle : IP dtermine si le datagramme est arriv destination et dans ce cas le dlivre la couche suprieure. Si le datagramme na pas atteint sa destination finale, il est rout selon lalgorithme de routage prcdemment dcrit.
54
Le sous-adressage
Le sous-adressage est une extension du plan dadressage initial Devant la croissance du nombre de rseaux de lInternet, il a t introduit afin de limiter la consommation dadresses IP qui permet galement de diminuer : la gestion administrative des adresses IP, la taille des tables de routage des passerelles, la taille des informations de routage, le traitement effectu au niveau des passerelles. Principes A lintrieur dune entit associe une adresse IP de classe A, B ou C, plusieurs rseaux physiques partagent cette adresse IP. On dit alors que ces rseaux physiques sont des sous-rseaux (subnet) du rseau dadresse IP.
55
Le sous-adressage (suite)
Les sous-rseaux 128.10.1.0 et 128.10.2.0 sont nots seulement avec le NetId, les machines seulement avec le Hostid ; exemple IP(F) = 128.10.2.9
128.10.1 .1
.2
.3
.4
Internet
P
.1
128.10.2 128.10.0.0
.6
.2
.9
Un site avec deux rseaux physiques utilisant le sous-adressage de manire ce que ses deux sous-rseaux soient couverts par une seule adresse IP de classe B. La passerelle P accepte tout le trafic destin au rseau 128.10.0.0 et slectionne le sousrseau en fonction du troisime octet de ladresse destination.
56
Le sous-adressage (suite)
Le site utilise une seule adresse pour les deux rseaux physiques. A lexception de P, toute passerelle de linternet route comme sil nexistait quun seul rseau. La passerelle doit router vers lun ou lautre des sous-rseaux ; le dcoupage du site en sous-rseaux a t effectu sur la base du troisime octet de ladresse : les adresses des machines du premier sous-rseau sont de la forme 128.10.1.X, les adresses des machines du second sous-rseau sont de la forme 128.10.2.X. Pour slectionner lun ou lautre des sous-rseaux, P examine le troisime octet de ladresse destination : si la valeur est 1, le datagramme est rout vers rseau 128.10.1.0, si la valeur est 2, il est rout vers le rseau 128.10.2.0.
57
Le sous-adressage (suite)
Conceptuellement, la partie locale dans le plan dadressage initial est subdivise en partie rseau physique + identification de machine (hostid) sur ce sous-rseau : Partie Internet Partie Internet Partie locale Rseau physique Identifieur Machine
Partie Internet correspond au NetId (plan dadressage initial) Partie locale correspond au hostid (plan dadressage initial) les champs Rseau physique et identifieur Machine sont de taille variable; la longueur des 2 champs tant toujours gale la longueur de la Partie locale.
58
Le sous-adressage (suite)
Structure du sous-adressage Structuration souple : chaque site peut dfinir lui-mme les longueurs des champs rseau physique et identificateur de machine. Flexibilit indispensable pour adapter la configuration rseau dun site:
P1
Rseau 4
P4 P5
Rseau 1
P2
Rseau 5 Rseau 2
P3
Rseau 3
Ce site a cinq rseaux physiques organiss en trois niveau : le dcoupage rudimentaire en rseau physique et adresse machine peut ne pas tre optimal.
59
Le sous-adressage (suite)
Exemple Classe B : 8 bits pour les parties rseau et machine donnent un potentiel de 256 sous-rseaux et 254 machines par sous-rseau, tandis que 3 bits pour la partie rseau et 13 bits pour le champ machine permettent 8 rseaux de 8190 machines chacun. Exemple Classe C : 4 bits pour la partie rseau et 4 bits pour le champ machine permettent 16 rseaux de 14 machines chacun.
Lorsque le sous-adressage est ainsi dfini, toutes les machines du rseau doivent sy conformer sous peine de dysfonctionnement du routage ==> configuration rigoureuse.
60
Le sous-adressage (suite)
Utilisation de masques Le sous-adressage ==> masque de 32 bits associ au sous-rseau. Bits du masque de sous-rseau (subnet mask) : positionns 1 : partie rseau, positionns 0 : partie machine 11111111 11111111 11111111 00000000 ==> 3 octets pour le champ rseau, 1 octet pour le champ machine Les bits du masque identifiant sous-rseau et machine peuvent ne pas tre contigus : 11111111 11111111 00011000 01000000 Les notations suivantes sont utilises : dcimale pointe; exemple : 255.255.255.0 triplet : { <ident. rseau>, <ident. sous-rseau> <ident. machine> } ; cette notation renseigne les valeurs mais pas les champs de bits; exemple { -1, -1, 0 } , { 128.10, 27, -1 }. adresse rseau/masque : 193.49.60.0/27 (27=# bits contigs du masque)
61
Le sous-adressage (suite)
Routage avec sous-rseaux Le routage IP initial a t tendu ladressage en sous-rseaux; lalgorithme de routage obtenu doit tre prsent dans les machines ayant une adresse de sous-rseau, mais galement dans les autres machines et passerelles du site qui doivent acheminer les datagrammes vers ces sous-rseaux.
Rseau 1 (adr IP = N)
P2
Rseau 2 (ss-rseau de N)
P2
Rseau 3 (ss-rseau de N)
M doit utiliser le routage de sous-rseaux pour dcider si elle route vers les passerelles P1 ou P2 bien quelle mme soit connecte un rseau (Rseau 1) nayant pas de sous-adressage
62
Le sous-adressage (suite)
Le routage unifi : Une entre dans la table de routage = (masque de sous-rseau, adresse sous-rseau, adresse de la passerelle) Algorithme de routage unifi : Route_IP_Datagram(datagram, routing_table) Extraire ladresse ID de destination du datagramme, Calculer ladresse IN du rseau destination, Si IN correspond une adresse rseau directement accessible envoyer le datagramme sur le rseau physique correspondant, Sinon Pour chaque entre dans la table de routage, N = (ID & masque de sous-rseau de lentre) Si N est gal au champ adresse rseau de lentre router le datagramme vers la passerelle correspondante, Fin_Pour Si aucune entre ne correspond, dclarer une erreur de routage.
63
Le sous-adressage (suite)
Diffusion sur les sous-rseaux Elle est plus complexe que dans le plan dadressage initial. Dans le plan dadressage Internet initial, Hostid = 11..1, ==> diffusion vers toutes les machines du rseau. D'un point de vue extrieur un site dot de sous-rseaux, la diffusion na de sens que si la passerelle qui connat les sous-rseaux propage la diffusion tous ses rseaux physiques : { rseau, -1, -1 }. Depuis un ensemble de sous-rseau, il est possible dmettre une diffusion sur un sous-rseau particulier : { rseau, sous-rseau, -1 }.
64
RFC 1009 : un rseau IP peut possder plusieurs masques diffrents; ==> rseau de type VLSM (Variable Length Subnet Masks) Evite la rigidit du masque fixe qui impose : le nombre de sous-rseaux le nombre de machines par sous-rseau Exemple : 130.5.0.0/22 ==> 64 sous-reseaux et 1022 machines / sous-rseau inadapt pour des petits sous-rseaux de quelques machines; exemple 30 machines sur un sous-rseau ==> 992 adresses IP perdues Permet ladaptation de ladressage IP a la taille des sous-rseaux Exemple prcdent : cohabitation de grands et petits sous-rseaux 130.5.0.0/22 (64 sous-reseaux et 1022 machines / sous-rseau) 130.5.0.0/26 (1024 sous-rseaux de 62 machines / sous-rseau)
65
Division dun espace IP en sous-rseaux successifs Permet de masquer les informations de routage entre groupes de sous-reseaux 11.0.0.0/8 11.1.0.0/16 ... ...
11.254.0.0/16 11.254.192.0/19
11.1.1.0/24
11.1.254.0/24
11.254.32.0/19 . . .
67
Masque
Nbre de Machines
3
..
68
Adresse 201.222.10.60
Class
Subnet
Brodcast
15.16.193.6 128.16.32.13
255.255.248.0 255.255.255.252
153.50.6.27
255.255.255.128
69
70
Le Protocole ICMP
Le besoin Le protocole ICMP (Internet Control Message Protocol) permet denvoyer des messages de contrle ou derreur vers dautres machines ou passerelles. ICMP rapporte les messages derreur lmetteur initial. Beaucoup derreurs sont causes par lmetteur, mais dautres sont des des problmes dinterconnexions rencontres sur lInternet : machine destination dconnecte, dure de vie du datagramme expire, congestion de passerelles intermdiaires. Si une passerelle dtecte un problme sur un datagramme IP, elle le dtruit et met un message ICMP pour informer lmetteur initial. Les messages ICMP sont vhiculs lintrieur de datagrammes IP et sont routs comme nimporte quel datagramme IP sur linternet. Une erreur engendre par un message ICMP ne peut donner naissance un autre message ICMP (vite leffet cummulatif).
71
TYPE 0 3 4 5 8 11 12
Message ICMP Echo Reply Destination Unreachable Source Quench Redirect (change a route) Echo Request Time Exceeded (TTL) Parameter Problem with a Datagram
16
17 18
Donnes spcifiques . . .
IDENTIFIER et SEQUENCE NUMBER sont utiliss par lmetteur pour contrler les rponses aux requtes, (CODE = 0). Demande dcho et rponse Request, Echo Reply) dcho (Echo
Permettent une machine ou passerelle de dterminer la validit dun chemin sur le rseau. Le champ de donnes spcifiques est compos de donnes optionnelles de longueur variable mises par la requte d'cho et devant tre renvoyes par le destinataire si prsentes. Utilis par les outils applicatifs tels ping et traceroute.
73
Les horloges de deux machines qui diffrent de manire importante peuvent poser des problmes pour des logiciels distribus. Une machine peut mettre une demande dhorodatage (timestamp request) une autre machine susceptible de lui rpondre (timestamp reply) en donnant lheure darrive de la demande et lheure de dpart de la rponse. Lmetteur peut alors estimer le temps de transit ainsi que la diffrence entre les horloges locale et distante. Le champ de donnes spcifiques comprend lheure originale (originate timestamp) mis par le demandeur, lheure de rception (receive timestamp) du destinataire, et lheure de dpart (transmit timestamp) de la rponse.
74
Ces messages taient initialement utiliss pour permettre aux machines de connatre leur adresse IP au dmarrage du systme. Ces commandes sont aujourdhui remplaces par les protocoles RARP et BOOTP.
Obtention de masque de sous-rseau
Une machine peut mettre une demande de masque de sous-rseau (Subnet Mask Request) vers une passerelle grant le sous-rseau en question. La passerelle transmet par une Subnet Mask Reply, ladresse de masque de sous-rseau (de longueur 32 bits) dans le champ de donne spcifique.
75
CODE indique le codage de lerreur rapporte et est spcifique chaque type derreur, SPECIFIQUE est un champ de donnes spcifique au type derreur,
IP HEADER + FIRST 64 bits contient len-tte IP + les premiers 64 bits de donnes du datagramme pour lequel le message est mis.
Compte rendu de destination inaccessible
76
Lorsquune passerelle met un message ICMP de type destination inaccessible, le champ code dcrit la nature de lerreur : 0 Network Unreachable 1 Host Unreachable 2 Protocol Unreachable 3 Port Unreachable 4 Fragmentation Needed and DF set 5 Source Route Failed 6 Destination Network Unknown 7 Destination Host Unknown 8 Source Host Isolated 9 Communication with desination network administratively prohibited 10 Communication with desination host administratively prohibited 11 Network Unreachable for type of Service 12 Host Unreachable for type of Service
77
Le protocole IP tant un protocole en mode non connect : => les passerelles ne peuvent rserver lavance la quantit de mmoire ncessaire au routage des datagrammes. => des datagrammes sont alors dtruits. Cette situation de congestion se produit : lorsquune passerelle est connecte deux rseaux aux dbits diffrents (elle ne peut couler au rythme impos par le rseau le plus rapide), lorsque de nombreuses machines mettent simultanment des datagrammes vers une passerelle. Pour palier ce problme, la machine peut mettre un message ICMP de limitation de dbit de la source (Source Quench) vers lmetteur. Il nexiste pas de message dannulation de limitation de dbit. La source diminue le dbit, puis laugmente progressivement tant quelle ne reoit pas de nouvelle demande de limitation.
78
B Internet
R1
R2
2me routage
Redirection ICMP
Une fois la redirection effectue, les datagrammes seront achemins vers la passerelle approprie.
79
Dans le bloc de commande, le champ SPECIFIQUE indique ladresse de la passerelle que la machine doit utiliser pour router le datagramme; CODE spcifie la redirection : CODE SIGNIFICATION 0 Redirect datagrams for the Network 1 Redirect datagrams for the Host 2 Redirect datagrams for the Type of Service and Network 3 Redirect datagrams for the Type of Service and Host Detection de routes circulaires ou excessivement longues Une passerelle dtruit les datagrammes dont le champ dure de vie est zro et met un message ICMP de dlai dpass. CODE SIGNIFICATION 0 time to live exceeded in transit 1 fragment reassembly time exceeded
80
Lorsquune passerelle ou une machine dtecte un problme avec un datagramme (en-tte incorrecte) non couvert par les messages ICMP prdfinis, elle met un message Parameter Problem on a Datagram vers lmetteur du datagramme. Le problme rencontr consiste soit en une option manquante (dans le datagramme), soit en une donne errone. Dans le bloc de commande, le champ CODE indique la nature du pb: CODE 0 1 SIGNIFICATION erreonous data missing option
Le champ spcifique comprend un pointeur (cod sur les 8 premiers bits, les 24 restants tant 0) servant identifier loctet erron dans le datagramme; il est non significatif lorsque CODE = 1.
81
UDP : protocole de transport sans connexion de service applicatif : mission de messages applicatifs : sans tablissement de connexion au pralable l'arrive des messages ainsi que lordonnancement ne sont pas garantis. Identification du service : les ports les adresses IP dsignent les machines entre lesquelles les communications sont tablies. Lorsqu'un processus dsire entrer en communication avec un autre processus, il doit adresser le processus s'excutant cette machine. L'adressage de ce processus est effectu selon un concept abstrait indpendant du systme d'exploitation des machines car : les processus sont crs et dtruits dynamiquement sur les machines, il faut pouvoir remplacer un processus par un autre (exemple reboot) sans que l'application distante ne s'en aperoive, il faut identifier les destinations selon les services offerts, sans connatre les processus qui les mettent en oeuvre, un processus doit pouvoir assurer plusieurs services.
82
Ces destinations abstraites permettant d'adresser un service applicatif s'appellent des ports de protocole. L'mission d'un message se fait sur la base d'un port source et un port destinataire. Les processus disposent d'une interface systme leur permettant de spcifier un port ou d'y accder (socket, TLI, ...). Les accs aux ports sont gnralement synchrones, les oprations sur les ports sont tamponns (files d'attente).
83
Checksum UDP
Donnes ...
Les ports source et destination contiennent les numros de port utiliss par UDP pour dmultiplexer les datagrammes destins aux processus en attente de les recevoir. Le port source est facultatif (gal zro si non utilis). La longueur du message est exprime en octets (8 au minimum) (en-tte + donnes), le champ de contrle est optionnel (0 si non utilis).
84
Lorsqu'il est utilis, le champ de contrle couvre plus d'informations que celles contenue dans le datagramme UDP; En effet, le checksum est calcul avec un pseudo-en-tte non transmis dans le datagramme: 0 8 16 Adresse IP Source Adresse IP Destination zro proto
Longueur UDP
Le champ PROTO indique l'identificateur de protocole pour IP (17= UDP) Le champ LONGUEUR UPD spcifie la longueur du datagramme UPD sans le pseudo-en-tte.
85
UDP : Multiplexage
une application obtient un numro de port de la machine locale; ds lors que l'application met un message via ce port, le champ PORT SOURCE du datagramme UDP contient ce numro de port, une application connat (ou obtient) un numro de port distant afin de communiquer avec le service dsir.
Lorsque UDP reoit un datagramme, il vrifie que celui-ci est un des ports actuellement actifs (associ une application) et le dlivre l'application responsable (mise en queue) si ce n'est pas le cas, il met un message ICMP port unreachable, et dtruit le datagramme.
86
Certains ports sont rservs (well-kown port assignements) : No port Mot-cl Description 7 ECHO Echo 11 USERS Active Users 13 DAYTIME Daytime 37 TIME Time 42 NAMESERVER Host Name Server 53 DOMAIN Domain Name Server 67 BOOTPS Boot protocol server 68 BOOTPC Boot protocol client 69 TFTP Trivial File transfert protocol 123 NTP Network Time Protocol 161 SNMP Simple Network Management prot. D'autres numros de port (non rservs) peuvent tre assigns dynamiquement aux applications.
87
transport fiable de la technologie TCP/IP. fiabilit = illusion assure par le service transferts tamponns : dcoupage en segments connexions bidirectionnelles et simultanes service en mode connect garantie de non perte de messages ainsi que de l'ordonnancement
88
TCP : La connexion
une connexion de type circuit virtuel est tablie avant que les donnes ne soient changes : appel + ngociation + transferts Une connexion = une paire d'extrmits de connexion Une extrmit de connexion = couple (adresse IP, port) Exemple de connexion : ((124.32.12.1, 1034), (19.24.67.2, 21)) Une extrmit de connexion peut tre partage par plusieurs autres extrmits de connexions (multi-instanciation) La mise en oeuvre de la connexion se fait en deux tapes : une application (extrmit) effectue une ouverture passive en indiquant qu'elle accepte une connexion entrante, une autre application (extrmit) effectue une ouverture active pour demander l'tablissement de la connexion.
89
TCP : Segmentation
Segmentation, contrle de flux Les donnes transmises TCP constituent un flot d'octets de longueur variable. TCP divise ce flot de donnes en segments en utilisant un mcanisme de fentrage. Un segment est mis dans un datagramme IP.
Acquittement de messages Contrairement UDP, TCP garantit l'arrive des messages, c'est dire qu'en cas de perte, les deux extrmits sont prvenues. Ce concept repose sur les techniques dacquittement de message : lorsqu'une source S met un message Mi vers une destination D, S attend un acquittement Ai de D avant d'mettre le message suivant Mi+1. Si lacquittement Ai ne parvient pas S, S considre au bout d'un certain temps que le message est perdu et remet Mi :
90
TCP : Acquittements
Source Emission de Mi Temporisation arme Ai nest pas reu Tempo. echue Remission de Mi Rception de Mi Emission de Ai Rseau Destination
Rception de Aj
91
TCP : le fentrage
La technique acquittement simple pnalise les performances puisqu'il faut attendre un acquittement avant d'mettre un nouveau message. Le fentrage amliore le rendement des rseaux.
La technique du fentrage : une fentre de taille T, permet l'mission d'au plus T messages "non acquitts" avant de ne plus pouvoir mettre :
92
TCP : le Fentrage
Source Emission de Mi Emission de Mi+1 Emission de Mi+2 Reception de Ai Rseau Destination
Rception de Mi Emission de Ai
Fentrage de taille 3
93
fentrage glissante permettant d'optimiser la bande passante permet galement au destinataire de faire diminuer le dbit de l'metteur donc de grer le contrle de flux. Le mcanisme de fentrage mis en oeuvre dans TCP opre au niveau de l'octet et non pas au niveau du segment; il repose sur :
la numrotation squentielle des octets de donnes, la gestion de trois pointeurs par fentrage :
1 2 3 4 5 6 7 8 9 10 11 . . .
Octets mis et acquitts
Octets mis et non acquitts Octets missibles
TCP : Segments
Segment : unit de transfert du protocole TCP. changs pour tablir les connexions, transfrer les donnes, mettre des acquittements, fermer les connexions; 0 4 10 16 24 Port destination 31 Port source
Numro de squence Numro dacquittement N * 32bits HLEN rserv Codes Checksum fentre pointeur urgence padding
95
Numro de squence : le numro de squence du premier octet (NSP) de ce segment. Gnralement la suite doctets O1, O2, ..., On (donnes du message) est associe la suite de numro de squence NSP, NSP+1, ..., NSP+n. Il existe deux exceptions cette rgle : lorsque le bit SYN (voir CODE BITS) est positionn, le NSP reprsente cette donne de contrle et par consquent la suite NSP, NSP+1, NSP+2, ..., NSP+n+1, associe la suite de donnes SYN, O1, O2, ..., On. lorsque le bit FIN (voir CODE BITS) est positionn, le NSP+n reprsente cette donne de contrle et par consquent la suite NSP, NSP+1, NSP+2, ..., NSP+n, associe la suite de donnes O1, O2, ..., On, FIN. Numro dacquittement : le prochain numro de squence NS attendu par lmetteur de cet acquittement. Acquitte implicitement les octets NS-1, NS-2, etc. Fentre: la quantit de donnes que lmetteur de ce segment est capable de recevoir; ceci est mentionn dans chaque segment (donnes ou acquittement).
96
CODE BITS : indique la nature du segment : URG : le pointeur de donnes urgentes est valide (exemple : interrupt en remote login), les donnes sont mises sans dlai, les donnes reues sont remises sans dlai. SYN : utilis linitialisation de la connexion pour indiquer o la numrotation squentielle commence. Syn occupe lui-mme un numro de squence bien que ne figurant pas dans le champ de donnes. Le Numro de squence inscrit dans le datagramme (correspondant SYN) est alors un Initial Sequence Number (ISN) produit par un gnrateur garantissant lunicit de lISN sur le rseau (indispensable pour identifier les duplications). FIN : utilis lors de la libration de la connexion; PSH : fonction push. Normalement, en mission, TCP reoit les donnes depuis lapplicatif , les transforme en segments sa guise puis transfre les segments sur le rseau; un rcepteur TCP dcodant le bit PSH, transmet lapplication rceptrice, les donnes correspondantes sans attendre plus de donnes de lmetteur. Exemple : mulation terminal, pour envoyer chaque caractre entr au clavier (mode caractre asynchrone).
97
RST : utilis par une extrmit pour indiquer lautre extrmit quelle doit rinitialiser la connexion. Ceci est utilis lorsque les extrmits sont dsynchronises. Exemple : TCP source TCP destination
Established
?? seq=300 ack=100 CTL=SYN
abort close
CHECKSUM : calcul du champ de contrle : utilise un pseudo-en-tte et s'applique la totalit du segment obtenu (PROTO =6) : Adresse IP source Adresse IP destination zro protocole (6) longueur TCP
99
Permet de ngocier la taille maximale des segments changs. Cette option n'est prsente que dans les segments d'initialisation de connexion ( avec bit SYN). TCP calcule une taille maximale de segment de manire ce que le datagramme IP rsultant corresponde au MTU du rseau. La recommandation est de 536 octets. La taille optimale du segment correspond au cas o le datagramme IP nest pas fragment mais : il nexiste pas de mcanisme pour connatre le MTU, le routage peut entraner des variations de MTU, la taille optimale dpend de la taille des en-ttes (options).
100
TCP : acquittements
Acquittements et retransmissions
Le mcanisme dacquittement de TCP est cumulatif : il indique le numro de squence du prochain octet attendu : tous les octets prcdents cumuls sont implicitement acquitts Si un segment a un numro de squence suprieur au numro de squence attendu (bien que dans la fentre), le segment est conserv mais lacquittement rfrence toujours le numro de squence attendu(-->). Pour tout segment mis, TCP sattend recevoir un acquittement Si le segment nest pasacquitt, le segment est considr comme perdu et TCP le retransmet. Or un rseau dinterconnexion offre des temps de transit variables ncessitant le rglage des temporisations; TCP gre des temporisations variables pour chaque connexion en utilisant un algorithme de retransmission adaptative
101
Fentre=900
TCP : Acquittements
Seq=3 Envoi de 300 octets Seq=303 Ack=303 Envoi de 300 octets
Segment=300
TCP source
TCP destination
Seq=603 Envoi de 300 octets Ack=303 Seq=303 Envoi de 300 octets Seq=603 Envoi de 300 octets
Attente de 303
Peut tre conserv ==> peut ne pas tre rmis car acquitt Ack=903 entre temps
102
TCP : retransmissions
algorithme de retransmission adaptative enregistre la date dmission dun segment, enregistre la date de rception de lacquittement correspondant, calcule lchantillon de temps de boucle A/R coul, dtermine le temps de boucle moyen RTT (Round Trip Time) : RTT = (a * anc_RTT) + ((1-a) * NOU_RTT)) avec 0<= a < 1 a proche de 1 : RTT insensible aux variations brves, a proche de 0 : RTT trs sensible aux variations rapides, calcule la valeur du temporisateur en fonction de RTT. Les premires implmentations de TCP ont choisi un coefficient constant B pour dterminer cette valeur : Temporisation = B * RTT avec B >1 (gnralement B=2). Aujourdhui de nouvelles techniques sont appliques pour affiner la mesure du RTT : lalgorithme de Karn.
103
TCP : retransmissions
Lalgorithme de Karn repose sur les constatations suivantes :
en cas de retransmission dun segment, lmetteur ne peut savoir si lacquittement sadresse au segment initial ou retransmis (ambigut des acquittements), =>lchantillon RTT ne peut donc tre calcul correctement, => TCP ne doit pas mettre jour le RTT pour les segments retransmis. Lalgorithme de Karn combine les retransmissions avec laugmentation des temporisations associes (timer backoff): une valeur initiale de temporisation est calcule si une retransmission est effectue, la temporisation est augmente (gnralement le double de la prcdente, jusqu une valeur plafond). Cet algorithme fonctionne bien mme avec des rseaux qui perdent des paquets.
104
TCP : la congestion
Gestion de la congestion TCP gre le contrle de flux de bout en bout mais galement les problmes de congestion lis linterconnexion.
La congestion correspond la saturation de noeud(s) dans le rseau provoquant des dlais dacheminement de datagrammes jusqua leur pertes ventuelles. Les extrmit ignorent tout de la congestion sauf les dlais. Habituellement, les protocoles retransmettent les segments ce qui agrave encore le phnomne. Dans la technologie TCP/IP, les passerelles (niveau IP) utilisent la rduction du dbit de la source mais TCP participe galement la gestion de la congestion en diminuant le dbit lorsque les dlais sallongent :
105
TCP : la congestion
TCP maintient une fentre virtuelle de congestion TCP applique la fentre dmission suivante: fentre_autorise = min (fentre_rcepteur, fentre_congestion). Dans une situation de non congestion: fentre_rcepteur = fentre_congestion. En cas de congestion, TCP applique une diminution dichotomique : chaque segment perdu, la fentre de congestion est diminue par 2 (minimum 1 segment) la temporisation de retransmission est augmente exponentiellement.
106
TCP retransmissions
Si la congestion disparat, TCP dfinit une fentre de congestion gale 1 segment et lincrmente de 1 chaque fois quun acquittement est reu; ce mcanisme permet un dmarrage lent et progressif :
Fentre_congestion = 1, mission du 1er segment, attente acquittement, rception acquittement, Fentre_congestion = 2, mission des 2 segments, attente des acquittements, rception des 2 acquittements,
Fentre_congestion = 4,
... Log2 N itrations pour envoyer N segments. Lorsque la fentre atteint une fois et demie sa taille initiale, lincrment est limit 1 pour tous les segments acquitts de la fentre.
mission des 4 segments,
107
TCP : connexion
Une connexion TCP est tablie en trois temps de manire assurer la synchronisation ncessaire entre les extrmits : TCP source Syn seq=x
TCP destination
Syn seq=y,ack=x+1
Ack y+1
Ce schma fonctionne lorsque les deux extrmits effectuent une demande d'tablissement simultanment. TCP ignore toute demande de connexion, si cette connexion est dj tablie.
108
TCP : dconnexion
Une connexion TCP est libre en un processus dit "trois temps modifi": TCP source Fin seq=x TCP destination
ack=x+1 + fin-> applicatif Applicatif -> close Fin seq=y ack=x+1 Ack y+1
109
TCP : Lautomate
Dpart
Rinitialisation
SYN/SYN+ACK
Ecoute (Listen)
Send SYN
SYN reu
RST SYN/SYN+ACK
SYN mis
Fermer
ACK Close/FIN
Etablie
SYN+ACK/ACK
FIN/ACK Fermer/FIN
FIN/ACK
Fermeture en cours
Dernier ACK
rcv ACK
FIN Attente -2
FIN / ACK
Tempo. expire
110
20 21 23 25 37 42 43 53 79 80 110 111
FTP-DATA FTP TELNET SMTP TIME NAMESERVER NICNAME DOMAIN FINGER HTTP POP3 SUNRPC
File Transfer [Default Data] File Transfer [Control] Telnet Simple Mail Transfer Time Host Name Server Who Is Domain Name Server Finger WWW Post Office Protocol - Version 3 SUN Remote Procedure Call
111
L'entreprise Rolland S.A. dispose d'un rseau local tendu. La topologie globale de son rseau vous est prsente en Annexe A. Les postes des utilisateurs sont rfrencs Px (x variant de 1 13). Les serveurs sont rfrencs Sy (y variant de 1 3). Les matriels d'interconnexion sont rfrencs Mz (z variant de 1 5) Travail faire
1. Pour chaque type de matriel d'interconnexion figurant dans le rseau veuillez expliquer sa fonction premire. Donnez ses autres appellations (y compris le terme anglais) Reprsentez le modle OSI et indiquez en face de chaque couche le type de matriel d'interconnexion prsent sur le schma. Les postes P10, P11, P12 et P13 sont dans un rseau Ethernet 10 Base5. P13 est situ 10 mtres de M5. Quelle peut-tre la distance maximale entre P10 et P13 ? Les lments connects au Concentrateur M1 sont dans une topologie 10BaseT. Pouvez vous indiquer le dbit de cette partie du rseau ? Quel type de cble est utilis ? Quelle est la distance maximale conseille entre P1 et le commutateur M3? Le poste P2 envoie une trame destine au serveur S3. Citez tous les lments qui vont recevoir la trame et prcisez ce que chacun des lments va faire de la trame reue. Le poste P11 envoie une trame destine au serveur S3. Citez tous les lments qui vont recevoir la trame. Le Pont M4 reoit une trame comportant en adresse MAC metteur (MAC-P4) et en adresse MAC de destination (MAC-S1). Compltez si ncessaire le tableau ci-dessous et indiquez la dcision du Pont vis vis de la trame reue. Le TTL est initialis au moment de la rception la valeur maximale de 100 112
2.
3. 4.
5. 6. 7.
Table Port Bas Adresse MAC MAC-P1 MAC-P3 MAC-S2 MAC-P1 TTL 50 80 95 100
8. 9.
10.
11.
Le Pont M4 reoit une trame dont l'metteur est le poste P5. Citez toutes les valeurs possibles pouvant figurer comme adresse Mac de destination. Le Pont M4 reoit une trame comportant en adresse MAC metteur (MAC-P7). Le pont ne transmet pas la trame sur sa deuxime interface. Citez les adresses MAC destinataires possibles ? Justifiez votre rponse. Le Pont M4 reoit une trame comportant en adresse MAC metteur (MAC-P7). Le pont transmet la trame sur sa deuxime interface. Citez les adresses MAC destinataires possibles ? Justifiez votre rponse. Sur le schma du rseau reprsentez par un cercle le ou les domaines de collision
113
114
Etude de cas: Adressage et segmentation rseau Contexte de travail Une entreprise dispose d'un rseau Ethernet supportant le protocole TCP/IP et regroupant actuellement 66 htes (stations, serveurs, routeurs, passerelles,). Vous tes charg(e) de proposer un plan dtaill pour automatiser l'attribution des configurations TCP/IP aux htes en respectant le cahier des charges rdig par l'administrateur du rseau. Cahier des charges A. Donnes Ladresse du rseau est 193.250.17.0. L'entreprise est structure en trois dpartements : Administratif, Commercial et Production. Ces trois dpartements comportent respectivement 24, 16 et 18 htes ayant le rle de postes de travail. B. Contraintes Chaque dpartement doit tre plac dans un sous-rseau IP distinct. Les htes doivent pouvoir obtenir automatiquement leur configuration IP en en faisant la demande auprs d'un serveur DHCP. Plusieurs serveurs offriront le service DHCP sur le rseau, l'indisponibilit de l'un d'entre eux ne doit pas totalement interrompre l'attribution des configurations TCP/IP aux htes qui en font la demande. On retient comme hypothse que la panne d'un seul serveur DHCP sera assume. Si un sous-rseau est priv de son serveur DHCP suite une panne, 25% de ses htes doivent pouvoir obtenir une adresse IP valide auprs du serveur DHCP d'un autre sous-rseau. La configuration des serveurs DHCP doit permettre l'ajout de nouveaux htes dans chaque sous-rseau. Certains htes ayant un rle de serveur doivent se voir attribuer des adresses IP toujours identiques. Les htes devront disposer dadresses situes dans la partie haute de la plage d'adresses du sous-rseau. Les serveurs DHCP se voient attribuer la plus haute adresse IP disponible dans chaque sous-rseau. Les postes de travail se voient attribuer des adresses situes dans la partie basse de la plage d'adresses du sous-rseau 115
Liste des htes auxquels une adresse fixe doit tre attribue Hte Adresse MAC de l'hte
Sous-rseau Administratif
Serveur DNS Passerelle par dfaut 00-32-DE-5A-78-9C 1F-7A-90-02-F0-F0 Sous-rseau Commercial Passerelle par dfaut Routeur 2B-14-62-91-C9-B1 82-00-06-01-9B-7A Sous-rseau Production Passerelle par dfaut 1C-96-AA-F4-C2-91
Trois htes du dpartement administratif ne sont pas clients DHCP. Certains htes du domaine Production utiliss sur les chanes de montage ne sont pas grs par le service informatique. Une plage d'adresses leur a t rserve, elle recouvre les adresses 193.250.17.110 193.250.17.117. 1. 2. 3. 4. 5. Travail Raliser Proposer un masque de sous-rseau pour le rseau de l'entreprise. Calculer le nombre total d'htes que peut contenir chaque sous-rseau. Affecter un numro de sous-rseau chaque dpartement. Dfinir les plages d'adresses utilisables dans chaque sous-rseau. Tracer un schma du rseau de l'entreprise en faisant apparatre les htes du rseau et leur adresse IP. Dfinir comment sera assure l'attribution des configurations IP suite une panne sur un des serveurs DHCP. Argumenter notamment sur la dure des baux. Noter les ventuelles contradictions vis vis du cahier des charges. Dfinir la configuration des serveurs DHCP pour chaque sous-rseau : tendue, dure du bail, options DHCP (passerelle par dfaut, adresse de serveur DNS), adresses exclure, rservations 116 prvoir. Cf. annexe
6.
Etude de cas: Scurit Un tablissement scolaire utilise un serveur mandataire (Proxy) nomm KIKA-AKC dans le DNS, pour contrler les accs Internet. Ce Proxy permet entre autre d'autoriser ou pas l'accs Internet en fonction de l'adresse IP du rseau auquel appartient la machine. L'administrateur du rseau a organis son plan d'adressage en fonction des salles. Chaque salle dispose dune plage d'adresses spcifique qui va permettre au niveau du Proxy d'interdire ou d'autoriser l'accs Internet tous les postes de la salle. L'annexe 1 donne le plan d'adressage utilis. L'annexe 2 donne les rgles d'accs Internet pour la journe du 28 janvier 2004 Travail faire: Dterminer quelles sont les salles qui nont pas accs Internet le 28 janvier. Expliquer pourquoi le Proxy peut appliquer des masques diffrents alors que les postes sont tous configurs avec le mme masque et la mme adresse rseau. Donner la ou les rgles appliquer pour interdire l'accs la salle 204 et 208. Donner la rgle appliquer pour interdire l'accs la salle 201 et 202. Expliquer les autres fonctions d'un Proxy. Annexe 1: Plan dadressage
Adresse IP du rseau de l'tablissement : 10.100.40.0 Masque du rseau : 255.255.255.0 Plage d'adresses par salle : Salle 201 : 10.100.40.1 10.100.40.15 Salle 202 : 10.100.40.17 10.100.40.31 Salle 203 : 10.100.40.33 10.100.40.62 Salle 204 : 10.100.40.65 10.100.40.70 Salle 205 : 10.100.40.96 10.100.126 Salle 206 : 10.100.40.129 10.100.40.142 Salle 207 : 10.100.40.145 10.100.40.158 Salle 208 : 10.100.40.161 10.100.40.174 Salle 209 : 10.100.40.177 10.100.40.190 Salle 210 : 10.100.40.73 10.100.40.78
117
Annexe 2: rgles du 28 janvier 2004 Accs autoris tous sauf aux rseaux ci-dessous : 10.100.40.32 masque 255.255.255.224 10.100.40.128 masque 255.255.255.192
118