Internet和其他网络上的人与设备之间的通信使用协议进行。您可以说协议定义了对话规则:谁必须在何时发送哪些信息?如果数据没有到达接收者,会发生什么?您如何保护转帐免受错误和犯规?每当我们使用Internet时,OSI模型中的这些协议就一直在使用。最著名的是HTTP和HTTPS,通常用于访问网站。另一个重要协议是文件传输协议。那么它是用来干什么的呢?

首先讲一下为什么需要文件传输协议?

文件传输协议(FTP)是最古老的Internet协议之一。自1974年以来,就一直使用用于传输整个文件的技术。1985年,FTP在RFC 959中进行了精确定义。该协议背后的思想是使用命令触发下载和上传。这样,您就可以将文件从自己的设备(PC,智能手机等)传输到服务器,反之亦然。

在此过程中,用户可以使用文件管理系统(从操作系统中了解)。文件可以放在文件夹中,而文件夹又可以放在其他文件夹中,从而形成分层目录结构。

文件传输协议通常用于构建网站。例如,可以使用FTP访问将HTML文件传输到服务器。此外,网站提供商可以使访问者可以使用媒体文件。

其次来说一下,文件传输协议是如何工作?

文件传输协议在TCP / IP Internet协议套件的应用程序层中运行。这会将其与HTTP或POP放在同一层。这些协议的特征在于它们与诸如浏览器和电子邮件客户端之类的程序一起工作,以便为您提供服务。还有用于文件传输协议的特殊FTP软件。

这些程序通常有两个领域。一个区域显示本地目录结构,包括硬盘驱动器上的所有文件。另一个区域显示服务器的内存,包括其中的文件和文件夹。该软件使用户可以在两个区域之间移动文件。如今,浏览器和操作系统的命令行也可以用于FTP。

为了使用文件传输协议服务,您需要具有某些访问信息(用户名和密码)。您通常可以从服务器提供商那里获得。

在FTP连接中,通常会打开两个通道。首先,客户端和服务器使用端口21建立命令通道。客户端使用此通道将命令发送到服务器,作为响应,服务器发送回状态代码。之后,双方可以建立数据通道。这用于传输所选文件。发生这种情况时,协议会注意错误。如果在传输完成之前断开连接,则可以在重新建立连接后恢复该过程。

客户端和服务器之间通过文件传输协议进行交换

我们可以区分主动和被动 FTP。在活动版本中,客户端如上所述使用端口21建立连接,并告诉服务器可以使用哪个端口来传递其答案。但是,如果客户端受防火墙保护,则服务器将无法发送任何答案,因为所有外部连接均被阻止。这就是为什么开发被动模式的原因。这样,服务器可以向客户端发送端口号,然后客户端可以使用该端口号来建立数据通道。由于客户端自行启动连接,因此其防火墙无法阻止传输。

文件传输协议知道各种命令和状态码。利用32条命令(并非所有命令都始终在服务器上实现),客户端指示服务器上载或下载文件,组织目录或删除文件。服务器用状态码回答,该状态码提供有关命令是否已成功实现的信息。

与往常一样,您需要访问信息才能在服务器上使用FTP。但是某些服务器还提供匿名FTP,任何用户都可以使用该FTP将文件传输到该服务器,或者使用FTP从该服务器下载而无需输入密码。由于这些开放的FTP服务器容易受到安全风险的影响,因此用户的可能性通常非常有限。

最后来说一下安全性和文件传输协议

原始的文件传输协议没有任何安全功能。在其发展之时,互联网仍然很小,网络犯罪不存在。从那时起,由于传输是完全未加密的,因此使用FTP已涉及许多安全风险。这就是为什么开发了另外两个安全版本的原因,这些版本目前正在相互竞争:FTPS和SFTP。第一个版本是使用SSL的FTP。该连接是与安全套接字层(SSL)或传输层安全性(TLS)结合使用的,其中对数据交换进行了加密。

SSH文件传输协议(SFTP)使用安全外壳(SSH)来安全地传输文件。与FTPS一样,连接也是加密的。但是,FTPS需要两个连接,而SFTP只需要一个。但是SFTP确实需要使用其他程序。

镭速文件传输协议特点:

镭速传输协议主要技术原理

镭速传输协议主要通过如下两方面来改善传输效率:更有效的拥塞判断及处理; 更准确及时地进行丢包判断恢复制机制;

更有效的拥塞判断及处理

目前主流的拥塞判断是基于二十几年前的网络情况设计的,其基本假设是任何丢包都反映了网络拥塞。这一假设与现代网络情况已完全脱节。现代网络丢包常常并不是由拥塞因素引起的。这一脱节导致传输协议常常进入过于保守的传输状态。

镭速传输协议拥塞检测算法会自动收集路径上已有的背景传输信息(丢包、时延以及抖动),根据传输速度准确判断出实际的拥塞情况,既不过于保守也不过于激进,可以有效充分利用路径带宽。

镭速传输提供一站式文件传输加速解决方案,旨在为IT、影视、生物基因、制造业等众多行业客户实现高性能、安全、稳定的数据传输加速服务。传统文件传输方式(如FTP/HTTP/CIFS)在传输速度、传输安全、系统管控等多个方面存在问题,而镭速文件传输解决方案通过自主研发、技术创新,可满足客户在文件传输加速、传输安全、可管可控等全方位的需求。

关于FTP文件传输协议说明,带你了解更详情的文件传输协议的更多相关文章

  1. 我们检测到您的浏览器不兼容传输层安全协议 (TLS) 1.1 或更高版本,此协议在 Internet 上用于确保您通信的安全性。

    早上使用.Net WebClient类采集亚马逊数据,返回http 400 Bad Request错误,内容里面有“我们检测到您的浏览器不兼容传输层安全协议 (TLS) 1.1 或更高版本,此协议在 ...

  2. FTP传大文件又慢又麻烦,有没有更好的替代传输方案?

    FTP作为常见的文件传输协议已经具有很长的历史,最早可以追溯到上世纪70年代.至今FTP仍然较为活跃,然而许多企业已经开始不满足于FTP的功能局限性,开始另外寻找合适的文件传输产品. 目前数据正在爆炸 ...

  3. 好程序员带你了解一下HTTPS和SSL/TLS协议的背景与基础

    >> 相关背景知识 要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识. 大致了解几个基本术语(HTTPS.SSL.TLS)的含义 大致了解 HTTP 和 TCP 的关系(尤其 ...

  4. servlet多文件上传(带进度条)

    需要commons-fileupload-1.3.jar和commons-io-2.4.jar的支持 页面效果:(图片文件都可以) (1)进度标识类 public class UploadStatus ...

  5. PSR-1之PHP代码文件必须以不带BOM的UTF-8编码

    BOM——Byte Order Mark,就是字节序标记 在UCS 编码中有一个叫做”ZERO WIDTH NO-BREAK SPACE“的字符,它的编码是FEFF.而FFFE在UCS中是不存在的字符 ...

  6. java进行文件上传,带进度条

    网上看到别人发过的一个java上传的代码,自己写了个完整的,附带源码 项目环境:jkd7.tomcat7. jar包:commons-fileupload-1.2.1.jar.commons-io-1 ...

  7. 艺萌TCP文件上传下载及自动更新系统介绍(TCP文件传输)(一)

    艺萌TCP文件上传下载及自动更新系统介绍(TCP文件传输) 该系统基于开源的networkComms通讯框架,此通讯框架以前是收费的,目前已经免费并开元,作者是英国的,开发时间5年多,框架很稳定. 项 ...

  8. PHP FTP操作类( 上传、拷贝、移动、删除文件/创建目录 )

    /** * 作用:FTP操作类( 拷贝.移动.删除文件/创建目录 ) * 时间:2006/5/9 * 作者:欣然随风 * QQ:276624915 */ class class_ftp { publi ...

  9. C#读取带命名空间的xml,xaml文件的解决方案

    使用C#读取xml文件有三种常用的方式: 1.xmlDocument 2.XmlTextReader 3.Linq To Xml 但是这些方式在读写有些带命名空间的xml时就不知道怎么办了(例如把xa ...

  10. Unix文件 I/O(不带缓冲区的)上

    简介 Unix系统大多数文件i/o只需要:open.read.write.lseek.close这几个函数.但是某些时候我们也需要fcntl.ioctl.sync等函数配合使用.这些函数都是不带缓冲区 ...

随机推荐

  1. OpenWrt 21.02.2 记录: PPPoE, Wireguard

    OpenWrt 21.02 OpenWrt 21.02.2 是 OpenWrt 当前最新的稳定版, 内核 5.4.179, 这个内核已经内置了 Wireguard 模块 root@OpenWrt:~# ...

  2. java: -source 1.5 中不支持 diamond 运算符

    1.问题说明 平常在用idea编译spring boot多模块项目时,老是无端提示: Error:(107, 55) java: -source 1.5 中不支持 diamond 运算符 (请使用 - ...

  3. win32 - Shell菜单项的创建

    #include <windows.h> #include <shobjidl_core.h> #include <windowsx.h> #include < ...

  4. stat模块

    # stat模块定义了常数和函数,并用这些来解释os.stat().os.fstat()和os.lstat()的结果(如果这些在该平台上存在的话). stat.S_ISREG(mode) # 判断mo ...

  5. sqlserver数据库jar包下载

    链接:https://pan.baidu.com/s/1mCx5JpVpmU6uUaqMITxP_Q提取码:4piq 说明:若链接失效,联系会及时补上!

  6. 【Azure 应用服务】App Service 通过 wardeploy 部署 war 包,如何指定到 root目录为wwwroot

    问题描述 在部署War包到App Service时,参考文档:(使用 ZIP 或 WAR 文件将应用部署到 Azure 应用服务 : https://docs.azure.cn/zh-cn/app-s ...

  7. OPPO 自研大规模知识图谱及其在数智工程中的应用

    导读:OPPO 知识图谱是 OPPO 数智工程系统小布助手团队主导.多团队协作建设的自研大规模通用知识图谱,目前已达到数亿实体和数十亿三元组的规模,主要落地在小布助手知识问答.电商搜索等场景. 本文主 ...

  8. [程序] C++实现 http和https的反向代理程序

    目录 前言 代理原理 http代理 https代理 实现 客户端 服务端 遇到的所有问题记录 Python对于回复不响应 接受的数据只有4字节 最终数据已经发给Python了 但是Python还是阻塞 ...

  9. C++ 多线程笔记2 线程同步

    C++ 多线程笔记2 线程同步 并发(Concurrency)和并行(Parallelism) 并发是指在单核CPU上,通过时间片轮转的方式,让多个任务看起来像是同时进行的.实际上,CPU在一个时间段 ...

  10. VC-MFC 登陆界面 + 数据库账号+密码

    1 // DlgUser.cpp : 实现文件 2 // 3 4 #include "stdafx.h" 5 #include "Login.h" 6 #inc ...