Vous êtes sur la page 1sur 5

Programmation Réseau I

Juliusz Chroboczek

4 Mars 2009

1 Introduction
Un réseau informatique est un ensemble de machines (ordinateurs ou systèmes embarqués) qui
peuvent communiquer. Une application réseau est une application informatique qui est implémen-
tée comme un ensemble de programmes qui communiquent à travers un réseau informatique.
Des exemples d’applications réseau incluent le transfert de fichiers client-serveur, le courrier
électronique, le « web », et le transfert de fichiers pair-à-pair.

2 Structure des réseaux


Dans ce paragraphe, nous voyons quelques structures typiques de réseaux informatiques, et les
problèmes techniques qu’il faudra résoudre pour pouvoir y implémenter des applications réseau.

2.1 Hôte isolé

Figure 1: Un hôte isolé

Une application tournant sur un hôte isolé peut présenter certains des problèmes qu’on associe
à une application réseau. Un exemple est donné par le courrier électronique sur une seule machine,
qui manipule des ressources partagées, à savoir les boîtes aux lettres des utilisateurs.
– nommage : comment l’utilisateur humain nomme-t-il une boîte aux lettres ? Par exemple,
sous Unix une boîte aux lettres est nommée par le nom de l’utilisateur qui la possède (par
exemple, la boîte de l’utilisateur jch s’appelle jch) ;
– adressage : comment le programme identifie-t-il une boîte aux lettres, et résolution de noms,
soit comment un nom est-il converti en une adresse. Sous Unix, les boîtes aux lettres sont sto-
ckées dans /var/mail, et la boîte aux lettres d’un utilisateur jch a donc l’adresse /var/mail/jch.

1
Figure 2: Une liaison point-à-point

2.2 Liaison point-à-point


Une liaison point-à-point est un réseau constitué de deux hôtes relié par un lien. Comme le
lien peut être utilisé par plusieurs applications simultanément, un nouveau problème apparaît :
– multiplexage du lien : comment partager le lien entre plusieurs applications, et diriger les
données vers le bon processus.
Des exemples de technologies point-à-point incluent les lignes séries asynchrones, les connec-
tions par modem à travers le réseau téléphonique commuté (le RTC, soit le bon vieux téléphone
fixe), l’ADSL, IEEE 802.16 (WiMAX), et un certain nombre de technologies propriétaires.

2.3 Réseau à accès multiple

Figure 3: Un réseau à accès multiple

Un réseau à accès multiple est un réseau constitué d’un seul lien et d’un nombre arbitraire
(typiquement 2 à 500) de hôtes connectés au lien.
Comme le lien est partagé entre un nombre arbitraire de machines, un réseau à accès multiple
doit résoudre un nombre de problèmes supplémentaires :
– accès au lien (Media Access Control, MAC) : comment les hôtes s’accordent-ils pour ne pas
accéder au lien simultanément ?
– adressage des hôtes : comment un hôte est-il adressé ?
– nommage des hôtes : quel est le nom qu’utilise un utilisateur humain pour identifier un hôte
distant, et résolution de noms : comment ce nom est-il converti en une adresse ?
Des exemples de technologies à accès multiple incluent Ethernet (IEEE 802.3), IEEE 802.11
(commercialisé sous le nom Wifi) et Appletalk.

2.4 Internet
Un internet ou parfois catenet est un réseau constitué de plusieurs liens interconnectés à travers
des machines connectées à plusieurs liens, les routeurs (router, prononcé [rute :] ou [rawte :], les
deux sont corrects). On appelle hôte (host) une machine qui n’est pas un routeur (et qui sert donc
à exécuter les applications) ; le terme générique nœud (node) réfère soit à un hôte soit à un routeur.
Outre le fait que le nommage et l’adressage sont beaucoup plus difficiles sur un internet que
sur un lien, un internet doit résoudre le problème suivant :

2
Figure 4: Un internet composé de trois liens

– routage : comment le réseau trouve-t-il la suite de routeurs à emprunter pour faire commu-
niquer deux machines données ?
Des exemples de technologies internet incluent la suite de protocoles TCP/IP (utilisée sur l’In-
ternet Global), la suite de protocoles Xerox, la suite de protocoles DECnet, la suite de protocoles
Novell.

L’Internet Global Il existe un internet beaucoup plus grand que les autres ; on appelle cet inter-
net l’Internet Global ou parfois simplement l’Internet. On estime que l’Internet Global contient
entre 300 millions et 1 milliard de hôtes.

3 Protocoles
Un protocole spécifie les règles de la communication entre deux (ou plus) pairs. Typiquement,
un protocole spécifie quels messages un pair a le droit d’émettre dans une situation donnée.
Les protocoles sont habituellement décrits de façon informelle (en langage naturel), et accom-
pagnés d’exemples d’échanges qu’on appelle des séquences.
A : toc-toc-toc
B : « Entrez ! »
A : entre et dit « Bonjour. »

Diagrammes de séquence Une interaction entre deux pairs peut être décrite de façon plus pré-
cise par un diagramme de séquence. Dans un diagramme de séquence, les pairs sont représentés
par deux flèches verticales ; les messages échangés sont représentés par des flèches diagonales.
Une phase de calcul peut être représentée comme une double ligne sur l’un des deux pairs.

Automates Un diagramme de séquence ne décrit qu’une interaction particulière obéissant à un


protocole. Le comportement complet d’un pair participant à un protocole peut être défini par un
automate, pas forcément à états finis. Un protocole auquel participent deux pairs est défini par
deux automates.

3
A B A B

toc−toc−toc toc−toc−toc

entrez!

entrez!
bonjour!

Figure 5: Deux diagrammes de séquence

toc−toc−toc entrez bonjour

(timeout)

Figure 6: Un automate à états finis

4 Suite de protocoles
Les règles de la communication sur un réseau ne sont normalement pas définies par un pro-
tocole monolithique, mais par une suite de protocoles. Une suite de protocoles consiste d’une fa-
mille stratifiée de protocoles (organisés en couches) ; un protocole d’une couche supérieure est
exprimé en termes des services fournis par le protocole de la couche immédiatement inférieure.
Une couche est donc définie par :
– le service qu’elle utilise (fourni par la couche immédiatement inférieure) ;
– le service qu’elle fournit (à la couche supérieure).
Un ensemble de couches s’appelle un modèle, qui est donc implémenté par une suite de protocoles.
Une telle approche rend la présentation modulaire, ce qui permet en particulier de changer des
pièces de la suite de protocoles sans tout redéfinir.

Le modèle OSI simplifié Les protocoles qui nous concernent — ceux de la suite TCP/IP, utili-
sée sur l’Internet — sont structurés selon le modèle dit OSI simplifié, qui consiste de 5 couches
numérotées de 1 à 7.

4
Application 7
Transport 4
Internet ou Réseau 3
Lien 2
Physique 1

Les numéros 5 et 6 correspondent aux couches Session et Présentation du modèle OSI d’origine,
et ne sont plus utilisées aujourd’hui.