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. 在linux 平台上源码编译安装MySQL 8.0

    从根源上掌握MySQL安装,以此类推,在linux 平台上通过源码安装其他c/c++软件都是大同小异​.​ 1. 安装方式 linux 的安装包分为RPM 包.二进制包和源码包. 不同的安装方式各有优 ...

  2. Java Socket编程系列(四)开发支持多客户端访问的Server

    例子来自Java官方教程,稍作调整. 上一篇介绍了单客户端访问的Server实现,这一篇实现的是多个客户端请求服务端,根据服务端提示进行一系列操作. 协议类(和系列三一样没变): package co ...

  3. letcode-Z字抖动

    题目 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下 ...

  4. nmap top N端口获取

    使用nmap 扫描时可能会扫描tcp top100 top1000 端口, 有时需要去配置文件提取,配置文件路径/usr/share/nmap/nmap-services, 具体根据实际安装情况调整: ...

  5. win32 - 检查权限

    检查当前句柄是否有指定的权限. #include <iostream> #include <windows.h> #include <tchar.h> //#pra ...

  6. centos7 安装vmware tool 遇到遇到 kernel-headers 问题修复

    安装 vmware tool 步骤 1. cp VMwareTools-10.3.25-20206839.tar.gz 到 用户目录下 2. tar zxf VMwareTools-10.3.25-2 ...

  7. 【Android 逆向】【攻防世界】easyjni

    1. apk 安装到手机,提示需要输入flag 2. jadx打开apk public class MainActivity extends c { static { System.loadLibra ...

  8. Mqtt开发笔记:Mqtt服务器搭建

    若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...

  9. 产品分享:Qt数学函数公式学科工具,当前版本v1.0.0

    ​若该文为原创文章,转载请注明原文出处本文章博客地址:https://hpzwl.blog.csdn.net/article/details/121194536红胖子(红模仿)的博文大全:开发技术集合 ...

  10. 图片验证码pillow模块

    安装下载 pip install pillow 使用 需要引入PIL里面的Image from PIL import Image # mode为采用什么色系,size为大小px,color为颜色 im ...