Plan du cours (1) Réseaux services supports et applicatifs • Introduction aux réseaux • Les protocoles de transport ◦ Le protocole TCP ◦ Le protocole UDP École Nationale d’Ingénieurs de Tunis 2007 - 2008 • Les protocoles de cœur de réseau Mohamed Koubàa Département Technologies de l’Information et des Communications École Nationale d’Ingénieurs de Tunis courriel: [email protected] [email protected] RSSA - ENIT ◦ ◦ ◦ ◦ Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching 1 [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Plan du cours (2) Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication • Introduction aux réseaux • Les protocoles de transport La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P [email protected] 2 Plan du cours • La couche application ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ RSSA - ENIT RSSA - ENIT ◦ Le protocole TCP ◦ Le protocole UDP • Les protocoles de cœur de réseau ◦ ◦ ◦ ◦ Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching • La couche application 3 [email protected] RSSA - ENIT 4 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Que signifie réseau ? Pourquoi des réseaux ? (1) • À l’époque où on travaillait sur une même machine, toutes les informations nécessaires au travail étaient centralisées sur la même machine • Pour des raisons de coûts ou de performances, on est venu à multiplier le nombre de machines ; les informations devaient alors être dupliquées sur les différentes machines du même site • La duplication ne permettait pas toujours d’avoir des informations cohérentes sur les machines ; Ce fût l’apparition des réseaux locaux (propriétaires ou maisons) • Le besoin d’échanger des informations entre sites distants se fait ressentir ; Les réseaux moyenne et longue distance voient le jour • Un réseau en général est le résultat de la connexion de plusieurs machines entre elles, afin que les utilisateurs et les applications qui fonctionnent sur ces dernières puissent échanger des informations • Le terme réseau en fonction de son contexte peut désigner plusieurs choses : ◦ L’ensemble des machines d’une organisation avec les protocoles qui sont utilisés (Internet) ◦ La façon dont les machines d’un site sont interconnectées (réseau local d’une entreprise) ◦ Le protocole utilisé pour assurer la communication entre machines (réseau TCP/IP) [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 5 Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication RSSA - ENIT 6 Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication Pourquoi une normalisation ? • Le besoin de normalisation afin de permettre l’échange d’informations entre les différentes entités (ne parlant pas nécessairement le même langage (protocole)) ne faisant pas partie de la même communauté • Des réflexions ont été faites dans ce sens afin d’essayer de recenser les différents problèmes auxquels on est confronté lorsqu’on veut mettre des machines en réseau • Apparition de modèles de référence pour les réseaux (modèle OSI de l’ISO) • Un réseau permet entre autre de : Partager des données et des applications Partager des périphériques (imprimantes, serveurs, . . . ) Communiquer entre personnes (messagerie, discussion en direct, . . . ) Travailler sur les mêmes informations (bases de données, . . . ) • mais aussi . . . ◦ Diminuer les coûts par le partage des données et des ressources ◦ Standardiser les applications ◦ Faciliter l’accès aux données [email protected] [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Pourquoi des réseaux ? (2) ◦ ◦ ◦ ◦ Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication RSSA - ENIT 7 [email protected] RSSA - ENIT 8 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Les organismes de normalisation Le modèle OSI (1) • Deux organismes de normalisation pour réseaux informatiques : • Pour faire circuler l’information sur un réseau, on peut utiliser principalement deux stratégies : ◦ L’ISO (International Standardization Organization) ◦ L’UIT-T (Union Internationale des Télécommunications) ex CCITT ◦ L’information est envoyée en un seul morceau ◦ L’information est fragmentée en petits morceaux (paquets) ; chaque paquet est envoyé séparément sur le réseau. Les paquets sont ensuite réassemblés à la destination. On parle de réseau à commutation de paquets • L’ISO est un organisme dépendant de l’ONU ◦ Les représentants nationaux sont des organismes nationaux de normalisation : ANSI pour les USA AFNOR pour la France DIN pour l’Allemagne BSI pour le Royaume Uni HSC pour le Japon • La première stratégie n’est pas utilisée car les risques d’erreurs et les problèmes sous-jacents sont trop complexes à résoudre • Le modèle OSI est un modèle à sept couches qui décrit le fonctionnement d’un réseau à commutation de paquets • L’UIT-T comprend des opérateurs et industriels des télécommunications [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication 9 Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le modèle OSI (2) RSSA - ENIT 10 Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication Le modèle OSI (3) • Chacune des couches de ce modèle représente une catégorie de problèmes que l’on rencontre dans un réseau et apporte les solutions pour y remédier • Le découpage des problèmes en couche présente des avantages : ◦ Lorsqu’on met en place un réseau, il suffit de trouver une solution pour chacune des couches ◦ Il est possible de changer de solution technique pour une couche sans pour autant être obligé de tout repenser ◦ Chaque couche garantit à la couche qui lui est supérieure que le travail qui lui a été confié a été réalisé sans erreur [email protected] RSSA - ENIT 11 [email protected] RSSA - ENIT 12 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application La couche physique La couche liaison de données • La couche liaison a pour rôle de transformer la couche physique en une liaison a priori exempte d’erreurs de transmission pour la couche réseau (détection et correction des erreurs de transmission) • Elle fractionne les données d’entrée de l’émetteur en trames, transmet ces trames en séquence et gère les trames d’acquittement renvoyées par le récepteur • Elle doit être en mesure de reconnaı̂tre les frontières des trames (fanion) • Elle doit être capable de renvoyer une trame lorsqu’il y a eu un problème sur la ligne de transmission • Elle intègre une fonction de contrôle de flux pour éviter l’engorgement du récepteur • L’unité d’information de la couche liaison est la trame (quelques centaines à quelques milliers d’octets maximum) • La couche physique s’occupe de la transmission des bits de façon brute sur un canal de communication • Elle doit garantir la parfaite transmission des données (un bit à 1 envoyé doit être bien reçu comme bit valant 1) • Elle doit normaliser : ◦ Les caractéristiques électriques (un bit à 1 doit être représenté par une tension de 5V) ◦ Les caractéristiques mécaniques (forme des connecteurs, de la topologie, . . . ) ◦ Les caractéristiques fonctionnelles des circuits de données ; ◦ Les procédures d’établissement, de maintien et de libération du circuit de données • L’unité d’information typique de cette couche est le bit, représenté par une certaine différence de potentiel [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 13 [email protected] Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application La couche réseau RSSA - ENIT 14 Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication La couche transport (1) • La couche transport est responsable du bon acheminement des messages complets au destinataire • La couche réseau permet de gérer le sous-réseau, i.e. le routage des paquets sur ce sous-réseau et l’interconnexion des différents sous-réseaux entre eux ◦ ◦ ◦ ◦ ◦ • Au moment de sa conception, il est nécessaire de bien déterminer le mécanisme de routage et de calcul des tables de routage (tables statiques ou dynamiques . . . ) • Elle contrôle également l’engorgement du sous-réseau • Il est aussi possible d’y intégrer des fonction de comptabilité pour la facturation au volume (peut être délicat) RSSA - ENIT Prend les messages de la couche session Les découpe, s’il le faut, en unités de plus petites tailles (segmentation) Passe les unités à la couche réseau S’assure de la bonne arrivée des unités de l’autre coté de la liaison Réassemble les morceaux à la réception • Elle est également responsable de l’optimisation des ressources du réseau (distribution du trafic sur le réseau, multiplexage, . . . ) • Elle est responsable du type de service à fournir à la couche session, et finalement aux utilisateurs du réseau : service en mode connecté ou non, avec ou sans garantie d’ordre de délivrance, diffusion du message à plusieurs destinataires à la fois, . . . • L’unité d’information de la couche réseau est le paquet [email protected] Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication 15 [email protected] RSSA - ENIT 16 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application La couche transport (2) La couche session • La couche session organise et synchronise les échanges entre tâches distantes • Elle réalise le lien entre les adresses logiques et les adresses physiques des tâches réparties • Elle établit une liaison entre deux programmes d’application devant coopérer et commande leur dialogue (qui doit parler, qui parle . . . ) ; Ce service d’organisation s’appelle la gestion du dialogue • Elle est également responsable de l’établissement et du relâchement des connexions sur le réseau • Elle est responsable du contrôle de flux • La couche transport est l’une des couches les plus importantes, car c’est elle qui fournit le service de base à l’utilisateur, et c’est par ailleurs elle qui gère l’ensemble du processus de connexion, avec toutes les contraintes qui y sont liées • L’unité d’information de la couche transport est le message [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT • Elle permet d’insérer des points de reprise dans le flux de données de manière à pouvoir reprendre le dialogue après une panne 17 Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application La couche présentation RSSA - ENIT 18 Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication La couche application • La couche présentation s’intéresse à la syntaxe et à la sémantique des données transmises : c’est elle qui traite l’information de manière à la rendre compatible entre tâches communicantes • Elle assure l’indépendance entre l’utilisateur et le transport de l’information • Elle peut convertir les données, les reformater, les crypter et les compresser [email protected] Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication RSSA - ENIT • La couche application constitue le point de contact entre l’utilisateur et le réseau • Elle apporte à l’utilisateur les services de base offerts par le réseau, comme par exemple le transfert de fichiers, la messagerie électronique, . . . 19 [email protected] RSSA - ENIT 20 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Les catégories de réseaux (1) Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication Les catégories de réseaux (2) • LAN ◦ Nombre d’éléments : équipements appartenant à une même société ◦ Étendue géographique : périmètre géographiquement restreint ◦ Technologies utilisées : Ethernet, Token Ring, FDDI, . . . • La distinction entre réseaux se fait selon trois critères : ◦ Le nombre d’éléments le constituant ◦ La dispersion (étendue) géographique ◦ La (les) technologie(s) de transfert de données (protocole(s) utilisé(s)) • MAN ◦ Nombre d’éléments : interconnecte plusieurs LANs ◦ Étendue géographique : réseaux LANs géographiquement proches ◦ Technologies utilisées : FDDI, ATM, SDH, . . . • Trois catégories de réseaux : ◦ Les réseaux locaux (LAN - Local Area Networks) ◦ Les réseaux métropolitains (MAN - Metropolitan Area Networks) ◦ Les réseaux étendus (WAN - Wide Area Networks) [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT • WAN ◦ Nombre d’éléments : interconnecte plusieurs LANs ou MANs ◦ Étendue géographique : très grandes distances (Internet) ◦ Technologies utilisées : SDH, SONET, WDM, . . . 21 Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Les topologies de réseaux RSSA - ENIT 22 Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication La topologie en bus • Toutes les machines (ordinateurs et serveurs) sont reliées à un même médium de transmission par l’intermédiaire d’un câble • Le mot bus désigne le tronc physique qui relie les nœuds • Avantages et inconvénients • Une topologie de réseau est une définition de l’architecture d’un réseau • Elle donne une certaine disposition des différents postes informatiques du réseau et une hiérarchie de ces postes • Les principales topologies de réseaux existantes : ◦ ◦ ◦ ◦ [email protected] ◦ Peu onéreux et facile à mettre en œuvre (pas d’équipements supplémentaires) ◦ La panne d’un nœud n’entraı̂ne pas la mise hors service du réseau ◦ La bande passante est partagée par l’ensemble des nœuds ◦ Tout message peut être entendu par l’ensemble des nœuds raccordés Bus Étoile Anneau Maillé • Ces éléments de base sont combinées pour former des réseaux complexes (topologie mixte, hybride) • Deux types de topologies : ◦ Topologie physique ◦ Topologie logique [email protected] RSSA - ENIT 23 [email protected] RSSA - ENIT 24 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application La topologie en étoile (1) Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication La topologie en étoile (2) • La plupart des réseaux sont, de nos jours, en étoile (star) • Tous les nœuds sont reliés à un équipement appelé concentrateur (hub) ou commutateur (switch) • Le concentrateur (ou commutateur) est une boite comprenant un certain nombre de jonctions auxquelles il est possible de raccorder les câbles réseau en provenance des ordinateurs ; il assure la communication entre les différentes jonctions • Améliorations et inconvénients ◦ Les nœuds sont isolés et donc bénéficient d’une bande passante dédiée ◦ Facile à mettre en œuvre car très évolutif ◦ Onéreux parce qu’il demande plus de câblage et un équipement dédié [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 25 Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application La topologie en anneau (1) RSSA - ENIT 26 Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication La topologie en anneau (2) • Les ordinateurs sont situés sur une boucle et communiquent chacun à son tour • Un répartiteur (appelé MAU - Multi-station Access Unit) sert à simuler l’anneau et qui sert à gérer la communication entre les ordinateurs en impartissant à chacun un temps de parole • Améliorations et inconvénients : ◦ Les nœuds sont isolés et bénéficient ainsi d’une bande passante dédiée ◦ Plus complexe de mise en place ◦ Onéreux parce qu’il demande plus de câblage et un équipement dédié (MAU) [email protected] RSSA - ENIT 27 [email protected] RSSA - ENIT 28 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application La commutation et le transfert des données La commutation de circuits • Utilisée sur un réseau téléphonique, RNIS, GSM • Création d’un circuit physique reliant les deux extrémités lors de l’établissement de la connexion • Elle est adaptée au transport de la voix • Contrainte de temps de transmission (téléphonie : isochrone et écho) • Inconvénient : le circuit est réservé pendant la communication, qu’il soit occupé ou non • Plusieurs méthodes existent permettant de transférer une donnée d’un nœud émetteur à un nœud dit récepteur ◦ La commutation de circuits ◦ La commutation de paquets ◦ La commutation de cellules [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 29 Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication RSSA - ENIT 30 Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication La commutation de cellules • Les données à transmettre sont découpées en paquets de données (segmentation) émis indépendamment sur le réseau • Les nœuds du réseau sont libres de déterminer la route de chaque paquet individuellement, selon leur table de routage • Les paquets peuvent arriver dans un ordre différent de l’ordre d’envoi et peuvent éventuellement être perdus ; il est nécessaire de prévoir des mécanismes de réassemblage ordonné et de réémission en cas de perte de paquets • La commutation de paquet est la méthode de transfert utilisée sur Internet : • La commutation de cellules est utilisée par ATM (Asynchronous Transfer Mode) • Cellule de taille fixe de 53 octets (5 octets d’entête et 48 octets de données) • Temps de commutation très faible par rapport au temps de propagation du signal • Permet d’introduire des notions de qualité de service • Utilisée principalement sur les liens d’interconnexion ou dans des applications multimédia ◦ Résistance aux pannes des nœuds intermédiaires ◦ Utilisation rationnelle et efficace des lignes de transmission RSSA - ENIT [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application La commutation de paquets [email protected] Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication 31 [email protected] RSSA - ENIT 32 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Les modes de communication Le mode connecté • Toute transmission doit être précédée d’une demande de connexion réussie • Permet de contrôler proprement la transmission : authentification des intervenants, contrôle de flux, . . . • Trois phases : • Deux modes de communication ◦ Mode connecté ◦ Mode non connecté ◦ ◦ ◦ ◦ [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication RSSA - ENIT Établissement de la connexion Transfert des données Coupure de la connexion Les ressources mobilisées ne sont pas forcément utilisées 33 [email protected] Généralités Le modèle OSI Les catégories de réseaux Les topologies de réseaux La commutation Les modes de communication Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le mode non connecté RSSA - ENIT 34 Le protocole TCP Le protocole UDP Plan du cours • Introduction aux réseaux • Les protocoles de transport ◦ Le protocole TCP ◦ Le protocole UDP • Pas de négociation entre les intervenants (pas de contrôle de flux ou d’erreur) • Les protocoles de cœur de réseau • Adéquat pour la transmission des messages courts • Similaire à l’envoi d’une lettre à la poste ◦ ◦ ◦ ◦ Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching • La couche application [email protected] RSSA - ENIT 35 [email protected] RSSA - ENIT 36 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole TCP Le protocole UDP Les protocoles de transport Plan du cours • Deux protocoles de transport : • Introduction aux réseaux • Les protocoles de transport ◦ TCP (Transmission Control Protocol) ◦ UDP (User Datagram Protocol) ◦ Le protocole TCP ◦ Le protocole UDP • TCP est un protocole en mode avec connexion ◦ Il introduit plusieurs fonctionnalités garantissant une certaine qualité de service de transport • Les protocoles de cœur de réseau ◦ ◦ ◦ ◦ • UDP est un protocole en mode sans connexion ◦ Protocole simple ◦ UDP transportait des messages de gestion (les récepteurs devaient être toujours en état de marche) ◦ UDP permet de faire transiter des applications sensibles ne pouvant se satisfaire des contraintes de TCP (parole téléphonique) [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole TCP Le protocole UDP RSSA - ENIT Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching • La couche application 37 [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole TCP Le protocole UDP Les caractéristiques du protocole TCP (1) RSSA - ENIT 38 Le protocole TCP Le protocole UDP Les caractéristiques du protocole TCP (2) • TCP offre un service de transport fiable • Les données échangés sont considérés comme un flux de bits divisé en octets • Les octets doivent être reçus dans l’ordre selon lequel ils étaient envoyés • Le transfert des données ne peut commencer qu’après l’établissement d’une connexion entre deux parties communicantes • Au cours du transfert des données, les deux parties continuent à vérifier que les données transitent correctement [email protected] RSSA - ENIT 39 [email protected] RSSA - ENIT 40 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole TCP Le protocole UDP Les caractéristiques du protocole TCP (3) Les caractéristiques du protocole TCP (4) • Les programmes d’application envoient leurs données en les passant régulièrement au système d’exploitation de la machine • Chaque application choisit la taille de données qui lui convient (le transfert peut être d’un octet à la fois) • L’implémentation TCP découpe les données en paquets d’une taille différente de celle des blocs reçus de l’application afin de rendre le transfert plus performant • À l’ouverture de la connexion, un transfert bidirectionnel de l’information peut se mettre en place (deux flux de données inverses sans interaction) • La fin de transmission dans un sens n’entraı̂ne pas la fin de transmission dans l’autre sens, des acquittements seront transmis en même temps que les données [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT • Le protocole TCP définit : ◦ ◦ ◦ ◦ La structure des données et des acquittements échangés Les mécanismes permettant de rendre le transport fiable La méthode pour distinguer plusieurs connexions sur la même machine La méthode pour détecter des paquets perdus ou dupliqués ainsi que le moyen de remédier à ces situations ◦ La manière d’établir une connexion et de la terminer 41 RSSA - ENIT 42 Le protocole TCP Le protocole UDP Quelques ports réservés • TCP permet de faire transiter sur une même ligne des données provenant d’applications diverses • Les opérations de multiplexage et de démultiplexage sont réalisées grâce au concept de ports (ou sockets) • Un numéro associé à un type d’application combiné à une adresse IP, permet de déterminer d’une façon unique une application qui tourne sur une machine donnée RSSA - ENIT [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole TCP Le protocole UDP La fonction de multiplexage [email protected] Le protocole TCP Le protocole UDP Numéro de port 7 13 15 20 21 23 25 80 109 43 Service echo daytime netstat ftp-data ftp Telnet SMTP HTTP pop [email protected] Définition Fonction écho Jour et heure État du réseau Données du protocole FTP Protocole FTP Protocole Telnet Protocole SMTP Protocole HTTP Protocole POP RSSA - ENIT 44 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole TCP Le protocole UDP Notion de fenêtre d’anticipation (1) Notion de fenêtre d’anticipation (2) • TCP utilise un mécanisme de fenêtre d’anticipation (envoi de plusieurs fragments sans attendre d’acquittements) • Le récepteur doit tenir à jour une fenêtre en réception qui indique : ◦ Le numéro du prochain octet attendu ◦ La valeur extrême qui peut être reçue ◦ La différence entre les deux valeurs indique la valeur du crédit accepté par le récepteur (taille de la mémoire tampon disponible pour la connexion) ◦ Améliore le débit de la liaison ◦ Assure un contrôle de flux de bout en bout • Le mécanisme de fenêtre opère au niveau de l’octet • Les octets à envoyer sont numérotés séquentiellement • L’émetteur gère trois pointeurs pour chaque fenêtre • La taille de la fenêtre d’anticipation varie dans le temps • La taille de la fenêtre ne peut aller au deçà d’une valeur minimale acceptée par le récepteur ◦ Premier octet émis en attente d’acquittement ◦ Dernier octet qui peut être émis ◦ L’octet en cours de transmission [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 45 [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole TCP Le protocole UDP Format d’un fragment TCP [email protected] Le protocole TCP Le protocole UDP RSSA - ENIT 46 Le protocole TCP Le protocole UDP Signification des différents champs du fragment TCP (1) RSSA - ENIT 47 Champ Port source Longueur 16 bits Port destination Numéro de séquence 16 bits 32 bits Signification Port relatif à l’application en cours sur la machine source (client). Associé à l’adresse IP, cette valeur fournit un identificateur unique appelé socket. Port relatif à l’application en cours sur la machine de destination (serveur). Sequence Number : lorsque le drapeau SYN est à 0, le numéro de séquence indique le numéro du premier octet porté par le fragment. Lorsque SYN est à 1, le numéro de séquence est égal au numéro de séquence initial utilisé pour synchroniser les numéros de séquence (ISN). [email protected] RSSA - ENIT 48 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole TCP Le protocole UDP Signification des différents champs du fragment TCP (2) Champ Numéro d’acquittement DO Réservé Longueur 32 bits 4 bits 6 bits Signification des différents champs du fragment TCP (3) Signification Acknowledgement Number : indique le numéro du premier octet attendu, soit le numéro du dernier octet reçu+1. Data Offset ou longueur de l’entête : indique la longueur de l’entête par multiple de 32 bits. Cette valeur est nécessaire du fait que la zone d’options peut être de longueur variable (longueur maximale 60 octets). Reserved : zone réservée à une utilisation future. Ce champ doit être rempli de 0. [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 49 Longueur 1 bit Fenêtre 16 bits Total de contrôle Pointeur d’urgence Options 16 bits 16 bits Variable RSSA - ENIT Longueur 1 bit ACK 1 bit PSH 1 bit RST 1 bit SYN 1 bit Signification Urgent Pointer : si ce drapeau est à 1, cela signifie que le champ Urgent Pointer situé dans la suite de l’entête comporte une valeur significative. Acknowledgement : si ce drapeau est à 1 le fragment est un accusé de réception. Push function : si ce drapeau est à 1, cela signifie que l’émetteur souhaite que les données de ce fragment soient délivrés le plutôt possible au destinataire. Reset : si ce drapeau est à 1, la connexion est réinitialisée. Synchronisation : si ce drapeau est à 1, cela signifie une demande d’établissement de connexion. [email protected] RSSA - ENIT 50 Le protocole TCP Le protocole UDP Fiabilité des transferts • Le protocole TCP permet d’assurer le transfert des données de façon fiable, bien qu’il utilise le protocole IP, qui n’intègre aucun contrôle de livraison de datagramme • Le protocole TCP possède un système d’acquittements permettant au client et au serveur de s’assurer de la bonne réception mutuelle des données • Les fragments TCP étant de taille variable, les acquittements se rapportent à un numéro d’octet particulier dans le flux de données • Un acquittement spécifie le numéro du prochain octet à transmettre et acquitte les précédents • Les acquittements TCP sont cumulatifs • Ce principe cumulatif permet de perdre les premiers acquittements sans qu’il y ait de problème Signification Terminate : si ce drapeau est à 1, cela signifie que l’émetteur souhaite fermer la connexion. Window : indique le nombre d’octets que le récepteur accepte de recevoir. Checksum ou CRC : permet de détecter les erreurs dans l’entête et le corps du fragment. Urgent Pointer : il spécifie le dernier octet d’un message urgent. Options du protocole TCP. Les différentes options concernent la taille du fragment, celles des fenêtres et des temporisateurs, ainsi que des contraintes de routage. [email protected] Champ URG Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole TCP Le protocole UDP Signification des différents champs du fragment TCP (4) Champ FIN Le protocole TCP Le protocole UDP 51 [email protected] RSSA - ENIT 52 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole TCP Le protocole UDP Processus des acquittements TCP Le protocole TCP Le protocole UDP Gestion des temporisateurs et des acquittements (1) • TCP se fond sur le principe des acquittements positifs • Un temporisateur est armé à l’émission d’un fragment en attente d’acquittement • À la réception de l’acquittement, le temporisateur est désarmé • Si le temporisateur expire avant que les données du fragment soient acquittées, TCP suppose que le fragment est perdu et le retransmet [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 53 [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole TCP Le protocole UDP Gestion des temporisateurs et des acquittements (2) RSSA - ENIT 54 Le protocole TCP Le protocole UDP Fonctionnement du temporisateur de reprise • Le temps de traversée des routeurs et des passerelles dépend de la charge du réseau, laquelle varie dans le temps • TCP utilise un algorithme adaptatif pour prendre en compte les variations du temps de traversée ◦ TCP enregistre l’heure à laquelle le fragment est envoyé et l’heure à laquelle l’acquittement associé est reçu ◦ Après plusieurs mesures, l’émetteur effectue une estimation du temps nécessaire à la réception de l’acquittement, une durée du temporisateur de reprise est déterminée en fonction de cette estimation [email protected] RSSA - ENIT 55 [email protected] RSSA - ENIT 56 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole TCP Le protocole UDP L’algorithme slow-start and congestion avoidance Principe de fonctionnement de l’algorithme slow-start and congestion avoidance (1) • Suite à une congestion, TCP réagit en réduisant le débit de la connexion • TCP mesure l’importance du problème de congestion en observant l’augmentation du temps de réponse • En l’absence de réactions, le nombre de retransmission augmente et aggrave la congestion • L’algorithme slow-start and congestion avoidance est entièrement distribué [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT • L’algorithme débute avec une taille de fenêtre égale à 1 • La taille de la fenêtre est doublé chaque fois que l’ensemble des fragments de la fenêtre a été bien reçu avant l’expiration des temporisateurs de reprise respectifs • Lorsqu’un fragment arrive en retard (suite à l’échéance du temporisateur associé), le fragment est retransmis en redémarrant à une fenêtre de taille 1 57 RSSA - ENIT 58 Le protocole TCP Le protocole UDP Principe de fonctionnement de l’algorithme slow-start and congestion avoidance (3) • Lorsqu’un retard est détecté, la taille de la fenêtre qui a provoqué le retard est divisée par 2 • À partir de la valeur de la taille 1 de redémarrage, la taille double jusqu’à ce que la taille de la fenêtre dépasse la valeur N/2. À ce moment, on revient à la précédente taille (inférieure à N/2 et au lieu de doubler sa valeur, on incrémente la taille de la fenêtre de 1 • Le processus d’ajout de 1 continue jusqu’à ce qu’il y ait un retard d’acquittement qui redémarre le processus à la fenêtre de taille 1 RSSA - ENIT [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole TCP Le protocole UDP Principe de fonctionnement de l’algorithme slow-start and congestion avoidance (2) [email protected] Le protocole TCP Le protocole UDP • L’algorithme slow-start and congestion avoidance peut servir de contrôleur de flux ◦ Si l’opérateur détecte un accroissement important des flux qui pourrait se transformer en congestion, il peut perdre des paquets de différents utilisateurs ◦ La perte provoque l’absence d’acquittement et donc un redémarrage 59 [email protected] RSSA - ENIT 60 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole TCP Le protocole UDP Plan du cours Les caractéristiques du protocole UDP (1) • Introduction aux réseaux • Les protocoles de transport • Le protocole UDP fournit un service en mode sans connexion et sans reprise sur erreur • UDP n’utilise aucun acquittement • UDP ne séquence pas les messages • UDP ne met en place aucun contrôle de flux • UDP est un protocole simple ◦ Le protocole TCP ◦ Le protocole UDP • Les protocoles de cœur de réseau ◦ ◦ ◦ ◦ Le protocole TCP Le protocole UDP Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching ◦ Une exécution rapide tenant compte de contraintes temps réel ou d’une limitation de place sur un processeur • La couche application [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 61 [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole TCP Le protocole UDP Les caractéristiques du protocole UDP (2) RSSA - ENIT 62 Le protocole TCP Le protocole UDP Format d’un fragment UDP • UDP a été utilisé pour transporter des informations de gestion entre une machine et un serveur toujours allumé (serveur DNS) ◦ Si le serveur DNS n’est pas en état de marche, le réseau ne peut fonctionner ◦ Il est inutile de demander avant envoi des messages si le serveur DNS est présent ou pas • UDP est utilisé pour des applications qui possèdent des contraintes que le protocole TCP ne peut prendre en charge (la parole téléphonique) ◦ La parole téléphonique nécessite une signalisation Il faut indiquer au destinataire qu’un appelant cherche à le joindre (sonnerie) UDP est un protocole sans connexion ⇒ mettre en place une connexion avec d’autres protocoles de signalisation (protocoles de signalisation de niveau application : H.323 ou SIP (Session Initiation Protocol)) [email protected] RSSA - ENIT 63 [email protected] RSSA - ENIT 64 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole TCP Le protocole UDP Quelques exemples d’applications utilisant UDP Nom de l’application Service écho Service de rejet Serveur de nom de domaine (DNS) Serveur de configuration DHCP Client de configuration DHCP Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Plan du cours • Introduction aux réseaux • Les protocoles de transport Numéro de port 7 9 53 67 68 ◦ Le protocole TCP ◦ Le protocole UDP • Les protocoles de cœur de réseau ◦ ◦ ◦ ◦ Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching • La couche application [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 65 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction RSSA - ENIT 66 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Le protocole X.25 dans le modèle OSI (1) • Le protocole X.25 est né d’une investigation en vue de la création d’un réseau spécialisé pour les données distinct des réseaux téléphonique et télex • Quatre pays ont contribué à l’élaboration à ce qui fut appelée la norme X.25 • Le protocole X.25 définit les règles de communication entre un ETTD (respectivement un ETCD de sortie) et un ETCD d’entrée (respectivement un ETTD) sur le réseau de communication • Les protocoles utilisés sur le réseau de communication ne sont pas définis par X.25 • X.25 définit trois niveaux de protocoles : ◦ Le Canada à travers le TCTS (groupement informatique de compagnies téléphoniques canadiennes) ◦ Les États-Unis (TELNET) ◦ La France (les PTT françaises) ◦ La Grande Bretagne (les PTT britanniques) ◦ Le niveau X.25-1 ou niveau physique ◦ Le niveau X.25-2 ou niveau liaison de données ◦ Le niveau X.25-3 ou niveau réseau • Le protocole X.25 a été adopté par l’UIT-T (1976) et un peu plus tard pard l’ISO (ISO 8208) [email protected] RSSA - ENIT 67 [email protected] RSSA - ENIT 68 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 dans le modèle OSI (2) Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Le niveau X.25-1 • L’accès au réseau X.25 doit être conforme à l’une des recommandation X.21 (transmission numérique), X.21 bis (transmission analogique) ou X.31 (accès via le réseau RNIS) • Le niveau X.25-1 fixe les règles d’échange pour : ◦ L’établissement de la connexion avec l’ETTD distant à travers un ou plusieurs réseaux ◦ L’échange des données en mode duplex intégral (full duplex) ◦ La libération de la connexion [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 69 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le niveau X.25-2 RSSA - ENIT 70 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Le niveau X.25-3 (1) • X.25-3 ou X.25 PLP - Paquet Layer Protocol gère : • X.25-2 garantit un transfert fiable des données sur une liaison physique non fiable ◦ L’établissement des circuits virtuels ◦ Le maintien des circuits virtuels ◦ La libération des circuits virtuels • X.25-2 met en œuvre le protocole HDLC version LAP-B (Link Access Protocol Balanced) • X.25-3 assure : ◦ ◦ ◦ ◦ ◦ • LAP-B est un protocole point-à-point en duplex intégral • Les stations communicantes ont une responsabilité égale vis-à-vis de la liaison : La première station étant l’ETTD (DTE - Data Terminal Equipment), la deuxième station étant le nœud de rattachement au réseau ou ETCD (DCE - Data Circuit terminating Equipment) [email protected] [email protected] RSSA - ENIT Le transfert des données (acheminement) Le séquencement la détection des pertes le contrôle de flux La fragmentation et le réassemblage des paquets • X.25-3 résout les problèmes d’adressage et de multiplexage des connexions virtuelles sur la même liaison 71 [email protected] RSSA - ENIT 72 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le niveau X.25-3 (2) Le niveau X.25-3 (3) • X.25-3 permet un maximum de 16 groupes de 256 voies logiques (la référence étant sur 12 bits ; 4 bits pour le groupe et 8 bits pour le numéro de la voie logique) • Un nombre total de 4095 voies logiques disponibles sur une entrée (la voie logique 0 joue un rôle particulier) • Le circuit virtuel est activé lors du routage du paquet d’appel qui sert à l’établissement de la connexion • Le circuit virtuel est emprunté par l’ensemble des paquets d’un même flux • L’ouverture du circuit virtuel peut s’accompagner par une allocation de ressources pour assurer le contrôle de flux et garantir le séquencement des paquets dans le réseau • Le protocole X.25 est orienté connexion • Un circuit virtuel est une connexion bidirectionnelle logique initiée en vue de mettre en place une communication fiable entre deux DTE • Un circuit virtuel peut traverser un certain nombre de nœuds intermédiaires entre les deux équipements terminaux • Plusieurs circuits virtuels peuvent être multiplexés sur une même circuit physique • La connexion entre deux équipements terminaux s’exprime par une correspondance entre deux références : un numéro de voie logique entrante et un numéro de voie logique sortante [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 73 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Format des paquets X.25 [email protected] Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching RSSA - ENIT 74 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Les différents types de paquets X.25 RSSA - ENIT 75 [email protected] RSSA - ENIT 76 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Diagramme d’établissement d’appel X.25 [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT Format d’un paquet d’appel X.25 (1) 77 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching RSSA - ENIT 78 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Format d’un paquet d’appel X.25 (3) • Le paquet d’appel est composé de : • Le paquet d’appel une fois arrivé au niveau du nœud suivant capte le plus petit numéro de voie logique (à fin d’éviter une collision avec une demande d’ouverture potentielle de circuit virtuel dans l’autre sens) • Une fois le numéro de voie logique accepté, la demande entrante est prioritaire • Le récepteur : ◦ Un numéro de la voie logique obtenu par l’utilisateur (le plus grand disponible) ◦ Les adresses des abonnées (le demandeur et le demandé) Les adresses sont de longueurs variables La longueur de l’adresse est précisée dans un champ de longueur 4 bits (la longueur est indiquée en nombre de demi-octet) La recommandation X.121 normalise l’adresse sur 14 demi-octets ◦ Un premier champ pour indiquer les options de contrôle du circuit virtuel ◦ Un deuxième champ de 64 octets maximum (adresses complémentaires (le destinataire est un réseau local, un commutateur privé), des mots de passe) RSSA - ENIT [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Format d’un paquet d’appel X.25 (2) [email protected] Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching ◦ accepte la communication et retourne un paquet de communication acceptée ◦ refuse la communication et envoie une demande de libération 79 [email protected] RSSA - ENIT 80 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Format d’un paquet de libération de C.V. X.25 (1) Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Format d’un paquet de libération de C.V. X.25 (2) • L’émetteur ou le récepteur met fin à un circuit virtuel grâce à une demande de libération (fermeture) acquittée localement • Le paquet de demande libération peut contenir la raison de la demande ◦ ◦ ◦ ◦ Numéro logique au récepteur occupée Émetteur absent ou occupée paquet dans le désordre Congestion d’un nœud • L’octet 5 indique le diagnostic et contient des informations supplémentaires : les 256 possibilités sont utilisées et explicitées dans la norme X.25 [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 81 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Format d’un paquet de données X.25 (1) RSSA - ENIT 82 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Format d’un paquet de données X.25 (2) • Deux types de circuit virtuel : ◦ permanent : ouvert pour une période de temps gérée sur une base mensuelle ◦ commuté : ouvert pour la durée du flux d’un utilisateur • Les numéros p(s) et p(r) servent pour le contrôle de flux ◦ La norme ne précise pas si les fenêtres s’appliquent sur l’accès au premier nœud dans le réseau (voie logique) ou de bout en bout (circuit virtuel) ◦ p(s) précise le numéro du paquet envoyé ◦ p(r) indique le numéro du prochain paquet attendu par le récepteur ◦ Plusieurs paquets peuvent être émis simultanément en fonction de l’ouverture de la fenêtre [email protected] RSSA - ENIT 83 [email protected] RSSA - ENIT 84 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Format d’un paquet de données X.25 (3) Format d’un paquet de données X.25 (4) • Le bit Q indique que le paquet transporte des données qualifiées (Qualified Data) • Les deux bits modulo indiquent le modulo de la séquence des numéro de paquets ◦ L’avis X.25 ne spécifie pas la nature de ces données qualifiées ◦ L’intention sous-jacente est de distinguer les données de l’utilisateur (Q=0) des données de contrôle provenant de la couche supérieure (Q=1) ⇒ signalisation dans la bande ◦ La numérotation est effectuée modulo 8 lorsque la valeur du modulo est 01 ◦ La numérotation est effectuée modulo 128 lorsque la valeur du modulo est 10 ⇒ mode X.25 étendu • Le bit D indique la portée des acquittements Le champ de supervision s’étend sur deux octets Sept bits son nécessaires pour indiquer une valeur entière entre 0 et 127 Le paquet transporte un numéro de séquence et un numéro d’acquittement ◦ Le contrôle de flux s’effectue localement et le champ p(r) est positionné par le nœud d’entrée dans le réseau (D=0) ◦ Le contrôle de flux s’effectue de bout en bout et p(r) provient de la station située de l’autre bout du réseau (D=1) ◦ Le standard X.25 original n’autorise que la valeur D=0 ◦ Plusieurs réseaux X.25 internationaux ne permettent pas au bit D d’être égal à 1 [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT • Le bit M ◦ (M=1) indique que le paquet X.25 fait partie d’un message qui a été fragmenté ◦ (M=0) indique qu’il s’agit du dernier fragment du message 85 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching RSSA - ENIT 86 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Le contrôle de flux X.25 (2) • Le contrôle de flux X.25 est assuré par les deux compteurs p(r) et p(s) • La limite de nombre de paquets pouvant circuler entre les deux extrémités est déterminé par la fenêtre qui gère l’avancement des deux compteurs p(r) et p(s) • Les équipements extrémité contrôlant la fenêtre ne sont pas définis dans la norme • Deux interprétations différentes régissent les implémentations X.25 • Les paquets utilisés pour le contrôle de flux sont comparables à ceux de HDLC ◦ La fenêtre s’exerçant de bout en bout entre l’émetteur et le récepteur ◦ La fenêtre est interprétée comme étant locale entre l’émetteur et le réseau (liaison d’entrée) ou entre le réseau et le récepteur (liaison de sortie) ◦ Les liaisons d’entrée et de sortie peuvent être gérées par des fenêtres locales distinctes avec des longueurs de paquets différentes RSSA - ENIT [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le contrôle de flux X.25 (1) [email protected] Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching • Un paquet RR sert d’accusé de réception lorsque le récepteur n’a rien à transmettre ◦ Il acquitte tous les paquets dont le numéro de séquence précèdent p(r) 87 [email protected] RSSA - ENIT 88 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le contrôle de flux X.25 (3) Longueur du paquet X.25 • Un paquet RNR indique que le nœud qui l’envoie ne peut, pour des raisons diverses, continuer à recevoir des paquets • La longueurs des paquets se détermine au moment de la demande d’ouverture du circuit virtuel • La taille maximale recommandée est de 128 octets (les valeurs 16, 32, 256, 512, 1024 ainsi que la valeur spécifique 255 sont acceptées) • La longueur des paquets peut correspondre à un nombre quelconque d’octets, même non entier, à partir du moment ou cette longueur est inférieure à la longueur maximale décidée par l’opérateur réseau ◦ Le paquet RNR acquitte tous les paquets précédant celui numéroté p(r) ◦ Le récepteur détruit tous les paquets qui lui parviennent après un paquet RNR ◦ L’émetteur attend de recevoir un paquet RR doté du numéro p(r) indiquant que le prochain paquet attendu par le récepteur est p(r) avant de reprendre la transmission • Un paquet REJ est envoyé par le récepteur pour demander, à la suite d’un problème, la retransmission de tous les paquets à partir de p(r) • À l’intérieur du réseau les paquets peuvent être fragmentés ou réassemblés ◦ Le récepteur ne peut détecter les erreurs laissées par la couche inférieure (pas de total de contrôle dans le paquet) ◦ Un paquet REJ est transmis à la suite d’erreurs de déséquencement ou de pertes de paquets [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching 89 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Format des paquets de demande d’interruption X.25 (1) RSSA - ENIT 90 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Format des paquets de demande d’interruption X.25 (2) • Les paquets de demande d’interruption ne servent pas au contrôle de flux (ne porte pas un numéro p(s)) • Un paquet de demande d’interruption ne peut être envoyé que lorsque la fenêtre de contrôle est atteinte • Un paquet de demande d’interruption est un paquet prioritaire pouvant transporter un octet de données • Une demande d’interruption est acquittée par des paquets de confirmation d’interruption • Une seule demande d’interruption peut circuler à la fois • Un paquet de confirmation d’interruption compte trois octets seulement [email protected] RSSA - ENIT 91 [email protected] RSSA - ENIT 92 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Format des paquets de réinitialisation et de reprise (1) Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Format des paquets de réinitialisation et de reprise (2) • La réinitialisation permet de remettre le circuit virtuel dans un état connu et ce dans les deux directions à la fois • Une procédure de réinitialisation détruit les paquets de demandes d’interruption qui pourraient se trouver dans le circuit • Les compteurs p(r) et p(s) sont remis à 0 • Une réinitialisation peut être demandée par chacune des deux extrémités suite à une erreur de séquence ou suite à une erreur indiquée par la couche inférieure • Les réinitialisations sont acquittées au niveau local • Une reprise correspond à une réinitialisation de tous les circuits virtuel en parallèle [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 93 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Les services facultatifs X.25 RSSA - ENIT 94 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Les options prises par défaut pour un abonnement X.25 • Groupes fermés d’abonnés ◦ Un sous-réseau privé formé par un ensemble d’utilisateurs communiquant entre eux mais non avec l’extérieur ◦ Les abonnés ne faisant pas partie du groupe fermé ne peuvent pas échanger des données avant ceux qui y appartiennent • La voie logique unidirectionnelle ◦ Les voies logiques peuvent être unidirectionnelles pour éviter les collisions des paquets d’appel • Les valeurs des temporisateurs déclenchant l’envoi des paquets d’interruption, de réinitialisation et de reprise • Sélection des paramètres de contrôle de flux ◦ Sélection de la longueur maximale des paquets de données ◦ Sélection de la taille maximale de la fenêtre ◦ Sélection des classes de débit : débit demandé par l’utilisateur sur l’accès au réseau [email protected] RSSA - ENIT ◦ Les valeurs n’ont pas été définies dans la normes ◦ Les valeurs sont déterminées par l’opérateur en fonction du choix de la fenêtre de contrôle, locale ou de bout en bout 95 [email protected] RSSA - ENIT 96 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Packet Assembler Desassembler (1) Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Packet Assembler Desassembler (2) • Un PAD sert à assembler des caractères en paquets ou de désassembler des paquets en caractères • Le PAD gère le dialogue avec le terminal via des messages de supervision et de signalisation afin d’accéder aux services du réseau X.25 et mettre en place un circuit virtuel pour l’envoi des données • L’accès au réseau peut s’effectuer par une liaison spécialisée ou par le réseau téléphonique commuté • Pour accéder à un PAD par le réseau téléphonique, le terminal compose le numéro téléphonique du PAD qui répond automatiquement • Seuls les terminaux haut de gamme, synchrones, peuvent supporter le protocole X.25 qui est relativement lourd • De nombreux terminaux bas de gamme ne peuvent se connecter directement sur le réseau (terminaux Minitel) ⇒ PAD - Packet Assembler Desassembler (assembleur-désassembleur de paquets) ◦ Le PAD doit ensuite reconnaı̂tre la vitesse de transmission du terminal ◦ Une détection automatique s’effectue grâce à des caractères émis par le terminal grâce auxquels, le PAD estime la vitesse de la liaison • Le débit d’une ligne spécialisée est connu, il n’est pas nécessaire d’estimer la vitesse de la liaison [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 97 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Packet Assembler Desassembler (3) RSSA - ENIT RSSA - ENIT 98 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Plan du cours • Les caractères échangés entre le terminal et le PAD proviennent de l’alphabet n˚5 du CCITT complété par un bit de parité, le tout étant encadré par les bits Start et Stop • Le PAD ignore le bit de parité envoyé par le terminal • Le PAD génère des caractères avec un bit de parité paire dans le sens contraire • Le terminal émet des commandes et le PAD des indications (acquittements de commandes ou des réponses) • Les commandes permettent l’établissement, le maintien et le transfert des données ainsi que la libération du circuit virtuel • Les commandes sont définies selon une norme particulière et passent par l’intermédiaire de paquet X.25 avec le bit Q positionné à 1 pour indiquer que le champ de données contient des informations de supervision [email protected] [email protected] • Introduction aux réseaux • Les protocoles de transport ◦ Le protocole TCP ◦ Le protocole UDP • Les protocoles de cœur de réseau ◦ ◦ ◦ ◦ Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching • La couche application 99 [email protected] RSSA - ENIT 100 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction (1) Introduction (2) • Le relais de trames (Frame Relay) a été conçu par l’IUT-T comme un protocole dérivé de celui utilisé par le RNIS • Le but du relais de trames est d’offrir un transfert rapide de données sur le réseau à faible taux d’erreur ◦ Des réseaux de transmission à large bande passante grâce à l’amélioration de la qualité des supports de transmission notamment à fibre optique ◦ Des équipements terminaux devenus très performants capables de réaliser des tâches qui étaient réalisées par le réseau (contrôle de flux, contrôle d’erreur, . . . ) • Le relais de trames constituait une solution intermédiaire pour développer des réseaux de transfert avec des débits supérieurs à 64 Kbps avant la maı̂trise des réseaux ATM - Asynchronous Transfer Mode [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 101 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching • Amélioration des performances de la commutation en diminuant le nombre de niveaux de l’architecture à traverser • Simplification du travail des nœuds intermédiaires entre une source et une destination ◦ Un routeur attend de recevoir une trame correctement de la part de son prédécesseur compte tenu des retransmissions éventuelles de cette trame ◦ Le routeur décapsule la trame afin de traiter le paquet ◦ Le routeur précédent garde une copie de la trame tant qu’il n’a pas reçu un acquittement positif du routeur vers lequel la trame a été transmise [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction (3) RSSA - ENIT 102 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Les caractéristiques du relais de trames • Signalisation séparée du transport de données ◦ La mise en place de la connexion de niveau trame pour effectuer la commutation s’effectue par une connexion logique ◦ La connexion logique étant différente de la connexion data ◦ Les nœuds intermédiaires n’ont pas à se préoccuper de maintenir la connexion logique • Contrôles d’erreurs et de flux reportés aux extrémités de la connexion • La simplification du travail des nœuds intermédiaires parvient à multiplier par 10 le débit du réseau pour une puissance d’équipement donnée [email protected] Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching RSSA - ENIT 103 • Le relais de trames est une amélioration du protocole X.25 puisqu’il simplifie fortement le travail des nœuds intermédiaires • X.25 et relais de trames présentent des caractéristiques assez proches • Les mêmes types de services sont offerts par X.25 et le relais de trames • Deux modes relais de trames ◦ Le mode FR1 : la reprise sur erreur et le contrôle de flux sont laissés à la charge de l’équipement terminal ◦ Le mode FR2 : la reprise sur erreur et le contrôle de flux sont effectués aux extrémités par le réseau [email protected] RSSA - ENIT 104 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Les applications du relais de trames Les principes de la commutation de trames (1) • La commutation de trames (Frame Switching) consiste à transporter des trames d’un bout à l’autre du réseau sans avoir à remonter au niveau paquet • Nécessité d’un protocole de niveau trame suffisamment puissant capable de remplir les fonctionnalités du niveau paquet tout en assurant celles dévolues au niveau trame • La norme de niveau trame retenue dans la commutation de trames est celle utilisée par le canal D du RNIS ou LAP-D • L’adresse de niveau trame sert à l’ouverture de la liaison virtuelle sur laquelle les trames sont commutées • Transfert de fichiers de grand volume • Transport de voies haute vitesse multiplexant un grand nombre de voies basse vitesse • Transport des applications interactives par bloc (applications graphiques de CAO - Conception assistée par ordinateur ou d’images) • Interconnexion de réseaux locaux [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 105 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching RSSA - ENIT 106 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Le relais de trames (1) • Les trames sont commutées grâce à une référence placée dans la structure de la trame • Les trames RNR servent à réguler le flux entre l’émetteur et le récepteur • À la réception d’une trame, le nœud de commutation cherche la référence de niveau 2 autorisant la commutation de la trame vers le nœud destinataire • La zone de détection d’erreurs portée par la trame est examinée à chaque nœud du réseau. La trame est retransmise à partir du nœud précédent en cas d’erreurs RSSA - ENIT [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Les principes de la commutation de trames (2) [email protected] Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching • Le relais de trames simplifie le fonctionnement des nœuds de commutation de trames • Les trames sont commutées sans prise en compte : ◦ des erreurs de transmission et des reprises sur erreurs ◦ du séquencement des trames ◦ des temporisateurs de reprise • Le relais de trames laisse les fonctions de contrôle d’erreurs, de reprise sur erreurs et de contrôle du séquencement à l’instigation d’un niveau supérieur 107 [email protected] RSSA - ENIT 108 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le relais de trames (2) Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Le relais de trames (3) • Les fonctionnalités complètes du protocole de niveau trame qui régit le relais de trames ◦ Les fonctionnalités du noyau Délimitation, alignement et transparence des trames Multiplexage et démultiplexage des trames à l’aide du champ portant la référence de commutation Inspection de la trame pour vérifier qu’elle possède un nombre entier d’octet avant insertion ou après extraction des 0 intégrés pour transparence Inspection de la trame pour vérifier qu’elle n’est ni trop courte ni trop longue • Le but du relais de trames est de diminuer au maximum le temps passé dans les commutateurs en n’effectuant qu’un travail minimal en l’occurrence l’examen de la référence de commutation et l’emission de la trame vers le nœud suivant ◦ Détection des erreurs de transmission et demande de reprise sur erreurs ◦ Contrôle de flux • Les fonctionnalités du noyau dur du protocole sont exécutées dans les nœuds intermédiaires • Les fonctionnalités de contrôle de flux et de contrôle d’erreurs sont repoussées aux extrémités de la connexion [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 109 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le relais de trames (4) RSSA - ENIT 110 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Format de la trame (1) • L’architecture du relais de trames fait une distinction entre : ◦ Un plan de contrôle (établissement et fermeture de la connexion) ◦ Un plan utilisateur qui est responsable du transfert des données de bout en bout [email protected] RSSA - ENIT 111 [email protected] RSSA - ENIT 112 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Format de la trame (2) Le routage des trames dans le relais des trames (1) • La taille des données transportées par une trame relais de trames peut atteindre 4096 octets • Même drapeau que celui porté par la trame HDLC • Même procédure d’insertion de 0 que celle utilisée par HDLC • La référence de commutation est spécifiée dans la zone DLCI - Data Link Connection Identifier de 10 bits ◦ Un nombre insuffisant de références (210 = 1024) pour la réalisation de réseaux un peu complexes ◦ Des extensions de 1 ou 2 octets de la zone de contrôle ont été effectuées de façon à obtenir des références sur 16 et 23 bits [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching RSSA - ENIT 113 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching • Une trame est transférée vers le nœud suivant grâce à la valeur transportée dans le champ DLCI • La valeur du DLCI est modifiée au passage dans chaque nœud par la table de commutation • L’acheminement de la trame s’effectue par un chaı̂nage de numéros de DLCI • Les trames d’un même client allant d’un nœud E à un nœud R suivent le même chemin (liaison virtuelle) • La liaison virtuelle est mise en place par l’intermédiaire d’une signalisation passant par le plan de contrôle avant émission des trames de données • La signalisation trace un chemin dans le réseau qui sera suivi par les trames de données [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le routage des trames dans le relais des trames (2) RSSA - ENIT 114 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Le contrôle de flux dans le relais de trames (1) • Le contrôle de flux a été éliminé dans les premières versions du relais de trames • La croissance de la taille des réseaux de relais de trames a amené à ajouter des algorithmes capables de réguler les flux • L’opérateur et l’utilisateur se mettent d’accord sur un débit moyen à respecter, le CIR - Committed Information Rate et sur un CBS Committed Burst Size ◦ Le CIR ne peut être dépassé que sous certaines conditions ◦ Le paramètre CBS définit la quantité d’informations maximale pouvant être transmise pendant un temps T sans dépasser le seuil garanti CIR selon la formule : CBS = CIR × T où T est le temps d’analyse du trafic [email protected] RSSA - ENIT 115 [email protected] RSSA - ENIT 116 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le contrôle de flux dans le relais de trames (2) Le contrôle de flux dans le relais de trames (3) • Les dépassements peuvent se faire suivant un additif au contrat de base conclu entre l’opérateur et l’utilisateur • L’utilisateur a le droit de dépasser par moments le débit CIR • Un dépassement peut mettre l’opérateur en difficulté (l’opérateur n’a réservé des ressources que pour la valeur garantie) • Le dépassement doit être accompagné par une indication relative aux données en surplus et spécifiée dans la trame • L’opérateur peut choisir de détruire les données supplémentaires en cas de difficulté • Les données en surplus sont transmis sans aucune garantie de livraison [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT ◦ Un EIR - Excess Information Rate ◦ Un EBS - Excess Burst Size. La valeur EBS indique la quantité d’informations supplémentaires que l’opérateur transmet lorsque le seuil CIR est dépassé ; Pour un temps T, la valeur EBS est donnée par : EBS = (EIR − CIR) × T • L’opérateur laisse entrer les données supplémentaires jusqu’à la valeur EIR ◦ Les données supplémentaires sont marquées par la mise à 1 d’un bit du champ de la trame (bit DE - Discard Eligibility) ◦ L’opérateur peut, à l’intérieur du réseau, détruire des trames marquées en cas de congestion 117 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching RSSA - ENIT [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le contrôle de flux dans le relais de trames (4) [email protected] Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching RSSA - ENIT 118 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Le contrôle de flux dans le relais de trames (5) 119 [email protected] RSSA - ENIT 120 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le contrôle de flux dans le relais de trames (6) [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Le contrôle de flux dans le relais de trames (7) 121 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le contrôle de flux dans le relais de trames (8) RSSA - ENIT 122 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Le contrôle de flux dans le relais de trames (9) • Le contrôle de flux effectué par le contrat de trafic est complété par des notifications effectuées aux extrémités et spécifiées dans les trames ◦ FECN - Forward Explicit Congestion Notification ◦ BECN - Backward Explicit Congestion Notification • A passage d’un nœud congestionné, une trame est marquée par les bits FECN (FECN=1) ou BECN (BECN=1) ◦ Une trame dont le FECN est marqué correspond à un avertissement envoyé vers le récepteur pour l’informer de la saturation d’un nœud ◦ Une trame dont le BECN est marqué correspond à un avertissement envoyé vers l’émetteur pour lui indiquer qu’il serait souhaitable de diminuer provisoirement son débit • Aucune indication quant à l’utilisation de ces notifications dans la norme [email protected] RSSA - ENIT 123 [email protected] RSSA - ENIT 124 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le contrôle de flux dans le relais de trames (10) Plan du cours • Les notifications sont transmises à toutes les extrémités indépendamment des connexions fautives (notification collective) • Deux protocoles supplémentaires pour un contrôle plus efficace • Introduction aux réseaux • Les protocoles de transport ◦ Le protocole TCP ◦ Le protocole UDP ◦ CLLM - Consolidated Link Layer Management ◦ CMI - Client Management Interface • Les protocoles de cœur de réseau • Un nœud congestionné utilise une trame de supervision CLLM pour informer ses voisins de son état de congestion, les nœuds voisins peuvent à leur tour informer leurs voisins • Une trame CLLM est émise sur un circuit virtuel de numéro 1023 lorsque de DLCI est sur deux octets [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT ◦ ◦ ◦ ◦ Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching • La couche application 125 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction (1) RSSA - ENIT 126 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction (2) • Le relais de trames fait valoir de nombreux atouts ◦ La simplicité ◦ Les performances du relais de trames sont supérieures à celles apportées par les techniques de commutation ou de routage de niveau paquet ◦ Le relais de trames convient parfaitement au transport de données informatiques et modérément à celui des services temps réel • Le relais de trames trouve ses limites dans le transport des applications multimédias • La technologie ATM a été choisie en 1998 pour réaliser le réseau de transport du RNIS large bande [email protected] Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching RSSA - ENIT 127 • Objectifs des réseaux ATM ◦ Supporter tout type de communication (voix, vidéo, données) ◦ Offrir le même service de bout en bout quels que soient les réseaux : LAN, MAN ou WAN ◦ Fonctionner à très hauts débits ◦ Garantir une certaine qualité de service (QoS ou QdS) (bande passante, temps de latence, gigue, taux de perte, . . . ) Utiliser les standard de couches physiques existants (fibre optique(SONET, SDH), paire torsadée, . . . ) [email protected] RSSA - ENIT 128 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction (3) Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction (4) • ATM est un mode de transfert asynchrone faisant appel à une technique de multiplexage asynchrone par répartition dans le temps • Les informations sont structurées en petits blocs ou cellules ◦ La taille de la cellule est fixe ⊕ Traitement parallèle dans les nœuds ⊕ Facilité d’intégration dans le silicium Mauvaise adaptation (bourrage) ◦ Une toute petite taille ⊕ ⊕ ⊕ Réduction du temps de constitution de la charge utile Réduction du délai de transmission (file d’attente des nœuds) Bon entrelacement des différents flux Mauvaise efficacité de transmission (overhead) [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 129 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Format de la cellule ATM (1) RSSA - ENIT 130 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Format de la cellule ATM (2) • Une cellule ATM est forme d’exactement 53 octets (5 octets d’entête et 48 octets de données) • Les 48 octets provenant de la couche supérieure peuvent contenir jusqu’à 4 octets de supervision • La taille de 48 octets de la zone de données est le résultat d’un accord entre Européens qui souhaitaient 32 octets et les Américains qui désiraient 64 octets • Une cellule n’est transmise que lorsqu’un circuit virtuel est ouvert (ATM est orienté connexion) • Un circuit virtuel est marqué à l’intérieur du réseau par des références laissées dans chaque nœud traversé [email protected] RSSA - ENIT 131 [email protected] RSSA - ENIT 132 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Format de la cellule ATM (3) Procédure d’établissement d’un circuit virtuel • Le circuit virtuel est mis en place grâce à une cellule de supervision • Les interfaces ATM sont de deux types : ◦ La cellule de supervision, portant l’adresse du destinataire, est routée d’un nœud à l’autre jusqu’à la destination grâce à des tables de routage ◦ Une interface NNI - Network Node Interface : interface se situant entre deux nœuds du réseau ◦ Une interface UNI - User Network Interface : interface permettant l’entrée ou la sortie du réseau • Le ou les circuits virtuels peuvent être ouverts au préalable entre chaque point d’accès et chaque point de sortie ◦ Une cellule de supervision définit pour chaque nœud traversé l’association entre la référence du port d’entrée et la référence du port de sortie ◦ Les associations entre les références des ports d’entrée et des ports de sortie sont regroupées dans une table de commutation • Un circuit virtuel est identifié par une référence comportant deux parties : ◦ Identificateur de voie virtuelle (VCI - Virtual Channel Identifier) ◦ Identificateur de conduit virtuel (VPI - Virtual Path Identifier) [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching 133 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application La commutation des cellules (1) RSSA - ENIT 134 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching La commutation des cellules (2) • Une cellule est commutée dans un réseau ATM grâce à deux références : le VCI et le VPI • Un commutateur ATM utilise les deux références pour commuter une cellule • Un brasseur se sert d’une seule référence, celle du conduit (VPI) ◦ Un brasseur commute un ensemble de voies virtuelles en une seule fois (brasseur de conduits (Cross-Connect)) ◦ Intérêt de regrouper les voies virtuelles qui vont vers la même destination pour les intégrer dans un même conduit ◦ Le long d’un conduit, des brasseurs peuvent se succéder [email protected] RSSA - ENIT 135 [email protected] RSSA - ENIT 136 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Les différents champs de la cellule (1) Les différents champs de la cellule (2) • CLP - Cell Loss Priority (1 bit) • GFC - Generic Flow Control (4 bits) ◦ Ils servent au contrôle d’accès et au contrôle de flux sur la partie terminale entre l’utilisateur et le réseau Ordonnancement des demandes d’accès au réseau qui arrivent par le même point d’accès • PT - Payload Type (3 bits) ◦ Ils définissent le type d’information transportée dans la cellule (selon la nature des informations contenues dans la charge utile de la cellule) Cellule de données, cellule gestion, cellule de gestion des ressources Indication de congestion [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching ◦ Il indique si la cellule peut être perdue (CLP=1), ou si la cellule est essentielle (CLP=0) ◦ Le CLP a une fonction de contrôle de flux Une ou plusieurs cellules peuvent être émises en surnombre (le taux d’entrée des cellules dans le circuit est fixe et est négocié au moment de l’ouverture du circuit virtuel) Les cellules en surnombre sont marquées et peuvent être perdues • HEC - Header Error Control (8 bits) ◦ Il permet de détecter et de corriger une erreur pouvant se glisser dans l’entête de la cellule ◦ Si la correction de l’erreur n’est pas possible, la cellule est détruite 137 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application L’architecture UIT-T de l’environnement ATM (1) RSSA - ENIT 138 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching L’architecture UIT-T de l’environnement ATM (2) • La couche PMD - Physical Medium Dependent ◦ La couche PMD définie les protocoles de niveau physique ; divisée en deux sous-couches ◦ La sous couche TC - Transmission Convergence, chargée de : Le découplage du taux de transmission des cellules La génération et la vérification de la zone de détection d’erreur de l’entête (HEC) La délimitation des cellules L’adaptation de la vitesse de transmission La récupération des cellules sur le support physique ◦ La sous couche PM - Physical Medium, responsable de : La transmission sur le support physique Les problèmes d’horloge [email protected] RSSA - ENIT 139 [email protected] RSSA - ENIT 140 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application L’architecture UIT-T de l’environnement ATM (3) Les classes de qualité de service (1) • La couche ATM gère le transport de bout en bout de la cellule ATM • La couche AAL - Adaptation ATM Layer ◦ Interface de communication avec les couches supérieures ◦ La couche AAL est divisée en deux sous-couches ; La première sous-couche prend en compte les problèmes directement liés à l’interfonctionnement avec la couche supérieure La deuxième sous couche est chargée de la fragmentation et du réassemblage des messages en cellules ◦ La couche AAL définie quatre classes de services (A, B, C et D) ; quatre classes de protocoles associées numérotés de 1 à 4 ◦ La subdivision a été révisée en 1993 par le regroupement des classes 3 et 4 et l’ajout d’une nouvelle classe de protocole, la classe 5 (transport de données simplifié) [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 141 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching ◦ ◦ ◦ ◦ ◦ ◦ ◦ PCR - Peak Cell Rate (débit crête) SCR - Sustainable Cell Rate (débit moyen) MCR - Minimum Cell Rate (débit minimum) MBS - Maximum Burst Size (longueur maximale d’une rafale) CLR - Cell Loss Ratio (taux de perte de cellules) CTD - Cell Transfer Delay (délai de transfert de cellules) CDV - Cell Delay Variation (variation de délai de cellules) [email protected] RSSA - ENIT 142 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Les classes de qualité de service (3) • ATM a définit cinq classes de services ◦ ABR - Available Bit Rate ◦ CBR - Constant Bit Rate ou DBR - Deterministic Bit Rate Le service CBR correspond à un circuit virtuel avec une bande passante fixe L’application indique un débit crête (PCR) et des garanties sur pertes (CLR), délai (CDV) Quelques exemples d’applications : applications à flux constant de données, application temps réel, voix et vidéo ◦ VBR - Variable Bit Rate Le service VBR correspond à un circuit virtuel pour des trafics variables dans le temps (services rigides avec de fortes variations de débit) L’application indique un débit crête (PCR), moyen (SCR), la taille maximale des rafales (MBS) et des garanties sur pertes (CLR), délai (CDV) Une classe particulière VBR-RT (Real Time) prend en compte les problèmes des applications temps réel Quelques exemples d’applications : application à flux variable avec des contraintes de temps (délai de transit), multiplexage statistique d’applications temps réel RSSA - ENIT • Une application a besoin de certaines garanties (qualité de service (QdS ou QoS)) du réseau demandées à l’ouverture du circuit virtuel • La couche AAL définit un certain nombre de paramètres de qualité de service Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Les classes de qualité de service (2) [email protected] Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching 143 Le service ABR permet d’utiliser la bande passante restante pour des applications dont le débit est variables et sont sensibles au pertes Le service ABR nécessite un contrôle de flux L’application indique un débit crête (PCR), minimum (MCR) et des garanties sur pertes (CLR) Le temps de réponse n’est pas garanti Quelques exemples d’applications : applications élastiques ◦ GFR - Guaranteed Frame Rate Une amélioration du service ABR (implémentation complexe sur un réseau) Le service GFR définit un trafic minimal (le client respectant son trafic minimal aura un taux de perte des cellules trop faible) Le trafic dépassant le trafic minimal est marqué La perte d’une cellule entraı̂ne la perte de toute la trame transportant la cellule (le mécanisme de contrôle essaye d’éliminer toutes les cellules appartenant à la même trame) [email protected] RSSA - ENIT 144 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Les classes de qualité de service (4) Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Plan du cours ◦ UBR - Unspecified Bit Rate Le service UBR correspond à un service BE - Best Effort Aucune QdS, aucune garantie (ni sur les pertes, ni sur le temps de transport) Le service UBR n’est pas accepté par les opérateurs télécoms (un opérateur ne peut se permettre de fournir un service sans aucune QdS) • Introduction aux réseaux • Les protocoles de transport ◦ Le protocole TCP ◦ Le protocole UDP • Les protocoles de cœur de réseau ◦ ◦ ◦ ◦ Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching • La couche application [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 145 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Historique RSSA - ENIT 146 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction (1) • Le protocole IP est devenu le standard de raccordement à un réseau pour tous les systèmes informatiques • La technique de transfert ATM est la solution préférée des opérateurs pour assurer l’interconnexion des routeurs avec une certaine qualité de service • L’empilement des deux environnements permettrait l’utilisation à la fois de l’interface standard et de la puissance d’ATM ⇒ architecture IP sur ATM • Augmentation importante de la taille des réseaux • Apparition de goulots d’étranglement • • • • [email protected] Routeurs trop lents Augmentation importante du trafic Augmentation de la taille des tables de routage Solutions propriétaires (Lucent, Cisco, IBM, Nokia, . . . ) ◦ Découpage des paquets IP en cellules ATM ◦ Indication dans la cellule d’une référence correspondant à l’adresse IP du destinataire • Création du groupe de travail MPLS à l’IETF au printemps 1997 [email protected] RSSA - ENIT 147 [email protected] RSSA - ENIT 148 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction (2) Introduction (3) • L’objectif initial de MPLS était d’accroı̂tre la vitesse du traitement des datagrammes dans l’ensemble des équipements intermédiaires ; cette volonté est désormais passée au second plan avec l’introduction des giga-routeurs • Les principaux objectifs de MPLS • MPLS (Multi-Protocol Label Switching) combine les concepts du routage IP de niveau 3 et les mécanismes de la commutation de niveau 2 telles que implémentée dans ATM ou le relais de trames • MPLS traite la commutation en mode connecté • Les tables de commutation étant calculées à partir d’informations provenant des protocoles de routage IP ainsi que de protocoles de contrôle • MPLS peut être considéré comme une interface apportant à IP le mode connecté et qui utilise les services de niveau 2 (PPP, ATM, Ethernet, relais de trames, SDH . . . ) [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching RSSA - ENIT ◦ L’intégration du protocole IP et de la technique ATM ◦ La création de VPN ◦ La flexibilité (possibilité d’utiliser plusieurs types de média (ATM, relais de trames, Ethernet, PPP, SDH, . . . )) ◦ La differentiation de services ◦ Le routage multicast ◦ La transition vers l’Internet optique ◦ L’ingénierie de trafic (la définition de chemins de routage explicites dans les réseaux IP) 149 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application MPLS dans le modèle OSI RSSA - ENIT 150 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Le routage classique dans l’Internet (1) • Le protocole IP fonctionne dans un mode non connecté (l’ensemble des datagrammes constituant le message sont indépendants les uns des autres et peuvent emprunter des chemins différents) • Plusieurs types de protocoles de routage ◦ IGP - Interior Gateway Protocol RIP - Routing Information Protocol de type vecteur de distance OSPF - Open Shortest Path First de type états de liens ◦ EGP - Exterior Gateway Protocol (BGP - Border Gateway Protocol) • Chaque routeur dans le réseau maintient une table de routage, dans laquelle chaque ligne contient un réseau de destination, un port de sortie, et le prochain routeur relais vers le réseau de destination [email protected] RSSA - ENIT 151 [email protected] RSSA - ENIT 152 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le routage classique dans l’Internet (2) Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Le routage classique dans l’Internet (3) • À la réception d’un datagramme, un nœud intermédiaire détermine le prochain nœud relais le plus approprié sur le chemin vers la destination • L’adresse MAC - Medium Access Control de destination (respectivement de source) du datagramme est remplacée par l’adresse MAC du nœud relais (respectivement du nœud courant) ; les adresses IP restent inchangées • Tous les datagrammes du même flux subissent le même sort autant de fois qu’il y a de routeurs intermédiaires à traverser ⇒ traitement gourmand en terme de ressources machine • Le mode non connecté du protocole IP, qui constituait l’un de ses atouts, en particulier pour sa scalabilité, devient un frein à son évolution [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 153 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application La commutation de labels dans MPLS (1) ◦ Le paquet arrive sur l’ingress node du réseau MPLS ◦ L’ingress node consulte sa table de commutation et affecte un label au paquet ◦ L’ingress node retransmet le paquet MPLS au LSR - Label Switch Router suivant RSSA - ENIT RSSA - ENIT 154 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching La commutation de labels dans MPLS (2) • À l’ingress node [email protected] [email protected] 155 • À l’intérieur du nuage MPLS sur un LSR interne ◦ Le protocole de routage fonctionnant sur le LSR détermine dans la base de données des labels LIB - Label Base Information, le prochain label à appliquer à ce paquet pour qu’il parvienne jusqu’à sa destination (le protocole de routage de la couche réseau n’est jamais sollicité) ◦ Le LSR met à jour l’entête MPLS (swapping du label et mise à jour du champ TTL, du bit S) ◦ Le LSR retransmet le nouveau paquet MPLS vers le nœud suivant (LSR ou l’egress node) [email protected] RSSA - ENIT 156 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application La commutation de labels dans MPLS (3) Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Les principes de MPLS (1) • À l’egress node ◦ Le paquet MPLS (paquet IP + label) arrive sur l’egress node ◦ L’egress node retire le label MPLS ◦ L’egress node retransmet le paquet IP • MPLS est basé sur la permutation d’étiquettes • Au niveau d’un LSR du nuage MPLS, la permutation d’étiquette est réalisée en analysant une étiquette entrante remplacée avec l’étiquette sortante • Les étiquettes ne sont imposées sur les paquets qu’une seule fois en périphérie du réseau MPLS au niveau du Ingress E-LSR (Edge Label Switch Router) • Un calcul est effectué sur le datagramme afin de lui affecter un label spécifique ; le calcul n’est effectué qu’une fois [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 157 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Les principes de MPLS (2) RSSA - ENIT 158 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Les principes de MPLS (3) • L’étiquette est ajoutée entre la couche 2 et l’entête de la couche 3 (dans un environnement de paquets) ou dans le champ VPI/VCI (identificateur de chemin virtuel/identificateur de canal virtuel dans les réseaux ATM) • L’affectation des étiquettes aux paquets dépend des groupes ou des classes de flux FEC - Forwarding Equivalence Class • Les paquets appartenant à une même classe FEC sont traités de la même manière • Le chemin établi par MPLS appelé LSP (Label Switched Path) est emprunté par tous les datagrammes d’un même flux [email protected] [email protected] RSSA - ENIT • Un LSR lit simplement les étiquettes, applique les services appropriés et redirige les paquets en fonction des étiquettes • Les LSR du nuage MPLS commutent les paquets labellisés jusqu’à l’Egress LSR qui remet les paquets à leur destination finale • Le label est supprimé à l’autre extrémité par le Egress E-LSR • Un flux MPLS est vu comme un flux de niveau 2.5 appartenant niveau 2 et niveau 3 du modèle de l’OSI 159 [email protected] RSSA - ENIT 160 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Les principes de MPLS (4) Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Les principes de MPLS (5) • Les transmission de données s’effectuent sur des chemins nommés LSP - Label Switched Path • Un LSP est une suite de labels (références) partant de la source et allant jusqu’à la destination • Le LSP est établit avant la transmission des données (control-driven) ou à la détection d’un flux qui souhaite traverser le réseau (data-driven) • Les labels sont distribués en utilisant un protocole de signalisation (LDP - Label Distribution protocol, RSVP - Resource reSerVation Protocol) • Un protocole de routage (BGP, OSPF, . . . ) est associé au protocole de signalisation [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 161 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application LSR - Label Switch Router et LER - Label Edge Router (1) ◦ Un LSR travaille en mode routeur pour tracer le chemin avec le paquet de signalisation et en mode commutation pour toutes les trames qui suivent le chemin tracé ◦ Le paquet de signalisation est routé normalement comme dans un réseau Internet (la route est déterminée par un algorithme de routage d’Internet) • Un LER est un nœud d’accès au réseau MPLS ◦ Un LER peut avoir des ports multiples permettant d’accéder à plusieurs réseaux distincts, chacun ayant sa propre technique de commutation ◦ Un LER est responsable de la mise en place des labels RSSA - ENIT RSSA - ENIT 162 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching LSR - Label Switch Router et LER - Label Edge Router (2) • Un LSR est un routeur dans le cœur du réseau qui participe à la mise en place du circuit virtuel par lequel les trames sont acheminées [email protected] [email protected] 163 • La table de commutation LSFT - Label Switching Forwarding Table est consiste en un ensemble de références d’entrées auxquelles correspondent des ports de sortie • À une référence d’entrée peuvent correspondre plusieurs files de sortie pour tenir compte des adresses multipoint • À une référence d’entrée peuvent correspondre l’ensemble des ports de sortie qui seront empruntés lors de l’acheminement du paquet • Les tables de commutation peuvent être spécifiques de chaque port d’entrée d’un LSR (qualité de service, demande de ressources supplémentaires) [email protected] RSSA - ENIT 164 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application La notion de FEC - Forward Equivalency Class Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Format du label MPLS • Une FEC est une classe représentant un ensemble de flux qui partagent les mêmes propriétés • Les trames sont introduites dans une FEC au nœud d’entrée (ingress node) et ne peuvent plus être distinguées des autres flux à l’intérieur de la classe • Une FEC peut être bâtie de différentes façons • Un label a une signification locale entre deux LSR adjacents • Le label mappe un flux de trafic entre un LSR amont et un LSR aval • Le long d’un LSP, un label est utilisé pour chercher les informations de routage (nœud suivant, lien de sortie, encapsulation, . . . ) et les actions à réaliser sur le label : insérer, changer ou retirer. ◦ Une même adresse de destination ◦ Un même préfixe d’adresse ◦ Une même classe de service • Une table de commutation appelée LIB - Label Information Base indique les références associées aux FEC • À l’arrivée dans un LSR, toutes les trames d’une même FEC sont commutées sur le même port de sortie [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 165 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application La construction des routes dans MPLS (1) 166 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching • Une autre approche du routage dite routage explicite ou routage par la source consiste à spécifier une liste de nœuds pour chaque flux • La route est construite sous contrainte de qualité de service ou de gestion de trafic • Les protocoles de routage explicites sont des adaptations des protocoles LDP (CR-LDP - Constraint Routing Label distribution Protocol), RSVP (RSVP-TE - Resource reSerVation Protocol Traffic Engineering), OSPF-TE (Open Shortest Path First Traffic Engineering) ◦ La construction des routes est réalisée de proche en proche (hop-by-hop routing) ⇒ routage implicite ◦ Le contrôle étant décentralisé (routage distribué) ◦ Le routage hop-by-hop s’appuie sur les algorithmes de routage traditionnel IP (découverte des routes) auquel est adjoint un protocole de distribution de labels (LDP) ◦ Possibilité d’adapter les protocoles de routage traditionnels pour la prise en compte de la distribution des labels (MBGP - MPLS Border Gateway Protocol) RSSA - ENIT RSSA - ENIT La construction des routes dans MPLS (2) • La construction des LSP et la mise en relation des différents labels peuvent être déterminées manuellement • Les LSP peuvent être construits de manière similaire au routage IP [email protected] [email protected] 167 [email protected] RSSA - ENIT 168 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole LDP - Label Distribution Protocol (1) Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Le protocole LDP - Label Distribution Protocol (2) • Le protocole LDP s’appuie sur les protocoles de routage IP dont il utilise les tables de routage • Le protocole LDP définit un ensemble de procédures et de messages pour l’échange de labels entre LSR • À la découverte d’une destination IP, LDP sollicite le LSR amont pour obtenir un label (Downstream on demand) ou en attribue un au LSR aval (Unsolicited downstream) [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 169 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole LDP - Label Distribution Protocol (3) RSSA - ENIT 170 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Le protocole LDP - Label Distribution Protocol (4) • La gestion des labels est réalisée par quatre types de messages ◦ Label request Demande de label envoyé par le LSR amont pour demander quel label il doit utiliser pour une FEC spécifique • Un LSR émet périodiquement des message Hello pour découvrir ses voisins (adresse multicast 224.0.0.2) • Les LSR voisins (adjacents) s’identifient en communicant leurs adresses IP et leurs LSR-ID - LSR - Identifier • Le LSR de plus petit identifiant ouvre une session TCP (LDP initialization) avec son voisin ◦ Label mapping Message d’attribution d’un label à une FEC Message émis en réponse au message label request ou spontanément après la découverte dune nouvelle FEC ◦ Label withdraw Message de suppression de labels Message indiquant qu’une association FEC-label doit être invalidée (l’association n’est pas détruite) ◦ Label release Message similaire au précédent, détruit une association [email protected] RSSA - ENIT 171 [email protected] RSSA - ENIT 172 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Les modes de distribution des labels (1) Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Les modes de distribution des labels (2) • Mode 1 : distribution des labels en mode non sollicité (Unsolicited downstream) ◦ Chaque LSR amont informe ses voisins qu’il sait joindre une FEC et que ceux-ci doivent utiliser tel label pour telle FEC ◦ Le LSR 2 découvre que pour la FEC 10.2.0.0/16 le prochain saut (next hop) est son voisin LSR 3, il informe ses autres voisins en leur demandant d’utiliser pour cette FEC le label 5 ◦ Deux politiques de conservation des associations Mode de rétention libérale (Liberal Label Retention) : le LSR 1 conserve dans sa base de label (LIB) tous les labels y compris ceux qui ne sont pas utilisés par la table d’acheminement (FIB - Forwarding Information Base) ⇒ consomme de l’espace mémoire mais permet de réagir rapidement suite à un changement de topologie (panne) Mode de rétention conservatrice (Conservation Label Retention) : le LSR 1 conserve les associations effectivement utilisées [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 173 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Les modes de distribution des labels (3) RSSA - ENIT 174 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Les modes de distribution des labels (4) • Mode 2 : distribution des labels en mode sollicité (Solicited downstream) ◦ Le LSR qui découvre que son voisin est le prochain saut pour une FEC donnée, lui demande de lui fournir pour cette FEC un label [email protected] RSSA - ENIT • Les réseaux MPLS supportent les deux modes de distribution de labels • En mode cellule, seul le mode sollicité est supporté par les réseaux ATM-MPLS (ATM n’a pas accès à la couche 3) • Dans les réseaux ATM-MPLS, la diffusion des labels se propage de l’egress LSR vers l’ingress LSR ⇒ distribution en mode contrôlé ordonné 175 [email protected] RSSA - ENIT 176 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application MPLS et l’ingénierie de trafic Les VPN MPLS • Les opérateurs désirent disposer d’outils leur permettant de gérer au mieux le trafic circulant sur le réseau ◦ répartir le trafic sur plusieurs chemins ◦ assurer une haute disponibilité au réseau (reroutage) ◦ associer à une route une certaine qualité de service Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT • Un réseau privé est dit virtuel (VPN - Virtual Private Network) lorsque, sur une infrastructure partagée (réseau public ou privé), on développe des mécanismes tels que la communication ne soit possible qu’entre clients du VPN ◦ Identifiant de VPN ◦ Chiffrement des communications • Nécessité de mettre en œuvre un routage explicite • Une adaptation des protocoles de routage traditionnels a permis de prendre en compte ces exigences (CR-LDP, RSVP-TE) • L’ingénierie de trafic dans un réseau MPLS consiste à réaliser des tunnels pour répartir le trafic (Load Balancing) ou affecter un flux à un chemin respectant une QoS invoquée [email protected] Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching • Les clients utilisant le même identifiant de VPN ou possédant la même clé de chiffrement/déchiffrement peuvent établir une communication • Les VPN MPLS sont à base d’identifiant de VPN • Deux modes de réalisation des VPN MPLS ◦ Le modèle overlay ◦ Le modèle peer (modèle homologue) 177 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le modèle overlay (1) RSSA - ENIT 178 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Le modèle overlay (2) • Le modèle overlay consiste à relier les sites clients par des circuits virtuels permanents • Les relations sont du type point-à-point • Modèle théoriquement simple mais très complexe à réaliser • Le nombre de circuit virtuels à définir croı̂t comme le carrée du nombre de sites à interconnecter (N(N − 1)/2) • Les réseaux VPN overlay réalisent rarement un maillage complet ⇒ certains sites sont définis comme des sites de transit • L’ajout d’un site à un VPN n’est pas transparent à l’infrastructure du réseau [email protected] RSSA - ENIT 179 [email protected] RSSA - ENIT 180 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le modèle overlay (3) Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Le modèle peer (1) • Les VPN sont ignorés du cœur du réseau • Les données échangés entre deux clients d’un même VPN sont acheminées dans le réseau comme des données ordinaires • Les information relatives au VPN sont échangées entre le routeur client (CE - Customer Edge) et le routeur de périphérie (PE Provider Edge) • Seuls les routeurs de périphérie ont connaissance des VPN • L’ajout d’un site à un VPN n’a aucun impact sur le réseau [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 181 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le modèle peer (2) RSSA - ENIT 182 Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching L’affectation des labels dans un VPN MPLS (1) • Chaque PE entretient une table d’acheminement spécifique à chaque interface (VRF - VPN Routing and Forwarding) • Une VRF contient : ◦ La désignation du PE auquel est rattaché le client VPN destinataire ◦ La classe d’équivalence FEC associé ◦ Le label identifiant le VPN d’appartenance • Une VRF correspond à un routeur dédié au VPN (routeur virtuel) • L’acheminement dans le réseau est réalisé par la LFIB - Label Forwarding Information Base [email protected] RSSA - ENIT 183 [email protected] RSSA - ENIT 184 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application L’affectation des labels dans un VPN MPLS (2) Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching L’affectation des labels dans un VPN MPLS (3) • La VRF assure le routage dans le VPN • La VRF considère le réseau MPLS comme un lien en point-à-point entre entre le PE d’entrée et le PE de sortie ◦ La VRF d’entrée indique, en fonction du client VPN destinataire, le PE de sortie comme étant le prochain saut dans le réseau VPN ◦ La LFIB assure l’acheminement dans le réseau MPLS et voit comme prochain saut le routeur aval sur la route définie par la FEC du PE de sortie [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 185 [email protected] Le protocole X.25 Le relais de trames Les réseaux ATM - Asynchronous Transfer Mode Les réseaux MPLS - MultiProtocol Label Switching Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application L’affectation des labels dans un VPN MPLS (4) Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ RSSA - ENIT 186 Plan du cours • • • • [email protected] RSSA - ENIT 187 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P [email protected] RSSA - ENIT 188 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P La couche application dans le modèle OSI • La couche application contient les protocoles de haut niveau qui permettent aux logiciels utilisateurs de communiquer • La couche application ◦ standardise les applications les plus courantes Web (HTTP), e-mail (SMTP, POP, IMAP) . . . applications = (protocoles de la couche application) ◦ définit l’interface réseau avec les utilisateurs s’appuie sur les services de bout-en-bout définis dans les couches inférieures ◦ supporte des environnements hétérogènes • Le protocole applicatif définit les échanges entre les parties cliente et serveur de l’application • Une interface (API - Application Programming Interface) permet au protocole applicatif d’utiliser les services de bout en bout fournis par un protocole de transport sous-jacent [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 189 [email protected] Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application La couche application dans le modèle TCP/IP (1) RSSA - ENIT 190 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P La couche application dans le modèle TCP/IP (2) • Plusieurs protocoles applicatifs existent : ◦ ◦ ◦ ◦ ◦ ◦ ◦ [email protected] RSSA - ENIT 191 Telnet pour contrôler une machine à distance FTP pour transférer des données SMTP pour échanger du courrier électronique HTTP pour surfer sur la toile DNS pour convertir les noms de l’Internet SNMP pour administrer le réseau ... [email protected] RSSA - ENIT 192 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Les principales applications de l’Internet Plan du cours • • • • Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 193 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P [email protected] RSSA - ENIT 194 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P DNS - Domain Name System (2) • Un programme peut normalement se référer aux hôtes, aux serveurs de messagerie ou autres ressources au moyen de leur adresse de réseau (adresse IP) • Une adresse numérique est difficile à mémoriser • Des noms en ASCII ont été introduits pour disposer de de deux méthodes de référence • À l’époque du réseau ARPANET, un fichier (hosts.txt) répertoriait tous les noms d’hôtes avec leurs adresses IP • Le fichier est téléchargé par chaque hôte chaque soir depuis le site où il était conservé et géré • Le réseau ne comprend que des adresses numériques • Il est nécessaire de concevoir un mécanisme permettant de convertir les chaı̂nes de caractères ASCII en adresses de réseau RSSA - ENIT Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application DNS - Domain Name System (1) [email protected] Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P 195 ◦ Le fichier devenait énorme (augmentation du nombre de stations sur le réseau) ◦ Des conflits de noms apparaissent en l’absence d’une gestion centralisée des noms (non envisageable pour un réseau à une échelle internationale) [email protected] RSSA - ENIT 196 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application DNS - Domain Name System (3) Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P DNS - Domain Name System (4) • DNS - Domain Name System (système de nom de domaine) ◦ Un annuaire standard de l’Internet ◦ Utilise un système de nommage hiérarchique permettant de garantir l’unicité d’un nom dans une structure arborescente (∼ système de fichiers Unix) ◦ Une base de données distribuée (système de serveurs distribués permettant de rendre disponible l’espace de noms) ◦ Un protocole d’échange (interrogation des serveurs de noms afin de connaı̂tre l’adresse IP correspondant à un nom) ◦ Il est contrôlé par l’InterNIC (Internet Network Information Center) et ses délégués • Les requêtes DNS sont transportées par UDP ou TCP sur le port 53 • L’application permettant de réaliser l’opération de résolution (intégrée au système d’exploitation) est appelée résolveur (resolver) ◦ gethostbyname ◦ gethostbyaddr • DNS s’appuie sur une structure arborescente ◦ La structure comporte des domaines de niveau supérieur appelés TLDs - Top Level Domains ◦ Un TLD est rattachés à un nœud racine représenté par un point • DNS a été mis au point en Novembre 1983 par Paul Mockapetris (RFC 882 et RFC 883) puis révisé en 1987 dans les RFCs 1034 et 1035 [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 197 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application DNS - Domain Name System (5) RSSA - ENIT 198 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P DNS - Domain Name System (6) • Chaque nœud de l’arbre correspond à un nom de domaine • Chaque nœud possède une étiquette (label) d’une longueur maximale de 63 caractères • L’ensemble des noms de domaine constitue un arbre inversé ou chaque nœud est séparé du suivant par un point • L’extrémité d’une branche est appelée hôte qui correspond à une machine ou à une entité du réseau • Le nom d’hôte doit être unique dans un domaine considéré (ou le cas échéant dans le sous domaine) ◦ Le serveur web d’un domaine porte généralement le nom www • Le mot domaine correspond formellement au suffixe d’un nom de domaine (l’ensemble des étiquettes de nœuds d’une arborescence, à l’exception de l’hôte) [email protected] RSSA - ENIT 199 [email protected] RSSA - ENIT 200 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application DNS - Domain Name System (7) Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Les serveurs de noms DNS (1) • Un nom de domaine peut être de deux types : ◦ absolu ◦ relatif • Un nom absolu se termine toujours par un point (exemple : eng.sun.com.) • Un serveur de nom de domaine permet d’établir la correspondance entre le nom de domaine et l’adresse IP des machines d’un réseau • Un seul serveur de noms pourrait contenir la totalité de la base de données DNS et répondre à toutes les requêtes ◦ FQDN - Fully Qualified Domain Name (nom de domaine totalement qualifié) ◦ La profondeur maximale de l’arborescence est de 127 niveaux ◦ La longueur maximale d’un nom FQDN est de 255 caractères ◦ Surcharge du serveur de noms (nombre de requêtes trop important) ◦ La panne du serveur engendrera une immobilisation du réseau Internet • Un nom de domaine relatif ne se termine pas par un point • Un nom de domaine relatif doit être interprété dans un certain contexte pour en connaı̂tre la signification réelle (exemple : ps24.cs.keio) • La casse des noms de domaines n’est pas prise en compte [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 201 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Les serveurs de noms DNS (2) RSSA - ENIT 202 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Les serveurs de noms DNS (3) • L’espace de noms DNS est divisé en zones distinctes • Une zone est un sous-arbre administré séparément • Une zone est dotée de serveurs de noms renfermant les informations relatives à la zone ◦ Un serveur de nom primaire ou principal (primary name server) Informations autoritaires sur la zone (authoritative records) Initialisation locale (à partir d’un fichier sur son disque dur) ◦ Un ou plusieurs serveurs de noms secondaires (secondary name server) Redondance : indépendant du primaire (voire éloignés) Initialisation et mise à jour à partir du primaire (transfert de zone) ◦ Des serveurs en charge d’une zone peuvent être situés en dehors de la zone pour des raisons de fiabilité 13 serveurs racines (root name server) 1 primaire et 12 secondaires, haute disponibilité (anycast) Configuration en dur (ftp.rs.internic.net/domain/named.root) Utilisation de caches Un serveur DNS racine traite plus de 272 millions de requêtes par jour [email protected] RSSA - ENIT 203 [email protected] RSSA - ENIT 204 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Les serveurs de noms DNS (4) Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Localisation géographique des serveurs DNS racine • L’administrateur d’une zone doit définir ses limites • Les limites d’une zone dépendent du nombre de serveurs de noms souhaités et de leur emplacement ◦ Yale possède un serveur pour yale.edu qui gère eng.yale.edu ◦ cs.yale.edu représente une zone distincte avec ses propres serveurs de noms ◦ Le département d’étude de l’anglais ne souhaite pas gérer son propre serveur alors que le département informatique est d’accord pour le faire [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 205 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application L’administration des noms de domaine (1) RSSA - ENIT 206 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P L’administration des noms de domaine (2) • L’administration des noms de domaine est hiérarchisée ◦ Le NIC aux États Unis est responsable de la coordination mondiale (autorité) • L’AFNIC enregistre tous les noms de sous-domaine du domaine fr ◦ Un gérant pour chaque domaine (délégation d’autorité) • L’administration des noms de domaine est décentralisée edf.fr est géré par la direction de l’EDF (Électricité De France) urec.fr et cnrs.fr sont gérés par l’UREC (Unité RÉseaux du CNRS) ◦ Le NIC a donné délégation à RIPE-NCC pour la gestion des noms de domaine en Europe • Le gérant du domaine X.fr est responsable de : RIPE-NCC a autorité pour l’Europe ◦ La délégation des noms de domaines de la forme Y.X.fr ◦ La désignation d’un administrateur du domaine Y.X.fr ◦ RIPE-NCC a donné délégation à l’AFNIC (Association Française pour le Nommage Internet en Coopération (http ://www.nic.fr))pour la gestion des noms de domaine en France L’AFNIC a autorité en France [email protected] RSSA - ENIT 207 [email protected] RSSA - ENIT 208 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application L’administration des noms de domaine (3) La résolution de noms de domaine (1) • Le résolveur recevant une requête pour un nom de domaine, la transmet à l’un des serveurs de noms locaux • Si le domaine recherché tombe dans la juridiction du serveur de noms (par exemple ai.cs.yale.edu qui fait partie de cs.yale.edu), le serveur retourne les enregistrements de ressources officiels • Un enregistrement officiel (authoritative record) est une entrée qui provient du serveur habilité à gérer l’enregistrement en question • Un enregistrement officiel se distingue d’un enregistrement qui peut se trouver en cache et qui peut être périmé • Si le domaine est distant et qu’aucune information le concernant n’est disponible localement, le serveur de noms envoie une requête au serveur de noms de premier niveau pour le domaine concerné • Il faut contacter l’AFNIC ◦ pour faire enregistrer un nom de domaine sous .fr ◦ pour faire ouvrir la zone correspondante • Il faut contacter le GIP Renater (www.renater.fr) pour les entités relevant de la communauté Enseignement-Recherche • Il faut contacter l’UREC ◦ pour faire enregistrer un nom de domaine sous cnrs.fr ◦ pour faire ouvrir la zone X.cnrs.fr [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P 209 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application La résolution de noms de domaine (2) RSSA - ENIT 210 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P La résolution de noms de domaine (3) • Un résolveur sur flits.cs.vu.nl souhaite connaı̂tre l’adresse IP de l’hôte linda.cs.yale.edu ◦ Le résolveur envoie une requête au serveur de nom local, cs.vu.nl ◦ Le serveur local n’a jamais reçu de requête pour le domaine et ne connait rien sur lui, il interroge quelques serveurs voisins ◦ Si aucun des voisins ne possède de renseignements, le résolveur envoie un paquet UDP au serveur responsable du domaine edu ◦ Il est peu probable que le serveur du domaine edu connaisse l’adresse IP de linda.cs.yale.edu mais doit connaı̂tre tous ses enfants ◦ Le serveur du domaine edu transmet la requête au serveur de noms pour yale.edu ◦ Le serveur de noms pour yale.edu envoie la requête à son tour au serveur de noms pour cs.yale.edu qui doit détenir les informations [email protected] RSSA - ENIT 211 [email protected] RSSA - ENIT 212 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Requête DNS itérative [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Requête DNS récursive RSSA - ENIT 213 [email protected] Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Format des messages DNS RSSA - ENIT 214 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Format d’une question DNS • Un DNS est une base de données répartie contenant des enregistrements, appelés RR (Resource Records) ◦ Nom N octets Chaque nom de label est précédé par un octet indiquant le nombre de caractères ASCII le suivant terminé par 0x00 ◦ Type (16 bits) 16 bits Indique le type d’enregistrement ◦ Classe 16 bits Pour les informations concernant l’Internet, la valeur est toujours IN [email protected] RSSA - ENIT 215 [email protected] RSSA - ENIT 216 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Format d’une réponse DNS Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Principaux types d’enregistrements DNS pour IPv4 (1) Type SOA A MX NS CNAME PTR HINFO TXT ◦ Nom, Type, Classe : idem ◦ TTL (32 bits) Le TTL donne une indication sur la stabilité de l’enregistrement Les informations hautement stables reçoivent une valeur élevée (86400 secondes) Les informations très volatiles reçoivent une valeur faible (60 secondes) Signification Serveur principal d’une zone (Start of Authority) Adresse IP d’un hôte Relais de messagerie Serveur de noms Nom canonique Pointeur Description de l’hôte Texte Valeur Paramètres pour cette zone entier de 32 bits Domaine prenant le courrier électronique Nom d’un serveur de noms Nom de domaine alias pour une adresse IP UC et système d’exploitation en ASCII Texte ASCII non interprété ◦ Taille des données en octets (16 bits) ◦ Données (N octets sans bourrage) Nom (chaı̂ne codée comme pour une question) Adresse (valeur numérique) : A sur 4 octets, AAAA sur 16 octets [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 217 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Principaux types d’enregistrements DNS pour IPv4 (2) cs.vu.nl. cs.vu.nl. cs.vu.nl. cs.vu.nl. cs.vu.nl. flits.cs.vu.nl. flits.cs.vu.nl. flits.cs.vu.nl. flits.cs.vu.nl. flits.cs.vu.nl. flits.cs.vu.nl. www.cs.vu.nl. ftp.cs.vu.nl. rowboat ◦ Contient l’adresse IP de 32 bits d’un hôte ◦ Certains hôtes disposent de deux connexions ou plus auquel cas ils auront un enregistrement A par connexion • MX : indique le nom d’hôte qui reçoit le courrier électronique pour le domaine spécifié (toutes les machines ne sont pas capables de recevoir du courrier électronique) RSSA - ENIT RSSA - ENIT 218 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Extrait d’une base de données DNS pour le domaine cs.vu.nl • SOA (Start of Authority) : désigne le nom du serveur primaire pour la zone du serveur de noms (décrite au dessus), l’adresse électronique de son administrateur, le numéro de série unique de la zone et divers fanions et temporisateurs • A (Address) [email protected] [email protected] 219 86400 86400 86400 86400 86400 86400 86400 86400 86400 86400 86400 86400 86400 IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN SOA TXT TXT MX MX HINFO A A MX MX MX CNAME CNAME A MX MX HINFO [email protected] star boss (9527, 7200, 7200, 241920, 86400) ”Département informatique.” ”Université libre d’amsterdam.” 1 zephyr.cs.vu.nl. 2 top.cs.vu.nl. Sun UNIX 130.37.16.112 192.31.231.165 1 flits.cs.vu.nl. 2 zephyr.cs.vu.nl. 1 top.cs.vu.nl. star.cs.vu.nl. zephyr.cs.vu.nl. 130.37.56.201 1 rowboat 2 zephyr Sun UNIX RSSA - ENIT 220 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application DNS : un exemple Plan du cours > dig www.math.keio.ac.jp • • • • ; <<>> DiG 9.2.4 <<>> www.math.keio.ac.jp ; ; global options : printcmd ; ; Got answer : ; ; ->>HEADER<<- opcode : QUERY, status : NOERROR, id :395 ; ; flags : qr rd ra ; QUERY : 1, ANSWER : 1, AUTHORITY : 5, ADDITIONAL : 1 ; ; QUESTION SECTION : ;www.math.keio.ac.jp. IN A 3600 IN A ; ; AUTHORITY SECTION : math.keio.ac.jp. math.keio.ac.jp. math.keio.ac.jp. math.keio.ac.jp. math.keio.ac.jp. 3600 3600 3600 3600 3600 IN IN IN IN IN NS NS NS NS NS ; ; ADDITIONAL SECTION : ns.hc.keio.ac.jp. ns.sc.keio.ac.jp. ns.st.keio.ac.jp. ns.mita.keio.ac.jp. 86400 86400 3600 86400 IN IN IN IN A A A A ; ; ANSWER SECTION : www.math.keio.ac.jp. ; ; Query time : 287 msec ; ; SERVER : 137.194.2.34 #53(137.194.2.34) ; ; WHEN : Thu Mar 6 20 :29 :21 2008 ; ; MSG SIZE rcvd : 222 [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application ns.hc.keio.ac.jp. ns.sc.keio.ac.jp. ns.st.keio.ac.jp. ns.mita.keio.ac.jp. kogwy.cc.keio.ac.jp. 131.113.224.8 131.113.191.8 131.113.1.8 131.113.192.8 RSSA - ENIT Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ 131.113.6.209 221 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction (1) RSSA - ENIT 222 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction (2) • Protocoles de copie de fichiers distants (rcp, scp) • Protocoles de transfert de fichiers avec accès aux systèmes de fichiers local et distant (FTP, TFTP, SFTP) • Une application du type client/serveur • Copie intégrale d’un fichier d’un système sur un autre système en environnement hétérogène • L’hétérogénéité concernant les fichiers est dépendante d’un système à un l’autre ◦ Le client est l’initiateur de la connexion ◦ Le client interagit avec l’utilisateur, le système de fichiers local et les protocoles réseaux ◦ Le serveur héberge les fichiers distants ◦ Le serveur interagit avec les protocoles réseaux et le système de fichiers distant ◦ de la façon de représenter les noms de fichiers (longueur, caractère espace, . . . ) ◦ des droits d’accès au fichier (lecture, écriture, exécution, propriétaire, ...) ◦ de la représentation des données contenues dans le fichier (saut de ligne, . . . ) Mode ASCII (transfert au format NVT - Network Virtual Terminal avec conversion au format local) Mode binary (transfert sans conversion) [email protected] Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P RSSA - ENIT • Ne pas confondre les protocoles de transfert de fichiers avec les protocoles d’accès aux fichiers distants (NFS - Network File System (Unix), SMB - Server Message Block (Microsoft)) 223 [email protected] RSSA - ENIT 224 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application FTP - File Transfer Protocol (1) Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P FTP - File Transfer Protocol (2) • Le protocole FTP est un protocole de communication dédié à l’échange informatique de fichiers sur un réseau TCP/IP • FTP permet, depuis un ordinateur, de copier des fichiers depuis ou vers un autre ordinateur du réseau, d’administrer un site web ou encore de supprimer ou modifier des fichiers sur cet ordinateur • Un standard TCP/IP pour le transfert de fichiers (RFC 959) • La variante sécurisée de FTP avec les protocoles SSL ou TLS s’appelle FTPS [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 225 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application FTP - Les connexions contrôle et données (1) RSSA - ENIT 226 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P FTP - Les connexions contrôle et données (2) • Le protocole FTP utilise deux connexions TCP en parallèle ◦ Une connexion de contrôle Une connexion permanente créée à l’ouverture de la session FTP Une connexion full duplex initié par le client (port serveur 21) La connexion de contrôle est utilisée uniquement pour échanger les requêtes et les réponses Un besoin de fiabilité ◦ Une connexion de transfert de données Une connexion temporaire créée à chaque transfert de fichier Une connexion full duplex initiée par le client pour un envoi vers le serveur (port 20) ou par le serveur pour un envoi vers le client (nécessite une transmission du port client à utiliser) Une connexion pour l’envoi de fichiers et de liste de fichiers/répertoires Un besoin de débit et de fiabilité Une connexion libérée à la fin de chaque transfert de fichier [email protected] RSSA - ENIT 227 [email protected] RSSA - ENIT 228 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application FTP - Les connexions contrôle et données (3) : scénario d’une connexion Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P FTP - Les connexions contrôle et données (4) : scénario d’une connexion • Le client se connecte sur le port 21 du serveur • Le port 21 sert à envoyer les commandes au serveur FTP (put, get, cd, . . . ) • Si une commande nécessite la transmission ou la réception de données (ls, get, put, . . . ), le client envoie une commande PORT au serveur transportant ◦ Un numéro de port (p1 × 256 + p2 ; (p1 et p2 sont deux entiers entre 0 et 255)) sur lequel le serveur va créer une connexion ftp-data depuis sont port 21 ◦ Quatre nombres entiers (h1 , h2 , h3 , h4 ) représentant l’adresse IP de l’hôte client • La connexion ftp-data est close dès la fin de transfert des données [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 229 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application FTP - Les différents modes de transfert de données • Mode actif Impossibilité de la création de la connexion à partir du serveur même s’il connait le numéro de port du client • Mode passif ◦ La connexion ftp-data est initiée par le client ◦ Intégré dans les navigateurs, paramétrable sur certains clients FTP ◦ Le client envoie la commande PASV au lieu de la commande PORT sur le port 21, cette commande demande au serveur de se mettre à l’écoute du port 20 • Mode anonymous ◦ Compte invité sur certains serveurs FTP (username : anonymous, password : [email protected]) RSSA - ENIT RSSA - ENIT 230 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P FTP - Les commandes du protocole (1) • À ne pas confondre avec les commandes du protocole FTP ◦ La connexion ftp-data est initiée par le serveur ◦ Un problème de pare-feu ou de NAT [email protected] [email protected] 231 > ftp ftp> ! $ account append ascii bell binary bye case cd cdup chmod close ftp> cr debug delete dir disconnect edit epsv4 exit features fget form ftp gate get glob hash help idle image lcd less lpage lpwd ls macdef mdelete mdir mget mkdir mls mlsd mlst mode modtime more mput mreget msend newer [email protected] nlist nmap ntrans open page passive pdir pls pmlsd preserve progress prompt proxy RSSA - ENIT put pwd quit quote rate rcvbuf recv reget remopts rename reset restart rhelp rmdir rstatus runique send sendport set site size sndbuf status struct sunique system tenex throttle trace type umask unset usage user verbose xferbuf ? 232 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application FTP - Les commandes du protocole (2) FTP - Commandes de contrôle d’accès (1) • Les commandes FTP sont des chaı̂nes de caractère en code NVT-ASCII terminées par la séquence <CR>+<LF> (Carriage Return (retour chariot) suivi du caractère Line Feed), notée <CRLF> • Les commandes FTP permettent de préciser : ◦ ◦ ◦ ◦ Le Le La La • USER ◦ Chaı̂ne de caractères permettant d’identifier l’utilisateur. L’identification de l’utilisateur est nécessaire pour établir une communication sur le canal de données • PASS port utilisé mode de transfert des données structure des données nature de l’action à effectuer (RETRIEVE, LIST, STORE, . . . ) ◦ Chaı̂ne de caractères spécifiant le mot de passe de l’utilisateur. Cette commande doit être immédiatement précédée de la commande USER. Il revient au client de masquer l’affichage de cette commande pour des raisons de sécurité • Trois types de commandes FTP • ACCT (ACCOUNT) ◦ Les commandes de contrôle d’accès ◦ Les commandes du paramétrage de transfert ◦ Les commandes de service FTP ◦ Chaı̂ne de caractères représentant le compte de l’utilisateur. Cette commande n’est généralement pas nécessaire. Lors de la réponse à l’acceptation du mot de passe, si la réponse est 230 cette phase n’est pas nécessaire, si la réponse est 332, elle l’est • Si la commande FTP admet un paramètre, celui-ci est séparé de la commande par un espace (<SP>) [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 233 [email protected] Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application FTP - Commandes de contrôle d’accès (2) 234 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P • PORT ◦ Chaı̂ne de caractères permettant de préciser le numéro de port à utiliser ◦ Commande permettant de changer le répertoire courant. Cette commande nécessite le chemin d’accès au répertoire à atteindre comme argument • PASV ◦ Commande permettant d’indiquer au serveur de se mettre en attente une connexion sur un port spécifique choisi aléatoirement parmi les ports disponibles. La réponse à cette commande est l’adresse IP de la machine et le port • CDUP (Change to Parent Directory) ◦ Commande permettant de remonter au répertoire parent) • QUIT ◦ Commande permettant de terminer la session en cours. Le serveur attend de finir le transfert en cours le cas échéant, puis de fournir une réponse avant de fermer la connexion RSSA - ENIT RSSA - ENIT FTP - Commandes de paramètres de transfert • CWD (Change Working Directory) [email protected] Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P • TYPE ◦ Commande permettant de préciser le type de format dans lequel les données seront envoyées 235 [email protected] RSSA - ENIT 236 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application FTP - Commandes de service (1) FTP - Commandes de service (2) • RETR (RETRIEVE) • APPE (APPEND) ◦ Commande demandant au serveur une copie du fichier dont le chemin d’accès est passé en paramètre ◦ Les données envoyées sont concaténées dans le fichier portant le nom passé en paramètre s’il existe déjà, dans le cas contraire il est créé • STOR (STORE) • ALLO (ALLOCATE) ◦ Commande demandant au serveur d’accepter les données envoyées sur le canal de données et de les stocker dans le fichier portant le nom passé en paramètre. Si le fichier n’existe pas, le serveur le crée, sinon il l’écrase • STOU ◦ Commande identique à la précédente si ce n’est qu’elle demande au serveur de créer un fichier dont le nom est unique. Le nom du fichier est retourné dans la réponse [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 237 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P ◦ Commande demandant au serveur de prévoir un espace de stockage suffisant pour contenir le fichier dont le nom est passé en argument • REST (RESTART) ◦ Commande permettant de reprendre un transfert là où il s’était arrêté. La commande envoie en paramètre le marqueur représentant la position dans le fichier à laquelle le transfert avait été interrompu. Cette commande doit être immédiatement suivie d’une commande de transfert [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application FTP - Commandes de service (3) RSSA - ENIT 238 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P FTP - Commandes de service (4) • DELE (DELETE) • RNFR (RENAME FROM) ◦ Commande permettant de supprimer le fichier dont le nom est passé en paramètre. Cette commande est irrémédiable, seule une confirmation au niveau du client peut être faite ◦ Commande permettant de renommer un fichier. Elle indique en paramètre le nom du fichier à renommer et doit être immédiatement suivie de la commande RNTO • RMD (REMOVE DIRECTORY) • RNTO (RENAME TO) ◦ Commande permettant de supprimer un répertoire. Elle indique en paramètre le nom du répertoire à supprimer ◦ Commande permettant de renommer un fichier. Elle indique en paramètre le nom du fichier à renommer et doit être immédiatement précédée de la commande RNFR • MKD (MAKE DIRECTORY) • ABOR (ABORT) ◦ Commande permettant de créer un répertoire. Elle indique en paramètre le nom du répertoire à créer ◦ Commande indiquant au serveur d’abandonner tous les transferts associés à la commande précédente. Si aucune connexion de données n’est ouverte, le serveur ne fait rien, sinon il la ferme. Le canal de contrôle reste par contre ouvert [email protected] Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P RSSA - ENIT • PWD (PRINT WORKING DIRECTORY) ◦ Commande permettant de renvoyer le chemin complet du répertoire courant 239 [email protected] RSSA - ENIT 240 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application FTP - Commandes de service (5) FTP - Commandes de service (6) • LIST ◦ Commande permettant de renvoyer la liste des fichiers et répertoires présents dans le répertoire courant. Il est possible de passer en paramètre de cette commande un nom de répertoire, le serveur enverra la liste des fichiers dans le répertoire passé en paramètre • NLST (NAME LIST) • STAT (STATUS) ◦ Commande permet d’émettre l’état du serveur, par exemple pour connaı̂tre la progression d’un transfert en cours. Cette commande accepte en argument un chemin d’accès, elle retourne alors les mêmes informations que LIST mais sur le canal de contrôle • HELP ◦ Commande permettant d’envoyer la liste des fichiers et répertoires dans le répertoire courant ◦ Commande permettant de connaı̂tre l’ensemble des commandes comprises par le serveur. Les informations sont retournées sur le canal de contrôle • SITE (SITE PARAMETERS) ◦ Commande permettant au serveur de proposer des services spécifiques, non définis dans le protocole FTP • NOOP (NO OPERATIONS) ◦ Commande sert uniquement à obtenir une commande OK du serveur. Elle peut servir uniquement pour ne pas être déconnecté après un temps d’inactivité trop élevé • SYST (SYSTEM) ◦ Commande permet d’envoyer des informations sur le serveur distant [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 241 [email protected] Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application FTP - Les réponses du protocole (1) ◦ Un code de 3 chiffres indiquant la façon suivant laquelle la commande envoyée par le client a été traitée (code difficilement lisible par un humain) ◦ Un texte séparé du code numérique par un espace Chiffre 1yz 2yz 3yz 4yz • Le code de réponse st constitué de trois chiffres ayant pour signification : 5yz ◦ Le premier chiffre indique le statut de la réponse (succès ou échec) ◦ Le second chiffre indique ce à quoi la réponse fait référence ◦ Le troisième chiffre donne une signification plus spécifique (relative à chaque deuxième chiffre) RSSA - ENIT RSSA - ENIT 242 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P FTP - Les réponses du protocole (2) • Une réponse permet d’assurer la synchronisation entre client et serveur FTP • À chaque commande envoyée par le client, le serveur effectue éventuellement une action et renvoie systématiquement une réponse • Une réponse FTP est constituée de : [email protected] Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P 243 Signification Description Réponse préliminaire positive Réponse positive de réalisation Réponse intermédiaire positive Réponse négative de réalisation Réponse négative permanente L’action demandée est en cours de réalisation, une seconde réponse doit être obtenue avant d’envoyer une deuxième commande L’action demandée a été réalisée, une nouvelle commande peut être envoyée L’action demandée est temporairement suspendue. Des informations supplémentaires sont attendues de la part du client L’action demandée n’a pas eu lieu car la commande n’a temporairement pas été acceptée. Le client est prié de réessayer ultérieurement L’action demandée n’a pas eu lieu car la commande n’a pas été acceptée. Le client est prié de formuler une requête différente [email protected] RSSA - ENIT 244 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application FTP - Les réponses du protocole (3) Chiffre Signification Description x0Z Syntaxe x1z Information x2z x3z Connexions Authentification et comptes Non utilisé par le protocole FTP Système de fichiers L’action possède une erreur de syntaxe, ou bien il s’agit d’une commande non comprise par le serveur Il s’agit d’une réponse renvoyant des informations (par exemple pour une réponse à une commande STAT) La réponse concerne le canal de données La réponse concerne le login (USER/PASS) ou la demande de changement de compte (CPT) x4z x5z FTP - Quelques exemples de réponses 125 150 200 214 220 226 230 331 425 452 500 550 La réponse concerne le système de fichiers distant [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 245 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P description requête de lecture requête d’écriture données numérotées acquittement message d’erreur 246 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P • TFTP est facilement implantable par des systèmes sans disque (en ROM) qui utilisent TFTP au boot pour récupérer un fichier de configuration (terminaux X, imprimante réseau, routeurs Cisco, ldots) ; • Les accès sur le serveur sont limités aux répertoires passés en argument du démon tftpd (tftpboot par défaut) ◦ Numérotation des messages DATA ◦ Acquittement immédiat avec ACK (timers de retransmission sur l’émetteur et le récepteur) RSSA - ENIT RSSA - ENIT • TFTP ne présente pas la possibilité de lister les répertoires distants et ne nécessite pas de mot de passe pour récupérer ou déposer de fichiers • Les messages DATA comptent 512 octets (sauf le dernier de taille inférieure ou éventuellement nulle) • TFTP est du type stop-and-wait [email protected] [email protected] TFTP - Trivial File Transfer Protocol (2) • TFTP est un protocole léger pour le transfert de fichiers au dessus d’UDP sur le port 69 • TFTP définit cinq messages : nom RRQ WRQ DATA ACK ERREUR Data connection already open Opening BINARY mode data connection Command successful Help message . . . FTP server . . . ready Transfer complete User <username> logged in Password required for <username> Can’t open data connection Error writing file Command not understood No files found Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application TFTP - Trivial File Transfer Protocol (1) opcode 1 2 3 4 5 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P 247 [email protected] RSSA - ENIT 248 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application TFTP - Format des messages [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT TFTP - Quelques exemples d’échanges 249 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P RSSA - ENIT 250 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction (1) Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Plan du cours • • • • Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P • Application permettant à un utilisateur de se connecter et prendre partiellement le contrôle sur une ou plusieurs machines distantes à partir d’un terminal ouvert sur une machine locale Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P [email protected] RSSA - ENIT ◦ L’utilisateur doit disposer des droits d’accès nécessaires pour accéder à la machine distante • L’utilisateur exécute des commandes, saisies localement au clavier (de la machine locale) sur la machine distante • Les environnements local est distant peuvent être hétérogènes 251 [email protected] RSSA - ENIT 252 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction (2) Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P TELNET - TELecommunication NETwork Fonctionnement d’une connexion locale • Quelques exemples protocoles pour l’émulation de terminal ◦ TELNET - TELecommunication NETwork protocol (existe sur plusieurs plate-formes) ◦ RLOGIN - Remote LOGIN (uniquement entre machines Unix) ◦ SSH - Secure SHell • Une application du type client/serveur ◦ Le client interagit avec l’utilisateur et les protocoles réseaux ◦ Le serveur interagit avec les protocoles réseaux et l’application distante • Un besoin d’interactivité ◦ tout ce sui est tapé au clavier est envoyé rapidement sur la connexion ◦ tout ce qui est reçu de la connexion est affiché sur l’écran [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 253 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application TELNET - TELecommunication NETwork Fonctionnement d’une connexion distante RSSA - ENIT 254 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P TELNET - TELecommunication NETwork (1) • TELNET est un protocole standard d’Internet permettant l’interfaçage de terminaux et d’applications à travers Internet. • TELNET fournit les règles de base pour permettre de relier un client (système composé d’un affichage et d’un clavier) à un interpréteur de commande (côté serveur) • TELNET s’appuie sur une connexion TCP pour envoyer des données au format ASCII codées sur 8 bits entre lesquelles s’intercalent des séquences de contrôle • TELNET est assigné au port 23 • TELNET fournit un système orienté communication, bi-directionnel (half-duplex), codé sur 8 bits [email protected] RSSA - ENIT 255 [email protected] RSSA - ENIT 256 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application TELNET - TELecommunication NETwork (2) TELNET - TELecommunication NETwork (3) • La transmission de données à travers TELNET consiste uniquement à transmettre les octets dans le flux TCP • TELNET repose sur trois concepts fondamentaux : ◦ Le paradigme du terminal réseau virtuel (NVT - Network Virtual Terminal) ◦ Le principe d’options négociées ◦ Les règles de négociation • TELNET est un protocole de base sur lequel s’appuient plusieurs autres protocoles de la suite TCP/IP (FTP, SMTP, POP3, . . . ) • Les spécifications de TELNET ne mentionnent pas d’authentification • TELNET est un protocole de transfert de données non sûr (les données circulent sur le réseau en clair) [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT • Les spécifications basiques du protocole TELNET sont disponibles dans le RFC 854 ; De nombreuses options sont décrites par les RFC 855 à 861 [email protected] Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application caractères ASCII 7 bits auxquels s’ajoutent le code ASCII étendu trois caractères de contrôle cinq caractères de contrôle optionnels un jeu de signaux de contrôle basique 258 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P • TELNET propose donc un système de négociations d’options permettant l’utilisation de fonctions avancées sous forme d’options de part et d’autre en initiant des requêtes pour en demander l’autorisation au système distant • Les options de TELNET affectent séparément chaque direction du canal de données ◦ Chaque extrémité peut définir les options qu’elle • TELNET crée une abstraction du terminal, permettant à n’importe quel hôte (client ou serveur) de communiquer avec un autre hôte sans connaı̂tre ses caractéristiques RSSA - ENIT RSSA - ENIT TELNET - Le principe d’options négociées (1) • Le réseau ARPANET présentait des machines dont les configurations étaient très peu homogènes • Une interface standard, appelée NVT - Network Virtual Terminal (Terminal réseau virtuel), a été mise au point dans un souci d’interopérabilité • L’interface NVT fournit une base de communication standard composée de : [email protected] ◦ Les données doivent par défaut être groupés dans un tampon avant émission (sauf indication du contraire par option) ◦ Les données TELENT sont envoyés ligne par ligne ◦ Lorsque l’octet 255 est transmis, l’octet suivant doit être interprété comme une commande ; L’octet 255 est nommé IAC - Interpret As Command 257 TELNET - La notion de terminal virtuel ◦ ◦ ◦ ◦ Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P 259 veut utiliser (DO) refuse d’utiliser (DON’T) veut que l’autre extrémité utilise (WILL) refuse que l’autre extrémité utilise (WON’T) [email protected] RSSA - ENIT 260 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application TELNET - Le principe d’options négociées (2) Requête DO WILL Réponse Interprétation WILL L’émetteur commence en utilisant l’option WON’T L’émetteur ne doit pas utiliser l’option DO L’émetteur commence en utilisant l’option, après avoir envoyé un DO DON’T L’émetteur ne doit pas utiliser l’option DON’T WON’T L’émetteur signale qu’il a désactivé l’option WON’T DON’T L’émetteur signale que l’émetteur doit désactiver l’option Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P TELNET - Les règles de négociation d’options • Les règles de négociation d’options permettent d’éviter des situations de bouclage (par exemple qu’une des parties envoie des requêtes de négociation d’options à chaque confirmation de l’autre partie) ◦ Les requêtes ne doivent être émises que lors d’un changement de mode ◦ Lorsqu’une des parties reçoit une requête de changement de mode, elle ne doit l’acquitter que si elle ne se trouve pas déjà dans le mode approprié ◦ Une requête ne doit être insérée dans le flux de données qu’à l’endroit où elle prend effet • Il existe 255 codes d’options ; TELNET prévoit un espace d’adressage permettant de décrire de nouvelles options [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 261 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application TELNET - Les caractères de contrôle de l’affichage du terminal réseau virtuel Numéro Code Nom Signification 0 NULL Null 1 LF Line Feed 2 CR Carriage Return Cette commande permet d’envoyer des données à l’hôte distant sans que celles-ci ne soient interprétées (notamment pour signaler que l’hôte local est toujours en ligne) Cette commande permet de déplacer le curseur d’impression à la ligne suivante, à la même position horizontale Cette commande (Retour Chariot) permet de déplacer le curseur d’impression à l’extrême gauche de la ligne courante [email protected] [email protected] RSSA - ENIT 263 RSSA - ENIT 262 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P TELNET - Les caractères de contrôle optionnels Numéro Code Nom Signification 7 BEL Bell 8 BS BackSpace 9 HT 11 VT 12 FF Horizontal Tab Vertical Tab Form Feed Cette commande permet d’émettre un signal sonore ou visuel sans modifier la position du curseur Cette commande permet de modifier la position du curseur vers sa position précédente Cette commande permet de modifier la position du curseur vers la tabulation suivante à droite Cette commande permet de modifier la position du curseur vers la tabulation suivante de la ligne du dessous Cette commande permet de modifier la position du curseur vers le bas à la page suivante en conservant la position horizontale [email protected] RSSA - ENIT 264 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application TELNET - Les caractères de contrôle de la session (1) TELNET - Les caractères de contrôle de la session (2) • Les caractères de contrôle de la session sont des commandes permettant de contrôler la session TELNET • Une commande pour être interprétée en tant que telle doit être précédée du caractère d’échappement IAC (Interpret As Command) ◦ Les commandes sont interprétées comme de simples caractères en l’absence du caractère IAC ◦ Le caractère IAC doit être doublé (le caractère IAC est lui même précédé par un deuxième caractère d’échappement) • Une commande correspond à une négociation d’option et est suivie d’un octet précisant l’option • Les commandes permettent d’interrompre des signaux, de supprimer des informations dans le cache du terminal, . . . [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT Code 240 241 SE NOP 242 DM Data Mark 243 244 BRK IP 245 AO Break Interrupt Process Abort Output 265 Code Nom Signification 246 AYT 247 EC 248 249 EL GA Are You There Erase Character Erase Line Go Ahead 250 SB SB Cette commande permet de vérifier que le système distant est toujours en vie Cette commande permet de supprimer le caractère précédent Cette commande permet de supprimer la ligne précédente Cette commande permet d’inverser le contrôle, pour les liaisons half-duplex Cette commande indique que les données qui suivent sont une négociation de l’option précédente RSSA - ENIT Nom No operation Signification Fin de négociation d’option Cette commande permet d’envoyer des données à l’hôte distant sans que celles-ci ne soient interprétées (notamment pour signaler que l’hôte local est toujours en ligne) Cette commande permet de vider l’ensemble des tampons entre le terminal réseau virtuel et l’hôte distant. Elle correspond à un appui sur la touche Synch du NVT et doit impérativement être associée à un marquage du bit Urgent de TCP Caractère Break du terminal virtuel Cette commande permet de suspendre, interrompre ou abandonner le processus distant Cette commande permet de suspendre, interrompre ou abandonner l’affichage du processus distant [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application TELNET - Les caractères de contrôle de la session (3) [email protected] Numéro Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Numéro Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P RSSA - ENIT 266 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P TELNET - Les caractères de contrôle de la session (4) 267 Numéro Code Nom Signification 251 WILL 252 WON’T 253 DO 254 DON’T 255 IAC code d’option code d’option code d’option code d’option Interpret As Command Cette commande permet d’interpréter l’octet suivant comme une commande. La commande IAC permet d’aller au-delà des commandes de base [email protected] RSSA - ENIT 268 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Plan du cours • • • • Introduction Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P • Le courrier électronique est le service le plus utilisé sur Internet • Une panoplie de protocoles permettant de gérer le routage du courrier sur le réseau Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT ◦ SMTP - Simple Mail Transfer Protocol (protocole simple de transfert de courrier) ◦ POP - Post Office Protocol (protocole de bureau de poste) ◦ IMAP - Internet Message Access Protocol 269 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application SMTP - Simple Mail Transfer Protocol (1) RSSA - ENIT 270 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P SMTP - Simple Mail Transfer Protocol (2) • SMTP est le protocole standard permettant de transférer le courrier d’un serveur à un autre en connexion point à point • SMTP est un protocole orienté connexion, utilise le protocole TCP pour le transport • Le courrier est remis directement au serveur de courrier du destinataire • SMTP fonctionne grâce à des commandes textuelles envoyées au serveur SMTP (par défaut sur le port 25) ◦ Chacune des commandes envoyées par le client (validée par la chaı̂ne de caractères ASCII CR/LF (équivalent à un appui sur la touche entrée) est suivie d’une réponse du serveur SMTP composée d’un numéro et d’un message descriptif [email protected] RSSA - ENIT 271 [email protected] RSSA - ENIT 272 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application SMTP - Un scénario de demande d’envoi de mail à un serveur SMTP (1) • La première commande à envoyer est la commande HELO suivie d’un espace et du nom de domaine de la machine puis valider par entrée (ouverture de la session SMTP) SMTP - Un scénario de demande d’envoi de mail à un serveur SMTP (2) • La commande DATA est la troisième étape de l’envoi ◦ La commande DATA annonce le début du corps du message ◦ Si la commande est acceptée le serveur renvoie un message intermédiaire numéroté 354 indiquant que l’envoi du corps du mail peut commencer et considère l’ensemble des lignes suivantes jusqu’à la fin du message repéré par une ligne contenant uniquement un point ◦ Le corps du mail contient éventuellement certains des entêtes suivants : ◦ Les nouvelles spécifications du protocole SMTP, définies dans le RFC 2821, imposent que la commande HELO soit remplacée par la commande EHLO (avril 2001) • La seconde commande est MAIL FROM : suivie de l’adresse email de l’expéditeur. Si la commande est acceptée le serveur renvoie le message 250 OK • La commande suivante est RCPT TO : suivie de l’adresse email du destinataire. Si la commande est acceptée le serveur renvoie le message 250 OK [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 273 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application S: C: 250 OK RCPT TO :<[email protected]> S: C: S: 550 No such user here DATA 354 Start mail input ; end with <CRLF>.<CRLF> C C C C C C Subject : Un petit bonjour Salut Mohamed, comment ca va ? S: C: S: RSSA - ENIT 274 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P SMTP - Les principales commandes SMTP 220 smtp.enit.tn SMTP Ready EHLO merlin.enit.tn 250 smtp.enit.tn MAIL FROM :<[email protected]> 250 OK RCPT TO :<[email protected]> : : : : : : [email protected] Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P S: C: Date Subject Cc - Carbon Copy (copie carbone) Bcc - Blind Carbon Copy (copie carbone invisible) From ◦ Si la commande est acceptée le serveur renvoie le message 250 OK SMTP - Un exemple de scénario de demande d’envoi de mail à un serveur SMTP S: C: S: C: Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Commande Exemple Description EHLO EHLO 193.56.47.125 MAIL FROM : MAIL FROM : [email protected] RCPT TO : [email protected] DATA message QUIT HELP Identification à l’aide de l’adresse IP ou du nom de domaine de l’ordinateur expéditeur Identification de l’adresse de l’expéditeur RCPT TO : DATA QUIT HELP Identification de l’adresse du destinataire Corps du mail Sortie du serveur SMTP Liste des commandes SMTP supportées par le serveur A bientot ! <CRLF>.<CRLF> 250 OK QUIT 221 smtp.enit.tn closing transmission [email protected] RSSA - ENIT 275 [email protected] RSSA - ENIT 276 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application SMTP - Le codage des messages (1) Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P SMTP - Le codage des messages (2) • Quoted-printable ◦ Utilisé pour transférer du texte ◦ Utile pour transférer des caractères ASCII étendus (codés sur 8 bits > 128) comme les caractères accentués • Les spécifications de base du protocole SMTP veulent que tous les caractères transmis soient codés en code ASCII sur 7 bits et que le 8ème bit soit explicitement mis à zéro ⇒ problème de la représentation des caractères accentués, du transfert des octets (images . . . ) ; • Recours à des algorithmes intégrant les spécifications MIME : Les caractères sont encodés sur 3 caractères (= et code hexadécimal) Caractère espace encodé =20 • Base64 ◦ Utilisé pour transférer des flux d’octets ◦ Utile pour transférer des images ou autre série d’octets en tant que caractère ASCII NVT ◦ 3 octets (24 bits) sont transférés en tant que 4 caractères ASCII NVT : les 3 octets sont découpés en 4 fois 6 bits ◦ Bourrage avec le caractère = si pas aligné sur 4 caractères ◦ Utile pour ne pas avoir à transférer plus de bits que le contenu initial (excepté le bourrage) ◦ Quoted-printable (d’abréviation QP) pour les caractères spéciaux contenus dans le corps du message ◦ Base64 pour les fichiers attachés [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 277 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application SMTP - Le codage des messages (3) RSSA - ENIT 278 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P MIME - Multipurpose Internet Mail Extensions • Nouveaux entêtes MIME (RFC 2045 et RFC 2046) ◦ Mime-Version : 1.0 ◦ Content-Type : type/sous-type ; paramètres • ESMTP - Enhanced SMTP simples : text/plain ; charset=”ISO-8859-1” (text/html, image/jpeg) structurés : multipart/mixed ; Boundary=hjfdskjhfdshfdsk (chaque partie du message débute par : hjfdskjhfdshfdsk ; imbrications possibles) ◦ Une évolution de SMTP qui permet le transfert des messages sans passer au format ASCII NVT ◦ Transfert de blocs de données sur 8 bits (flux d’octets) ◦ Spécifié par Content-Transfert-Encoding : 8 bit ou binary dans l’entête [email protected] RSSA - ENIT ◦ Content-Disposition : présentation du morceau (RFC 2183) ◦ Content-Transfer-Encoding : encodage indépendant d’ESMTP 7 bits compatible avec les ancien MTA - Mail Transfer Agent RFC 821 (7 bits (ASCII NVT, quoted-printable (recommandé pour tout texte), base64 (recommandé pour les flux d’octets)) 8 bits si la commande 8BITMIME est acceptée (8 bits et binary (lignes ou bloc de données sur 8 bits)) 279 [email protected] RSSA - ENIT 280 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application POP - Post Office Protocol (1) Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P POP - Post Office Protocol (2) • POP permet d’aller récupérer son courrier sur un serveur distant (le serveur POP) • POP est nécessaire pour les personnes n’étant pas connectées en permanence à Internet afin de pouvoir consulter les mails reçus hors connexion • Deux versions du protocole POP, POP2 et POP3, auxquels sont affectés respectivement les ports 109 et 110 et fonctionnant à l’aide de commandes textuelles radicalement différentes • POP fonctionne grâce à des commandes textuelles envoyées au serveur POP • Une commande envoyée par le client (validée par la séquence CR/LF) est composée d’un mot-clé, éventuellement accompagné d’un ou plusieurs arguments et est suivie d’une réponse du serveur POP composée d’un numéro et d’un message descriptif [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 281 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application POP - Post Office Protocol (3) RSSA - ENIT RSSA - ENIT 282 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P POP3 - Les principales commandes (1) • POP3 gère l’authentification à l’aide d’un nom d’utilisateur et d’un mot de passe • POP3 n’est pas sécurisé car les mots de passe, au même titre que les mails, circulent en clair (de manière non chiffrée) sur le réseau • POP3 autorise le chiffrement du mot de passe en utilisant l’algorithme MD5 (RFC1939) (optionnel, très peu de serveurs l’implémentent) • POP3 bloque la boı̂te aux lettres lors de la consultation (une consultation simultanée par deux utilisateurs d’une même boı̂te aux lettres est impossible) [email protected] [email protected] Commande Description USER <USERID> Cette commande permet de s’authentifier. Elle doit être suivie du nom de l’utilisateur. La commande USER doit précéder la commande PASS La commande PASS permet d’indiquer le mot de passe de l’utilisateur dont le nom a été spécifié lors d’une commande USER préalable Information sur les messages contenus sur le serveur Cette commande permet de récupérer le message dont le numéro est indiqué en paramètre depuis le serveur POP Cette commande permet de supprimer le message dont le numéro est indiqué en paramètre sur le serveur POP Cette commande permet d’afficher le message dont le numéro est indiqué en paramètre Cette commande permet de garder les connexion ouverte en cas d’inactivité PASS <PASSWORD> STAT RETR <MSGID> DELE <MSGID> LIST [MSGID] NOOP 283 [email protected] RSSA - ENIT 284 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application POP3 - Les principales commandes (2) Commande Description TOP <MSGID> <n> Commande affichant n lignes du message, dont le numéro est donné en argument. En cas de réponse positive du serveur, celui-ci renvoie les entêtes du message, puis une ligne vierge et enfin les n premières lignes du message Demande au serveur de renvoyer une ligne contenant des informations sur le message éventuellement donné en argument. Cette ligne contient une chaı̂ne de caractères, appelée listing d’identificateur unique, permettant d’identifier de façon unique le message sur le serveur, indépendamment de la session. L’argument optionnel est un numéro correspondant à un message existant sur le serveur POP La commande QUIT demande la sortie du serveur POP3. Elle entraı̂ne la suppression de tous les messages marqués comme effacés et renvoie l’état de cette action UIDL [MSGID] QUIT [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P POP3 - Les principales commandes (3) C: S: C: S: C: S: C: S: C: S: S: S: S: C: S: S: C: C: S: 285 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P telnet popsiav.enst.fr +OK Hello there USER koubaa +OK Password required. PASS ****** +OK logged in. STAT +OK 4591 463095345 LIST 1 498 2 912 ... . RETR 1 +OK 9203 octets follow. <contenu du message 1> DELE 1 QUIT +OK Bye-bye [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application IMAP - Internet Message Access Protocol RSSA - ENIT 286 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P L’accès HTTP - HyperText Transfer Protocol ou webmail • L’accès webmail n’utilise pas un protocole d’accès spécifique ◦ L’utilisateur utilise un navigateur web comme agent utilisateur pour consulter/envoyer ses courriers • IMAP est un protocole alternatif au protocole POP3 mais offrant beaucoup plus de possibilités : • Utilise le protocole HTTP (ou HTTPs) pour communiquer avec les serveurs SMTP/IMAP ◦ IMAP permet de gérer plusieurs accès simultanés ◦ IMAP permet de gérer plusieurs boı̂tes aux lettres ◦ IMAP permet de trier le courrier selon plus de critères ◦ Le serveur HTTP exécute des scripts qui utilisent : Le protocole IMAP pour communiquer avec le serveur IMAP et ainsi manipuler les messages distants de l’utilisateur Le protocole SMTP pour traduire une demande d’envoi d’un message de la part de l’utilisateur • L’accès webmail est adapté aux utilisateurs itinérants • L’accès webmail n’exige pas un agent utilisateur particulier, seule une connexion Internet avec navigateur web est nécessaire [email protected] RSSA - ENIT 287 [email protected] RSSA - ENIT 288 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Plan du cours • • • • Introduction (1) Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P • On appelle web (nom anglais signifiant toile), contraction de World Wide Web (d’où l’acronyme www), une des possibilités offertes par le réseau Internet de naviguer entre des documents reliés par des liens hypertextes • Le concept du web a été mis au point au CERN (Centre Européen de Recherche Nucléaire) en 1991 par une équipe de chercheurs à laquelle appartenaient Tim-Berners LEE (créateur du concept d’hyperlien et considéré comme le père fondateur du web) • Le principe du web repose sur l’utilisation d’hyperliens pour naviguer entre des documents (appelés pages web) grâce à un logiciel client appelé navigateur (parfois également appelé fureteur ou butineur ou en anglais browser) Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 289 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction (2) RSSA - ENIT 290 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction (3) • Une page web est un simple fichier texte écrit dans un langage de description (appelé HTML - HyperText Markup Language), permettant de décrire la mise en page du document et d’inclure des éléments graphiques et éventuellement des liens vers d’autres documents • Le web prend tout son sens avec le protocole HTTP - HyperText Transfer Protocol permettant de lier des documents hébergés par des ordinateurs distants (appelés serveurs web, par opposition au client que représente le navigateur) • Un document web est repéré par une adresse unique, appelée URL Uniform Resource Location, permettant de localiser une ressource sur n’importe quel serveur du réseau Internet [email protected] [email protected] RSSA - ENIT 291 • Un site web (aussi appelé site Internet ou page perso dans le cas d’un site Internet à but personnel) est un ensemble de fichiers HTML stockés sur un ordinateur (serveur web) connecté en permanence à Internet et hébergeant les pages web • Un site web est habituellement architecturé autour d’une page centrale, appelée page d’accueil et proposant des liens vers un ensemble d’autres pages hébergées sur le même serveur, et parfois des liens dits externes vers des pages hébergées par un autre serveur [email protected] RSSA - ENIT 292 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction (4) HTTP - HyperText Transfer Protocol • Une URL se présente sous la forme http://www.enit.rnu.tn/fr/formation/genie_informatique.php • HTTP est le protocole le plus utilisé sur Internet depuis 1990 • Les différentes versions du protocole HTTP : ◦ http:// indique le protocole à utiliser pour naviguer sur le web (protocole HTTP, protocole par défaut) ◦ www.enit.rnu.tn correspond à l’adresse du serveur qui héberge les pages web Les serveurs web (par convention) possèdent un nom commençant par www., afin de bien symboliser qu’il s’agit de serveurs dédiés à l’usage du web et surtout dans un souci de cohérence afin de permettre la mémorisation de l’adresse La seconde partie de l’adresse (enit.rnu.tn) est le nom de domaine Un site web peut être hébergé par plusieurs serveurs appartenant tous à un même domaine (www.enit.rnu.tn, intranet.enit.rnu.tn, . . . ) ◦ /fr/formation/genie_informatique.php permet d’indiquer la localisation du document sur la machine (le fichier genie_informatique.php est situé dans le répertoire formation lui même situé dans le répertoire fr) [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P RSSA - ENIT 293 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P ◦ La version 0.9 du protocole HTTP était uniquement destinée à transférer des données sur Internet (en particulier des pages web écrites en HTML) ◦ La version 1.0 du protocole HTTP (la plus utilisée) permet désormais de transférer des messages avec des entêtes décrivant le contenu du message en utilisant un codage de type MIME • HTTP permet un transfert de fichiers (essentiellement au format HTML) localisés grâce à une URL entre un navigateur (le client) et un serveur web (appelé httpd sur les machines UNIX) [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application HTTP - La communication entre client et serveur RSSA - ENIT 294 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P HTTP - Le format d’une requête • Une requête HTTP est un ensemble de lignes envoyées au serveur par le navigateur • Une requête HTTP comprend : ◦ Une ligne de requête comportant trois éléments devant être séparés par un espace : la méthode, l’URL et la version du protocole utilisé par le client ◦ Les champs d’entête de la requête Un ensemble de lignes facultatives permettant de donner des informations supplémentaires sur la requête (navigateur client, système d’exploitation du client, . . . ) ; chaque ligne comporte un nom qualifiant le type d’entête suivi de deux points et de la valeur de l’entête ◦ Le corps de la requête Un ensemble de lignes optionnelles Les lignes permettent par exemple un envoi de données par une commande POST lors de l’envoi de données au serveur par un formulaire Le corps de la requête devra être séparé du reste de la requête par une ligne vide • Le navigateur effectue une requête HTTP • Le serveur traite la requête puis envoie une réponse HTTP [email protected] RSSA - ENIT 295 [email protected] RSSA - ENIT 296 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application HTTP - La syntaxe d’une requête LA LIGNE DE LA REQUÊTE LES CHAMPS D’ENTÊTE HTTP - Les commandes MÉTHODE URL VERSION<CRLF> GET http ://www.enit.rnu.tn HTTP/1.0 ENTÊTE : Valeur<CRLF> Commande GET HEAD POST PUT DELETE ENTÊTE : Valeur<CRLF> Accept : text/html If-Modified-Since : Saturday, 15-January-2000 14 :37 :11 GMT User-Agent : Mozilla/4.0 (compatible ; MSIE 5.0 ; Windows 95) UNE LIGNE VIDE LE CORPS DE LA REQUÊTE Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 297 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P RSSA - ENIT RSSA - ENIT 298 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P HTTP - Le format d’une réponse Description Type de contenu accepté par le browser (par exemple text/html) Jeu de caractères attendu par le browser Codage de données accepté par le browser Langage attendu par le browser (anglais par défaut) Identification du browser auprès du serveur Type de codage du corps de la requête Type de langage du corps de la requête Longueur du corps de la requête Type de contenu du corps de la requête (par exemple text/html) Date de début de transfert des données Utilisé par les machines intermédiaires entre le browser et le serveur Permet de spécifier l’adresse e-mail du client Permet de spécifier que le document doit être envoyé s’il a été modifié depuis une certaine date Relation entre deux URL URL d’origine de la requête URL du lien à partir duquel la requête a été effectuée Chaı̂ne donnant des informations sur le client, comme le nom et la version du navigateur, du système d’exploitation [email protected] [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application HTTP - Les entêtes de requête Link Orig-URL Referer User-Agent Description Requête de la ressource située à l’URL spécifiée Requête de l’entête de la ressource située à l’URL spécifiée Envoi de données au programme situé à l’URL spécifiée Envoi de données à l’URL spécifiée Suppression de la ressource située à l’URL spécifiée CORPS DE LA REQUÊTE [email protected] Nom de l’entête Accept Accept-Charset Accept-Encoding Accept-Language Authorization Content-Encoding Content-Language Content-Length Content-Type Date Forwarded From From Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P • Une réponse HTTP est un ensemble de lignes envoyées au navigateur par le serveur • Une réponse HTTP comprend : ◦ Une ligne de statut Une ligne précisant la version du protocole utilisé et l’état du traitement de la requête à l’aide d’un code et d’un texte explicatif La ligne comprend trois éléments devant être séparés par un espace : la version du protocole utilisé, le code de statut et la signification du code ◦ Les champs d’entête de la réponse Un ensemble de lignes facultatives permettant de donner des informations supplémentaires sur la réponse et ou le serveur ; chaque ligne comporte un nom qualifiant le type d’entête suivi de deux points et de la valeur de l’entête ◦ Le corps de la réponse Le document demandé par la requête 299 [email protected] RSSA - ENIT 300 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application HTTP - La syntaxe d’une réponse LA LIGNE DE STATUT LES CHAMPS D’ENTÊTE HTTP - Les codes de réponse (1) VERSION-HTTP CODE EXPLICATION<CRLF> HTTP/1.0 200 OK ENTÊTE : Valeur<CRLF> ENTÊTE : Valeur<CRLF> Date : Sat, 15 Jan 2000 14 :37 :12 GMT Server : Microsoft-IIS/2.0 Content-Type : text/HTML Content-Length : 1245 Last-Modified : Fri, 14 Jan 2000 08 :25 :13 GMT UNE LIGNE VIDE LE CORPS DE LA RÉPONSE CORPS DE LA RÉPONSE [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT Message Redirection 301 302 MOVED FOUND 303 METHOD 304 NOT MODIFIED Message Message d’information 20x 200 201 Réussite OK CREATED 202 ACCEPTED 203 PARTIAL INFORMATION 204 NO RESPONSE 205 RESET CONTENT 206 PARTIAL CONTENT RSSA - ENIT Description Ces codes ne sont pas utilisés dans la version 1.0 du protocole Ces codes indiquent le bon déroulement de la transaction La requête a été accomplie correctement Elle suit une commande POST, elle indique la réussite, le corps du reste du document est sensé indiquer l’URL à laquelle le document nouvellement créé devrait se trouver La requête a été acceptée, mais la procédure qui suit n’a pas été accomplie Lorsque ce code est reçu en réponse à une commande GET, cela indique que la réponse n’est pas complète Le serveur a reçu la requête mais il n’y a pas d’information à renvoyer Le serveur indique au navigateur de supprimer le contenu des champs d’un formulaire Il s’agit d’une réponse à une requête comportant l’entête range. Le serveur doit indiquer l’entête content-Range [email protected] Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 302 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P HTTP - Les codes de réponse (3) Description Ces codes indiquent que la ressource n’est plus à l’emplacement indiqué Les données demandées ont été transférées à une nouvelle adresse Les données demandées sont à une nouvelle URL, mais ont cependant peut-être été déplacées depuis Cela implique que le client doit essayer une nouvelle adresse, en essayant de préférence une autre méthode que GET Si le client a effectué une commande GET conditionnelle (en demandant si le document a été modifié depuis la dernière fois) et que le document n’a pas été modifié il renvoie ce code [email protected] Code 10x 301 HTTP - Les codes de réponse (2) Code 30x Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P 303 Code 40x 400 Message Erreur due au client BAD REQUEST 401 UNAUTHORIZED 402 PAYMENT REQUIRED 403 404 FORBIDDEN NOT FOUND Description Ces codes indiquent que la requête est incorrecte La syntaxe de la requête est mal formulée ou est impossible à satisfaire Le paramètre du message donne les spécifications des formes d’autorisation acceptables. Le client doit reformuler sa requête avec les bonnes données d’autorisation Le client doit reformuler sa demande avec les bonnes données de paiement L’accès à la ressource est tout simplement interdit Classique ! Le serveur n’a rien trouvé à l’adresse spécifiée [email protected] RSSA - ENIT 304 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application HTTP - Les codes de réponse (4) Code 50x Message Erreur due au serveur 500 INTERNAL ERROR 501 502 NOT IMPLEMENTED BAD GATEWAY 503 SERVICE UNAVAILABLE 504 GATEWAY TIMEOUT HTTP - Les entêtes de réponse Description Ces codes indiquent qu’il y a eu une erreur interne du serveur Le serveur a rencontré une condition inattendue qui l’a empêché de donner suite à la demande Le serveur ne supporte pas le service demandé Le serveur a reçu une réponse invalide de la part du serveur auquel il essayait d’accéder en agissant comme une passerelle ou un proxy Le serveur ne peut pas vous répondre à l’instant présent, car le trafic est trop dense La réponse du serveur a été trop longue vis-à-vis du temps pendant lequel la passerelle était préparée à l’attendre [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT Nom de l’entête Content-Encoding Content-Language Content-Length Content-Type Date Expires Forwarded Location Server 305 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P [email protected] RSSA - ENIT 306 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P HTTP - Notion de cookies (2) • Un cookie est en réalité un fichier stocké sur le disque dur de l’utilisateur afin de permettre au serveur web de le reconnaı̂tre d’une page web à l’autre • Les cookies sont notamment utilisés par les sites de commerce électronique afin de conserver les préférences de l’utilisateur (par exemple les options qu’il a coché) afin de lui éviter de les resaisir • Les cookies peuvent s’avérer nuisibles à l’utilisateur ◦ Un utilisateur se connectant à un site personnalisable se voit poser quelques questions afin de dresser son profil ◦ Les informations recueillies sont stockées dans un cookie ◦ La manière avec laquelle l’information est stockée peut s’avérer nuisible à l’utilisateur (selon le site) RSSA - ENIT Description Type de codage du corps de la réponse Type de langage du corps de la réponse Longueur du corps de la réponse Type de contenu du corps de la réponse (par exemple text/html) Date de début de transfert des données Date limite de consommation des données Utilisé par les machines intermédiaires entre le browser et le serveur Redirection vers une nouvelle URL associée au document Caractéristiques du serveur ayant envoyé la réponse Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application HTTP - Notion de cookies (1) [email protected] Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P 307 • Un cookie est un mécanisme permettant de créer une association entre la session de l’utilisateur (navigation entre des pages d’un même site pendant une période donnée) et les données le concernant ◦ Un site pourra, en sachant si l’utilisateur est un homme ou une femme, peut l’aiguiller directement au rayon approprié (économie de temps et pour mieux vendre) ◦ Si par exemple l’utilisateur indique dans son profil qu’il est amateur de tennis, le site sera en mesure de lui proposer une sélection personnalisée des derniers articles en la matière [email protected] RSSA - ENIT 308 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application HTTP - Notion de cookies (3) HTTP - Notion de cookies (4) • Le cookie contient une chaı̂ne aléatoire (identifiant de session) unique et difficilement devinable, valide uniquement pendant un temps donné • Seul le serveur doit pouvoir être en mesure d’associer les préférences de l’utilisateur à cet identifiant • À l’expiration du cookie l’identifiant de session sera inutile et le cookie ne contiendra aucune information concernant l’utilisateur • La durée de vie d’un cookie doit être la plus proche possible de celle correspondant à la session de l’utilisateur [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT • Les données stockées dans un cookie sont envoyées par le serveur sur la base des données renseignées par l’utilisateur (à l’exception de l’adresse IP et de l’identification du navigateur transmis automatiquement au serveur) • Un cookie ne peut en aucun cas contenir des informations sur l’utilisateur qu’il n’a pas données ; le cookie ne peut pas collecter d’informations sur le système de l’utilisateur • Un cookie n’a donc rien de dangereux en soi s’il est bien conçu et si l’utilisateur ne donne pas d’informations personnelles • Refusez de céder des informations personnelles à un site ne vous inspirant pas confiance 309 [email protected] Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application HTTP - Fonctionnement des cookies • Un client ne peut pas avoir plus de 300 cookies sur son disque • Un serveur ne peut créer que 20 cookies maximum chez le client RSSA - ENIT RSSA - ENIT 310 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P HTTP - Principaux attributs possibles pour un cookie • Les cookies font partie des spécifications du protocole HTTP • L’entête HTTP réservé à l’utilisation des cookies s’appelle Set-Cookie (exemple : Set-Cookie : NOM=VALEUR ; domain=NOM DE DOMAINE ; expires=DATE) • Un cookie ne peut pas dépasser 4 Ko [email protected] Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P 311 Attribut Valeur Syntaxe Description Nom du cookie Valeur Seul attribut obligatoire expires Date Le nom et la valeur ne peuvent pas contenir les caractères point-virgule, virgule et espace. Pour mettre de telles valeur il faut recourir à l’encodage URL Jour, DD-Mois-YYYY HH :MM :SS GMT domain Nom du domaine xxx.xxx.xxx path /repertoire /chemin/ secure aucun [email protected] L’attribut expires permet de définir la date à laquelle le cookie ne doit plus être stocké sur le disque, et ne doit plus être pris en compte par le serveur Le nom de domaine est généralement laissé vide car le nom du serveur est assigné par défaut (c’est ce que l’on désire généralement). Lorsqu’il est indiqué, le nom de domaine doit contenir au moins deux points (www.enit.rnu.tn). Une machine provenant d’un domaine spécifique ne peut spécifier qu’un nom de sousdomaine ou son propre nom de domaine L’attribut path permet de définir un sous-répertoire ou un fichier du serveur sur lequel le cookie est valide, afin de réduire son champ d’action L’attribut secure est optionnel. Il permet de spécifier que le cookie sera envoyé uniquement si la connexion est sécurisée (par SSL ou S-HTTP) RSSA - ENIT 312 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Notion de serveur proxy Principe de fonctionnement d’un proxy • Un serveur proxy (appelé aussi serveur mandataire) est une machine faisant fonction d’intermédiaire entre les ordinateurs d’un réseau local et Internet • La plupart du temps le serveur proxy est utilisé pour le web (proxy HTTP) • Il peut exister des serveurs proxy pour chaque protocole applicatif [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 313 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P ◦ Un utilisateur se connectant à Internet à l’aide d’une application cliente configurée pour utiliser un serveur proxy va se connecter en premier lieu au serveur proxy et lui transmettre sa requête ◦ Le serveur proxy se connecte au serveur que l’application cliente cherche à joindre avant de lui remettre la requête ◦ Le serveur envoie sa réponse au proxy qui la transmet à l’application cliente [email protected] RSSA - ENIT 314 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Fonction de cache • Le rôle de relais du serveur proxy est assuré par les passerelles et les routeurs • Les fonctionnalités principales d’un serveur proxy La fonction de cache La fonction de filtrage La fonction d’authentification Les reverse-proxy [email protected] • Un serveur proxy est un serveur mandaté par une application pour effectuer une requête sur Internet à sa place Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Fonctionnalités d’un serveur proxy ◦ ◦ ◦ ◦ Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P • Capacité à garder en mémoire (en cache) les pages web les plus souvent visitées par les utilisateurs du réseau local afin de pouvoir les leur fournir le plus rapidement possible • Un serveur proxy ayant la possibilité de mettre en cache les informations est généralement appelé serveur proxy-cache ◦ Réduit l’utilisation de la bande passante vers Internet ◦ Réduit le temps d’accès aux documents pour les utilisateurs • Le proxy compare régulièrement les données qu’il stocke en mémoire cache avec les données distantes afin de s’assurer que les données en cache sont toujours valides RSSA - ENIT 315 [email protected] RSSA - ENIT 316 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Fonction de filtrage Fonction d’authentification • Un serveur proxy peut assurer un suivi des connexion (logging ou tracking) via la constitution de journaux d’activité (logs) en enregistrant systématiquement les requêtes des utilisateurs • Un serveur proxy peut filtrer les connexions à Internet en analysant les requêtes des clients et les réponses des serveurs • Un proxy peut servir d’authentifier les utilisateurs (leur demander de s’identifier à l’aide d’un nom d’utilisateur et d’un mot de passe) • L’accès aux ressources externes est réservé aux seules personnes autorisées à le faire (possibilité d’enregistrer dans les fichiers journaux des accès identifiés) • Complexité supérieure relative aux libertés individuelles et aux droits des personnes ◦ Liste blanche ◦ Liste noire • L’analyse des réponses des serveurs conformément à une liste de critères (mots-clés, . . . ) est appelé filtrage de contenu [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 317 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Reverse-proxy (1) RSSA - ENIT 318 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Reverse-proxy (2) • Un reverse-proxy (relais inverse) est un serveur proxy-cache monté à l’envers permettant aux utilisateurs d’Internet (utilisateurs externes) d’accéder indirectement à certains serveurs internes [email protected] Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P RSSA - ENIT 319 • Protection accrue du serveur contre les attaques directes de l’extérieur (renforcement de la sécurité du réseau interne) • La fonction de cache du reverse-proxy permet de soulager la charge du serveur pour lequel il est prévu (serveur accélérateur (server accelerator)) • Le reverse-proxy peut servir à répartir la charge en redirigeant les requêtes vers différents serveurs équivalents (load balancing) [email protected] RSSA - ENIT 320 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Notion d’interface CGI Langage de programmation des CGI • Un script CGI - Common Gateway Interface est un programme exécuté par le serveur web permettant d’envoyer au navigateur du client un code HTML créé automatiquement par le serveur (basé par exemple sur une autre application telle qu’un système de gestion de base de données) • Un des principaux intérêts de l’utilisation de CGI est la possibilité de fournir des pages dynamiques (c’est-à-dire des pages personnalisées selon un choix ou une saisie du client) • L’application la plus fréquente repose sur l’utilisation de formulaires HTML • Les CGI sont puissants mais dangereux (possibilité d’exécuter tout et n’importe quoi par le démon HTTP du serveur, risque de surcharge du serveur) [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 321 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P ◦ ◦ ◦ ◦ capable de lire le flux de données d’entrée capable de traiter des chaı̂nes de caractères capable d’écrire sur le flux standard de sortie exécutable ou interprétable par le serveur web • Les langages de programmation les plus utilisés pour l’écriture des CGI sont : ◦ Le langage Perl (particulièrement adapté à la manipulation de chaı̂nes de caractères) ◦ Les langages C et C++ ◦ Le langage Java [email protected] RSSA - ENIT 322 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Un exemple de script CGI • Un serveur recevant une requête venant d’un client commence par examiner l’extension du fichier demandé afin de déterminer l’action à effectuer ◦ cas d’un fichier HTML (extension .htm ou .html) Le serveur génère des entêtes de réponse HTTP qu’il envoie au client avant de transmettre le fichier HTML demandé ◦ cas d’un fichier CGI écrit en Perl (extension .pl) Le serveur exécute l’interpréteur Perl, interprète le code contenu dans le fichier portant l’extension .pl, envoie les données au serveur qui les retransmet au navigateur comme dans le cas d’un fichier HTML ◦ cas d’un fichier CGI écrit en langage C (extension .exe sous Windows) Le serveur exécute le CGI avant de transmettre les données que le programme lui aura transmis vers le navigateur • Le rôle d’un script CGI est de recevoir des données envoyées par le serveur, de les traiter, puis de renvoyer des entêtes de réponses et des tags HTML valides RSSA - ENIT • Un programme CGI peut être écrit dans à peu près n’importe quel langage de programmation pourvu que celui-ci soit : Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Interprétation d’une requête par le serveur [email protected] Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P 323 # ! /bin/sh # date.cgi echo ’Content-type :text/html’ echo ” # création du corps du document echo ’<HTML><HEAD><TITLE>’ echo ’date.cgi’ echo ’</TITLE></HEAD><BODY>’ echo ’<H1>Date sur le serveur</H1>’ echo -n ”On est le ’date + %D’, il est ” echo ” ’date + %H ’h’ date + %M’ m” echo ’</BODY></HTML>’ Source du programme CGI (date.cgi) [email protected] unix> ./date.cgi Content-type :text/html <HTML><HEAD><TITLE> date.cgi </TITLE></HEAD><BODY> <H1>Date sur le serveur</H1> On est le 13/05/07, il est 11h30m </BODY></HTML> Code HTML généré par le serveur RSSA - ENIT 324 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Notion de formulaire HTML Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Formulaire HTML - client passif • Les formulaires interactifs permettent aux auteurs de pages Web de doter leur page web d’éléments interactifs permettant par exemple un dialogue avec les internautes • L’utilisateur saisit des informations en remplissant des champs ou en cliquant sur des boutons puis appuie sur un bouton de soumission pour envoyer le contenu soit à un URL ou à un script de page web dynamique tel que PHP, ASP ou un script CGI • Des balises HTML décrivent les différents champs de saisie • Chaque zone est identifiée par un nom symbolique auquel sera associée une valeur par l’utilisateur • À la soumission du formulaire, tous les couples (nom, valeur) de toutes les zones sont transmis dans la requêtes HTTP au serveur • À chaque zone de saisie peut être associé un traitement sur le client par l’intermédiaire d’un événement Javascript [email protected] Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 325 [email protected] Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Formulaire HTML - client actif Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ RSSA - ENIT 326 Plan du cours • • • • [email protected] RSSA - ENIT 327 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P [email protected] RSSA - ENIT 328 Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application Plan du cours • • • • Plan du cours • • • • Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application RSSA - ENIT 329 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P Plan du cours Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P [email protected] RSSA - ENIT Introduction aux réseaux Les protocoles de transport Les protocoles de cœur de réseau La couche application ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P [email protected] • • • • Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P 331 Introduction La notion d’annuaire Le transfert de fichiers L’émulation de terminal La messagerie électronique Le web La parole téléphonique La téléphonie sur IP La vidéo Les protocoles d’applications P2P [email protected] RSSA - ENIT 330