[计网初识3]FTP文件传输协议

FTP特点和通信方式

1. 什么是FTP?

FTP是一个建议里在TCP/IP协议基础上的Internet应用层协议。通常用于从服务器上下载程序与文件到指定计算机上。
(HTTP用于传输可展示的网页与相关页面)

2.FTP特点?

进行文件传输时,建立两条并行的TCP连接,分别用于 ”控制连接“和”数据连接“,控制连接在整个会话期间一直保持打开,只传命令,不传数据。

3. FTP中客户端与服务器的交互方式?

一般情况下,FTP服务器是主动连接。那么就是客户端打开端口进行监听,服务器主动连接客户端。
FTP主动连接的步骤如下:

  1. 客户端打开随机响应端口(我们设置为TCP6000为控制连接端口,TCP6001为数据连端口)
  2. 客户端的TCP6000向FTP服务器的TCP端口21(21默认的)发送打开命令通道的请求。
  3. 服务器从自己的端口21向客户端的端口6000发送ok。此时,命令通道已经建立。
  4. 客户端向服务器发送数据请求(PORT命令)。PORT命令中包含其用于接受数据的端口号6001。
  5. 服务器从自己的端口TCP20向客户端TCP6000建立连接,发送数据。
    在这里插入图片描述

4. FTP应用现状?

虽然FTP在很多方面仍然有用,但它的安全性较差,因为数据和密码都以明文形式传输。为了提高安全性,有几种替代方案,如SFTP(SSH File Transfer Protocol)、FTPS(FTP over SSL/TLS)和SCP(Secure Copy Protocol)。

这几种在linux中命令使用见https://blog.csdn.net/qq_43235540/article/details/131897229?spm=1001.2014.3001.5502

相关推荐

  1. [2]web的3个核心标准html,url,http

    2024-07-17 21:18:02       27 阅读
  2. Qt实现FTP文件传输协议

    2024-07-17 21:18:02       64 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-17 21:18:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 21:18:02       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 21:18:02       58 阅读
  4. Python语言-面向对象

    2024-07-17 21:18:02       69 阅读

热门阅读

  1. 企业和个人在网络安全方面需承担哪些责任?

    2024-07-17 21:18:02       18 阅读
  2. mysql高版本(8.0+)group_by报错的处理方法

    2024-07-17 21:18:02       19 阅读
  3. arm64机器指令转换为汇编指令

    2024-07-17 21:18:02       21 阅读
  4. 【Python Cookbook】S03E07 处理无穷大以及NaN

    2024-07-17 21:18:02       18 阅读
  5. 构建新纪元:Gradle中Kotlin插件的配置全指南

    2024-07-17 21:18:02       22 阅读
  6. 软设之命令模式

    2024-07-17 21:18:02       21 阅读
  7. Linux系统中调试蓝牙的常用命令

    2024-07-17 21:18:02       19 阅读
  8. C++中调用Pytorch模型

    2024-07-17 21:18:02       18 阅读
  9. 若依自定义文件上传下载

    2024-07-17 21:18:02       17 阅读