Vous êtes sur la page 1sur 118

TCP/IP - Protocoles de base

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

Introduction : Les rseaux locaux


Ethernet Token Ring FDDI ATM Histoire : systmes centraliss aux RLE Caractristiques : cblage, Mthodes daccs, protocoles, les SE, les serveurs, les quipements dinterconnexion La topologie : bus, anneau, Etoile

Ethernet IEEE 803.3 : 10 base 5 10 base 2 10baseT


TR IEEE 802.5 Comparaison entre Ethernet et Token Ring
3

- 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)

- 10base2 : la limite de la distance est 200m


- 10baseT : le cble utilis est la paire torsad (Twisted Pair), la distance utile descend 100m, cble bon march - 10base TX : 100Mbit/s, deux paires de fils torsades, 100baseT4 et 100Base FX (f.o.) ou FastEthernet IEEE 802.3u
4

- La normalisation ISO, IEEE, etc

- Le modle OSI
- Larchitecture en couche

- Comparaison entre TCP/IP et le modle de rfrence

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

Concepts de linterconnexion (suite)

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

Concepts de linterconnexion (suite)

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

Concepts de linterconnexion (suite)

Les routeurs possdent une connexion sur chacun des rseaux:

Reseau A

Reseau B

La passerelle P interconnecte les rseaux A et 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

Concepts de linterconnexion (suite)


Reseau A

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

Concepts de linterconnexion (suite)

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

Vue relle du rseau


14

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

Une machine doit pouvoir tre identifie par :


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

Ladressage Internet (suite)


0 8 16 24 31

Classe A Classe B

Net-id Net-id Net-id

Host-id Host-id Host-id

10

Classe C
Classe D Classe E

110

1110 11110

Multicast Rserv

17

Ladressage Internet (suite)

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

Ladressage Internet (suite)


hostid != 0, hostid spcifie l'adresse physique de la machine (si la longueur le permet; c'est le cas pour T. R., ce n'est pas possible avec Ethernet). permet de ne pas utiliser RARP (ne franchit pas les ponts) n'est valide qu'au dmarrage du systme pour des stations ne connaissant pas leur adresse IP. Adresses de diffusion : la partie hostid ne contient que des 1 Adresse de diffusion limite : netid ne contient que des 1 : l'adresse constitue concerne uniquement le rseau physique associ L'adresse de diffusion dirige : netid est une adresse rseau spcifique => la diffusion concerne toutes les machines situes sur le rseau spcifi : 191.20.255.255 dsigne toutes les machines du rseau 191.20. En consquence, une adresse IP dont la valeur hostid ne comprend que des 1 ne peut tre attribue une machine relle.

19

Ladressage Internet (suite)

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

Ladressage Internet (suite)


0

Rsum
8 16 24 31

Tout zro Tout zro Tout un Host-id

dsigne la machine courante

machine Host-id sur le rseau courant

diffusion limite sur le rseau courant


diffusion dirige sur le rseau Net-id boucle locale

Net-id
127

Tout un
Nimporte quoi (souvent 1)

21

Ladressage Internet (suite)


Adresses

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

Adressage priv et adressage public


Plages dadresses prives
Les classes prives sont dfinies par convention par les organismes de gestion du rseau Internet : de 10.0.0.1/8 10.255.255.254/8 de 172.16.0.1/12 172.31.255.254/12 de 192.168.0.1/16 192.168.255.254/16

Plages dadresses publique


Les classes publiques sont fournies par ISP (Internet Service Provider). Elles sont rserves au niveau de la gestion de l'ensemble du rseau Internet et un ordinateur ayant une adresse dans un de ces groupes sera clairement identifi. Les systmes qui ont une adresses dans ce groupe accdent directement aux ressources de la toile et en font intgralement partie. Ils peuvent donc la fois en tre les clients (accder des pages HTML) et en tre les serveurs (prsenter un site Web local). Du point de vue de la scurit des machines, seuls les serveurs publiques devraient recourir une adresse prive. Par serveur publique, il faut comprendre ordinateur qui excute un service qui doit tre accd depuis l'extrieur, comme un serveur Web par exemple. Un systme qui excute Windows NT Serveur qui gre les fichiers et les utilisateurs pour un service n'est certainement pas un serveur public.
23

Classes des adresses IP


Classe 10.2.1.1 128.63.2.100 201.222.5.64 192.6.141.2 130.113.64.16 256.241.201.10 Rseau Machine

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

ARP: Address Resolution Protocol

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

ARP: Address Resolution Protocol

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

ARP: Address Resolution Protocol

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

ARP: Address Resolution Protocol


0 8 16 24 31

Type de matriel
LGR-MAT

Type de protocole

Opration LGR-PROT Adresse matriel metteur (octets 0-3)


Adresse IP metteur (octets 0,1) Adresse Mat cible (octets 0,1)

Adresse Mat metteur (octets 4,5) Adresse IP metteur (octets 4,5)

Adresse Matriel cible (octets 2,5) Adresse IP cible (octets 0-3)

29

RARP: ReverseAddress Resolution Protocol

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

RARP: ReverseAddress Resolution Protocol

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

Service de transport fiable Service rseau en mode connect

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

IP : Internet Protocol (suite)


Le

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

IP : Internet Protocol (le datagramme)


Le datagramme IP L'unit de transfert de base dans un rseau internet est le datagramme qui est constitue d'un en-tte et d'un champ de donnes:

16

19

24

31

VERS HLEN Type de service Identification Dure de vie Protocole Flags

Longueur totale Offset fragment

Somme de contrle Header

Adresse IP Source Adresse IP Destination

Options IP (eventuellement) Donnes

Padding

...
34

IP : Internet Protocol (le datagramme)


Signification des champs du datagramme IP : VERS : numro de version de protocole IP, actuellement version 4, HLEN : longueur de l'en-tte en mots de 32 bits, gnralement gal 5 (pas d'option), Longueur totale : longueur totale du datagramme (en-tte + donnes) Type de service : indique comment le datagramme doit tre gr : Prcdence D T R

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

IP : Internet Protocol (le datagramme)

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

IP : Internet Protocol (le datagramme)

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

IP : Internet Protocol (le datagramme)


Rseau 1 MTU=1500
Donnes 1400 octets

P1

Rseau 2 MTU=620

P2

Rseau 3 MTU=1500

EF1 600 octets EF2 600 octets EF3 200 oct.

EF1 600 octets EF2 600 octets EF3 200 oct.

En-tte datagramme

EF1 et EF2 ont le bit More (M) positionn. Le dplacement (depl) est relatif au datagramme initial.

En-tte fragments: M=0; depl=1200

En-tte fragments: M=1; depl=600


En-tte fragments: M=1; depl=00
38

IP : Internet Protocol (le datagramme)

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

IP : Internet Protocol (le datagramme)

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 :

6 : TCP, 17 : UDP, 1 : ICMP.


40

IP : Internet Protocol (le 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

IP : Internet Protocol (le datagramme)

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

IP : Internet Protocol (le datagramme)

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

IP : Internet Protocol (le datagramme)

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

Adresse du premier saut

Adresse du second saut

... 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

IP : Internet Protocol (le datagramme)

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

Adresse du premier passage oblig

Adresse du second passage oblig

...

45

IP : Internet Protocol (le datagramme)

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

Longueur pointeur dep. flags Premire adresse IP

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

IP : Internet Protocol (le datagramme)

Le champ dpassement de capacit (dep.) comptabilise les passerelles qui n'ont pu fournir les informations requises ( liste initiale tait trop petite). Le champ FLAGS indique si les passerelles doivent renseigner uniquement l'horodatage (FLAGS = 0), ou bien l'horodatage et l'adresse IP (FLAGS=1). Si les adresses IP sont prdfinies par l'metteur (FLAGS=3), les passerelles n'indiquent l'horodatage que si l'adresse IP pointe par le champ pointeur est identique leur adresse IP. Les horodatages, bien qu'exprims en temps universel, ne constituent qu'une estimation sur le temps de passage car les horloges des machines situes sur les rseaux ne sont pas synchronises.

47

Routage des datagrammes


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

Routage des datagrammes (suite)


P1 P2

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

Routage des datagrammes (suite)

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

Routage des datagrammes (suite)


20.0.0.1 30.0.0.5 40.0.0.1

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

Pour atteindre les machines du rseau Router vers

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

Routage des datagrammes (suite)


Route_Datagramme_IP(datagramme, table_de_routage) Extraire ladresse IP destination, ID, du datagramme, Calculer ladresse du rseau destination, IN. Si IN correspondant une adresse de rseau directement accessible, envoyer le datagramme vers sa destination, sur ce rseau. sinon si dans la tablede routage, il existe une route vers ID router le datagramme selon les informations contenues dans la table de routage. sinon si IN apparat dans la table de routage, router le datagramme selon les informations contenues dans la table de routage. sinon sil existe une route par dfaut router le datagramme vers la passerelle par dfaut. sinon dclarer une erreur de routage.
52

Routage des datagrammes (suite)

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

Routage des datagrammes (suite)

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)

Le choix du dcoupage dpend des perspectives dvolution du site:

Exemple Classe B : 8 bits pour les parties rseau et machine donnent un potentiel de 256 sous-rseaux et 254 machines par sous-rseau, tandis que 3 bits pour la partie rseau et 13 bits pour le champ machine permettent 8 rseaux de 8190 machines chacun. Exemple Classe C : 4 bits pour la partie rseau et 4 bits pour le champ machine permettent 16 rseaux de 14 machines chacun.

Lorsque le sous-adressage est ainsi dfini, toutes les machines du rseau doivent sy conformer sous peine de dysfonctionnement du routage ==> configuration rigoureuse.

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

Le sous-adressage variable (VLSM)

RFC 1009 : un rseau IP peut possder plusieurs masques diffrents; ==> rseau de type VLSM (Variable Length Subnet Masks) Evite la rigidit du masque fixe qui impose : le nombre de sous-rseaux le nombre de machines par sous-rseau Exemple : 130.5.0.0/22 ==> 64 sous-reseaux et 1022 machines / sous-rseau 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

VLSM : agregation de routes


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 . . .

11.1.253.32/27 11.1.253.64/27 ...


11.1.253.192/27 Autre technique : CIDR
66

Exercices concernant le sous-adressage


Masque du sous rseau 172.16.2.10 10.6.24.20 10.30.36.12 255.255.255.0 255.255.240.0 255.255.255.0 Classe Sous rseau

67

Nbre de bits sous rseau 2

Masque

Nbre de sous rseaux

Nbre de Machines

3
..

68

Adresse 201.222.10.60

Subnet Mask 255.255.255.248

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

Soit un rseau de classe B 172.16.0.0 complter le tableau suivant :


Nbre de bits sous rseau 2 3 .. Masque Nbre de sous rseaux Nbre de Machines

Mme question pour un rseau de classe C : 192.168.5.0

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

ICMP : format des messages


TYPE CODE CHECKSUM HEAD-DATA 8 bits; type de message 8 bits; informations complmentaires 16 bits; champ de contrle en-tte datagramme + 64 premiers bits des donnes. TYPE 13 14 15 Message ICMP Timestamp Request Timestamp Reply Information Request (obsolete) Information Reply (obsolte) Address Mask Reques Address Mask Reply
72

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

ICMP : format des commandes


0 8 16 31 TYPE CODE CHECKSUM
Identifieur Seq. number

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

ICMP : les commandes


Synchronisation des Horloges et temps de transit

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

ICMP : les commandes


Demande et rponse dinformation (Information Request + Reply)

Ces messages taient initialement utiliss pour permettre aux machines de connatre leur adresse IP au dmarrage du systme. Ces commandes sont aujourdhui remplaces par les protocoles RARP et BOOTP.
Obtention de masque de sous-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

ICMP : les messages derreur


0 8 16 31 TYPE CODE CHECKSUM
SPECIFIQUE IP Header + First 64 bits

Format des messages derreur ICMP

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

ICMP : les messages derreur

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

ICMP : contrle de congestion

Le protocole IP tant un protocole en mode non connect : => les passerelles ne peuvent rserver lavance la quantit de mmoire ncessaire au routage des datagrammes. => des datagrammes sont alors dtruits. Cette situation de congestion se produit : lorsquune passerelle est connecte deux rseaux aux dbits diffrents (elle ne peut couler au rythme impos par le rseau le plus rapide), lorsque de nombreuses machines mettent simultanment des datagrammes vers une passerelle. Pour palier ce problme, la machine peut mettre un message ICMP de limitation de dbit de la source (Source Quench) vers lmetteur. Il nexiste pas de message dannulation de limitation de dbit. La source diminue le dbit, puis laugmente progressivement tant quelle ne reoit pas de nouvelle demande de limitation.

78

ICMP : modification de route


Un message ICMP de redirection de route peut tre transmis par une passerelle vers une machine relie au mme rseau pour lui signaler que la route nest pas optimale.

B Internet

R1

R2
2me routage

Route par dfaut

Redirection ICMP

Une fois la redirection effectue, les datagrammes seront achemins vers la passerelle approprie.
79

ICMP : modification de route

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

ICMP : autres compte-rendus

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 : User Datagram Protocol

UDP : protocole de transport sans connexion de service applicatif : mission de messages applicatifs : sans tablissement de connexion au pralable l'arrive des messages ainsi que lordonnancement ne sont pas garantis. Identification du service : les 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

UDP : les ports

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

UDP : format des messages


Les messages UDP sont galement appels des datagrammes UDP. Ils contiennent deux parties : un en-tte UDP et les donnes UDP. 0 16 31 Port UDP source Port UDP dest.
Longueur message UDP

Checksum UDP

Format des messages 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

UDP : pseudo en-tte

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

31 Format du pseudo en-tte

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

UDP multiplexe et dmultiplexe les datagrammes en slectionnant les numros de ports :

une application obtient un numro de port de la machine locale; ds lors que l'application met un message via ce port, le champ PORT SOURCE du datagramme UDP contient ce numro de port, une application connat (ou obtient) un numro de port distant afin de communiquer avec le service dsir.

Lorsque UDP reoit un datagramme, il vrifie que celui-ci est un des ports actuellement actifs (associ une application) et le dlivre l'application responsable (mise en queue) si ce n'est pas le cas, il met un message ICMP port unreachable, et dtruit le datagramme.
86

UDP : les ports standards

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

TCP : Transmission Control Protocol

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

Mi nest pas reu Ai non envoy

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

TCP : Technique de fentrage


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

Octets non missibles tout de suite.


94

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

Options ventuelles Donnes . . .

TCP : format du segment

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

TCP : Format du segment

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

TCP : format du segment

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

Crash Closed Syn-sent seq=400 CTL=SYN ?? Syn-sent seq=100 CTL=RST


Syn-sent

Established
?? seq=300 ack=100 CTL=SYN
abort close

Syn-sent seq=100 CTL=RST


98

TCP format du segment

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

TCP : format du header


OPTIONS

Permet de ngocier la taille maximale des segments changs. Cette option n'est prsente que dans les segments d'initialisation de connexion ( avec bit SYN). TCP calcule une taille maximale de segment de manire ce que le datagramme IP rsultant corresponde au MTU du rseau. La recommandation est de 536 octets. La taille optimale du segment correspond au cas o le datagramme IP nest pas fragment mais : il nexiste pas de mcanisme pour connatre le MTU, le routage peut entraner des variations de MTU, la taille optimale dpend de la taille des en-ttes (options).

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

Attente car f = 900

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

Ferm ouverture active/ SYN fermeture ouverture passive

SYN/SYN+ACK

Ecoute (Listen)

Send SYN

SYN reu

RST SYN/SYN+ACK

SYN mis

Fermer

RST Tempo. exp.

ACK Close/FIN

Etablie

SYN+ACK/ACK

FIN/ACK Fermer/FIN

Attente Fermer FIN (send)

FIN Attente -1 rcv ACK of FIN

FIN/ACK

Fermeture en cours

Dernier ACK

rcv ACK

rcv ACK of FIN tempo. expire aprs 2 dure de vie de segment

FIN Attente -2

FIN / ACK

Tempo. expire

110

TCP : ports standards


No port Mot-cl Description

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

Etude de cas : Modle OSI et quipements rseaux

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

Table Port Droit Adresse MAC MAC-S1 MAC-P11 TTL 60 90

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