OSI網絡參考模型


OSI七層模型

OSI模型(Open System Interconnection Model)是一個由ISO提出得到概念模型,試圖提供一個使各種不同的的計算機和網絡在世界范圍內實現互聯的標准框架。

分層結構

OSI參考模型采用分層結構,如圖所示。 不得不說,這張圖真的超經典呀。一張圖搞定你你不懂的一切。
OSI七層模型
主要分為以下七層(從下至上):物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層。

各層功能

  • 物理層
    簡單的說,物理層(Physical Layer)確保原始的數據可在各種物理媒體上傳輸。在這一層上面規定了激活、維持、關閉通信端點之間的機械特性、電氣特性、功能特性以及過程特性,為上層協議提供了一個傳輸數據的物理媒體。這一層傳輸的是bit流。
  • 數據鏈路層
    數據鏈路層(Data Link Layer)在不可靠的物理介質上提供可靠的傳輸。該層的作用包括:物理地址尋址、數據的成幀、流量控制、數據的檢錯、重發等。這一層中將bit流封裝成frame幀。
  • 網絡層
    網絡層(Network Layer)負責對子網間的數據包進行路由選擇。此外,網絡層還可以實現擁塞控制、網際互連等功能。在這一層,數據的單位稱為數據包(packet)。
  • 傳輸層
    傳輸層是第一個端到端,即主機到主機的層次。傳輸層負責將上層數據分段並提供端到端的、可靠的或不可靠的傳輸。此外,傳輸層還要處理端到端的差錯控制和流量控制問題。在這一層,數據的單位稱為數據段(segment)。
  • 會話層
    這一層管理主機之間的會話進程,即負責建立、管理、終止進程之間的會話。會話層還利用在數據中插入校驗點來實現數據的同步,訪問驗證和會話管理在內的建立和維護應用之間通信的機制。如服務器驗證用戶登錄便是由會話層完成的。使通信會話在通信失效時從校驗點繼續恢復通信。
  • 表示層
    這一層主要解決用戶信息的語法表示問題。它將欲交換的數據從適合於某一用戶的抽象語法,轉換為適合於OSI系統內部使用的傳送語法。即提供格式化的表示和轉換數據服務。數據的壓縮和解壓縮, 加密和解密等工作都由表示層負責。
  • 應用層
    這一層為操作系統或網絡應用程序提供訪問網絡服務的接口。

各層傳輸協議、傳輸單元、主要功能性設備比較

名稱 傳輸協議 主要功能設備/接口 主要功能設備/接口
物理層 IEEE 802.1A、IEEE 802.2 bit-flow 比特流 光纖、雙絞線、中繼器和集線器 & RJ-45(網線接口)
數據鏈路層 ARP、MAC、 FDDI、Ethernet、Arpanet、PPP、PDN frame 幀 網橋、二層交換機
網絡層 IP、ICMP、ARP、RARP 數據包(packet) 路由器、三層交換機
傳輸層 TCP、UDP Segment/Datagram 四層交換機
會話層 SMTP、DNS 報文 QoS
表示層 Telnet、SNMP 報文 -
應用層 FTP、TFTP、Telnet、HTTP、DNS 報文 -

關於協議你應該知道這些

以上通過圖表、文字向大家闡述了七層模型每一層的具體功能及其相關協議,但知道了這些還不夠,你還要知道以下這些。

TCP/UDP

  • TCP/UDP是什么?
    TCP — Transmission Control Protocol,傳輸控制協議。
    UDP — User Data Protocol,用戶數據報協議。
  • TCP/UDP的區別(優缺點)?
    (1)、TCP是面向連接的,UDP是面向無連接的。TCP在通信之前必須通過三次握手機制與對方建立連接,而UDP通信不必與對方建立連接,不管對方的狀態就直接把數據發送給對方
    (2)、TCP連接過程耗時,UDP不耗時
    (3)、TCP連接過程中出現的延時增加了被攻擊的可能,安全性不高,而UDP不需要連接,安全性較高
    (4)、TCP是可靠的,保證數據傳輸的正確性,不易丟包;UDP是不可靠的,易丟包
    (5)、tcp傳輸速率較慢,實時性差,udp傳輸速率較快。tcp建立連接需要耗時,並且tcp首部信息太多,每次傳輸的有用信息較少,實時性差。
    (6)、tcp是流模式,udp是數據包模式。tcp只要不超過緩沖區的大小就可以連續發送數據到緩沖區上,接收端只要緩沖區上有數據就可以讀取,可以一次讀取多個數據包,而udp一次只能讀取一個數據包,數據包之間獨立
  • TCP三次握手過程

STEP 1: 主機A通過向主機B發送一個含有同步序列號的標志位的數據段給主機B,向主機B請求建立連接,通過這個數據段,主機A告訴主機B兩件事:我想要和你通信;你可以用哪個序列號作為起始數據段來回應我。
STEP 2: 主機B收到主機A的請求后,用一個帶有確認應答(ACK)和同步序列號(SYN)標志位的數據段響應主機A,也告訴主機A兩件事:我已經收到你的請求了,你可以傳輸數據了;你要用哪佧序列號作為起始數據段來回應我。
STEP 3: 主機A收到這個數據段后,再發送一個確認應答,確認已收到主機B的數據段:”我已收到回復,我現在要開始傳輸實際數據了。這樣3次握手就完成了,主機A和主機B就可以傳輸數據了。

  • 注意
    此時需要注意的是,TCP建立連接要進行3次握手,而斷開連接要進行4次。
  • 名詞解釋

ACK: TCP報頭的控制位之一,對數據進行確認,確認由目的端發出,用它來告訴發送端這個序列號之前的數據段都收到了。比如,確認號為X,則表示前X-1個數據段都收到了,只有當ACK=1時,確認號才有效,當ACK=0時,確認號無效,這時會要求重傳數據,保證數據的完整性。
SYN: 同步序列號,TCP建立連接時將這個位置1。
FIN : 發送端完成發送任務位,當TCP完成數據傳輸需要斷開時,提出斷開連接的一方將這位置1。

  • TCP可靠性的四大手段
    (1)、順序編號: tcp在傳輸文件的時候,會將文件拆分為多個tcp數據包,每個裝滿的數據包大小大約在1k左右,tcp協議為保證可靠傳輸,會將這些數據包順序編號
    (2)、確認機制: 當數據包成功的被發送方發送給接收方,接收方會根據tcp協議反饋給發送方一個成功接收的ACK信號,信號中包含了當前包的序號
    (3)、超時重傳: 當發送方發送數據包給接收方時,會為每一個數據包設置一個定時器,當在設定的時間內,發送方仍沒有收到接收方的ACK信號,會再次發送該數據包,直到收到接收方的ACK信號或者連接已斷開
    (4)、校驗信息: tcp首部校驗信息較多,udp首部校驗信息較少。

    上文部分協議簡單講

  • IEEE 802.1A、IEEE 802.2
    IEEE是英文Institute of Electrical and Electronics Engineers的簡稱,其中文譯名是電氣和電子工程師協會。IEEE 802規范定義了網卡如何訪問傳輸介質(如光纜、雙絞線、無線等),以及如何在傳輸介質上傳輸數據的方法,還定義了傳輸信息的網絡設備之間連接建立、維護和拆除的途徑。遵循IEEE 802標准的產品包括網卡、橋接器、路由器以及其他一些用來建立局域網絡的組件。
    IEEE802.1A —— 局域網體系結構
    IEEE802.2 ——- 邏輯鏈路控制(LLC)
  • FDDI
    光纖分布式數據接口(Fiber Distributed Data Interface)
  • PPP
    點對點協議(Point to Point Protocol),為在點對點連接上傳輸多協議數據包提供了一個標准方法。
  • IP
    互聯網協議(Internet Protocol),為計算機網絡相互連接進行通信而設計的協議。任何廠家生產的計算機系統,只要遵守IP協議就可以與因特網互連互通。IP地址具有唯一性,根據用戶性質的不同,可以分為5類。
  • ICMP
    控制報文協議(Internet Control Message Protocol)。TCP/IP設計了ICMP協議,當某個網關發現傳輸錯誤時,立即向信源主機發送ICMP報文,報告出錯信息,讓信源主機采取相應處理措施,它是一種差錯和控制報文協議,不僅用於傳輸差錯報文,還傳輸控制報文。
  • ARP/RARP
    ARP (Address Resolution Protocol) 地址解析協議
    RARP (Reverse Address Resolution Protocol) 反向地址解析協議
  • SMTP
    簡單郵件傳輸協議(Simple Mail Transfer Protocol),它是一組用於由源地址到目的地址傳送郵件的規則,由它來控制信件的中轉方式。SMTP協議屬於TCP/IP協議簇,它幫助每台計算機在發送或中轉信件時找到下一個目的地。通過SMTP協議所指定的服務器,就可以把E-mail寄到收信人的服務器上了。
  • SNMP
    簡單網絡管理協議(Simple Network Management Protocol ),該協議能夠支持網絡管理系統,用以監測連接到網絡上的設備是否有任何引起管理上關注的情況。
  • DNS
    域名系統(Domain Name System),因特網上作為域名和IP地址相互映射的一個分布式數據庫,能夠使用戶更方便的訪問互聯網,而不用去記住能夠被機器直接讀取的IP數串。通過主機名,最終得到該主機名對應的IP地址的過程叫做域名解析(或主機名解析)。DNS協議運行在UDP協議之上,使用端口號53。
  • FTP
    文本傳輸協議(File Transfer Protocol),用於Internet上的控制文件的雙向傳輸。同時,它也是一個應用程序Application)。基於不同的操作系統有不同的FTP應用程序,而所有這些應用程序都遵守該協議以傳輸文件。在FTP的使用當中,用戶經常“下載”(Download)和“上載”(Upload)。“下載”文件就是從遠程主機拷貝文件至自己的計算機上;“上載”文件就是將文件從自己的計算機中拷貝至遠程主機上。
  • HTTP
    超文本傳輸協議(HyperText Transfer Protocol),是互聯網上應用最為廣泛的一種網絡協議。所有的WWW文件都必須遵守這個標准。它可以使瀏覽器更加高效,使網絡傳輸減少。它不僅保證計算機正確快速地傳輸超文本文檔,還確定傳輸文檔中的哪一部分,以及哪部分內容首先顯示(如文本先於圖形)等。HTTP是一個應用層協議,由請求和響應構成,是一個標准的客戶端服務器模型,是一個無狀態的協議。


免責聲明!

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



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