ftp协议实验报告

ftp协议实验报告

ID:18062836

大小:49.58 KB

页数:17页

时间:2018-09-13

ftp协议实验报告_第1页
ftp协议实验报告_第2页
ftp协议实验报告_第3页
ftp协议实验报告_第4页
ftp协议实验报告_第5页
资源描述:

《ftp协议实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、FTP协议实验报告l实验目的1、在Linux系统上完成一个文件传输协议(FTP)的简单实现。2、深入理解FTP协议的原理和协议细节。3、学会利用Socket接口设计实现简单应用层协议。4、掌握TCP/IP网络应用程序的基本设计方法和实现技巧。l实验原理1、FTP协议FTP是FileTransferProtocol,即文件传输协议的缩写。该协议用于在两台计算机之间传送文件。FTP会话包括了两个通道,一个是控制通道,一个是数据通道。控制通道是和FTP服务器进行沟通的通道,连接FTP服务器,发送FTP指令;数据通道则是和FTP服务器进行文件传输或者获取文件列表的通道。FTP协议中,控制连

2、接的各种指令均由客户端主动发起,而数据连接有两种工作方式:主动方式(PORT方式)和被动方式(PASV方式)。主动方式下,FTP客户端首先和FTP服务器的控制通道对应端口(一般为21)建立连接,通过控制通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。PORT命令包含了客户端用什么端口(一个大于1024的端口)接收数据。在传输数据的时候,FTP服务器必须和客户端建立一个新的连接,服务器通过自己的TCP20端口发送数据。被动方式下,建立控制通道的过程和主动方式类似,当客户端通过这个通道发送PASV命令的时候,FTPserver打开一个位于1024-5000之间的随机

3、端口并且通知客户端,然后客户端与服务器之间将通过这个端口进行数据的传送。2、socket编程(1)什么是Socket  Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程。网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。(2)Socket的建立为了建立Socket,程序可以调用Socket函数,该函数返回一个socket描述符。Socket描述符是一个指向内部数据结构的指针,它指向描述符表入口。调用Socket函数时,socket执行体将建立一个Socket,实际上"建立一个Socket"意味着为一个Socket数据结构分

4、配存储空间。Socket执行体为你管理描述符表。两个网络程序之间的一个网络连接包括五种信息:通信协议、本地协议地址、本地主机端口、远端主机地址和远端协议端口。Socket数据结构中包含这五种信息。socket函数原型为:intsocket(intdomain,inttype,intprotocol);domain:指明所使用的协议族,通常为PF_INET,表示互联网协议族(TCP/IP协议族);type:指定socket的类型为SOCK_STREAM或SOCK_DGRAM,Socket接口还定义了原始Socket(SOCK_RAW),允许程序使用低层协议;protocol:通常赋值

5、"0"。返回:整型socket描述符。(3)Socket配置  无连接socket的客户端和服务端以及面向连接socket的服务端通过调用bind函数来配置本地信息。otherstaffoftheCentre.Duringthewar,ZhuwastransferredbacktoJiangxi,andDirectorofthenewOfficeinJingdezhen,JiangxiCommitteeSecretary.Startingin1939servedasrecorderoftheWestNorthOrganization,SecretaryoftheSpecialCom

6、mitteeAfterthevictoryofthelongMarch,hehasbeentheNorthwestOfficeoftheFederationofStateenterprisesMinister,ShenmufuguSARmissions,DirectorofNingxiaCountypartyCommitteeSecretaryandrecorderoftheCountypartyCommitteeSecretary,Ministersand17Bind函数将socket与本机上的一个端口相关联,随后你就可以在该端口监听服务请求。Bind函数原型为:intbind(

7、intsockfd,structsockaddr_in*my_addr,intaddrlen);Sockfd:调用socket函数返回的socket描述符my_addr:一个指向包含有本机IP地址及端口号等信息的sockaddr类型的指针addrlen:常被设置为sizeof(structsockaddr)。structsockaddr_in结构类型是用来保存socket信息的:structsockaddr_in{  shortintsin_family;/*地址族*

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。