Vous êtes sur la page 1sur 14

Plan

L3I6 : Rseaux & Systme

Cours 1 : Introduction sur les rseaux et protocoles


Cours 2 : Couches basses
Cours 3 : Introduction la programmation sockets
Cours 4 : Programmation client/serveur

Introduction aux Rseaux et la


programmation sockets
Olivier Dalle

Olivier Dalle

Intro. Rseaux et programmation sockets

1 Olivier Dalle

Rfrences
JM Rifflet, La Communication sous Unix, 2e ed. ,
EdiSciences, 1995.
Guy Pujolle, Les Rseaux, 4e ed. , Eyrolles, 2004.
A. Tanenbaum, Computer Networks, 4th ed , Prentice
Hall, 2003.
Keshav : An Engineering Approach to Computer
Networking , Addison-Wesley, 1997.
Peterson & Davie, Computer Networks: a systems
approach, 2nd ed. , Morgan Kaufmann, 2000.
W. R. Stevens : Unix Network Programming, 2nd ed. ,
Prentice Hall, 1990.

Olivier Dalle

Intro. Rseaux et programmation sockets

Intro. Rseaux et programmation sockets

Chapitre 11

Introduction aux Rseaux et Protocoles

NB: Certaines parties de ce chapitre ont t empruntes d'autres auteurs, en particulier :


M. Syska, Peterson&Davie, A. Tanenbaum.

3 Olivier Dalle

Intro. Rseaux et programmation sockets

Chapitre 11 : Introduction aux Rseaux et Protocoles

Chapitre 11 : Introduction aux Rseaux et Protocoles

Utilisation des rseaux d'ordinateurs ?

Utilisation Professionnelle

Applications professionnelles
Applications domestiques et prives
Utilisateurs mobiles
Aspects sociaux

(fig. A. Tanenbaum)

Un rseau avec deux clients et un serveur.

Olivier Dalle

Intro. Rseaux et programmation sockets

Chapitre 11 : Introduction aux Rseaux et Protocoles

5 Olivier Dalle

Intro. Rseaux et programmation sockets

Chapitre 11 : Introduction aux Rseaux et Protocoles

Utilisation Professionnelle (2)

Utilisations Prives

Accs des informations distantes


Communications entre deux personnes
Applications ludiques interactives
Commerce lectronique
(fig. A. Tanenbaum)

Le modle client serveur implique des requtes et des rponses.

Olivier Dalle

Intro. Rseaux et programmation sockets

7 Olivier Dalle

Intro. Rseaux et programmation sockets

Chapitre 11 : Introduction aux Rseaux et Protocoles

Chapitre 11 : Introduction aux Rseaux et Protocoles

Utilisations prives

Classification des rseaux de diffusion

Selon la dimension
Selon la technologie de transmission
Selon le type de commutation
Selon la topologie

(fig. A. Tanenbaum)

Dans un rseau pair--pair, il n'y a pas de clients ou serveurs fixs


Olivier Dalle

9 Olivier Dalle

Intro. Rseaux et programmation sockets

Chapitre 11 : Introduction aux Rseaux et Protocoles

Rseaux Radio (LAN)


Rseaux domestiques privs (LAN)
Inter-rseaux (WAN)

Olivier Dalle

Intro. Rseaux et programmation sockets

10

Chapitre 11 : Introduction aux Rseaux et Protocoles

Classification selon la distance

Small Area Networks (SAN)


Local Area Networks (LAN)
Metropolitan Area Networks (MAN)
Wide Area Networks (WAN)
Cas particuliers remarquables

Intro. Rseaux et programmation sockets

Classification selon la distance


distance entre Noeuds situs dans
machines
la/le mme
1m
mtre carr
10 m
pice
100 m
btiment
1 km
campus
10 km
ville
100 km
rgion/pays
1000 km
continent
10000 km
Plante

Exemple
Infrarouge, bluetooth, Firewire, USB, ...

11 Olivier Dalle

LAN (Ethernet, FDDI, Token Ring, ...)


Rseaux d'accs (ADSL, Cble)
RENATER
Rseaux dorsaux trs haut dbit
Internet

Intro. Rseaux et programmation sockets

12

Chapitre 11 : Introduction aux Rseaux et Protocoles

Chapitre 11 : Introduction aux Rseaux et Protocoles

Exemples de Rseaux Locaux

Exemple de MAN

(fig. A. Tanenbaum)

Deux types de rseaux locaux de diffusion

(fig. A. Tanenbaum)

(a) Bus
(b) Anneau
Olivier Dalle

Intro. Rseaux et programmation sockets

Un rseau mtropolitain bas sur le cble TV.

13 Olivier Dalle

Chapitre 11 : Introduction aux Rseaux et Protocoles

Point point : paires torsades, fibres optiques,


Diffusion (multipoints) : cble coaxial, liaison radio

Support physique de transmission


Cble (coaxial, paire torsade, nappe, )
Fibre optique
Liaison radio/optique

14

Chapitre 11 : Introduction aux Rseaux et Protocoles

Classif. selon la Technologies de Transmission


Mode de transmission

Intro. Rseaux et programmation sockets

Classif. selon le Type de Commutation


Coeur de rseau : quipement avec plusieurs pattes
Commutation : prendre ce qui arrive sur l'une pour le
dposer sur la suivante

Deux types de commutation :


Commutation de circuit
Etablissement pralable de la route
Les donnes empruntent toutes le mme chemin

Commutation de paquets
Routage indpendant des paquets
Les donnes peuvent emprunter des chemins diffrents

Olivier Dalle

Intro. Rseaux et programmation sockets

15 Olivier Dalle

Intro. Rseaux et programmation sockets

16

Chapitre 11 : Introduction aux Rseaux et Protocoles

Chapitre 11 : Introduction aux Rseaux et Protocoles

Routage par Commutation de Paquets

Routage par Commutation de Circuit

(fig. A. Tanenbaum)
(fig. A. Tanenbaum)

Olivier Dalle

Intro. Rseaux et programmation sockets

17 Olivier Dalle

Chapitre 11 : Introduction aux Rseaux et Protocoles

18

Chapitre 11 : Introduction aux Rseaux et Protocoles

Classification selon la Topologie


Architecture

Intro. Rseaux et programmation sockets

Modle d'Architecture des Rseaux

hypercube

Anneau,
toile,
Grille

Orientation des liens


Orients (TV par satellite)
Non orients (bi-directionnels)

Les notions de protocole et de service


Les piles de protocole
Encapsulation et Segmentation
Avantages de lorganisation hirarchique

Full duplex/Half duplex

Olivier Dalle

Intro. Rseaux et programmation sockets

19 Olivier Dalle

Intro. Rseaux et programmation sockets

20

Chapitre 11 : Introduction aux Rseaux et Protocoles

Chapitre 11 : Introduction aux Rseaux et Protocoles

Notions de Protocole et de Service

Quels Sont les Besoins ?

Les informations qui circulent rsultent dchanges entre


plusieurs interlocuteurs

Certains services rpondent des besoins fonctionnels


Services qui intressent directement l'utilisateur :
Copier (transmettre/recevoir) un fichier
Envoyer/recevoir une suite quelconque doctets
Synchroniser les horloges
Lister les utilisateurs prsents

Protocole = ensemble des rgles (conventions) qui


rgissent de tels changes :
Format/structure des messages
Contenu/signification des messages
Procdures de traitement des messages

D'autres rpondent des besoins oprationnels

Un protocole rpond un besoin :

Utilisation efficace du rseau


Correction des erreurs ou pertes

On dit qu'il fournit/offre un service


En pratique : service = fonction distribue

Olivier Dalle

21 Olivier Dalle

Intro. Rseaux et programmation sockets

Chapitre 11 : Introduction aux Rseaux et Protocoles

Intro. Rseaux et programmation sockets

22

Chapitre 11 : Introduction aux Rseaux et Protocoles

Exemple de Besoin Oprationnel


Besoin : Partage des Ressources

Diffrentes Formes de Multiplexage


Plusieurs connexions (flots de donnes) partagent un
mme lien physique
STDM : Synchronous Time-Division Multiplexing

L1

R1

L2

R2

Lors de lintervalle (slot) de temps donn i, la connexion i


utilise le lien

FDM : Frequency-Division Multiplexing


Switch 1

Autres exemples (optique): WDM, DWDM

Switch 2

CDM : Code Division Multiplexing


Les flots cods se superposent (brouillage rciproque)
Chaque flot est associ un code

R3

L3

(fig. Peterson&Davie)

Problme :
Connexions All-to-All, en mme temps, et capacits limites
Pas de rservation de capacit possible pour toutes les paires Li,Ri

La connaissance du code permet de supprimer les autres flots

Solution : Partage des liens par multiplexage


Olivier Dalle

Intro. Rseaux et programmation sockets

23 Olivier Dalle

Intro. Rseaux et programmation sockets

24

Chapitre 11 : Introduction aux Rseaux et Protocoles

Chapitre 11 : Introduction aux Rseaux et Protocoles

Inconvnients de STDM ou FDM

Multiplexage (statistique) des Paquets


Politique de service des flots
de paquets :

Si une connexion est termine le slot ou la frquence ne


sont pas rexploits
Il faut connatre le nombre de connexions lavance

FIFO
Round Robin

Solution : Multiplexage Statistique

Partage du lien en TDM mais la demande


Granularit : paquet aprs paquet
Un message est dcoup en paquets de taille fixe

Olivier Dalle

QoS : Quality of Service


Problmes de Buffers et de Congestion
25 Olivier Dalle

Intro. Rseaux et programmation sockets

Chapitre 11 : Introduction aux Rseaux et Protocoles

(fig. Peterson&Davie)

Intro. Rseaux et programmation sockets

26

Chapitre 11 : Introduction aux Rseaux et Protocoles

Exemple de Besoin Fonctionnel : la Connexion


Une abstraction

Plusieurs Types de Connexions ?


2 faons d'utiliser les canaux logiques

Host
Host

Application

Canaux Request/reply
Un message envoy doit arriver destination (fiabilit)
Une seule copie est distribue
Confidentialit et Intgrit des donnes

Channel

Host
Application

Canaux Flux de Messages (Message stream)

Host

Les messages arrivent dans lordre


On peut en perdre un certain nombre
Latence borne
Confidentialit,
Possibilit de connexions multipoints

Host

(fig. Peterson&Davie)

Le rseau fournit des canaux logiques (virtuels)


Les applications communiquent travers ces canaux
(tuyaux ou pipes)
Olivier Dalle

Intro. Rseaux et programmation sockets

27 Olivier Dalle

Intro. Rseaux et programmation sockets

28

Chapitre 11 : Introduction aux Rseaux et Protocoles

Chapitre 11 : Introduction aux Rseaux et Protocoles

A propos : O Sont implants les Services ?

Problme : Quels Services Proposer ?


Le nombre de besoins diffrents est potentiellement
grand

Deux architectures de rseau possibles :

Fonctionnels (utilisateur) + oprationnels !

Implantation aux extrmits,


extrmits, dans les htes
Canaux = tuyaux de bits : quipements rseau simples
htes intelligents

Solution : recherche de services gnriques


Pour masquer la complexit du rseau
Pour favoriser la rutilisation

Implantation au coeur du rseau


Terminaux sans intelligence (tlphone)
+ de fonctionnalits dans les quipements intermdiaires
(commutateurs, routeurs, ...)

Olivier Dalle

Intro. Rseaux et programmation sockets

Mme dmarche qu'en Gnie Logiciel

29 Olivier Dalle

Chapitre 11 : Introduction aux Rseaux et Protocoles

Intro. Rseaux et programmation sockets

30

Chapitre 11 : Introduction aux Rseaux et Protocoles

Modle des Architectures Organises en Couches

Exemple de Hirarchie (Pile) de Protocoles

Mmes besoins que pour une "fonction" dans un


programme classique
Le nombre de services possibles est a priori illimit
Idiot de repartir de zro chaque fois !
Oblig de se contenter des fonctions/services offerts par le
matriel

Dcoupage en sous-fonctions
Rutilisation de fonctions de base

Organisation hirarchique en couches


Construire des services avancs partir de services
simples
(fig. A. Tanenbaum)

L'architecture philosophe-traducteur-secrtaire.
Olivier Dalle

Intro. Rseaux et programmation sockets

31 Olivier Dalle

Intro. Rseaux et programmation sockets

32

Chapitre 11 : Introduction aux Rseaux et Protocoles

Chapitre 11 : Introduction aux Rseaux et Protocoles

Interfaces d'un Protocole

Interfaces de Service et Pair--pair

A chaque niveau, les services d'une couche donne sont


implments par des protocoles

Host 1

Host 2

ex protocole Request/Reply

Un protocole propose deux interfaces :

Interface de

Haut-niveau

Interface de service
ex Send/Receive pour les autres objets utilisant
Request/Reply

Haut-niveau

Service

objet

objet

Interface pair pair (gal, peer)


Structure et smantique des messages changs entre les
objets Send/Receive de deux hosts

Protocole

Protocole

Interface
Pair pair

(fig. Peterson&Davie)

Olivier Dalle

Intro. Rseaux et programmation sockets

33 Olivier Dalle

Chapitre 11 : Introduction aux Rseaux et Protocoles

Chapitre 11 : Introduction aux Rseaux et Protocoles

Exemple (Simple) d'une Architecture

Communications Indirectes
Sauf pour la couche hardware
Le protocole communique avec son pair en passant le
message un protocole de la couche infrieure

34

Intro. Rseaux et programmation sockets

Host 1
Application
Fichiers

Application
WWW

Application
vido

Host 2
Application
Fichiers

Application
vido

Application
WWW

Remarque :
HHP

A un niveau donn, une mme couche

HHP

peut offrir plusieurs services (complmentaires)


(et donc) peut comporter plusieurs protocoles(concurrents)

RRP : Request/Reply Protocol


MSP : Message Stream Protocol
HHP : Host-to-host Protocol

Olivier Dalle

Intro. Rseaux et programmation sockets

35 Olivier Dalle

(fig. Peterson&Davie)

Intro. Rseaux et programmation sockets

36

Chapitre 11 : Introduction aux Rseaux et Protocoles

Chapitre 11 : Introduction aux Rseaux et Protocoles

Principe d'Encapsulation

Exemple d'Encapsulation(s)

Un message de la couche suprieure est encapsul par


la couche infrieure

Host

Host

Application
Application

avec un en-tte (header) et/ou un en-queue (trailer)


informations supplmentaires destines au pair
Le contenu est appel corps du message (body ou
payload)

Application
Application

program

program

Data

Data

RRP
RRP

On procde ainsi dans chaque couche infrieure


A destination (pair), on fait linverse :

RRP

Data

RRP

HHP

HHP

les en-ttes/en-queue sont enlevs


le rsultat (contenu) est dlivr la couche suprieure

HHP

RRP

Data

Dans lexemple : lapplication ne voit pas les headers, les


switches et routeurs examinent les headers HHP
Olivier Dalle

Intro. Rseaux et programmation sockets

(fig. Peterson&Davie)

37 Olivier Dalle

Chapitre 11 : Introduction aux Rseaux et Protocoles

Data

Intro. Rseaux et programmation sockets

38

Chapitre 11 : Introduction aux Rseaux et Protocoles

Multiplexage et Dmultiplexage ?

Modles de Rfrence
Le modle de rfrence OSI de l'ISO

Ajout dune cl pour identifier le flux


A chaque niveau
RRP pour slectionner lapplication
HHP pour choisir RRP ou MSP

Olivier Dalle

Intro. Rseaux et programmation sockets

OSI : Open Systems Interconnection


ISO : International Standard Organisation

Le modle de rfrence TCP/IP


Standard de fait ...

39 Olivier Dalle

Intro. Rseaux et programmation sockets

40

Chapitre 11 : Introduction aux Rseaux et Protocoles

Chapitre 11 : Introduction aux Rseaux et Protocoles

Modle de Rfrence OSI : 7 couches

La Couche Physique
Transmission de bits sur un canal:

End host

End host

Niveau 7

Application

Application

Niveau 6

Presentation

Presentation

Niveau 5

Session

Session

Niveau 4

Transport

Transport

Niveau 3

Network

Niveau 2
Niveau 1

Olivier Dalle

Problmes typiques :
Comment tablit-on la connexion physique ?
Comment distingue-t-on les symboles
Combien de bits par symbole ?
Quel voltage ? Quelle Frquence ?

Network

Network

Network

Data link

Data link

Data link

Data link

Physical

Physical

Physical

Physical

Un ou plusieurs noeuds
dans le rseau

Si un symbole correspondant au bit 1 est envoy dun


cot, la rception de ce symbole doit tre interprte
comme un bit 1 de lautre

(fig. Peterson&Davie)

Intro. Rseaux et programmation sockets

41 Olivier Dalle

Chapitre 11 : Introduction aux Rseaux et Protocoles

Conversion dun moyen de transmission physique en une


liaison fiable (cad sans erreur de transmission)

Olivier Dalle

Intro. Rseaux et programmation sockets

42

Chapitre 11 : Introduction aux Rseaux et Protocoles

La Couche Liaison de Donnes

Regroupement des bits de donnes en trames


(composition et dlimitation des trames)
Contrle et correction derreurs
mission de trames dacquittement (si lmetteur exige
dtre inform de la bonne rception)
Contrle de flux
Politique daccs multiple (rseaux liens partags)

Intro. Rseaux et programmation sockets

La Couche Rseau
Supervision des oprations au niveau dun sous-rseau
(cad un rseau homogne) :
Assemblage logique dune succession de lien afin donner
lillusion dun lien unique de bout en bout
Routage entre les nuds du sous-rseau
Gestion des ressources/contrle de congestion
Adaptation aux contraintes de la couche liaison
(fragmentation et recomposition en fonction de la taille de
trame impose)
Production de statistiques dutilisation (pour la facturation
par exemple)

43 Olivier Dalle

Intro. Rseaux et programmation sockets

44

Chapitre 11 : Introduction aux Rseaux et Protocoles

Chapitre 11 : Introduction aux Rseaux et Protocoles

La Couche Transport
Fournir une liaison de bout en bout indpendante des
sous-rseaux traverss :
Fournir un espace dadressage global (et donc assurer un
routage inter-rseaux)
Multiplexer les flots de donnes des couches suprieures
Assurer le contrle de flux, la retransmission en cas de
perte, le contrle de congestion,
Remarque : trs similaire la couche liaison, mais de bout
en bout au lieu de proche en proche

Olivier Dalle

Intro. Rseaux et programmation sockets

La Couche Session
tablir une session entre utilisateurs de diffrentes
machines :
Version amliore de la couche transport, destine aux
utilisateurs (plutt quaux machines)
Exemples de services amliors :
Construction de liaison bi-directionnelle (duplex) partir de
liaisons unidirectionnelle (simplex)
Gestion de jetons (pour assurer lexclusion mutuelle)
Gestion de synchronisation, de points de reprise

45 Olivier Dalle

Chapitre 11 : Introduction aux Rseaux et Protocoles

Intro. Rseaux et programmation sockets

Chapitre 11 : Introduction aux Rseaux et Protocoles

La Couche Prsentation
Fournir des services lis la syntaxe et la smantique
des donnes changes :
Conversion des types numriques :
Reprsentation big endian/little endian
Flottants longs/flottants courts

Conversion des types caractres (ASCII/unicode/)


Dfinition abstraite des structures de donnes

Olivier Dalle

Intro. Rseaux et programmation sockets

46

La Couche Application
Fournir un ensemble des protocoles de haut niveau les
plus courants :
Terminal gnrique
Transfert de fichiers
Courrier lctronique

47 Olivier Dalle

Intro. Rseaux et programmation sockets

48

Chapitre 11 : Introduction aux Rseaux et Protocoles

Chapitre 11 : Introduction aux Rseaux et Protocoles

Le Modle de Rfrence TCP/IP


Un internet = un rseau de rseaux
Internet = LE rseau mondial de rseaux bas sur
TCP/IP

L'Architecture de l'IETF
IETF : Internet Engineering Task Force
Communaut qui dfinit les standards de Internet
Normalisation : RFC (Request For Comments)
Plus de 3000 RFC ce jour !!

Ne pas confondre avec l'Internet Navigable

Caractristiques du modle TCP/IP

Bas sur protocole HTTP, lui-mme construit sur TCP/IP...

TCP/IP :
une architecture base
sur 4 couches

FTP

HTTP

NV

On peut passer travers les couches


IP est le point de passage obligatoire (sablier)
Les standards sont adopts seulement une fois quune
implmentation existe
Best Effort : QoS ? MPLS

TFTP

UDP

TCP
IP

NET 1

Problme : 4 couches sont-elles suffisantes ?

NET 2

NET n

(fig. Peterson&Davie)

Olivier Dalle

49 Olivier Dalle

Intro. Rseaux et programmation sockets

Chapitre 11 : Introduction aux Rseaux et Protocoles

Chapitre 11 : Introduction aux Rseaux et Protocoles

TCP/IP : Moins de Services que ISO/OSI ?


Oui et Non : des complments existent pour boucher les
trous
Applications

Mail

NFS

Prsentation

XDR

Session

RPC

Transport

TCP

Rseau
ICMP
Liaison

Olivier Dalle

Web

L'adressage IP (v4)
Chaque machine reoit (au moins) une adresse : un
entier sur 32 bits
Les 32 bits sont diviss en 3 parties :
0

31
C

UDP
IP

50

Intro. Rseaux et programmation sockets

IP/mcast
ARP

Adresse Rseau

Adresse Machine

Le nombre de bits consacrs lune ou lautre partie


dpend de la classe du rseau

IGMP

Rseau Local (IEEE 802)

Intro. Rseaux et programmation sockets

51 Olivier Dalle

Intro. Rseaux et programmation sockets

52

Chapitre 11 : Introduction aux Rseaux et Protocoles

Les Classes de Rseaux TCP/IP


Classe A (C=0) : 7 bits pour le rseau, 24 bits pour
ladresse dans le rseau
Classe B (C=10) : 14 bits pour le rseau, 16 bits pour
ladresse dans le rseau
Classe C (C=110) : 21 bits pour le rseau, 8 bits pour
ladresse dans le rseau
Classe D (C=1110 : IP/multicast) : 4 bits pour la classe,
28 bits pour le rseau (pas dadresse de machine dans le
rseau !)
Classe E (C=11110) : Adresses rserves

Olivier Dalle

Intro. Rseaux et programmation sockets

53