Couche application – Services reseau

Le protocole TFTP

Le TFTP (Trivial File Transfer Protocol) transfere des fichiers via UDP port 69. Specifications, commandes Cisco copy, gestion des images IOS et bonnes pratiques de securite pour la certification CCNA.

Le protocole TFTP (Trivial File Transfer Protocol) est un protocole d’application simplifié dédié au transfert de fichiers sur les réseaux IP. Il constitue un élément fondamental dans l’administration des équipements Cisco, particulièrement pour la gestion des images IOS et des fichiers de configuration. Contrairement au protocole FTP (File Transfer Protocol), le protocole TFTP utilise UDP (User Datagram Protocol) sur le port 69, ce qui le rend extrêmement léger mais moins sécurisé.

Spécifications techniques du protocole TFTP

RFC et normes :

  • RFC 1350 : Spécification initiale du protocole TFTP
  • RFC 2347 : Extension pour la négociation d’options TFTP
  • RFC 2348 : Option de taille de bloc (Blocksize Option)
  • RFC 2349 : Options de timeout et taille de transfert

Caractéristiques principales :

  • Port : UDP 69 (port de destination initial)
  • Protocole de transport : UDP exclusivement
  • Taille de bloc par défaut : 512 octets
  • Modes de transfert : netascii, octet (binaire), mail (obsolète)

Fonctionnement du protocole TFTP

les échanges du protocole tftp

Le protocole TFTP fonctionne selon un modèle client-serveur avec des mécanismes de contrôle simplifiés. Le client initie toujours la communication en envoyant une requête RRQ (Read Request) pour la lecture ou WRQ (Write Request) pour l’écriture.

Types de paquets TFTP :

  • RRQ (Read Request): Opcode 1 – Demande de lecture
  • WRQ (Write Request): Opcode 2 – Demande d’écriture
  • DATA : Opcode 3 – Données à transférer
  • ACK (Acknowledgment): Opcode 4 – Accusé de réception
  • ERROR : Opcode 5 – Message d’erreur

Le transfert s’effectue par blocs numérotés séquentiellement. Chaque bloc DATA est suivi d’un accusé de réception ACK. Un bloc de taille inférieure à 512 octets (ou à la taille négociée) indique la fin du transfert.

Commandes Cisco essentielles pour le protocole TFTP

Commandes de transfert fondamentales

R1# copy tftp flash:

Copier un fichier depuis un serveur TFTP vers la mémoire flash.

R1# copy flash: tftp

Sauvegarder un fichier de la mémoire flash vers un serveur TFTP.

R1# copy running-config tftp

Sauvegarder la configuration courante vers TFTP.

R1# copy tftp running-config

Charger une configuration depuis TFTP vers la configuration courante.

R1# copy startup-config tftp

Sauvegarder la configuration de démarrage vers TFTP.

R1# copy tftp startup-config

Restaurer une configuration de démarrage depuis TFTP.

Commandes de vérification et de diagnostic

R1# show flash:

Afficher le contenu de la mémoire flash.

R1# show file systems

Afficher tous les systèmes de fichiers disponibles.

R1# dir

Lister le contenu du répertoire courant.

R1# show version

Vérifier la version IOS et l’image de démarrage.

Commandes de configuration avancées

R1(config)# tftp-server flash:c2900-universalk9-mz.SPA.157-3.M5.bin

Configurer le routeur comme serveur TFTP.

R1(config)# ip tftp source-interface GigabitEthernet0/0

Définir l’interface source pour TFTP.

R1(config)# ip tftp blocksize 8192

Configurer la taille de bloc TFTP.

Configuration complète d’un transfert TFTP

Sauvegarde d’image IOS

R1# copy flash: tftp Source filename []? c2900-universalk9-mz.SPA.157-3.M5.bin Address or name of remote host []? 192.168.1.100 Destination filename [c2900-universalk9-mz.SPA.157-3.M5.bin]?

Mise à jour d’image IOS

R1# copy tftp flash: Address or name of remote host []? 192.168.1.100 Source filename []? c2900-universalk9-mz.SPA.158-3.M6.bin Destination filename [c2900-universalk9-mz.SPA.158-3.M6.bin]? Accessing tftp://192.168.1.100/c2900-universalk9-mz.SPA.158-3.M6.bin... Loading c2900-universalk9-mz.SPA.158-3.M6.bin from 192.168.1.100 (via GigabitEthernet0/0): !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Configuration de l’image de démarrage

R1(config)# boot system flash:c2900-universalk9-mz.SPA.158-3.M6.bin R1(config)# exit R1# copy running-config startup-config R1# reload

Gestion des erreurs avec le protocole TFTP

Le protocole TFTP peut générer plusieurs types d’erreurs qu’il est important de comprendre :

  • File not found : Le fichier demandé n’existe pas sur le serveur TFTP
  • Access violation : Permissions insuffisantes sur le serveur TFTP
  • Disk full : Espace insuffisant sur la destination
  • Illegal TFTP operation : Opération non supportée
  • File already exists : Le fichier existe déjà sur la destination
R1# debug tftp

Activer le debug TFTP pour diagnostiquer les problèmes.

R1# undebug all

Désactiver tous les debugs.

Options avancées du protocole TFTP

Extension RFC 2348 – Blocksize

Le protocole TFTP supporte la négociation de la taille de bloc pour améliorer les performances :

R1(config)# ip tftp blocksize 8192

Configurer une taille de bloc de 8192 octets pour améliorer significativement les performances sur des réseaux rapides en réduisant le nombre de paquets ACK nécessaires.

Extension RFC 2349 – Timeout et Tsize

ip tftp timeout : Configure le timeout pour les retransmissions

tsize : Permet au serveur d’indiquer la taille totale du fichier avant transfert

Sécurité et bonnes pratiques

Le protocole TFTP ne fournit aucune sécurité native. Voici les bonnes pratiques essentielles :

Isolation réseau :

  • Utiliser le protocole TFTP uniquement sur des réseaux de management isolés
  • Implementer des ACL pour restreindre l’accès au serveur TFTP
  • Désactiver le serveur TFTP quand il n’est pas utilisé

Alternatives sécurisées :

  • Utiliser SCP (Secure Copy Protocol) quand disponible
  • Considérer HTTPS pour les transferts sur des réseaux non sécurisés
  • Chiffrer les fichiers de configuration avant transfert TFTP
R1(config)# ip scp server enable

Activer le serveur SCP comme alternative sécurisée.

Utilisation sur les switchs Cisco

Les commandes TFTP fonctionnent également sur les switchs Cisco avec la même syntaxe :

SWC# copy tftp flash:

Télécharger vers un switch de niveau 3.

SWE# copy running-config tftp

Sauvegarder la configuration d’un switch de niveau 2.

SWC# show boot

Vérifier la configuration de démarrage sur un switch.

Dépannage avancé

Vérification de connectivité

R1# ping 192.168.1.100

Tester la connectivité vers le serveur TFTP.

R1# telnet 192.168.1.100 69

Tester l’accessibilité du port TFTP.

Analyse des transferts

R1# show processes cpu | include TFTP

Vérifier les processus TFTP actifs.

R1# show ip sockets

Afficher les connexions réseau actives.

Configuration pour certification CCNA

Pour l’examen CCNA 200-301, il est crucial de maîtriser :

  1. Les commandes copy de base avec le protocole TFTP
  2. La gestion des images IOS via TFTP
  3. La sauvegarde et restauration de configurations
  4. Le diagnostic des problèmes de transfert TFTP
  5. Les bonnes pratiques de sécurité

Le protocole TFTP reste un protocole fondamental dans l’écosystème Cisco malgré ses limitations sécuritaires. Sa simplicité et sa fiabilité en font un outil incontournable pour l’administration des équipements réseau.

Pour approfondir tes connaissances et te préparer efficacement à la certification CCNA 200-301, je te recommande la formation complète disponible sur Formation CCNA 200-301 qui couvre en détail tous les protocoles et commandes nécessaires à ta réussite.

Portrait d'Eric Jouffrion, contributeur du site FingerInTheNet

Eric JOUFFRILLON

Co-auteur de l'article

Expert SATCOM
Technicien Réseau
17 ans d’éxpérience déploiement réseau SATCOM
Spécialisé LFN (Long Fat Network).Diffusion vidéo et QOS.

Photo en noir et blanc de Noël Nicolas

Noël NICOLAS

Auteur de l'article

Expert Réseau
15 ans d’expérience
CCNP Routing and Switching
Fondateur du site FingerInTheNet

Formation CCNA 200-301Formation CCNA

Devenez certifié CCNA 200-301

La formation complète Cisco, à votre rythme et accès à vie.

Voir la formation →

Guide CISCO
🎁 eBook offert · valeur 9,90€

Recevez gratuitement le Guide CISCO

Le guide complet de configuration CISCO, offert à tous les membres de la communauté FITN.

  • Toutes les commandes CISCO essentielles
  • Des exemples concrets pas à pas
  • Téléchargement immédiat en PDF

Presque terminé !

Entrez vos informations pour recevoir le guide.