首頁 > 文章中心 > 正文

          互聯方法

          前言:本站為你精心整理了互聯方法范文,希望能為你的創作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。

          互聯方法

          異型網絡之間的互聯是當今計算機網絡技術發展的熱點問題之一。隨著計算機技術的深入發展與網絡的不斷普及,異型機與異型網絡的互相連接、互相共享資源已經成為人們需要迫切解決的問題了。現在廣泛流行的網絡操作系統NetWare與同樣為人們所喜愛的UNIX系統之間的互聯問題正是在這種背景下提出來的。由于Novell公司已經成功地使NetWare支持TCP/IP協議,而UNIX的聯網正是建立在TCP/IP協議之上的,所以一些基于TCP/IP協議的應用層協議,就自然成為解決NetWare與UNIX互聯問題的較好方法了。網絡文件系統(NFS)正是這些協議中,應用較廣、技術較為成熟的協議之一,而且現在市場上已經推出了幾十種NFS產品。

          它們被廣泛地應用于NetWare與UNIX的互聯之中。本文將通過對NFS的概念和實現方法的討論,來說明NetWare與UNIX之間是如何通過NFS實現互聯的。

          一、網絡文件系統概述

          SunMicrosystems公司是以其高品質的工作站而享譽計算機界的。其工作站現已廣泛地應用于多種領域,如CAD、仿真、圖形處理等。SUN工作站采用的是開放式的系統結構,它們大都是基于UNIX操作系統之上的,并且支持TCP/IP協議作為其網絡的體系結構。也正是由于對TCP/IP協議的支持,使得SUN工作站可以很方便地在Ethernet上,基于TCP/IP進行通訊。

          同時,又由于TCP/IP協議在網際互聯上的優越性能,使得SUN工作站與其它異種機之間的通訊實現起來較為方便和容易。

          為了實現網絡上的文件服務,SUN公司提出了網絡文件系統(NetworkFileSystem,NFS)的概念。它提供了異種機、異種操作系統之間的透明在線(On-Line)共享文件的手段。NFS允許用本地操作系統的I/O調用方式訪問遠地文件,并且這與文件存放的物理位置和使用何種操作系統無關。

          從用戶的角度看,NFS是不可見的。用戶可以運行一獨占的程序并且可以對獨享文件進行I/O操作,而這時用戶并不清楚它們是本地的還是遠程的程序或文件。

          使用NFS的好處很多。NFS允許多臺機器使用同一個數據文件,所以文件的數據對網絡上的各機器來說都是可存取的。而且NFS可以通過將大的文件存儲在一臺機器上而由大家來共享的方式,使存儲的費用明顯的降低。尤其是在數據庫應用系統中,你可以把數據文件可靠、統一地集中在一起,既可共享使用又可以進行方便的統一管理。

          NFS目前已經得到開放系統組織的承認,成為今天的分布式文件系統的工業標準。NFS不僅能夠支持SUN工作站之間的連接,而且能夠支持來自主要計算機廠家的產品。尤其是大多數UNIX操作系統,諸如SCOUNIX,都提供了支持NFS協議的軟件,以實現UNIX與其它操作系統之間的通訊。

          二、從網絡的體系結構來說明NFS的實現

          @@T8S08900.GIF;圖1@@

          NFS在一個操作系統中的具體形式如圖1。當一個應用程序運行時,它可以通過系統調用打開一個文件,并對其進行存取訪問。這時的文件存取系統可以接收用戶的各種請求,并且能夠自動判斷將該請求發往何處,即是本地文件系統還是NFS客戶服務部分。這種判斷是根據被請求的文件是在本地存儲介質上還是在遠程的計算機上而做出的。當一個被請求文件在遠地時,NFS客戶服務軟件利用NFS協議與遠地機器上適當的NFS服務器取得聯系,并且進行相應的請求操作。在遠地服務器對請求做出回答后,客戶服務軟件獲得結果,將它傳送給應用程序。

          從程序員的角度來看,NFS協議本身并沒有提供什么特別的調用過程。一旦管理員將NFS設置完成后,程序員就可以對遠地和本地的文件進行同樣的存取操作,它們之間并無明顯的差別。

          對于NFS,設計者并沒有將它設計成為解決所有文件傳輸的綜合性協議,而是將NFS的實現分成三個相對獨立的部分:NFS協議本身、遠程過程調用(RemoteProcedureCall,RPC)機制和外部數據表示(eXternalDataRepresentation,XDR)。如果將它們與ISO/OSI的推薦標準相對照的話,可以看出RPC對應于會話層,XDR對應于表示層,而NFS協議本身則對應于應用層,見圖2。從這個體系結構可以看出,真正的NFS服務是建立在外部數據表示XDR和遠程過程調用RPC所提供的服務功能之上。

          @@T8S08901.GIF;圖2@@

          在網絡環境中,RPC為運行在不同機器、不同操作系統上的程序(過程)相互調用、傳遞參數及回送結果等提供一種規范的方法。RPC為實現網絡上的客戶/服務器模式提供了支持。比如,一個程序員可以把他的程序分解成為客戶、服務器兩部分,在客戶方面,程序員設計了一些過程,如remote,并將RPC碼插入到這些過程之中;而服務器方面,應用RPC的其他功能,實現了一些處理該種調用的過程。當一個運行中的客戶程序發出遠程調用時,RPC軟件自動對變元的值進行收集,并打成數據包(message)發往遠地服務器,啟動調用過程,最后返回結果。整個調用過程如同調用本地過程一樣。PRC實際上是ISORM會話層協議的具體實現,該機制將下層協議的細節掩蓋了起來,使程序員拋開通信協議的具體過程,就可以設計出分布式程序。

          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.文件階層

          當通過某安裝點(mountpoint),從一個本地硬盤來安裝一個文件系統時,可以將整個文件系統安裝上并從它的根(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在互聯中的具體實現。

          我們這里所要介紹的產品是NetWareNFS、NetWareNFSGateway和PC-NFS。前兩者是由Novell網絡公司推出的,后者則是SunMicroSystems公司的產品。由于這兩個公司看待UNIX與DOS互聯問題的角度和出發點不同,因此它們所實現的產品也就有很大的區別了。NetWareNFS和NetWareNFSGateway是Novell公司從自己的NetWare網絡操作系統出發,基于DOS的考慮所研制、開發出來的。它提供給UNIX工作站透明訪問NetWare服務器的機制以及由DOS工作站通過NetWare服務器來共享UNIX資源的手段。而PC-NFS則是SUN公司從UNIX工作站

          的觀點出發,提供給MS-DOS或MS-Windows用戶的、用以實現UNIX的NFS客戶方的軟件,使PC機用戶共享UNIX的資源。

          WareNFS

          NetWareNFS是將UNIX系統透明地集成到NetWare3.11環境之上。它可以使得NetWare服務器具有NFS服務器的功能。一旦安裝了NetWareNFS之后,享有NFS客戶服務的UNIX工作站就可以與NetWare上的DOS工作站一起共享服務器上的文件資源。它提供有NFS、FTP等可裝載模塊(NLM)為UNIX客戶提供服務。NetWareNFS同時也在NetWare和UNIX之間提供雙向的打印網關以及與X/Window應用相交互,允許X客戶從遠程來管理NetWare服務器。其協議的體系結構如圖4。

          @@T8S08903.GIF;圖4@@

          NetWareNFS與其他UNIX系統一樣,需要使用TCP/IP作為基本的支撐協議,并籍此完成NFS上的各種功能。它的特點是:

          (1)使UNIX用戶訪問NetWare

          利用NetWareNFS,UNIX客戶可以訪問并從NetWare服務器上安裝(mount)文件系統,就如同它從一個典型的NFS服務器上所做的一樣。這使得UNIX用戶可以在保留了自身的操作系統優勢的同時,使用NetWare上的文件。

          (2)將NetWare環境與UNIX環境集成

          NetWareNFS將網絡文件系統的概念引入到NetWare的聯網環境中來,使得UNIX工作站可以與其它的NetWare客戶系統,例如,Macintosh、DOS、Windows以及OS/2共享文件。FTP服務可以使TCP/IP客戶系統利用FTP協議從/向NetWare服務器傳送文件。它提供了完整的打印集成:UNIX用戶可以利用NetWare打印機進行打印,而NetWare用戶也可以在TCP/IP網絡上可以訪問的打印機上進行打印。它同時使NetWarev3.11成為一個功能強大的UNIX工作組中NFS服務器。對于用戶輸入的操作命令,可以有很短的響應時間和較高的吞吐率。

          (3)提供用X/Window來管理服務器

          NetWareNFS提供XCONSOLE應用程序來使X/Window系統的用戶以及VT100/220終端用戶從遠程來管理NetWarev3.11服務器。比如,可以從一個VT100/220終端或一個UNIX工作站運行X/Window,對NetWare服務器進行遠程配置和排除NetWare服務器的錯誤。

          利用NetWareNFS,UNIX用戶在保持其原有系統的功能之外,還獲得了NetWare服務器優化技術所帶來的好處,如磁盤的高吞吐量、容錯技術及其安全措施等。另外,NetWareNFS還帶來了改進的工作組(Workgroup)的運行效率、資源共享和高效率的網絡管理。

          總之,NetWareNFS提供給UNIX工作組以高性能的NFS服務器,同時NetWare操作系統又帶給UNIX用戶以良好的時間與空間的響應,從而極大地提高了系統的性能價格比。

          WareNFSGateway

          NetWareNFSGateway所提供的功能與NetWareNFS相反,它是一個基于服務器連接的、使NetWare用戶可以訪問UNIX的方案。該產品可以讓DOS和Windows用戶方便地對UNIX上的文件系統進行訪問,就象透明訪問NetWare服務器一樣。

          Novell公司研制、開發NetWareNFSGateway的目的,就是要給NetWare用戶一種訪問UNIX文件的選擇。那些已經習慣于NetWare環境的PC機用戶們,可以使用這種網關來共享本地或者遠程UNIX系統上的文件。對于這些共享文件的使用,就象操縱DOS或Windows的文件一樣。通過NetWareNFSGateway還可以使PC用戶共享UNIX上價格昂貴的海量存儲資源,如CD-ROM等。

          NetWareNFSGateway的安裝與集中的管理都是由服務器來完成的。TCP/IP主機地址、UNIX/NetWare記帳信息都是在服務器上由域名字系統(DomainNameSystem,DNS)和網絡信息服務(NIS)統一管理起來的。這種集中管理的好處在于可以使網絡管理員從服務器上安裝和管理系統,以及獲得正確的IP地址。也正是由于NFS的文件存取是通過NetWare服務器來完成的,網絡用戶們因此可以得到NetWare保密機制的支持。

          另外,NetWareNFSGateway還提供了XCONSOLE應用程序,允許X/Window系統的用戶以及VT100/220終端用戶遠程管理NetWarev3.11服務器。

          Novell公司的這兩種NFS產品,在基于NetWare網絡操作系統的基礎之上,分別從兩個方面解決了NetWare與UNIX之間的文件共享、打印共享以及透明訪問等方面的問題。為局域網與廣域網的互聯提供了一種可行的解決方案。

          3.PC-NFS

          通過使用PC-NFS,UNIX工作站的硬盤可以被當作為PC機上的附加硬盤來使用。PC-NFS提供了TCP/IP的全部實現,包括FTP、Telnet和其它實用程序,同時還包括將DOS請求重定向至UNIX的能力。

          PC-NFS可以支持以太網、令牌環、串行通信等通訊方式的連接。對于以太網的連接方式,可以把它安裝在其默認的一些網絡適配卡上,如3com的EtherLink系列的網卡、PCNIC及NI5010等。它同時還支持NDIS及ODI技術,這樣就使得PC-NFS對大多數的流行網卡都可以提供支持。而且,正是由于有了對ODI技術的支持,使得PC-NFS可以同時支持TCP/IP網絡和NetWare網絡,從而成為連接這兩種當今廣泛使用的網絡的紐帶。

          在安裝了PC-NFS之后,系統通過批文件來使用NetUse命令,并以邏輯號,如(D:、E:)將UNIX的硬盤映射到PC機的本地上。PC-NFS還負責完成DOS與UNIX的文本格式轉換,以及在MS-DOS文件名和NFS文件名之間作出操作處理。

          UNIX主機上的NFS和PC機上的PC-NFS提供了較強的聯網環境,PC從中可以利用UNIX工作站上的大容量存儲設備,并能在UNIX與DOS的應用程序之間共享數據資源。

          當然,在使用PC-NFS時也有一些不足。比如,該軟件為保證各機器之間的兼容性而限制了它們之間的吞吐量,這就使得它的速度不及NetWare快,另外,當一個配有PC-NFS的PC機與非NFS服務器使用TCP/IP軟件進行通訊時,還有可能缺乏靈活性;裝配一個PC-NFS軟件可能會占去PC機80-90K的內存空間,這對于空間狹小的PC機來說有時會成為十分棘手的問題(在PC-NFSv5.0中對該問題進行了改進,可以將PC-NFS的駐留程序裝入高端內存中)。

          但是,PC-NFS所帶來的好處將遠遠超過這些不足,它實現了DOS用戶使用UNIX工作站的優良性能;同時還使得UNIX用戶能共享擁有豐富軟件資源的DOS系統。這樣,在一定程度上滿足了雙方用戶的要求。這種將PC機集成到使用NFS的UNIX主機上的作法,使人們在系統的性能與機器設備的價格之間找到了平衡。

          在眾多的網絡系統中將重要的桌面計算機系統:DOS和UNIX連接在一起,共享數據與打印,相互協調地工作,這已成為人們迫切需要解決的問題。UNIX上基上TCP/IP協議的NFS技術為我們解決這個問題提供了一個可行的辦法。相信隨著UNIX與TCP/IP技術的不斷發展,NFS技術也會不斷地得到完善,將會有更好的NFS產品出現,它將在以資源共享為目的的網際互聯中發揮更大的作用。