FTP

file

# 一、文件传输协议

# FTP

FTP File Transfer Protocol 文件传输协议

文件传输协议FTP是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP。 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。

FTP允许用户以文件操作的方式(如文件的增、删、改、查、传送等)与另一主机相互通信。然而, 用户并不真正登录到自己想要存取的计算机上面而成为完全用户, 可用FTP程序访问远程资源, 实现用户往返传输文件、目录管理以及访问电子邮件等等, 即使双方计算机可能配有不同的操作系统和文件存储方式。

# SFTP

SFTP SSH File Transfer Protocol 安全的文件传输协议

SFTP(SSH File Transfer Protocol,也称 Secret File Transfer Protocol)是一种安全的文件传输协议,一种通过网络传输文件的安全方法;它确保使用私有和安全的数据流来安全地传输数据。

# FTP与SFTP的比较

# 1)相同

SFTP 和 FTP非常相似,都支持批量传输(一次传输多个文件),文件夹/目录导航,文件移动,文件夹/目录创建,文件删除等。

# 2)差异

但还是存在着差异,下面我们来看看SFTP和FTP之间的区别:

  1. 安全通道

    FTP 不提供任何安全通道来在主机之间传输文件;

    而SFTP协议提供了一个安全通道,用于在网络上的主机之间传输文件。

  2. 使用的协议

    FTP使用 TCP/IP协议。

    而SFTP是SSH协议的一部分,它是一种远程登录信息。

  3. 链接方式

    FTP使用TCP端口21上的控制连接建立连接。

    而SFTP是在客户端和服务器之间通过SSH协议(TCP端口22)建立的安全连接来传输文件。

  4. 安全性

    FTP密码和数据以纯文本格式发送,大多数情况下是不加密的,安全性不高。

    而SFTP会在发送之前加密数据,二进制的形式传递,是无法 "按原样" 阅读的,安全性较高。

# 二、文件同步中间件

# 背景

应用平台中,都以文件方式在各系统间进行批量数据交换。

目前的传输方式,主要是应用程序调用FTP工具来实现,操控方式以编程和脚本调用为主。

FTP方式简单易用,小规模应用时,可以满足基本的传输功能;但在大型、众多关键业务系统的应用场景中,面临着容易发生性能瓶颈、安全性低、难于监管等问题。

# 功能实现

  1. 可配置化

    多路数据传输,每路传输周期频次不尽相同,传输规则方式进行配置化设置。

  2. 崩溃恢复机制

    当某一路数据传输过程中,由于某种原因而崩溃,则必须能够在不重新启动整个系统的情况下恢复它。

  3. 传输速率平衡

    多路数据传输,一定不能有一路或其中的一部分同步,而另一路则要晚10小时。