Vous êtes sur la page 1sur 6
Département des Sciences Informatiques
Département des Sciences Informatiques

Licence 3 I/MI

2008–2009

R´eseaux (I601)

T.T. Dang Ngoc dntt@u-cergy.fr

Examen 2 eme` session - R´eseaux

(Date : Mercredi 24 juin 2009 – dur´ee : 2h) Lisez attentivement le sujet en entier avant de commencer, afin de bien assimiler ce qui est attendu.

Il n’est pas n´ecessaire d’utiliser et/ou de respecter la syntaxe de commandes/fichiers de configuration propre `a un logiciel/syst`eme d’exploitation/distribution. Il s’agit juste de fournir les informations n´ecessaires et suffisantes dont on a besoin pour mettre en place ce qui vous est demand´e.

Hypoth`ese de travail

Une petite PME vous a recrut´e comme administrateur syst`eme afin que vous d´eployez son r´eseau d’entreprise. Comme elle ne dispose pour l’instant que de peu de moyens et de peu de besoins, elle ne souhaite pas investir dans une plage d’adresse publique.

Apr`es souscription et abonnement aupr`es d’un fournisseur d’Acc`es Internet (FAI), celui-ci vous attribue une seule adresse IP publique : 167.10.54.173 avec le masque r´eseau 255.255.255.0. Il vous fournit ´egalement les renseignements suivants :

– Passerelle vers Internet : 167.10.54.254 ;

– Serveur DNS 1 : 212.27.60.19 ;

– Serveur DNS 2 : 212.27.60.20.

On prendra dans cet examen les notations suivantes : routeurs R 1 , R 2 ,

, R n . On d´esignera par hˆote, des machines

diverses reli´es par r´eseau (PC, stations de travail, portables, etc.) nomm´es H 1 , H 2 ,

,

H m

Partie I : Structuration du r´eseau

Les machines que vous aurez a` connecter sont list´ees ci-dessous et devront ˆetre r´eparties dans les r´eseaux suivants :

1. le r´eseau comportant les machines des d´eveloppeurs : ce r´eseau comporte 3 hˆotes : HD 1 , HD 2 et HD 3 .

2. le r´eseau comportant les machines des administratifs : ce r´eseau comporte 2 hˆotes : HF 1 et HF 2 .

3. la dorsale (r´eseau d’interconnexion) de l’entreprise : ce r´eseau comporte 2 hˆotes : HD 1 et HD 2 .

Pour des raisons de commodit´e, il a ´et´e d´ecid´e d’utiliser une classe B priv´ee pour num´eroter les machines. Vous penserez `a consulter l’annexe sur l’adressage priv´e.

Question 1

Expliquez comment `a partir d’une seule adresse IP publique vous pouvez permettre `a un ensemble de machines d’acc´eder aux services de l’Internet. Vous d´ecrirez soigneusement les ´equipements/logiciels `a utiliser ainsi que leur principe de fonctionnement.

Question 2

Vous dessinerez sur un sch´ema, la structuration logique de votre r´eseau et sa connexion vers Internet. Vous noterez soigneusement les adresses r´eseaux compl`etes et les adresses IP de toutes les interfaces.

Vous d´etaillerez ´egalement `a part, le param`etrage exact (adresse IP, masque, adresse de diffusion, table de routage) de chaque machine (ordinateur et routeurs).

Question 3

Vous r´ealiserez un autre sch´ema montrant la structure mat´erielle de votre r´eseau en repr´esentant les ´equipements (switch, routeurs) utilis´es ainsi que chaque cˆable reliant les ´equipements entre eux. (Pour des raisons de lisibilit´e, vous

ne reporterez pas les adresses IP, mais simplement les noms des machines R 1 ,

, HD 1 ,

,

HF 1 ,

,

HD 1 ,

)

Section III : Service de noms (question de cours)

Question 4

D´etaillez pr´ecisemment tous les ´echanges r´eseaux r´ealis´es entre le moment o`u vous tapez dans votre navigateur l’URL : http://www.google.com/index.html et le moment o`u vous recevez effectivement la page d’accueil de Google.

Section IV : Analyse de trames

Question 5

Voici les traces d’un paquet intercept´e (les bits sont repr´esent´es sous forme hexad´ecimale par commodit´e).

D´ebut

de

la

trame

´ethernet

intercept´ee

:

00

01

f4

32

9e

0e

00

16

76

04

f2

4a

08

00

45

00

04

43

8f

c3

40

00

40

11

1b

c8

b2

17

2d

0c

ac

16

88

12

11

ac

08

01

1e

09

a8

88

91

9b

18

09

00

19

bb

f5

ff

f6

86

b6

cd

c8

c3

35

67

7e

80

00

02

8f

Fin

de

la

trame

intercept´ee.

 

En vous aidant de l’annexe, vous remplirez le tableau suivant :

Adresse ethernet source

Adresse ethernet destination

Adresse IP source

Adresse IP destination

Port source

Port destination

Quel est le nom du service acc´ed´e (le serveur se trouve en destination du paquet) ?

Section V : Programmation R´eseau

Un serveur POP permet aux utilisateurs de consulter leur boˆıte aux lettres `a distance. Un serveur POP tourne sur le port 110 et utilise le protocole TCP, et r´epond aux commandes suivantes :

commande

signification

USER xxxx

Envoie le login xxxx du client

PASS yyyy

Envoie le mot de passe yyyy du login xxxx

LIST

Demande de lister le courrier contenu dans la boˆıte aux lettres

RETR x

Demande de lire le courrier num´ero x de la boˆıte aux lettres

DELE x

Demande de supprimer le courrier num´ero x de la boˆıte aux lettres

QUIT

Demande de se d´econnecter du serveur

A la connexion d’un client, le serveur POP r´ecup`ere le login et mot de passe envoy´e par le client par l’interm´ediaire de USER et PASS, et consulte la boˆıte aux lettres locale, un fichier nomm´e /var/mail/login dans lequel se trouve les mails de l’utilisateur. Puis r´epond ensuite aux interrogations adress´ees par le client.

On d´esire ´ecrire un serveur POP. On consid`ere pour cela que les fonctions suivantes existent (on ne vous demande donc pas de les impl´ementer) :

/*

Authentifie

le

client

par

son

login

et

son

mot

de

passe.

Envoie

le

nom

de

fichier

de

sa

boite

aux

lettres

si

l’authentification

a

r´eussi.

Renvoie

NULL

sinon.

*/

char

*authentifier

(char

*login,

char

*passwd)

;

/*

Liste

repr´esentant

les

mails

de

cette

la

liste.

bo^ıte

*/

aux

char

*lister

(char

*fichier_boite)

lettres.

;

Renvoie

une

cha^ıne

de

/*

Lit

le

ni`eme

mail

de

la

boite

aux

lettres.

Renvoie

une

cha^ıne

caract`ere

de

caract`ere

 

repr´esentant

le

mail.

*/

char

*lire

(char

*fichier_boite,

int

nieme)

;

/*

Supprime

le

ni`eme

mail

de

la

boite

aux

lettres.

*/

char

*supprimer

(char

*fichier_boite,

int

nieme)

;

/*

Analyse

une

cha^ıne

de

caract`ere

compos´e

de

mots

s´epar´es

par

des

espaces,

et

renvoie

le

ni`eme

mot

de

cette

cha^ıne

*/

char

*getarg

(char

*chaine,

int

nieme)

;

/*

Compare

2

chaines,

renvoie

0

si

les

deux

chaines

sont

identiques

*/

int

strcmp

(char

*chaine1,

char

*chaine2)

;

/*

Convertit

une

cha^ıne

repr´esentant

un

nombre

en

nombre

*/

int

atoi

(char

*chaine)

;

Question 6

Ecrivez un serveur POP simple en utilisant les fonctions pr´ec´edentes et qui impl´emente le protocole POP.

Annexes

Adresses priv´ees de la RFC 1918

10.0.0.0/8

172.16.0.0/12

192.168.0.0/16

Trame Ethernet

0

8

16

24

31

ADRESSE ETHERNET SOURCE

ADRESSE ETHERNET DESTINATION

TYPE

Données

.

.

.

– Type IP (en hexad´ecimal) : 0800

Datagramme IP

0

4

8

16

24

31

Longueur

Longueur

Longueur

Version

d’en−tete

Type de service

Identification

Longueur totale

Drapeau

Décalage fragment

Durée de vie

Protocole

Somme de controle d’en−tete

Adresse IP Source

Adresse IP destination

Options IP

Remplissage

Données

.

.

.

– Note : options IP et Remplissage peuvent ne pas

ˆetre pr´esents dans la trame. Et ils ne sont pas

Ne consid´erez donc pas ces

pr´esents dans l’exercice

deux champs.

– Code du Protocole ICMP (en hexad´ecimal) : 01

– Code du Protocole TCP (en hexad´ecimal) : 06

– Code du Protocole UDP (en hexad´ecimal) : 11

Datagramme ICMP

0

4

8

16

24

31

Type

Code

Somme de controle

En−tete IP + 64 premiers bits du datagramme IP ayant provoqué l’erreur

Données

.

.

.

Segment TCP

0

4

8 10

16

24

31

Port source TCP

Port destination TCP

Numéro de séquence

Numéro d’acquittement

Longueur

entete

Réservé

Code

Taille de la fenetre

Somme de controle

Pointeur urgent

Options

Remplissage

Données

.

.

.

Datagramme UDP

0

4

8 10

16

24

31

Port source UDP

Port destination UDP

Longueur du message

Somme de controle

Données

.

.

.

Quelques conversions hexad´ecimales

   

Hexa

D´ecimal

 

Hexa

 

D´ecimal

Hexa

D´ecimal

Hexa

D´ecimal

 

0001

1

00

 

0

1E

30

0016

22

Hexa

D´ecimal

01

02

04

06

08

09

0C

0E

11

12

16

17

18

19

1

2

4

6

8

9

12

14

17

18

22

23

24

25

2D

32

35

40

43

45

4A

67

76

7E

80

86

88

8F

45

50

53

64

67

69

74

103

118

126

128

134

136

143

9B

9E

A8

AC

B2

B6

BB

C3

C8

CD

F2

F4

F5

F6

FF

155

158

168

172

178

182

187

195

200

205

242

244

245

246

255

0019

028F

0443

0800

0801

11AC

1809

1BC8

1E09

2D0C

4000

4006

4500

677E

25

655

1091

2048

2049

4524

6153

7112

7689

11532

16384

16390

17664

26494

86B6

8812

8FC3

919B

9E0E

A888

AC16

B217

BBF5

C335

CDC8

F24A

F432

FFF6

34486

34834

36803

37275

40462

43144

44054

45591

48117

49973

52680

62026

62514

65526

1B

27

91

145

7604

30212

 
 
 

8000

32768

 

Nom du service

Num´ero de port/protocole

 

Nom du service

Num´ero de port/protocole

tcpmux

ftp-data

ftp

ssh

telnet

smtp

nameserver

whois

domain

domain

mtp

bootps

bootps

bootpc

bootpc

tftp

1/tcp

20/tcp

21/tcp

22/tcp

23/tcp

25/tcp

42/tcp

43/tcp

53/tcp

53/udp

57/tcp

67/tcp

67/udp

68/tcp

68/udp

69/udp

www

csnet-ns

csnet-ns

rtelnet

rtelnet

pop3

pwdgen

pwdgen

ldap

login

who

syslog

printer

nfs

nfs

postgresql

 

80/tcp

105/tcp

105/udp

107/tcp

107/udp

110/tcp

129/tcp

129/udp

389/tcp

513/tcp

513/udp

514/udp

515/tcp

2049/tcp

2049/udp

5432/tcp

postgresql

5432/udp

 
 

Quelques services bien connus