sftp及两种连接模式简介
2024-10-07 02:28:19
sftp是ssh内含的协议,只要sshd服务器启动了,它就可用,它本身不需要ftp服务器启动。 FTP服务器和客户端要进行文件传输,就需要通过端口来进行。FTP协议需要的端口一般包括两种:
控制链路--------TCP端口21
所有你发往FTP服务器的命令和服务器反馈的指令都是通过服务器上的21端口传送的。
数据链路--------TCP端口20
数据链路主要是用来传送数据的,比如客户端上传、下载内容,以及列目录显示的内容等。 FTP服务器和客户端要进行文件传输,就需要通过端口来进行。
【 FTP连接的两种方式】:
在数据链路的建立上,FTP Server 为了适应不同的网络环境,支持两种连接模式:主动模式(Port)和被动模式(Pasv)。其实这两种连接模式主要是针对数据链路进行的,和控制链路无关。
主动模式
主动模式是这样工作的:客户端把自己的高位端口和服务器端口21建立控制链路。所有的控制命令比如Is或get都是通过这条链路传送的。
当客户端需要服务器端给它传送数据时,客户端会发消息给服务器端,告诉自己的位置和打开的高位端口(一般大于1024的端口都就叫高位端口),等候服务器 的20端口和客户端打开的端口进行连接,从而进行数据的传输。当服务器端收到信息后,就会和客户端打开的端口连接,这样数据链路就建立起来了。
采用主动模式连接服务器的客户端,当它位于NAT或者防火墙的保护之后时会碰到连接失败的问题。这是因为当防火墙接到服务器发送过来的信息的时候,并不知道应该发送给内部网络中的哪一台客户端造成的。
被动模式
被动模式是这样工作的:当客户端发送数据请求后,服务器也会发信息给客户端,告诉客户端:服务器在本地打开了一个高位端口P,你现在来连接我吧。当客户端收到该信息时,就会去连接服务器端的端口P,连接成功后,数据链路就建立了。
从上面的解释中我们可以看到,两种模式主要的不同是数据连接建立的不同。对于Port模式,是客户端在本地打开一个端口等服务器去连接建立数据连接,而Pasv模式就是服务器打开一个端口等待客户端去建立一个数据连接。
最新文章
- Starling中通过PivotX 和 PivotY 修改原点
- 主流ORM对比分析,莫人云亦云
- Ubuntu 16.04中安装Chromium浏览器
- Uva 11395 Sigma Function (因子和)
- mybatis的物理分页:mybatis-paginator
- centos使用denyhosts的问题,会将自己的IP自动加到hosts.deny的解决办法。
- 网上图书商城项目学习笔记-035工具类之JdbcUtils及TxQueryRunner及C3P0配置
- LINUX 内核调试基础+编程基础
- Asp.Net mvc筛选器中返回信息中断操作
- 设计模式总结6--适配器模式 adapter pattern
- [iOS Animation]-CALayer 图层几何学
- mpi中的广播
- PermGen space 内存溢出
- Nginx详解二十五:Nginx架构篇之Nginx常见的问题
- Android开发 - 更";聪明";的申请权限方式
- 吴裕雄 01-mysql管理
- Wooden Sticks(hdu1501)(sort,dp)
- cocoapods 报错
- lua调用c++函数返回值作用
- php 双引号字符串里包变量的用法