Vous êtes sur la page 1sur 41

Programmation Réseaux

1
Objectifs du module

 Maîtriser les concepts relatives aux protocoles et les


services de la couche transport

 Être capable de développer des applications réseaux


client-serveur.

2
Contenu du module
Le cours de programmation réseaux est principalement
axé sur la programmation socket.
 La couche application : la notion de service, quelques
services de base.
 Les protocoles de la couche transport : le protocole TCP, le
protocole UDP.
 La couche transport : la communication par sockets,
fonctionnement général d'une application réseau, création,
nommage et suppression d'une socket, la communication
par datagramme, le mode connecté.
 Les socket vue comme un flux
 Les threads
 Serveur Multi-threadé
 Serveur Pré-threadé 3
Organisation du module

Volume horaire (VH)


Activités
Composante(s) du module Pratiques (Travaux
Cours TD TP Travail Evaluation des VH
de terrain, Projets, personnel connaissances global
Stages, …), Autres
/préciser)
15 15 17 3 50
VH global du module 15 15 17 3 50

% VH 30% 30% 34% 6% 100%

Évaluation =
 60%Examen de fin de semestre
 40% (TPs + projet)
4
Plan du module
Séance Intitulé Contenu
1 Introduction Présentation du module et introduction générale et
rappels
2 Services applicatives Les services de bases de la couche présentation :
DNS, DHCP, HTTP, FTP, ULR, SSH,…
3 Services de la Le rôle de la couche transport et des protocoles
couche transport TCP et UDP
4 Socket Concepts, types et fonctionnement. Architectures
client-serveur
5 Socket en C La Bibliothèque C des socket
6 Socket en Java API Java des socket
7 Les Threads Les processus légers
8 Les appels Non
bloquants
9 Révision
10 Colle TP/Projet
5
Chapitre 1 : Introduction aux réseaux

6
Plan
 Introduction
 Internet comme exemple de réseau
 Notion de protocole
 Classification et normalisation des réseaux
 Modèle OSI et la pile TCP/IP

7
Introduction
 Réseau : Système complexe d’objets ou de personnes
interconnectés (échanges)
 Exemple :
 Transport :
o réseau routier
o réseau ferroviaire
o réseau aérien
 Communications
o Réseau de télévision – radio
o Service postal
o Téléphone 8
Introduction
 Réseau informatique : ensemble de moyens matériels et
logiciels dont les objectifs sont :
 Partager les ressources
 rendre accessible des données et des équipements
indépendamment de leur localisation physique
 Communiquer
 échanger et mettre à disposition des informations
 Accroître la fiabilité et la sécurité
 sauvegarde, contrôle de l’accès, redondance des
machines
 Réduction des coûts de maintenance informatique
 entretien du parc, diminution des risques dus aux9
manipulations
Introduction

Réseaux informatiques Télécommunications


Historiquement Données à l’usage de machine. Transport de la voix, de
Plus généralement : transport l’image ... Information
de données numériques analogique.

Actuellement Les mêmes infrastructures techniques sont utilisées pour


transporter : Des données informatiques Du son De l’image
De la téléphonie

10
Introduction
Evolution des réseaux informatiques
 1832 : télégraphe électrique de P. Shilling
 1837 : code télégraphique de S. Morse
 1876 : téléphone de A. G. Bell
 1896 : première liaison TSF par G. Marconi
 1943 : premier calculateur électronique
 1955 : premier réseau informatique à but commercial
 1958 : Bell crée le 1er Modem
 1967 : publication des plans pour le réseau ARPANET
11
Introduction
 1969 : mise en fonctionnement du réseau ARPANET
 1969 : création de la norme série RS232
 1972-1973 : création de la pile des protocoles TCP/IP
 1973 : mise au point du 1er réseau Ethernet chez Xerox
 1977 : 1ére démo. de l’interconnexion des réseaux grâce à
TCP/IP
 1978 : définition du modèle OSI
 1979 : Bob Metcalfe quitte Xerox et fonde 3Com.
 1981 : lancement par IBM du 1er PC
 1982-83 : ARPA choisit TCP et IP 12
Réseau Internet
• Des millions de machines
interconnectées… PCs, stations de
travail, serveurs PDAs, téléphones,
grille-pain (!) …exécutant des
applications réseaux

• Liens de communication : fibre


optique, cuivre, radio, satellite…

• Routeurs et commutateurs:
transfèrent des paquets de données
dans le réseau

• Protocoles : contrôle de l'émission et


de la réception des infos TCP, IP,
HTTP, FTP… 13
Réseau Internet
• Commutation de paquets : Partage
des ressources

• Internet = réseau de réseaux


• Contraintes : IP + conventions de
nommage et d'adressage

• Topologie : hiérarchique (ISPs…)

• Contraste entre Internet et


intranets privés

14
Réseau Internet
• L’infrastructure de communication :
rend possible les applications
distribuées :
• Login distant, transfert de
fichiers, streaming audio et vidéo,
visioconférences, WWW, e-mail,
jeux en réseau, e-commerce, …

• Services de communication offerts :


Sans/Orientés connexion. Chaque
application utilise l'un de ces services

• Pas de garantie en terme de délais …!

• Internet = infrastructure sur laquelle


de nouvelles applications sont
constamment inventées et déployées 15
Notion de protocole

Les humains utilisent des protocoles sans arrêt…

Protocoles humains :
•Messages spécifiques émis
•Actions spécifiques accomplies
après réception de messages ou
d'événements particuliers

16
Notion de protocole

Les machines utilisent des protocoles sans arrêt…


Protocoles réseaux :
•Toutes les communications sur
Internet sont gouvernées par des
protocoles

•Les machines qui communiquent


doivent utiliser le même protocole
Exemples: protocole HTTP, protocole de congestion,
protocole de routage, .... 17
Notion de protocole

Les protocoles définissent le format, l’ordre des messages


émis et reçus entre les entités réseaux,
ainsi que les réactions à ces messages et aux événements

18
Notion de protocole
Les humains et les réseaux

19
Classification des réseaux
 Critère 0 : nature des données transportées
 Critère 1 : structure et topologie
 Critère 2 : taille et technologie utilisée
 Critère 3 : mode de communication
 Critère 4 : mode de mise en relation
 Critère 5 : méthode de commutation utilisée

20
Critère 0 : nature des données
 Historiquement :
 Caractères codés en morse (texte) : télégraphe
 Voix : téléphone

 Image : télévision

 Données informatiques : réseau

 Actuellement : voix, images, textes, programmes :


données informatiques (numérisation)
 Convergence : un seul réseau doit être capable de
véhiculer l'information sous ses différentes formes
(Ex VoIP, diffusion de la télé sur l’ADSL .. ) 21
Critère 1 : structure et topologie

Les réseaux à média partagé


un message envoyé par une machine
est reçu par toutes les autres ⇒ c'est
ce qu'on appelle de la diffusion.
Possibilité de spécifier un destinataire

Les réseaux point à point


une liaison est partagée uniquement
par 2 équipements. Pour aller de sa
source à sa destination un message
doit passer par une ou plusieurs
machines intermédiaires. 22
Critère 1 : structure et topologie

Bus

Anneau Etoile

Maillé

23
Critère 2 : taille et technologie
MAN très proche des LAN

PAN : Personal Area Network (réseau personnel)


LAN : Local Area Network (réseaux locaux)
MAN : Metropolitan Area Network (réseaux métropolitains
WAN : Wide Area Network (réseaux étendus)
24
Critère 3 : mode de fonctionnement

 avec connexion  sans connexion

1.Si le récepteur refuse : pas de 1. Le client poste une lettre dans


connexion une boite à lettres
2.Si le récepteur accepte : 2. Chaque lettre porte un nom et
établissement d’un circuit une adresse
3.Transfert des données 3. Un client a une adresse et une
4.Libération de la connexion boite à lettres propre
4. Les contenus des informations
sont inconnus du prestataire
5. Les supports du transport sont
inconnus du client 25
Critère 4 : mode de communication

Simplex : si on ne peut transmettre l’information que dans un sens

Half-duplex : si on peut transmettre alternativement dans les 2 sens

Full-Duplex : si on peut transmettre simultanément dans les 2 sens26


Critère 5 : mode de commutation

• commutation de circuits : la première (téléphone)


• commutation de messages : pas réaliste (mémoire
à chaque nœud)
• commutation de paquets : avec ou sans connexion
(Internet, circuits virtuels)
• commutation de cellules : ATM

27
Critère 5 : commutation de circuit
• chaque routeur/commutateur
gère un certain nombre de circuits
: 1 connexion = 1 circuit
 temps d’établissement du circuit
 Bande passante du lien, capacité
du lien
 Ressources dédiées : sans partage

• problème : mobilisation du circuit


même si aucune données à
transmettre
• mais, une fois connecté, temps de
propagation faibles et pas de
congestion 28
Critère 5 : commutation de circuit
• Ressources réseau (bande passante)
partitionnées
 Parties allouées aux appels

 Ressources inutiles si elles ne


sont pas utilisées par l’appel
(pas de partage)

 Division de la bande passante


 Division fréquentielle
 Division temporelle

= multiplexage
29
Critère 5 : commutation de circuit
Exemple : réseau téléphonique commuté (RTC)

30
Critère 5 : commutation de message

• Transmission du message de
commutateur en
commutateur jusqu’au
destinataire
• « store & forward »
• Exemple du système
télégraphique
• Problème de la mémoire
nécessaire
• Retransmission du l’ensemble
du message en cas d’erreur
31
Critère 5 : commutation de paquet
Messages longs divisés en paquets plus petits : flot de
données est divisé en paquets
• Les paquets des utilisateurs A et B partagent les
ressources réseaux. Chaque paquet utilise la bande
passante totale. Chaque routeur possède des buffers
d'entrée et de sortie

32
Critère 5 : commutation de paquet

Conclusion :
 Pas de réservation des ressources
 Pas de garanties
 ordre de remise

 si problème : aucun mécanisme n'est prévu

 les paquets du même échange n'emprunte

pas forcement le même chemin


 Internet : Best-effort

 Coûts basés sur le volume

33
Critère 5 : Commutation de paquet (CV)

• Phases de communication :
A
• Etablissement du circuit
virtuel
• Utilisation du circuit virtuel
• Libération du circuit virtuel

• Avantages : B
• séquencement des paquets
• rétablissement en cas de
coupure
• réémission 34
Critère 5 : commutation de cellule

• Fragmentation des données


en paquet de taille fixe.
Technique utilisée dans ATM
A
• Cellules ont une taille de 53
octets.
• Augmenter la rapidité des
échanges
• Mieux gérer la mémoire dans
les commutateurs / routeurs.
B
• Transport de données
interactives.
35
Modélisation

 Problème :
Dans les années 70 : chaque constructeur a sa propre
solution réseau (architecture et protocoles «
propriétaires ») ⇒ incompatibilité des réseaux et
incapacité à communiquer entre eux
 Solution :
ISO a examiné des structures des réseaux DECNET,
SNA et TCP/IP afin d'en dégager un ensemble de
règles

36
Modélisation : Modèle OSI

L'ISO a mis au point un modèle de


toute architecture de réseau basé
7 7
sur un découpage en 7 couches,
6 chacune correspondant à une 6

5 fonctionnalité particulière. 5

4 4

3 3 3 3

2 2 2 2

1 1 1 1

37
Station A Routeur 1 Routeur 2 Station B
Modélisation : Architecture en couches

Objectifs de l’architecture en couches:


 Réduire la complexité de
conception
Le problème consistant à envoyer
des données d’une machine à une
autre est divisé en plusieurs petits
problèmes
 Chaque couche N offre des
services à la couche N+1
(supérieure).
La façon dont les services sont
rendus est cachée à N+1.
Possibilité de changer complète 38
Modélisation : Modèle OSI

39
Modélisation : Modèle OSI

40
Modélisation : Modèle TCP/IP

41

Vous aimerez peut-être aussi