Couche application – Services reseau

Le protocole FTP

Le FTP (File Transfer Protocol) transfere des fichiers via TCP sur les ports 20 et 21. Modes actif et passif, securite avec FTPS et SFTP, et commandes Cisco copy pour la gestion des images IOS et des configurations.

Le protocole FTP (File Transfer Protocol) est un protocole de couche application de la pile TCP/IP, normalisé par la RFC 959 depuis 1985. Il constitue un standard historique pour le transfert de fichiers entre hôtes sur un réseau IP, notamment dans les environnements CISCO pour la gestion d’images IOS et de sauvegardes de configuration.

Norme : RFC 959 (IETF)

Ports utilisés :

  • 21/TCP : Connexion de contrôle (commandes, authentification, navigation dans l’arborescence)
  • 20/TCP : Port par défaut pour le transfert de données en mode actif

Fonctionnement général

Protocole FTP - Les échanges sur le port 20 et 21

Le protocole FTP fonctionne selon un modèle client/serveur. Le client FTP initie la connexion de contrôle vers le serveur FTP sur le port 21, puis des connexions de données sont établies pour le transfert effectif des fichiers.

Caractéristiques principales :

  • Support de l’authentification : par nom d’utilisateur et mot de passe, ou en mode anonyme
  • Modes de transfert : ASCII (texte) ou binaire (fichiers non texte)
  • Deux flux TCP distincts :
    • Connexion de contrôle (persistante)
    • Connexion de données (créée à chaque transfert, séparée pour l’envoi/réception)

Modes de connexion du protocole FTP

Mode Actif

  • Le client FTP initie la connexion de contrôle vers 21/TCP sur le serveur FTP
  • Lors d’un transfert, le client envoie au serveur la commande PORT, indiquant sur quel port éphémère (>1023) il attend la connexion de données
  • Le serveur FTP se connecte alors du port 20/TCP vers le port désigné du client

Mode Passif

  • Utilisé pour surmonter les restrictions NAT/Pare-feu
  • Le client FTP demande au serveur, via la commande PASV, sur quel port éphémère il doit initier la connexion de données
  • Le serveur répond avec le port, et c’est le client qui se connecte à ce port, évitant ainsi une connexion entrante du serveur vers le client

Sécurité du protocole FTP

Le protocole FTP transmet les identifiants et les données en clair, sans chiffrement natif. Cela expose le trafic à des risques d’interception sur le réseau.

FTPS (FTP Secure)

  • Ajoute SSL/TLS au protocole FTP (RFC 4217), pour le chiffrement des authentifications et des données
  • Support des certificats numériques
  • Utilisé principalement quand un cryptage fort est nécessaire, par exemple pour des transferts sensibles

SFTP (SSH File Transfer Protocol)

  • Protocole distinct, encapsulé dans SSH et n’ayant aucun lien de paquetisation ou de port avec le protocole FTP (SFTP utilise 22/TCP)
  • SFTP permet des fonctionnalités avancées (renommage, suppression, création de dossiers…) sécurisées

Utilisation du protocole FTP sur les équipements CISCO

Le protocole FTP est principalement utilisé pour :

  • Télécharger une image IOS vers le routeur ou switch Cisco
  • Sauvegarder/restaurer la configuration
  • Copier tout autre fichier entre l’équipement et un serveur centralisé

L’utilisation du protocole FTP est souvent préférée au protocole TFTP pour la gestion centralisée des configurations et images à cause de sa fiabilité et de ses fonctionnalités (authentification, gestion des fichiers).

Configuration FTP sur les équipements CISCO

Commandes de configuration globale essentielles

R1(config)# ip ftp username admin ! Définir le nom d'utilisateur FTP par défaut R1(config)# ip ftp password cisco123 ! Définir le mot de passe FTP par défaut R1(config)# ip ftp source-interface GigabitEthernet0/0 ! Choisir l'interface source pour les connexions FTP sortantes

Commandes pour le transfert d’images IOS

R1# copy ftp: flash: ! Télécharger une image du serveur FTP vers la flash du routeur R1# copy flash: ftp: ! Charger une image de la flash vers un serveur FTP

Lors de l’utilisation de cette commande, IOS vous demandera :

  • L’adresse IP du serveur FTP
  • Le nom d’utilisateur (si non configuré globalement)
  • Le mot de passe (si non configuré globalement)
  • Le nom du fichier source
  • Le nom du fichier de destination

Commandes pour la sauvegarde et restauration de configuration

R1# copy running-config ftp: ! Sauvegarder la configuration active sur un serveur FTP R1# copy startup-config ftp: ! Sauvegarder la configuration de démarrage sur un serveur FTP R1# copy ftp: running-config ! Restaurer une configuration depuis un serveur FTP R1# copy ftp: startup-config ! Charger une configuration de démarrage depuis un serveur FTP

Commandes avec spécification directe des identifiants

R1# copy ftp://admin:cisco123@192.168.1.100/c2900-universalk9-mz.SPA.155-3.M4a.bin flash:

Cette commande permet de spécifier directement l’utilisateur, le mot de passe, l’adresse IP du serveur et le chemin du fichier.

Commandes de diagnostic et dépannage

R1# debug ftp ! Activer le mode de dépannage FTP (diagnostic) R1# undebug all ! Désactiver tous les diagnostics en cours

Commandes de vérification

R1> show running-config ! Vérifier la configuration active R1> show startup-config ! Vérifier la configuration de démarrage R1> show file systems ! Voir les systèmes de fichiers et points de montage disponibles R1> show flash: ! Lister les fichiers présents sur la mémoire flash R1> show version ! Afficher les informations sur l'image IOS actuelle

Commandes optionnelles pour optimiser les transferts FTP

Configuration du mode passif

R1(config)# ip ftp passive ! Forcer l'utilisation du mode passif pour les connexions FTP sortantes

Cette commande est particulièrement utile quand le routeur se trouve derrière un NAT ou un pare-feu.

Configuration du timeout FTP

R1(config)# ip ftp timeout 30 ! Définir le timeout FTP (en secondes)

Vérification des paramètres FTP configurés

R1> show running-config | include ftp ! Afficher uniquement les lignes contenant "ftp" dans la configuration

Configuration sur les switches CISCO

Les commandes sont identiques sur les switches, seul le prompt change :

SWE(config)# ip ftp username admin ! Configuration sur switch de niveau 2 SWE(config)# ip ftp password cisco123 ! Définir les paramètres FTP SWE# copy ftp: flash: ! Télécharger une image vers le switchSWC(config)# ip ftp username admin ! Configuration sur switch de niveau 3 SWC(config)# ip ftp password cisco123 ! Définir les paramètres FTP SWC# copy running-config ftp: ! Sauvegarder la configuration

Mots-clés spécifiques du protocole FTP

  • Connexion de contrôle : Flux persistant dédié aux commandes et à l’authentification sur le port 21/TCP
  • Connexion de données : Flux temporaire ouvert à chaque transfert, port 20 (actif) ou port indiqué par le serveur (passif)
  • Mode ASCII/Binaire : Modes d’encodage des fichiers ; essentiel pour préserver l’intégrité des fichiers
  • Mode passif : Impératif pour des transferts à travers NAT ou pare-feu restrictifs
  • Anonymous FTP : Accès FTP sans authentification, utilisant “anonymous” comme nom d’utilisateur

Cas d’usage typiques en environnement CISCO

  • Déploiement centralisé d’images IOS sur un parc de routeurs et switches
  • Sauvegarde automatisée de configurations via un serveur FTP centralisé
  • Collecte des journaux ou fichiers de logs depuis les équipements
  • Transfert de certificats SSL pour les services HTTPS sur les équipements
  • Distribution de fichiers de configuration spécifiques par site

Scénario complet de mise à jour d’image IOS

R1> enable ! Passer en mode privilégié R1# configure terminal ! Entrer en mode de configuration globale R1(config)# ip ftp username ftpuser ! Définir l'utilisateur FTP R1(config)# ip ftp password ftppass ! Définir le mot de passe FTP R1(config)# ip ftp source-interface GigabitEthernet0/0 ! Définir l'interface source R1(config)# exit ! Retourner en mode privilégié R1# show flash: ! Vérifier l'espace disponible sur la flash R1# copy ftp: flash: ! Commencer le transfert

Le système demandera alors :

  • Address or name of remote host []? 192.168.1.100
  • Source filename []? c2900-universalk9-mz.SPA.155-3.M4a.bin
  • Destination filename [c2900-universalk9-mz.SPA.155-3.M4a.bin]? (Appuyer sur Entrée)
R1# show flash: ! Vérifier que le fichier a bien été copié R1# configure terminal ! Retourner en configuration R1(config)# boot system flash c2900-universalk9-mz.SPA.155-3.M4a.bin ! Définir la nouvelle image de boot R1(config)# exit ! Sortir de la configuration R1# write memory ! Sauvegarder la configuration R1# reload ! Redémarrer pour utiliser la nouvelle image

Pour vous préparer efficacement à la certification CCNA 200-301, approfondissez vos connaissances sur le protocole FTP et d’autres protocoles essentiels avec la formation vidéo officielle : Formation CCNA 200-301 (Cours vidéo)

Note importante : Toutes les configurations avancées, les restrictions relatives à la sécurité des transferts, la gestion des droits d’accès et les logs spécifiques sont documentés sur le site officiel de Cisco. Pour des environnements critiques ou exposés à Internet, privilégier systématiquement FTPS ou SFTP au protocole FTP standard pour garantir la confidentialité des données lors des transferts.

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.