6. 網路通訊協定的定義

第1課 通訊協定介紹

第2課 TCP/IP

第3課 NetWare 通訊協定

第4課 其他通訊協定

關於本章
 

通訊協定在 第3章<瞭解綱路架構> 當中有介紹,并且在 第5章<綱路標準介紹> 中進行討論。通訊協定是控制兩個或多個裝置之間通訊的規則和過程的系統。目前存在各式各樣的通訊協定。并非所有的通訊協定都相容,但就使用同一通訊協定的兩個裝置而言,它們是可以交換資料的。本章我們將討論綱路使用的重要通訊協定,并定義每個通訊協定與 第5章 OSI模型之間的聯絡。

在開始之前
 

在本章開始之前,您會發現回顧 第5章第1課的<OSI參考模型> 是有幫助的。

第一課 通訊協定介紹
 

這一課將介紹通訊協定及其在網路環境中的功能,解釋通訊協定在網路通訊當中的作用,並描述不同通訊協定如何在不同的OSI層次中運作。

本課結束後,您將能夠:
 

  • 識別通訊協定和通訊協定堆疊的功能。
     
  • 描述使用通訊協定的網路處理過程及它們是如何運用通訊協定的。
     
  • 使特定的通訊協定與恰當的OSI層次對應。
     

    課程估計時間:45分鐘
     

    通訊協定的功能
     

    通訊協定是通訊的規則和過程,這個術語使用在各種環境中。例如,一個國家的外交官遵守一套協定規則,它的設計是用來協助與其他國家的外交官順利合作。電腦環境的協定規則也是這樣。當幾台電腦連結在一起時,控制它們之間通訊和相互作用的規則及技術處理過程稱為通訊協定。當您考慮網路環境中的通訊協定時,請記住三點:

  • 存在著許多通訊協定。儘管每個通訊協定都是有利於基本通訊,但各有不同的目的,能完成不同的任務。每個通訊協定有其自身的優點和缺點。
     
  • 一些通訊協定僅在特定的OSI層中才有效。通訊協定所運作的層是描述著其功能。例如,在實體層中工作的通訊協定保證資料封包透過網路卡(NIC)並輸出到網路電纜上。
     
  • 通訊協定也可在通訊協定堆疊或群組中共同作用。正如網路結合了每個OSI模型層的功能,不同通訊協定也可在單一通訊協定堆疊的不同層次上共同運作。通訊協定堆疊的層次「對應於」或對應於OSI模型的層。例如,TCP/IP通訊協定的應用層與OSI模型的展示層相對應。總之,通訊協定描述了整個堆疊的功能和容量。
     

    通訊協定如何運作
     

    資料透過技術操作傳輸到網路,整個技術操作被分散成有系統的步驟。在每個步驟當中,出現特定的、不在其他步驟中出現的操作。每一步驟包含自身的規則和過程,或通訊協定。

    在網路上的每一台電腦當中,通訊協定步驟必須以一致的順序執行。在發送端電腦裡,這些步驟必須從上到下執行。在接收端電腦裡,這些步驟必須從下到上執行。

    發送端電腦
     

    發送端電腦中的協定

    1. 把資料分成通訊協定可處理的更小部分,這些小部分稱之為封包。
    2. 把位址資訊加入封包,使得網路上的目標電腦可以確定屬於它的資料。
    3. 準備透過NIC傳送並輸出到網路電纜上的資料。

    接收端電腦
     

    在接收端電腦中執行相同的一系列步驟,但順序相反。它們是:

    1. 從電纜中獲取資料。
    2. 透過NIC將資料封包輸入到電腦。
    3. 釋放由發送端電腦附加的所有傳輸資訊的資料封包。
    4. 把封包中的資料複製到一個緩衝器當中進行重組。
    5. 以可用形式把重組資料傳入到應用程式。

    發送和接收端電腦必須以相同的方式執行每一個步驟,以便於資料接收時具有與發送時相同的結構。

    例如,兩個不同的通訊協定可能分別把資料分成封包並加以各種順序、定時和錯誤偵測資訊,但每個通訊協定的做法不同。因此,使用某種通訊協定的電腦將不能成功地與使用另外一種通訊協定的電腦進行通訊。

    路由通訊協定
     

    直到二十世紀八十年代中期,許多區域網路(LAN)還是獨立的。一個LAN只服務單一的部門或公司,並很少與任何更大的環境相連。然而,當LAN技術成熟,商業中的資料通訊需要已經得到延伸時,LAN就發展起來了,成為更大的資料通訊網路的一部分,並在其中彼此執行期間。

    資料沿任何一個可行路徑,從一個LAN發送到另一個LAN叫作路由。支援多路徑從一個LAN到另一個LAN進行通訊的通訊協定稱作路由通訊協定。由於路由通訊協定可以用於把幾個LAN連線在一起,並產生新的廣域環境,所以它變得越來越重要。

    層次化架構中的通訊協定
     

    在一個網路當中,幾個通訊協定必須共同作用。透過共同作用,它們保證了準確的準備、傳輸到正確的目標、接收以及操作資料。

    各種通訊協定的功能必須經過調整,以免發生衝突或發生不完善的操作。這種調整的結果稱為【層次化】。

    通訊協定堆疊
     

    通訊協定堆疊是通訊協定的組合。堆疊當中的每一層指定了處理通訊過程的一個功能或子系統的不同通訊協定。每一層有其自身的一套規則。在 第5章<網路標準介紹> 中,我們討論了OSI參考模型。圖6.1顯示了OSI模型及與各層相關聯的規則。通訊協定定義了OSI模型中每一層的規則。


     

    圖6.1 顯示協定層的OSI參考模型

    OSI模型中的較低層指定了製造商如何讓他們的裝置與其他製造商的裝置相互連線,例如,在同一LAN中使用來自幾個製造商的NIC。只要它們使用同一通訊協定,它們就能發送和接收彼此的資訊。較高層指定了處理通訊執行期間時(即兩台電腦保持連線時)的規則和對應用軟體的解釋。位於堆疊的層越高,它們的任務和相應的通訊協定越複雜。

    綁定處理
     

    綁定處理-通訊協定透過此處理,將彼此之間相互連線並與NIC建立連線,使得在設定網路時有更多的靈活性。通訊協定和NIC可以混合和符合需求的基礎。例如,第3課(NetWare通訊協定)中討論的IPX/SPX及第2課(TPC/IP)中討論的TCP/IP,這兩個通訊協定堆疊都可以捆綁在一個NIC之上。如果電腦中有多個NIC,一個通訊協定堆疊可以捆綁與一個或多個NIC上。

    綁定順序決定了作業系統執行協定的順序。當很多通訊協定與一個NIC捆綁在一起時,綁定順序就是嘗試成功連線所應用的通訊協定順序。典型地,當作業系統或通訊協定在安裝或啟動時,綁定處理就開始了。例如,如果TCP/IP是綁定的第一個通訊協定,那麼,在嘗試應用其他通訊協定之前,網路作業系統會嘗試透過TCP/IP建立網路連線。如果這個網路連線失敗了,電腦會嘗試應用綁定順序中的下一個通訊協定進行連線。

    綁定過程不止包括把通訊協定堆疊與NIC綁定。通訊協定堆疊需要與它的上下層級元件捆綁或相關連,使得在執行過程中資料能順利透過堆疊。例如,TCP/IP可以與其上的網路基礎I/O系統(NetBIOS)交談層捆綁,也可以與其下的NIC驅動程式捆綁。NIC驅動程式也與NIC捆綁。

    標準堆疊
     

    電腦產業已指定幾種堆疊作為標準通訊協定模型。硬體和軟體製造商可以開發他們的產品,以滿足這些通訊協定中的任何一個或它們的組合。最重要的模型包括:

  • ISO/OSI通訊協定組。
     
  • IBM系統網路架構(SNA)。
     
  • 數位化的DEC網路。
     
  • Novell NetWare。
     
  • Internet協定組,TCP/IP。
     

    通訊協定存在於這些堆疊的每一層,執行該層規定的任務。然而,網路需要執行的通訊任務可以歸入三種通訊協定類型之一。每種通訊協定類型由一個或多個OSI層所組成。就如圖6.2所示,這三種通訊協定類型粗略地對應到OSI模型層中(應用,傳輸和網路)。


    說明

    早在OSI參考模型成為公開規格之前,許多通訊協定就已經寫出。因此,發現不直接對應到OSI模型的通訊協定堆疊是常見的。



     

    圖6.2 OSI參考模型中的通訊任務

    應用程式通訊協定
     

    應用程式通訊協定在OSI參考模型中的最高階層發生作用。它們提供應用程式對應用程式的相互作用和資料交換。流行的應用程式通訊協定如表6.1所示。

    表6.1 流行的應用程試通訊協定
    通訊協定 描述
    APPC(進階程式對程式通訊) IBM對等SNA協定,主要應用在AS/400電腦上。因為 APPC在OSI模型的展示層中運作,所以被定義為應用 程式通訊協定。然而,由於它使用在OSI模型的通道和 交談層都起作用的LU6.2協定,所以也被認為是一個傳 輸通訊協定。
    FTAM(檔案傳送存取和管理) 一個檔案OSI存取通訊協定。
    X.400 一個國際e-mail傳送的CCITT通訊協定。
    X.500 一個用於數種系統的檔案和目錄服務CCITT通訊協定。
    SMTP(簡單郵件傳輸通訊協定) 一個傳輸e-mail的Internet通訊協定。
    FTP(檔案傳輸通訊協定) 一個Internet檔案傳送通訊協定。
    SNMP(簡單網路管理通訊協定) 一個監測網路及其元件的Internet通訊協定。
    Telnet 一個登入遠端主機並在本機處理資料的Internet通訊協定。
    Microsoft SMBs(伺服器資訊塊)和用戶端Shell或轉像器 一個用戶端/伺服器請求回應通訊協定。
    NCP(Novell NetWare核心通訊協定)和用戶端Shell或轉向器 一套服務通訊協定。
    AppleTalk和AppleShare Apple網路通訊協定組。
    AFP(AppleTalk檔案整理通訊協定)用於遠端檔案存取的Apple通訊協定。
    DAP(資料存取通訊協定) 一個DECnet檔案存取通訊協定。

    傳輸通訊協定
     

    傳輸通訊協定利於電腦間通訊執行期間,並保證資料在電腦間可靠的流動。常用的傳輸通訊協定如表6.2所示。

    表6.2 常用的傳輸通訊協定
    通訊協定 描述
    TCP 保證依序資料發送的TCP/IP通訊協定。
    SPX 針對依序資料的Novell IPX/SPX通訊協定組的一部分。
    NWLink IPX/SPX通訊協定的Microsoft版本。
    NetBEUI(NetBIOS延伸的使用者介面) 在電腦間建立通訊執行期間(NetBIOS)並提供潛在的資料發送服務(NetBEUI)。
    ATP(AppleTalk處理通訊協定)和NBP(命名綁定通訊協定) Apple通訊執行期間和資料傳輸通訊協定。

    網路通訊協定
     

    網路通訊協定提供所謂的「鏈路服務」。這些通訊協定處理位址和路由資訊、偵錯和中繼請求。網路通訊協定也定義了在特殊網路環境中的規則,例如乙太網路或記號環網路。常用的網路通訊協定如表6.3所示。

    表6.3 常用的網路通訊協定
    通訊協定 描述
    IP 用於封包轉發路由的TCP/IP協定。
    IPX 用於封包轉發和路由的NetWare協定。
    NWLink IPX/SPX通訊協定的Microsoft版本。
    NetBEUI 一個為NetBIOS執行期間和應用提供資料傳送服務的傳輸通訊協定。
    DDP(資料報發送通訊協定) 一個AppleTalk資料傳輸通訊協定。

    通訊協定標準
     

    OSI模型用來定義各層應使用什麼通訊協定。圖6.3顯示了OSI模型及幾個常用的網路製造商如何應用他們的通訊協定。同意這個模型的不同製造商的產品可以彼此通訊。


     

    圖6.3 製造商相容性

    國際標準化組織(ISO),電氣電子工程師協會(IEEE),美國國家標準化組織(ANSI),國際電話與電報顧問委員會(CCITT),現稱國際電信同盟(ITU)和其他標準組織已經開發了對應到某些OSI模型層的協定。

    實體層中的IEEE協定是:

  •  802.3(乙太網路) 這是一個能以10 Mbps的速率傳送資料的邏輯匯流排網路。資料由網路傳送給每台電腦。只有打算接收資料的電腦確認傳輸。帶衝突監測的載波監聽多路存取(CSMA/CD)通訊協定只有在網路空閒、沒有其他電腦在傳送時,才可透過允許傳輸來控制網路通訊量。
     
  •  802.4(權杖傳遞) 這是一個使用權杖傳遞方案的匯流排設計。每台電腦接收所有的資料,但只有標明位址的電腦才回應。在網上行進的權杖決定哪一台電腦能夠廣播。
     
  •  802.5(權杖環) 這是一個以每秒4 Mbps或16 Mbps的速率傳遞的邏輯環狀網路。儘管被稱為環狀網路,但是它更像一個集線器分接幾台電腦的星型網路。環狀實際上是在集線器內部。繞環傳遞的權杖決定哪一台電腦可以發送資料。
     

    如 第5章第1課<OSI參考模型> 所述,資料鏈路層分成兩個子層(如 圖6.4)。

    IEEE進一步定義了這些通訊協定以利於在媒體存取控制(MAC)子層進行的通訊活動。


     

    圖6.4 MAC驅動程式或NIC驅動程式

    MAC驅動程式被置於媒體存取控制子層,這個裝置驅動程式也叫作NIC驅動程式。透過提供資料傳輸支援和基本的介面卡管理功能,它提供對網路卡的低階層次存取。

    當幾台電腦試圖同時使用網路電纜時,MAC通訊協定決定哪一台電腦能夠使用它。CSMA/CD,即802.3通訊協定,允許電腦在沒有其他電腦傳送時傳送資料。如果兩個用戶端同時傳送,則衝突產生了。這時通訊協定檢測到衝突,停止並阻止所有傳送,直到線路空閒。然後,每台電腦再等候一個隨機時間段之後重新開始傳送。

    實施和刪除通訊協定
     

    通訊協定的實施和刪除與驅動程式的新增刪除是很相似的。基本通訊協定是在初始作業系統安裝在電腦上時,同時自動安裝的。為了在初始安裝後安裝諸如NWLink的通訊協定,網路作業系統通常包含了一個引導系統管理員安裝的程式。例如,網路作業系統安裝程式可透過以下步驟提供一系列圖形視窗以引導系統管理員:

  • 安裝新通訊協定
     
  • 改變已安裝通訊協定的連線順序。
     
  • 刪除某個通訊協定。
     

    練習6.1(a):與各層符合的OSI模型規則
     

    這個練習設計用於幫助您加強對網路通訊協定堆疊的理解。下表包含兩個欄位。左欄列出七個OSI參考模型層。在右欄填入左欄對應層的適用規則。

    OSI參考模型規則
    OSI層 規則
    應用層  
    展示層  
    交談層  
    通道層  
    網路層  
    資料鏈路層  
    實體層  

    練習6.1(b):與各OSI模型層符合的通訊任務
     

    因為在OSI參考模型開發前就有許多通訊協定,所以一些早先發展的通訊協定堆疊不能和OSI模型相符合;在那些堆疊當中,任務經常被集中在一起。

    通訊任務可以分為三組。在這部分練習中,七層OSI模型仍被列在左欄。在右欄中寫入對應的三組名稱。

    您的任務是識別左欄中的一個OSI層對應三組中的哪一組。

    這三組是:

  • 傳輸服務
     
  • 網路服務
     
  • 應用層次網路服務使用者
     
    與OSI參考模式符合的通訊任務
    OSI層 通訊任務
    應用層  
    展示層  
    交談層  
    通道層  
    網路層  
    資料鏈路層  
    實體層  

    課程摘要
     

    以下要點概括了本課的主要內容:

    第2課 TCP/IP
     

    TCP/IP是個工業標準的通訊協定群組,它提供在不同環境(由不同基礎組成)中通訊的通訊協定。另外,TCP/IP提供一個可路由的企業網路通訊協定和對Internet及其資源的存取。由於TCP/IP很流行,它已經成為網際互連的預設標準,以便在由更小網路組成的網路當中相互通訊。本課剖析TCP/IP通訊協定及它與OSI模型的關係。

    本課結束後,您將能夠:
     

  • 定義TCP/IP通訊協定。
     
  • 描述TCP/IP通訊協定的四層及它們如何與OSI相關連。
     

    課程估計時間:15分鐘
     

    TCP/IP通訊協定介紹
     

    TCP/IP通訊協定已經變成運用於在不同類型電腦間協同運作的標準通訊協定。協同工作是TCP/IP的一個主要優點。許多網路支援TCP/IP通訊協定。TCP/IP也支援路由,通常作為網際互連的通訊協定。

    其他為TCP/IP序列專門制定的通訊協定包括:

  •  SMTP(簡單郵件傳輸協定) E- mail。
     
  •  FTP(檔案傳輸協定) 以便在執行TCP/IP的電腦間交換檔案。
     
  •  SNMP(簡單網路管理協定) 以便網路管理。
     

    設計成可路由,而且強有力及高效率的TCP/IP ,已經被美國國防部作為廣域網路(WAN)通訊協定。它的目的是在核戰當中保持地區之間的通訊。現在TCP/IP發展目的是使Internet社群成為一個整體。TCP/IP在使用者安裝和配置方面需要重要的知識和經驗。使用TCP/IP具有幾個優點,它:

  •  是工業標準 作為工業標準,它是個開放的通訊協定。這意味著它不被單一的公司所控制,更少相容性問題。它是Internet的預設標準通訊協定。
     
  •  包括一系列連線不同作業系統的工具 從一台電腦到另一台電腦的連線不依賴每台電腦所使用的網路作業系統。
     
  •  使用可升級的,跨平台主從結構 TCP/IP可延伸(或壓縮)以滿足將來的需要和環境。它使用Socket以便電腦作業系統對另外一台電腦是透通的。
     

    說明

    Socket是網路特殊節點上特殊服務的標識符號。Socket包含節點位址和識別服務的連接埠編號。


    歷史上,TCP/IP有兩個主要缺點:它的大小和速率。對MS-DOS的用戶端來說,TCP/IP是一個相對大的,會產生一些問題的通訊協定堆疊。然而,在圖形使用者介面的作業系統當中,由於系統需要(處理速率和記憶體),大小就不是問題了,如Windows NT或Windows 95和98。

    TCP/IP標準
     

    TCP/IP標準發表在一系列稱為RFC的檔案裡。它們的主要目的是提供資訊或描述工作進展。儘管最初不是有意作為標準服務的,但是許多RFC被接受為真正的標準。

    Internet是在開放標準的基礎上開發的。就是說,只要您願意就可以使用或參加開發Internet標準。Internet架構委員會(IAB)是負責管理和公布Internet的RFC委員會。它允許任何人或任何公司接受或評價RFC。這包括任何提議的變化或新標準的觀念。在合理時間之內進行討論之後,一個新的提議草案將會成為或不成為標準。

    由AT&T提供的InterNIC目錄和資料庫是一項提供給公眾的Internet資源服務。目錄和資料庫包括RFC。這項服務可在www.internic.net上找到。另外,RFC可在下列FTP網站下載:

    nis.nsf.net ftp.ncren.net
    nisc.jvnc.net ftp.sesqui.net
    ftp.isi.edu ftp.nic.it
    wuarchive.wustl.edu ftp.imag.Fr

    TCP/IP和OSI
     

    TCP/IP通訊協定與OSI模型並不完全符合。它不使用七層而是四層。TCP/IP通常引用Internet通訊協定組,它被分成以下四層:

  • 網路介面層
     
  • Internet層
     
  • 通道層
     
  • 應用層
     

    每一層對應OSI模型的一層或多層。

    網路介面層
     

    網路介面層對應OSI模型的實體和資料鏈路層,直接和網路通訊。它提供網路結構(如權杖環,乙太網路)和Internet層之間的介面。

    Internet層
     

    Internet層對應OSI模型的網路層,它使用幾種通訊協定來路由和傳送封包。在 第7章<網路連線原理> 中討論的路由器,是通訊協定的基礎。它們在模型中的這一層起作用並用來把封包從一個網路或網段轉發到另外一個。在Internet層中有幾個通訊協定運作。

    網際網路協定(IP)
     

    網際網路協定(IP)是封包交換協定,它執行尋址和路由選擇任務。當封包傳送時,通訊協定給封包新增一個表頭以便於透過使用動態路由表的網路來路由它的行進方相。IP是非連接導向通訊協定,它發送封包,並不期待得到接收主機的答覆。另外,IP對裝配和分解封包負責,這是OSI模型的實體和資料鏈路層要求的。每個IP封包由來源位址和目標位址、通訊協定標識符號、檢查和(一個估計值)、和TTL(代表存在時間)所組成。TTL告訴網路中來源位址和目標位址間的每個路由器,封包必須在網路上存在多長的時間。它像一個倒數記秒計時器或時鐘一樣工作。當封包透過路由器時,路由器扣除較大單位(一秒)或資訊封包等候發送的時間。例如,如果資訊封包有個128的TTL,它可在網路上待上128秒,或128個Hop(路徑中的每一站或路由器),或兩者的任意結合。TTL的目的是防止損毀或損壞的資料封包(例如缺少的e-mail資訊)在網路上無休止地徘徊。當TTL倒數計時為零時,封包即從網路上被除去。

    IP增加傳送速率的另外一個方法是AND。AND的目的是確定位址是區域的還是遠端的。如果是區域位址,IP將詢問位址定位通訊協定(ARP)以得到目標機器的硬體位址。ARP通訊協定將在下一部分討論。如果位址是遠端的,IP就檢查它的路由表以得到一個到達目標的路徑。如果路徑存在,就按其發送封包。如果路徑不存在,封包發送到區域預設通訊閘道,然後發送。


    說明

    AND是一個邏輯性操作,它包括兩個位元(0,1)或兩個值(真,假)。如果兩個輸入值都是1(真),則返回值是1(真),否則為0(假)。


    位址定位通訊協定(ARP)
     

    封包被發送到另一主機之前,必須知道接收端機器的硬體位址。ARP決定一個對應IP位址的硬體位址(MAC位址)。如果ARP自己的快取記憶體當中沒有這個位址,它將廣播位址要求。網路上所有主機處理這個請求,並且如果它們有位址對應就將其傳送給請求者。然後封包就按位址發送,並將該位址儲存在路由器快取記憶體當中。

    反向位址定位通訊協定(RARP)
     

    RARP伺服器有一個機器編號資料庫,其形式是由系統管理員建立的ARP表(或快取記憶體器)形式。與ARP相比,RARP協定提供一個IP編號給硬體位址請求者。當RARP伺服器從網路節點上接到IP編號的請求時,它就做出回應,檢查請求節點的路由表並發回合適的IP編號給請求節點。

    互連網控制信息協定(ICMP)
     

    ICMP(Internet Control Message Protocol) 用於IP及更高層次通訊協定,此通訊協定發送和接收關於傳送資訊的狀態報告。通常路由器使用ICMP控制它們之間的資料流動或速率。如果資料流動對路由器來說是太快的話,它就請求其他路由器減速。

    ICMP資訊的兩個基本類型是:報告錯誤和發出詢問。

    通道層
     

    通道層對應於OSI模型的通道層,它負責建立和維持兩台主機之間端點對端點通訊。通道層提供封包的接收答覆,流量控制,封包順序。它也控制資料封包的再次傳送。通道層可根據傳送要求使用TCP或UDP通訊協定。

    傳輸控制協定(TCP)
     

    TCP負責資料從一個節點到另一個節點的可靠傳輸。它是一個基於連線的協定,在任何資料傳送之前建立兩台電腦之間的連線(如交談,虛擬電路或連線)。為了建立可靠的連線,TCP使用所謂的三方交談(three-way handshake)。從傳輸的兩邊建立連接埠編號和開始序列編號。交談包括三個步驟:

    1. 請求者發送一個詳細說明它要使用的連接埠編號及其初始序列編號(ISN)的資訊封包給伺服器。
    2. 伺服器用它的ISN答覆,包括請求者的ISN,加1。
    3. 請求者答覆伺服器ISN的答覆,加1。

      為了維持可靠連線,每個封包必須包括:

    • 來源和目標TCP連接埠編號。
       
    • 一個必須分成更小塊的訊息序列編號。
       
    • 一個確保資訊無錯誤發送的檢查。
       
    • 一個告知發送端電腦哪條報文已到達的答覆編號。
       
    • TCP滑動式視窗。
       

    連接埠,Socket和滑動式視窗
     

    通訊協定連接埠編號用來參閱每台電腦上某一應用軟體或程式的位址(在應用層)。正如IP位址識別網路上的主機位址一樣,連接埠位址識別通道的應用軟體,這樣為一個主機的應用軟體和另外一個主機的應用軟體提供完全連線。應用軟體和服務(如檔案和列印服務或遠端登入)可設定高達65336個連接埠。特別的是,TCP/IP應用軟體和服務使用前1023個連接埠。IANA已把這些作為標準的或預設的連接埠。任何用戶端機應用程式都動態地分配需要的連接埠編號。一個Socket由連接埠和節點位址所組成。

    服務和應用軟體使用Scoket以便與其他主機建立連線。如果應用軟體需要確保資料發送,Socket就選擇TCP。如果應用軟體不需要確保資料的發送,Socket就選擇UDP。

    在兩台主機間TCP使用滑動式視窗轉送資料。在接受端主機必須發出答覆之前,它調節透過TCP連線傳送的資訊量。每台電腦既有發送視窗又有接收視窗,用來緩衝資料的傳遞,使通訊過程更為有效率。滑動式視窗允許發送端電腦發送資料流,不需等待每個資訊回報被答覆。這就允許接收端電腦接收打亂順序的封包,並且在等待更多的封包時重組它們。發送視窗追蹤已發送資料,如果在特定時間內沒有收到答覆,將再次發送該封包。

    用戶數據報協定(UDP)
     

    UDP負責端點對端點的資料發送。然而,與TCP不同,UDP並不建立連線。它嘗試發送資料並核對目標主機確實接收到資料。UDP最適用於發送小量資料,因為這不需發送的保證。儘管UDP使用連接埠,但它們不同於TCP連接埠;因此,它們可以使用相同連接埠編號而不衝突。

    應用層
     

    應用層對應於OSI模型的交談層、展示層和應用層,應用層把應用軟體連入網路。兩個應用程式介面(API)提供通向TCP/IP傳送協定的Windows Socket和NetBIOS的存取。

    Windows Socket介面
     

    Windows Socket(WinSock)是個網路API,被設計使不同TCP/IP應用程式和通訊協定堆疊中的通訊更加便利。它的建立是為了讓使用TCP/IP的應用軟體能夠寫入標準介面。WinSock起源於起始Socket;該起始Socket是API為BSD UNIX作業系統所建立的。WinSock為應用軟體和通訊協定提供一個公共介面,它們存在於TCP/IP參考模型的頂部附近。用WinSock API寫的程式或應用軟體能與任何TCP/IP協定通訊,反之亦然。

    練習6.2:OSI與TCP/IP層級的比較
     

    練習6.2是為幫助您理解OSI模型和TCP/IP之間的聯絡而設計的。由於TCP/IP是在OSI參考模型發展之前開發的,它不完全與OSI模型的七層相符合。在這個練習當中,您要把TCP/IP的四層與OSI模型的七層相對應。

    TCP/IP的四層是:

  • 網路介面層。
     
  • 網路層。
     
  • 通道層。
     
  • 應用層。
     

    左欄列出OSI模型的七層。在右欄中填入對應的TCP/IP層的名稱。

    OSI與TCP/IP層的比較
    OSI層 TCP/IP層
    應用層  
    展示層  
    交談層  
    通道層  
    網路層  
    資料鏈路層  
    實體層  

    課程摘要
     

    以下要點概括了本課的主要內容:

  • TCP/IP是一個提供在不同環境中通訊的工業標準通訊協定組。
     
  • TCP/IP的四層是:網路介面層,網路層,通道層和應用層。
     
  • TCP/IP通訊協定在通道中工作並且在兩台電腦間提供確定連結通訊。
     
  • UDP通訊協定在通道中工作並且在兩台電腦間提供不確定連結通訊。
     
  • TCP/IP的網路介面層相當於OSI的實體層和資料鏈路層。
     
  • TCP/IP的Internet層相當於OSI的網路層。
     
  • TCP/IP的通道層相當於OSI的通道層。
     
  • TCP/IP的應用層相當於OSI的交談層,表示層和應用層。
     

    第3課 NetWare通訊協定
     

    在 第4章 中,我們學習了Novell NetWare是主要的網路結構之一。在本課當中,我們研究NetWare使用的通訊協定及其如何與OSI參考模型相關。

    本課結束後,您將能夠:
     

  • 定義組成NetWare通訊協定組的通訊協定。
     
  • 將NetWare通訊協定與OSI參考模型建立關聯性。
     

    課程估計時間:15分鐘
     

    NetWare通訊協定介紹
     

    與TCP/IP一樣,Novell提供了一組專門為NetWare開發的通訊協定。NetWare使用的五個主要通訊協定是:

  • Media Access Protocol.
     
  • Internetwork Packet Exchange/Sequenced Packet Exchange (IPX/SPX).
     
  • Routing Information Protocol (RIP).
     
  • Service Advertising Protocol (SAP).
     
  • NetWare Core Protocol (NCP).
     

    由於這些通訊協定在OSI模型完成之前已被定義,它們與OSI不完全符合。圖6.5提供NetWare通訊協定與OSI模型的對應關係。實際上,這兩個體系的階層邊界不存在著直接的相互關係。這些通訊協定遵循一套封裝模式。更明確的說,高階通訊協定(NCP,SAP和RIP)被IPX/SPX封裝。然後,媒體存取協定的頭和尾封裝著IPX/SPX。


     

    圖6.5 NetWare與OSI參考模型的比較

    媒體存取通訊協定
     

    媒體存取通訊協定定義了在NetWare網路上區別每個節點的位址。在硬體或NIC上實作位址,最通常的方式是:

  • 802.5權杖環。
     
  • 802.3乙太網路。
     
  • 乙太網路2.0。
     

    這個通訊協定負責為封包加上表頭。每個表頭包括來源和目標程式碼。封包被傳送到媒體上之後,每個網路卡檢查位址;如果它們的位址與封包上的目標位址符合,或者如果封包是一個廣播訊息,NIC就複製這個封包並將其發送到通訊協定堆疊。

    除提供位址之外,該通訊協定提供位元組CRC形式的錯誤檢查。由於有CRC加在封包上,所有的封包肯定不會損壞。


    說明

    CRC錯誤檢查使用複雜的計算來產生一個架構於傳輸資料的數字。發送裝置在發送之前執行這個計算,並把它包括在要發送到的接收裝置的封包裡。傳送之後,接收裝置重覆同樣的計算,如果兩台裝置獲得同樣的結果,那麼,將假定傳送是正確的。由於每個發送不僅包括資料而且包括額外的錯誤檢查值,因此這個程式被稱為容錯檢查。


    IPX/SPX
     

    IPX定義了NetWare使用的位址方案, SPX確保IPX通訊協定的安全性和可靠性。IPX是架構於資料段,非連結連線的,不可靠的,相當於IP的網路層通訊協定。它不要求對每個發送封包進行答覆。任何答覆控制和連線控制必須由在IPX上的協定提供。SPX提供通道層的確定連結連線和可靠伺服器。

    Novell使用Xerox網路系統(XNS)Internet Datagrm Protocol,採用IPX通訊協定。IPX定義兩種位址安排:

  •  Internet網路位址安排 網路上的網段位址由安裝時指定的網路號識別。
     
  •  節點內部位址安排 節點內程式的位址由Socket編號識別。
     

    IPX通訊協定僅在網路上與NetWare伺服器一起使用,經常與另一個通訊協定組如TCP/IP一起安裝。甚至NetWare也朝使用TCP/IP作為標準的方向發展。

    RIP
     

    RIP使NetWare網路上路由資訊的交換便利,如同IPX,它也是由XNS開發的。然而,在RIP當中,為了提高選擇最快到達目標的路徑的決定標準,在封包當中加入了一個額外資料區。 RIP資料封包的廣播允許出現以下情況:

  • 工作站能夠選定最快的網路路徑。
     
  • 路由器可從其他路由器請求路徑資訊以更新自身的內部路由表。(路由器將會在 第7章<網路連線原理> 中詳細討論)。
     
  • 路由器可以回應來自工作站或其他路由器的路徑請求。
     
  • 路由器可以確保所有其他路由器都知道Internet配置。
     
  • 路由器可以檢測Internet配置的變化。
     

    SAP
     

    SAP允許服務提供節點(包括檔案伺服器,列印伺服器,閘道伺服器和應用伺服器)為它們的服務和位址廣為宣告。網路用戶端能夠獲得任何它們能夠存取的伺服器的Internet網路位址。利用SAP,在網路上新增和刪除一個服務變得更靈活了。透過預設,SAP每60秒鐘就廣播一次它的存在。一個SAP包包括:

  •  操作資訊 詳細說明封包正在執行的操作。
     
  •  服務類型 詳細說明由伺服器提供的服務類型。
     
  •  伺服器名稱 詳細說明廣播伺服器的名稱。
     
  •  網路位址 詳細說明廣播伺服器的網路號。
     
  •  節點位址 詳細說明廣播伺服器的節點號。
     
  •  Socket位址 詳細說明廣播伺服器的Socket號。
     
  •  伺服器的總路程段數 詳細說明廣播伺服器的路程段數。
     
  •  操作區 詳細說明請求類型。
     
  •  附加資訊 一組或多組區域可以遵循包含關於一個或多個伺服器更多資訊的操作區。
     

    NetWare核心通訊協定(NCP)
     

    NetWare核心通訊定(NCP)定義了連線控制和請求服務編碼,此編碼使用戶端和伺服器相互作用成為可能。就是這個通訊協定提供了傳送和執行期間服務。NetWare的安全性也是在這個通訊協定內提供。

    練習6.3:比較OSI模型與NetWare協定
     

    設計這個練習是來幫助您理解OSI參考模型與NetWare協定的關連性。NetWare的開發早於OSI模型,因此,與它的七層並不精確地符合。在這個練習中您要把NetWare通訊協定的各個元件與OSI參考模型的七個層相對應。

    在下表當中,左欄列出OSI模型的七個層。右邊的空欄代表NetWare通訊協定的各個元件。在空欄寫出與NetWare通訊協定成分相對應的OSI模型。

  • IPX/SPX
     
  • Media Access Protocol
     
  • NetWare Core Protocol
     
  • Routing Information Protocol
     
  • Service Advertising Protocol
     
    OSI模型與NetWare協定的比較
    OSI層 NetWare協定
    應用層  
    展示層  
    交談層  
    通道層  
    網路層  
    資料鏈路層  
    實體層  

    課程摘要
     

    以下要點概括了本課的主要內容:

  • NetWare協定早於OSI參考模型開發,因此與之不符合。
     
  • NetWare使用的五個協定是:MAP,IPX/SPX,RIP,SAP和NCP。
     
  • MAP協定定義了NetWare網路每一節點上的位址。它負責為封包的目標和來源位址加表頭。
     
  • IPX定義使用在NetWare網路上的位址安排。
     
  • SPX定義通道上的定向連線的、可靠的伺服器。
     
  • SAP允許檔案伺服器,列印伺服器,閘道和應用軟體廣播或廣告它們的服務給網上。
     
  • NetWare的安全性在NetWare核心協定中提供。
     

    第4課:其他通訊協定本課提供幾個通用的次要通訊協定之概述。
     

    本課結束後,您將能夠:
     

  • 識別幾個更為通用的通訊協定。
     
  • 確定哪個協定最適合網路環境。
     

    課程估計時間:15分鐘
     

    NetBIOS
     

    在Windows作業系統中執行的大多數服務和應用程式使用NetBIOS介面或IPC。NetBIOS是基於區域網路開發的,已經發展成為應用程式的標準介面,用來存取通道中的網路協定以進行定向連線和非定向連線的通訊。NetBIOS介面為NetBEUI,NWLink和TCP/IP而存在。NetBIOS需要一個IP位址和一個NetBIOS名來唯一地識別電腦。

    NetBIOS執行四個主要功能:

  •  NetBIOS名稱的解析 每個網上的工作站有一個或多個名稱。NetBIOS保持一個名稱或別名的表,表中的第一個名稱是NIC的唯一名稱。能加入可供選擇的使用者名稱,以便提供友好使用者的識別系統。那麼,NetBIOS可交叉參考所需名稱。
     
  •  NetBIOS Datagram服務 這個功能允許訊息被發送給任何名稱、名稱群組或網路上的所有使用者。然而,由於它不使用點對點連線,就不能保證訊息到達其目標。
     
  •  NetBIOS工作階段服務 這項服務是在網上的兩個工作站之間開闢點對點連線。一個工作站向另一個發起存取並開啟連線。由於兩個工作站是平等的,它們都能同時發送和接收資料。
     
  •  NetBIOS NIC/工作階段狀態 這個功能使得任何使用NetBIOS的應用軟體可以獲得關於區域NIC 、其他NIC和任何當前啟用中的工作階段資訊。
     

    最初,IBM提供一個單獨的產品NetBIOS,作為一個終止並常駐(TSR)程式。這個TSR程式現在已過時;如果您碰到這些系統,您應該用Windows NetBIOS介面把它取代。

    NetBEUI
     

    NetBEUI是NetBIOS Extended User Interface(NetBIOS延伸使用者介面)的首字母縮寫。最初,NetBIOS與NetBEUI緊密相連,被認為是一個通訊協定。然而,幾家網路製造商分離出NetBIOS,即交談層協定,以便於它能與其他可路由的傳輸協定一起使用。NetBIOS(網路基本I/O系統)是IBM交談層LAN介面,它擔當網路的應用軟體介面的角色。當一個程式與網上另一個程式建立執行期間時,NetBIOS提供工具,因為很多應用程式支援它,所以很流行。

    NetBEUI是一個小而快且有效的通道協定,它與所有微軟網路產品一起提供。它自從二十世紀八十年代中期就可使用,它是和微軟的第一個網路產品:MS-NET一起提供的。

    NetBEUI的優點包括其堆疊的尺寸小(對執行MS-DOS的電腦很重要),在網路媒體上的資料傳送速率和與所有微軟網路的相容性。

    NetBEUI的主要缺點是它不支援路由。它也僅限於在微軟網路中使用。對所有工作站都使用微軟作業系統的較小的對等網路來說,NetBEUI是一個好的、經濟的解決方案。

    X.25分包交換
     

    一套WAN協定,X. 25是與由交換服務組成的分封交換網路結合的。交換服務最初建立用來連線遠端終端機和大型主機系統。網路把每個傳送分成多個封包並把它們放在網路上。節點間的通道是一個虛擬線路,它看起來像對更高層的單一、連續、邏輯的連線。從來源位址到目標位址,每個封包可以採取不同路徑。封包到達之後,它們被重組為原始資料。

    一個典型的封包含有128個資料位元組;然而,在虛擬連線之後,來源和目標可以協商一個不同的封包尺寸。透過節點與X. 25網路間的實體連結,X. 25通訊協定理論上可以支援最多4095個並行的虛擬線路。X. 25的典型資料傳送速率是64 Kbps。

    X. 25在OSI模型的實體、資料連結和網路層中工作。它自從二十世紀七十年代中期就已流行並被調整地十分成功;因此,它是一個穩定的網路環境。然而,它的確有兩個缺點:

    • 儲存和發送機制導致延遲。典型的延遲大約為0.06秒<內文>對大的資料塊無影響。然而,在觸發器類型的傳輸中,延遲可能是顯著的。
       

      說明

      觸發器是當輸入端收到一個脈衝時在兩個可能狀態間的循環。例如,如果一個觸發器輸出是在高位階,並且在輸入端收到一個脈衝,則輸出跳到低位階;第二個輸入脈衝使輸出跳回高位階,如此循環。


    • 需要大量的緩衝,以支援儲存和發送的資料傳輸。
       

      X. 25和TCP/ IP一樣都使用分封交換協定。然而,兩者有幾個不同之處:

    • TCP/ IP只有端對端錯誤偵測和流量控制; X. 25有從節點到節點的錯誤檢查。
       
    • 為了補償TCP/IP網路是完全被動的事實,TCP/ IP比X. 25有更複雜的流量控制和視窗機制。
       
    • X. 25嚴格的指定了電子和連結層次; TCP/ IP設計用於在許多不同的媒體上傳播,使用不同類型的連線服務。
       

    Xerox網路系統(XNS)
     

    Xerox為其乙太LAN開發了Xerox網路系統(XNS)。XNS在二十世紀八十年代廣泛使用,但它逐漸被TCP/IP取代。它是一個大而慢的通訊協定,但能產生更多的廣播,導致更多網路通訊。

    APPC
     

    APPC(Advanced Program-to-Program Communication)是IBM的傳輸協定,它開發作為系統網路結構(SNA)的一部分。它設計來使應用程式在不同電腦上執行並直接通訊和交換資料。

    Apple Talk
     

    Apple Talk是Apple Computer特有的協定堆疊,設計用於Apple Macintosh電腦在網路環境中共用檔案和印表機。它在1984年作為一種自我配置的區域網路技術而問世。AppleTalk也用在許多UNIX系統中,此系統使用協力廠商免費軟體和商業套裝軟體。AppltTalk協定組包含高階檔案共用,它使用AppleShare 、 LaserWriter列印服務和假離線列印以及低階資料流與簡單資訊訊息傳遞。表6.4舉例說明了AppleTalk的特點。

    表格6.4 AppleTalk協定
    AppleTalk類型 描述
    AppleTalk 它是對應於OSI模型的協定集合,支援LocalTalk 、 EtherTalk和 TokenTalk 。
    LocalTalk 描述簡單的、屏蔽雙絞電纜,以使Macintoshes與其他Macintoshes或 印表機相連,LocalTalk網段最大支援32台裝置,並以230 Kbps的速率 操作。
    EtherTalk 乙太網路上的AppleTalk。它以10 Mbps的速率操作。快速EtherTalk以 100 Mbps的速率操作。
    TokenTalk 權杖環上的AppleTalk。依靠其硬體,TokenTalk以4 Mbps或16 Mbps 的速率操作。

    圖6.6顯示了一個典型的包含乙太網路連線的AppleTalk網路


     

    圖6.6 AppleTalk網路

    OSI協定組
     

    OSI協定組是一個完整的協定堆疊。每個協定直接對應於OSI模型的一個單層。OSI協定組包括路由和傳輸協定、 IEEE 802系列協定、一個交談層協定、一個展示層協定及幾個應用層協定,設計用來提供完全的網路功能,包括檔案存取、列印、和終端機模擬。

    DECnet
     

    DECnet是迪吉多公司的專有通訊協定堆疊。它是一套實施數位網路體系結構(DNA)的硬體和軟體產品。它定義了乙太區域網路、光纖分散式資料介面區域網(FDDI MAN)以及使用私人或公共資料傳輸裝置的廣域網(WAN)上的通訊網路。DECnet除使用它自身的協定以外,還使用TCP/ IP和OSI協定。它是一個路由協定。

    DECnet已經更新過幾次了;每次更新稱為一個" Phase "。現在的版本是DECnetPhase V,協定不僅屬於Digital,並且提供一個完整的OSI協定組的實施。

    練習6.4:協定符合問題
     

    許多次要的但仍通用的協定和許多有名的協定一起存在。下面列出五個這樣的協定。在這個練習中,您要把下列協定與描述其用途的特點相符合。

    五個公用協定
     

    A. AppleTalk
    B. DECnet
    C. NetBEUI
    D. NetBIOS
    E. X. 25

    在左邊的每個空格中填入右邊所列特點對應的協定。注意一個特點對應多個協定。

    通常是在微軟網路、對等網路中使用的協定

    用作分封交換的協定

    通常用於Macintosh網路的協定

    由數位裝置公司(DEC)設計的協定

    最初由IBM提供的協定

    一個小而快的通道協定

    一個非路由協定

    課程摘要
     

    以下要點概括了本課的主要內容:

  • 網路上使用很多協定;每一個都有其獨特的優缺點。
     
  • NetBIOS和NetBEUI通常用於微軟的對等網路。
     
  • NetBIOS和NetBEUI是非路由協定。
     
  • X. 25是分封交換協定。
     
  • AppleTalk是為Macintosh網路而開發的協定。
     
  • DECnet是迪吉多公司的專有通訊協定堆疊。
     

    本章摘要
     

    下列各點總結了本章的主要概念:

    協定介紹
     

    • 網路環境中的協定定義了傳送資料的規則和調度。
       
    • 透過網路成功發送資料要求一系列以預定順序執行的分立步驟。
       
    • 發送和接收端電腦使用協定來:
       
      • 把資料分裝成封包。
         
      • 給封包加入位址資訊。
         
      • 預處理即將傳輸的封包。
         
      • 從電纜中獲取封包。
         
      • 從封包中複製資料進行重組。
         
      • 把重組資料傳送給電腦。
         
    • 幾個堆疊用作標準協定;最主要的標準協定是基於OSI模型層的。
       
    • 通訊協定以和驅動程式一樣的方式,進行執行和刪除。
       

    TCP/ IP
     

  • TCP/ IP是一個提供在異種環境中通訊的工業標準協定組。
     
  • TCP/ IP的四層是:網路介面層、 Internet層、通道和應用層。
     
  • TCP協定在通道中工作,並提供兩台電腦間的定向聯絡通訊。
     
  • UDP協定在通道中工作,並提供在兩台電腦間的無連線通訊。
     
  • TCP/ IP的網路介面層與OSI的實體和資料鏈路層相對應。
     
  • TCP/ IP的Internet層與OSI的網路層相對應。
     
  • TCP/ IP的通道與OSI的通道對應。
     
  • TCP/IP的應用層與OSI的交談層、展示層和應用層相對應。
     

    NetWare協定
     

  • NetWare協定比OSI參考模型還早開發,因此它與O SI模型不符合。
     
  • NetWare使用的五個協定:MAP、IPX/ SPX、RIP、SAP和NCP。
     

    其他通用協定
     

  • 網路使用許多協定,每一個都有其獨特的優缺點。
     
  • NetBIOS和NetBEUI通常用於微軟的對等網路。
     
  • NetBIOS和NetBEUI是非路由協定。
     
  • X.25是分包交換協定。
     
  • AppleTalk是為Macintosh網路而開發的協定。
     
  • DECnet是迪吉多公司的專有協定堆疊。
     

    本章回顧
     

    1. 發送端電腦把資料分成幾個協定可處理的小部分,稱為______。
    2. 幾個協定可在稱為______的協定中共同起作用。
    3. 接收端電腦從包中把資料複製到______用於重組。
    4. 支援多路徑區域網路際通訊的協定稱為______協定。
    5. 接收端電腦以可用的格式,將重組資料傳送給______。
    6. 為了避免衝突或不完整操作,協定是以一定順序的______。
    7. ______順序表明了協定在協定堆疊中的位置。
    8. 與OSI模型大致對應的三個協定類型是:應用、______和網路。
    9. 應用協定在OSI模型的高層工作,並提供應用程式間的______。
    10. 一個NIC驅動程式協定位於OSI模型的______(______)子層。
    11. 在特定的區域網路環境,例如乙太網路或權杖環中通訊的規則稱為______協定。
    12. 為了幫助網路管理者在初始化系統安裝後安裝一個協定,作業系統必須包括______。
    13. TCP/ IP支援路由,通常用作______協定。
    14. NetBIOS是一個IBM交談層區域網路介面,其可作為網路______介面。
    15. APPC是IBM______協定。
    16. 對較大網路而言,NetBEUI並非一個好選擇,因為它不______。
    17. X. 25是用於______網路的協定。
    18. X. 25在OSI模型的______,______和______層中工作。
    19. AppleTalk是設計用於______電腦的合適的協定堆疊。
    20. EtherTalk允許Macintosh電腦在______網路上通訊。