31
Protocoles de télécommunications JeanDo Lénard [email protected]

Protocoles de télécommunications JeanDo Lénard jdlenard@gmail

  • Upload
    howard

  • View
    25

  • Download
    0

Embed Size (px)

DESCRIPTION

Protocoles de télécommunications JeanDo Lénard [email protected]. Au menu aujourd’hui. Réseaux, couches Quelques protocoles Un peu d'analyse pratique de réseaux. Avantages d’un réseau. Connectivité et communication : organisation en LAN et WAN - PowerPoint PPT Presentation

Citation preview

Page 1: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail

Protocoles de télécommunications

JeanDo Lé[email protected]

Page 2: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail

Au menu aujourd’hui

Réseaux, couches

Quelques protocoles

Un peu d'analyse pratique de réseaux

Page 3: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail

Avantages d’un réseau

Connectivité et communication : organisation en LAN et WAN

Partage de données : Tous partagent les MEMES données

Partage de Hardware : Imprimante réseau

Partage d’accès Internet

Gestion des données et sécurisation : Administration centralisée

Page 4: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail

Inconvénients d’un réseau

Coûts du matériel et de la mise en place

Coûts de maintenance et d’administration

Partage de données indésirables : virus…

Comportement indésirable : distractions variées…

Problèmes de sécurité

Page 5: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail

Les standards propriétaires, ouverts, de fait

En réseau, très peu de standards propriétaires.

Les interconnexions nécessitent des standards ouverts.

L’adoption de standards est fondé sur la mise en place d’organisations et d’un processus de définition.

Page 6: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail

La définition d’un standard : la RFC

A l’origine, n’importe qui pouvait écrire une RFC.

Actuellement, l’IETF (Internet Engineering Task Force) écrit les RFC qui sont revues par l’IESG (Internet Engineering Steering Group) et l’IAB (Internet Architecture Board).

Elles peuvent ensuite être publiées.

Elles sont toutes en accès libre et gratuit (ce qui est rare pour des normes) sur http://www.rfc-editor.org/rfc-index.html

Page 7: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail

Un réseau, une pile de protocolesQu’est-ce qu’un protocole ?

Hors informatique, un protocole est un code de conduite, un ensemble de règles de manière à ce que des personnes de culture différente puissent communiquer sans générer de conflit.

En réseau, il s’agit que des composants soient en accord sur la manière de réaliser une action dans un processus de communication.

Page 8: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail

Le modèle d'interconnexion des systèmes ouverts de l'ISO est un modèle de communications entre ordinateurs. Il décrit les fonctionnalités nécessaires à la communication et l'organisation de ces fonctions.

La norme complète, de référence ISO 7498 est globalement intitulée «Modèle de référence de base pour l'interconnexion de systèmes ouverts (OSI)»

Le modèle OSI (Open System Interconnection)

ISO = International Organization for Standardization

Page 9: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail

Réseaux : modèles ISO : 7 couches

1. physique : niveau physique: support physique (Ethernet gros, fin, paires torsadées, fibre optique) et codage des bits.

2. liaison : paquets Ethernet, partage d'accès.

3. réseau : niveau IP: adresses du routage.

4. transport : niveau TCP: un port d'une machine dialogue avec un autre port d'une machine via un standard.

5. session : RPC.

6. présentation : XDR.

7. application : mail, DNS, rwho, ruptime, etc.

Page 10: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail

Couche 1 : Physique

Un circuit électronique chargé de convertir les bits en signaux électriques ou optiques et inversement.

Le circuit se charge de l’émission et de la réception.

Protocoles courants : NRZ NRZI Biphase ou Manchester Manchester différentiel Miller Bipolaire simple ou d'ordre 2 BHDn

source : wikipedia

Page 11: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail

Couche 2 : Liaison

La couche «liaison de données» gère les communications entre 2 machines adjacentes, i.e. directement reliées entre elles par un support physique. Elle est chargée du regroupement de bits isolés en trames ou de la délimitation de ces trames dans un flot de bit continu.

Protocoles courants : Ethernet Fiber Distributed Data Interface (FDDI) HDLC LocalTalk Multiprotocol Label Switching (MPLS) Point-to-point protocol (PPP) Serial Line Internet Protocol (SLIP) Token Ring

Page 12: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail

Couche 3 : Réseau

La couche réseau construit une voie de communication de bout en bout à partir de voies de communication avec ses voisins directs. Elle effectue donc:

- le routage : détermination d'un chemin permettant de relier les 2 machines distantes; - le relayage : retransmission d'un message dont la destination n'est pas locale pour le rapprocher de sa destination finale. Cette couche est donc la seule à être directement concernée par la topologie du réseau. C'est aussi la dernière couche supportée par toutes les machines du réseau pour le transport des données utilisateur: Les couches supérieures sont réalisées uniquement dans les machines d'extrémité.

Protocoles courants : IPIPX

Page 13: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail

Couche 4 : Transport

La couche transport gère le communications de bout en bout entre processus.

Cette couche : - gère l'envoi des données - établit l'ordre et la priorité des envois - contrôle l'intégrité de la réception

Protocoles courants : Transmission Control Protocol (TCP) User datagram protocol (UDP)Sequenced packet exchange (SPX)

Page 14: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail

Couche 5 : Session

Les 2 services originaux de la couche session sont la synchronisation des communications (quel intervenant peut émettre à tel moment) et la gestion des "transactions", un mécanisme de correction des erreurs de traitement par restauration d'un état antérieur connu.

Les services de transport sont des services de communication point à point, i.e. avec 2 interlocuteurs. Mais le modèle OSI doit aussi convenir aux communications multipoints. 2 genres de communications multipoints sont explicitement mentionnées dans la norme: les communications en étoile où une session est un ensemble de communications point à point avec un interlocuteur engagé dans tous les échanges; et la diffusion où tous les interlocuteurs reçoivent tous les messages. Des mécanismes de synchronisation sont alors requis pour savoir par exemple qui répond à quoi. C'est le rôle des protocoles de cette couche.

Protocoles courants : NETBIOS

Page 15: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail

Couche 6 : Présentation

La couche présentation est chargée du codage des données applicatives. Les couches 1 à 5 transportent des octets bruts sans se préoccuper de leur signification. Mais ce qui doit être transporté en pratique, c'est du texte, des nombres et parfois des structures de données arbitrairement complexes.

Le rôle de la couche présentation est donc de convertir entre données applicatives manipulées par les programmes et chaînes d'octets effectivement transportées par le réseau.

- conversion des données émises par l'application - plus de format de fichier, de caractères (ASCII, etc.) particuliers - format commun d'envoi indépendant de la machine -reconversion des données au format de l'application réceptrice

Couche absente dans le protocole IP, ce rôle est dévolu à la couche supérieure (type MIME par exemple pour HTTP).

Page 16: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail

Couche 7 : Application

C’est la couche qui permet d’accéder aux services réseaux.

Comme elle est purement applicative, rien n’est précisé dans la norme.

Dans le monde IP ce sont les protocoles les plus connus :- transfert de fichiers: FTP (IETF), NFS (Sun Microsystems) et AFS, SMB/CIFS (Microsoft) - messageries: Simple mail transfer protocol (SMTP), Post Office Protocol (POP), IMAP et pour la diffusion NNTP (Usenet) et encore X.400 - « session distante » : Telnet, rlogin, Secure shell (SSH) et des protocoles associés comme le déport d'affichage: X, XDMCP - type un peu tout et n'importe quoi: HTTP - protocoles d'exploitation et de gestion: Domain Name System pour la résolution d'adresse, Simple Network Management Protocol pour la supervision

Page 17: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail
Page 18: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail

Les protocoles s’intègrent les uns dans les autres

Donnéesutilisateur

Donnéesutilisateur

En-têteapplicative

En-têteTCP

Données d’application

Segment TCP

En-têteTCP

Données d’applicationEn-têteIP

Datagramme IP

En-têteTCP

Données d’applicationEn-têteIP

En-têteEthernet

FinEthernet

Trame Ethernet

2

3

4

7

Page 19: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail

Couche 4 : Transport par TCP

La couche transport gère le communications de bout en bout entre processus.Cette couche gère l'envoi des données et contrôle l'intégrité de la réception.

Grâce au protocole TCP, les applications peuvent communiquer de façon sûre (grâce au système d'accusés de réception du protocole TCP), indépendamment des couches inférieures.

Le principe est d'ajouter au segment de données des informations d'en-tête et d'accusé de réception pour contrôler les flux.

Page 20: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail

Couche 4 : Transport par TCP

Etablissement d'une connexion entre 2 machines :

Les ports TCP doivent être ouverts.L'application sur le serveur est à l'écoute, en attente d'une connexion.L'application sur le client fait une requête de connexion sur le serveur.

Les 2 machines se synchronisent avec un mécanisme en 3 temps (three ways handshake) :

1. Le client transmet un segment dont le drapeau SYN est à 1 (pour signaler qu'il s'agit d'un segment de synchronisation), avec un numéro d'ordre N initial

2. Le serveur reçoit le segment initial, et envoie un accusé de réception, c'est-à-dire un segment dont le drapeau ACK est à 1 et le drapeau SYN est à 1 (car il s'agit là encore d'une synchronisation).

3. Le client transmet au serveur un accusé de réception, c'est-à-dire un segment dont le drapeau ACK est à 1, dont le drapeau SYN est à zéro (il ne s'agit plus d'un segment de synchronisation).

L'envoi de données peut commencer, les machines sont synchornisées.

Page 21: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail

Couche 4 : Transport par TCP

Fiabilité des données transmises :Lors de l'émission d'un segment, un numéro d'ordre est associé. A réception d'un segment de donnée, la machine réceptrice va retourner un segment de donnée dont le drapeau ACK est à 1 accompagné d'un numéro d'accusé de réception égal au numéro d'ordre précédent.La machine émettrice sait donc que le segment est bien arrivé.Elle envoie le segment suivant.

Page 22: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail

Couche 4 : Transport par TCP

Fiabilité des données transmises (suite) :Grâce à une minuterie déclenchée dès réception d'un segment au niveau de la machine émettrice, le segment est réexpédié dès que le temps imparti est écoulé, car dans ce cas la machine émettrice considère que le segment est perdu...

Si le segment n'est pas perdu et qu'il arrive tout de même à destination, la machine réceptrice saura grâce au numéro d'ordre qu'il s'agit d'un doublon et ne conservera que le dernier segment arrivé à destination...

Page 23: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail

Couche 4 : Transport par TCP

Fin d'une connexion :

Le client comme le serveur peut demander à mettre fin à une connexion.

La fin de la connexion se fait de la manière suivante :

Une des machines envoie un segment avec le drapeau FIN à 1, et l'application se met en état d'attente de fin, c'est-à-dire qu'elle finit de recevoir le segment en cours et ignore les suivants Après réception de ce segment, l'autre machine envoie un accusé de réception avec le drapeau FIN à 1 et continue d'expédier les segments en cours. Suite à cela la machine informe l'application qu'un segment FIN a été reçu, puis envoie un segment FIN à l'autre machine, ce qui clôture la connexion...

Page 24: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail

Quelques protocoles de haut niveau

FTP (File Transfer Protocol)

Ce protocole développé au MIT existe depuis 1971.

Il reste un des principaux outils de transfert de fichiers entre machines.

Le protocole FTP a pour objectifs de : • permettre un partage de fichiers entre machines distantes • permettre une indépendance aux systèmes de fichiers des machines clientes et serveur • permettre de transférer des données de manière efficace

Ce protocole est totalement non sécurisé ! (à tester)

Il serait normalement à proscrire, mais sa large diffusion et son intégration dans les applications le rendent difficile à enlever complètement.

Page 25: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail

Quelques protocoles de haut niveau

HTTP (HyperText Transfer Protocol)

C'est le protocole le plus utilisé sur Internet depuis 1990.

Le but du protocole HTTP est de permettre un transfert de fichiers localisés grâce à une chaîne de caractères appelée URL entre un navigateur (le client) et un serveur Web (httpd).

La communication entre le navigateur et le serveur se fait en deux temps :

Page 26: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail

Quelques protocoles de haut niveau

HTTP (HyperText Transfer Protocol)

Une requête HTTP est un ensemble de lignes envoyé au serveur par le navigateur.

Elle comprend : 1. Une ligne de requête: c'est une ligne précisant le type de document demandé,

la méthode qui doit être appliquée, et la version du protocole utilisée. 2. Les champs d'en-tête de la requête (facultatives).3. Le corps de la requête (lignes optionnelles -par exemple pour un envoi de

données par une commande POST lors de l'envoi de données au serveur par un formulaire)

Page 27: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail

Quelques protocoles de haut niveau

HTTP (HyperText Transfer Protocol)

Une réponse HTTP est un ensemble de lignes envoyé du serveur vers le navigateur.

Elle comprend : Une ligne de statut contenant

• La version du protocole utilisé • Le code de statut (200 OK, 404 fichier non trouvé, 304 non modifié)• La signification du code

Les champs d'en-tête de la réponse: lignes facultatives permettant de donner des informations supplémentaires sur la réponse et/ou le serveur. Le corps de la réponse: il contient le document demandé

Page 28: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail

Quelques protocoles de haut niveau

SSH (Secure SHell)

Il existe de nombreux protocoles permettant de réaliser des opérations à distance (telnet, les r-commandes..).

L'inconvénient est de faire circuler en clair sur le réseau les informations échangées, notamment l'identifiant (login) et le mot de passe pour l'accès à la machine distante !

Comme on ne maîtrise pas les infrastructures situées entre l'utilisateur et la machine distante (Internet étant un réseau ouvert), la seule solution est de recourir à une sécurité au niveau logique (au niveau des données).

Le protocole SSH (Secure Shell) répond à cette problématique en permettant à des utilisateurs (ou bien des services TCP/IP) d'accéder à une machine à travers une communication chiffrée (appelée tunnel).

Page 29: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail

Quelques protocoles de haut niveau

SSH (Secure SHell)

Les données circulant entre le client et le serveur sont chiffrées, ce qui garantit leur confidentialité (personne d'autre que le serveur ou le client ne peut lire les informations transitant sur le réseau).

Il n'est donc pas possible d'écouter le réseau à l'aide d'un analyseur de trames.

Le client et le serveur s'authentifient mutuellement afin d'assurer que les deux machines qui communiquent sont bien celles que chacune des parties croit être.

Il n'est donc plus possible pour un pirate d'usurper l'identité du client ou du serveur.

Page 30: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail

Quelques protocoles de haut niveau

SSH (Secure SHell)

Etablissement d'une connexion : Dans un premier temps le serveur et le client s'identifient mutuellement afin de mettre en place un canal sécurisé (couche de transport sécurisée).

• On débute par une phase de négociation entre le client et le serveur afin de s'entendre sur les méthodes de chiffrement à utiliser. • Ensuite, le serveur envoie sa clé publique d'hôte (host key) au client. Le client génère une clé de session qu'il chiffre grâce à la clé publique du serveur, et envoie au serveur la clé de session chiffrée ainsi que l'algorithme utilisé. Le serveur déchiffre la clé de session grâce à sa clé privée et envoie un message de confirmation chiffré à l'aide de la clé de session. • A partir de là le reste des communications est chiffré grâce à un algorithme de chiffrement symétrique en utilisant la clé de session partagée par le client et le serveur.

Dans un second temps le client s'authentifie auprès du serveur pour obtenir une session (via mots de passe ou via les clefs publiques).

Page 31: Protocoles de télécommunications  JeanDo Lénard jdlenard@gmail

Voir ce qui se passe via un analyseur réseau

Ethereal (Wireshark)

Un analyseur réseau est un logiciel (passif) qui écoute tout se qui se passe sur un réseau et qui le met en forme.

C'est l'outil de base des administrateurs réseau et des pirates.

Un des analyseurs libres les plus connus est Ethereal (maintenant Wireshark).

Objectif : Installer Wireshark et voir comment se passe les transactions FTP, HTTP, SSH.

Le serveur (portable) accepte des connexions FTP, HTTP et SSH pour le compte hetic, mot de passe F1l2fer.