OSI七層網絡模型


為了完成不同計算機或網絡或架構之間的成功通信,國際標准化組織(ISO,1984)提出了OSI七層模型。

OSI(Open System Interconnect),即開放式系統互聯。OSI網絡模型分為七層:應用層,表示層,會話層,傳輸層,網絡層,數據鏈路層,物理層。

應用層

應用層由網絡應用程序使用(使用互聯網的計算機應用)。在應用層中包含幾十種協議,這些協議可以活躍在一個應用層上,為各種網絡服務提供基礎功能,比如:文件傳輸(FTP)、網上沖浪(HTTP/HTTPS)、電子郵件(SMTP)、虛擬終端(Telnet)等

(就是應用軟件使用的協議 ,這些協議主要是規定應用軟件如何去進行通信的。 )

表示層

表示層從應用層接收數據,這些數據主要是以字符和數字的形式出現。表示層對這些數據進行以下處理:

翻譯:表示層將數據轉換成機器可以理解的二進制格式,例如將ASCII碼轉換成EBCDIC碼
壓縮:在數據傳輸之前,表示層為了減少用於表示原始數據的比特數,會對傳輸的數據進行壓縮。壓縮可以分為有損壓縮和無損壓縮。
數據壓縮可以減少原始數據所需的存儲空間,存儲空間的減少可以是數據傳輸的時間減少。數據壓縮對實時視頻、音頻的傳輸有很大的幫助
加密/解密:為保證敏感數據的安全,使用SSL(Secure Socket Layer, 安全套接字)協議進行加密/解密。

會話層

會話層對兩個會話進程的建立、維持和結束進行協調和管理,對數據的交換進行管理。

會話層使用 API(應用程序編程接口) 為不同的應用提供服務。例如:NetBIOS(網絡基本輸入輸出系統)允許不同計算機上的應用程序相互通信。

在會話或者連接建立連接之前,服務器執行身份驗證服務,對身份進行驗證。在用戶信息被發送到服務器之后,計算機和服務器之間的連接被建立。

  • 如果身份驗證成功,將檢查用戶授權,用來確認對文件的訪問權限;
  • 如果身份驗證失敗,用戶則會被告知無權訪問此頁面。

會話層會對下載的文件進行跟蹤。例如網頁包含的文本和圖像等,這些文本和圖像作為單獨的文件存儲在Web服務器上。當在Web瀏覽器中請求網站時,Web瀏覽器將打開與Web服務器之間的單獨對話,來下載這些文本和圖像文件。
這些文件以數據包的形式接收,因為一個文件會被分為多個數據包發送,會話層確定數據包是屬於哪個文件。
會話層還確定這些數據包將去往何處,在這個例子中,接收到的數據包將發送到Web瀏覽器。因此會話層對會話管理很有幫助。

網絡瀏覽器會執行應用層,表示層,會話層的所有功能,這也是TCP/IP五層模型出現的原因

傳輸層

傳輸層提供了主機應用程序進程之間的端到端的服務,負責將數據可靠地傳送到相應的端口(端到端)。

(不同的應用程序使用不同計算機的端口號,同樣的應用程序需要使用一樣的端口號才能正常通信)

同時,傳輸層通過分段、流量控制、差錯控制來保證通信的可靠性,另外還提供面向有鏈接和無連接的傳輸。

  • 分段

    傳輸層將從會話層接收到的數據划分為較小的數據單元 – – 段(segment)。每個段包含一個源端口號、目的端口號和序列號。這些信息保證引導每個段傳向正確的應用程序,並保證段可以在接收端正確的重新組合成文件

  • 流量控制

    用於保證傳輸的最大速率。例如,一個移動設備連接到一個服務器,服務器的傳輸速率為100Mbps,而移動設備處理數據的速率是10Mbps。當移動設備從服務器下載數據,在剛開始,服務器以50Mbps的速度發送數據,高於移動設備的傳輸速度。此時移動設備可以通過傳輸層告知服務器端將數據傳輸速率降到10Mbps,這樣就不會造成數據丟失。再例如,服務器傳輸數據的速率是5Mbps,移動設備就會告知服務器將傳輸速率提高至10Mbps,從而保證移動設備的性能。

  • 差錯控制

    如果傳輸過程中有數據損壞或者丟失,傳輸層會使用自動重傳重新傳輸丟失或損壞的數據。傳輸層在每一個數據段中添加一個校驗和(checksum),用來找出所接收端接收到的錯誤的數據段。

  • 面向連接傳輸和無連接傳輸

    傳輸層主要包含兩種協議,TCP(Transmission Control Protocol,傳輸控制協議)和UDP (User Datagram Protocol,用戶數據報協議)。傳輸層提供兩種服務:面向連接的傳輸和面向無連接的傳輸。

    面向連接的傳輸通過TCP實現,面向無連接的傳輸通過UDP來傳輸。

    UDP的傳輸速度比TCP要快,因為UDP協議不會反饋信息是否正確的傳輸,而TCP會給出反饋,因此在數據傳輸出現錯誤時,使用TCP會重新傳輸數據。
    使用UDP時,是否接收到所有的數據並不重要。例如,流媒體電影、歌曲、游戲、IP語音、TFTP、DNS等。
    TCP應用於數據必須完全傳遞的場合。例如萬維網、電子郵件、FTP等

網絡層

傳輸層將數據段傳輸給網絡層,網絡層將這些數據從一個網絡的計算機傳輸到另一個網絡的計算機。網絡層的數據單元稱為數據包。

網絡層的功能是邏輯尋址、路由和路徑確定。

  • 邏輯尋址

    在網絡層進行的IP尋址稱為邏輯尋址。網絡中的每台計算機都有一個唯一的IP地址。網絡層將發送方和接收方的IP地址添加到數據段,形成IP數據包。添加IP地址是為了確保每個數據包可以到達正確的目的地。

  • 路由

    路由是將數據包從源端移動到目的端的方法,這些方法基於IPv4和IPv6。

    假設計算機A和網絡1相連,計算機B和網絡2相連。當計算機B提出訪問FaceBook的請求時,FaceBook的服務器將做出回應,將數據包傳輸到計算機B。在網絡中,每台設備的IP地址是獨一無二的,因此這兩台計算機都有一個唯一的地址。
    Facebook服務器的網絡層已經將發送方和接收方的IP地址添加到數據包中,假設掩碼使用255.255.255.0,表明IP地址的前三個組合標識網絡的地址(Network2的地址),最后一個組合代表主機(計算機2)在當前網絡中的地址。基於IP地址和掩碼,實現數據在網絡中和終端之間的傳輸。

  • 路徑選擇

    計算機可以通過多種方式連接到Internet服務器,從源到目標數據傳遞的最佳可能路徑稱為“路徑選擇”。網絡層設備使用的協議有OSPF、BGP(邊界網關協議)、IS-IS(中間系統到中間系統),通過這些協議來確定數據傳遞的最佳可能路徑。

數據鏈路層

數據鏈路層主要是負責同一個子網內的通信的。例如A、B連接在同一台二層交換機,就屬於同一個子網,那么數據幀的通信室是不需要通過網絡層的(即三層交換機或者路由器),直接在這台二層交換機就過去了。

我們可以將網絡划分成許多子網,我們為每個子網分配一個全網唯一的ID,叫做IP地址,如果主機A想要與主機B通信,我們只需實現如何根據主機B的IP找到主機B所在的子網,剩下的工作交給這個子網去處理就行了。這樣就避免了中間設備存儲過多的主機信息,而且也實現了單播而非廣播的模式。這就是網絡層所做的事情。

數據鏈路層從網絡層接收數據包,數據包包含發送方和接收方的IP地址。

尋址方式有兩種:邏輯尋址和物理尋址。

邏輯尋址在網絡層完成,發送方IP地址和接收方IP地址加入數據段形成數據包。

物理尋址在數據鏈路層完成,發送方和接收方的MAC地址加入數據包中形成數據幀。

MAC地址是由計算機制造商嵌入到計算機網卡的十二位字母數字號碼,每台計算機擁有的MAC地址是唯一的。數據鏈路層中的數據單元稱為“幀”。數據鏈路層作為軟件嵌入到計算機的網卡中,並提供經由本地介質將數據從一台計算機傳輸到另一台計算機的方法。本地介質包括銅線,光纖或無線信號。

數據鏈路層擁有兩個基本功能 :它允許上層使用幀之類的技術訪問通訊介質以及控制數據如何通過傳輸介質投放和接收(介質訪問控制、錯誤監測)

  • 介質訪問

    考慮兩台不同的主機,一台筆記本電腦和一台台式機,這兩台主機連接到不同的網絡,使用網絡層IP協議來相互通信。在本例中,台式機通過網線連接到路由器R1,筆記本電腦通過無線網連接到路由器R2,路由器R1和R2通過一些方式連接到其他地方。

    現在台式機向筆記本電腦發送一些數據。首先數據通過連接台式機和路由器R1的傳輸介質,數據鏈路層向每個IP數據包的頭和尾增添一些信息形成數據幀。路由器R1接收到這個數據幀之后,會將幀解封取得其中的IP數據包,通過數據包中的IP地址找到發送的路徑之后,再次添加信息封裝成為數據幀,通過最優的路徑發送到路由器R2。R2接收到數據幀后解封裝,通過IP數據包的IP地址找到請求數據的筆記本電腦后,將數據包再次封裝成為無線數據鏈路幀發送。在筆記本電腦接收到數據幀之后,解封裝幀取得IP數據包發送到網絡層,最終應用層將接收到數據之后,通過應用層協議將接收到的數據顯示在計算機的屏幕上。

    因此,網絡層或更高級的層能夠在數據鏈路層的幫助下傳輸數據,即數據鏈路層向OSI模型中的更高層級提供了對介質的訪問。

  • 控制介質上數據的接收與投放

    用於獲取介質中的數據幀的技術稱為介質訪問控制。連接在公共傳輸介質上的設備可能有多個,如果同一介質上連接的多個設備同時發送數據,這些數據可能會發生沖突,導致產生一個沒有人可以理解的無用信息。為了避免發生沖突,數據鏈路層會監視傳輸介質何時是空閑的,這時設備就可以向接收方傳遞信息,這就是所謂的CSMA(載波偵聽多路訪問)技術。因此,數據鏈路層以及介質訪問方法控制着數據的傳輸。

    數據幀中包含着用於檢測信息是否正確的檢驗位,導致錯誤發生的原因是因為傳輸介質的某些限制(電磁干擾等等)。

物理層

需要傳輸的數據從應用層分割形成的數據段,到傳輸層的數據包,到數據鏈路層的數據幀,再到現在的物理層,是一種二進制序列。

物理層可以將這些二進制序列轉換成信號並在傳輸介質上傳輸。這些信號可以是銅纜上的電信號,光纜上的光信號或空氣中的無線電信號,信號的類型取決於設備之間的傳輸介質的類型。

在接收端,物理層將接收到的信號,轉換成為二進制信號,向數據鏈路層傳輸。之后數據鏈路層將數據幀解封裝,將數據包向上傳遞,最終傳遞到應用層,在顯示器上顯示接收到信息

原文鏈接:https://blog.csdn.net/YangJK86/article/details/113951251


免責聲明!

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



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