Ⅰ 請幫助解讀OSI網路通信模型。
OSI七層模型介紹
OSI是一個開放性的通行系統互連參考模型,他是一個定義的非常好的協議規范。OSI模型有7層結構,每層都可以有幾個子層。下面我簡單的介紹一下這7層及其功能。
OSI的7層從上到下分別是
7 應用層
6 表示層
5 會話層
4 傳輸層
3 網路層
2 數據鏈路層
1 物理層
其中高層,既7、6、5、4層定義了應用程序的功能,下面3層,既3、2、1層主要面向通過網路的端到端的數據流。下面我給大家介紹一下這7層的功能:
(1)應用層:與其他計算機進行通訊的一個應用,它是對應應用程序的通信服務的。例如,一個沒有通信功能的字處理程序就不能執行通信的代碼,從事字處理工作的程序員也不關心OSI的第7層。但是,如果添加了一個傳輸文件的選項,那麼字處理器的程序員就需要實現OSI的第7層。示例:telnet,HTTP,FTP,WWW,NFS,SMTP等。
(2)表示層:這一層的主要功能是定義數據格式及加密。例如,FTP允許你選擇以二進制或ASII格式傳輸。如果選擇二進制,那麼發送方和接收方不改變文件的內容。如果選擇ASII格式,發送方將把文本從發送方的字元集轉換成標準的ASII後發送數據。在接收方將標準的ASII轉換成接收方計算機的字元集。示例:加密,ASII等。
(3)會話層:他定義了如何開始、控制和結束一個會話,包括對多個雙向小時的控制和管理,以便在只完成連續消息的一部分時可以通知應用,從而使表示層看到的數據是連續的,在某些情況下,如果表示層收到了所有的數據,則用數據代表表示層。示例:RPC,SQL等。
(4)傳輸層:這層的功能包括是否選擇差錯恢復協議還是無差錯恢復協議,及在同一主機上對不同應用的數據流的輸入進行復用,還包括對收到的順序不對的數據包的重新排序功能。示例:TCP,UDP,SPX。
(5)網路層:這層對端到端的包傳輸進行定義,他定義了能夠標識所有結點的邏輯地址,還定義了路由實現的方式和學習的方式。為了適應最大傳輸單元長度小於包長度的傳輸介質,網路層還定義了如何將一個包分解成更小的包的分段方法。示例:IP,IPX等。
(6)數據鏈路層:他定義了在單個鏈路上如何傳輸數據。這些協議與被討論的歌種介質有關。示例:ATM,FDDI等。
(7)物理層:OSI的物理層規范是有關傳輸介質的特性標准,這些規范通常也參考了其他組織制定的標准。連接頭、針、針的使用、電流、電流、編碼及光調制等都屬於各種物理層規范中的內容。物理層常用多個規范完成對所有細節的定義。示例:Rj45,802.3等。
OSI分層的優點:
(1)人們可以很容易的討論和學習協議的規范細節。
(2)層間的標准介面方便了工程模塊化。
(3)創建了一個更好的互連環境。
(4)降低了復雜度,使程序更容易修改,產品開發的速度更快。
(5)每層利用緊鄰的下層服務,更容易記住個層的功能。
大多數的計算機網路都採用層次式結構,即將一個計算機網路分為若干層次,處在高層次的系統僅是利用較低層次的系統提供的介面和功能,不需了解低層實現該功能所採用的演算法和協議;較低層次也僅是使用從高層系統傳送來的參數,這就是層次間的無關性。因為有了這種無關性,層次間的每個模塊可以用一個新的模塊取代,只要新的模塊與舊的模塊具有相同的功能和介面,即使它們使用的演算法和協議都不一樣。
網路中的計算機與終端間要想正確的傳送信息和數據,必須在數據傳輸的順序、數據的格式及內容等方面有一個約定或規則,這種約定或規則稱做協議。網路協議主要有三個組成部分:
1、語義:
是對協議元素的含義進行解釋,不同類型的協議元素所規定的語義是不同的。例如需要發出何種控制信息、完成何種動作及得到的響應等。
2、語法:
將若干個協議元素和數據組合在一起用來表達一個完整的內容所應遵循的格式,也就是對信息的數據結構做一種規定。例如用戶數據與控制信息的結構與格式等。
3、時序:
對事件實現順序的詳細說明。例如在雙方進行通信時,發送點發出一個數據報文,如果目標點正確收到,則回答源點接收正確;若接收到錯誤的信息,則要求源點重發一次。
70年代以來,國外一些主要計算機生產廠家先後推出了各自的網路體系結構,但它們都屬於專用的。
為使不同計算機廠家的計算機能夠互相通信,以便在更大的范圍內建立計算機網路,有必要建立一個國際范圍的網路體系結構標准。
國際標准化組織ISO 於1981年正式推薦了一個網路系統結構----七層參考模型,叫做開放系統互連模型(Open System Interconnection,OSI)。由於這個標准模型的建立,使得各種計算機網路向它靠攏, 大大推動了網路通信的發展。
OSI 參考模型將整個網路通信的功能劃分為七個層次,見圖1。它們由低到高分別是物理層(PH)、鏈路層(DL)、網路層(N)、傳輸層(T)、會議層(S)、表示層(P)、應用層(A)。每層完成一定的功能,每層都直接為其上層提供服務,並且所有層次都互相支持。第四層到第七層主要負責互操作性,而一層到三層則用於創造兩個網路設備間的物理連接.
1.物理層
物理層是OSI的第一層,它雖然處於最底層,卻是整個開放系統的基礎。物理層為設備之間的數據通信提供傳輸媒體及互連設備,為數據傳輸提供可靠的環境。
1.1媒體和互連設備
物理層的媒體包括架空明線、平衡電纜、光纖、無線信道等。通信用的互連設備指DTE和DCE間的互連設備。DTE既數據終端設備,又稱物理設備,如計算機、終端等都包括在內。而DCE則是數據通信設備或電路連接設備,如數據機等。數據傳輸通常是經過DTE——DCE,再經過DCE——DTE的路徑。互連設備指將DTE、DCE連接起來的裝置,如各種插頭、插座。LAN中的各種粗、細同軸電纜、T型接、插頭,接收器,發送器,中繼器等都屬物理層的媒體和連接器。
1.2物理層的主要功能
1.2.1為數據端設備提供傳送數據的通路,數據通路可以是一個物理媒體,也可以是多個物理媒體連接而成.一次完整的數據傳輸,包括激活物理連接,傳送數據,終止物理連接.所謂激活,就是不管有多少物理媒體參與,都要在通信的兩個數據終端設備間連接起來,形成一條通路.
1.2.2傳輸數據.物理層要形成適合數據傳輸需要的實體,為數據傳送服務.一是要保證數據能在其上正確通過,二是要提供足夠的帶寬(帶寬是指每秒鍾內能通過的比特(BIT)數),以減少信道上的擁塞.傳輸數據的方式能滿足點到點,一點到多點,串列或並行,半雙工或全雙工,同步或非同步傳輸的需要.
1.3物理層的一些重要標准
物理層的一些標准和協議早在OSI/TC97/C16 分技術委員會成立之前就已制定並在應用了,OSI也制定了一些標准並採用了一些已有的成果.下面將一些重要的標准列出,以便讀者查閱.ISO2110:稱為"數據通信----25芯DTE/DCE介面連接器和插針分配".它與EIA(美國電子工
業協會)的"RS-232-C"基本兼容。ISO2593:稱為"數據通信----34芯DTE/DCE----介面連接器和插針分配"。ISO4092:稱為"數據通信----37芯DTE/DEC----介面連接器和插針分配".與EIARS-449兼容。CCITT V.24:稱為"數據終端設備(DTE)和數據電路終接設備之間的介面電路定義表".其功能與EIARS-232-C及RS-449兼容於100序列線上.
2.數據鏈路層
數據鏈路可以粗略地理解為數據通道。物理層要為終端設備間的數據通信提供傳輸媒體及其連接.媒體是長期的,連接是有生存期的.在連接生存期內,收發兩端可以進行不等的一次或多次數據通信.每次通信都要經過建立通信聯絡和拆除通信聯絡兩過程.這種建立起來的數據收發關系就叫作數據鏈路.而在物理媒體上傳輸的數據難免受到各種不可靠因素的影響而產生差錯,為了彌補物理層上的不足,為上層提供無差錯的數據傳輸,就要能對數據進行檢錯和糾錯.數據鏈路的建立,拆除,對數據的檢錯,糾錯是數據鏈路層的基本任務。
2.1鏈路層的主要功能
鏈路層是為網路層提供數據傳送服務的,這種服務要依靠本層具備的功能來實現。鏈路層應具備如下功能:
2.1.1鏈路連接的建立,拆除,分離。
2.1.2幀定界和幀同步。鏈路層的數據傳輸單元是幀,協議不同,幀的長短和界面也有差別,但無論如何必須對幀進行定界。
2.1.3順序控制,指對幀的收發順序的控制。
2.1.4差錯檢測和恢復。還有鏈路標識,流量控制等等.差錯檢測多用方陣碼校驗和循環碼校驗來檢測信道上數據的誤碼,而幀丟失等用序號檢測.各種錯誤的恢復則常靠反饋重發技術來完成。
2.2數據鏈路層的主要協議
數據鏈路層協議是為發對等實體間保持一致而制定的,也為了順利完成對網路層的服務。主要協議如下:
2.2.1ISO1745--1975:"數據通信系統的基本型控制規程".這是一種面向字元的標准,利用10個控制字元完成鏈路的建立,拆除及數據交換.對幀的收發情況及差錯恢復也是靠這些字元來完成.ISO1155, ISO1177, ISO2626, ISO2629等標準的配合使用可形成多種鏈路控制和數據傳輸方式.
2.2.2ISO3309--1984:稱為"HDLC 幀結構".ISO4335--1984:稱為"HDLC 規程要素 ".ISO7809--1984:稱為"HDLC 規程類型匯編".這3個標准都是為面向比特的數據傳輸控制而制定的.有人習慣上把這3個標准組合稱為高級鏈路控制規程.
2.2.3ISO7776:稱為"DTE數據鏈路層規程".與CCITT X.25LAB"平衡型鏈路訪問規程"相兼容.
2.3鏈路層產品
獨立的鏈路產品中最常見的當屬網卡,網橋也是鏈路產品。MODEM的某些功能有人認為屬於鏈路層,對些還有爭議.數據鏈路層將本質上不可靠的傳輸媒體變成可靠的傳輸通路提供給網路層。在IEEE802.3情況下,數據鏈路層分成了兩個子層,一個是邏輯鏈路控制,另一個是媒體訪問控制。下圖所示為IEEE802.3LAN體系結構。
AUI=連接單元介面 PMA=物理媒體連接
MAU=媒體連接單元 PLS=物理信令
MDI=媒體相關介面
3.網路層
網路層的產生也是網路發展的結果.在聯機系統和線路交換的環境中,網路層的功能沒有太大意義.當數據終端增多時.它們之間有中繼設備相連.此時會出現一台終端要求不只是與唯一的一台而是能和多台終端通信的情況,這就是產生了把任意兩台數據終端設備的數據鏈接起來的問題,也就是路由或者叫尋徑.另外,當一條物理信道建立之後,被一對用戶使用,往往有許多空閑時間被浪費掉.人們自然會希望讓多對用戶共用一條鏈路,為解決這一問題就出現了邏輯信道技術和虛擬電路技術.
3.1網路層主要功能
網路層為建立網路連接和為上層提供服務,應具備以下主要功能:
3.1.1路由選擇和中繼.
3.1.2激活,終止網路連接.
3.1.3在一條數據鏈路上復用多條網路連接,多採取分時復用技術 .
3.1.4差錯檢測與恢復.
3.1.5排序,流量控制.
3.1.6服務選擇.
3.1.7網路管理.
3.2網路層標准簡介
網路層的一些主要標准如下:
3.2.1 ISO.DIS8208:稱為"DTE用的X.25分組級協議"
3.2.2 ISO.DIS8348:稱為"CO 網路服務定義"(面向連接)
3.2.3 ISO.DIS8349:稱為"CL 網路服務定義"(面向無連接)
3.2.4 ISO.DIS8473:稱為"CL 網路協議"
3.2.5 ISO.DIS8348:稱為"網路層定址"
3.2.6 除上述標准外,還有許多標准。這些標准都只是解決網路層的部分功能,所以往往需要在網路層中同時使用幾個標准才能完成整個網路層的功能.由於面對的網路不同,網路層將會採用不同的標准組合.
在具有開放特性的網路中的數據終端設備,都要配置網路層的功能.現在市場上銷售的網路硬設備主要有網關和路由器.
4.傳輸層
傳輸層是兩台計算機經過網路進行數據通信時,第一個端到端的層次,具有緩沖作用。當網路層服務質量不能滿足要求時,它將服務加以提高,以滿足高層的要求;當網路層服務質量較好時,它只用很少的工作。傳輸層還可進行復用,即在一個網路連接上創建多個邏輯連接。 傳輸層也稱為運輸層.傳輸層只存在於端開放系統中,是介於低3層通信子網系統和高3層之間的一層,但是很重要的一層.因為它是源端到目的端對數據傳送進行控制從低到高的最後一層.
有一個既存事實,即世界上各種通信子網在性能上存在著很大差異.例如電話交換網,分組交換網,公用數據交換網,區域網等通信子網都可互連,但它們提供的吞吐量,傳輸速率,數據延遲通信費用各不相同.對於會話層來說,卻要求有一性能恆定的界面.傳輸層就承擔了這一功能.它採用分流/合流,復用/介復用技術來調節上述通信子網的差異,使會話層感受不到.
此外傳輸層還要具備差錯恢復,流量控制等功能,以此對會話層屏蔽通信子網在這些方面的細節與差異.傳輸層面對的數據對象已不是網路地址和主機地址,而是和會話層的界面埠.上述功能的最終目的是為會話提供可靠的,無誤的數據傳輸.傳輸層的服務一般要經歷傳輸連接建立階段,數據傳送階段,傳輸連接釋放階段3個階段才算完成一個完整的服務過程.而在數據傳送階段又分為一般數據傳送和加速數據傳送兩種。傳輸層服務分成5種類型.基本可以滿足對傳送質量,傳送速度,傳送費用的各種不同需要.傳輸層的協議標准有以下幾種:
4.1 ISO8072:稱為"面向連接的傳輸服務定義"
4.2 ISO8072:稱為"面向連接的傳輸協議規范"
5.會話層
會話層提供的服務可使應用建立和維持會話,並能使會話獲得同步。會話層使用校驗點可使通信會話在通信失效時從校驗點繼續恢復通信。這種能力對於傳送大的文件極為重要。會話層,表示層,應用層構成開放系統的高3層,面對應用進程提供分布處理,對話管理,信息表示,恢復最後的差錯等.
會話層同樣要擔負應用進程服務要求,而運輸層不能完成的那部分工作,給運輸層功能差距以彌補.主要的功能是對話管理,數據流同步和重新同步。要完成這些功能,需要由大量的服務單元功能組合,已經制定的功能單元已有幾十種.現將會話層主要功能介紹如下.
5.1為會話實體間建立連接。為給兩個對等會話服務用戶建立一個會話連接,應該做如下幾項工作:
5.1.1將會話地址映射為運輸地址
5.1.2選擇需要的運輸服務質量參數(QOS)
5.1.3對會話參數進行協商
5.1.3識別各個會話連接
5.1.4傳送有限的透明用戶數據
5.2數據傳輸階段
這個階段是在兩個會話用戶之間實現有組織的,同步的數據傳輸.用戶數據單元為SSDU,而協議數據單元為SPDU.會話用戶之間的數據傳送過程是將SSDU轉變成SPDU進行的.
5.3連接釋放
連接釋放是通過"有序釋放","廢棄","有限量透明用戶數據傳送"等功能單元來釋放會話連接的.會話層標准為了使會話連接建立階段能進行功能協商,也為了便於其它國際標准參考和引用,定義了12種功能單元.各個系統可根據自身情況和需要,以核心功能服務單元為基礎,選配其他功能單元組成合理的會話服務子集.會話層的主要標准有"DIS8236:會話服務定義"和"DIS8237:會話協議規范".
6.表示層
表示層的作用之一是為異種機通信提供一種公共語言,以便能進行互操作。這種類型的服務之所以需要,是因為不同的計算機體系結構使用的數據表示法不同。例如,IBM主機使用EBCDIC編碼,而大部分PC機使用的是ASCII碼。在這種情況下,便需要會話層來完成這種轉換。
通過前面的介紹,我們可以看出,會話層以下5層完成了端到端的數據傳送,並且是可靠,無差錯的傳送.但是數據傳送只是手段而不是目的,最終是要實現對數據的使用.由於各種系統對數據的定義並不完全相同,最易明白的例子是鍵盤,其上的某些鍵的含義在許多系統中都有差異.這自然給利用其它系統的數據造成了障礙.表示層和應用層就擔負了消除這種障礙的任務.
對於用戶數據來說,可以從兩個側面來分析,一個是數據含義被稱為語義,另一個是數據的表示形式,稱做語法.像文字,圖形,聲音,文種,壓縮,加密等都屬於語法范疇.表示層設計了3類15種功能單位,其中上下文管理功能單位就是溝通用戶間的數據編碼規則,以便雙方有一致的數據形式,能夠互相認識.ISO表示層為服務,協議,文本通信符制定了DP8822,DP8823,DIS6937/2等一系列標准.
7.應用層
應用層向應用程序提供服務,這些服務按其向應用程序提供的特性分成組,並稱為服務元素。有些可為多種應用程序共同使用,有些則為較少的一類應用程序使用。應用層是開放系統的最高層,是直接為應用進程提供服務的。其作用是在實現多個系統應用進程相互通信的同時,完成一系列業務處理所需的服務.其服務元素分為兩類:公共應用服務元素CASE和特定應用服務元素SASE.CASE提供最基本的服務,它成為應用層中任何用戶和任何服務元素的用戶,主要為應用進程通信,分布系統實現提供基本的控制機制.特定服務SASE則要滿足一些特定服務,如文卷傳送,訪問管理,作業傳送,銀行事務,訂單輸入等.
這些將涉及到虛擬終端,作業傳送與操作,文卷傳送及訪問管理,遠程資料庫訪問,圖形核心系統,開放系統互連管理等等.應用層的標准有DP8649"公共應用服務元素",DP8650"公共應用服務元素用協議",文件傳送,訪問和管理服務及協議.
討論:OSI七層模型是一個理論模型,實際應用則千變萬化,因此更多把它作為分析、評判各種網路技術的依據;對大多數應用來說,只將它的協議族(即協議堆棧)與七層模型作大致的對應,看看實際用到的特定協議是屬於七層中某個子層,還是包括了上下多層的功能。
這樣分層的好處有:
1.使人們容易探討和理解協議的許多細節。
2.在各層間標准化介面,允許不同的產品只提供各層功能的一部分,(如路由器在一到三層),或者只提供協議功能的一部分。(如Win95中的Microsoft TCP/IP)
3. 創建更好集成的環境。
4. 減少復雜性,允許更容易編程改變或快速評估。
5. 用各層的headers和trailers排錯。
6.較低的層為較高的層提供服務。
7. 把復雜的網路劃分成為更容易管理的層。
Ⅱ 計算機網路體系結構的ISO/OSI網路體系結構
國際標准化組織ISO(International Standards Organization)在80年代提出的開放系統互聯參考模型OSI(Open System Interconnection),這個模型將計算機網路通信協議分為七層。這個模型是一個定義異構計算機連接標準的框架結構,其具有如下特點:
①網路中異構的每個節點均有相同的層次,相同層次具有相同的功能。
②同一節點內相鄰層次之間通過介面通信。
③相鄰層次間介面定義原語操作,由低層向高層提供服務。
④不同節點的相同層次之間的通信由該層次的協議管理,
⑤每層次完成對該層所定義的功能,修改本層次功能不影響其它層、
⑥僅在最低層進行直接數據傳送。
⑦定義的是抽象結構,並非具體實現的描述。
在OSI網路體系結構中、除了物理層之外,網路中數據的實際傳輸方向是垂直的。數據由用戶發送進程發送給應用層,向下經表示層、會話層等到達物理層,再經傳輸媒體傳到接收端,由接收端物理層接收,向上經數據鏈路層等到達應用層,再由用戶獲取。數據在由發送進程交給應用層時,由應用層加上該層有關控制和識別信息,再向下傳送,這一過程一直重復到物理層。在接收端信息向上傳遞時,各層的有關控制和識別信息被逐層剝去,最後數據送到接收進程。
現在一般在制定網路協議和標准時,都把ISO/OSI參考模型作為參照基準,並說明與該參照基準的對應關系。例如,在IEEE802區域網LAN標准中,只定義了物理層和數據鏈路層,並且增強了數據鏈路層的功能。在廣域網WAN協議中,CCITT的X.25建議包含了物理層、數據鏈路層和網路層等三層協議。一般來說,網路的低層協議決定了一個網路系統的傳輸特性,例如所採用的傳輸介質、拓撲結構及介質訪問控制方法等,這些通常由硬體來實現;網路的高層協議則提供了與網路硬體結構無關的,更加完善的網路服務和應用環境,這些通常是由網路操作系統來實現的。 物理層建立在物理通信介質的基礎上,作為系統和通信介質的介面,用來實現數據鏈路實體間透明的比特 (bit) 流傳輸。只有該層為真實物理通信,其它各層為虛擬通信。物理層實際上是設備之間的物理介面,物理層傳輸協議主要用於控制傳輸媒體。
(1)物理層的特性
物理層提供與通信介質的連接,提供為建立、維護和釋放物理鏈路所需的機械的、電氣的、功能的和規程的特性,提供在物理鏈路上傳輸非結構的位流以及故障檢測指示。物理層向上層提供位 (bit) 信息的正確傳送。
其中機械特性主要規定介面連接器的尺寸、芯數和芯的位置的安排、連線的根數等。電氣特性主要規定了每種信號的電平、信號的脈沖寬度、允許的數據傳輸速率和最大傳輸距離。功能特性規定了介面電路引腳的功能和作用。規程特性規定了介面電路信號發出的時序、應答關系和操作過程,例如,怎樣建立和拆除物理層連接,是全雙工還是半雙工等。
(2)物理層功能
為了實現數據鏈路實體之間比特流的透明傳輸,物理層應具有下述功能:
①物理連接的建立與拆除
當數據鏈路層請求在兩個數據鏈路實體之間建立物理連接時,物理層能夠立即為它們建立相應的物理連接。若兩個數據鏈路實體之間要經過若干中繼數據鏈路實體時,物理層還能夠對這些中繼數據鏈路實體進行互聯,以建立起一條有效的物理連接。當物理連接不再需要時,由物理層立即拆除。
②物理服務數據單元傳輸
物理層既可以採取同步傳輸方式,也可以採取非同步傳輸方式來傳輸物理服務數據單元。
③物理層管理
對物理層收發進行管理,如功能的激活 (何時發送和接收、異常情況處理等)、差錯控制 (傳輸中出現的奇偶錯和格式錯)等。 數據鏈路層為網路層相鄰實體間提供傳送數據的功能和過程;提供數據流鏈路控制;檢測和校正物理鏈路的差錯。物理層不考慮位流傳輸的結構,而數據鏈路層主要職責是控制相鄰系統之間的物理鏈路,傳送數據以幀為單位,規定字元編碼、信息格式,約定接收和發送過程,在一幀數據開頭和結尾附加特殊二進制編碼作為幀界識別符,以及發送端處理接收端送回的確認幀,保證數據幀傳輸和接收的正確性,以及發送和接收速度的匹配,流量控制等。
(1)數據鏈路層的目的
提供建立、維持和釋放數據鏈路連接以及傳輸數據鏈路服務數據單元所需的功能和過程的手段。數據鏈路連接是建立在物理連接基礎上的,在物理連接建立以後,進行數據鏈路連接的建立和數據鏈路連接的拆除。具體說,每次通信前後,雙方相互聯系以確認一次通信的開始和結束,在一次物理連接上可以進行多次通信。數據鏈路層檢測和校正在物理層出現的錯誤。
(2)數據鏈路層的功能和服務
數據鏈路層的主要功能是為網路層提供連接服務,並在數據鏈路連接上傳送數據鏈路協議數據單元L-PDU,一般將L-PDU稱為幀。數據鏈路層服務可分為以下三種:
①無應答、無連接服務。發送前不必建立數據鏈路連接,接收方也不做應答,出錯和數據丟失時也不做處理。這種服務質量低,適用於線路誤碼率很低以及傳送實時性要求高的 (例如語音類的)信息等。
②有應答、無連接服務。當發送主機的數據鏈路層要發送數據時,直接發送數據幀。目標主機接收數據鏈路的數據幀,並經校驗結果正確後,向源主機數據鏈路層返回應答幀;否則返回否定幀,發送端可以重發原數據幀。這種方式發送的第一個數據幀除傳送數據外,也起數據鏈路連接的作用。這種服務適用於一個節點的物理鏈路多或通信量小的情況,其實現和控制都較為簡單。
③面向連接的服務。該服務一次數據傳送分為三個階段:數據鏈路建立,數據幀傳送和數據鏈路的拆除。數據鏈路建立階段要求雙方的數據鏈路層作好傳送的准備;數據傳送階段是將網路層遞交的數據傳送到對方;數據鏈路拆除階段是當數據傳送結束時,拆除數據鏈路連接。這種服務的質量好,是ISO/OSI參考模型推薦的主要服務方式。
(3)數據鏈路數據單元
數據鏈路層與網路層交換數據格式為服務數據單元。數據鏈路服務數據單元,配上數據鏈路協議控制信息,形成數據鏈路協議數據單元。
數據鏈路層能夠從物理連接上傳輸的比特流中,識別出數據鏈路服務數據單元的開始和結束,以及識別出其中的每個欄位,實現正確的接收和控制。能按發送的順序傳輸到相鄰結點。
(4)數據鏈路層協議
數據鏈路層協議可分為面向字元的通信規程和面向比特的通信規程。
面向字元的通信規程是利用控制字元控制報文的傳輸。報文由報頭和正文兩部分組成。報頭用於傳輸控制,包括報文名稱、源地址、目標地址、發送日期以及標識報文開始和結束的控制字元。正文則為報文的具體內容。目標節點對收到的源節點發來的報文,進行檢查,若正確,則向源節點發送確認的字元信息;否則發送接收錯誤的字元信息。
面向比特的通信規程典型是以幀為傳送信息的單位,幀分為控制幀和信息幀。在信息幀的數據欄位 (即正文)中,數據為比特流。比特流用幀標志來劃分幀邊界,幀標志也可用作同步字元。 廣域網路一般都劃分為通信子網和資源子網,物理層、數據鏈路層和網路層組成通信子網,網路層是通信子網的最高層,完成對通信子網的運行控制。網路層和傳輸層的界面,既是層間的介面,又是通信子網和用戶主機組成的資源子網的界限,網路層利用本層和數據鏈路層、物理層兩層的功能向傳輸層提供服務。
數據鏈路層的任務是在相鄰兩個節點間實現透明的無差錯的幀級信息的傳送,而網路層則要在通信子網內把報文分組從源節點傳送到目標節點。在網路層的支持下,兩個終端系統的傳輸實體之間要進行通信,只需把要交換的數據交給它們的網路層便可實現。至於網路層如何利用數據鏈路層的資源來提供網路連接,對傳輸層是透明的。
網路層控制分組傳送操作,即路由選擇,擁塞控制、網路互連等功能,根據傳輸層的要求來選擇服務質量,向傳輸層報告未恢復的差錯。網路層傳輸的信息以報文分組為單位,它將來自源的報文轉換成包文,並經路徑選擇演算法確定路徑送往目的地。網路層協議用於實現這種傳送中涉及的中繼節點路由選擇、子網內的信息流量控制以及差錯處理等。
(1)網路層功能
網路層的主要功能是支持網路層的連接。網路層的具體功能如下:
①建立和拆除網路連接
在數據鏈路層提供的數據鏈路連接的基礎上,建立傳輸實體間或者若干個通信子網的網路連接。互連的子網可採用不同的子網協議。
②路徑選擇、中繼和多路復用
網際的路徑和中繼不同與網內的路徑和和中繼,網路層可以在傳輸實體的兩個網路地址之間選擇一條適當的路徑,或者在互連的子網之間選擇一條適當的路徑和中繼。並提供網路連接多路復用的數據鏈路連接,以提高數據鏈路連接的利用率。
③分組、組塊和流量控制
數據分組是指將較長的數據單元分割為一些相對較小的數據單元;數據組塊是指將一些相對較小的數據單元組成塊後一起傳輸。用以實現網路服務數據單元的有序傳輸,以及對網路連接上傳輸的網路服務數據單元進行有效的流量控制,以免發生信息堵塞現象。
④差錯的檢測與恢復
利用數據鏈路層的差錯報告,以及其他的差錯檢測能力來檢測經網路連接所傳輸的數據單元,檢測是否出現異常情況。並可以從出錯狀態中解脫出來。
(2)數據報和虛電路
網路層中提供兩種類型的網路服務,即無連接服務和面向連接的服務。它們又被稱為數據報服務和虛電路服務。
①數據報 (Datagram)服務
在數據報方式,網路層從傳輸層接受報文,拆分為報文分組,並且獨立地傳送,因此數據報格式中包含有源和目標節點的完整網路地址、服務要求和標識符。發送時,由於數據報每經過一個中繼節點時,都要根據當時情況按照一定的演算法為其選擇一條最佳的傳輸路徑,因此,數據報服務不能保證這些數據報按序到達目標節點,需要在接收節點根據標識符重新排序。
數據報方式對故障的適應性強,若某條鏈路發生故障,則數據報服務可以繞過這些故障路徑而另選擇其他路徑,把數據報傳送至目標節點。數據報方式易於平衡網路流量,因為中繼節點可為數據報選擇一條流量較少的路由,從而避開流量較高的路由。數據報傳輸不需建立連接,目標節點在收到數據報後,也不需發送確認,因而是一種開銷較小的通信方式。但是發方不能確切地知道對方是否准備好接收、是否正在忙碌,故數據報服務的可靠性不是很高。而且數據報發送每次都附加源和目標主機的全網名稱降低了信道利用率。
②虛電路 (Virtue Circuit) 服務
在虛電路傳輸方式下,在源主機與目標主機通信之前,必須為分組傳輸建立一條邏輯通道,稱為虛電路。為此,源節點先發送請求分組Call-Request,Call-Request包含了源和目標主機的完整網路地址。Call-Request途徑每一個通信網路節點時,都要記下為該分組分配的虛電路號,並且路由器為它選擇一條最佳傳輸路由發往下一個通信網路節點。當請求分組到達目標主機後,若它同意與源主機通信,沿著該虛電路的相反方向發送請求分組Call-Request給源節點,當在網路層為雙方建立起一條虛電路後,每個分組中不必再填上源和目標主機的全網地址,而只需標上虛電路號,即可以沿著固定的路由傳輸數據。當通信結束時,將該虛電路拆除。
虛電路服務能保證主機所發出的報文分組按序到達。由於在通信前雙方已進行過聯系,每發送完一定數量的分組後,對方也都給予了確認,故可靠性較高。
③路由選擇
網路層的主要功能是將分組從源節點經過選定的路由送到目標節點,分組途經多個通信網路節點造成多次轉發,存在路由選擇問題。路由選擇或稱路徑控制,是指網路中的節點根據通信網路的情況 (可用的數據鏈路、各條鏈路中的信息流量),按照一定的策略 (傳輸時間最短、傳輸路徑最短等)選擇一條可用的傳輸路由,把信息發往目標節點。
網路路由選擇演算法是網路層軟體的一部分,負責確定所收到的分組應傳送的路由。當網路內部採用無連接的數據報方式時,每傳送一個分組都要選擇一次路由。當網路層採用虛電路方式時,在建立呼叫連接時,選擇一次路徑,後繼的數據分組就沿著建立的虛電路路徑傳送,路徑選擇的頻度較低。
路由選擇演算法可分為靜態演算法和動態演算法。靜態路由演算法是指總是按照某種固定的規則來選擇路由,例如,擴散法、固定路由選擇法、隨機路由選擇法和流量控制選擇法。動態路由演算法是指根據拓撲結構以及通信量的變化來改變路由,例如,孤立路由選擇法、集中路由選擇法、分布路由選擇法、層次路由選擇法等 從傳輸層向上的會話層、表示層、應用層都屬於端一端的主機協議層。傳輸層是網路體系結構中最核心的一層,傳輸層將實際使用的通信子網與高層應用分開。從這層開始,各層通信全部是在源與目標主機上的各進程間進行的,通信雙方可能經過多個中間節點。傳輸層為源主機和目標主機之間提供性能可靠、價格合理的數據傳輸。具體實現上是在網路層的基礎上再增添一層軟體,使之能屏蔽掉各類通信子網的差異,向用戶提供一個通用介面,使用戶進程通過該介面,方便地使用網路資源並進行通信。
(1) 傳輸層功能
傳輸層獨立於所使用的物理網路,提供傳輸服務的建立、維護和連接拆除的功能;選擇網路層提供的最適合的服務。傳輸層接收會話層的數據,分成較小的信息單位,再送到網路層,實現兩傳輸層間數據的無差錯透明傳送。
傳輸層可以使源與目標主機之間以點對點的方式簡單地連接起來。真正實現端一端間可靠通信。傳輸層服務是通過服務原語提供給傳輸層用戶(可以是應用進程或者會話層協議),傳輸層用戶使用傳輸層服務是通過傳送服務埠TSAP實現的。當一個傳輸層用戶希望與遠端用戶建立連接時,通常定義傳輸服務訪問點TSAP。提供服務的進程在本機TSAP埠等待傳輸連接請求,當某一節點機的應用程序請求該服務時,向提供服務的節點機的TSAP埠發出傳輸連接請求,並表明自己的埠和網路地址。如果提供服務的進程同意,就向請求服務的節點機發確認連接,並對請求該服務的應用程序傳遞消息,應用程序收到消息後,釋放傳輸連接。
傳輸層提供面向連接和無連接兩種類型的服務。這兩種類型的服務和網路層的服務非常相似。傳輸層提供這兩種類型服務的原因是因為,用戶不能對通信子網加以控制,無法通過使用通信處理機來改善服務質量。傳輸層提供比網路層更可靠的端一端間數據傳輸,更完善的查錯糾錯功能。傳輸層之上的會話層、表示層、應用層都不包含任何數據傳送的功能。
(2)傳輸層協議類型
傳輸層協議和網路層提供的服務有關。網路層提供的服務於越完善,傳輸層協議就越簡單,網路層提供的服務越簡單,傳輸層協議就越復雜。傳輸層服務可分成五類:
0類:提供最簡單形式的傳送連接,提供數據流控制。
1類:提供最小開銷的基本傳輸連接,提供誤差恢復。
2類:提供多路復用,允許幾個傳輸連接多路復用一條鏈路。
3類:具有0類和1類的功能,提供重新同步和重建傳輸連接的功能。
4類:用於不可靠傳輸層連接,提供誤差檢測和恢復。
基本協議機制包括建立連接、數據傳送和拆除連接。傳輸連接涉及四種不同類型的標識:
用戶標識:即服務訪問點SAP,允許實體多路數據傳輸到多個用戶。
網路地址:標識傳輸層實體所在的站。
協議標識:當有多個不同類型的傳輸協議的實體,對網路服務標識出不同類型的協議。
連接標識:標識傳送實體,允許傳輸連接多路復用。 會話是指兩個用戶進程之間的一次完整通信。會話層提供不同系統間兩個進程建立、維護和結束會話連接的功能;提供交叉會話的管理功能,有一路交叉、兩路交叉和兩路同時會話的3種數據流方向控制模式。會話層是用戶連接到網路的介面。
(1)會話層的主要功能
會話層的目的是提供一個面向應用的連接服務。建立連接時,將會話地址映射為傳輸地址。會話連接和傳輸連接有三種對應關系,一個會話連接對應一個傳輸連接;多個會話連接建立在一個傳輸連接上;一個會話連接對應多個傳輸連接。
數據傳送時,可以進行會話的常規數據、加速數據、特權數據和能力數據的傳送。
會話釋放時,允許正常情況下的有序釋放;異常情況下由用戶發起的異常釋放和服務提供者發起的異常釋放。
(2)會話活動
會話服務用戶之間的交互對話可以劃分為不同的邏輯單元,每個邏輯單元稱為活動。每個活動完全獨立於它前後的其他活動,且每個邏輯單元的所有通信不允許分隔開。
會話活動由會話令牌來控制,保證會話有序進行。會話令牌分為四種,數據令牌、釋放令牌、次同步令牌和主同步令牌。令牌是互斥使用會話服務的手段。
會話用戶進程間的數據通信一般採用互動式的半雙工通信方式。由會話層給會話服務用戶提供數據令牌來控制常規數據的傳送,有數據令牌的會話服務用戶才可發送數據,另一方只能接收數據。當數據發完之後,就將數據令牌轉讓給對方,對方也可請求令牌。
(3)會話同步
在會話服務用戶組織的一個活動中,有時要傳送大量的信息,如將一個文件連續發送給對方,為了提高數據發送的效率,會話服務提供者允許會話用戶在傳送的數據中設置同步點。一個主同步點表示前一個對話單元的結束及下一個對話單元的開始。在一個對話單元內部或者說兩個主同步點之間可以設置次同步點,用於會話單元數據的結構化。當會話用戶持有數據令牌、次同步令牌和主同步令牌時就可在發送數據流中用相應的服務原語設置次同步點和主同步點。
一旦出現高層軟體錯誤或不符合協議的事件則發生會話中斷,這時會話實體可以從中斷處返回到一個已知的同步點繼續傳送,而不必從文件的開頭恢復會話。會話層定義了重傳功能,重傳是指在已正確應答對方後,在後期處理中發現出錯而請求的重傳,又稱為再同步。為了使發送端用戶能夠重傳,必須保存數據緩沖區中已發送的信息數據,將重新同步的范圍限制在一個對話單元之內,一般返回到前一個次同步點,最多返回到最近一個主同步點。 應用層作為用戶訪問網路的介面層,給應用進程提供了訪問OSI環境的手段。
應用進程藉助於應用實體 (AE)、實用協議和表示服務來交換信息,應用層的作用是在實現應用進程相互通信的同時,完成一系列業務處理所需的服務功能。當然這些服務功能與所處理的業務有關。
應用進程使用OSI定義和通信功能,這些通信功能是通過OSI參考模型各層實體來實現的。應用實體是應用進程利用OSI通信功能的唯一窗口。它按照應用實體間約定的通信協議 (應用協議),傳送應用進程的要求,並按照應用實體的要求在系統間傳送應用協議控制信息,有些功能可由表示層和表示層以下各層實現。
應用實體由一個用戶元素和一組應用服務元素組成。用戶元素是應用進程在應用實體內部,為完成其通信目的,需要使用的那些應用服務元素的處理單元。實際上,用戶元素向應用進程提供多種形式的應用服務調用,而每個用戶元素實現一種特定的應用服務使用方式。用戶元素屏蔽應用的多樣性和應用服務使用方式的多樣性,簡化了應用服務的實現。應用進程完全獨立於OSI環境,它通過用戶元素使用OSI服務。
應用服務元素可分為兩類,公共應用服務元素 (CASE)和特定應用服務元素 (SASE)。公共應用服務元素是用戶元素和特定應用服務元素公共使用的部分,提供通用的最基本的服務,它使不同系統的進程相互聯系並有效通信。它包括聯系控制元素、可靠傳輸服務元素、遠程操作服務元素等;特定應用服務元素提供滿足特定應用的服務。包括虛擬終端、文件傳輸和管理、遠程資料庫訪問、作業傳送等。對於應用進程和公共應用服務元素來說,用戶元素具有發送和接收能力。對特定服務元素來說,用戶元素是請求的發送者,也是響應的最終接收者。
Ⅲ OSI網路模型
OSI七層模型和TCP/IP五層模型
一、OSI參考模型
1、OSI的來源
OSI(Open System Interconnect),即開放式系統互聯。 一般都叫OSI參考模型,是ISO(國際標准化組織)組織在1985年研究的網路互連 模型。
ISO為了更好的使網路應用更為普及,推出了OSI參考模型。其含義就是推薦所有公司使用這個規范來控制網路。這樣所有公司都有相同的規范,就能互聯了。
2、OSI七層模型的劃分
OSI定義了網路互連的七層框架(物理層、數據鏈路層、網路層、傳輸層、會話層、表示層、應用層),即ISO開放互連系統參考模型 。如下圖。
每一層實現各自的功能和協議,並完成與相鄰層的介面通信。OSI的服務定義詳細說明了各層所提供的服務。某一層的服務就是該層及其下各層的一種能力,它通過介面提供給更高一層。各層所提供的服務與這些服務是怎麼實現的無關。
3、各層功能定義
這里我們只對OSI各層進行功能上的大概闡述,不詳細深究,因為每一層實際都是一個復雜的層。後面我也會根據個人方向展開部分層的深入學習。這里我們就大概了解一下。我們從最頂層——應用層 開始介紹。整個過程以公司A和公司B的一次商業報價單發送為例子進行講解。
<1> 應用層
OSI參考模型中最靠近用戶的一層,是為計算機用戶提供應用介面,也為用戶直接提供各種網路服務。我們常見應用層的網路服務協議有:HTTP,HTTPS,FTP,POP3、SMTP等。
實際公司A的老闆就是我們所述的用戶,而他要發送的商業報價單,就是應用層提供的一種網路服務,當然,老闆也可以選擇其他服務,比如說,發一份商業合同,發一份詢價單,等等。
<2> 表示層
表示層提供各種用於應用層數據的編碼和轉換功能,確保一個系統的應用層發送的數據能被另一個系統的應用層識別。如果必要,該層可提供一種標准表示形式,用於將計算機內部的多種數據 格式轉換成通信 中採用的標准表示形式。數據壓縮和加密也是表示層可提供的轉換功能之一。
由於公司A和公司B是不同國家的公司,他們之間的商定統一用英語作為交流的語言,所以此時表示層(公司的文秘),就是將應用層的傳遞信息轉翻譯成英語。同時為了防止別的公司看到,公司A的人也會對這份報價單做一些加密的處理。這就是表示的作用,將應用層的數據轉換翻譯等。
<3> 會話層
會話層就是負責建立、管理和終止表示層實體之間的通信會話。該層的通信由不同設備中的應用程序之間的服務請求和響應組成。
會話層的同事拿到表示層的同事轉換後資料,(會話層的同事類似公司的外聯部),會話層的同事那裡可能會掌握本公司與其他好多公司的聯系方式,這里公司就是實際傳遞過程中的實體。他們要管理本公司與外界好多公司的聯系會話。當接收到表示層的數據後,會話層將會建立並記錄本次會話,他首先要找到公司B的地址信息,然後將整份資料放進信封,並寫上地址和聯系方式。准備將資料寄出。等到確定公司B接收到此份報價單後,此次會話就算結束了,外聯部的同事就會終止此次會話。
<4> 傳輸層
傳輸層建立了主機端到端的鏈接,傳輸層的作用是為上層協議提供端到端的可靠和透明的數據傳輸服務,包括處理差錯控制和流量控制等問題。該層向高層屏蔽了下層數據通信的細節,使高層用戶看到的只是在兩個傳輸實體間的一條主機到主機的、可由用戶控制和設定的、可靠的數據通路 。我們通常說的,TCP UDP就是在這一層。埠號既是這里的「端」。
傳輸層就相當於公司中的負責快遞郵件收發的人,公司自己的投遞員,他們負責將上一層的要寄出的資料投遞到快遞公司或郵局。
<5> 網路層
本層通過IP定址來建立兩個節點之間的連接,為源端的運輸層送來的分組,選擇合適的路由和交換節點,正確無誤地按照地址傳送給目的端的運輸層。就是通常說的IP層。這一層就是我們經常說的IP協議層。IP協議是Internet的基礎。
網路層就相當於快遞公司龐大的快遞網路,全國不同的集散中心,比如說,從深圳發往北京的順豐快遞(陸運為例啊,空運好像直接就飛到北京了),首先要到順豐的深圳集散中心,從深圳集散中心再送到武漢集散中心,從武漢集散中心再寄到北京順義集散中心。這個每個集散中心,就相當於網路中的一個IP節點。
<6> 數據鏈路層
將比特組合成位元組,再將位元組組合成幀,使用鏈路層地址 (乙太網使用MAC地址)來訪問介質,並進行差錯檢測。
數據鏈路層又分為2個子層:邏輯鏈路控制子層(LLC)和媒體訪問控制子層(MAC)。
MAC子層處理CSMA/CD演算法、數據出錯校驗、成幀等;LLC子層定義了一些欄位使上次協議能共享數據鏈路層。 在實際使用中,LLC子層並非必需的。
這個沒找到合適的例子
<7> 物理層
實際最終信號的傳輸是通過物理層實現的。通過物理介質傳輸比特流。規定了電平、速度和電纜針腳。常用設備有(各種物理設備)集線器、中繼器、數據機、網線、雙絞線、同軸電纜。這些都是物理層的傳輸介質。
快遞寄送過程中的交通工具,就相當於我們的物理層,例如汽車,火車,飛機,船。
4、通信特點:對等通信
對等通信,為了使數據分組從源傳送到目的地,源端OSI模型的每一層都必須與目的端的對等層進行通信,這種通信方式稱為對等層通信。在每一層通信過程中,使用本層自己協議進行通信。
二、TCP/IP五層模型
TCP/IP五層協議和OSI的七層協議對應關系如下。
在每一層都工作著不同的設備,比如我們常用的交換機就工作在數據鏈路層的,一般的路由器是工作在網路層的。
在每一層實現的協議也各不同,即每一層的服務也不同.下圖列出了每層主要的協議。其中每層中具體的協議,我會在後面的逐一學習。
參考文獻:
https://blog.csdn.net/wdkirchhoff/article/details/43915825