不同的協議都有其存在的必要,每一種協議都有它所主要依賴的操作系統和工作環境。在一個網絡上運行得很好的通信協議,在另一個看起來很相似的網絡上可能完全不適合。因此,組建網絡時通信協議的選擇尤為重要。
無論是幾臺機器組成的Windows 95/98對等網,還是規模較大的Windows NT、Novell或Unix/Xenix局域網,凡是親自組建或管理過網絡的人,都遇到過如何選擇和配置網絡通信協議的。由于許多用戶對網絡中的協議及其功能特點不是很清楚,所以在組網中經常選用了不符合自身網絡特點的通信協議。其結果就造成了網絡無法接通,或者是速度太慢,工作不穩定等現象而了網絡的可靠性。 下面我就分析一下各個協議的特點和性能借以說明我配置協議的和立場。
一、通信協議
組建網絡時,必須選擇一種網絡通信協議,使得用戶之間能夠相互進行“交流”。協議(Protocol)是網絡設備用來通信的一套規則,這套規則可以理解為一種彼此都能聽得懂的公用語言。關于網絡中的協議可以概括為兩類:“內部協議”和“外部協議”下面分別予以介紹。
1.內部協議
1978年,國際標準化組織(ISO)為網絡通信制定了一個標準模式,稱為OSI/RM(Open System Interconnect/Reference Model,開放系統互聯模型)體系結構。該結構共分七層,從低到高分別是物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和層。其中,任何一個網絡設備的上下層之間都有其特定的協議形式,同時兩個設備(如工作站與服務器)的同層之間也有其使用的協議約定。在這里,我們將這種上下層之間和同層之間的協議全部定義為“內部協議”。內部協議在組網中一般很少涉及到,它主要提供給網絡開發人員使用。如果你只是為了組建一個網絡,可不去理會內部協議。
2.外部協議
外部協議即我們組網時所必須選擇的協議。由于它直接負責機之間的相互通信,所以通常稱為網絡通信協議。自從網絡問世以來,有許多公司投入到了通信協議的開發中,如IBM、Banyan、Novell、Microsoft等。每家公司開發的協議,最初一般是為了滿足自己的網絡通信,但隨著網絡應用的普及,不同網絡之間進行互聯的要求越來越迫切,因此通信協議就成為解決網絡之間互聯的關鍵技術。就像使用不同母語的人與人之間需要一種通用語言才能交談一樣,網絡之間的通信也需要一種通用語言,這種通用語言就是通信協議。,局域網中常用的通信協議(外部協議)主要有NetBEUI、IPX/SPX及其兼容協議和 TCP/IP三類。
3.選擇網絡通信協議的原則
我們在選擇通信協議時一般應遵循以下的原則:
第一、所選協議要與網絡結構和功能相一致。如你的網絡存在多個網段或要通過路由器相連時,就不能使用不具備路由和跨網段操作功能的NetBEUI協議,而必須選擇 IPX/SPX或TCP/IP等協議。另外,如果你的網絡規模較小,同時只是為了簡單的文件和設備的共享,這時你最關心的就是網絡速度,所以在選擇協議時應選擇占用內存小和帶寬利用率高的協議,如NetBEUI。當你的網絡規模較大,且網絡結構復雜時,應選擇可管理性和可擴充性較好的協議,如 TCP/IP。
第二、除特殊情況外,一個盡量只選擇一種通信協議。現實中許多人的做法是一次選擇多個協議,或選擇系統所提供的所有協議,其實這樣做是很不可取的。因為每個協議都要占用機的內存,選擇的協議越多,占用計算機的內存資源就越多。一方面了計算機的運行速度,另一方面不利于網絡的管理。事實上一個網絡中一般一種通信協議就可以滿足需要。
第三、注意協議的版本。每個協議都有它的和完善過程,因而出現了不同的版本,每個版本的協議都有它最為合適的網絡環境。從整體來看,高版本協議的功能和性能要比低版本好。所以在選擇時,在滿足網絡功能要求的前提下,應盡量選擇高版本的通信協議。
第四、協議的一致性。如果要讓兩臺實現互聯的計算機間進行對話,它們兩者使用的通信協議必須相同。否則中間還需要一個“翻譯”進行不同協議的轉換,這樣不僅影響通信速度,同時也不利于網絡的安全和穩定運行。
二、局域網中常用的三種通信協議
1.NetBEUI協議
■NetBEUI通信協議的特點。NetBEUI (NetBIOS Extended User Interface,用戶擴展接口)由IBM于1985年開發完成,它是一種體積小、效率高、速度快的通信協議。NetBEUI也是微軟最鐘愛的一種通信協議,所以它被稱為微軟所有產品中通信協議的“母語”。微軟在其早期產品,如DOS、LAN Manager、Windows 3.x和Windows for Workgroup中主要選擇NetBEUI作為自己的通信協議。在微軟如今的主流產品,如Windows 95/98和Windows NT中,NetBEUI已成為其固有的缺省協議。有人將WinNT定位為低端網絡服務器操作系統,這與微軟的產品過于依賴NetBEUI有直接的關系。 NetBEUI是專門為幾臺到百余臺PC所組成的單網段部門級小型局域網而設計的,它不具有跨網段工作的功能,即NetBEUI不具備路由功能。如果你在一個服務器上安裝了多塊網卡,或要采用路由器等設備進行兩個局域網的互聯時,將不能使用NetBEUI通信協議。否則,與不同網卡(每一塊網卡連接一個網段)相連的設備之間,以及不同的局域網之間將無法進行通信。
雖然NetBEUI存在許多不盡人意的地方,但它也具有其他協議所不具備的優點。在三種通信協議中,NetBEUI占用內存最少,在網絡中基本不需要任何配置。尤其在微軟產品幾乎獨占PC操作系統的今天,它很適合于廣大的網絡初學者使用。
■NetBEUI與NetBIOS之間的關系。細心的讀者可能已經發現,NetBEUI中包含一個網絡接口標準NetBIOS。NetBIOS (Network Basic Input/Output System,網絡基本輸入/輸出系統)是IBM在1983年開發的一套用于實現PC間相互通信的標準,其目的是開發一種僅僅在小型局域網上使用的通信規范。該網絡由PC組成,最大用戶數不超過30個,其特點是突出一個“小”字。后來,IBM發現NetBIOS存在的許多缺陷,所以于1985年對其進行了改進,推出了NetBEUI通信協議。隨即,微軟將NetBEUI作為其客戶機/服務器網絡系統的基本通信協議,并進一步進行了擴充和完善。最有代表性的是在NetBEUI中增加了叫做SMB(Server Message Blocks,服務器消息塊)的組成部分,以降低網絡的通信堵塞。為此,有時將NetBEUI協議也稱為“SMB協議”。
人們常將NetBIOS和NetBEUI混淆起來,其實NetBIOS只能算是一個網絡程序的接口規范,是NetBEUI的基礎,它不具有嚴格的通信協議功能。而NetBEUI是建立在NetBIOS基礎之上的一個網絡傳輸協議。
2.IPX/SPX及其兼容協議
■IPX/SPX通信協議的特點。IPX/SPX(Internetwork Packet eXchange/Sequences Packet eXchange,網際包交換/順序包交換)是Novell公司的通信協議集。與NetBEUI的明顯區別是,IPX/SPX顯得比較龐大,在復雜環境下具有很強的適應性。因為,IPX/SPX在設計一開始就考慮了多網段的,具有強大的路由功能,適合于大型網絡使用。當用戶端接入NetWare服務器時, IPX/SPX及其兼容協議是最好的選擇。但在非Novell網絡環境中,一般不使用IPX/SPX。尤其在Windows NT網絡和由Windows 95/98組成的對等網中,無法直接使用IPX/SPX通信協議。
IPX/SPX協議的工作方式。IPX/SPX及其兼容協議不需要任何配置,它可通過“地址”來識別自己的身份。Novell網絡中的網絡地址由兩部分組成:標明物理網段的“網絡ID”和標明特殊設備的“節點ID”。其中網絡ID集中在NetWare服務器或路由器中,節點ID即為每個網卡的ID號(網卡卡號)。所有的網絡ID和節點ID都是一個獨一無二的“內部IPX地址”。正是由于網絡地址的唯一性,才使 IPX/SPX具有較強的路由功能。
在IPX/SPX協議中,IPX是NetWare最底層的協議,它只負責數據在網絡中的移動,并不保證數據是否傳輸成功,也不提供糾錯服務。IPX在負責數據傳送時,如果接收節點在同一網段內,就直接按該節點的ID將數據傳給它;如果接收節點是遠程的(不在同一網段內,或位于不同的局域網中),數據將交給NetWare服務器或路由器中的網絡ID,繼續數據的下一步傳輸。SPX在整個協議中負責對所傳輸的數據進行無差錯處理,所以我們將IPX/SPX也叫做“Novell的協議集”。
■NWLink通信協議。Windows NT中提供了兩個IPX/SPX的兼容協議:“NWLink SPX/SPX兼容協議”和“NWLink NetBIOS”,兩者統稱為“NWLink通信協議”。NWLink協議是Novell公司IPX/SPX協議在微軟網絡中的實現,它在繼承 IPX/SPX協議優點的同時,更適應了微軟的操作系統和網絡環境。Windows NT網絡和Windows 95/98的用戶,可以利用NWLink協議獲得NetWare服務器的服務。如果你的網絡從Novell環境轉向微軟平臺,或兩種平臺共存時, NWLink通信協議是最好的選擇。不過在使用NWLink協議時,其中“NWLink IPX/SPX兼容協議”類似于Windows 95/98中的“IPX/SPX兼容協議”,它只能作為客戶端的協議實現對NetWare服務器的訪問,離開了NetWare服務器,此兼容協議將失去作用;而“NWLink NetBIOS”協議不但可在NetWare服務器與Windows NT之間傳遞信息,而且能夠用于Windows NT、Windows 95/98相互之間任意通信。
3.TCP/IP協議
TCP/IP(Transmission Control Protocol/Internet Protocol,傳輸控制協議/網際協議)是最常用到的一種通信協議,它是機世界里的一個通用協議。在局域網中,TCP/IP最早出現在Unix系統中,現在幾乎所有的廠商和操作系統都開始支持它。同時,TCP/IP也是Internet的基礎協議。
■TCP/IP通信協議的特點。 TCP/IP具有很高的靈活性,支持任意規模的網絡,幾乎可連接所有的服務器和工作站。但其靈活性也為它的使用帶來了許多不便,在使用NetBEUI和 IPX/SPX及其兼容協議時都不需要進行配置,而TCP/IP協議在使用時首先要進行復雜的設置。每個節點至少需要一個“IP地址”、一個“子網掩碼”、一個“默認網關”和一個“主機名”。如此復雜的設置,對于一些初識網絡的用戶來說的確帶來了不便。不過,在Windows NT中提供了一個稱為動態主機配置協議(DHCP)的工具,它可自動為客戶機分配連入網絡時所需的信息,減輕了聯網工作上的負擔,并避免了出錯。當然, DHCP所擁有的功能必須要有DHCP服務器才能實現。
同IPX/SPX及其兼容協議一樣,TCP/IP也是一種可路由的協議。但是,兩者存在著一些差別。TCP/IP的地址是分級的,這使得它很容易確定并找到網上的用戶,同時也提高了網絡帶寬的利用率。當需要時,運行TCP/IP協議的服務器(如Windows NT服務器)還可以被配置成TCP/IP路由器。與TCP/IP不同的是,IPX/SPX協議中的IPX使用的是一種廣播協議,它經常出現廣播包堵塞,所以無法獲得最佳的網絡帶寬。
■Windows 95/98中的TCP/IP協議。Windows 95/98的用戶不但可以使用TCP/IP組建對等網,而且可以方便地接入其它的服務器。值得注意的是,如果Windows 95/98工作站只安裝了TCP/IP協議,它是不能直接加入Windows NT域的。雖然該工作站可通過運行在Windows NT服務器上的代理服務器(如Proxy Server)來訪問Internet,但卻不能通過它登錄Windows NT服務器的域。如果要讓只安裝TCP/IP協議的Windows 95/98用戶加入到Windows NT域,還必須在Windows 95/98上安裝NetBEUI協議。
■TCP/IP協議在局域網中的配置。在提到TCP/IP協議時,有許多用戶便被其復雜的描述和配置所困擾,而不敢放心地去使用。其實就局域網用戶來說,只要你掌握了一些有關TCP/IP方面的知識,使用起來也非常方便。
●IP地址基礎知識。前面在談到IPX/SPX協議時就已知道,IPX的地址由“ID”(NetWork ID)和“節點ID”(Node ID)兩部分組成,IPX/SPX協議是靠IPX地址來進行網上用戶的識別的。同樣,TCP/IP協議也是靠自己的IP地址來識別在網上的位置和身份的, IP地址同樣由“網絡ID”和“節點ID”(或稱HOST ID,主機地址)兩部分組成。一個完整的IP地址用32位(bit)二進制數組成,每8位(1個字節)為一個段(Segment),共4段(Segment1~Segment4),段與段之間用“。”號隔開。為了便于,IP地址在實際使用時并不直接用二進制,而是用大家熟悉的十進制數表示,如192.168.0.1等。IP地址的完整組成:“網絡ID”和“節點ID”都包含在32位二進制數中。,IP地址主要分為A、B、C三類(除此之外,還存在D和E兩類地址,現在局域網中這兩類地址基本不用,故本文暫且不涉及),A類用于大型網絡,B類用于中型網絡,C類一般用于局域網等小型網絡中。其中,A類地址中的最前面一段Segment1用來表示“網絡ID”,且Segment1的8位二進制數中的第一位必須是“0”。其余3段表示“節點 ID”;B類地址中,前兩段用來表示“網絡ID”,且Segment1的8位二進制數中的前二位必須是“10”。后兩段用來表示“節點ID”;在C類地址中,前三段表示“網絡ID”,且Segment1的8位二進制數中的前三位必須是“110”。最后一段Segment4用來表示“節點ID”。
值得一提的是,IP地址中的所有“網絡ID”都要向一個名為InterNIC(Internet Network Information Center,互聯網絡信息中心)申請,而“節點ID”可以自由分配。目前可供使用的IP地址只有C類,A類和B類的資源均已用盡。不過在選用IP地址時,總的原則是:網絡中每個設備的IP地址必須唯一,在不同的設備上不允許出現相同的IP地址。表1列出了IP地址中的“網絡ID”的有關屬性,“節點 ID”在互不重復的情況下由用戶自由分配。其實,將IP地址進行分類,主要是為了滿足網絡的互聯。如果你的網絡是一個封閉式的網絡,只要在保證每個設備的 IP地址唯一的前提下,三類地址中的任意一個都可以直接使用(為以防萬一,你還是老老實實地使用C類IP地址為好)。
●子網掩碼。對IP 地址的解釋稱之為子網掩碼。從名稱可以看出,子網掩碼是用于對子網的管理,主要是在多網段環境中對IP地址中的“網絡ID”進行擴展。舉個例子來說明:例如某個節點的IP地址為192.168.0.1,它是一個C類網。其中前面三段共24位用來表示“網絡ID”,是非常珍貴的資源;而最后一段共8位可以作為“節點ID”自由分配。但是,如果公司的局域網是分段管理的,或者該網絡是由多個局域網互聯而成,是否要給每個網段或每個局域網都申請分配一個“網絡 ID”呢?這顯然是不合理的。此時,我們可以使用子網掩碼的功能,將其中一個或幾個節點的IP地址全部充當成“網絡ID”來使用,用來擴展“網絡ID”不足的困難。
當我們將某一節點的IP地址如192.168.0.1已設置成一個“網絡ID”時,網絡上的其它設備又怎樣知道它是一個“網絡 ID”,而不是一個節點IP地址呢?這就要靠子網掩碼來告知。子網掩碼是這樣做的:如果某一位的二進制數是“1”,它就知道是“網絡ID”的一部分;如果是“0”便認作是“節點ID”的一部分。如將192.168.0.1當做“網絡ID”時,其子網掩碼就是 11111111.11111111.11111111.00000001,對應的十進制數表示為255.255.255.1。否則它的子網掩碼就是 11111111.11111111.11111111.00000000,對應的十進制數表示應為255.255.255.0。有了子網掩碼,便可方便地實現用戶跨網段或跨網絡操作。不過,為了讓子網掩碼能夠正常工作,同一子網中的所有設備都必須支持子網掩碼,且子網掩碼相同。表2列出了A、B、C三類網絡的缺省子網掩碼。
網關。網關(Gateway)是用來連接異種的設置。它充當了一個翻譯的身份,負責對不同的通信協議進行翻譯,使運行不同協議的兩種網絡之間可以實現相互通信。如運行TCP/IP協議的Windows NT用戶要訪問運行IPX/SPX協議的Novell網絡資源時,則必須由網關作為中介。如果兩個運行TCP/IP協議的網絡之間進行互聯,則可以使用 Windows NT所提供的“默認網關”(Default Gateway)來完成。網關的地址該如何分配呢?可舉一個例子來回答:假如A網絡的用戶要訪問B網絡上的資源,必須在A網絡中設置一個網關,該網關的地址應為B網絡的“網絡ID”(一般可理解為B網絡服務器的IP地址)。當A網絡的用戶同時還要訪問C網絡的資源時又該怎么呢?你只需將C網絡的“網絡 ID”添加到A網絡的網關中即可。依次類推……網關連多少個網絡,就擁有多少個IP地址。
●主機名。網絡中唯一能夠代表用戶或設備身份的只有IP地址。但一般情況下,眾多的IP地址不容易記憶,操作起來也不方便。為了改善這種狀況,我們可給予每個用戶或設備一個有意義的名稱,如 “WANGQUN”。至于在網絡中用到“WANGQUN”時,怎樣知道其對應的IP地址呢?這完全由操作系統自己完成,我們大可不必考慮。
三、通信協議的安裝、設置和測試
局域網中的一些協議,在安裝操作系統時會自動安裝。如在安裝Windows NT或Windows 95/98時,系統會自動安裝NetBEUI通信協議。在安裝NetWare時,系統會自動安裝IPX/SPX通信協議。其中三種協議中,NetBEUI 和IPX/SPX在安裝后不需要進行設置就可以直接使用,但TCP/IP要經過必要的設置。所以下文主要以Windows NT環境下的TCP/IP協議為主,介紹其安裝、設置和測試,其他操作系統中協議的有關操作與Windows NT基本相同,甚至更為簡單。
■TCP/IP通信協議的安裝。在Windows NT中,如果未安裝有TCP/IP通信協議,可選擇“開始/設置/控制面板/網絡”,將出現“網絡”對話框,選擇對話框中的“協議/添加”,選取其中的 TCP/IP協議,然后單擊“確定”按鈕。系統會詢問你是否要進行“DHCP服務器”的設置?如果你的IP地址是固定的(一般是這樣),可選擇“否”。隨后,系統開始從安裝盤中復制所需的文件。
■TCP/IP通信協議的設置。在“網絡”對話框中選擇已安裝的TCP/IP協議,打開其“屬性”,在指定的位置輸入已分配好的“IP地址”和“子網掩碼”。如果該用戶還要訪問其它Widnows NT網絡的資源,還可以在“默認網關”處輸入網關的地址。
■TCP/IP通信協議的測試。當TCP/IP協議安裝并設置結束后,為了保證其能夠正常工作,在使用前一定要進行測試。筆者建議大家使用系統自帶的工具程序:PING.EXE,該工具可以檢查任何一個用戶是否與同一網段的其他用戶連通,是否與其他網段的用戶連接正常,同時還能檢查出自己的IP地址是否與其他用戶的IP地址發生沖突。假如服務器的IP地址為192.168.0.1,如要測試你的機器是否與服務器接通時,只需切換到DOS提示符下,并鍵入命令“PING 192.168.0.1”即可。如果出現類似于“Reply from 192.168.0.1……”的回應,說明TCP/IP協議工作正常;如果顯示類似于“Request timed out”的信息,說明雙方的TCP/IP協議的設置可能有錯,或網絡的其它連接(如網卡、HUB或連線等)有,還需進一步檢查。
四、小結
在組建局域網時,具體選擇哪一種網絡通信協議主要取決于網絡規模、網絡間的兼容性和網絡管理幾個方面。如果正在組建一個小型的單網段的網絡,并且對外沒有連接的需要,這時最好選擇NetBEUI通信協議。如果你正從NetWare遷移到Windows NT,或兩種平臺共存時,IPX/SPX及其兼容協議可提供一個很好的傳輸環境。如果你正在規劃一個高效率、可互聯性和可擴展性的網絡,TCP/IP則將是理想的選擇。
評論
查看更多