Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des...
-
Upload
marc-rodrigues -
Category
Documents
-
view
108 -
download
0
Transcript of Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des...
Réseaux ARéseaux A
Réseaux Informatiques(2 ème partie)
Couche 4 - Couche 4 - TransportTransport
Objectifs
Transférer des informations : - entre deux applications - indépendamment du (ou des) réseaux traversés - de manière fiable et économique
La qualité des protocoles réseau n'est pas toujours la même :
X25 = contrôle des erreursIP = sans contrôle d'erreurs
Machine B Machine C
Processus Processus Processus
Machine A
BAL (N° Port)
Couche 4
I P Réseau
P1
Couche 4 - Couche 4 - TransportTransport
Couche 4 - Couche 4 - TransportTransport
Fonctions
-Transport de bout à bout
-Transparence de l'information
-Qualité de service
- Adressage
Couche 4 - Couche 4 - TransportTransport
Types de protocoles
-Sans connexionLes messages sont transmis aux applications sans vérifier: - si elles sont actives- laquelle les récupère - les erreurs d'acheminement==> exemple de protocole : UDP
-Orienté connexionLes messages sont transmis aux applications - après une pseudo connexion entre applications- en contrôlant les erreurs d'acheminement==> exemple de protocole : TCP
1 - TCP - Généralités
Machine B Machine C
Processus Processus Processus
Machine A
BAL (N° Port)
Couche 4
I P Réseau
P1
Protocole TCPProtocole TCP
TCP (Transport Control Protocol) - Objectifs
Service en mode connecté ==> garantie de non perte de messages ainsi que de l'ordonnancement
Transport fiable de la technologie TCP/IP :
•Adresse les processus (N° Port)
•Fiabilise IP (Connexion et acquittements)
•Optimise les ressources (Fenêtres variables)
Protocole TCPProtocole TCP
2 - TCP – Les ports
Les adresses IP désignent des machines. Un processus doit adresser un autre processus.
L'adressage d’un processus est un dispositif indépendant du système d'exploitation car :
les processus sont créés et détruits dynamiquement,
on identifie les destinations selon les services offerts et pas selon les processus qui les mettent en oeuvre,
un processus peut assurer plusieurs services.
Protocole TCPProtocole TCP
TCP – Quelques N° de Port
No port Mot-clé Description
20 FTP-DATA File Transfer [Default Data]
21 FTP File Transfer [Control]
23 TELNET Telnet
25 SMTP Simple Mail Transfer
42 NAMESERVER Host Name Server
53 DOMAIN Domain Name Server
80 HTTP WWW
110 POP3 Post Office Protocol - Version 3
Protocole TCPProtocole TCP
3 - TCP – Fiabilisation
TCP doit assurer un transport fiable des datagrammes IP :
1. service en mode connecté
2. garantie de non perte de messages ainsi que de l'ordonnancement
Protocole TCPProtocole TCP
TCP - Acquittements
Source Réseau Destination
Emission de MiTemporisationarmée Mi n‘est pas reçu
Ai non envoyé
Ai n’est pas reçu
Tempo. echue
Réemission de Mi
Réception de MiEmission de Ai
Réception de Aj
Protocole TCPProtocole TCP
TCP - Connexion
Une connexion TCP est établie en trois temps de manière à assurer la synchronisation nécessaire entre les extrémités:
TCP source TCP destination
Syn seq=x
Syn seq=y,ack=x+1
Ack y+1
Protocole TCPProtocole TCP
Une connexion TCP est libérée en un processus dit "trois temps modifié":
TCP source TCP destination
Fin seq=x
ack=(x+1) + fin
Ack y+1
Applicatif -> closeFin seq=y ack=x+1
TCP - Déconnexion
Protocole TCPProtocole TCP
4 - TCP – Optimisation
L’acquittement simple pénalise la vitesse des
échanges
il faut attendre un acquittement avant d'émettre le
message suivant.
La technique du fenêtrage permet l'émission de Nmessages avant d’attendre un acquittement.
Protocole TCPProtocole TCP
TCP – Segmentation
Les données transmises à TCP constituent un flot
d'octets de longueur variable.
TCP divise ce flot de données en segments en utilisant
un mécanisme de fenêtrage.
CECI EST UN FLOT DE DONNEES A TRANSMETTRE …
Début
Longueur
S e g m e n t
Protocole TCPProtocole TCP
TCP – Exemple de fenêtrage
TCP source TCP destination
Seq=1 Lg=300
Seq=301 Lg=300
Seq=601 Lg=300
Ack=901 Fen=500
Seq=901 Lg=250
Seq=1151 Lg=250
Ack=1401 Fen=600
Fenêtre initiale900
Segment initial300
Accuse réception 900 car. et demande modification
fenêtre
Modifie longueur segment
Expedie 3x300 c
Protocole TCPProtocole TCP
5 - TCP – Le Segment TCP
Segment = unité de transfert du protocole TCP .
= Un format unique
PORT SOURCE PORT DESTINATION
NUMERO SEQUENCE
NUMERO ACQUITTEMENT
LONGUEUR
CONTROLE ERREUR
OPTIONS EVENTUELLES
DONNEES
POINTEUR URGENCE
PADDING
RESERVE CODES FENETRE
Protocole TCPProtocole TCP
TCP/IP : Récapitulatif
Application Ouvrir :ww.dest.frEcrire(f,message)
TCP|20|21|message|
IPww.dest.fr = 111.111.111.111adresse locale = 111.111.111.222
ROUTAGE
Choix destinataire --> dest|Adr1|adr2|...|20,21,message|
HDLCMise en forme trame|F|dest|controle|adr1,adr2,...,20,21,message|bce|F||erreurs|F|
SocketN° port=20
Envoyer : messageà ww.dest.frN°port= 21
Messagepour ww.dest.frn° port =21
Envoyer'20,21,message'
a ww.dest.fr
Envoyer à dest 'Adr1,adr2,...,20,21,message'
Réseau
DNS
Adresse IP deww.dest.fr ?
L’adresse est :111.111.111.111
ARP
Adresse mac de111.111.111.111?
Adresse = dest
Protocole TCPProtocole TCP
5 - UDP (User Datagram Protocol) – Un autre protocole
Protocole de transport sans connexion de service applicatif.
Principales caractéristiques :
-émission de messages sans établissement de connexion au préalable
- arrivée des messages et ordonnancement non garantis
- émission d'un message se fait sur la base d'un port source et un port destinataire
Protocole UDPProtocole UDP
Couches 5-6-7Couches 5-6-7
Couches 5 à 7 = couches hautes :
- ne s'occupent pas de transmission de données- règlent les échanges entre applications - prennent en charge les différences syntaxiques qui existent dans les données- défissent les caractéristiques des applications réseaux Il s'agit de définir les fonctions du système à mettre en oeuvre, pour utiliser des applications, dans un environnement réseau.
Présentation
Couche 5 - Couche 5 - SessionSession
Objectif : mise en place et contrôle du dialogue entre tâches distantes Fonctions :
-connexion et déconnexion des tâches
-simuler le mode à l'alternat (jeton)
- mettre en place des procédures de reprise (synchronisation)
Objectif
Couche 6 - Couche 6 - PrésentationPrésentation
Objectif = Présenter l'information aux applications de façon à résoudre les différences syntaxiques tout en préservant la signification sémantique. Principales fonctions- présentation des données transférées entre les applications- structure des données (fichier virtuel et terminal virtuel)- syntaxe des actions effectuées (syntaxe abstraite)- codage de l'information
- codage de base de l'information (ascii, ebcdic)- optimisation des temps --> compression des données- sécurité --> cryptage des données
Objectif
Couche 6 - Couche 6 - PrésentationPrésentation
•ASN-1 Abstract Syntax Notation 1 (Syntaxe Abstraite Numéro 1)
•XDR (External Data Representation)
•Compression des données (Huffman, pkzip, arj, mnp5, jpeg, mpeg, …)
•Cryptage des données (DES, RSA, …)
Quelques protocoles
Couche 7 - Couche 7 - ApplicationApplication
Donne aux utilisateurs le moyen d'accéder à l'environnement OSI:
- Fournit des services directement utilisables par les applications- transfert de fichiers- consultation d'annuaires- diffusion de pages
- Définit des standards pour que les applications commercialisées adoptent les mêmes principes (spécifications)
Mode non connecté - traitement de type différé- Messagerie électronique (X400 , X500, SMTP)- Conférences à distance- ... Mode connecté - traitement en temps réel- Transfert de fichiers (FTP, FTAM)- Accès aux fichiers (NFS)-Diffusion de pages (HTTP)- ...
Couche 7 - Couche 7 - ApplicationApplication
X400 = Norme pour la structure et la transmission des messages électroniques
X500 = annuaire réparti X500 définit l'annuaire comme une structure hiérarchisée d'ordinateurs qui communiquent entre-eux par le protocole X400 L'utilisateur connaît le nom à chercher et le soumet à X500 X500 utilise X400 pour rechercher l'information
Exemple d'applications : Pages jaunes, Identification , localisation de documents (DNS)
Exemple : X400 – X500
Couche 7 - Couche 7 - ApplicationApplication
SMTP (Simple Mail Transfer Protocol) = protocole standard permettant de transférer le courrier d'un serveur à un autre en connexion point à point.
Principales caractéristiques :
- protocole fonctionnant en mode connecté, - message encapsulé dans une trame TCP/IP, - courrier remis directement au serveur de courrier du destinataire,- commandes du protocole sont textuelles ,- port par défaut = 25
Objectif
Messagerie SMTPMessagerie SMTP
Schéma
Messagerie SMTPMessagerie SMTP
Emetteur Destinataire
Serveur Serveur
Bal
Dest.Message
SMTP
POP
Objectif
Protocole de niveau application pour la transmission de documents distribués et multimédia à travers un système d'information multi-utilisateurs.
HTTP à été utilisé à l'initiative du Word-Wide Web dès 1990.
Objectif
Protocole HTTPProtocole HTTP
Schéma général
Protocole HTTPProtocole HTTP
Client ServeurWWW
Requête = URL
Document HTML
Protocole HTTP
Un document WWW est un document hypertexte:- Certains groupes de mots sont des liens vers d'autres documents.- Les liens vers d'autres documents sont mis en évidence (soulignés, inverse vidéo, couleur).- Les liens entraînent vers d’autres documents hypertexte qui sont soit stockés localement, soit sur un autre ordinateur de l’Internet.
La vision du monde de l'information est un graphe
Le document
Protocole HTTPProtocole HTTP
L’adresse
www.site.fr
L'URL "http" est utilisé pour localiser une ressource réseau via le protocole HTTP. Syntaxe : "http:" "//" host [ ":" port ] [ chemin ]
Protocole HTTPProtocole HTTP
- Généré par les serveurs et interprété par les clients .- Il offre les fonctions de base pour permettre un affichage agréable (paragraphes, listes, indentations, titres de paragraphe, styles et polices de caractères, insertion d'images, ...) en restant très simple.-HTML inclut évidemment les liens hypermédia.Exemple :<P>Réalisé par <A HREF="http://www.garcia.fr/">Francis GARCIA</A> dans le cadre du <A HREF="http://www.reseaux-a.fr/">cours Réseaux A</A>.</P>
Langage HTML (Hyper Text Markup Language).
Protocole HTTPProtocole HTTP
Serveur
HTTP
Fils 2
Fils 1
Client 1
Client 2
1 – Demande connexion
2 – Acceptation
3 – Fils
4 – Echange (HTML)
Processus d ’échange
Protocole HTTPProtocole HTTP
Le cache
Un cache est un espace de stockage local destiné à enregistrer les réponses et le sous-système contrôlant ces enregistrements, leur relecture et leur effacement.
Un cache enregistre des réponses dans le but de diminuer le temps d'accès et la charge du réseau lors de requêtes identiques ultérieures.
Protocole HTTPProtocole HTTP
Protocole NFSProtocole NFS
Objectif Partager les répertoires de machines . Ces répertoires sont ensuite, accessibles à des clients qui supportent le protocole NFS (Dos, OS/2, Unix..))
Principe-Un serveur NFS "exporte" des disques ou une arborescence pour les clients NFS.-Un client "monte" des disques exportés par un serveur.
Exemple : Schéma NFS
Machine A(client NFS)
Machine B(serveur NFS)
Système fichier de B
Fichiers NFS
Unité virtuelle de A
Unité physique
Schéma
Protocole NFSProtocole NFS
Architecture
NFS
XDR
RPC
TCP ou UDP
RPC gére automatiquement - la vérification de la présence du serveur, la présence du service demandé - la transmission de la requête du client vers le serveur,- l’appel de la procédure distante- l’expédition du résultat du serveur vers le client
Pour transmettre des données, l’expéditeur les convertit de son format local au format XDR ; le récepteur réalise la conversion inverse : du format XDR vers son format local.Les routines de conversion sont locales.
NFS est capable de fonctionner avec des machines hétérogènes (représentation différente des nombres, etc.
Il existe des implémentations de NFS utilisant des réseaux autres que TCP/IP
Protocole NFSProtocole NFS
Application
PointComm.
TCP UDP
IP
Interface Socket
Les services Les services réseauxréseaux
Interface Socket - Interface Socket - Présentation
Socket = Fichier de communication mode FIFO
Utilisable avec TCP ou UDP
Accessible par un n° Port + adresse IP
Mode d’utilisation = Création
Affectation numéro
(Traitements …)
Fermeture
Les services Les services réseauxréseaux
Interface Socket - PrésentationInterface Socket - Présentation
Sock = socket (af, type, protocole)
famille Type de service
TCP-IP---> AF_INET SOCK_STREAM IPPROTO_TCP TCP
SOCK_DGRAM IPPROTO_UDP UDP
0 (défaut)
Les services Les services réseauxréseauxInterface Socket - CréationInterface Socket - Création
int bind ( sock, p_adresse, lg )
descripteur de la socket
pointeur en mémoire sur l'adresse
longueur de lastructure adresse
struct sockaddr_in {
short sin_family; -- AF-INET
ushort sin_port; -- n° de port
struct in_addr sin_addr; -- @ IP
char sin_zero [8]; -- Huit 0}
Les services Les services réseauxréseaux
Interface Socket - Interface Socket - Affectation Numéro
int close (sock )
descripteur de la socket
Les services Les services réseauxréseaux
Interface Socket - FermetureInterface Socket - Fermeture
Communication entre 2 ou plusieurs processus
Client – Serveur
2 modes de communication :
•Datagramme (UDP)
•Connecté (TCP)
Les services Les services réseauxréseauxInterface Socket - UtilisationInterface Socket - Utilisation
Interface Socket - Datagramme
Serveur Client
Socket ()
Bind () Socket ()
Bind ()
recvfrom()
sendto() sendto()
recvfrom()
close() close ()
Pas d'établissement de connexion
Les services Les services réseauxréseaux
Interface Socket - Connecté
Serveur
Socket()
Bind()
Listen()
Accept()
Read()
Write()
Close()
Client
Socket()
Bind()
Connect()
Write()
Read()
Close()
Connexion établie
Les services Les services réseauxréseaux
Attente connexion