Samedi 3 Octobre 1998 Arash Habibi TD1.text Pour le premier TD, je me suis presente, j'ai donne la maniere d'evaluer (il y aura deux TP evalues) etc etc. Ensuite, il faut situer les sockets dans les 7 couches. (Virginie Gabriel : C'est quoi une socket ? c'est un objet ? un logiciel ? C'est quoi la nature d'une socket ?) Tout mon TD jusqu'au socket se deroule avec un rythme ternaire : Pour chaque couche C : a/ Ce a quoi on s'interesse en travaillant sur la couche C (la couche C vue de l'interieur) b/ Ce que fournit la couche C aux couches superieures (la couche C vue de l'exterieur) c/ Exemples d/ Les choses qui sont laissees aux couches superieures (problemes) I. Couche physique : Dessin : deux ordinateurs (boites avec un "O") qui sont lies par on ne sait quoi: a/ La couche physique vue de l'interieure Au commencement il y avait le cable coaxial, ou la paire torsadee, ou la fibre optique, ou le faisceau hertzien ou le faisceau infra-rouge ou le satellite ou etc. Le signal binaire ne peut pas toujours etre mis sur ces fils sans traitements (modulation, demodulation, codage, decodage etc. ) b/ La couche physique vue de l'exterieur Vue de l'exterieur, la couche physique peut etre vue comme un fil : quand on pose un 0 a un bout, on a beaucoup de chance de recuperer un 0 a la reception. En fait, ca peut tres bien ne pas etre un fil, mais une batterie de satellites et de modulateurs et de codeurs. Mais vu de l'exterieur, c'est comme un fil. "Beaucoup de chance" dans le sens ou la couche physique peut etre fiable, mais en general elle ne l'est pas. On lui demande simplement que si a l'emission on a mis un 0, alors la probabilite d'avoir un 0 a la reception soit plus que 50%. Sinon c'est a pile ou face. c/ Problemes : A priori, ca ne marche qu'entre deux stations. Sinon on ne sait pas a qui on parle. Et puis, autre probleme : la fiabilite. II. La couche II (liaison de donnees) II.1. La sous-couche MAC (Medium Access Control) Dessin : Quatre boites avec un "O" (quatre ordinateurs) liees a une boite qui represente la couche physique. En dessous, les 4 boites sont liees par un seul et meme fil. a. Au lieu d'envoyer le message, il faut envoyer le message ET une adresse physique. Ce message+adresse est envoye sur la ligne et toutes les couches physiques le recoivent et le transmettent a une deuxieme couche 2.1 qui ne fait que lire l'adresse de destination. Si c'est la leur alors le message est transmis a l'ordinateur, sinon, ils jettent. D'autre part, il faut faire gaffe a QUI a le droit de parler sur cette ligne. Plusieurs stations ne peuvent pas parler en meme temps. On n'emet que quand personne d'autre ne parle. Et encore, si pendant l'emission quelqu'un d'autre a deja emis, alors, tous les deux se taisent et attendent un temps aleatoire avant d'emettre. b. Avec cette couche, on sait que dans un reseau local ou tous les ordinateurs peuvent etre relies ensemble, il suffit de mettre un message+adresse.dest pour que le message ait pas mal de chance d'arriver a bon port. c. exemples : IEEE 802.3 : ethernet IEEE 802.4 : bus a jeton (general motors) IEEE 802.5 : anneau a jeton (boeing) d. Probleme : Toujours la fiabilite II.2. La sous-couche LLC (Logical Link Control) Dessin : toujours le meme mais avec une boite par dessus qui represente la couche MAC puis la sous-couche LLC. a. On veut rendre la ligne fiable. Alors on a des codes detecteurs d'erreur, et des codes correcteurs d'erreur. Quand un message arrive, soit on le corrige, soit, quand on detecte une erreur, on demande la retransmission, jusqu'a ce qu'il n'y ait plus d'erreur. b. Du point de vue de l'exterieur, dans un reseau local, quand on envoie un message + adresse de destination alors on est SUR ET CERTAIN que le message arrivera a bon port et que le message sera correcte. c. Exemple : HDLC, LAPB, etc. d. Probleme : c'est un reseau local. On ne peut pas generaliser ce systeme au monde entier, et cela pour au moins deux raisons : 1. probleme de bande passante : tous les messages passent par les machines de tout le monde. Pour tous les messages, il faut lire l'adresse et voir si on est concerne ou non. 2. probleme de norme et de format d'adressage. Historiquement tous les domaines ont pris des formats et des normes differentes. Et il etait trop tard pour pouvoir imposer des normes a tout le monde. Chacun avait son reseau avec ses propres normes. III. La couche 3 (reseau) a. Couche 3 vue de l'interieur Dessin : on ajouet une quatrieme boite. a. La resolution de ce probleme suppose que tous les ordinateurs et tous les reseaux au monde aient une adresse unique selon un format unique. Les messages sortent de l'ordinateur avec l'adresse unique du desinataire. On regarde si cette adresse appartient au reseau local. Si oui alors on fait comme d'habitude : on trouve l'adresse locale et on l'envoie. Sinon, alors on envoie le message a un des ordinateurs specialises du reseau (la passerelle ou le gateway) qui s'occupe de tous les echanges d'information avec l'exterieur. Mais la passerelle doit evidemment parler le langage commun a tous les reseaux. Dessin : Chaque reseau local (represente auparavant par quatre boites avec un "O") + les quatre couches, sera represente juste par un seul carre dont un des coins est accentue par un autre gros carre qui represente la passerelle (le point d'entree du reseau local) Et puis ces carres on en dessine partout. (Une fois que le message est sorti du reseau local, il ne fait que passer de passerelle en passerelle jusqu'a ce qu'il tombe sur la passerelle du bon reseau. Cette passerelle, prend l'adresse, reconnait l'adresse de la machine. Traduit l'adresse en format local et l'envoie a la bonne machine. b/ La couche 3 vue de l'exterieur (plus particulierement IP) Quelque soit la machine sur laquelle on se trouve, on peut envoyer et recevoir des messages dans le monde entier, pourvu que l'on connaisse l'adresse IP de la machine de destination. c/ C'est vers les annees 70, on a decide d'avoir une protocole qui chapaeute tout le monde. Quand on transmet des informations d'un reseau a un autre, elles doivent etre sous le format du nouveau protocole. Et ce nouveau protocole qui relie les nets entre eux s'appelle le protocole INTER-NET. Il y a aussi l'acces au reseau publique qui se fait selon le protocole X25 du CCITT. d/ Probleme: Accessoirement : IP est un protocole non-oriente connexion, donc a priori, on n'a aucune garanti que les differents messages suivent le meme chemin. Donc ils peuvent tres bien arriver dans le desordre. D'autre part, dans des cas de congestion, IP n'hesite pas a detruire des messages pour ameliorer la situation. (Par contre X25 est oriente connexion et les messages arrivent forcement dans l'ordre) Bref les differents protocoles fournissent differents types et qualites de service. Quand la qualite est bonne il n'y a pas grand chose a faire. Autrement il faut rattraper les erreurs et retablir la qualite. De facon plus importante, maintenant a partir de n'importe quelle machine, on peut envoyer des messagesa a une autre machine dans le monde. Mais que faire si c'est un processus particulier dans cette machine qui doit envoyer un message a un autre processus ? IV. Couche 4 (Transport) Dessin : Celui du poly a. La couche 4 vue de l'interieure. Du point de vue de la correction des erreurs, la couche 4 peut etre tres active (si la couche inferieure n'a pas ete fiable) ou alors elle peut etre tres tres tres passive si la couche inferieure a bien fait son travail. Par contre, il faut que les messages arrivant au port reseau de la machine puissent etre distribuees aux bons processus : Notion de port : cf Poly. b. La couche 4 vue de l'exterieur A partir de n'importe quel processus dans n'importe quelle machine, le processus peut reserver un port de la machine. Quand il envoie des messages, il envoie non seulement les adresse IP de l'expediteur et du destinateur, mais aussi les numeros de port de l'expediteur et du destinataire. Donc si le processus de destination s'est conencte sur un numero de port en particulier, alors tout processus dans le monde pourra lui envoyer des messages et recevoir des messages de ce processus. c. Exemples ; UDP et TCP. TCP est orientee connexion et peut rattraper les erreurs des couches inferieures. UDP est non-orientee connexion ne fait rien pour rattraper la moindre erreur. d. Probleme Cf TP Dans la suite du TD, j'ai commence a resumer le poly de TP pour qu'il puisse commencer assez vite en TP. Ciao !