栏目搜索
 
 
 
 
 

NetWare与UNIX的互联方法与实现

作者:不详  来源:不详  发布人:admin  发布时间:2005-10-16 20:18:29

异型
络之间互联是当今计算机络技术发展热点问题之一。随着计算机技术深入发展与不断普及,异型机与异型互相连接、互相共享资源已经成为人们需迫切解决问题了。现在广泛流行络操作系统NetWare与同样为人们所喜爱UNIX系统之间互联问题正是在这种背景下提出来。由于Novell公司已经成功地使NetWare支持TCP/IP协议,而UNIX正是建立在TCP/IP协议之上,所以一些基于TCP/IP协议应用层协议,就自然成为解决NetWare与UNIX互联问题方法了。络文件系统(NFS)正是这些协议中,应用较广、技术较为成熟协议之一,而且现在市场上已经推出了几十种NFS产品。
它们被广泛地应用于NetWare与UNIX互联之中。本文将通过对NFS概念和实现方法讨论,来说明NetWare与UNIX之间是何通过NFS实现互联
一、络文件系统概述
Sun Microsystems公司是以其高品质工作站而享誉计算机界。其工作站现已广泛地应用于多种领域,CAD、仿真、图形处理等。SUN工作站采用是开放式系统结构,它们都是基于UNIX操作系统之上,并且支持TCP/IP协议作为其体系结构。也正是由于对TCP/IP协议支持,使得SUN工作站可以很方便地在Ethernet上,基于TCP/IP进行通讯。
同时,又由于TCP/IP协议在际互联上优越性能,使得SUN工作站与其它异种机之间通讯实现起来较为方便和容易。
为了实现络上文件服务,SUN公司提出了络文件系统(Network File System, NFS)概念。它提供了异种机、异种操作系统之间透明在线(On-Line)共享文件手段。NFS允许用本地操作系统I/O调用方式访问远地文件,并且这与文件存放物理位置和使用何种操作系统无关。
从用户角度看,NFS是不可见。用户可以运行一独占程序并且可以对独享文件进行I/O操作,而这时用户并不清楚它们是本地还是远程程序或文件。
使用NFS处很多。NFS允许多台机器使用同一个数据文件,所以文件数据对络上各机器来说都是可存取。而且NFS可以通过将文件存储在一台机器上而由家来共享方式,使存储费用明显降低。尤其是在数据库应用系统中,可以把数据文件可靠、统一地集中在一起,既可共享使用又可以进行方便统一管理。
NFS目前已经得到开放系统组织承认,成为今天分布式文件系统工业标准。NFS不仅能够支持SUN工作站之间连接,而且能够支持来自主计算机厂家产品。尤其是多数UNIX操作系统,诸SCO UNIX,都提供了支持NFS协议软件,以实现UNIX与其它操作系统之间通讯。
二、从体系结构来说明NFS实现
@@T8S08900.GIF;图1@@
NFS在一个操作系统中具体形式图1。当一个应用程序运行时,它可以通过系统调用打开一个文件,并对其进行存取访问。这时文件存取系统可以接收用户各种请求,并且能够自动判断将该请求发往何处,即是本地文件系统还是NFS客户服务部分。这种判断是根据被请求文件是在本地存储介质上还是在远程计算机上而做出。当一个被请求文件在远地时,NFS客户服务软件利用NFS协议与远地机器上适当NFS服务器取得联系,并且进行相应请求操作。在远地服务器对请求做出回答后,客户服务软件获得结果,将它传送给应用程序。
从程序员角度来看,NFS协议本身并没有提供什么特别调用过程。一旦管理员将NFS设置完成后,程序员就可以对远地和本地文件进行同样存取操作,它们之间并无明显差别。
对于NFS,设计者并没有将它设计成为解决所有文件传输综合性协议,而是将NFS实现分成三个相对独立部分:NFS协议本身、远程过程调用(Remote Procedure Call, RPC)机制和外部数据表示(eXternal Data Representation, XDR)。果将它们与ISO/OSI推荐标准相对照话,可以看出RPC对应于会话层,XDR对应于表示层,而NFS协议本身则对应于应用层,见图2。从这个体系结构可以看出,真正NFS服务是建立在外部数据表示XDR和远程过程调用RPC所提供服务功能之上。
@@T8S08901.GIF;图2@@
络环境中,RPC为运行在不同机器、不同操作系统上程序(过程)相互调用、传递参数及回送结果等提供一种规范方法。RPC为实现络上客户/服务器模式提供了支持。比,一个程序员可以把他程序分解成为客户、服务器两部分,在客户方面,程序员设计了一些过程,remote,并将RPC码插入到这些过程之中;而服务器方面,应用RPC其他功能,实现了一些处理该种调用过程。当一个运行中客户程序发出远程调用时,RPC软件自动对变元值进行收集,并打成数据包(message)发往远地服务器,启动调用过程,最后返回结果。整个调用过程同调用本地过程一样。PRC实际上是ISO RM会话层协议具体实现,该机制将下层协议细节掩盖了起来,使程序员抛开通信协议具体过程,就可以设计出分布式程序。
XDR是数据描述和编码一种标准,是表示层具体实现。它提供了在不同体系结构计算机之间进行数据传输时,数据表示规范方法。比,对于32-bit整数表示方法来说,各种机器并不相同,有将整数节放在高位地址部分,有则刚相反,所以在络上使数据在这两种整数表示法机器之间进行传送,就必须进行适当转换,否则数值在传输后会发生变化。XDR就提供了这种转换功能。XDR采用是ISO推荐抽象语言法表示记法1,即ASN.1,作为内部数据传送标准语法表示。相互通信两方XDR进行本地语法表示与ASN.1之间转换与逆转换。
RPC和XDR提供这种络服务为构造NFS这样分布式数据处理系统奠定了基础。由此可见,由NFS协议本身、RPC和XDR三者相结合,在TCP/IP或UDP/IP之上,实现了NFS概念全部。它们互为基础、互相配合,实现了基于NFS异种设备、异种操作系统之间透明在线共享文件访问功能。
三、举例说明NFS工作过程
为了详细直观地说明NFS工作过程,们以SUN工作站上UNIX操作系统为例,来说明NFS具体工作过程,包括什么是文件阶层(Hierachies)、何理解服务器和客户、服务器何使其它机器共享其文件以及何对远程机器上文件阶层进行访问等。
1.文件阶层
当通过某安装点(mount point),从一个本地硬盘来安装一个文件系统时,可以将整个文件系统安装上并从它根(root)来启动。例,有两个文件系统root和usr,在不同硬盘分区中。现在可以将usr文件系统安装到root文件系统/usr目录上,并通过/usr目录对usr分区进行访问。
与上述原理相似,也可以将不同机器上某个文件系统安装到本地硬盘上,甚至可以将另外一台机器上文件系统中某个目录安装到本地,而不必将整个文件系统都安装过来,图3。
@@T8S08902.GIF;图3@@
2.服务器与客户概念
一个文件服务器是一台用于共享机器,其它机器可以用它安装(mount)文件系统。一个客户机是一台至少从一个文件服务器继承了一个文件阶层机器。任何机器(除非没有硬盘)都可以同时既作为NFS服务器,又作为NFS客户机来使用。
3.服务器与输出(Exporting)
在一台UNIX工作站上,exportfs系统程序、rpc.mountd以及nfsd守候进程(deamon)一同来控制NFS。一旦NFS文件服务器将文件阶层进行输出(export)后,此服务器上相应目录可由其它机器来访问。文件服务器上/etc/exporfs文件列出了这些可用目录、可以访问它们客户、以及存取权限。当启动exportfs程序时,/etc/rc.1oca1就会自动激活exportfs程序。该程序检查/etc/exportfs文件并通知服务器内核有关所输出每个文件阶层特权。在服务器启动后,还可以利用export命令将一个文件阶层分解成输出和非输出部分,或者改变一个已经输出文件阶层特权。
4.客户与安装(mounting)
客户对文件服务器上export目录进行存取是通过mounting来进行。客户在安装目录时,不是复制该目录,而是通过一系列远程调用来实现mounting进程,它使用户可以对服务器硬盘上相应目录进行透明存取。运行在文件服务器上RPC以一定格式接受信息,即XDR格式。由rpc.mountd守候进程来处理这些信息并允许或禁止对一个文件阶层进行安装。一旦客户将远程目录安装后,客户即可以使用“CD目录名”命令进入相应目录下进行操作了,就同操作本地硬盘一样。客户对有export信息文件服务器进行定位,并在它与服务器之间建立连接,此连接进程称为binding, NFS装订是发生在NFS安装时候。客户在自举时可以对一目录进行安装,也可以用mount命令来显式地安装,或者通过自动安装器(Automounter)来进行。/etc/fstab文件中列出了在客户启动时安装所有文件阶层。由此可见,NFS工作是由NFS服务器和NFS客户进程共同实现。只有在NFS服务器上规定了输出目录或者文件系统,在NFS客户机上才能对其进行继承,并通过对这些目录或者
文件系统安装来实现客户对服务器透明访问。
四、NetWare与UNIX工作站之间通过NFS互联实现 自从SUN公司实现了NFS以后,它实际上已经成为UNIX产品分布式文件系统。市场上有众多NFS产品出现,这将以当今最流行两种操作系统UNIX、DOS之间通过NFS进行透明访问为例,来看一看NFS在互联中具体实现。
们这介绍产品是NetWare NFS、NetWare NFS Gateway和PC-NFS。前两者是由Novell络公司推出,后者则是Sun MicroSystems公司产品。由于这两个公司看待UNIX与DOS互联问题角度和出发点不同,因此它们所实现产品也就有很区别了。NetWare NFS和NetWare NFS Gateway是Novell公司从自己NetWare络操作系统出发,基于DOS考虑所研制、开发出来。它提供给UNIX工作站透明访问NetWare服务器机制以及由DOS工作站通过NetWare服务器来共享UNIX资源手段。而PC-NFS则是SUN公司从UNIX工作站
观点出发,提供给MS-DOS或MS-Windows用户、用以实现UNIXNFS客户方软件,使PC机用户共享UNIX资源。
1.NetWare NFS
NetWare NFS是将UNIX系统透明地集成到NetWare 3.11环境之上。它可以使得NetWare服务器具有NFS服务器功能。一旦安装了NetWare NFS之后,享有NFS客户服务UNIX工作站就可以与NetWare上DOS工作站一起共享服务器上文件资源。它提供有NFS、FTP等可装载模块(NLM)为UNIX客户提供服务。NetWare NFS同时也在NetWare和UNIX之间提供双向打印关以及与X/Window应用相交互,允许X客户从远程来管理NetWare服务器。其协议体系结构图4。
@@T8S08903.GIF;图4@@
NetWare NFS与其他UNIX系统一样,需使用TCP/IP作为基本支撑协议,并籍此完成NFS上各种功能。它特点是:
(1)使UNIX用户访问NetWare
利用NetWare NFS,UNIX客户可以访问并从NetWare服务器上安装(mount)文件系统,就同它从一个典型NFS服务器上所做一样。这使得UNIX用户可以在保留了自身操作系统优势同时,使用NetWare上文件。
(2)将NetWare环境与UNIX环境集成
NetWare NFS将络文件系统概念引入到NetWare环境中来,使得UNIX工作站可以与其它NetWare客户系统,例,Macintosh、DOS、Windows以及OS/2共享文件。FTP服务可以使TCP/IP客户系统利用FTP协议从/向NetWare服务器传送文件。它提供了完整打印集成:UNIX用户可以利用NetWare打印机进行打印,而NetWare用户也可以在TCP/IP络上可以访问打印机上进行打印。它同时使NetWare v 3.11成为一个功能强UNIX工作组中NFS服务器。对于用户输入操作命令,可以有很短响应时间和较高吞吐率。
(3)提供用X/Window来管理服务器
NetWare NFS提供XCONSOLE应用程序来使X/Window系统用户以及VT100/220终端用户从远程来管理NetWare v 3.11服务器。比,可以从一个VT100/220终端或一个UNIX工作站运行X/Window,对NetWare服务器进行远程配置和排除NetWare服务器错误。
利用NetWare NFS,UNIX用户在保持其原有系统功能之外,还获得了NetWare服务器优化技术所带来处,磁盘高吞吐量、容错技术及其安全措施等。另外,NetWare NFS还带来了改进工作组(Work group)运行效率、资源共享和高效率络管理。
总之,NetWare NFS提供给UNIX工作组以高性能NFS服务器,同时NetWare操作系统又带给UNIX用户以良时间与空间响应,从而极地提高了系统性能价格比。
2.NetWare NFS Gateway
NetWare NFS Gateway所提供功能与NetWare NFS相反,它是一个基于服务器连接、使NetWare用户可以访问UNIX方案。该产品可以让DOS和Windows用户方便地对UNIX上文件系统进行访问,就象透明访问NetWare服务器一样。
Novell公司研制、开发NetWare NFS Gateway,就是给NetWare用户一种访问UNIX文件选择。那些已经习惯于NetWare环境PC机用户们,可以使用这种关来共享本地或者远程UNIX系统上文件。对于这些共享文件使用,就象操纵DOS或Windows文件一样。通过NetWare NFS Gateway还可以使PC用户共享UNIX上价格昂贵海量存储资源,CD-ROM等。
NetWare NFS Gateway安装与集中管理都是由服务器来完成。TCP/IP主机地址、UNIX/NetWare记帐信息都是在服务器上由域名系统(Domain Name System, DNS)和络信息服务(NIS)统一管理起来。这种集中管理处在于可以使络管理员从服务器上安装和管理系统,以及获得正确IP地址。也正是由于NFS文件存取是通过NetWare服务器来完成,络用户们因此可以得到NetWare保密机制支持。
另外,NetWare NFS Gateway还提供了XCONSOLE应用程序,允许X/Window系统用户以及VT 100/220终端用户远程管理NetWare v 3.11服务器。
Novell公司这两种NFS产品,在基于NetWare络操作系统基础之上,分别从两个方面解决了NetWare与UNIX之间文件共享、打印共享以及透明访问等方面问题。为局域与广域互联提供了一种可行解决方案。
3.PC-NFS
通过使用PC-NFS,UNIX工作站硬盘可以被当作为PC机上附加硬盘来使用。PC-NFS提供了TCP/IP全部实现,包括FTP、Telnet和其它实用程序,同时还包括将DOS请求重定向至UNIX能力。
PC-NFS可以支持以太、令牌环、串行通信等通讯方式连接。对于以太连接方式,可以把它安装在其默认一些络适配卡上,3comEtherLink系列卡、PC NIC及NI5010等。它同时还支持NDIS及ODI技术,这样就使得PC-NFS对多数流行卡都可以提供支持。而且,正是由于有了对ODI技术支持,使得PC-NFS可以同时支持TCP/IP络和NetWare络,从而成为连接这两种当今广泛使用纽带。
在安装了PC-NFS之后,系统通过批文件来使用Net Use命令,并以逻辑号,(D:、E:)将UNIX硬盘映射到PC机本地上。PC-NFS还负责完成DOS与UNIX文本格式转换,以及在MS-DOS文件名和NFS文件名之间作出操作处理。
UNIX主机上NFS和PC机上PC-NFS提供了较强环境,PC从中可以利用UNIX工作站上容量存储设备,并能在UNIX与DOS应用程序之间共享数据资源。
当然,在使用PC-NFS时也有一些不足。比,该软件为保证各机器之间兼容性而限制了它们之间吞吐量,这就使得它速度不及NetWare快,另外,当一个配有PC-NFSPC机与非NFS服务器使用TCP/IP软件进行通讯时,还有可能缺乏灵活性;装配一个PC-NFS软件可能会占去PC机80-90K内存空间,这对于空间狭小PC机来说有时会成为十分棘手问题(在PC-NFS v 5.0中对该问题进行了改进,可以将PC-NFS驻留程序装入高端内存中)。
但是,PC-NFS所带来处将远远超过这些不足,它实现了DOS用户使用UNIX工作站优良性能;同时还使得UNIX用户能共享拥有丰富软件资源DOS系统。这样,在一定程度上满足了双方用户求。这种将PC机集成到使用NFSUNIX主机上作法,使人们在系统性能与机器设备价格之间找到了平衡。
在众多络系统中将重桌面计算机系统:DOS和UNIX连接在一起,共享数据与打印,相互协调地工作,这已成为人们迫切需解决问题。UNIX上基上TCP/IP协议NFS技术为们解决这个问题提供了一个可行办法。相信随着UNIX与TCP/IP技术不断发展,NFS技术也会不断地得到完善,将会有更NFS产品出现,它将在以资源共享为目际互联中发挥更作用。 

作者:曹勇

 
 
  信息栏
 
 
 
 
  相关文章