Les couches hautes Application Prsentation Session 1 Plan

  • Slides: 33
Download presentation
Les couches hautes Application, Présentation, Session 1

Les couches hautes Application, Présentation, Session 1

Plan • Modèles et rappel théorique – Couche 5 – Couche 6 : XDR,

Plan • Modèles et rappel théorique – Couche 5 – Couche 6 : XDR, DER, … – Couche 7 : • Exemple de Windows Explorer • Exemple de telnet • Autres exemples 2

Les modèles • Modèle Do. D – Application (1 couche) – NOS - Network

Les modèles • Modèle Do. D – Application (1 couche) – NOS - Network Operating System (3 couches) • Transport (TCP) + Routage (IP) + Réseau (Ethernet, X 25, …) • Modèle ISO – – Couche 7 : traiter les informations Couche 6 : interpréter les informations Couche 5 : organiser la communication utilisateurs Couche 4 à 1. 3

Couche 5 : Session vs Transport a) Correspondance entre session et cnx de transport

Couche 5 : Session vs Transport a) Correspondance entre session et cnx de transport • Y-a-t-il redondance entre les couches 5 et 4 ? b) Plusieurs sessions sur une même cnx de transport • exemple: agence de voyage <-> base de données c) Une session sur plusieurs cnx de transport • exemple: cas d’une panne sur transport 4

Couche 6 : illustration (writer) #include <stdio. h> main() /* writer. c */ {

Couche 6 : illustration (writer) #include <stdio. h> main() /* writer. c */ { long i; for (i = 0; i < 4; i++) { if (fwrite((char *)&i, sizeof(i), 1, stdout) != 1) { fprintf ( stderr, "failed!n"); exit(1); } } exit(0); } /*. . /. . */ 5

Couche 6 : illustration (reader) #include <stdio. h> main() /* reader. c */ {

Couche 6 : illustration (reader) #include <stdio. h> main() /* reader. c */ { long i, j; for (j = 0; j < 4; j++) { if (fread((char *)&i, sizeof (i), 1, stdin) != 1) { fprintf(stderr, "failed!n"); exit(1); } printf("%ld ", i); } printf("n"); exit(0); } 6

Couche 6 : exécution reader | writer Exécution ibm% writer | reader 0 1

Couche 6 : exécution reader | writer Exécution ibm% writer | reader 0 1 2 3 vax% writer | rsh ibm reader 0 16777216 33554432 50331648 Commentaire 16777216 = 224 00000000 00000001 00000000 7

Couche 6 : solutions • « XDR language » et XDR – XDR :

Couche 6 : solutions • « XDR language » et XDR – XDR : e. Xternal Data Representation – implicit typing • ASN. 1 et BER – ASN. 1 : Abstract Syntax Language 1 – BER : Basic Encoding Rules – explicit typing 8

Typage implicite / explicite • Typage implicite (XDR) – Syntaxe non décrite dans le

Typage implicite / explicite • Typage implicite (XDR) – Syntaxe non décrite dans le message. – Emetteur et récepteur partage un code spécifique • Typage explicite (BER) – Syntaxe contenue dans l’en-tête. – lier (linker) avec les librairies standards BER. 9

Comment XDR encode-t-il ? Déclaration : opaque identifier[n]; Déclaration : opaque identifier<n>; 10

Comment XDR encode-t-il ? Déclaration : opaque identifier[n]; Déclaration : opaque identifier<n>; 10

Comment BER encode-t-il ? definition ASN. 1 : TLV : Tag Length Value Attendee

Comment BER encode-t-il ? definition ASN. 1 : TLV : Tag Length Value Attendee : : = SEQUENCE { name OCTET STRING, married BOOLEAN } Encodage de l’enregistrement {"Smith", T}: 11

BER : Principe 12

BER : Principe 12

BER : Mise en œuvre 13

BER : Mise en œuvre 13

Couche 6 : autres rôles • Indépendance du support – MIME • Compression –

Couche 6 : autres rôles • Indépendance du support – MIME • Compression – code de Huffman, … • Chiffrement de données, encryptage – RSA, DSE, etc. . . 14

Couche 7 : Quelques services • Service de nommage – Net. BIOS, DNS •

Couche 7 : Quelques services • Service de nommage – Net. BIOS, DNS • Echanges de fichiers – FTAM, FTP, ETEBAC, Pe. SIT • Partage de fichiers – NFS, CIFS, SAMBA • Partage d’annuaires – LDAP, X 500 • Echanges de courriel – SMTP-POP-IMAP, X 400 • Coquilles d’exécution mode texte ou fenêtrée 15

Service de nommage • DNS – Centralisé – Statique initialement (mais aussi dynamique) –

Service de nommage • DNS – Centralisé – Statique initialement (mais aussi dynamique) – Réseau étendu • Windows Explorer (Net. BIOS) – Nommage de machine ou de groupe – Réseau local – Dynamique 16

Serveur DNS : BIND (named. conf) • Named. conf – Configuration • Cache (local)

Serveur DNS : BIND (named. conf) • Named. conf – Configuration • Cache (local) • Forward (cache distant) • Recursive lookup (root server : named. ca) – Zone • Hint (root server) • Master 17

Named. conf: exemple 18

Named. conf: exemple 18

Named. conf: exemple options { directory « /var/named/ » ; forwarders { 10. 232.

Named. conf: exemple options { directory « /var/named/ » ; forwarders { 10. 232. 7. 98 } forward first ; }; zone «. » { type hint ; file « named. ca » } zone « insa-rouen. fr » { type master ; file « named. insa-rouen. fr » } 19

Zone: exemple insa-rouen. fr. IN SOA servasi. insa-rouen. fr ( 2002043004 ; serial 3600

Zone: exemple insa-rouen. fr. IN SOA servasi. insa-rouen. fr ( 2002043004 ; serial 3600 ; refresh 600 ; retry 604800 ; expire 86400 ; default_ttl ) nouakchott IN A 192. 168. 1. 2 servasi IN A 192. 168. 1. 1 www IN CNAME @ IN NS servasi. insa-rouen. fr 20

Zone: exemple reverse 1. 168. 192. in-addr. arpa. IN SOA servasi. insa-rouen. fr (

Zone: exemple reverse 1. 168. 192. in-addr. arpa. IN SOA servasi. insa-rouen. fr ( 2002043004 ; serial 3600 ; refresh 600 ; retry 604800 ; expire 86400 ; default_ttl ) 1 IN PTR auvernha. insa-rouen. fr 2. 1. 168. 192. in-addr. arpa. IN PTR nouakchott. insa-rouen. fr @ IN NS servasi. insa-rouen. fr 21

Net. BIOS • Plusieurs modes : – Décentralisé • B-node : broadcast – Centralisé

Net. BIOS • Plusieurs modes : – Décentralisé • B-node : broadcast – Centralisé • P-node : unicast • Service NBNS implémenté dans WINS 22

Net. BIOS : enregistrement • B-Node – Construction d’un paquet, émission UDP • Nom

Net. BIOS : enregistrement • B-Node – Construction d’un paquet, émission UDP • Nom souhaité, adresse IP – 3 broadcast, 250 ms – Attente d’un paquet « Defense » • P-Node : – Construction paquet – 3 unicast, 5 secondes – Attente paquet « end node challenge » • Vérification auprès de la station si elle toujours active 23

Synthèse : étude de Telnet • Telnet : exemple monolithique des couches 5, 6,

Synthèse : étude de Telnet • Telnet : exemple monolithique des couches 5, 6, 7. • Couche 6 : – NVT : Affichage des caractères • ASCII 7 bit • Couche 5 : • Signalisation dans la bande – MSB à 1, IAC (255) – Négociation d’option • Couche 4 : – TCP : Pointeur URG 24

Telnet : Négociation d’option • • • <IAC>, <WILL>, 34 : (LINEMODE) WILL <->

Telnet : Négociation d’option • • • <IAC>, <WILL>, 34 : (LINEMODE) WILL <-> DO : E veut activer, R OK WILL <-> DONT : E veut activer, R refuse DO <-> WILL : E veut que R active, R OK DO <-> WONT : E veut que R active, R NO WONT <-> DONT : – E veut désactiver, R OK • DONT <-> WONT : – E veut que R désactive, R NO 25

Telnet : pointeur URG de TCP • Pour provoquer l’arrêt d’un processus, Telnet utilise

Telnet : pointeur URG de TCP • Pour provoquer l’arrêt d’un processus, Telnet utilise : – <IAC, IP, AIC, DO, TM> – <IAC, WILL, TM> – URG – Provoque l’effacement de tous les messages dans la pile. 26

Autres exemples • • X 400, X 500, LDAP, … 27

Autres exemples • • X 400, X 500, LDAP, … 27

X 400 : Protocoles et architecture 28

X 400 : Protocoles et architecture 28

X 500 : Protocoles et architecture 29

X 500 : Protocoles et architecture 29

X 500 : exemples d’arbre 30

X 500 : exemples d’arbre 30

Passerelle couche 7 : exemple 31

Passerelle couche 7 : exemple 31

Intérêt de l’interopérabilité 32

Intérêt de l’interopérabilité 32

SMTP et LDAP 33

SMTP et LDAP 33