計算機網絡體系結構劃分

網上瀏覽視頻,聽歌,聊天,計算機是怎麼在「你」、「我」之間傳送數據?瀏覽器

1、什麼是TCP/IP協議?

  首先咱們看下什麼是協議協議(Protocol)是爲進行網絡中的數據交換而創建的規則、標準或約定。用於不一樣系統中實體間的通訊。兩個實體要想通訊,必須有同一種語言,並且,對於通訊內容,怎樣通訊和什麼時候通訊,都必須遵照必定的規定,這些規定就是協議服務器

  在互聯網通訊中,最著名的就是TCP/IP兩個協議,可是咱們如今常說的TCP/IP協議並非單指着兩種協議,而是整個TCP/IP協議族微信

2、計算機網絡體系結構

  既然有了協議,那麼協議做用的實體是什麼呢? 換言之網絡中通訊的實體各不相同,應該怎樣各司其職?答案就是把現有網絡體系抽象,劃分爲不一樣層,每一層各自遵循相應的網絡協議,完成相應的功能。網絡

  就比如一個互聯網公司劃分了技術部、產品部、運營部、市場部、人力資源部等,各部門既相互協做各司其職,更好的完成完成公司的各項任務。計算機網絡

  現有計算機網絡體系結構有三種劃分形式:OSI七層協議TCP/IP四層協議結構五層協議結構cdn

計算機網絡體系結構

   OSI的七層協議體系結構概念清楚,理論也比較完整,可是它太複雜並且不實用視頻

  TCP/IP體系結構已經獲得了很是普遍使用,可是其中網際接口層與數據鏈路層、物理層並無什麼區別,因此,如今計算機網絡理論採起了折中方案,這也就是五層協議體系blog

五層體系結構

3、每層的做用

   到這裏,咱們已經清楚了網絡的分層結構,那麼每一層各自的職責和使用的協議是什麼呢?接口

1)應用層

   應用層協議定義的是應用進程間通訊和交互的規則。進程就是主機上正在運行的程序。好比咱們電腦上開着的QQ、微信等。不一樣的網絡應用須要有不一樣的應用層協議,好比瀏覽器使用的HTTP協議,支持電子郵件的SMTP協議,支持文件傳送的FTP協議等等。應用層交互的數據單元成爲報文(message)。進程

2)運輸層

   運輸層的任務就是負責向兩個主機中進程之間的通訊提供通用的數據傳輸服務。應用層進程產生的報文就是使用運輸層進行傳輸。運輸層是通用的,它不針對某個特定的網絡應用。多種應用是能夠同時使用同一個運輸層。一臺電腦上能夠同時運行着多個進程,多個應用層進程能夠同時使用同一個運輸層發送數據,同時,運輸層能夠把收到的信息分別交付給上面應用層進程。    運輸層主要使用的協議是TCPUDP:

  • 傳輸控制協議TCP(Transmission Control Protocol)—提供面向鏈接的,可靠的數據傳輸服務,數據運輸單元是報文段
  • 用戶數據報協議UDP(User Datagram Protocol)—提供無鏈接的、盡最大努力的數據傳輸服務,不保證數據傳輸的可靠性,數傳輸單位是用戶數據報

   那麼何時使用TCP,何時使用UDP呢?咱們先看下使用TCP和UDP的各類應用和應用協議:

應用 應用層協議 運輸層協議
域名轉換 DNS(域名系統) UDP
文件傳送 FTP(文件傳送協議) TCP
路由選擇協議 RIP(路由信息協議) UDP
IP地址配置 DHCP(動態主機配置協議) UDP
網絡管理 SNMP(簡單網絡管理協議) UDP
遠程網絡文件服務器 NFS(網絡文件協議) UDP
流式多媒體通訊 專用協議 UDP
遠程終端接入 TELNET(遠程終端協議) TCP
萬維網 HTTP(超文本協議) TCP
電子郵件 SMTP(簡單郵件傳送協議) TCP

   UDP在傳送數據以前不須要先創建鏈接,目的主機在收到UDP報文後,不須要給出任何確認。發送數據結束時也沒有任何鏈接可釋放,所以UDP減小了開銷和發送數據以前的時延。主機間不須要維持複雜的狀態鏈接。    同時UDP對應用程序交下來的報文,不作拆分,也不作合併,應用層交下來的報文多長,UDP加上必要的控制信息後就交付下一層。UDP也沒有擁塞控制,網絡擁塞不會使源主機發送速率下降。綜合來看,UDP適合實時性要求很高的應用,好比視頻通話,語音通話等。

應用層報文
  TCP則是面向鏈接的,TCP創建鏈接時須要 三次握手,斷開時須要 四次揮手,TCP保證數據的可靠性,保證數據的無差錯、不丟失、不重複,按順序到達。應用層和TCP交互的是一次一個數據塊,TCP把應用程序交下來的數據塊分割成了字節序列包裝成報文段。

TCP報文序列
  運輸層還有一個重要的概念— 端口(port),由於主機上的進程都是動態建立和撤銷的,把進程做爲通訊的最後終點是不可行的,因此要使用 端口標識一個進程來進行通訊。不管是TCP仍是UDP,在它們的首部中都會有 源端口目的端口這兩個字段。好比咱們熟悉的HTTP應用使用的80端口,FTP使用的21端口,TELNET使用的23端口,SMTP使用的25端口等等。

3)網絡層

   網絡層把運輸層產生的報文段用戶數據報封裝成IP數據報(packet)進行傳送。同時還負責選擇合適的路由,使源主機運輸層所傳下來報文段或包能經過網絡中的路由器找到目的主機。    網絡層向上提供的是簡單靈活的、無鏈接的、不可靠數據交付。也便是說在網絡上傳遞會有丟失、出錯、重複和順序錯亂。這也就是咱們常說的網絡丟包

網路層
   網絡層使用了咱們熟悉的 IP協議源主機目的主機IP地址被封裝到 IP首部內。

4)數據鏈路層

   數據鏈路層把網絡交下來的IP數據報組裝成幀,而後在兩個相鄰節點的鏈路上傳送。一般稱爲MAC幀,由於幀在傳送時使用的源地址目的地址都是計算機硬件地址,封裝在幀首部信息裏。

幀

5)物理層

  物理層將數據鏈路層交下來的的,按照比特流進行傳送,也便是二進制0和1形式進行傳送。

總結

在這裏插入圖片描述

  總結起來,計算機之間的數據傳輸就是數據經過各層之間的封裝與解封裝過程。就比如有一封信從最高層(源主機)向下傳,每通過一就包上一個新的信封,信封上寫好必要的,下一層要處理的信息(首部、尾部等)。包着多個信封的信件到達目的地(目標主機)以後,從第1層起,每層拆開一個信封后(按照固定協議),交給它的上一層。傳到最高層(應用層)後,收信人(進程)讀取內容。

相關文章
相關標籤/搜索