- ♂️ 作者:海码007
- 专栏:计算机四大基础专栏
- 其他章节:网络快速入门系列、计算机网络(一)、计算机网络(二)、计算机网络(三)
- 标题:【网络基础必看】计算机网络 FTP协议详解:中科大郑烇老师笔记 (四)
- ❣️ 寄语:以后的自己肯定会感谢现在努力的你!
- 最后:文章作者技术和水平有限,如果文中出现错误,希望大家能指正
♂️闲聊:看了下很多讲解计算机网络课程的目录,发现郑烇老师和他们不一样。郑烇老师的课是总上层降到下层,有些人的课是从下层讲到上层。我是之前有一点点的网络基础概念,所以听这门课感觉非常棒,不知道完全没有基础的人听这个课是什么感受。听到第二遍的时候肯定会有更好的收获!
FTP(File Transfer Protocol)是一种用于在计算机网络上进行文件传输的标准网络协议。它允许用户通过网络将文件从一个计算机传输到另一个计算机。FTP使用客户端-服务器模型,其中客户端通过FTP客户端软件连接到服务器,并进行文件上传、下载、删除和重命名等操作。
FTP协议使用两个端口进行通信:控制端口(默认端口号为21)和数据端口(默认端口号为20)。控制端口用于发送命令和接收服务器的响应,而数据端口用于实际的文件传输。
FTP协议支持匿名登录和身份验证登录两种方式。匿名登录允许用户以"anonymous"作为用户名和任意电子邮件地址作为密码进行登录,而身份验证登录需要提供有效的用户名和密码。
使用FTP协议,用户可以执行以下常见操作:
虽然FTP是一种常用的文件传输协议,但它在安全性方面存在一些问题,例如明文传输密码和数据,并且不支持文件的加密。因此,在对安全性要求较高的环境中,可以考虑使用安全的替代协议,如SFTP(SSH File Transfer Protocol)或FTPS(FTP over SSL/TLS)。
在FTP中,有两种类型的连接:控制连接(Control Connection)和数据连接(Data Connection)。
- 控制连接:
控制连接是FTP客户端和FTP服务器之间的控制通道。它主要用于传输命令和响应,以控制文件的传输和操作。控制连接始终保持活动状态,直到FTP会话结束。以下是控制连接的主要功能:
- 建立连接:FTP客户端通过TCP连接到FTP服务器的默认端口21,建立控制连接。
- 用户认证:客户端通过发送用户名和密码进行身份验证,以获得对FTP服务器的访问权限。
- 发送命令:客户端通过控制连接发送FTP命令,如上传文件、下载文件、创建目录、删除文件等。
- 接收响应:FTP服务器通过控制连接发送响应,指示命令是否成功执行。响应包括状态码和描述信息。
- 数据连接:
数据连接用于在FTP客户端和FTP服务器之间传输文件数据。控制连接负责建立和管理数据连接。根据数据传输的方向和模式,数据连接有两种类型:主动模式和被动模式。
- 主动模式(Active Mode):在主动模式下,FTP服务器通过在一个预定的端口(通常是20)上监听,主动地连接到FTP客户端的数据端口。
- 被动模式(Passive Mode):在被动模式下,FTP服务器等待FTP客户端发起数据连接,并在一个预定的端口上进行监听。
在数据连接建立后,文件或数据将通过数据连接进行传输,然后在传输完成后关闭连接。下面是数据连接的主要功能:
- 文件传输:FTP客户端和FTP服务器通过数据连接传输文件内容。
- 目录列表:FTP服务器可以返回目录的列表信息,包括文件名、大小、时间戳等。
- 数据传输模式:可以选择以ASCII模式或二进制模式传输文件数据,具体取决于文件类型。
总结来说,FTP控制连接负责传输命令和响应,控制文件操作,而数据连接负责实际的文件数据传输。这种分离的设计使得FTP协议能够有效地在客户端和服务器之间进行文件传输。