`
leo1211
  • 浏览: 137939 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

解析Ftp协议的两种工作模式

阅读更多

FTP是一种数据传输协议,它的连接模式有两种:主动模式和被动模式。

 

以下说明FTP的连接是怎样建立的:

 

在 active模式下:

 

FTPclient开启一个随机选择的TCPport呼叫FTP的port21请求建立连接。当完成 Three-WayHandshake之后,连接就成功建立,但这仅是命令通道的建立。

当两端需要传送数据资料的时候,client透过命令通道用一个portcommand告诉server,client可以用另一个TCPport做数据通道。

然后server用 port20和刚才client所告知的TCPport建立数据连接。注意:连接方向是从server到client的,TCP分组中会有一个 SYNflag。

然后client会返回一个带ACKflag的确认分组,并完成另一次的Three-WayHandshake过程。这时候,数据连接才能成功建立。开始数据传送。

 

在passive模式下:

 

FTPclient开启一个随机选择的TCPport呼叫FTPserver的port21请求建立连接,完成命令通道的建立。

当两端需要传送数据的时候,client通过命令通道发送一个PASVcommand给server,要求进入passive传输模式。

然后server像上述的正常模式之第2步骤那样,挑一个TCPport,并用命令通道告诉client。

然后client用另一个TCPport呼叫刚才 server告知的TCPport来建立数据通道。此时分组中带有SYNflag。

server确认后回送一个ACK分组。并完成所有握手过程、成功建立数据通道。

开始数据传送。在实际使用中,activemode用来登入一些架设在主机上没有的FTPserver,或是架设在clientside的FTPserver!Passivemode(简称PASV)用来登陆一些架设于防火墙保护下而又是开设于主机上的 FTPserver!

分享到:
评论

相关推荐

    socket演示程序

    过去做网络方面的东东的时候,为了试验一些SOCKET API,编写了一个演示的DEMO,可能有朋友用得到,仅在此抛砖引玉。 这个测试工程中对Socket封装的类的文件: ...这个类支持PORT和PASSIVE两种模式的FTP,

    中文版RFC,共456

    RFC948 IP 数据包通过IEEE 802.3 网络传输的两种方法 RFC949 FTP 未公开的独特命令 RFC951 引导协议(BOOTP) RFC955 朝向一个处理过程应用的传输服务 RFC962 TCP-4 的最初 RFC968 “这是开动前的黑暗” RFC974 邮件...

    RFC中文文档-txt

    RFC948 IP 数据包通过IEEE 802.3 网络传输的两种方法 RFC949 FTP 未公开的独特命令 RFC951 引导协议(BOOTP) RFC955 朝向一个处理过程应用的传输服务 RFC962 TCP-4 的最初 RFC968 “这是开动前的黑暗” RFC974 邮件...

    rfc中文文档目录,包含部分翻译

    RFC948_IP 数据包通过IEEE 802.3 网络传输的两种方法 RFC949_FTP 未公开的独特命令 RFC951_引导协议(BOOTP) RFC955_朝向一个处理过程应用的传输服务 RFC962_TCP-4 的最初 RFC968 “这是开动前的黑暗” RFC974_邮件...

    中文RFC文档.zip

    RFC948 IP 数据包通过IEEE 802.3 网络传输的两种方法 RFC949 FTP 未公开的独特命令 RFC951 引导协议(BOOTP) RFC955 朝向一个处理过程应用的传输服务 RFC962 TCP-4 的最初 RFC968 “这是开动前的黑暗” RFC974 邮件...

    FusionInsightHD华为大数据平台.pdf

    - FTP-Server FTP-Server是⼀个纯Java的、基于现有开放的FTP协议的FTP服务。FTP-Server⽀持FTP、FTPS协议,每个服务都⽀持PORT、 PASSIVE数据通信协议。⽤户或业务组件可通过通⽤的FTP客户端、传输协议提供对HDFS⽂...

    asp.net知识库

    在ASP.Net中两种利用CSS实现多界面的方法 如何在客户端调用服务端代码 页面一postback,它就显示页面的最顶端,怎样让它定位在某一位置? 如何保证页面刷新后的滚动条位置 清除网页历史记录,屏蔽后退按钮! 如何传值...

    项目8-局域网服务器的搭建.pptx

    C/S模型是由客户机、服务器构成的一种网络计算环境,它把应用程序分成两部分,一部分运行在客户机上,另一部分运行在服务器上,由两者各司其职,共同完成。 项目8-局域网服务器的搭建全文共42页,当前为第7页。 ...

    XML高级编程pdf

    4.2.1 XML的两种角色 4.2.2 将信息模型映射到XML 4.3 模式语言和表示法 4.3.1 模式的作用 4.3.2 将DTD作为模式 4.3.3 XML模式建议 4.4 小结 第5章 文档对象模型 5.1 什么是文档对象模型 5.1.1 XML文档结构 ...

    XML高级编程 (Extensible Markup Language)

    4.2.1 XML的两种角色 4.2.2 将信息模型映射到XML 4.3 模式语言和表示法 4.3.1 模式的作用 4.3.2 将DTD作为模式 4.3.3 XML模式建议 4.4 小结 第5章 文档对象模型 5.1 什么是文档对象模型 5.1.1 XML文档结构 ...

    XML 高级编程(高清版)

    4.2.1 XML的两种角色 4.2.2 将信息模型映射到XML 4.3 模式语言和表示法 4.3.1 模式的作用 4.3.2 将DTD作为模式 4.3.3 XML模式建议 4.4 小结 第5章 文档对象模型 5.1 什么是文档对象模型 5.1.1 XML文档结构 ...

    XML高级编程

    4.2.1 XML的两种角色 90 4.2.2 将信息模型映射到XML 93 4.3 模式语言和表示法 101 4.3.1 模式的作用 101 4.3.2 将DTD作为模式 103 4.3.3 XML模式建议 109 4.4 小结 110 第5章 文档对象模型 111 5.1 什么是文档对象...

    数据库审计系统需求说明.docx

    2 工作模式 旁路镜像模式部署,不影响数据库性能和网络架构;支持 IPV6环境部署和IPV6 环境下数据库的审计;支持分布式部署,管理中心可实现统一配置、统一报表、 统一查询。 管理中心和探测器都可存储审计数据,...

    python入门到高级全栈工程师培训 第3期 附课件代码

    03 文件归档与两种压缩方式 04 vim编辑器 05 系统启动流程 06 grub加密 07 bios加密 08 top命令 09 free命令 10 进程管理 第6章 01 上节课复习 02 磁盘分区 03 文件系统与挂载 04 挂载信息讲解 05 磁盘用满的两种...

    IIS6.0 IIS,互联网信息服务

    以及引入了命令行工具 Appcmd.exe ,给 Web 服务器的日常管理、监视和配置提供了除图形接口外的另一种方式,更为简单、高效。 同Windows XP一样,在Windows Vista的默认设置下,IIS (Internet 信息服务) 7.0未予安装...

    windows实用dos命令大全

    (1)选用/L参数列出找到的子目录名称、文件名称、大孝日期等信息,但不会真的做formAT工作。  (2)选用/P参数将显示于屏幕的报告(包含/L参数所产生的信息)同时也送到打印机。运行时屏幕会显示:“Print out ...

    JAVA上百实例源码以及开源项目源代码

    本规范尝试满足大型主机、微型主机、个人工作站、和TACs 的不同需求。例如,容易实现协议的设计。 Java EJB中有、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取...

    JAVA上百实例源码以及开源项目

    本规范尝试满足大型主机、微型主机、个人工作站、和TACs 的不同需求。例如,容易实现协议的设计。 Java EJB中有、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取...

Global site tag (gtag.js) - Google Analytics