- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
加深对TCPIP协议的理解2
加深对TCP/IP协议的理解
了解FTP协议的工作原理以及它与TCP/IP协议的关系
掌握用MFC编写FTP协议的实现程序
本实验将介绍
在完成本实验之后,请思考下列问题:
为什么FTP协议选择TCP/IP协议作为其实现协议?
FTP协议与HTTP协议有什么不同?
在一个FTP连接成功建立后,客户端和服务端是否还依然保持连接?
代码未完成UPLOAD功能,请同学们课下独立完成。
一.什么是FTP协议
FTP(File Transfer Protocol)协议是从一个系统向另一个系统传递文件的标准。FTP的目标是 促进文件和程序的共享 鼓励间接和含蓄的使用远程计算机 使用户不必面对主机间使用的不同的文件存储系统 有效和可靠地传输文件。FTP,是设计成让别的程序使用的尽管用户可以直接通过终端来使用。约有二十年,研究者调查了相当广泛的文件传输方法FTP经历了多次改变。1971年作了第一次定义整个的说参见RFC 114一个连接建立起来后,目标文件服务器必须运行一个FTP服务软件。FTPD是标准的FTP服务daemon。它的功能很简单:回复inetd守护进程提供Internet服务的守护进程的连接请求收到的连接请求,并满足这些要传输文件的请求。这个daemon在许多发行版的UNIX中是个标准。 FTPD等待一个连接请求。当这样的一个请求到达时,FTPD请求用户登录。用户提供它的合法的登录名和口令或匿名登录。 一旦登录成功,用户可以下载文件了。在某些情况下,如果服务器的安全允许,用户可以上载文件。
二.一个标准的FTP例程
在Windows中,IE内嵌了FTP的Client端,这里就不作介绍了。为了让大家更深入的理解FTP的工作过程,我们用基本命令与FTP服务器连接。具体步骤如下:
在Windows开始菜单下的“运行”中键入command,进入Msdos界面。
在命令行下键入,ftp
如果连接成功,服务器将提示你输入用户名,请键入anonymous,遇到Password直接回车即可。
键入dir命令,可列出当前目录的内容。get [文件名]可将文件下在至当前目录。
至于更多的命令,同学们可用ftp -? 来查看help,这里就不多讲了。
可以看出FTP客户端是通过命令的方式与服务器交互,从而来获得服务的。我们自己编写程序也要通过这种方法来实现客户端。
三.连接的建立
控制连接的建立比较简单,可以通过对指定套接字的IP地址和端口来建立。对于数据连接就比较复杂。数据连接机制包括建立连接和选择数据参数。用户和服务器数据传输进程有默认的数据端口,用户进程默认数据端口和控制连接端口相同;服务器进程默认数据端口和控制连接端口相邻。
被动数据传输进程在数据端口接收数据,FTP的请求命令决定数据传输的方向。服务器在接受到请求以后,将初始化端口的数据连接。当连接建立后,传输在数据连接之间传送,服务器协议解释器向用户协议解释器返回应答。通过PORT命令可以改变端口。
服务器在下面情况下关闭数据连接:
服务器结束发送数据,通过EOF要求中止传送;
用户发送ABORT命令;
用户改变端口;
控制连接关闭;
发生不可恢复的错误;
数据连接的管理
所有FTP必须支持默认数据端口上数据连接,并且只有用户协议解释器能够初始化非默认端口的使用。其有两种操作:
确定非默认数据端口:用户协议解释器可以使用PORT命令指定非默认端口,他要求服务器以PASV确定非默认数据端口。
数据连接的重用:在流式数据传输时,文件结束通过关闭连接指示。
但是,当要传送多个文件时会发生错误。解决方法有两个:一是确定非默认端口,另一个是使用另一种传输模式。
传输模式
FTP定义了三种文件传输模式:流模式、块模式和压缩模式。
流模式:数据以字节流的形式传送。它对使用的数据表示类型没有限制,允许记录结构。
块模式:文件一块形式传送。块带有自己的头部分,他的头子节包括计数域和描述子代码。计数域说明了数据块的字节数,描述子代码定义了:EOF、EOR为重新开始标记错误数据。
压缩模式:该模式传送数据时,要传送三种信息:常规数据、压缩数据和以及控制信息。
差错恢复和重新开始
TCP负责控制位丢失和数据错误,而重新开始则是给用户一个处理系统失败的方法。
重新开始仅适合快和压缩模式,它要求发送者在数据流中加入特定标记。
四.FTP常用命令
FTP命令是以NVT ASCII码的形式在客户和服务器的控制连接上传送,这就要求在每行结尾都要返回CR,LF对(回车,换行)。FTP命令通过FTP控制连接来发送。FTP命令分为
文档评论(0)