IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> FTP的控制连接和数据连接分别是做什么的?主动模式和被动模式有什么区别? -> 正文阅读

[网络协议]FTP的控制连接和数据连接分别是做什么的?主动模式和被动模式有什么区别?

你知道FTP的控制连接和数据连接分别是做什么的吗?

你知道FTP的主动模式和被动模式有什么区别吗?

你知道实际工作中,会使用主动FTP还是被动FTP吗?又是为什么呢?

一、 FTP的两种连接

FTP(文件传输协议)是最典型的双连接协议,需要用到控制连接和数据连接。

控制连接,顾名思义,用于传输控制指令,不涉及具体的文件传输。

比如协商ftp的验证方式(是否允许匿名登陆,允许匿名的话用什么来代表身份,不允许的话如何传用户名密码),协商ftp的数据连接要使用主动模式还是被动模式等。

数据连接用于真正的文件传输,包括列出文件列表,上传下载文件等。

二、 主动FTP和被动FTP

FTP有主动和被动两种模式,最关键的区别在于两点

1、数据连接由谁发起

2、数据连接的端口号是什么

下面分别来看二者的工作过程,

主动FTP的工作过程

?

第一步:客户端使用随机端口,向服务器端21号端口发起建立控制连接的请求

第二步:客户端通过控制连接,告诉服务器端,自身开放的数据连接的端口号(随机产生的)。

第三步:服务器使用20号端口,主动向客户端发起建立数据连接的请求,接下来开始上传或下载文件。

第四步:当文件传输完成,关闭TCP连接

被动FTP的工作过程

?

第一步:客户端使用随机端口,向服务器端21号端口发起建立控制连接的请求。

第二步:服务器端通过控制连接,告诉客户端,自身开放的数据连接的端口号(随机产生的)。然后服务器被动等待客户端发起数据连接的建立请求。

第三步:客户端使用随机端口号,向服务器端的数据连接端口号发起TCP连接,然后开始文件传输。此时两边的端口号都是随机的。

第四步:文件传输完成,关闭TCP连接

发现问题了吗?被动FTP的数据连接,客户端和服务器端都是随机端口号,如果做ACL放行FTP流量,没有确定的端口,怎么操作呢?

可以放行所有端口,这样又带来了安全隐患,很多场景下,因信息安全等级要求,也不允许放行所有端口,如何解决这个问题?

可能会想,用主动FTP就行了,数据连接是固定的20,可以方便的做放行策略。

但是问题又来了,主动FTP是服务器主动,客户端那边其实是被动接入,很多客户端的防火墙(包括win10自带的软件防火墙)都是默认放行出站连接,拒绝入站连接。

这时的FTP对客户端来说,是入站连接,仍然会被防火墙禁止掉。

那最终这个问题,在实际工作中如何解决才好呢,欢迎在评论区讨论。

当然,如果你需要更多“网工”资料,可以私信问我要~

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-11-23 12:43:57  更:2021-11-23 12:45:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年7日历 -2024/7/3 21:20:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码