網路協議之TCP

gzc發表於2018-02-25

網路協議之TCP

為了實現計算機的通訊,我們為計算機定義了一系列的通訊規則,這些規則就是協議.(資料格式封裝+傳輸)

OSI七層網路模型

OSI 七層模型通過七個層次化的結構模型使不同的網格之間實現可靠的通訊。

將複雜的流程分解為幾個功能相對單一的子程式。

  • 應用層:提供網路與使用者應用軟體之間的介面。(網路服務與終端使用者的一個介面)
  • 表示層:提供格式化的表示和轉換資料服務,加密和壓縮。(資料的表示、安全、壓縮)
  • 會話層:提供包括訪問驗證和會話管理在內的建立和維護應用之間的通訊機制。(建立、管理、中止會話)
  • 傳輸層:提供建立,維護和取消傳輸連線功能,負責可靠的傳輸資料。(定義傳輸資料的協議埠號,流控和差錯校驗)
  • 網路層:處理網路間的路由,確保數及時傳送。(邏輯地址定址,不同網路間的路徑選擇)
  • 資料鏈路層:負責無錯傳輸資料、確認幀、發錯重傳等。(硬體實體地址定址、邏輯連線、位元流差錯控制)
  • 物理層:提供機械、電氣、功能和過程特性。(網路卡、網線、雙絞線、同軸電纜)

OSI是一個理想的模型,因此一般網路系統只涉及其中的幾層,很少有系統能夠具有所有的7層,並完全遵循它的規定。

在7層模型中,每一層都提供一個特殊的網路功能。從網路功能的角度觀察:下面4層(物理層、資料鏈路層、網路層和傳輸層)主要提供資料傳輸和交換功能,即以節點到節點之間的通訊為主;第4層作為上下兩部分的橋樑,是整個網路體系結構中最關鍵的部分;而上3層(會話層、表示層和應用層)則以提供使用者與應用程式之間的資訊和資料處理功能為主。簡言之,下4層主要完成通訊子網的功能,上3層主要完成資源子網的功能。

TCP/IP參考模型

TCP/IP是傳輸控制協議/網路互聯協議的簡稱,早期的TCP/IP模型是一個四層結構網路介面層、網際網路層、傳輸層、應用層.後期在使用過程中借鑑OSI七層參考模型,將網路介面層劃分為物理層、資料鏈路層

網路協議之TCP

TCP/IP協議是傳輸控制/網際網路協議.又稱為網路通訊協議.由網路層的IP協議和傳輸層TCP協議組成.是一個很大的協議集合.

網路介面層(物理層和資料鏈路層)

沒有特定的協議,支援所有的標準和專用協議.

網路介面層是TCP/IP協議的最底層.負責接收從上一層交來的資料,並且資料包通過底層的物理網路傳送出去,此層沒有特定的協議.

物理層:計算機傳遞資料的時候傳遞都是0和1的數字,而物理層關心的是用什麼訊號表示0,1是否可以雙向通訊,最初的連線如何建立及完成連線如何終止,物理層是為資料傳輸提供可靠的環境,

資料鏈路層:位於物理層和網際網路層之間,用來向網路層提供資料(將計算機傳遞過來的資料傳遞給主機)

MAC地址:在通訊過程中是用內建在網路卡內的地址來標識計算機身份的,MAC地址48位的二進位制組成,通常分為6段,用16進製表示(前3段為供應商標識,後3段對應網路卡的唯一編號)

網路層(網路IP協議)

位於網路介面層和傳輸層之間,用於把資料經過若干個中間節點傳送到目的主機,提供最基礎的資料傳輸服務(路由、選址)

選址: 交換機根據mac地址尋找對應的主機,需要ip確認計算機的位置

路由: 在多條網路道路間,選擇一條最短的路徑

傳輸層(TCP傳輸控制和UDP使用者資料包協議)

位於應用層和網路層之間,定義傳輸資料的協議和埠號

將資料進行分段打包傳輸,對每個資料包編號控制順序,運輸過程中丟、重發、丟棄處理,流量控制避免擁塞常用的有TCP、UDP

TCP: 傳輸控制協議.可靠,面向連線的協議,傳輸效率低).將資料進行分段打包傳輸,對每個資料包編號控制順序.運輸過程中丟失、重發、丟棄處理.

UDP: 使用者資料包協議,不可靠,無連線服務,傳輸效率高.傳送端不關心傳送的資料是否到達目標主機、資料是否出錯等,收到資料的主機也不會告訴 傳送方是否收到了資料,它的可靠性由上層協議來保障.在資料傳輸時能實現最小的開銷,如果程式想傳送很短的報文而對可靠性要求不高可以使用

應用層(HTTP、FTP、DNS)

在應用層要把各式各樣的資料如字母、數字、漢字、圖片等轉換成二進位制

資料傳輸過程:

從高到低

  1. 在應用層將所有資料轉為二進位制.
  2. 在傳輸層將二進位制資料進行分段處理,分割成小的資料段,併為某個分段後的資料封裝上TCP報文頭部.(TCP報文內部有一個欄位資訊標識上層協議或應用程式確保上層資料的正常通訊)
  3. 在網路層將傳輸層封裝的資料段封裝上IP頭部(IP頭部有IP地址.用於標識網路的邏輯地址)
  4. 資料鏈路層.為網路層封裝的資料新增上MAC地址(MAC地址就是固化在硬體裝置內部的全球唯一的實體地址。)
  5. 物理層將這些二進位制數字位元流轉換成電訊號在網路中傳輸

從低到高

  1. 物理層將電信訊號轉化為二進位制資料傳送到鏈路層
  2. 鏈路層中把MAC頭部處理掉.並將剩餘的傳入網路層
  3. 在網路層將IP頭部處理掉,並將剩餘的傳入傳輸層
  4. 在傳輸層將TCP頭部處理掉,將真實的資料傳入應用層

相關文章