Professional Documents
Culture Documents
Mohamed Lokbani
Nom: __________________________________|
Prnom(s): _____________________________|
Signature: ______________________________|
Directives:
-
1._____________________/25
2._____________________/20
3._____________________/20
4._____________________/25
5._____________________/15
6._____________________/20
Total:__________________/100
IFT3820/IFT6833
1/9
-Q1.3- Comment sont classes la plupart des applications qui fonctionnent dans un environnement
rseaut?
a) Applications de stockage de fichiers.
b) Logiciels de redirection rseau.
c) Application client serveur.
d) Application de contrle de dialogue.
a
IFT3820/IFT6833
2/9
-Q1.7- Laquelle des adresses ci-dessus est un exemple dadresse de diffusion de classe C?
a)
b)
c)
d)
190.12.253.255
190.44.255.255
221.218.253.255
129.219.145.255
a
-Q1.8- Quest ce que le numro de rseau signifie dans une adresse IP?
a)
b)
c)
d)
-Q1.9- Comme TCP rassemble les segments en messages complets, quarrive-t-il sil manque un numro
dans lensemble?
a)
b)
c)
d)
-Q1.10- Quelle dfinition parmi les suivantes dcrit le mieux une collision?
a) Les trames provenant de deux units se heurtent au sein du mdia physique et sont endommages.
b) Deux nuds transmettent en mme temps et le paquet de donnes de priorit suprieure limine
celui de priorit plus faible.
c) Deux transmissions de donnes se croisent au sein du mdia rseau et sendommagent
mutuellement.
d) Une transmission de donnes est endommage par une pointe de tension dans le mdia rseau.
a
-Q1.11- Comment un ordinateur en rseau local Ethernet dtecte-t-il une erreur dans une trame?
a)
b)
c)
d)
IFT3820/IFT6833
3/9
Pierre
Martine
Jacques
Alfred
99
126
163
189
0
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
1
Deux bits sont ncessaires pour distinguer entre les deux sous-rseaux. De ce fait, le masque
correspondant est : 255.192.0.0
-Q2.3- Quel est le nombre de bits minimum ncessaire pour quaucune des machines nappartienne au
mme sous-rseau ? Donnez le masque correspondant.
Rponse:
SR#1
SR#2
SR#3
SR#4
Pierre
Martine
Jacques
Alfred
99
126
163
189
0
0
1
1
1
1
0
0
1
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
1
Il faut distinguer entre les 4 sous-rseaux. Nous remarquons quen utilisant un seul bit, on arrive
distinguer entre (1,2) et (3,4). Pour distinguer entre 1 et 2 dune part, et 3 et 4 dautre part, on part
chercher le 4e bit. On a besoin donc de 4 bits. De ce fait, le masque correspondant est : 255.240.0.0
-Q2.4- Pour permettre la communication entre les deux sous-rseaux de la question Q2.2-, on relie les
brins Ethernet de ces deux sous-rseaux par un routeur configur en proxy ARP (cest lui qui rpond en
lieu et place pour les stations connectes sur ses autres liens). Si on affecte chaque interface LAN de ce
routeur la premire adresse disponible, quelles sont les adresses affectes ? Reprsentez lensemble par un
schma.
Rponse:
IFT3820/IFT6833
4/9
MAC_4
10.126.43.254
Martine
Routeur
MAC_R1
10.64.0.1
MAC_R2
10.128.0.1
MAC_1
10.99.43.27
Pierre
MAC_3
10.189.12.27
Alfred
MAC_2
10.163.12.254
Jacques
10.64.0.0
255.192.0.0
10.128.0.0
255.192.0.0
-Q2.5- En admettant que toutes les stations aient communiqu entre elles et quaucune entre nait t
efface, quel est le contenu de la table ARP de la station de Pierre. Pour cette question on affectera des
adresses MAC fictives chaque interface du routeur : MAC_R1 et MAC_R2.
Rponse:
MAC
MAC_4
MAC_R1
MAC_R1
Pierre veut envoyer un paquet Jacques. Pierre connat que ladresse IP ou le nom dhte de
Jacques. De ce fait, il va complter la trame Ethernet avec quelle Mac adresse ? Celle du routeur qui
va se charger dacheminer les donnes vers Jacques.
-Q2.6- Ltablissement envisage de raccorder son rseau Internet. Est-ce possible en ltat ? Dans la
ngative, indiquez les difficults ventuelles, et proposez une solution.
Rponse:
Lentreprise utilise ladresse 10 qui est une adresse non routable sur Internet. Elle devra faire la
demande daffectation dadresses officielles. Si elle ne veut pas avoir revoir la configuration de
toutes ses machines, elle devra mettre en oeuvre un translateur dadresses pour avoir accs
Internet (NAT).
IFT3820/IFT6833
5/9
-Q3.4- Sachant que addr est une variable de type struct sockaddr_in, quel message le
compilateur C va afficher en analysant l'instruction bind(s,&addr,sizeof(addr)); ? Corrigez
l'instruction pour qu'elle se compile sans problme.
Rponse:
Le compilateur va gnrer un message d'avertissement au sujet du typage de &addr. Le prototype
de la fonction bind impose un paramtre de type struct sockaddr * et la variable utilise est
de type struct sockaddr_in *. L'instruction correcte est
bind(s,(struct sockaddr *)&addr,sizeof(addr));.
-Q3.5- Quel est le dtail important concernant l'initialisation du troisime argument de la fonction
accept ?
Rponse:
Le troisime argument d'accept doit pointer sur un entier initialis avec la taille de l'espace point
par le second argument. Cet espace est utilis pour stocker l'adresse du client.
IFT3820/IFT6833
6/9
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <netdb.h>
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
int main() {
int s;
int nbre;
struct sockaddr_in sa;
char buffer[BUFSIZ+1];
if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
perror("socket");
exit (1);
}
bzero(&sa, sizeof sa);
sa.sin_family = AF_INET;
sa.sin_port = htons(13);
sa.sin_addr.s_addr = htonl((((((192 << 8) | 43) << 8) | 244) << 8) | 18);
if (connect(s, (struct sockaddr *)&sa, sizeof sa) < 0) {
perror("connect");
close(s);
exit(2);
}
while ((nbre = read(s, buffer, BUFSIZ)) > 0)
write(1, buffer, nbre);
close(s);
return 0;
}
29
30
31
Elle contient ((((((192 << 8) | 43) << 8) | 244) << 8) | 18) qui permet de transmettre ladresse IP dans un
format appropri de htonl qui est unsigned long int . htonl va la convertir par la suite dans le format
rseau avant de transmettre cette adresse au membre s_addr.
Modifiez le prcdent programme pour passer une adresse IP quelconque partir de la ligne de commande.
(Pas besoin de rcrire le code, juste les modifications ncessaires et o est-ce quelles sinsrent dans le
code).
IFT3820/IFT6833
7/9
4) Ajouter le test suivant juste aprs le test de argc (la modification -2-)
if ((hp = gethostbyname(argv[1])) == NULL) {
perror("Adresse non trouve\n") ;
exit(1) ;
}
La seconde
3) Remplacer la ligne 21 par:
sa.sin_addr.s_addr = inet_addr(argv[1]);
-Q4.2- Expliquez en quelques lignes le fonctionnement du programme prcdent, sachant que lexcution
du programme donne le rsultat suivant :
52478 02-07-23 21:35:32 50 0 0 324.2 UTC(NIST)
Un client se connecte au port numro 13 dun serveur dont ladresse IP est (192.43.244.18). Le port
13 correspond au port daytime , il sert donner lheure.
IFT3820/IFT6833
8/9
Flag
(dcimal)
001
001
000
Offset
(dcimal)
0
185
370
Champ Offset
(hexa)
02 00
02 b9
01 72
Data
(valeur de dpart)
0
1480
2960
Data
(valeur darrive)
1479
2959
3019
Explication
Le premier fragment a un flag gal 001 (une fragment va suivre) et un offset gal 0. Le champ
offset (flag et fragment offset) devient donc gal 0200. Ce fragment contient les octets de 0 1479
compris.
Le second fragment : flag = 001 (un fragment va suivre), un offset de 185 (1480 / 8). Le champ offset
= 02b9. Ce fragment contient les octets de 1480 2959.
Le troisime fragment : flag = 000 (pas de fragment qui suit), un offset de 370 (2960 / 8). Le champ
offset = 0172 (la conversion de 370). Ce fragment contient les octets de 2960 3019.
IFT3820/IFT6833
9/9