OSI七層模型學習筆記


1、簡介

  什么是OSI模型呢?

  OSI模型全名Open System InterConnect 即開放式系統互聯,是國際標准化組織(ISO)提出的一個試圖使各種計算機在世界范圍內互連為網絡的標准框架,簡稱OSI。

  計算機通訊需要用到必要的軟件支持,它就是計算機網絡參考模型(即計算機網絡軟件),最經典的就是我們所要講解的OSI模型。它是通過一個機器上的一個應用進程與另一個機器上的進程進行信息交互。

2、OSI七層模型解析

  OSI(Open System Interconnection,開放式系統互連)參考模型是一個邏輯上的定義,一個規范,它把網絡從邏輯上分為了7層。每一層都有相關、相對應的物理設備,比如路由器,交換機。建立七層模型的主要目的是為解決異種網絡互連時所遇到的兼容性問題。它的最大優點是將服務、接口和協議這三個概念明確地區分開來:服務說明某一層為上一層提供一些什么功能,接口說明上一層如何使用下層的服務,而協議涉及如何實現本層的服務;這樣各層之間具有很強的獨立性,互連網絡中各實體采用什么樣的協議是沒有限制的,只要向上提供相同的服務並且不改變相鄰層的接口就可以了。

【此圖來自http://www.cnblogs.com/fuchongjundream/p/3914236.html】

  2.1、物理層

  在OSI參考模型中,物理層(Physical Layer)是參考模型的最低層,也是OSI模型的第一層。

  物理層的主要功能是:利用傳輸介質為數據鏈路層提供物理連接,實現比特流的透明傳輸。實現相鄰計算機節點之間比特流的透明傳送,盡可能屏蔽掉具體傳輸介質和物理設備的差異。使其上面的數據鏈路層不必考慮網絡的具體傳輸介質是什么。“透明傳送比特流”表示經實際電路傳送后的比特流沒有發生變化。

  物理層的任務就是為它的上一層提供一個物理連接,以及它們的機械、電氣、功能和規程特性。如規定使用電纜和接頭的類型、傳送信號的電壓等。在這一層,數據還沒有被組織,僅作為原始的位流或電氣電壓處理,單位是bit。

  【我稱物理層為苦逼的搬運工:它的主要作用是傳輸比特流,外面來比特流就將它傳給數據鏈路層、數據鏈路層來比特流就將它傳到外邊去(比特流:就是由1、0轉化為電流強弱來進行傳輸,到達目的地后在轉化為1、0,也就是我們常說的模數轉換與數模轉換)

  2.2、數據鏈路層

  數據鏈路層(Datalink Layer)是OSI參考模型的第二層。

  它控制網絡層與物理層之間的通信,是一個橋梁。它的主要功能是如何在不可靠的物理線路上進行數據的可靠傳遞

  為了保證傳輸,從網絡層接收到的數據被分割成特定的可被物理層傳輸的幀

  幀是用來移動數據的結構包,它包括:原始數據;發送方、接收方的物理地址(確定了幀將發送到何處);糾錯和控制信息(確保幀無差錯到達)

  如果在傳送數據時,接收點檢測到所傳數據中有差錯,就要通知發送方重發這一幀。

  數據鏈路層的功能獨立於網絡和它的節點和所采用的物理層類型,它也不關心是否正在運行 Wo r d 、E x c e l 或使用I n t e r n e t 。有一些連接設備,如交換機,由於它們要對幀解碼並使用幀信息將數據發送到正確的接收方,所以它們是工作在數據鏈路層的。數據鏈路層(DataLinkLayer):在物理層提供比特流服務的基礎上,建立相鄰結點之間的數據鏈路,通過差錯控制提供數據幀(Frame)在信道上無差錯的傳輸,並進行各電路上的動作系列。數據鏈路層在不可靠的物理介質上提供可靠的傳輸。

  該層的作用包括:物理地址尋址、數據的成幀、流量控制、數據的檢錯、重發等。

  【我稱數據鏈路層為中間溝通人:主要任務橋梁(分割、傳遞、監控。。。)

  2.3、網絡層 

  網絡層(Network Layer)是OSI參考模型的第三層。(即NDIS

  其主要功能是將網絡地址翻譯成對應的物理地址,並決定如何將數據從發送方路由到接收方。

  網絡層通過綜合考慮發送優先權、網絡擁塞程度、服務質量以及可選路由的花費來決定從一個網絡中節點A 到另一個網絡中節點B 的最佳路徑。
  由於網絡層處理,並智能指導數據傳送,路由器連接網絡各段,所以路由器屬於網絡層。網絡負責在源機器和目標機器之間建立它們所使用的路由。這一層本身沒有任何錯誤檢測和修正機制,因此,網絡層必須依賴於端端之間的由DLL提供的可靠傳輸服務。
     簡單的來說就是在網絡中找到一條路徑,一段一段地傳送,由於數據鏈路層保證兩點之間的數據是正確的,因此源到目的地的數據也是正確的,這樣一台機器上的信息就能傳到另外一台了。但計算機網絡的最終用戶不是主機,而是主機上的某個應用進程。這個過程由傳輸層實現。
  【 想不到它的角色是啥了】

  2.4、傳輸層

  傳輸層(Transport Layer)是OSI參考模型的第四層。(即 TCP
  傳輸協議同時進行流量控制或是基於接收方可接收數據的快慢程度 規定適當的發送速率。除此之外,傳輸層按照網絡能處理的最大尺寸 將較長的數據包進行強制分割(標記整理成有序的包)
  例如,以太網無法接收大於1500字節(Byte)的數據包。發送方節點的傳輸層將數據分割成較小的數據片,同時對每一數據片安排一序列號,以便數據到達接收方節點的傳輸層時,能以正確的順序重組。該過程即被稱為排序。工作在傳輸層的一種服務是TCP/IP協議套中的TCP(傳輸控制協議),另一項傳輸層服務是IPX/SPX協議集的SPX(序列包交換)。
      網絡層交給傳輸層后,傳輸層必需標識了服務是哪個進程請求的,要交給誰的問題。我把東西交你時,希望通知你一下,就是會話層的工作。
  【 我稱運輸層為項目總指揮:主要任務為將大項目分割並標識為有序的小項目、規定項目完成速率。。。

  2.5、會話層

  會話層(Session Layer)是OSI參考模型的第五層。(即SPI

  負責在網絡中的兩節點之間建立、維持和終止通信。

   會話層的功能包括:建立通信鏈接,保持會話過程通信鏈接的暢通,同步兩個節點之間的對話,決定通信是否被中斷以及通信中斷時決定從何處重新發送。

  你可能常常聽到有人把會話層稱作網絡通信的“交通警察”。當通過撥號向你的 I S P (因特網服務提供商)請求連接到因特網時,I S P 服務器上的會話層向你與你的P C 客戶機上的會話層進行協商連接。若你的電話線偶然從牆上插孔脫落時,你終端機上的會話層將檢測到連接中斷並重新發起連接。會話層通過決定節點通信的優先級和通信時間的長短來設置通信期限。

  SPI是服務提供者接口,管理用戶間的會話和對話;控制用戶間的連接和掛斷連接;報告上層錯誤

  兩個人對話,我和你說話,你耳朵聽到了也能理解,但如果對方是外國人,他聽到了我的聲音,他理解了嗎?他不能理解。那對於計算機網絡來言,客戶機發了一個請求給服務器,服務器應該能理解這個請求到底是什么,所以接下去的問題是你怎么樣理解?這個理解有兩個層次,我講中國話,他只能懂英文,那么這當中應該有一個翻譯。把漢語翻譯成英語,這樣的工作就交給下一層表示層來做了。

  2.6、表示層

  表示層(Presentation Layer)是OSI參考模型中的第六層。(API)

  是應用程序和網絡之間的翻譯官,在表示層,數據將按照網絡能理解的方案進行格式化;這種格式化也因所使用網絡的類型不同而不同。表示層管理數據的解密與加密。

  如系統口令的處理。例如:在Internet上查詢你銀行賬戶,使用的即是一種安全連接。你的賬戶數據在發送前被加密,在網絡的另一端,表示將對接收到的數據解密。除此之外,表示層協議還對圖片和文件格式信息進行解碼和編碼。

  它為應用程序提供接口。API負責SPI與應用程序之間的通信;定義不同體系間不同數據格式;具體說明獨立結構的數據傳輸格式;編碼和解碼數據;加密和解密數據;壓縮和解壓縮數據。 

  2.7、應用層

  應用層(Application Layer)是OSI參考模型中的最高層,即第七層。

  它為應用程序提供服務以保證通信,但不是進行通信的應用程序本身。應用層直接和應用程序接口並提供常見的網絡應用服務。應用層也向表示層發出請求。是開放系統的最高層,是直接為應用進程提供服務的。其作用是在實現多個系統應用進程相互通信的同時,完成一系列業務處理所需的服務。其服務元素分為兩類:公共應用服務元素CASE和特定應用服務元素SASE。CASE提供最基本的服務,它成為應用層中任何用戶和任何服務元素的用戶,主要為應用進程通信,分布系統實現提供基本的控制機制;特定服務SASE則要滿足一些特定服務,如文卷傳送,訪問管理,作業傳送,銀行事務,訂單輸入等。這些將涉及到虛擬終端,作業傳送與操作,文卷傳送及訪問管理,遠程數據庫訪問,圖形核心系統,開放系統互連管理等等。

  小結:

 

  • 物理層:主要定義物理設備標准,如網線的接口類型、光纖的接口類型、各種傳輸介質的傳輸速率等。它的主要作用是傳輸比特流(就是由1、0轉化為電流強弱來進行傳輸,到達目的地后在轉化為1、0,也就是我們常說的模數轉換與數模轉換)。這一層的數據叫做比特。   
  • 數據鏈路層:主要將從物理層接收的數據進行MAC地址(網卡的地址)的封裝與解封裝。常把這一層的數據叫做幀。在這一層工作的設備是交換機,數據通過交換機來傳輸。 
  • 網絡層:主要將從下層接收到的數據進行IP地址(例192.168.0.1)的封裝與解封裝。在這一層工作的設備是路由器,常把這一層的數據叫做數據包。 
  • 傳輸層:定義了一些傳輸數據的協議和端口號(WWW端口80等),如:TCP(傳輸控制協議,傳輸效率低,可靠性強,用於傳輸可靠性要求高,數據量大的數據),UDP(用戶數據報協議,與TCP特性恰恰相反,用於傳輸可靠性要求不高,數據量小的數據,如QQ聊天數據就是通過這種方式傳輸的)。 主要是將從下層接收的數據進行分段進行傳輸,到達目的地址后在進行重組。常常把這一層數據叫做段。   
  • 會話層:通過傳輸層(端口號:傳輸端口與接收端口)建立數據傳輸的通路。主要在你的系統之間發起會話或或者接受會話請求(設備之間需要互相認識可以是IP也可以是MAC或者是主機名) 
  • 表示層:主要是進行對接收的數據進行解釋、加密與解密、壓縮與解壓縮等(也就是把計算機能夠識別的東西轉換成人能夠能識別的東西(如圖片、聲音等))   
  • 應用層 主要是一些終端的應用,比如說FTP(各種文件下載),WEB(IE瀏覽),QQ之類的(你就把它理解成我們在電腦屏幕上可以看到的東西.就 是終端應用)。

3、發郵件例子

  機A向主機B發送數據,該數據的產生肯定是一個應用層的程序產生的,如IE瀏覽器或者Email的客戶端等等。這些程序在應用層需要有不同的接口,IE是瀏覽網頁的使用HTTP協議,那么HTTP應用層為瀏覽網頁的軟件留下的網絡接口。Email客戶端使用smtp和pop3 協議來收發電子郵件,所以smtp和pop3就是應用層為電子郵件的軟件留下的接口。

  實例:

1、應用層

  我們假設A向B發送了一封電子郵件,因此主機A會使用smtp協議來處理該數據,即在數據前加上SMTP的標記,以便使對端在收到后知道使用什么軟件來處理該數據。

2、表示層

  應用層將數據處理完成后會交給表示層,表示層會進行必要的格式轉換,使用一種通信雙方都能識別的編碼來處理該數據。

  同時將處理數據的方法添加在數據中,以便對端知道怎樣處理數據。

3、會話層

  表示層處理完成后,將數據交給會話層,會話層會在A主機和B主機之間建立一條只用於傳輸該數據的會話通道,並監視它的連接狀態,直到數據同步完成,斷開該會話。

  注意:A和B之間可以同時有多條會話通道出現,但每一條都和其他的不能混淆。會話層的作用就是有辦法來區別不同的會話通道。

4、傳輸層

  會話通道建立后,為了保證數據傳輸中的可靠性,就需要在數據傳輸的構成當中對數據進行不要的處理,如分段,編號,差錯校驗,確認、重傳等等。

  這些方法的實現必須依賴通信雙方的控制,傳輸層的作用就是在通信雙方之間利用上面的會話通道傳輸控制信息,完成數據的可靠傳輸。

5、網絡層

  網絡層是實際傳輸數據的層次,在網絡層中必須要將傳輸層中處理完成的數據再次封裝,添加上自己的地址信息和對端接受者的地址信息,並且要在網絡中找到一條由自己到接收者最好的路徑。然后按照最佳路徑發送到網絡中。

6、數據鏈路層

  數據鏈路層將網絡層的數據再次進行封裝,該層會添加能唯一標識每台設備的地址信息(MAC地址),是這個數據在相鄰的兩個設備之間一段一段的傳輸。最終到達目的地。

7、物理層

  物理層將數據鏈路層的數據轉換成電流傳輸的物理線路。

  通過物理線路傳遞的B主機后,B主機會將電信號轉換成數據鏈路層的數據,數據鏈路層再去掉本層的硬件地址信息和其他的對端添加的內容上交給網絡層,網絡層同樣去掉對端網絡層添加的內容后上交給自己的上層。最終數據到達B主機的應用層,應用層看到數據使用smtp協議封裝,就知道應用電子郵件的軟件來處理。

4、參考文獻

1. 《通訊原理之OSI七層參考模型(一)

2. 《OSI七層模型簡介

3. 《計算機網絡--OSI模型中的通信過程

 

(以上是自己的一些見解,若有不足或者錯誤的地方請各位指出)

 作者:那一葉隨風   http://www.cnblogs.com/phpstudy2015-6/

 原文地址:http://www.cnblogs.com/phpstudy2015-6/p/6801886.html 

 聲明:只代表本人在工作學習中某一時間內總結的觀點或結論。轉載時請在文章頁面明顯位置給出原文鏈接

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM