1. 程式人生 > >OSI的7層網路結構圖和TCP/IP5層結構圖

OSI的7層網路結構圖和TCP/IP5層結構圖

TCP/IP層次模型共分為四層:應用層、傳輸層、網路層、資料鏈路層,物理層。

OSI層次模型共分為七層:應用層、表示層,會話層,傳輸層、網路層、資料鏈路層,物理層.

* 應用層—應用層是所有使用者所面向的應用程式的統稱。ICP/IP協議族在這一層面有著很多協議來支援不同的應用,如我們進行全球資訊網(WWW)訪問用到了HTTP協議、檔案傳輸用FTP協議、電子郵件傳送用SMTP、域名的解析用DNS協議、 遠端登入用Telnet協議等等,都是屬於TCP/IP應用層的.

* 傳輸層—這一層的的功能主要是提供應用程式間的通訊,TCP/IP協議族在這一層的協議有TCP和UDP。

* 網路層—是TCP/IP協議族中非常關鍵的一層,主要定義了IP地址格式,從而能夠使得不同應用型別的資料在Internet上通暢地傳輸,IP協議就是一個網路層協議。

* 網路介面層(資料鏈路層)—這是TCP/IP軟體的最低層,負責接收IP資料包並通過網路傳送之,或者從網路上接收物理幀,抽出IP資料報,交給IP層。

1.TCP/UDP協議

TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)協議屬於傳輸層協議。其中TCP提供IP環境下的資料可靠傳輸,它提供的服務包括資料流傳送、可靠性、有效流控、全雙工操作和多路複用。通過面向連線、端到端和可靠的資料包傳送。通俗說,它是事先為所傳送的資料開闢出連線好的通道,然後再進行資料傳送;而UDP則不為IP提供可靠性、流控或差錯恢復功能。一般來說,TCP對應的是可靠性要求高的應用,而UDP對應的則是可靠性要求低、傳輸經濟的應用。TCP支援的應用協議主要有:Telnet、FTP、SMTP等;UDP支援的應用層協議主要有:NFS(網路檔案系統)、SNMP(簡單網路管理協議)、DNS(主域名稱系統)、TFTP(通用檔案傳輸協議)等.

TCP/IP協議與低層的資料鏈路層和物理層無關,這也是TCP/IP的重要特點

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. 把複雜的網路劃分成為更容易管理的層。