組成結構
一、計算機系統和終端
計算機系統和終端提供網路服務界面。地域集中的多個獨立終端可通過一個終端控制器連入網路。
二、通信處理機
通信處理機也叫通信控制器或前端處理機,是計算機網路中完成通信控制的專用計算機,通常由小型機、微機或帶有CPU的專用設備充當。在廣域網中,採用專門的計算機充當通信處理機:在區域網路中,由於通信控制功能比較簡單,所以沒有專門的通信處理機,而是在計算機中插入一個網路適配器(網卡)來控制通信。
三、通信線路和通信設備
通信線路是連線各計算機系統終端的物理通路。通信設備的採用與線路類型有很大關係:如果是模擬線路,線上中兩端使用Modem(數據機);如果是有線介質,在計算機和介質之間就必須使用相應的介質連線部件。
四、作業系統
五、網路協定
體系結構
計算機網路是一個複雜的具有綜合性技術的系統,為了允許不同系統實體互連和互操作,不同系統的實體在通信時都必須遵從相互均能接受的規則,這些規則的集合稱為協定(Protocol)。
系統指計算機、終端和各種設備。
實體指各種應用程式,檔案傳輸軟體,資料庫管理系統,電子郵件系統等。
互連指不同計算機能夠通過通信子網互相連線起來進行數據通信。
互操作指不同的用戶能夠在通過通信子網連線的計算機上,使用相同的命令或操作,使用其它計算機中的資源與信息,就如同使用本地資源與信息一樣。
計算機網路體系結構為不同的計算機之間互連和互操作提供相應的規範和標準。
層次結構
計算機網路體系結構可以定義為是網路協定的層次劃分與各層協定的集合,同一層中的協定根據該層所要實現的功能來確定。各對等層之間的協定功能由相應的底層提供服務完成。
層次化的網路體系的優點在於每層實現相對獨立的功能,層與層之間通過接口來提供服務,每一層都對上層禁止如何實現協定的具體細節,使網路體系結構作到與具體物理實現無關。層次結構允許連線到網路的主機和終端型號、性能可以不一,但只要遵守相同的協定即可以實現互操作。高層用戶可以從具有相同功能的協定層開始進行互連,使網路成為開放式系統。這裡"開放”指按照相同協定任意兩系統之間可以進行通信。因此層次結構便於系統的實現和便於系統的維護。
對於不同系統實體間互連互操作這樣一個複雜的工程設計問題,如果不採用分層次分解處理,則會產生由於任何錯誤或性能修改而影響整體設計的弊端。
相鄰協定層之間的接口包括兩相鄰協定層之間所有調用和服務的集合,服務是第i層向相鄰高層提供服務,調用是相鄰高層通過原語或過程調用相鄰低層的服務。
對等層之間進行通信時,數據傳送方式並不是由第i層發方直接傳送到第i層收方。而是每一層都把數據和控制信息組成的報文分組傳輸到它的相鄰低層,直到物理傳輸介質。接收時,則是每一層從它的相鄰低層接收相應的分組數據,在去掉與本層有關的控制信息後,將有效數據傳送給其相鄰上層。
網路體系結構
國際標準化組織ISO(International Standards Organization)在80年代提出的開放系統互聯參考模型OSI(Open System Interconnection),這個模型將計算機網路通信協定分為七層。這個模型是一個定義異構計算機連線標準的框架結構,其具有如下特點:
①網路中異構的每個節點均有相同的層次,相同層次具有相同的功能。
②同一節點內相鄰層次之間通過接口通信。
③相鄰層次間接口定義原語操作,由低層向高層提供服務。
④不同節點的相同層次之間的通信由該層次的協定管理,
⑤每層次完成對該層所定義的功能,修改本層次功能不影響其它層、
⑥僅在最低層進行直接數據傳送。
⑦定義的是抽象結構,並非具體實現的描述。
在OSI網路體系結構中、除了物理層之外,網路中數據的實際傳輸方向是垂直的。數據由用戶傳送進程傳送給套用層,向下經表示層、會話層等到達物理層,再經傳輸媒體傳到接收端,由接收端物理層接收,向上經數據鏈路層等到達套用層,再由用戶獲取。數據在由傳送進程交給套用層時,由套用層加上該層有關控制和識別信息,再向下傳送,這一過程一直重複到物理層。在接收端信息向上傳遞時,各層的有關控制和識別信息被逐層剝去,最後數據送到接收進程。
現在一般在制定網路協定和標準時,都把ISO/OSI參考模型作為參照基準,並說明與該參照基準的對應關係。例如,在IEEE802區域網路LAN標準中,只定義了物理層和數據鏈路層,並且增強了數據鏈路層的功能。在廣域網WAN協定中,CCITT的X.25建議包含了物理層、數據鏈路層和網路層等三層協定。一般來說,網路的低層協定決定了一個網路系統的傳輸特性,例如所採用的傳輸介質、拓撲結構及介質訪問控制方法等,這些通常由硬體來實現;網路的高層協定則提供了與網路硬體結構無關的,更加完善的網路服務和套用環境,這些通常是由網路作業系統來實現的。
物理層(Physical Layer)
物理層建立在物理通信介質的基礎上,作為系統和通信介質的接口,用來實現數據鏈路實體間透明的比特 (bit) 流傳輸。只有該層為真實物理通信,其它各層為虛擬通信。物理層實際上是設備之間的物理接口,物理層傳輸協定主要用於控制傳輸媒體。
(1)物理層的特性
物理層提供與通信介質的連線,提供為建立、維護和釋放物理鏈路所需的機械的、電氣的、功能的和規程的特性,提供在物理鏈路上傳輸非結構的位流以及故障檢測指示。物理層向上層提供位 (bit) 信息的正確傳送。
其中機械特性主要規定接口連線器的尺寸、芯數和芯的位置的安排、連線的根數等。電氣特性主要規定了每種信號的電平、信號的脈衝寬度、允許的數據傳輸速率和最大傳輸距離。功能特性規定了接口電路引腳的功能和作用。規程特性規定了接口電路信號發出的時序、應答關係和操作過程,例如,怎樣建立和拆除物理層連線,是全雙工還是半雙工等。
(2)物理層功能
為了實現數據鏈路實體之間比特流的透明傳輸,物理層應具有下述功能:
①物理連線的建立與拆除
當數據鏈路層請求在兩個數據鏈路實體之間建立物理連線時,物理層能夠立即為它們建立相應的物理連線。若兩個數據鏈路實體之間要經過若干中繼數據鏈路實體時,物理層還能夠對這些中繼數據鏈路實體進行互聯,以建立起一條有效的物理連線。當物理連線不再需要時,由物理層立即拆除。
②物理服務數據單元傳輸
物理層既可以採取同步傳輸方式,也可以採取異步傳輸方式來傳輸物理服務數據單元。
③物理層管理
對物理層收發進行管理,如功能的激活 (何時傳送和接收、異常情況處理等)、差錯控制 (傳輸中出現的奇偶錯和格式錯)等。
數據鏈路層(Data Link Layer)
數據鏈路層為網路層相鄰實體間提供傳送數據的功能和過程;提供數據流鏈路控制;檢測和校正物理鏈路的差錯。物理層不考慮位流傳輸的結構,而數據鏈路層主要職責是控制相鄰系統之間的物理鏈路,傳送數據以幀為單位,規定字元編碼、信息格式,約定接收和傳送過程,在一幀數據開頭和結尾附加特殊二進制編碼作為幀界識別符,以及傳送端處理接收端送回的確認幀,保證數據幀傳輸和接收的正確性,以及傳送和接收速度的匹配,流量控制等。
(1)數據鏈路層的目的
提供建立、維持和釋放數據鏈路連線以及傳輸數據鏈路服務數據單元所需的功能和過程的手段。數據鏈路連線是建立在物理連線基礎上的,在物理連線建立以後,進行數據鏈路連線的建立和數據鏈路連線的拆除。具體說,每次通信前後,雙方相互聯繫以確認一次通信的開始和結束,在一次物理連線上可以進行多次通信。數據鏈路層檢測和校正在物理層出現的錯誤。
(2)數據鏈路層的功能和服務
數據鏈路層的主要功能是為網路層提供連線服務,並在數據鏈路連線上傳送數據鏈路協定數據單元L-PDU,一般將L-PDU稱為幀。數據鏈路層服務可分為以下三種:
①無應答、無連線服務。傳送前不必建立數據鏈路連線,接收方也不做應答,出錯和數據丟失時也不做處理。這種服務質量低,適用於線路誤碼率很低以及傳送實時性要求高的 (例如語音類的)信息等。
②有應答、無連線服務。當傳送主機的數據鏈路層要傳送數據時,直接傳送數據幀。目標主機接收數據鏈路的數據幀,並經校驗結果正確後,向源主機數據鏈路層返回應答幀;否則返回否定幀,傳送端可以重發原數據幀。這種方式傳送的第一個數據幀除傳送數據外,也起數據鏈路連線的作用。這種服務適用於一個節點的物理鏈路多或通信量小的情況,其實現和控制都較為簡單。
③面向連線的服務。該服務一次數據傳送分為三個階段:數據鏈路建立,數據幀傳送和數據鏈路的拆除。數據鏈路建立階段要求雙方的數據鏈路層作好傳送的準備;數據傳送階段是將網路層遞交的數據傳送到對方;數據鏈路拆除階段是當數據傳送結束時,拆除數據鏈路連線。這種服務的質量好,是ISO/OSI參考模型推薦的主要服務方式。
(3)數據鏈路數據單元
數據鏈路層與網路層交換數據格式為服務數據單元。數據鏈路服務數據單元,配上數據鏈路協定控制信息,形成數據鏈路協定數據單元。
數據鏈路層能夠從物理連線上傳輸的比特流中,識別出數據鏈路服務數據單元的開始和結束,以及識別出其中的每個欄位,實現正確的接收和控制。能按傳送的順序傳輸到相鄰結點。
(4)數據鏈路層協定
數據鏈路層協定可分為面向字元的通信規程和面向比特的通信規程。
面向字元的通信規程是利用控制字元控制報文的傳輸。報文由報頭和正文兩部分組成。報頭用於傳輸控制,包括報文名稱、源地址、目標地址、傳送日期以及標識報文開始和結束的控制字元。正文則為報文的具體內容。目標節點對收到的源節點發來的報文,進行檢查,若正確,則向源節點傳送確認的字元信息;否則傳送接收錯誤的字元信息。
面向比特的通信規程典型是以幀為傳送信息的單位,幀分為控制幀和信息幀。在信息幀的數據欄位 (即正文)中,數據為比特流。比特流用幀標誌來劃分幀邊界,幀標誌也可用作同步字元。
網路層(Net Work Layer)
廣域網路一般都劃分為通信子網和資源子網,物理層、數據鏈路層和網路層組成通信子網,網路層是通信子網的最高層,完成對通信子網的運行控制。網路層和傳輸層的界面,既是層間的接口,又是通信子網和用戶主機組成的資源子網的界限,網路層利用本層和數據鏈路層、物理層兩層的功能向傳輸層提供服務。
數據鏈路層的任務是在相鄰兩個節點間實現透明的無差錯的幀級信息的傳送,而網路層則要在通信子網內把報文分組從源節點傳送到目標節點。在網路層的支持下,兩個終端系統的傳輸實體之間要進行通信,只需把要交換的數據交給它們的網路層便可實現。至於網路層如何利用數據鏈路層的資源來提供網路連線,對傳輸層是透明的。
網路層控制分組傳送操作,即路由選擇,擁塞控制、網路互連等功能,根據傳輸層的要求來選擇服務質量,向傳輸層報告未恢復的差錯。網路層傳輸的信息以報文分組為單位,它將來自源的報文轉換成包文,並經路徑選擇算法確定路徑送往目的地。網路層協定用於實現這種傳送中涉及的中繼節點路由選擇、子網內的信息流量控制以及差錯處理等。
(1)網路層功能
網路層的主要功能是支持網路層的連線。網路層的具體功能如下:
①建立和拆除網路連線
在數據鏈路層提供的數據鏈路連線的基礎上,建立傳輸實體間或者若干個通信子網的網路連線。互連的子網可採用不同的子網協定。
②路徑選擇、中繼和多路復用
網際的路徑和中繼不同與網內的路徑和和中繼,網路層可以在傳輸實體的兩個網路地址之間選擇一條適當的路徑,或者在互連的子網之間選擇一條適當的路徑和中繼。並提供網路連線多路復用的數據鏈路連線,以提高數據鏈路連線的利用率。
③分組、組塊和流量控制
數據分組是指將較長的數據單元分割為一些相對較小的數據單元;數據組塊是指將一些相對較小的數據單元組成塊後一起傳輸。用以實現網路服務數據單元的有序傳輸,以及對網路連線上傳輸的網路服務數據單元進行有效的流量控制,以免發生信息"堵塞"現象。
④差錯的檢測與恢復
利用數據鏈路層的差錯報告,以及其他的差錯檢測能力來檢測經網路連線所傳輸的數據單元,檢測是否出現異常情況。並可以從出錯狀態中解脫出來。
(2)數據報和虛電路
網路層中提供兩種類型的網路服務,即無連線服務和面向連線的服務。它們又被稱為數據報服務和虛電路服務。
①數據報 (Datagram)服務
在數據報方式,網路層從傳輸層接受報文,拆分為報文分組,並且獨立地傳送,因此數據報格式中包含有源和目標節點的完整網路地址、服務要求和標識符。傳送時,由於數據報每經過一個中繼節點時,都要根據當時情況按照一定的算法為其選擇一條最佳的傳輸路徑,因此,數據報服務不能保證這些數據報按序到達目標節點,需要在接收節點根據標識符重新排序。
數據報方式對故障的適應性強,若某條鏈路發生故障,則數據報服務可以繞過這些故障路徑而另選擇其他路徑,把數據報傳送至目標節點。數據報方式易於平衡網路流量,因為中繼節點可為數據報選擇一條流量較少的路由,從而避開流量較高的路由。數據報傳輸不需建立連線,目標節點在收到數據報後,也不需傳送確認,因而是一種開銷較小的通信方式。但是發方不能確切地知道對方是否準備好接收、是否正在忙碌,故數據報服務的可靠性不是很高。而且數據報傳送每次都附加源和目標主機的全網名稱降低了信道利用率。
②虛電路 (Virtue Circuit) 服務
在虛電路傳輸方式下,在源主機與目標主機通信之前,必須為分組傳輸建立一條邏輯通道,稱為虛電路。為此,源節點先傳送請求分組Call-Request,Call-Request包含了源和目標主機的完整網路地址。Call-Request途徑每一個通信網路節點時,都要記下為該分組分配的虛電路號,並且路由器為它選擇一條最佳傳輸路由發往下一個通信網路節點。當請求分組到達目標主機後,若它同意與源主機通信,沿著該虛電路的相反方向傳送請求分組Call-Request給源節點,當在網路層為雙方建立起一條虛電路後,每個分組中不必再填上源和目標主機的全網地址,而只需標上虛電路號,即可以沿著固定的路由傳輸數據。當通信結束時,將該虛電路拆除。
虛電路服務能保證主機所發出的報文分組按序到達。由於在通信前雙方已進行過聯繫,每傳送完一定數量的分組後,對方也都給予了確認,故可靠性較高。
③路由選擇
網路層的主要功能是將分組從源節點經過選定的路由送到目標節點,分組途經多個通信網路節點造成多次轉發,存在路由選擇問題。路由選擇或稱路徑控制,是指網路中的節點根據通信網路的情況 (可用的數據鏈路、各條鏈路中的信息流量),按照一定的策略 (傳輸時間最短、傳輸路徑最短等)選擇一條可用的傳輸路由,把信息發往目標節點。
網路路由選擇算法是網路層軟體的一部分,負責確定所收到的分組應傳送的路由。當網路內部採用無連線的數據報方式時,每傳送一個分組都要選擇一次路由。當網路層採用虛電路方式時,在建立呼叫連線時,選擇一次路徑,後繼的數據分組就沿著建立的虛電路路徑傳送,路徑選擇的頻度較低。
路由選擇算法可分為靜態算法和動態算法。靜態路由算法是指總是按照某種固定的規則來選擇路由,例如,擴散法、固定路由選擇法、隨機路由選擇法和流量控制選擇法。動態路由算法是指根據拓撲結構以及通信量的變化來改變路由,例如,孤立路由選擇法、集中路由選擇法、分布路由選擇法、層次路由選擇法等
傳輸層(Transport Layer)
從傳輸層向上的會話層、表示層、套用層都屬於端一端的主機協定層。傳輸層是網路體系結構中最核心的一層,傳輸層將實際使用的通信子網與高層套用分開。從這層開始,各層通信全部是在源與目標主機上的各進程間進行的,通信雙方可能經過多箇中間節點。傳輸層為源主機和目標主機之間提供性能可靠、價格合理的數據傳輸。具體實現上是在網路層的基礎上再增添一層軟體,使之能禁止掉各類通信子網的差異,向用戶提供一個通用接口,使用戶進程通過該接口,方便地使用網路資源並進行通信。
(1) 傳輸層功能
傳輸層獨立於所使用的物理網路,提供傳輸服務的建立、維護和連線拆除的功能;選擇網路層提供的最適合的服務。傳輸層接收會話層的數據,分成較小的信息單位,再送到網路層,實現兩傳輸層間數據的無差錯透明傳送。
傳輸層可以使源與目標主機之間以點對點的方式簡單地連線起來。真正實現端一端間可靠通信。傳輸層服務是通過服務原語提供給傳輸層用戶(可以是套用進程或者會話層協定),傳輸層用戶使用傳輸層服務是通過傳送服務連線埠TSAP實現的。當一個傳輸層用戶希望與遠端用戶建立連線時,通常定義傳輸服務訪問點TSAP。提供服務的進程在本機TSAP連線埠等待傳輸連線請求,當某一節點機的應用程式請求該服務時,向提供服務的節點機的TSAP連線埠發出傳輸連線請求,並表明自己的連線埠和網路地址。如果提供服務的進程同意,就向請求服務的節點機發確認連線,並對請求該服務的應用程式傳遞訊息,應用程式收到訊息後,釋放傳輸連線。
傳輸層提供面向連線和無連線兩種類型的服務。這兩種類型的服務和網路層的服務非常相似。傳輸層提供這兩種類型服務的原因是因為,用戶不能對通信子網加以控制,無法通過使用通信處理機來改善服務質量。傳輸層提供比網路層更可靠的端一端間數據傳輸,更完善的查錯糾錯功能。傳輸層之上的會話層、表示層、套用層都不包含任何數據傳送的功能。
(2)傳輸層協定類型
傳輸層協定和網路層提供的服務有關。網路層提供的服務于越完善,傳輸層協定就越簡單,網路層提供的服務越簡單,傳輸層協定就越複雜。傳輸層服務可分成五類:
0類:提供最簡單形式的傳送連線,提供數據流控制。
1類:提供最小開銷的基本傳輸連線,提供誤差恢復。
2類:提供多路復用,允許幾個傳輸連線多路復用一條鏈路。
3類:具有0類和1類的功能,提供重新同步和重建傳輸連線的功能。
4類:用於不可靠傳輸層連線,提供誤差檢測和恢復。
基本協定機制包括建立連線、數據傳送和拆除連線。傳輸連線涉及四種不同類型的標識:
用戶標識:即服務訪問點SAP,允許實體多路數據傳輸到多個用戶。
網路地址:標識傳輸層實體所在的站。
協定標識:當有多個不同類型的傳輸協定的實體,對網路服務標識出不同類型的協定。
連線標識:標識傳送實體,允許傳輸連線多路復用。
會話層(Session Layer)
會話是指兩個用戶進程之間的一次完整通信。會話層提供不同系統間兩個進程建立、維護和結束會話連線的功能;提供交叉會話的管理功能,有一路交叉、兩路交叉和兩路同時會話的3種數據流方向控制模式。會話層是用戶連線到網路的接口。
(1)會話層的主要功能
會話層的目的是提供一個面向套用的連線服務。建立連線時,將會話地址映射為傳輸地址。會話連線和傳輸連線有三種對應關係,一個會話連線對應一個傳輸連線;多個會話連線建立在一個傳輸連線上;一個會話連線對應多個傳輸連線。
數據傳送時,可以進行會話的常規數據、加速數據、特權數據和能力數據的傳送。
會話釋放時,允許正常情況下的有序釋放;異常情況下由用戶發起的異常釋放和服務提供者發起的異常釋放。
(2)會話活動
會話服務用戶之間的互動對話可以劃分為不同的邏輯單元,每個邏輯單元稱為活動。每個活動完全獨立於它前後的其他活動,且每個邏輯單元的所有通信不允許分隔開。
會話活動由會話令牌來控制,保證會話有序進行。會話令牌分為四種,數據令牌、釋放令牌、次同步令牌和主同步令牌。令牌是互斥使用會話服務的手段。
會話用戶進程間的數據通信一般採用互動式的半雙工通信方式。由會話層給會話服務用戶提供數據令牌來控制常規數據的傳送,有數據令牌的會話服務用戶才可傳送數據,另一方只能接收數據。當數據發完之後,就將數據令牌轉讓給對方,對方也可請求令牌。
(3)會話同步
在會話服務用戶組織的一個活動中,有時要傳送大量的信息,如將一個檔案連續傳送給對方,為了提高數據傳送的效率,會話服務提供者允許會話用戶在傳送的數據中設定同步點。一個主同步點表示前一個對話單元的結束及下一個對話單元的開始。在一個對話單元內部或者說兩個主同步點之間可以設定次同步點,用於會話單元數據的結構化。當會話用戶持有數據令牌、次同步令牌和主同步令牌時就可在傳送數據流中用相應的服務原語設定次同步點和主同步點。
一旦出現高層軟體錯誤或不符合協定的事件則發生會話中斷,這時會話實體可以從中斷處返回到一個已知的同步點繼續傳送,而不必從檔案的開頭恢復會話。會話層定義了重傳功能,重傳是指在已正確應答對方後,在後期處理中發現出錯而請求的重傳,又稱為再同步。為了使傳送端用戶能夠重傳,必須保存數據緩衝區中已傳送的信息數據,將重新同步的範圍限制在一個對話單元之內,一般返回到前一個次同步點,最多返回到最近一個主同步點。
表示層(Presentation Layer)
表示層的目的是處理信息傳送中數據表示的問題。由於不同廠家的計算機產品常使用不同的信息表示標準,例如在字元編碼、數值表示、字元等方面存在著差異。如果不解決信息表示上的差異,通信的用戶之間就不能互相識別。因此,表示層要完成信息表示格式轉換,轉換可以在傳送前,也可以在接收後,也可以要求雙方都轉換為某標準的數據表示格式。所以表示層的主要功能是完成被傳輸數據表示的解釋工作,包括數據轉換、數據加密和數據壓縮等。表示層協定主要功能有:為用戶提供執行會話層服務原語的手段;提供描述負載數據結構的方法;管理當前所需的數據結構集和完成數據的內部與外部格式之間的轉換。例如,確定所使用的字元集、數據編碼以及數據在螢幕和印表機上顯示的方法等。表示層提供了標準套用接口所需要的表示形式。
套用層(Application Layer)
套用層作為用戶訪問網路的接口層,給套用進程提供了訪問OSI環境的手段。
套用進程藉助於套用實體 (AE)、實用協定和表示服務來交換信息,套用層的作用是在實現套用進程相互通信的同時,完成一系列業務處理所需的服務功能。當然這些服務功能與所處理的業務有關。
套用進程使用OSI定義和通信功能,這些通信功能是通過OSI參考模型各層實體來實現的。套用實體是套用進程利用OSI通信功能的唯一視窗。它按照套用實體間約定的通信協定 (套用協定),傳送套用進程的要求,並按照套用實體的要求在系統間傳送套用協定控制信息,有些功能可由表示層和表示層以下各層實現。
套用實體由一個用戶元素和一組套用服務元素組成。用戶元素是套用進程在套用實體內部,為完成其通信目的,需要使用的那些套用服務元素的處理單元。實際上,用戶元素向套用進程提供多種形式的套用服務調用,而每個用戶元素實現一種特定的套用服務使用方式。用戶元素禁止套用的多樣性和套用服務使用方式的多樣性,簡化了套用服務的實現。套用進程完全獨立於OSI環境,它通過用戶元素使用OSI服務。
套用服務元素可分為兩類,公共套用服務元素 (CASE)和特定套用服務元素 (SASE)。公共套用服務元素是用戶元素和特定套用服務元素公共使用的部分,提供通用的最基本的服務,它使不同系統的進程相互聯繫並有效通信。它包括聯繫控制元素、可靠傳輸服務元素、遠程操作服務元素等;特定套用服務元素提供滿足特定套用的服務。包括虛擬終端、檔案傳輸和管理、遠程資料庫訪問、作業傳送等。對於套用進程和公共套用服務元素來說,用戶元素具有傳送和接收能力。對特定服務元素來說,用戶元素是請求的傳送者,也是回響的最終接收者。