首页 > 其他分享 >FTP两种传输模式小结

FTP两种传输模式小结

时间:2022-12-02 11:06:02浏览次数:43  
标签:FTP 端口 传输 传送数据 服务器 小结 连接 客户端


FTP是有两种传输的模式的,主动模式和被动模式,之前一直没怎么去搞明白之,现在找了下资料,
重新整理了下:

  一个完整的FTP文件传输需要建立两种类型的连接,一种为文件传输下命令,称为控制连接,另一种实现真正的文件传输,称为数据连接。

1)      控制连接

客户端希望与FTP服务器建立上传下载的数据传输时,它首先向服务器的TCP 21端口发起一个建立连接的请求,FTP服务器接受来自客户端的请求,完成连接的建立过程,这样的连接就称为FTP控制连接。

2)      数据连接


FTP控制连接建立之后,即可开始传输文件,传输文件的连接称为FTP数据连接。FTP数据连接就是FTP传输数据的过程,它有两种传输模式


PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据。



PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。


标签:FTP,端口,传输,传送数据,服务器,小结,连接,客户端
From: https://blog.51cto.com/u_14230175/5906225

相关文章

  • ATLAS拖拉之简单小结
    有了atlas的话,做一些随意拖拉的效果就十分容易了。在vs.net2005下,装了atlas的话,有很多控件可以实现之,下面小结之1、使用<atlas:DragOverlayProperties>控件,比如 <atlas:S......
  • 快速小结:CSS3盒模型
    ......
  • javascript中generator快速小结
    1基本例子  function*generatorFunc(){console.log("任务一");yield1;console.log("任务二");yield*generatorSubFunc();console.log("任务三");return......
  • 收藏:LINUX中的重要IO指标小结
    源自极客时间的教程:1、使用率,是指磁盘处理I/O的时间百分比。过高的使用率(比如超过80%),通常意味着磁盘I/O存在性能瓶颈。2、饱和度,是指磁盘处理I/O的繁忙程度。过高的饱......
  • 高效的Integer.valueOf小结
    在PMD中,都建议使用的Integer.valueOf,avoidinstantiatingintegerobjects.CallInteger.valueOf()instead.历史:JDK1.5后增加了Integer.valueOf......
  • java往oracle存储过程中传递数组方法小结
    java往oracle存储过程中传递数组方法小结,下面是一个例子,比如存储过程中要接受一个数组,并且输出一个数组,则先注意数组在oracle中的定义方法如下:CRE......
  • Android实验——使用Intent在Activity间传输数据
    一、实验要求和目的理解Activity组件的功能与作用;掌握使用Intent在多个Activity组件间传输数据的方法;掌握在AndroidManifest.xml中配置Activity组件的方法。二、实验......
  • windows ftp 简单搭建, wget ftp
    事情起因:公司客户一台数据库服务器突然连不上了,一开始以为是密码过期了,联系学校的老师给改了密码之后,还是连不上,然后就怀疑是不是ssh服务有问题。然后发现这台服务器上没......
  • 跨应用程序域边界传输对象副本 ----继承某类的对象可以跨越应用程序域边界被引用,甚至
          当一个对象需要长途跋涉到另一个环境中时,需要将其marshal成一个可以传输的形态(比如在.NETRemoting中对象将被打包成一个serializable的ObjRef实例——这......
  • 开启linux的网络服务, FTP、SSH和NFS服务
    在使用linux中开发的时候,我们可以选择启用一些网络服务方便我们进行开发,加快开发的进度。 现在很多用linux进行开发的工程师,他们大多都是在windows系统上安装虚拟机,然后在......