nfs 原理详解

nfs :Network File System(网络文件系统)

首先说一下nfs的一些原理吧: (这里说的可能不大精确 ,主要是理解整个工作流程)

nfs 本身只是一种文件系统(只具有文件管理的功能),并不具备网络功能。

所以 nfs 必须借助rpc进行网络通信。

RPC: Remote Rrocedure Call (远程过程调用)  相对于LPC(本地过程调用)

rpc 的客户端 stub  服务端 rpc Server

rpc 对于用户是透明的,但是实际上需要 rpc 客户端和服务端的协作。

一切网络通信过程都隐藏在 rpc 通信机制。

应用程序本身并不考虑网络通信。

Linux : 提供 rpc 服务的程序:  Portmap

但是在redhat 6.5 中 portmap  已经改为 rpcbind

RPC: 编程技术(主要是用于简化分布式应用)

工作流程:

nfs 客户端将请求发送给 RPC  客户端,RPC 客户端向 RPC  的服务端发起通信,

RPC 的服务端再将请求转给真正的 nfs 服务端。

使得客户端和服务端不需要再去管理对方数据包文发送过去怎么理解。

nfs 客户端只需要发起 RPC 客户端调用。

其实上面说的工作流程只是工作机制中的一种, 其实 nfs 也可以监听某一个端口,只不过这个

端口是随机(如下图的 808),但 nfs 服务端会将这个随机的端口告诉 rpc 服务端,

rpc 这是只负责初始连接,后面客户端将直接发起请求给 nfs 服务端。我们的nfs 恰恰就工作于这种机制。

Portmap 工作在 tcp/111 和 udp/111 上。

所以当客户端需要跟网络通信的时候,他只需要想服务器端的 111 端口发起请求即可,

rpc 在接受客户端的请求之后,它会理解,客户端请求的是哪一个 rpc 服务,于是 rpc

服务端将相应服务 对应的端口号 发送给 客户端, 客户端再自己去连接 真正提供文件系统

服务的服务器程序。

简单总结一下: rpc 是一种编程技术。主要是用于简化分布式应用程序的开发。

rpc 的客户端 将请求发送给 rpc 的服务端 , rpc 服务度 再讲请求转给真正的服务端。

RPC 实现数据交换既可以基于 : 二进制格式     文本格式 (常见的是 XML RPC)

你可以这样理解: RPC 只是一种协议, Portmap 是这种协议的一个实现

就相当于 http(协议) 和 Apache

时间: 2024-12-06 08:14:55

nfs 原理详解的相关文章

nfs原理详解及配置

简介 工作原理 配置 简介 NFS(Network File System)即网络文件系统,它允许网络中的计算机之间通过网络共享资源.将NFS主机分享的目录,挂载到本地客户端当中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,在客户端端看起来,就像访问本地文件一样. RPC,基于C/S模型.程序可以使用这个协议请求网络中另一台计算机上某程序的服务而不需知道网络细节,甚至可以请求对方的系统调用. 对于Linux而言,文件系统是在内核空间实现的,即文件系统比如ext3.ext4等

kickstart安装系统原理详解

前言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装. 常规的办法有什么? 光盘安装系统===>一个服务器DVD内置光驱百千块,百台服务器都配光驱就浪费了,因为一台服务器也就开始装系统能用的上,以后用的机会屈指可数.用USB外置光驱,插来插去也醉了. U盘安装系统===>还是同样的问题,要一台一台服务器插U盘. 网络安装系统(ftp,http,nfs) ===>这个方法不错,只要服务器能联网就可以装系统了

LVS原理详解(3种工作模式及8种调度算法)

2017年1月12日, 星期四 LVS原理详解(3种工作模式及8种调度算法) LVS原理详解及部署之二:LVS原理详解(3种工作方式8种调度算法) 作者:woshiliwentong  发布日期:2014-01-06 09:31:20 一.集群简介 什么是集群 计算机集群简称集群是一种计算机系统,它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作.在某种意义上,他们可以被看作是一台计算机.集群系统中的单个计算机通常称为节点,通常通过局域网连接,但也有其它的可能连接方式.集

LVS负载均衡群集(三种工作模式原理详解)

LVS负载均衡群集(三种工作模式原理详解) 一.前言 ? 在互联网应用中,随着站点对硬件性能.响应速度.服务稳定性.数据可靠性等要求越来越高,单台服务器力不从心.所以我们需要通过一些方法来解决这样的瓶颈. ? 最简单的方法就是使用价格昂贵的大.小型的主机:但这样在大多数企业中显然是不可取或者说不现实的.那么我们就需要通过多个普通服务器构建服务器群集. 二.相关概念概述 2.1何为LVS? ? LVS--Linux Virtual Server,即Linux虚拟服务器(虚拟主机.共享主机),虚拟主

图像处理中的数学原理详解17——卷积定理及其证明

欢迎关注我的博客专栏"图像处理中的数学原理详解" 全文目录请见 图像处理中的数学原理详解(总纲) http://blog.csdn.net/baimafujinji/article/details/48467225 图像处理中的数学原理详解(已发布的部分链接整理) http://blog.csdn.net/baimafujinji/article/details/48751037 1.4.5   卷积定理及其证明 卷积定理是傅立叶变换满足的一个重要性质.卷积定理指出,函数卷积的傅立叶变

Java虚拟机工作原理详解

原文地址:http://blog.csdn.net/bingduanlbd/article/details/8363734 一.类加载器 首先来看一下java程序的执行过程. 从这个框图很容易大体上了解java程序工作原理.首先,你写好java代码,保存到硬盘当中.然后你在命令行中输入 [java] view plaincopy javac YourClassName.java 此时,你的java代码就被编译成字节码(.class).如果你是在Eclipse IDE或者其他开发工具中,你保存代码

Storm概念、原理详解及其应用(一)BaseStorm

本文借鉴官文,添加了一些解释和看法,其中有些理解,写的比较粗糙,有问题的地方希望大家指出.写这篇文章,是想把一些官文和资料中基础.重点拿出来,能总结出便于大家理解的话语.与大多数"wordcount"代码不同的是,并不会有如何运行第一storm代码等内容,只有在运行完代码后,发现需要明白:"知其然,并知其所以然". Storm是什么?为什么要用Storm?为什么不用Spark? 第一个问题,以下概念足以解释: Storm是基于数据流的实时处理系统,提供了大吞吐量的实

SVM -支持向量机原理详解与实践之四

SVM -支持向量机原理详解与实践之四 SVM原理分析 SMO算法分析 SMO即Sequential minmal optimization, 是最快的二次规划的优化算法,特使对线性SVM和稀疏数据性能更优.在正式介绍SMO算法之前,首先要了解坐标上升法. 坐标上升法(Coordinate ascent) 坐标上升法(Coordinate Ascent)简单点说就是它每次通过更新函数中的一维,通过多次的迭代以达到优化函数的目的. 坐标上升法原理讲解 为了更加通用的表示算法的求解过程,我们将算法表

SVM-支持向量机原理详解与实践之一

目录(?)[+] 前言 SVM机器学习与深度学习 人工智能领域 机器学习与深度学习 SVM简介 SVM原理分析 快速理解SVM原理 线性可分和线性不可分 函数间隔和几何间隔 超平面分析与几何间隔详解 二次最优化 SVM-支持向量机原理详解与实践 前言 去年由于工作项目的需要实际运用到了SVM和ANN算法,也就是支持向量机和人工神经网络算法,主要是实现项目中的实时采集图片(工业高速摄像头采集)的图像识别的这一部分功能,虽然几经波折,但是还好最终还算顺利完成了项目的任务,忙碌一年,趁着放假有时间好好