RFC 959 FTP协议详解:控制与数据连接机制

需积分: 10 1 下载量 27 浏览量 更新于2024-07-25 收藏 316KB PDF 举报
"RFC 959 FTP 中文版详细描述" RFC 959是互联网工程任务组(IETF)发布的一个文档,详细定义了文件传输协议(FTP)。FTP是一种用于在网络上进行文件传输的标准协议,旨在提高文件共享性、提供非直接访问远程计算机的功能,并确保数据传输的可靠性和效率。此中文版RFC 959为读者提供了深入理解FTP工作原理和机制的指南。 FTP协议的基础包括以下关键概念: 1. **字节大小**:FTP协议区分了逻辑字节大小和传输字节大小。传输字节通常是8位,而逻辑字节大小可能不同。传输过程中,传输字节不一定等同于逻辑字节,且不负责解释数据结构。 2. **控制连接**:FTP使用控制连接来交换命令和响应,这条连接是在USER-PIT(用户协议接口)和SERVER-PI(服务器协议接口)之间建立的。 3. **数据连接**:数据连接是FTP用于实际传输数据的全双工连接。数据可以在服务器DTP(数据传输过程)和用户DTP之间,或者两个服务器DTP之间传输。 4. **DTP(数据传输过程)**:DTP负责建立和管理数据连接,既可以主动建立连接,也可以被动等待连接请求。 5. **EOR(记录尾)**:标识一个文件或记录的结束。 6. **NTV(网络虚拟终端)**:在网络环境中模拟终端设备,与Telnet协议中的定义类似。 7. **NVFS(网络虚拟文件系统)**:FTP协议允许的抽象文件系统,使得不同操作系统之间的文件操作变得可能。 8. **非连续文件传输**:FTP支持将大文件分割成多个部分(页)进行传输,便于在网络条件不佳时恢复传输。 9. **PI(协议解释器)**:在用户和服务器进程中,PI负责解析和执行FTP命令。 10. **服务器DTP**:服务器端的DTP通常处于主动模式,启动数据连接,并根据PI的指示进行数据传输。 11. **FTP进程**:FTP服务由用户FTP进程和服务器FTP进程协同工作,分别包含PI和DTP组件。用户FTP进程还包含用户接口。 在FTP操作流程中,用户PI通过控制连接发送FTP命令,服务器PI回应相应的响应。数据连接是双向的,只在传输数据时存在。用户DTP在指定的数据端口监听,服务器DTP则主动发起连接并开始数据传输。数据连接可以跨越不同的主机。 此外,FTP还支持在两台远程主机之间直接传输文件,而不通过本地主机,这涉及到更复杂的连接管理和参数设置。FTP的这种灵活性和适应性使其成为互联网上广泛使用的文件传输工具。