网络通信协议复习-FTP

FTP

FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。
FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。
其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。

FTP支持两种模式,一种方式叫做Standard (也就是 PORT方式,主动方式),一种是 Passive(也就是PASV,被动方式)

20端口数据流,21端口控制流;
ftp工作流程:

  1. 建立TCP连接
  2. 打开熟知端口21(控制端口),使客户进程能够连接上
  3. 等待客户进程发链接请求。
  4. 启动从属进程来处理客户进程发来的请求。主进程与从进程并发执行,从属进程对客户进程的请求处理完毕后即终止。
  5. 回到等待状态,继续接收其他客户进程的请求。

1.PORT主动模式

这里事先在虚拟机(134.135)里搭好了ftp,使用nat模式,宿主机(134.1)作为客户端进行连接。在宿柱机cmd上:
在这里插入图片描述
进行连接,点击回车触发以下流量包:

  1. 事先三次tcp连接:
    在这里插入图片描述
  2. 服务器回应:
    在这里插入图片描述响应码220,给新用户准备服务,表示服务器准备好了,服务就绪
  3. 客户端请求:在这里插入图片描述选择选项使用utf8编码格式
  4. 服务器回应:
    在这里插入图片描述响应200成功,设置成uft8模式

开始输入账户密码(这时候是客户端cmd界面开始提示输入账户密码):

  1. 客户端发送账户名
    在这里插入图片描述
  2. 服务器响应:
    在这里插入图片描述用户名正确,请输入密码
  3. 客户端发送密码
    在这里插入图片描述
  4. 服务器回应:
    在这里插入图片描述登录成功!

指定端口开始port模式:

  1. 客户端开始请求port
    在这里插入图片描述
    这里就是全文的关键点!!!客户端告诉服务器,给他说: 我的ip是134.1,我打开的端口是208*256+196=53444,请你连接我20端口,创建数据传输通道:
    在这里插入图片描述

  2. 服务器回应
    在这里插入图片描述
    回应客户端设置port模式成功!考虑使用PASV

开始输入命令:

  1. 客户端请求:在这里插入图片描述
    LIST 如果指定了文件或目录,返回其信息;否则返回当前工作目录的信息。
  2. 三次握手在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总的有三次tcp会话:
第一次:用于ftp登录账户密码和最后的退出(其中包含有后两次的客户端port端口请求)—随机端口–》21
第二次和第三次:一样都是在第一次请求端口的基础上建立连接,请求后的端口----》20
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

说白了就是1包2;控制的tcp会话包含传输数据的tcp会话。
传输数据的tcp会话的客户端端口,由控制tcp会话里面的PORT请求所决定(这个只是决定传输数据的端口,自身控制的端口还是没变)。传输数据完成后(包含握手和挥手),关闭整个连接就由 一开始的控制tcp的会话,来进行关闭;
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值