Vous êtes sur la page 1sur 4

Université FERHAT ABBAS SETIF I

Faculté des sciences


Département d'informatique
2ème année Master IFIA

Corrigé type de l’examen de Protocoles de Communication et Systèmes


Distribués
Avril 2021 (Durée: 1h30)
Questions
1. Écrire en java un serveur qui attend une connexion TCP sur le port 2021, attend que le client lui
envoie deux chaînes de caractères, lui renvoie la plus longue des deux, ferme la connexion et se
termine. (3 pts)

import java.io.* ;

import java.net.* ;

public class ServeurExamenRemplacement{

public static void main(String args[]) throws IOException{

ServerSocket ss = new ServerSocket(2021);

Socket s = ss.accept();

BufferedReader br = new BufferedReader(

new InputStreamReader(s.getInputStream()));

PrintWriter pw = new PrintWriter(s.getOutputStream());

String ch, ch1, ch2;

ch1 = br.readLine();

ch2 = br.readLine();

if(ch1.length() > ch2.length())

ch = ch1;

else

ch = ch2;

pw.println(ch);

br.close();

pw.close(); // la fermeture de pw entraine l’écriture de ce


// qui était tamponné. Pas besoin d’appeler flush()

s.close();

ss.close();

}
2. Quel champ de l’en-tête IP permet d’éviter qu’un paquet ne soit routé indéfiniment dans un boucle
de routage ? (0,5 pt) Comment permet-il de faire cela ? (1 pt)

Le champ TTL (Time To Live). Le champ TTL est un entier positif initialisé par l’expéditeur
du paquet IP. Chaque routeur recevant le paquet décrémente le TTL d’une unité avant de le
retransmettre à son tour. Si après décrémentation le TTL vaut 0 alors le paquet est détruit.
Le nombre de routeurs traversés par un paquet est donc borné et ne peut dépasser la valeur
d’initialisation du TTL. Cela garantit qu’un paquet ne peut circuler indéfiniment dans un
boucle de routage.

3. Quelles sont pour cette adresse IP 175.143.194.17/19, l’adresse de sous-réseau, l’adresse de


diffusion et le masque de sous-réseau ? (1,5 pt)

Adresse de sous-réseau : 175.143.192.0

Adresse de diffusion : 175.143.223.255

Masque de sous-réseau : 255.255.224.0

4. Soit le réseau reliant les routeurs A, B, C, D et E dont la topologie est présentée par la figure ci-
dessous. Chaque lien est annoté du coût inhérent à sa traversée. Supposons que tous les routeurs
sont mis en marche au même instant T0. Quel est le vecteur de distances de chacun des routeurs A,
B et C juste après T0 ? (1,5 pt) A l’instant T1, A reçoit les vecteurs de distances de B et C. Quel est le
vecteur de distances de A juste après T1 ? (1 pt)

Après T0 :

DA

Dest/Via B C

B 6 infini

C infini 3

D infini infini

E infini infini

(B :B :6, C :C :3, D :infini, E: infini)

DB

Dest/Via A C D E

A 6 infini infini infini

C infini 1 infini infini

D infini infini 3 infini

E infini infini infini 4

(A:A :6, C :C :1, D:D:3, E:E:4)


DC

Dest/Via A B D

A 3 infini infini

B infini 1 infini

D infini infini 1

E infini infini infini

(A:A:3, B:B:1, D:D:1, E: infini)

Après T1 :

DA

Dest/Via B C

B 6 4

C 7 3

D 9 4

E 10 infini

(B:C:4, C:C:3, D:C:4, E:B:10)

5. Pour être efficace, quelles propriétés doit avoir un algorithme de routage ? (2,5 pts)

• Offrir des tables de routage de petite taille


• Minimiser le nombre de messages de contrôle échangés
• Trouver les routes optimales
• Résister aux pannes
• Répartir la charge sur les routeurs du réseau de manière à éviter la saturation de certains
d’entre eux
6. TCP est un protocole de niveau … (1 pt)

a. transport c. application

b. réseau d. physique

7. Quelles informations permettent d’identifier de manière unique une connexion TCP ? (1 pt)

Adresse IP1, port TCP 1, adresse IP2, port TCP2

8. UDP est l’acronyme de … (1 pt)

a. Untrusted Datagram protocol c. User Data Protocol

b. User Datagram protocol d. Unix Data Protocol

9. Quel type d’application utilise généralement le protocole UDP plutôt que TCP ? (1 pt)

a. Courrier électronique c. streaming vidéo

b. téléchargement de fichiers d. navigation sur le web


10. Expliquez, en vous aidant d’un schéma, comment s’effectue la fermeture d’une connexion TCP entre
deux hôtes. (1 pt)

La fermeture de connexion s’effectue en puiseurs étapes.


Quand le client n’a plus de données à envoyer au serveur, il envoie une demande de déconnexion
(bit FIN = 1). Quand le serveur reçoit la demande de fermeture de connexion, il l’acquitte (ACK =
1). Quand le client reçoit l’acquittement, la connexion est dite semi-fermée c’est à dire que le
client ne peut plus envoyer de données au serveur. Par contre, le serveur peut encore envoyer
des données au client. Quand le serveur n’a plus de données à transmettre au client, il envoie
une demande de fermeture de connexion (Fin = 1), quand le client acquitte la demande de
fermeture (ACK = 1), la connexion est définitivement fermée.
La demande de fermeture initiale provient généralement du client mais, elle peut également
venir du serveur.

11. La politique de routage déterministe (statique) n’est pas adaptée aux réseaux … . (1 pt)

a. de petite taille b. de grande taille

12. Qu’est-ce qu’un pare-feu ? (1 pt)

Un pare-feu est un équipement permettant de filtrer les communications entre deux tiers
(deux machines, deux réseaux …).

13. Qu’est-ce qu’un pare-feu à état ? (1 pt)

Pare-feu filtrant un paquet en prenant en compte les paquets traités précédemment. Il


s’agit de vérifier par exemple si un paquet utilise une connexion TCP, que cette connexion a
déjà été ouverte ... etc.

14. Lors d’une communication utilisant HTTPS entre un navigateur et un serveur web la couche
protocolaire TLS … (1 pt)

a. remplace TCP c. se place entre TCP et IP

b. remplace IP d. se place entre TCP et HTTP

Bon courage

Vous aimerez peut-être aussi