文件共享服务之FTP
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件共享服务之FTP相关的知识,希望对你有一定的参考价值。
文件共享服务
一、什么是文件共享服务
简单来说就是文件或存储块设备可以共享给大家使用
(一)、实现共享服务有三种:
1、ftp:属于应用层服务,可以跨平台使用(linux<->unix<-->windows)
2、nfs:属于内核模式,不可以跨平台(linux<-->linux)
3、samba:可以跨平台(linux<-->unix<-->windows)
(二)、实现存储设备与服务器连接的方式有三种:
1、DAS:连接的磁盘
2、NAS:通过nfs/cifs协议实现网络共享文件(文件存储方式)电子邮件、网页服务器、多媒体流服务、档案分享等就适用于NAS存储架构。
3、SAN:通过网线或光纤实现ISCSI和FCSAN将物理存储设备连接起来使用(块存储方式较底层,需要格式化并挂载当本地磁盘使用)数据库有关的应用适用于SAN存储架构。
(三)、附:
1、nfs(Network File System,网络文件系统)协议实现Linux的文件封装共享传输。
2、cifs(common internet File System,公共互联网文件系统)协议实现windows与linux的共享识别,例如samba就是基于cifs(smb)协议实现。
二、FTP
1、FTP是File Transfer Protocol 文件传输协议的缩写,基于网络来传输文件的应用层通信协议。
2、FTP能够通过网络来传输文件,因为工作在应用层所以不会受到平台的限制。
3、FTP的工作模式
(1)、FTP的数据传输分为命令数据与文件数据,命令传输就是客户端要执行的命令,服务端收到后返回给客户端执行结果,如ls命令的执行结果一样。文件传输就是客户端要传输的数据,服务端与客户端数据连接来传输。
(2)、FTP的服务端与客户端建立连接大体三个步骤,建立连接,传输数据,断开连接。
(3)、FTP是基于tcp协议来传输数据的,使用21号端口来建立认证通道,20号端口来建立数据通道。
(4)、FTP是明文传输的。
(5)、FTP的用户可分为实体用户(real user),匿名用户(anonymous user),访问用户(guest user)。
主动模式与被动模式
由于现在的网络架构中,都会有防火墙来阻止端口与高位端口被主动连接,特别20端口是被禁止主动连接的,因为20端口是FTP的数据端口,所以为了解决客户端或者服务端的防火墙问题,FTP就有了主动和被动两种模式,通过墙内的一端来主动连接外端的一方,这样子就不会被防火墙阻挡。
主动模式:一般用于服务端存在防火墙的情况,客户端无法主动连接至服务端的20数据端口,需要由服务端主动连接客户端的高位数据端口。
1. 两端在建立TCP通信通道后,客户端会发送port请求与服务端的21号端口认证连接并发送开放用来建立数据连接的高位端口号。 2. 服务端在收到后,会通过20号端口发送ACK响应请求 3. 服务端会通过20端口与客户端发送的高位端口建立数据连接通道。
被动模式:一般用于客户端存在防火墙的情况,服务端在收到连接请求后因为客户端防火墙而无法达到客户端高位端口,需要客户端主动连接至服务端的数据传输端口。
1. 两端在建立TCP通信通道连接后,客户端会发送PASV请求给服务端。 2. 服务端在受到PASV端口后就会打开一个高位端口作为数据传输端口来响应给客户端等待客户端连接。 3. 客户端在收到响应后,就会去连接响应的端口建立数据连接通道。
我们可以看到以上两种工作方式,都是由墙内的一方来发出连接并允许另一端来连接指定端口,墙内的一方就类似是一间房子的主人,而另外一方是客人,客人去访问需要得到主人的同意,并来给你“开门”之后,你才能进到这个屋子。
三、响应码
1XX:信息类
2XX:成功类信息
3XX:提示需要进一步补全内容类
4XX:客户端错误
5XX:服务器端错误
四、用户认证
1、虚拟用户:仅用于访问某特定服务中的资源
nsswitch:network server switch,名称解析框架