3.5 错误恢复和重启 (Error Recovery and Restart)
没有提供检测数据传输中丢失或混淆位的规定; 此级别的错误控制由TCP处理。但是, 提供了重启过程以保护用户免受严重系统故障 (包括主机、FTP进程或底层网络的故障) 的影响。
重启过程仅为块和压缩数据传输模式定义。它要求数据发送方在数据流中插入带有一些标记信息的特殊标记代码。标记信息仅对发送方有意义, 但必须由控制连接的默认或协商语言 (ASCII或EBCDIC) 的可打印字符组成。标记可以表示位计数、记录计数或系统可以用来标识数据检查点的任何其他信息。数据接收方, 如果实现重启过程, 则会在接收系统中标记此标记的相应位置, 并将此信息返回给用户。
在系统故障的情况下, 用户可以通过使用FTP重启过程标识标记点来重启数据传输。以下示例说明了重启过程的使用。
数据发送方在方便的点在数据流中插入适当的标记块。接收主机在其文件系统中标记相应的数据点, 并将最后已知的发送方和接收方标记信息传达给用户, 直接或通过控制连接在110回复中 (取决于谁是发送方)。在系统故障的情况下, 用户或控制器进程通过发送带有服务器标记代码作为其参数的重启命令, 在最后一个服务器标记处重启服务器。重启命令通过控制连接传输, 并紧接着是发生系统故障时正在执行的命令 (例如RETR, STOR或LIST)。