You are on page 1of 5
Examen Réseaux 2021-2222 Le seul document autorisé est le poly de cours. Les téléphones portables sont interdits La durée est de 1h30 Exercice 1 (ADressage IP) Pour chacunes des adresses IP suivantes donner leur nature (privée ou publique), Tear adresse de réseau et de broaadcast ainsi que le nombre do bits qui désigne la partie réseau de adresse 1. 10.20.30.40 /18 2. 132.227.66.30 /19 3. 172.32.33.34 msk 255.255.240.0 4, 192.168.169.170 msk 255.255.255.224 Exercice 2 (Encapsulation) ‘On suppose que deux machines A eb B d’adresses IP L4 et Iq et d’adresses Ethemet E, et Ey sont reliées entre elles par un routeur R d’adresse IP IR. du coté de A et [Ry du c6té de B ainsi que d’adresse Ethernet RE du coté de A et REp du cété de B. Détaillez. Vencapsulation des différents paquets qui transitent: par R. On demande les adresse IP source et destination ainsi que les adresses EThernet source et destination. P2 g ® R2 RB RB | P3 PO Pl A RL RT i O Rs |] Exercice 3 (Routage) Pa La figure ci dessus donne une architecture de huit réseaux TP Rx pour { allant de 1 & 8. L’adresse de réseau R, sera 192.168.i.0 avec un masque standard. La passerelle Fy est: reliée A 4 réseaux les autres passerelles & seulement 3. 1. Choisissez des adresses IP pour les passerelles Py, Pi Pa et Ps 2, Attribuez des adresses IP d’une machine sur le réseau FR; eu une autre sur le réseau R5. Donner des tables de routage cohérentes pour oes machines. 3, Donner la table de routage de la machine Ps 4, Sans considérer les réseaux Rs, Ry et Ry donner la table de routage de la machine Po Hey 24 Exercice 4 (Protocoles) Les sources du protocole HELLO sont donées en annexe. Nous voulons étendre ce protocole pour que le serveur demande un login au client qui doit hui répondre un mot de passe. Vous étes libres de proposer tun atttomate cohérent avec les contraintes. 1. Le PDU HELLO devient un PDU LOGIN 2. Un PDU PASS est ajouté 3. un PDU Message sera formé d’un caractire M suivi de 9 antres caractares, Tl contiendra un login ou un mot de passe qui sont des chaines d’au plus 8 caractires 4, Donner le nouvel automate du protocole ainsi que le format des PDU intervenants, 5. Expliquer comment modifier la fonction Lire_pdu du fichior hello. serveur pour prendre en compte le PDU LOGIN et le PDU message A SS /#= Le protocole *hello” cL (+= Service: aucun is /+= Automate: / 2H 10 °F / att-fin ——— client i / \ / debut fin 7 \ in 90 IF / i att—fin ——— serveur /= Attention: le premier PDU est emis par le serveur. fs /#= PDU: [t= Hi UH! BE’ °L? °L? 70" \o" (6 octets) / P:R? 117 ON? \Q? (4 octets) i 0: '0° (1K \0" (3 octets) ny const char prgname; // le nom du programme pour les message d’erreur. int silence = 0; // 1: ne pas afficher les mess de debug et/ou din} void getTCPsap(struct sockaddr+ sap, socklen_tssaplen, const char «host, const chars port) { 3 int lire data(charsbuf, int cx, int n) } [ee + La fonction lire.PDU lit sur le flux cx un PDU du protocole HELLO et * le range dans le tampon buf. * Le tampon buf doit etre alloue par l'appelant et etre assez grand * pour contenir le plus grand PDU. ’ 41» Retour 42» Si la fonction @ reussi a lire un PDU complet et correct, eile 43% renvoie le premier octet du PDU (buf (0/). 44 + Si le pdu lu est mal formate elle renvoie 45» Dans les autres cas elle renvoie 7?” 46 +e/ 47 int lire PDU(charsbuf, imt cx) 48 { 49 int nb; 50 if ( lire-data(buf,ex,1)!=1 ) return "27; 51 if ( sbuf—'H’ ) { 52 nb = lire.data(buf+1,cx,5); 53 return nb==5 && stremp (buf ,”HELLO” 2 re; 54 } else if ( sbuf="0" ) { 55 nb = lire-data(buf+l,ex,2); 56 return nb==2 & stremp(buf ,”0K")==0 ? °O 57 } else if ( sbu&="F’ ) { 58 nb = lire data(buf+l,cx ,3); 59 return nb==3 && stremp(buf ,”FIN"}==0 ? °F? : 'e?; 60 } 61 return 727; 62 } a

You might also like