通信原理之OSI七層參考模型(一)


     1、什么是計算機網絡

      談計算機通信原理當然離不開計算機網絡,那么什么是計算機網絡。官方定義:計算機網絡是由兩台或兩台以上的計算機通過網絡設備連接起來所組成的一個系統,在這個系統中計算機與計算機之間可以進行數據通信、數據共享及協同完成某些數據處理的工作。

      其實說白了就是,計算機組成的網絡或者說在這個網絡系統中有很多計算機,這里的計算機不僅僅指我們的電腦,其實指的是所有在網絡中的網絡設備,比如手機,平板電腦等。

      2、計算機之間如何進行通信

      有了計算機等設備,也就得考慮如何連接起來他們,這就是他們之間該如何通信的問題。對計算機來說,就是一個硬件設備,如何讓計算機與計算機連接起來,必需需要軟件的支撐。那么支持計算機通訊的軟件是什么呢?就是計算機網絡參考模型。這個計算機網絡參考模型就是計算機網絡軟件。最經典的當然是國際化標准的OSI(Open System InterConnect  開放式系統互聯)參考模型。它是通過一個機器上的一個應用進程與另一個機器上的進程進行信息交互。下面我們了解下這個模型。

       2.1、OSI七層模型

       上面我們已經知道,計算機和計算機之間是通過兩個軟件進程連接起來的。但想讓這兩個進程之間進程通信,還需解決很多問題。OSI參考模型解決此問題是,首先就是分層,簡單的來說,這兩個進程之間的通信是通過七大部分來完成,也就是OSI七層參考模型。每一層都完成網絡當中的一個獨立任務。

       下面是七層模型圖:

      這張圖看起來確實復雜,讓我們分解來看,主機A和主機B都的進程都分七層處理,下面首先了解下各層什么作用。

      (1)物理層

      在OSI參考模型中,物理層(Physical Layer)是參考模型的最低層,也是OSI模型的第一層。物理層的主要功能是:利用傳輸介質為數據鏈路層提供物理連接,實現比特流的透明傳輸。實現相鄰計算機節點之間比特流的透明傳送,盡可能屏蔽掉具體傳輸介質和物理設備的差異。使其上面的數據鏈路層不必考慮網絡的具體傳輸介質是什么。“透明傳送比特流”表示經實際電路傳送后的比特流沒有發生變化。物理層的任務就是為它的上一層提供一個物理連接,以及它們的機械、電氣、功能和規程特性。如規定使用電纜和接頭的類型、傳送信號的電壓等。在這一層,數據還沒有被組織,僅作為原始的位流或電氣電壓處理,單位是bit。理解着確實難,不過總之一句話,就是把最初的電流什么,為上一層提供物理連接。保證電流的透明化等。

      (2)數據鏈路層

       Datalink Layer,OSI參考模型的第二層,它控制網絡成和物理成的通信,是一個橋梁, 其主要功能是如何在不可靠的物理線路上進行數據的可靠傳遞。說白了就是保證傳輸的可靠性。為了保證傳輸,從網絡層接收到的數據被分割成特定的可被物理層傳輸的幀。幀是用來移動數據的結構包,它不僅包括原始數據,還包括發送方和接收方的物理地址以及檢錯和控制信息。其中的地址確定了幀將發送到何處,而糾錯和控制信息則確保幀無差錯到達。 如果在傳送數據時,接收點檢測到所傳數據中有差錯,就要通知發送方重發這一幀。
數據鏈路層的功能獨立於網絡和它的節點和所采用的物理層類型,也不關心是否正在運行Word 、Excel或使用Internet 。有一些連接設備,如交換機,由於它們要對幀解碼並使用幀信息將數據發送到正確的接收方,所以它們是工作在數據鏈路層的。數據鏈路層在物理層提供比特流服務的基礎上,建立相鄰結點之間的數據鏈路,通過差錯控制提供數據幀在信道上無差錯的傳輸,並進行各電路上的動作系列。數據鏈路層在不可靠的物理介質上提供可靠的傳輸。該層的作用包括:物理地址尋址、數據的成幀、流量控制、數據的檢錯、重發等。感覺挺難懂的,簡單總結為保證數據傳輸的可靠性,還有糾錯和重發機制等。
      (3)網絡層
      Network Layer,OSI參考模型的第三層。其主要功能是將網絡地址翻譯成對應的物理地址,並決定如何將數據從發送方路由到接收方。
網絡層通過綜合考慮發送優先權、網絡擁塞程度、服務質量以及可選路由的花費來決定從一個網絡中節點A 到另一個網絡中節點B 的最佳路徑。由於網絡層處理,並智能指導數據傳送,路由器連接網絡各段,所以路由器屬於網絡層。網絡負責在源機器和目標機器之間建立它們所使用的路由。這一層本身沒有任何錯誤檢測和修正機制,因此,網絡層必須依賴於端端之間的由DLL提供的可靠傳輸服務。
     簡單的來說就是在網絡中找到一條路徑,一段一段地傳送,由於數據鏈路層保證兩點之間的數據是正確的,因此源到目的地的數據也是正確的,這樣一台機器上的信息就能傳到另外一台了。但計算機網絡的最終用戶不是主機,而是主機上的某個應用進程。這個過程由傳輸層實現。
     (4)傳輸層
     Transport Layer,OSI參考模型的第四層。傳輸協議同時進行流量控制或是基於接收方可接收數據的快慢程度規定適當的發送速率。除此之外,傳輸層按照網絡能處理的最大尺寸將較長的數據包進行強制分割。例如,以太網無法接收大於1500字節(Byte)的數據包。發送方節點的傳輸層將數據分割成較小的數據片,同時對每一數據片安排一序列號,以便數據到達接收方節點的傳輸層時,能以正確的順序重組。該過程即被稱為排序。工作在傳輸層的一種服務是TCP/IP協議套中的TCP(傳輸控制協議),另一項傳輸層服務是IPX/SPX協議集的SPX(序列包交換)。
      網絡層交給傳輸層后,傳輸層必需標識了服務是哪個進程請求的,要交給誰的問題。我把東西交你時,希望通知你一下,就是會話層的工作。
     (5)會話層
      Session Layer,OSI參考模型的第五層。負責在網絡中的兩節點之間建立、維持和終止通信。 會話層的功能包括:建立通信鏈接,保持會話過程通信鏈接的暢通,同步兩個節點之間的對話,決定通信是否被中斷以及通信中斷時決定從何處重新發送。
      通知有人給你打好招呼,以便進行通話。就像現在我和你說話,你耳朵聽到了也能理解,但如果下面是外國人,他聽到了我的聲音,他理解了嗎?他不能理解。那對於計算機網絡來言,客戶機發了一個請求給服務器,服務器應該能理解這個請求到底是什么,所以接下去的問題是你怎么樣理解?這個理解有兩個層次,我講中國話,他只能懂英文,那么這當中應該有一個翻譯。把漢語翻譯成英語,這樣的工作就交給下一層表示層來做了。
      (6)表示層
       Presentation Layer,OSI參考模型中的第六層。應用程序和網絡之間的翻譯官,在表示層,數據將按照網絡能理解的方案進行格式化;這種格式化也因所使用網絡的類型不同而不同。表示層管理數據的解密與加密,如系統口令的處理。例如:在Internet上查詢你銀行賬戶,使用的即是一種安全連接。你的賬戶數據在發送前被加密,在網絡的另一端,表示將對接收到的數據解密。除此之外,表示層協議還對圖片和文件格式信息進行解碼和編碼。
      (7)應用層
      Application Layer,OSI參考模型中的最高層,即第七層。應用層也稱為應用實體(AE),它由若干個特定應用服務元素(SASE)和一個或多個公共應用服務元素(CASE)組成。每個SASE提供特定的應用服務,例如文件運輸訪問和管理(FTAM)、電子文電處理(MHS)、虛擬終端協議(VAP)等。CASE提供一組公共的應用服務,例如聯系控制服務元素(ACSE)、可靠運輸服務元素(RTSE)和遠程操作服務元素(ROSE)等。主要負責對軟件提供接口以使程序能使用網絡服務。術語“應用層”並不是指運行在網絡上的某個特別應用程序 ,應用層提供的服務包括文件傳輸、文件管理以及電子郵件的信息處理。
     舉個例子來理解:我這邊說的是普通話,對面對方只能動英文,對方通過表示層把我的話翻譯成了普通話,但未必對面就某些特殊漢子,詞組的意思。那么就需要專業知識和領域知識,學習后才能聽懂。應用層就是干這個的。對於計算機來講,每一個應用都有它特定的表達方式。
總結下:
1.物理層:主要定義物理設備標准,如網線的接口類型、光纖的接口類型、各種傳輸介質的傳輸速率等。它的主要作用是傳輸比特流(就是由1、0轉化為電流強弱來進行傳輸,到達目的地后再轉化為1、0,也就是我們常說的數模轉換與模數轉換)。這一層的數據叫做比特。
2.數據鏈路層:定義了如何讓格式化數據以進行傳輸,以及如何讓控制對物理介質的訪問。這一層通常還提供錯誤檢測和糾正,以確保數據的可靠傳輸。
3.網絡層:在位於不同地理位置的網絡中的兩個主機系統之間提供連接和路徑選擇。Internet的發展使得從世界各站點訪問信息的用戶數大大增加,而網絡層正是管理這種連接的層。
4.傳輸層:定義了一些傳輸數據的協議和端口號(WWW端口80等),如:TCP(傳輸控制協議,傳輸效率低,可靠性強,用於傳輸可靠性要求高,數據量大的數據),UDP(用戶數據報協議,與TCP特性恰恰相反,用於傳輸可靠性要求不高,數據量小的數據,如QQ聊天數據就是通過這種方式傳輸的)。 主要是將從下層接收的數據進行分段和傳輸,到達目的地址后再進行重組。常常把這一層數據叫做段。
5.會話層:通過傳輸層(端口號:傳輸端口與接收端口)建立數據傳輸的通路。主要在你的系統之間發起會話或者接受會話請求(設備之間需要互相認識可以是IP也可以是MAC或者是主機名)。
6.表示層:可確保一個系統的應用層所發送的信息可以被另一個系統的應用層讀取。例如,PC程序與另一台計算機進行通信,其中一台計算機使用擴展二一十進制交換嗎(EBCDIC),而另一台則使用美國信息交換標准碼(ASCII)來表示相同的字符。如有必要,表示層會通過使用一種通格式來實現多種數據格式之間的轉換。
7.應用層:是最靠近用戶的OSI層。這一層為用戶的應用程序(例如電子郵件、文件傳輸和終端仿真)提供網絡服務。
 

      


免責聲明!

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



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