3.5 Récupération d'erreur et redémarrage (ERROR RECOVERY AND RESTART)
Il n'y a aucune disposition pour détecter les bits perdus ou brouillés lors du transfert de données ; ce niveau de contrôle d'erreur est géré par le TCP. Cependant, une procédure de redémarrage est fournie pour protéger les utilisateurs contre les défaillances graves du système (y compris les défaillances d'un hôte, d'un processus FTP ou du réseau sous-jacent).
La procédure de redémarrage n'est définie que pour les modes bloc et compressé de transfert de données. Elle nécessite que l'expéditeur des données insère un code de marqueur spécial (Marker Code) dans le flux de données avec certaines informations de marqueur. Les informations de marqueur n'ont de signification que pour l'expéditeur, mais doivent consister en des caractères imprimables dans la langue par défaut ou négociée de la connexion de contrôle (ASCII ou EBCDIC). Le marqueur pourrait représenter un comptage de bits, un comptage d'enregistrements ou toute autre information par laquelle un système peut identifier un point de contrôle de données (Checkpoint). Le récepteur de données, s'il implémente la procédure de redémarrage, marquerait alors la position correspondante de ce marqueur dans le système de réception, et retournerait cette information à l'utilisateur.
En cas de défaillance du système, l'utilisateur peut redémarrer le transfert de données en identifiant le point de défaillance avec la procédure de redémarrage FTP. L'exemple suivant illustre l'utilisation de la procédure de redémarrage.