计算机网络(浅谈FTP协议)

     这节主要是了解FTP协议是干什么的,了解其一些工作原理,如果有时间的话会做一些FTP测试。
    书籍:《计算机网络_自顶向下方法》
    参考文章:老李的地下室 
    基本上没看过什么文献,没什么,因为看不懂,这里所用的书籍算是很权威的了。
    FTP又叫文件传输协议,是应用层的协议之一,主要是提供客户端与服务端的文件双向传输。互联网的首要目的是实现信息共享,文件传输是信息共享非常重要的功能之一。早期实现文件传输是有难度的,因为当时的端系统特别多,有的是PC有的是MAX有的是大型机,因此需要一个“标准”让它们互相兼容,所以FTP协议出现了。
    在一般的FTP会话中,一个用户利用主机向一台远程主机传输文件(FTP也是使用C/S网络体系结构),为了能访问远程账户用户必须提供一个用户标识和口令。有搭过网站的朋友都知道,一般都是到提供商买个主机、域名,然后提供商会给你FTP用户名和密码,这样的话你就能利用FTP工具上传网站程序,管理网站程序的文件(数据库文件除外,网站程序与数据库文件不是放在一起的)。
    用户首先提供远程主机的主机名,使本地主机的FTP客户进程建立一个到远程主机FTP服务器进程的TCP连接。接着用户提供用户标识和口令,作为FTP命令的一部分在该TCP连接上传送,一旦该服务器向该用户授权,用户可以将存放在本地文件系统的一个或者多个文件复制到远程主机。(下载亦然)
    HTTP与FTP都是文件传输协议,有许多的共同点,它们都运行在TCP上。其中最主要的区别:FTP使用两个并行的TCP连接,一个是控制连接一个是数据连接,顾名思义,一个是发送控制信信息的,例如说用户ID、口令等,一个是传送数据的。控制连接端口为21,而数据连接端口为20。
    FTP传输有两种方式,一种是ASCII传输一种是二进制传输,从客户到服务器的命令和从服务器到客户的回答都是以7比特ASCII格式在控制连接上传输的,因此许多命令与HTTP命令类似,都是可读的。关于FTP命令我留篇文章:点我查看
    FTP有两种模式,一种是PORT另一种是PASV,也就是主动和被动。
    
主动:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用 PORT命令告诉服务器:“我打开了一个1024+的随机端口,你过来连接我”。于是服务器从20端口向客户端的1024+随机端口发送连接请求,建立一条数据链路来传送数据。
    被动:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用 PASV命令告诉客户端:“我打开了一个1024+的随机端口,你过来连接我”。于是客户端向服务器的****端口发送连接请求,建立一条数据链路来传送数据。
    这两种模式我是直接百度百科copy的,没什么,因为这是解释得最容易理解的了。
    如果想更加深入了解FTP协议请阅读RFC 959
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值