Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des...

46
Réseaux A Réseaux A Réseaux Informatiques (2 ème partie)

Transcript of Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des...

Page 1: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

Réseaux ARéseaux A

Réseaux Informatiques(2 ème partie)

Page 2: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 3: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

Machine B Machine C

Processus Processus Processus

Machine A

BAL (N° Port)

Couche 4

I P Réseau

P1

Couche 4 - Couche 4 - TransportTransport

Page 4: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

Couche 4 - Couche 4 - TransportTransport

Fonctions

-Transport de bout à bout

-Transparence de l'information

-Qualité de service

- Adressage

Page 5: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 6: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 7: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 8: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 9: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 10: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 11: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 12: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 13: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 14: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 15: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 16: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 17: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 18: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 19: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 20: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 21: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 22: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 23: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 24: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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)

Page 25: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 26: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 27: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 28: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

Schéma

Messagerie SMTPMessagerie SMTP

Emetteur Destinataire

Serveur Serveur

Bal

Dest.Message

SMTP

POP

Page 29: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 30: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

Schéma général

Protocole HTTPProtocole HTTP

Client ServeurWWW

Requête = URL

Document HTML

Protocole HTTP

Page 31: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 32: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 33: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

- 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

Page 34: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

 

  

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

Page 35: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 36: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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.

Page 37: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

 

  

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

Page 38: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 39: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

Application

PointComm.

TCP UDP

IP

Interface Socket

Les services Les services réseauxréseaux

Interface Socket - Interface Socket - Présentation

Page 40: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 41: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 42: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 43: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

int close (sock )

descripteur de la socket

Les services Les services réseauxréseaux

Interface Socket - FermetureInterface Socket - Fermeture

Page 44: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 45: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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

Page 46: Réseaux A Réseaux Informatiques (2 ème partie). Couche 4 - Transport Objectifs Transférer des informations : - entre deux applications - indépendamment.

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