基于Linux的FTP服务器的安装与配置
1 引言
1 . 1课程设计的背景
随着信息技术的飞速发展 网络应用扮演着不可或缺角色。计算机知识的普及 民众对计算机的认识和理解日益深厚。在二十世纪末二十一世纪初期在PC应用领域微软的windows操作系统占据了操做系统的半壁江山 图形化的界面傻瓜式的应用即使计算机新手也能用的得心应手。但是随着需求的日益深入大家渐渐发现 Windows不像以前那样好用了尤其是在网络应用服务器构建等方面有着不小的缺憾。大家渐渐把目光转向了其他操作系统 linux成为了他们的首选。
Linux是一套免费使用和自由传播的类UNIX操作系统它具有如下特点开放性多用户多任务 良好的用户界面设备独立性提供丰富的网络功能可靠的系统安全性 良好的可移植性兼容其他的UNI X系统支持多文件系统。
1 .2课程设计的目的
本课程设计的目的是通过对FTP服务器的配置和使用加深对l inux下网络功能的实现的理解。
基于Linux的FTP服务器的安装与配置
2 FTP服务
自从有了网络一来通过网络来传输文件一直是一项很重要的共组不但可以实现文件的上传下载而且可以设置不同的用户访问权限并支持大文件的断点续传功能。例如把在本地计算机上设计的网站文件上传到远程的Web服务器主机上就可以使用FTP服务根据用户名及密码访问远程主机所提供的FTP目录。采用这种方法用户不需要使用Telnet登陆到远程主机进行工作这样就使Web服务器上的文件更新工作变得非常轻松。
2. 1 FTP简介
FTP是Internet上用来传送文件的协议文件传输协议是TCP/IP协议族中的协议之一他是为了能够在Internet上互相传送文件而制定的文件传送标准规定了Internet上文件如何传送。该协议是Internet文件传送的基础它是由一系列规格文档组成 目标是提高文件的共享性提供非直接使用远程计算机的方法是存储介质对用户透明和可靠传输数据。也就是说通过FTP协议就可以完成两台计算机之间的复制从远程计算机复制文件至自己的计算机上称为下载download文件。若将文件从本地计算机复制到远程计算机上则称之为上传upload文件。在TCP/IP协议中 FTP标准命令TCP端口号21 PORT方式端口号20。
2.2 FTP服务器和客户端
与大多数Internet服务一样 FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令服务器程序执行用户所发出的命令并将执行的结果返回到客户机。比如说用户发出一条命令要求服务器向用户传
基于Linux的FTP服务器的安装与配置
送某一个文件的一份拷贝服务器会响应这条命令将指定文件送至用户的机器上。客户机程序代表用户接收到这个文件将其存放在用户目录中。
2.3 FTP用户授权
使用FTP时必须首先登录在远程主机上获得相应的权限以后方可上传或下载文件。也就是说要想同哪一台计算机传送文件就必须具有哪一台计算机的适当授权。换言之除非有用户ID和口令否则便无法传送文件。根据FTP服务器提供的服务对象不同可以将FTP服务的使用者分为以三类。
1本地用户。如果用户在远程FTP服务器上拥有账户账户为本地用户。本地用户可以通过输入自己的账号和密码进行登陆。当登陆成功后其登陆目录为系统提供给该用户的根目录$HOME如/home/user1用户利用FTP访问该目录如同在本地一样可以下载和上传文件。
2 Guest用户。当FTP服务器为某些特定用户提供公共账户和密码并且账号只能用户文件传输服务其登陆的目录为指定的目录此用户类别为Guest用户。通常状况下为该用户提供文件下载和上传功能。
3匿名用户。如果用户在远程的FTP服务器上没有自己的账号则称此用户为匿名用户。若FTP服务器提供匿名访问功能则匿名用户可以通过输入annoymous用户名和空的口令来进行登陆一般情况下匿名登录的FTP服务器只提供文件下载功能。匿名用户一直是Internet上获取信息资源的最主要方式。
2.4 FTP的工作模式
FTP的工作情况如图2. 1所示。图中的椭圆圈表示在系统中运行的进程。图中的服务器有两个从属进程控制进程和数据传送进程。在客户端除了控制进程和数据传送进程外还有一个用户界面进程用来和用户接口
基于Linux的FTP服务器的安装与配置
图2 1 FTP工作模式
在进行文件传输时 FTP的客户和服务器之间要建立两个并行的TCP连接“控制连接”和“数据连接”。控制连接在整个会话期间一直保持打开 FTP客户所发出的传送请求通过控制连接发送给服务器端的控制进程但控制连接并不用来传送文件。实际用来传送文件的事“数据连接”用来连接客户端和服务器端的数据传送进程。数据传送进程实际完成文件的传送在传送完毕后关闭“数据传送连接”并结束运行。由于FTP使用了一个分离的控制连接因此FTP的控制信息是带外传送的。
FTP数据帧格式如图2.2所示。
2.5 FTP协议包交互
为了更深入的了解FTP模型的工作原理本人从协议包的层次一步一步的分析FTP服务从控制连接的建立用户身份验证数据连接的建立到数据连接的关闭和控制连接的关闭。
1 、地址解析ARP协议执行过程
地址解析协议ARP解析过程如图2.3所示。
基于Linux的FTP服务器的安装与配置
图2 3地址解析ARP协议执行过程
2、 FTP控制连接建立协议执行过程
FTP控制连接建立过程如图2.4所示。
图2 4 FTP控制连接建立的协议包交互过程协议包46是FTP控制连接建立的协议执行过程协议包4 FTP客户请求建立与FTP服务器控制连接包
基于Linux的FTP服务器的安装与配置
3、 FTP用户身份验证协议包执行过程
FTP身份验证过程如图2.5所示。
FTP客户
图2. 5 FTP用户身份验证协议包交互过程
协议包916是用户身份的协议执行过程
协议包9 FTP客户发送给FTP服务器的User命令协议包
协议包10 FTP服务器发送给FTP客户对User命令的应答包
协议包12 FTP客户发送给FTP服务器的带有用户名与密码的应答包
4、 FTP数据连接建立过程
FTP数据连接建立分为连接建立准备、连接建立阶段
1连接建立准备过程如图2.6所示。
基于Linux的FTP服务器的安装与配置
图2 6数据连接建立准备工作协议包交互过程
协议包17、 18完成数据连接建立准备工作
协议包17 FTP客户发送给FTP服务器的Port命令包协议包18 FTP服务器发送给FTP客户的Port命令应答包协议包19 FTP客户发送给FTP服务器的RETR命令包2数据连接建立过程如图2.7所示。
图2 7数据连接建立过程数据包交互过程
基于Linux的FTP服务器的安装与配置
5、 FTP数据传输过程
FTP数据传输过程如图2.8所示。
图2 8 FTP数据传输和确认协议包交互过程
协议包23 FTP服务器向FTP客户发回文件netstart的状态信息协议包25 FTP服务器向FTP客户发送的检索文件的数据包
基于Linux的FTP服务器的安装与配置
协议包26 FTP服务器在传输数据的同时 向FTP客户发送在文件传输结束时
6、 FTP连接释放过程
FTP连接释放包括控制连接释放和数据连接释放 图2.9展示了控制连接释放过程。
图2 9连接释放请求协议包交互过程
Virmach自上次推出了短租30天的VPS后,也就是月抛型vps,到期不能续费,直接终止服务。此次又推出为期6个月的月抛VPS,可选圣何塞和水牛城机房,适合短期有需求的用户,有兴趣的可以关注一下。VirMach是一家创办于2014年的美国商家,支持支付宝、PayPal等方式,是一家主营廉价便宜VPS服务器的品牌,隶属于Virtual Machine Solutions LLC旗下!在廉价便宜美国...
RAKsmart 商家这几年还是在做事情的,虽然他们家顺带做的VPS主机并不是主营业务,毕竟当下的基础云服务器竞争过于激烈,他们家主营业务的独立服务器。包括在去年开始有新增多个数据中心独立服务器,包括有10G带宽的不限流量的独立服务器。当然,如果有需要便宜VPS主机的他们家也是有的,比如有最低月付1.99美元的美国VPS主机,而且可选安装Windows系统。这里商家有提供下面六款六月份的活动便宜V...
在之前几个月中也有陆续提到两次HostYun主机商,这个商家前身是我们可能有些网友熟悉的主机分享团队的,后来改名称的。目前这个品牌主营低价便宜VPS主机,这次有可以看到推出廉价版本的美国CN2 GIA VPS主机,月费地址15元,适合有需要入门级且需要便宜的用户。第一、廉价版美国CN2 GIA VPS主机方案我们可看到这个类型的VPS目前三网都走CN2 GIA网络,而且是原生IP。根据信息可能后续...