Linux中nfs ,ftp 和samba有什么区别

FS:Network File System 是已故的Sun公司制定的用于分布式访问的文件系统,它的本质是文件系统。主要在Unix系列操作系统上使用,基于TCP/IP协议层,可以将远程的计算机磁盘挂载到本地,像本地磁盘一样操作。


samba是Unix系统下实现的 Windows文件共享协议-CIFS,由于Windows共享是基于NetBios协议,是基于Ethernet的广播协议,在没有透明网桥的情况下(如VPN)是不能跨网段使用的。它主要用于unix和windows系统进行文件和打印机共享,也可以通过samba套件中的程序挂载到本地使用。


FTP的目的是在Internet上共享文件而发明的一种协议,基于TCP/IP。世界上绝大多数系统都会有支持FTP的工具存在,通用性很强。目前少有人把VPS修改成支持FTP组件的形式,主要是因为FTP一开始就不是为了文件系统而设计的。


三种协议虽然都可以支持文件共享,但是其功能点和侧重点上面各有所不同,协议格式不同。Authentication(鉴定)也就是你说的登陆方式也会随着协议的内容也有所不同。


标准的FTP协议的登陆密码是用明文传输的,没有加密,这会有很大的安全隐患,目前有FTPs(FTP on SSL/TLS)和sFTP(SSH FTP)等基于通信层进行加密的FTP协议,这样会有更好的安全性。


NFS的鉴定机制是基于IP地址的,没有密码这种东西。是控制本地映射的用户权限来控制访问者的权


ftp_tftp_nfs三种文件传输协议的区别
文件传送协议FTP(File Transfer Protocol)是Internet上使用比较广泛的文件传送协议。FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。FTP屏蔽了各种计算机系统的细节,因此适用于在异构网络中任意计算机之间传送文件。它的基本应用就是将文件从一台计算机复制到另一台计算机中。它要存取一个文件,就必须先获得一个本地文件的副本,如果修改文件,也只能对文件的副本进行修改,然后再将修改后的文件副本传回到原节点。
您只要记住几个关键词:交互式、存取权限和副本。


简单文件传送协议TFTP(Trivial File Transfer Protocol)是一个小而易于实现的文件传送协议。TFTP是基于UDP数据报,需要有自己的差错改正措施。TFTP只支持文件传输,不支持交互,没有庞大的命令集。也没有目录列表功能,以及不能对用户进行身份鉴别。但它的代码所占内存较小,不需要硬盘就可以固化TFTP代码,很适合较小的计算机和特殊用途的设备。


您会发现TFTP和FTP一个主要的区别就是它没有交互式,且不进行身份验证。


NFS最初应用于UNIX操作系统下,它允许应用进程打开一个远地文件,并能够在该文件中某一个特定位置上开始读写数据。


FTP在修改数据文件时是需要首先获得一个文件的副本,如果计算机A上运行的应用程序要在远地计算机B的一个很大的文件中添加一行信息。那么就需要将此文件从计算机B传送到计算机A,添加好信息后再回传到计算机B。来回传输这样大的文件很花费时间,而这种传送是不必要的。而NFS可使用户只复制一个大文件中的一个很小的片段,在网络上传送的只是少量的修改数据。

你可能感兴趣的:(Linux,note)