FTP 协议与NFS协议

【上一篇】HTTP协议与HTTPS协议的区别

FTP简介

FTP(File Transport protocol),即文件传输协议,可有效地提高文件的共享和数据可靠高效地传输。FTP协议与前面几节介绍的Http协议更复杂,建立FTP连接时,需要同时开启两个端口,一个用于命令控制,另一个作为数据传输的端口,提高了效率。一般21端口作为命令控制的端口、20端口作为数据传输的端口。

命令控制端口:负责FTP命令发送、接收返回的响应信息。

数据端口:显示目录列表、上传、下载文件等有数据传输的操作。

下面简单介绍一下FTP的两种连接模式:主动模式、被动模式,其中的主动和被动都是针对服务器端来说的,主动模式下,服务器开启数据端口主动连接客户端,被动模式下,服务器端开启一个数据传输端口告诉客户端,然后服务器端被动地去连接这个端口。

FTP的主动模式【PORT】

主动模式下,客户端打开一个随机端口,向服务器端的21端口发起连接;同时客户端还会打开一个监听端口,并向服务器发送命令,服务器响应客户端命令主动开放20端口连接到客户端。

主动模式下,客户端告诉服务器端自己的端口号,让服务器的20端口主动连接客户端,这种方式是不安全的。因此客户端和服务器端都应该开启防火墙,对于客户端的防火墙来说,这是从外部到内部的连接,可能会被阻塞。

【FTP协议的安全性分析,具体可以看一下网管小王的博客】防火墙对FTP主动和被动模式的影响.

FTP的被动模式【PASV】

被动模式下,当开启一个FTP连接时,客户端打开两个随机的端口,提交PASV命令,并用第一个端口去连接服务器的端口命令控制端口21,返回消息服务器的地址及开放的数据端口号,这是客户端的第二个端口去连接服务器的数据端口号,至此FTP的客户端和服务器端就建立了被动连接模式,进行后续的数据传输。

NFS协议简介

NFS(Network File System),是Sun公司用于分布式访问的文件系统。是在Linux的内核中实现的。

正如上图中所看到的,客户端通过发送消息来获取它们需要的服务器端磁盘上的目录和文件。问题来了,为啥我们不直接使用客户机上的本地磁盘呢?

主要原因有3:

(1)这种布局使得在客户机之间的数据共享更加容易。比如,如果你访问Client 0上的一个文件,然后你使用Client 2,你会看到相同的文件系统视图。数据可以很自然地在不同机器上共享。

(2)集中管理。比如要备份文件,可以只备份少数几个服务器上的数据,而不用备份许多客户机上的数据。

(3)安全,将所有的服务器放在一个锁好的机房里可以防止特定类型的问题发生。

参考资料

【1】高 乐怡,顾 锋磊.使用 Socket 通信实现 FTP 客户端程序

.https://www.ibm.com/developerworks/cn/linux/l-cn-socketftp/index.html[EB/OL].2011.04.07.

【2】Sun’s Network File System (NFS).http://pages.cs.wisc.edu/~remzi/OSTEP/dist-nfs.pdf

【上一篇】HTTP协议与HTTPS协议的区别

原文地址:https://www.cnblogs.com/Erma/p/10333127.html

时间: 2024-10-06 06:55:11

FTP 协议与NFS协议的相关文章

13、【华为HCIE-Storage】--文件协议 CIFS NFS FTP HTTP

------------------------------------重要说明------------------------------------ 以下部分内容来网络,部分自华为存储官方教材 具体教材内容请移步华为存储官网进行教材下载 网络引用内容无法找到原创,如有侵权请通知 ------------------------------------重要说明------------------------------------ ① CIFS CIFS是一个网络文件共享协议,允许Intern

TCP/IP协议与Http协议的区别

TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据.关于TCP/IP和HTTP协议的关系,网络有一段比较容易理解的介绍:"我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如HTTP.FTP.TELNET等,也可以自己定义应用层协议.WEB使用HTTP协议作应用层协议,以封装HTTP 文本信息,然后使用TCP/IP做

Linux之FTP服务器,NFS服务器,SAMBA服务器详解

本文介绍Linux中的三个网络文件共享服务:ftp,nfs,samba FTP服务 File Transfer Protocol 早期的三个应用级协议之一 基于C/S结构 ?双通道协议:数据和命令连接 数据传输格式:二进制(默认)和文本 两种模式:(服务器角度) 主动(PORT style):服务器主动连接 ??? 命令(控制):客户端:随机port ---> 服务器:tcp 21 ????数据:客户端:随机port <---服务器:tcp 20 被动(PASV style):客户端主动连接

Http协议与TCP协议简单理解

在C#编写代码,很多时候会遇到Http协议或者TCP协议,这里做一个简单的理解. TCP协议对应于传输层,而HTTP协议对应于应用层,从本质上来说,二者没有可比性.Http协议是建立在TCP协议基础之上的,当浏览器需要从服务器获取网页数据的时候,会发出一次Http请求.Http会通过TCP建立起一个到服务器的连接通道,当本次请求需要的数据完毕后,Http会立即将TCP连接断开,这个过程是很短的.所以Http连接是一种短连接,是一种无状态的连接.所谓的无状态,是指浏览器每次向服务器发起请求的时候,

深入理解HTTP协议、HTTP协议原理分析

深入理解HTTP协议.HTTP协议原理分析 目录(?)[+] http协议学习系列 1. 基础概念篇 1.1 介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC,RFC 1945定义了HTTP/1.0版本.其中最著名的就是RFC 26

网络协议之HTTP协议

HTTP协议详解(真的很经典) 转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspx Author :Jeffrey 引言 HTTP是一个属于应用层的面向对象的协 议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是 HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation

iOS Http协议与TCP协议简单理解

在C#编写代码,很多时候会遇到Http协议或者TCP协议,这里做一个简单的理解. TCP协议对应于传输层,而HTTP协议对应于应用层,从本质上来说,二者没有可比性.Http协议是建立在TCP协议基础之上的,当浏览器需要从服务器获取网页数据的时候,会发出一次Http请求.Http会通过TCP建立起一个到服务器的连接通道,当本次请求需要的数据完毕后,Http会立即将TCP连接断开,这个过程是很短的.所以Http连接是一种短连接,是一种无状态的连接.所谓的无状态,是指浏览器每次向服务器发起请求的时候,

【转】SSL协议、SET协议、HTTPS简介

一.SSL协议简介 SSL是Secure Socket Layer的缩写,中文名为安全套接层协议层.使用该协议后,您提交的所有数据会首先加密后,再提交到网易邮箱,从而可以有效防止黑客盗取您的用户名.密码和通讯内容,保证了您个人内容的安全. 具体地说,SSL (Secure Socket Layer) 为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络 上之传输过程中不会被截取及窃听.目前一般通用之规格为40 bit之安

HTTP协议&SOCKET协议

一. HTTP协议是什么? 我们在浏览器的地址栏里输入的网站地址叫做 URL(UniformResourceLocator,统一资源定位符).就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet地址.当你在浏览器的地址框中输入一个URL或是单击一个超级链接时,URL就确定了要浏览的地址.浏览器通过超文本传输协议(HTTP),将Web服务器上站点的网页代码提取出来,并翻译成漂亮的网页.因此,在我们认识HTTP之前,有必要先弄清楚URL的组成 , 例如: http://www.mic