fedora16 FTP服务的安装与配置--用与fedora上传文件到tiny210

时间:2021-11-03 19:56:02

作者:cherry_odd

转自:http://blog.csdn.net/cherry_odd/article/details/11567945


之前把本地的nfs、TFTP服务调通了,等210开发板到了后,立马按照用户手册烧系统Qtopia、搭建PC端-客户端的NFS服务,调访谈ftp服务时,按照用户手册5.9.1的方法,但一旦涉及到上传文件,就报错,废话不多说,先将一步一步的操作记录下来,再分析原理:

一.操作

1.首先要安装ftp服务

# sudoyum install vsftpd

下面是一些查询命令,查询是否安装了vsftpd以及查询安装信息:

# rpm -qa|grep vsftpd查询是否安装了vsftpd

# rpm -qivsftpd查询vsftpd的详细信息

# rpm -qlvsftpd列出vsftpd中包含的文件

2.启动vsftpd服务并且随系统自动启动vsftpd

# servicevsftpd start

# chkconfig--level 3 vsftpd on打开3级别随系统自动vsftpd

3.按照用户手册ftp的方法来从PC端上传文件到客户端(210

首先在PC端执行:

fedora16 FTP服务的安装与配置--用与fedora上传文件到tiny210

但是,前3步的执行都没问题,一到了第4步就出现问题,如下:

fedora16 FTP服务的安装与配置--用与fedora上传文件到tiny210

怎么解决呢?摸索了三天,发现其实很简单,只需要把被动模式关闭即可:

fedora16 FTP服务的安装与配置--用与fedora上传文件到tiny210

然后在目标板一端执行:

fedora16 FTP服务的安装与配置--用与fedora上传文件到tiny210

二.原理

FTP会话时包含了两个通道,一个叫控制通道,一个叫数据通道。

fedora16 FTP服务的安装与配置--用与fedora上传文件到tiny210

控制通道:控制通道是和FTP服务器进行沟通的通道,连接FTP,发送FTP指令都是通过控制通道来完成的, PI称为控制连接

数据通道:数据通道是和FTP服务器进行文件传输或者列表的通道。
FTP协议中,控制连接均有客户端发起,而数据连接有两种工作方式:PORT方式和PASV方式,DTP称为数据连接。

(1)   PORT模式(主动方式)

FTP 客户端首先和FTP ServerTCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口(一个大于1024的端口)接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据。

(2)   PASV模式(被动方式)

在建立控制通道的时候和PORT模式类似,当客户端通过这个通道发送 PASV命令的时候,FTP server打开一个位于10245000之间的随机端口并且通知客户端在这个端口上传送数据的请求,然后FTP server将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接传送数据.

三.FTP和TFTP的区别

FTP 是完整、面向会话、常规用途文件传输协议。而 TFTP用作 bones bare -特殊目的文件传输协议。

交互使用 FTP TFTP允许仅单向传输的文件。

FTP 提供身份验证。而TFTP不。

FTP 使用已知 TCP端口号: 20的数据和 21用于连接对话框。 TFTP用于 UDP端口号 69其文件传输活动。

因为 TFTP 不支持验证 WindowsNT,所以FTP服务器服务不支持 TFTP

FTP 依赖于 TCP,是面向连接并提供可靠的控件。 TFTP依赖 UDP,需要减少开销,几乎不提供控件。

TFTP的主要特点是:

    1)每次传送的数据PDU中有512字节的数据,但最后一次可不足512字节。

    2)数据PDU也称为文件块(block),每个块按序编号,从1开始。

    3)支持ASCII码或二进制传送。

    4)可对文件进行读或写。

    5)使用很简单的首部。

    6TFTP只支持文件传输而不支持交互;

    7TFTP没有一个庞大的命令集;

    8)没有列目录的功能;

    9)也不能对用户进行身份鉴别。

    TFTP的工作很像停止等待协议。例如:

    1)发送完一个文件块后就等待对方的确认,确认时应指明所确认的块编号。

    2)发完数据后在规定时间内收不到确认就要重发数据PDU

    3)发送确认PDU的一*在规定时间内收不到下一个文件块,也要重发确认PDU。这样就可保证文件的传送不致因某一个数据报的丢失而告失败。

    TFTP在一开始工作时,客户进程发送一个读请求PDU或写请求PDUTFTP服务器进程,其熟知端口号码为69TFTP服务器进程要选择一个新的端口和TFTP客户进程进行通信。若文件长度恰好为512字节的整数倍,则在文件传送完毕后,还必须在最后发送一个只含首部而无数据的数据PDU;若文件长度不是512字节的整数倍,则最后传送数据PDU的数据字段一定不满512字节,这正好可作为文件结束的标志。