Title: R
1Réseaux informatiquesLes couches hautes du
modèle OSIInternet
- Cours IUP2 SY
- Novembre décembre 2001
2Plan du cours
- Introduction
- Modèle OSI
- Généralités
- Couche transport
- Couches session, présentation et application
- Internet
- Architecture
- IP
- ARP
- Protocoles de transport
- Généralités
- UDP,TCP
3Plan du cours (2)
- Services dannuaire
- machines (DNS)
- utilisateurs (NIS)
- Services de communication
- email (SMTP)
- news (NNTP)
4Plan du cours (3)
- Web
- Historique
- Langage de description des documents sur le Web
HTML - URL
- HTTP
- Navigateur
- Serveur Web
- Traitements des données
- par le serveur les programmes CGI
- Par le navigateur les applets Java
- Proxy, cache
- Moteur de recherche
5Plan du cours (4)
- Services de gestion de fichiers
- FTP
- rcp
- NFS
- Services dexécution à distance
- TELNET
- rlogin, rsh
- Sécurité dans les réseaux
- cryptographie, authentification
- Administration de réseau (SNMP)
- Services daffichage à distance
- serveur X
- Services dimpression
6Quelques ouvrages de référence
- Réseaux architectures, protocoles, applications.
Andrew Tanenbaum. InterEditions. ISBN 2-7296
0301-8 - Computer Networks, third edition. Andrew
Tanenbaum. Prentice-Hall International Editions.
ISBN 0-13-394248-1 - Internetworking with TCP/IP, volume 1
principles, protocols and architecture, second
edition. Douglas E. Comer. Prentice-Hall
International Editions.ISBN 0-13-474321-0 - TCP/IP illustré, les protocoles, volume 1. W.
Richard Stevens, traduit par E. Tyberghien.
Vuibert, 1998. ISBN 2-7117-8639-0
7Réseau de lIFSIC
Station de travail E003c01 (Solaris)
Python (news)
Thot (Homedir)
PC I214m01 (Linux)
Hera (exécution)
Réseau dinterconnexion
Oracle (BD)
Lwe001 (imprimante)
Sybille (DNS,NIS)
Apollon (Web)
Themis (impression)
Helios (mail)
8Réseau de lIFSIC
91 - Introduction
- Modèle OSI (Open Systems Interconnection)
- Généralités
- Modèle OSI développé par lISO (International
Standards Organization) qui est un organisme de
normalisation - Couche transport
- Couches session, présentation et application
10Exemple basique
Applications
Applications
HTTP
Protocoles
Protocoles
TCP/IP
Système dexploitation
Pilote
Pilote
Ethernet
Interface réseau
Ethernet
Interface réseau
Matériel
Médium physique
Machine A
Machine B
Exemple HTTP sur TCP/IP sur Ethernet
11Le modèle OSI
Site A
Site B
Protocole dapplication
Application
Application
APDU
7
Protocole de présentation
Présentation
Présentation
PPDU
6
Protocole de session
Session
Session
SPDU
5
Protocole de transport
4
Transport
Transport
TPDU
Réseau
Réseau
Réseau
Réseau
3
Paquet
Liaison
Liaison
Liaison
Liaison
2
Trame
Physique
Physique
Physique
Physique
Bit
1
Sous-réseau
Médium physique
12Transmission des données dans le modèle OSI
Processus émetteur
Processus récepteur
Canal de transmission de données
13Les couches basses OSI
- La couche physique
- Transmission de bits de manière brute sur un
médium de communication - Assure que si le site démission envoie un bit à
1 (0), le site de réception reçoit un bit à 1 (0) - Interface mécanique et électrique
- La couche liaison de données
- Transmission dune suite de bits (trame) sans
erreur du site démission au site de réception - Fabrication des trames, gestion dacquittements,
contrôle de flux, transmission full-duplex
14Les couches basses OSI (2)
- La couche réseau
- Transmission de paquets entre un site démission
et un site de réception - Routage, contrôle de congestion, interconnexion
de réseaux hétérogènes, facturation - Etude des couches basses dans le cours réseau en
IUP3
15La couche transport OSI
- Accepte des données de la couche session, les
découpe en plus petites unités et assure que les
unités sont transmises au site de destination de
façon efficace - Rend la couche session indépendante des
changement de technologie du matériel - Multiplexage des connexions transport sur une
connexion réseau ou utilisation de plusieurs
connexions réseaux pour une connexion transport
de façon transparente à la couche session
16La couche transport OSI (2)
- Différents services à fournir à la couche session
- c anal point à point sans erreur délivrant les
messages dans lordre d émission - datagramme sans garantie sur lordre de
délivrance - diffusion de messages
- Protocole de bout en bout entre site source et
site de destination - Gestion de connexions multiples dans chaque site
- Etablissement et relâchement des connexions
réseaux - Contrôle de flux
17Exemple
Site C
Site A
Site B
Plusieurs connexions transport simultanées entre
différents processus sur divers sites.
18Les couches hautes OSI session
- Permet à des utilisateurs sur différentes
machines détablir des sessions entre eux - Session transport de données services avancés
- synchronisation
- Exemples de services de niveau session
- dialogue entre utilisateurs
- jeton
- transfert de fichiers entre deux machines
- Transfert dun très gros fichier plus long que
lintervalle moyen entre deux défaillances - Gestion du transfert dun fichier de manière à
éviter la reprise du transfert depuis le début en
cas de défaillance
19Les couches hautes OSI présentation
- Sintéresse à la syntaxe et à la sémantique de
linformation transmise - Exemples
- encodage de données dans une norme agréée
- les machines utilisent différents codes (ASCII,
EBCDIC) pour représenter les chaînes de
caractères - définition de formats abstraits pour permettre à
des machines hétérogènes de communiquer - couche de présentation effectue les conversions
entre les formats abstraits et les codes des
machines - compression de données
- chiffrement
20Les couches hautes OSI application
- Nombreux protocoles dusage courant
- Terminal de réseau virtuel
- exemple
- éditeur de texte conçu pour un terminal virtuel
car doit être capable de fonctionner sur des
terminaux réels aux caractéristiques différentes - logiciel de traduction entre terminal virtuel et
terminal réel - Transfert de fichiers
- convention de désignation, représentation des
données diffèrent selon les systèmes de fichiers - gestion de lhétérogénéité
- Services de courrier électronique, web,
consultation dannuaires ...
212 - Internet
- Internet
- Architecture
- IP
- ARP
22Internet
- Interconnexion de réseaux (Internetworking)
- Donner aux utilisateurs lillusion dun seul
réseau et dun service de communication universel
E
A
D
B
C
23Architecture de l Internet
E
Internet
A
D
B
Site
C
Passerelle (routeur)
Réseau physique
24Interconnexion de réseaux
G1
Réseau 1
Réseau 2
Passerelle (gateway) Interconnexion de réseaux
physiques
Passerelle route les paquets en fonction du
réseau de destination Transit des paquets du
réseau 1 vers le réseau 3 à travers le réseau 2
25Caractéristiques de lInternet
- Applications indépendantes des technologies de
communication sous-jacentes et de la topologie
des réseaux - Logiciel daccès à Internet sur chaque site, seul
ce logiciel doit être changé pour prendre en
compte les nouvelles technologies - Changement de topologie ou de technologie de
communication transparent aux applications - Pas de réseau central
- Architecture complètement distribuée
- tous les réseaux physiques sont traités de
manière identique quelque soit leur taille - Identificateurs universels (nom ou adresse) pour
les sites de lInternet
26Internet dans le modèle OSI
FTP
TELNET
NFS
DNS
HTML
NTP
SMTP
HTTP
SNMP
XDR
RPC
UDP
TCP
IP
ARP
27Exemple FTP entre des sites sur un LAN
28Exemple FTP entre des sites sur des réseaux
distincts
Protocole FTP
Protocole TCP
IP
IP
Ethernet
Token Ring
Routeur
Protocole Ethernet
Protocole Token Ring
29Adresse IP
- Une adresse IP identifie une connexion à un
réseau - Une passerelle possède une adresse IP par réseau
auquel elle est connectée - Un site peut être connecté sur plusieurs réseaux
et possède une adresse IP par réseau - Une adresse IP est un entier de 32 bits.
30Notation décimale pointée
- Mémorisation dune adresse IP sous forme de 4
entiers séparés par un point. Chaque entier
correspond à lun des octets de ladresse IP. - Exemple
- 10000000 00001010 00000010 00011110
- correspond à
- 128.10.2.30
- Transmission dadresses IP sous forme binaire
- Big endian (octet le plus significatif en premier)
31Format des adresses IP
- Adresse IP (idRéseau, idSite)
- Il y a cinq classes dadresses IP 3 classes
primaires (A, B, C), classe D (multicast), classe
E (réservée à un usage futur).
32Considérations de taille
- Classe A
- Une centaine de réseaux avec un très grand nombre
de sites (plus du million) - Adresses de 0.0.0.0 à 127.255.255.255
- Classe B
- Quelques milliers de réseaux avec un nombre moyen
de sites (quelques milliers) - Adresses de 128.0.0.0 à 191.255.255.255
- Le réseau de lIFSIC est un réseau de classe B
(148.60) - Classe C
- Plus dun million de réseaux avec un petit nombre
de sites (254 maximum) - Adresses de 192.0.0.0 à 223.255.255.255
33Allocation des adresses aux interfaces Internet
- Assurer lunicité de ladresse IP dune interface
- Autorité centrale pour attribuer les adresses IP
aux réseaux de lInternet - Centre dInformation du Réseau Internet (Internet
Network Information Center ou InterNIC) - InterNIC nattribue que des adresses de réseaux
(champ idRéseau). - Lattribution des adresses IP (champ idSite) aux
interfaces réseaux dans les machines est du
ressort de ladministrateur système.
34Adresses spécifiques
- Diffusion à toutes les machines dun réseau
idRéseau - adresse de destination uniquement
35Adresses spécifiques
- Diffusion limitée au réseau physique local
- Utile dans la phase de démarrage dun site avant
que le site nait connaissance de son adresse IP - Adresse de destination uniquement
- Une fois quun site connaît son adresse IP, il ne
doit plus utiliser ce type d adresse.
36Interprétation des 0 dans les adresses IP
- idRéseau 0 désigne le réseau courant
- idSite 0 désigne la machine courante
- De telles adresses ne sont pas des adresses de
destination valides. Elles peuvent être utilisées
par un site avant quil connaisse son adresse
IP.
37Adresses spécifiques
- Adresse de boucle fermée (loopback)
- adresse de classe A utilisée
- à des fins de test
- pour la communication inter-processus sur un site
- Cette adresse ne circule jamais sur le réseau
38 Réseau de lIFSIC
148.60.4.122
Station de travail E003c02 (Solaris)
Thot (Homedir)
Python (news)
148.60.4.15
148.60.3.2
PC I214m11 (Linux)
148.60.4.8
148.60.5.127
Hera (exécution)
Réseau dinterconnexion
Oracle (BD)
Lwe000 (imprimante)
148.60.4.14
Sybille (DNS,NIS)
148.60.3.226
148.60.4.1
Apollon (Web)
Themis (impression)
Helios (mail)
148.60.4.30
148.60.4.10
148.60.4.118
39Traduction dune adresse IP en adresse physique
- Deux approches résolution directe ou dynamique
- Résolution directe
- adresse physique f (adresse IP)
- exemple réseau Token Ring
- adresse physique entier compris entre 0 et 255
configuré par linstallateur - si ladresse IP est choisie telle que son dernier
octet adresse physique - f extraction du dernier octet de ladresse IP
- Table de correspondance entre adresses IP et
adresses physiques - exemple X25
40ARP
- Résolution dynamique
- exemple Ethernet
- chaque carte dinterface Ethernet possède une
adresse physique (entier de 48 bits) fixée une
fois pour toute lors de sa fabrication de la
carte. - changement de la carte Ethernet dune machine gt
changement d adresse physique - Protocole ARP (Address Resolution Protocol)
- permet à un site de trouver ladresse physique
dun autre site sur le même réseau physique à
partir de son adresse IP
41ARP
(requête ARP, adresse IP (B))
(réponse ARP, (adresse IP (B), adresse physique
(B))
42ARP - optimisations
- Protocole ARP (Address Resolution Protocol)
- diffusion
- cache des dernières traductions consulté avant de
diffuser une requête ARP - optimisations
- site émetteur inclut ses 2 adresses (adresse IP
et adresse physique) dans sa requête pour
permettre aux autres sites de mettre à jour leur
cache - un site met à jour son cache avant de traiter la
requête ARP - un site qui démarre diffuse ses deux adresses
pour éviter que les autres sites émettent une
requête ARP
433 - Protocoles de transport
- Généralités
- Un protocole sans connexion UDP
- Un protocole avec connexion TCP
44Services fournis à la couche session
- Transport fiable, efficace et économique de
données en sappuyant sur les services de la
couche réseau - Deux types de service
- avec ou sans connexion
- Service avec connexion
- connexion, transfert, déconnexion
- adressage et contrôle de flux similaire à la
couche réseau - Service sans connexion
- similaire à celui de la couche réseau
- datagramme
45Services fournis à la couche session
- Que fait la couche transport par rapport à la
couche réseau ? - Augmentation de la qualité de service pour
l utilisateur en supervisant la couche réseau - gère les interruptions de connexion réseau
- elle est avertie de linterruption de la
connexion - elle établit une nouvelle connexion
- elle détermine quelles sont les données arrivées
- elle reprend la transmission là où elle a été
interrompue - Les paquets perdus, les données altérées peuvent
être détectés et corrigés par la couche de
transport
46Services fournis à la couche session
- Primitives de la couche transport sont
indépendantes des primitives du service réseau et
peuvent varier dun réseau à lautre - service dun réseau local en mode non connecté
différent dun service en mode connecté sur un
réseau à longue distance - Permet lutilisation de primitives standard dans
les programmes - portabilité sur un grand nombre de réseaux de
communication - Isole les couches supérieures des imperfections
et des variations de technologie des niveaux
inférieurs
47Qualité de service
- Temps détablissement de la connexion
- Probabilité déchec détablissement
- Débit de la liaison
- Taux derreur résiduel
- Temps de déconnexion
48Protocoles de transport dInternet
- UDP
- User Datagram Protocol
- Protocole sans connexion
- TCP
- Transmission Control Protocol
- Protocole orienté connexion
- UDP et TCP s appuient sur le protocole réseau IP
- Historique ARPANET
49IP
- Service non fiable de datagrammes
- perte, duplication, remise dans le désordre,
délai de remise variable - protocole sans connexion
- les paquets dune séquence émise par un site
peuvent emprunter des chemins différents pour
parvenir à leur destination - best effort
- non fiabilité seulement en cas de manque de
ressources ou de défaillance dans le réseau - taille maximale dun datagramme 216 octets
50UDP
- IP
- acheminement de datagrammes entre des machines
sur Internet - pas de distinction entre les applications qui
sexécutent sur une même machine - Besoins
- plusieurs processus, tâches, programmes,
applications sexécutent sur un système
d exploitation supportant la multiprogrammation - message destiné à un processus plutôt quà un
site - gestion dynamique des processus
51UDP
- Besoin didentifier les services rendus par les
processus plutôt que les processus eux-même - Un processus peut mettre en œuvre plusieurs
services - Notion de destination logique port
- identificateur unique sur un site
- file de messages
- Envoi dun message à un processus distant
- adresse IP de la machine de destination
- numéro dun port du processus destinataire
- adresse IP de la machine source
- numéro de port du processus source
52UDP
- Transmission non fiable de datagrammes
- fondé sur IP pour la transmission des messages
- pas dacquittement
- pas de contrôle de flux
- perte, duplication de messages
- pas de garantie sur lordre de remise des messages
53Format des messages UDP
0
16
31
Entête 4 champs de 16 bits Champ port source
optionnel Taille taille totale en octets y
compris entête (8 au minimum) Code de contrôle
derreur optionnel (IP ne contrôle pas
lintégrité des données de lutilisateur donc
usage conseillé)
54UDP dans la hiérarchie de protocoles Internet
UDP différentiation de sources et destinations
multiples sur un site IP transfert de données
entre deux sites Internet
55Ports UDP réservés
- Ports identifiés par des nombres entiers
- Un certain nombre de ports sont réservés pour des
services standard - 11 USERS (utilisateurs actifs)
- 13 DAYTIME
- 37 TIME
- 42 NAMESERVER
- 53 DOMAIN (domain name server DNS)
- Les autres ports sont disponibles pour une
allocation dynamique aux applications
56TCP
- TCP a pour but de fournir un transfert fiable de
bout en bout de flux de données en utilisant un
réseau de communication non fiable - L entité de transport TCP accepte des messages
de longueur variable, les fragmente en unités ne
dépassant pas 64Ko et envoie chaque unité comme
un datagramme isolé. - Le réseau peut perdre des unités et les délivrer
dans le désordre - TCP gère la perte des unités et la remise en
ordre des unités - TCP est un protocole
- plusieurs implémentations différentes
57Caractéristiques
- Orientation flux de données non structuré
- transfert de gros volumes de données sous forme
dune suite doctets entre un site source et un
site de destination - Connexion de type circuit virtuel
- connexion établie entre le site source et le site
destinataire avant léchange de données - Transfert tamponné
- le site source produit les données à son rythme.
Les données sont mises dans des tampons. Le
protocole attend quil y ait suffisamment de
données produites avant de les transférer sur le
réseau à des fins defficacité. - Connexion full-duplex
- transferts concurrents dans les deux sens entre
deux sites
58Fiabilité
- Comment assurer labsence de perte et duplication
et la remise dans lordre ? - Système à acquittement positif et retransmission
- Le site destinataire envoie un acquittement au
site source à la réception - Le site source conserve de linformation pour
chaque paquet émis et attend un acquittement
avant denvoyer le paquet suivant - Retransmission dun paquet émis par le site
source à lexpiration dun délai sil na pas
reçu dacquittement - Détection des copies multiples dun paquet grâce
à la gestion de numéros de séquence
59Exemple
Site émetteur
Site destinataire
Paquet 1
Émission paquet 1
Réception paquet 1
Envoi acquittement
ACK 1
Réception acquittement
Emission paquet 2
Paquet 2
Réception paquet 2
Envoi acquittement
ACK 2
Réception acquittement
60Exemple avec perte dun paquet
Site émetteur
Site destinataire
Émission Déclencher délai
Paquet 1
Perte du paquet 1
ACK aurait dû arriver
Expiration délai
Retransmission paquet 1 Déclencher délai
Réception paquet 1
Réception acquittement Arrêt du délai
Envoi acquittement
61Fenêtre à anticipation
- Inconvénient du système à acquittement positif
simple - un seul message en transit entre deux sites même
si le réseau permet des communications
simultanées dans les eux directions - réseau inutilisé pendant que les sites préparent
les messages à transmettre - faible de débit de communication
- Système à acquittement positif à fenêtre à
anticipation - permet une meilleure utilisation de la bande
passante du réseau que le système simple - transmission de plusieurs paquets avant
dattendre un acquittement
62Fenêtre à anticipation
Fenêtre danticipation de 8 paquets Les paquets 1
à 8 sont émis sans attendre d acquittement Quand
le paquet 1 est acquitté, déplacement de la
fenêtre pour permettre l émission du paquet 9
63Exemple
Emetteur
Destinataire
Paquet 1
Paquet 2
ACK 1
Paquet 3
ACK 2
ACK 3
Seuls les paquets non acquittés sont
retransmis. Possible de saturer le réseau si le
système de fenêtre est bien configuré
64Gestion dune fenêtre à anticipation
- Emetteur
- un délai par message non acquitté
- 3 catégories de messages
- messages émis et acquittés (à gauche de la
fenêtre) - messages en cours démission (fenêtre)
- messages non encore transmis (à droite de la
fenêtre) - Le premier paquet de la fenêtre est le premier
paquet de la séquence qui na pas encore été
acquitté - Récepteur
- gestion analogue
- accepte et acquitte les messages au fur et à
mesure de leur arrivée
65TCP
- Unité de transfert segment
- message de contrôle
- données
- TCP gère perte, duplication et remise dans
lordre des segments - chaque octet porte un numéro de séquence (32
bits). - lentête comporte deux champs de 32 bits pour le
numéro de séquence de loctet et le numéro de
loctet acquitté. - PiggyBacking lentête dun segment de données
dans une direction contient lacquittement
concernant le transfert de données dans lautre
direction - Fenêtre à anticipation de taille ajustable pour
le contrôle de flux (champ de 16 bits pour
indiquer le nombre doctets pouvant être envoyés
après loctet acquitté)
66Entête d un TPDU de TCP
0
31
Port source
Port destination
Numéro de séquence
Acquittement
Longueur entête
A C K
E O M
R S T
S Y N
F I N
U R G
Fenêtre
Pointeur
Contrôle d erreur
Options (gt 0 mots de 32 bits)
Données
67Description de lentête TCP
- Longueur longueur de lentête dont la taille
est variable à cause du champ option (taille
minimale de l entête 20 octets) - Six indicateurs
- URG pointeur de priorité
- sil est activé le champ pointeur donne le
déplacement pour aller de la référence actuelle à
la donnée à traiter en priorité (évite dutiliser
une routine dinterruption) - SYN établissement dune connexion
- SYN 1 et ACK 0 demande connexion
- SYN1 et ACK 1 accusé de réception
- FIN libération d une connexion
- RST réinitialisation dune connexion à la suite
de problèmes - EOM fin dun message
68Protocole détablissement dune connexion
Site 1
Site 2
Envoi SYN x
SYN x
Réception SYN
Envoi SYN y, ACK x1
SYN y, ACK x1
Réception SYN
ACK y1
Envoi ACK y1
Réception ACK
69Fermeture dune connexion
Site 1
Site 2
Envoi FIN
FIN
Réception FIN
Envoi ACK (informe lapplication)
ACK
FIN, ACK
Envoi FIN, ACK
Réception ACK
ACK
Réception ACK
70 begin
CLOSED
Client
serveur
close
Passive open
Active open/SYN
SYN/SYN ACK
LISTEN
Send/SYN
Close/timeout/reset
reset
SYN SENT
SYN RECVD
SYN/SYN ACK
ACK
SYNACK/ACK
CLOSE WAIT
Close/FIN
ESTABLISHED
Close/FIN
FIN/ACK
Close/FIN
FIN/ACK
FIN WAIT-1
Fermeture active
CLOSING
ACK
LAST ACK
FIN-ACK/ACK
ACK
ACK
Fermeture passive
TIME WAIT
FIN WAIT-2
Timeout (2 fois la durée de vie dun segment)
FIN/ACK
71Ouverture et terminaison normale dune connexion
LISTEN
Client
Serveur
SYN j
SYN_SENT
SYN_RCVD
SYN k, ACK j1
ESTALISHED
ACK k1
ESTABLISHED
FIN_WAIT1
FIN m
ACK m1
CLOSE_WAIT
FIN_WAIT2
LAST_ACK
FIN n
TIME_WAIT
ACK n1
CLOSED
72Ouverture simultanée
Site 1
Site 2
SYN y
SYN_SENT
SYN x
SYN_SENT
SYN_RCVD
SYN_RCVD
SYN x, ACK j1
ESTABLISHED
SYN y, ACK x1
ESTABLISHED
73Fermeture simultanée
Site 1
Site 2
FIN k
FIN_WAIT1
FIN_WAIT1
FIN j
CLOSING
CLOSING
ACK k1
ACK j1
TIME_WAIT
TIME_WAIT
74Gestion de connexions
- Comme UDP, TCP utilise la notion de port pour
identifier le destinataire des données - Ports TCP plus complexes que ports UDP
- TCP gère des connexions
- Une connexion est identifiée par une paire
dextrémités - extrémité (site, port)
- site adresse IP, port port TCP
75Exemple
- connexion A entre les sites (18.26.0.36) et
(128.10.2.3) - identifiée par la paire ((18.26.0.36,1069),
(128.10.2.3,25)) - connexion B entre les sites (128.9.0.32) et
(128.10.2.3) - identifiée par la paire ((128.9.0.32,1184),
(128.10.2.3,53)) - connexion C entre les sites (128.2.254.139) et
(128.10.2.3) - identifiée par la paire ((128.2.254.139,1184),
(128.10.2.3,53)) - Les connexions B et C partagent la même extrémité
mais sont distinctes car lidentificateur dune
connexion est une paire dextrémités. - Intérêt gestion de plusieurs connexions
simultanées avec un seul port
76Ports TCP réservés
- 13 DAYTIME date
- 20 FTP-DATA file transfer protocol (données)
- 21 FTP file transfer protocol
- 23 TELNET connexion de terminaux
- 25 SMTP simple mail transport protocol
- 37 TIME heure
- 53 DOMAIN serveur DNS
- 79 FINGER finger
- 111 SUNRPC appel de procédure à distance SUN
- 119 NNTP News Transfer Protocol
- 160-223 réservés
- ...
77Sockets (Berkeley) Unix
- SOCKET création dune extrémité
- BIND liaison dune adresse locale à la socket
- LISTEN annonce intention daccepter des
connexions (indique la taille de la file) - ACCEPT bloque lappelant jusquà ce quune
demande de connexion arrive - CONNECT tentative détablissement dune
connexion - SEND envoi de données sur une connexion établie
- RECEIVE réception de données sur une connexion
établie - CLOSE fermeture de la connexion
78Communication client /serveur
Client
Serveur
SOCKET
SOCKET
BIND
LISTEN
CONNECT
ACCEPT
Boucle de traitement des requêtes des clients
SEND
RECEIVE
Échange de données
RECEIVE
SEND
CLOSE
CLOSE
794 - Les services dannuaire
- Annuaire des machines
- DNS (Domain Name System)
- Annuaire des utilisateurs
- NIS
80DNS
- Espace de désignation symbolique à grande échelle
- nom symbolique plus facile à mémoriser quune
adresse Internet - des millions de sites sur Internet
- espace de noms hiérarchique
- unicité dun nom symbolique
- Traduction des noms symboliques en adresse IP
- service DNS efficace et à haute disponibilité
- DNS mis en œuvre par un ensemble de serveurs de
noms répartis géographiquement qui coopèrent pour
la traduction des noms - service distribué à grande échelle
- pas de serveur central
- prise en compte des évolutions rapides (nouveaux
domaines, nouveaux sites, )
81Syntaxe des noms symboliques
- Nom de domaine
- exemple
- ifsic.univ-rennes1.fr
- domaine fr (France (géré par le NIC))
- sous domaine univ-rennes1.fr (sous domaine géré
par l université de Rennes 1) - sous sous domaine ifsic (sous domaine géré par
les administrateurs de l IFSIC) - Domaines Internet
- 7 domaines génériques (étiquette à 3 car.)
- com entreprises
- edu institutions éducatives
- gov institutions gouvernementales US
- int organisations internationales
- mil organisations militaires US
- org autres organismes
- net réseau
- Domaines géographiques (étiquette à 2 car.)
- code pays (ISO 3166) zone géographiques
82Exemple
racine
Top niveau
Second niveau
poseidon
hera
83Traduction dun nom symbolique en une adresse IP
- Modèle client/serveur
- le logiciel de traduction des noms sexécutant
sur une machine cliente s adresse à un serveur
de noms pour obtenir ladresse IP correspondant à
un nom symbolique - le serveur de noms contacté peut faire appel à
dautres serveurs de noms pour effectuer la
traduction demandée - Organisation logique
- un serveur de noms racine et un serveur de noms
par domaine et sous-domaine - chaque serveur de nom gère une base de données de
traductions (nom symbolique, adresse IP) pour son
domaine - en réalité, un serveur de noms peut gérer
plusieurs sous domaines qui peuvent être de
niveaux différents
84Traduction dun nom
- Le client adresse une requête à un serveur de nom
- nom symbolique
- type d objet cherché (DNS ne gère pas que des
noms de machines) - type de résolution
- A la réception de la requête, le serveur
- vérifie si le nom appartient au domaine quil
gère - si oui, consulte sa base de donnée et envoie la
réponse au client - si non, 2 cas
- résolution récursive
- transmet la requête à un serveur de nom capable
deffectuer la traduction - retourne la réponse au client
- résolution itérative
- envoie au client une réponse indiquant au client
le serveur de noms à contacter pour réaliser la
traduction
85Identification du serveur de noms à contacter
- A quel serveur de noms un client doit il
sadresser ? - Le client connaît au moins ladresse du serveur
de noms de lenvironnement local (fixé
statiquement à la configuration) - Comment un serveur de noms sait il quel autre
serveur de noms contacter quand il ne peut pas
traduire un nom ? - Un serveur de nom connaît toujours ladresse des
serveurs de noms racine - Un serveur de nom connaît toujours ladresse du
serveur de nom du domaine immédiatement supérieur
dans la hiérarchie des domaines (serveur parent) - Les serveurs de noms communiquent par
lintermédiaire dun port bien connu. Il leur
suffit de connaître ladresse IP de la machine
supportant lexécution dun serveur de nom.
86Haute disponibilité et efficacité de DNS
- Haute disponibilité
- plusieurs serveurs de noms pour un même domaine
- serveur de secours (serveur secondaire) contacté
en cas de défaillance du serveur primaire - plusieurs serveurs racine
- Efficacité
- traduction bottom/up en deux étapes
- serveur local contacté en premier (la plupart des
traductions concernent des noms locaux) - utilisation de caches sur les sites clients et
sur les serveurs de noms - cache dun serveur de noms contient les
traductions récentes - date de validité pour chaque entrée du cache
- le client est prévenu quand le cache a été
utilisé pour la traduction - un serveur de noms traite plusieurs requêtes en
parallèle
87NIS/pages jaunes
- Gestion des utilisateurs en réseau
- Rappel sur la gestion des utilisateurs dune
machine - /etc/passwd contient la description de tous les
usagers connus dans le système - nom de lusager pour le système
- mot de passe crypté
- numéro dusager (UID)
- numéro de groupe (GID)
- commentaire
- nom absolu du répertoire personnel
- le nom du fichier exécutable du programme à
lancer lors des connexions (/bin/tcsh) - /etc/group
- nom, numéro et liste des utilisateurs pour chaque
groupe
88Gestion des utilisateurs en réseau
- Les utilisateurs sont enregistrés par le serveur
NIS qui gère un fichier (yellow pages) des
utilisateurs - les fichiers /etc/passwd et /etc/group sont
caducs - le serveur NIS diffuse périodiquement des copies
de son fichier pour ne pas ralentir les
connexions - Sur chaque station de travail du réseau, un
fichier (/etc/nsswitch.conf) indique où la
commande login doit chercher les informations
concernant lusager - exemple (IFSIC)
- passwd files nis
- recherche dabord dans les fichiers locaux
(/etc/passwd et /etc/group) puis sur les fichiers
NIS
89Gestion des utilisateurs en réseau
- Visualisation du fichier NIS
- ypcat
- Mise à jour du fichier NIS
- modification du mot de passe
- yppasswd
- Informations sur un utilisateur
- finger option usager_at_machine (souvent désactivé
comme à lIFSIC à cause de pb de sécurité) - exploitation des fichiers .plan (coordonnées) et
.project (activités) (droit r pour tous) dans le
répertoire personnel (droit x pour tous)
905 - Services de communication
- Messagerie électronique
- News
- Web (chapitre 6)
91Messagerie électronique
- Service très répandu
- transfert de messages de taille et contenu
variable - Système de messagerie électronique
- traitement des défaillances de la machine
distante - traitement des défaillances des connexions
réseaux - utilisateur ne veut pas attendre que la machine
distante soit disponible quand il envoie un
message électronique - utilisateur ne veut pas que son message
électronique ne soit pas transmis à cause dune
indisponibilité temporaire du réseau
92Messagerie électronique - spooling
- Un message sortant est placé dans le spool
- émetteur
- destinataire
- machine de destination
- date et heure du dépôt
- Transmission des messages en arrière plan
- obtention de ladresse IP de la machine de
destination - établissement dune connexion TCP
- transmission du message
- retransmission périodique si échec de la
transmission - après quelques jours, envoi dun message derreur
à lémetteur si la transmission na pas pu avoir
lieu - Un message est conservé par la machine émettrice
jusquà ce quil soit copié avec succès sur la
machine destinataire
93Messagerie électronique - spooling
Transfert des messages en arrière plan
Spool des messages sortants
Client
Utilisateur envoie des mails
Agent utilisateur
Utilisateur lit ses mails
Spool des messages entrants
Serveur
Acceptation des messages
94Format des messages
- Deux parties
- Enveloppe
- Adresse électronique de lexpéditeur et du
destinataire - Contenu
- Deux parties séparées par une ligne blanche
- entête (format standard)
- To destination
- From émetteur
- Reply-to (optionnel, adresse à utiliser pour la
réponse) -
- corps (format libre)
95Transfert des messages
- Protocole SMTP (Simple Mail Transfer Protocol)
- connexion au port TCP 25 de la machine de
destination - processus serveur de mail à lécoute du port TCP
25 - réception des messages qui sont déposés dans la
boîte aux lettres du destinataire - envoi dun message derreur contenant la première
partie du message à lémetteur en cas d erreur - protocole ASCII NVT
96Exemple
- Établissement dune connexion
- 220 cs.rice.edu SMTP service ready
- HELO ifsic.univ-rennes1.fr
- 250 cs.rice.edu says hello to ifsic.univ-rennes1.f
r - MAIL From morin_at_ifsic.univ-rennes1.fr
- 250 sender ok
- RCPT To ltxxx_at_cs.rice.edugt
- 250 recipient ok
- DATA
- 354 Send mail end with . on a line by
itself - From morin_at_ifsic.univ-rennes1.fr
- To xxx_at_cs.rice.edu
- MIME-VERSION 1.0
- Message-Id lt0704760941.AA00747_at_ifsic.univ-rennes1
gt - Subject Coucou
- Coucou, comment cela va ?
- Bye.
- .
97Remise des messages
- En général, tous les postes de travail ne sont
pas directement reliés à Internet et ne peuvent
pas directement transmettre et recevoir du
courrier électronique - un ou plusieurs serveurs de mail
Station de travail 1
Station de travail 2
Station de travail 3
Serveur de mail
Helios à lIFSIC
Vers Internet
98Enregistrements MX de DNS pour le courrier
électronique
- Courrier électronique pour des machines non
connectées à Internet - Gestion des défaillances de la machine serveur de
mail
99Protocole POP3
- Post Office Protocol (RFC 1225)
- récupération du courrier électronique dans une
boîte aux lettres distante pour le mettre dans
une boîte aux lettres située sur la machine
locale de lutilisateur qui pourra le consulter
ultérieurement - permet à un utilisateur de se connecter,
dobtenir ses messages, deffacer des messages et
de se déconnecter - protocole ASCII
100Protocole IMAP
- Interactive Mail Access Protocol (RFC 1064)
- conçu pour les utilisateurs ayant plusieurs
boîtes aux lettres électroniques (une au bureau
sur une station de travail, une sur un PC à la
maison etc) - Principe
- le serveur de mail conserve tous les messages qui
peuvent être accédés depuis nimporte quelle
machine - IMAP ne recopie pas le courrier électronique sur
la machine locale de lutilisateur
101Adresse de boîte aux lettres électronique
- Destinataire spécifié par un couple (nom de la
machine de destination, adresse de la boîte aux
lettres sur cette machine) - Le nom de la machine de destination est
indépendant des autres noms attribués à cette
machine. - Entrées dans la base de données DNS pour les noms
du système de messagerie électronique - Souvent mais ce nest pas obligatoire
- adresse de la boîte aux lettres nom de login de
lutilisateur - nom de la machine nom domaine de la machine de
destination - morin_at_ifsic.univ-rennes1.fr
- Autres exemples
- webmaster_at_irisa.fr
102Gestion des alias
- Une adresse peut correspondre à plusieurs
destinataires - paris liste des membres du projet paris de
lIRISA - (mailing-list, liste de diffusion)
- Un utilisateur peut avoir plusieurs adresses
électroniques - cmorin_at_irisa.fr
- christine.morin_at_irisa.fr
103Extension du système de messageriepour la
gestion des alias
Transfert des messages en arrière plan
Utilisateur envoie des mails
Spool des messages sortants
Client
Agent utilisateur
Expansion des alias
Utilisateur lit ses mails
Base des alias
Serveur
Spool des messages entrants
Acceptation des messages
104Les forums électroniques (news)
- Un newsgroup est un forum électronique de
discussion sur un sujet donné à léchelle
mondiale. - Plusieurs centaines de sujets
- Trafic de plusieurs Moctets par jour
- Les abonnés à un groupe peuvent lire toutes les
contributions envoyées à ce groupe et soumettre
leurs propres informations. - Chaque message envoyé à un groupe est remis à
tous les abonnés, rapidement.
105Catégories principales
- Comp ordinateurs et logiciels
- Misc divers sujets
- News le système de news et son fonctionnement
- Rec Activités de jeux et de loisirs
- Soc questions sociales et sociologiques
- Sci physique, chimie, biologie et autres
sciences - Talk sujets débats
- Alt autre arborescence
- Exemples
- comp.edu
- comp.sources.unix
- news.groups
106Interface du service de news
- Lecture des articles des forums
- Envoi darticles dans des forums
- Identification des groupes auxquels lutilisateur
est abonné - Recherche dans la base des messages des articles
non lus dans les groupes considérés - Différentes commandes
- affichage des sujets seuls
- marquage des articles lus
- sauvegarde dans un fichier ou impression dun
article - soumission dun article
- étendue géographique de la diffusion
107Format dun message
- Newsgroupsliste des groupes auxquels le message
est transmis - Suject sujet du message
- From auteur
- Date date dexpédition
- Path chemin suivi par le message (complété au
fur et à mesure de la propagation du message) - Message-ID identification du message
- Champs optionnels
- Followup-To groupes dans lesquels les réponses
doivent être envoyées - Keywords mots-clés
- Expires date de péremption du message
- Description complète RFC 1036
108Mise en œuvre des forums électroniques
- Sur chaque site (entreprise, campus, fournisseur
daccès Internet) - un répertoire global de news
- sous répertoires pour les différents groupes
- les articles reçus sont sauvegardés dans le
répertoire correspondant à leur groupe - utilisateurs lisent les messages à partir de ce
répertoire - une seule copie des messages dun groupe quelque
soit le nombre dabonnés sur un site - les messages sont éliminés au bout dun certain
nombre de jours
109NNTP
- Network News Transfer Protocol (RFC 977)
- Protocole ASCII similaire à SMTP
- propagation des articles dune machine à lautre
sur une connexion fiable (exemple TCP) - permet aux utilisateurs de lire les news à
distance - Deux approches pour la propagation des articles
sur le réseau - à linitiative du client (pull)
- client demande à son serveur de news sil y a de
nouveaux articles - à linitiative du serveur (push)
- serveur informe les clients des nouveaux articles
110NNTP
- Pour obtenir de nouveaux articles, le client
établit une connexion TCP avec une machine
fournisseur de news dont il dépend sur le port
119 - Une fois la connexion établie, échange de
commandes et réponses - client obtient les articles dont il a besoin en
simple exemplaire
111Commandes NNTP
- LIST
- demande la liste de tous les newsgroups et
articles - NEWSGROUPS date heure
- demande la liste des newsgroups créés après la
date/heure - GROUP grp
- demande la liste de tous les articles du groupe
grp - NEWNEWS grp date heure
- demande la liste des nouveaux articles dans les
groupes spécifiés - ARTICLE id
- demande denvoi de larticle spécifié
- POST
- envoi dun article posté localement
- IHAVE id
- jai larticle id. Le voulez vous ?
- QUIT
- fin de la session
112Exemple
S 200 feeder.com NNTP server at your service C
NEWNEWS soc.couples 960901 0300000 S 230 List
of 2 articles follows S 13281_at_psyc.berkeley.edu
S 162721_at_aol.com S . (end of list) CARTICLE
lt13281 _at_psyc.berkeley.edugt S 220
13281_at_psyc.berkeley.edu follows S contenu de
larticle S. C ARTICLE 162721_at_aol.com S 220
162721_at_aol.com follows S contenu de
larticle S. C NEWGROUPS 960901 0300000 S 231
2 new groups follow S rec.pets S misc.kids S.
113Exemple (suite)
CPOST S 340 C article envoyé par le client au
serveur S240 CIHAVE 5321_at_foo.com S435 CQUIT S
205
1146- Le World Wide Web (WWW)
- Architecture client/serveur permettant daccéder
à des documents liés dispersés sur des milliers
de machines sur lInternet - Historique
- Le client
- Le serveur
- HTML
- JAVA
- Recherche dinformation sur le Web
115Historique
- Mars 1989, Tim Bernes-Lee, CERN
- permettre à des chercheurs en physique
travaillant en équipe et dispersés dans plusieurs
pays d Europe d accéder à une grande quantité
de documents de différents types en évolution
continuelle - première démonstration en décembre 1991 à
Hypertext 91 (mode texte) - première interface graphique Mosaic, en février
1993 (Marc Andreessen) - fondation de Netscape Communications Corp. en
1994 par Marc Andreessen (clients, serveurs,
logiciels pour le Web)
116Historique (2)
- 1994 Consortium W3C, accord entre MIT et CERN
pour le développement du Web, la standardisation
et la promotion de l interopérabilité - directeur Tim Berners -Lee
- depuis lors, des centaines d universités et
d entreprise ont rejoint le W3C - coordination par le MIT pour l Amérique
- coordination par l INRIA pour l Europe
- http//www.w3.org
117Le client
118Le client
119Le client
- Vision des utilisateurs
- collection de documents, appelés pages
- une page peut contenir des liens hypertextes vers
dautres pages localisées dans le monde entier - possibilité de suivre un lien en cliquant dessus
- Visualisation des pages
- à laide dun navigateur (browser)
- exemple netscape, mosaic,
- Rôle du navigateur
- aller chercher une copie de la page
- interprétation du texte et des commandes de
formatage contenues dans la page - affichage de la page
120Caractéristiques des navigateurs
- Mise en évidence des liens qui ont déjà été
suivis - Plusieurs boutons pour faciliter la navigation
- retour à la page précédente
- retour à la page suivante (dans lhistorique de
la navigation) - chargement de la home page de lutilisateur
- Autres services
- gestion dun annuaire de pages
- sauvegarde de pages sur disques
- impression de pages
- gestion des préférence de lutilisateur en
matière de contrôle d écran
121Contenu des pages Web
- Texte
- Liens hypertextes
- Icônes
- Lignes
- Images
- plans
- dessins
- photographies
- Chaque objet est potentiellement un lien sur une
autre page - plusieurs zones actives sur les images
122Page hypermédia
- Contient des éléments tels que
- bande son
- film video
- Certains navigateurs ne permettent pas dafficher
tous les types de pages - consultation dun fichier de configuration qui
indique pour chaque type d élément hypermedia
le nom d un programme (visualiseur externe,
application daide) capable de le traiter - si aucun visualiseur externe ne correspond à un
élément hypermedia, le navigateur interroge
lutilisateur qui peut aussi demander - la sauvegarde de la page sur disque
- dignorer la page
123Exemple dapplications daide
- Production de sons pour permettre laccès au Web
aux aveugles - Interpréteurs de langages du Web
- extension des capacités du Web
- téléchargement et exécution de programmes
124Chargement des images
- De nombreuses pages Web contiennent de grandes
images qui demandent un temps de chargement très
long - exemple
- chargement d une image non compressée 640x480
(VGA) avec 24 bits par pixel (922Koctets) demande
environ 4 minutes via un modem à 28,8 Kilobits
par seconde - Deux approches
- chargement du texte dabord puis des images
- possibilité pour lutilisateur dinterrompre le
chargement des images - chargement des pages sans charger les images
quelles contiennent
125Formulaires
- Certaines pages demandent aux utilisateurs
dentrer des données - exemple dutilisation des formulaires
- recherche dun enregistrement spécifié par
lutilisateur dans une base de données - commande dun produit
- participation à une enquête dopinion
126HTML
- Les pages Web sont écrites dans le langage HTML
(HyperText Markup Language) - conforme à la norme SGML des langages de
description de documents - formatage des documents
- Construction de pages incluant
- du texte
- des éléments graphiques
- des liens vers dautres pages Web
127Le langage HTML
- Syntaxe d une commande
- ltCOMgt