存储 频道

网络文件系统和协议(4)

 
2. 有状态与无状态连接
 
N F S是一种无状态的协议,这意味着N F S不记录和保存客户和服务器之间的历史关系。换而言之,N F S的处理思路就像中国的禅宗思想一样,客户与服务器都是单独处理每一个时刻的状态。这样,如果发生网络问题的话,绝对不会影响到客户与服务器之间的关系。在一次连接意外断开又重新进行连接时,两个系统之间可以马上开始协同工作。
 
与N F S不同的是,C I F S是一种面向会话的有状态的协议。客户和服务器共享一个历史记录,了解在会话期间所发生的事情。如果一个会话因为某种缘故断开了,用户需要让N A S装置或域控制器重新验证自己。对于那些期望网络存储可以随时立即使用的应用来说,这种方法会带来一些麻烦。C I F S采用面向会话的有状态连接,是为了加强自身文件系统的锁定机制,这将在下面的部分详细讨论。
 
3. 目录和文件级安全
 
UN I X 文件级安全机制定义了三个级别的I D:用户、组和其他。用户通常是文件的创建者;组是共享一个I D 的多个用户;其他是指其他用户。在这三个I D级别内部,又有三种类型的访问标识:写、读或可读可写。每一种I D级别和访问类型采用一个数字位0或1代表,0表示没有授权,1表示授权。UN I X 文件级安全可以采用3个三元组或9位信息表示。
 
每一个N F S请求都包含有用户I D和该用户的组I D,这些I D需要与UN I X 文件系统中相应索引节上的安全信息进行校对。如果I D不匹配,则用户不能访问相应的文件,尽管两个系统之间可以通过N F S进行通信。
 
CIFS安全机制采用访问控制表(A C L),A C L的内容涉及到共享、目录、文件等。A C L要比UN I X 采用的3个三元组表示法更具安全策略,它除了支持直接访问特性外还能提供一些条件测试。当一个C I F S用户访问一个共享时,由该共享的A C L检查用户I D。因为CIFS是面向会话的,所以接下来对前面同一共享的访问就不需要进行验证了。
 
4. 锁定机制
 
U F S + N F S与N T F S + C I F S之间的一个主要区别,在于锁定机制的实现。这部分主要探讨一下这方面的区别。
 
包括D O S在内的P C操作系统,已经建立了相当健壮的锁定体制。P C应用可以通过系统界面打开一个文件,并可指定对该文件进行的I / O操作。不仅如此,在这些文件打开请求内部,还可以包含另一种用于决定是否允许别的应用打开同一个文件的请求。如果允许别的应用打开同一个文件,那么又可以限制它们如何使用该文件。文件系统加强了这些限制,或者说锁定。也就是说,P C文件系统中的第一个访问文件的应用,决定所有其他后来想同时访问同一个文件的应用。
 
这就是为什么C I F S要求面向会话的缘故。Wi n d o w s 文件系统锁定管理器的管理需要一些历史信息,即需要知道哪一个客户打开了哪一个文件,并以什么顺序进行了哪些操作。
 
与此不同的是,N F S不提供强制的锁定,它只是提供一种劝告性锁定机制,即通知某个应用是否另一个应用正在使用相应的文件,以及如何使用该文件。通过这些信息,后来的应用可以决定是否遵守锁定请求。也就是说,任何UN I X 应用在任何时候都可以对任何文件进行需要的操作。没有任何一定要遵守的规则,需要的只是大家的自律。
 
基于N F S的N A S系统可以采用一种附加的锁定管理器,叫做网络锁定管理器(N L M)。N L M 可以在N F S环境中提供更一致的锁定行为。不过,严格来说,作为一种建立在N F S基础上的应用,N L M只是一种可选的工具。使用N L M的应用,不能保证别的应用违反锁定机制,做出一些不友好的行为。
0
相关文章