1. 程式人生 > >TCP/IP協議簇與OSI參考模型

TCP/IP協議簇與OSI參考模型

OSI TCP/IP
應用層 應用層
表示層 -----
會話層 -----
傳輸層 主機到主機層
網路層 Internet層
資料鏈路層 網路介面層
物理層 -----

OSI開放式系統互聯參考模型

  • 物理層:OSI七層參考模型裡最底層,包括了多種與物理介質相關的協議,用於支撐TCP/IP通道,這一層主要傳送位元流。

在本層介紹一下物理層的傳輸介質------雙絞線(RJ-45水晶頭)
568A線序: 綠白 綠 橙白 藍 藍白 橙 棕白 棕
568B線序:橙白 橙 綠白 藍 藍白 綠 棕白 棕
平行線:也稱為直通線,線序相同,用於連線不同層裝置 (例如:主機連線交換機
;交換機連線路由器)
交叉線:線序不同,用於連線同層裝置 (例如:主機與主機;路由器與路由器;交換機與交換機;主機與路由器)
全反線:console 線,控制線,線序相反;用於主機對裝置進行配置時使用

  • 資料鏈路層:OSI七層參考模型的第二層,包含了控制物理層的協議,傳送資料幀。

資料鏈路層的具體工作是接收來自物理層的位流形式的資料,並封裝成幀,傳送到上一層;同樣,也將來自上層的資料幀,拆裝為位流形式的資料轉發到物理層;並且,還負責處理接收端發回的確認幀的資訊,以便提供可靠的資料傳輸。

資料鏈路層中還包含兩個子層:
邏輯鏈路控制層(LLC):對兩個節點中的鏈路進行初始化,提供FCS校驗,防止連線中斷,保證資料可靠的傳輸,為網路層提供服務。
介質訪問控制層(MAC):負責定址,解決介質爭用(多使用者訪問同一個使用者,CSMA載波偵聽多路訪問協議,CSMA/CD帶衝突檢測的載波偵聽多路訪問協議,這裡不做具體解釋),檢驗包含在每個資料幀中的地址資訊。

  • 網路層:OSI七層參考模型的第三層,將資料鏈路層的資料幀組成資料包,負責IP地址的編址和定址,建立節點之間連線,是通訊子網是最高層,資料鏈路層負責通訊同一子網的,網路層則負責通訊不同子網的。傳送資料包。

IP包頭


版本(欄位4位)——標識了資料包的IP版本號。0100表示IP版本4,0110表示IP版本6。
報頭長度(欄位4位)——表示32位字長的IP報頭長度。IP報頭最小長度為20個八位組,最大可拓展60個八位組。
服務型別(欄位8位)——用來指定特殊的資料包處理方式。實際上劃分為兩個欄位優先權和TOS。優先權設定資料包優先順序。TOS允許按照時延、吞吐量、可靠性和開銷選擇傳輸服務。
總長度(欄位16位)——資料包總長度欄位的長度為16位,以八位組為單位計,其中包括IP報頭。接收者可用IP資料包總長度減去IP報頭長度,就可以確定資料包資料有效載荷的大小。
識別符號(欄位16位)——通常與標記欄位和分段偏移欄位一起用於資料包的分段。
標記(欄位3位)——第1位沒有使用,第2位是不分段(DF)位:當DF位為1表示不分段若資料包超過MTU(最大傳輸單元)路由器丟棄並向源點發送錯誤訊息,這一功能用於測試MTU值,第三位表示還有更多分段(MF)位:當路由器對資料包進行分段時除了最後一分段的MF位設定為0,其他所有分段設定為1,以便接收者直到收到MF位為0的分段為止。
分段偏移(欄位13位)——以8個八位組為單位用於指明分段起始點相對於點的偏移量。使接收者按照正確的順序重組資料包。
生存時間(欄位8位)——當資料包沿逐個路由器被傳輸時,每臺路由器都會降低TTL的數值。當TTL值減為0時,路由器丟棄資料包,並向源點發送錯誤資訊。
協議(欄位8位)——給出了主機到主機層或傳輸層協議的“地址”或協議號,協議欄位指定了資料包中資訊的型別。
報頭校驗和(欄位16位)——針對IP報頭的糾錯欄位。校驗和不計算被封裝的資料,UDP、TCP、ICMP都有各自的校驗和。由於TTL值每經過一臺路由器都會減小,所以每臺路由器都必須重新計算校驗和。
源地址和目標地址(欄位32位)——分別表示傳送者資料包源點和目的地的IP地址。
可選項(欄位長度可變)——可選項欄位主要用於測試。常用的可選項有:鬆散源路由選擇、嚴格路由源選擇、記錄路由、時間戳。
填充(補足可選項32位)——通過在可選項欄位後面新增0來補充32位,保證報頭長度是32位的倍數。

  • 傳輸層:OSI七層參考模型的第四層,向用戶提供可靠的端到端的差錯和流量控制,保證報文的正確傳輸。提供會話層和網路層之間的傳輸服務,這種服務從會話層獲得資料,並在必要時,對資料進行分割。然後,傳輸層將資料傳遞到網路層,並確保資料能正確無誤地傳送到網路層。

通過埠號區分上層不同的服務如:
Telnet ---- TCP 23
HTTP—TCP 80
HTTPS----TCP 433
SSH----TCP 22
RIP----UDP 520
傳輸層的兩種傳輸協議:TCP(傳輸控制協議)是一種面向連線的可靠的協議;UDP(使用者資料報文協議)是一種非面向連線的不可靠的協議
可靠傳輸的四種可靠機制:確認、重傳、排序、流控
TCP連線的三次握手以及斷開的四次揮手
在這裡插入圖片描述
第一次握手:客戶端傳送一個TCP的SYN標誌位置1的包指明客戶打算連線的伺服器的埠,以及初始序號X,儲存在包頭的序列號(Sequence Number)欄位裡。
第二次握手:伺服器發回確認包(ACK)應答。即SYN標誌位和ACK標誌位均為1同時,將確認序號(Acknowledgement Number)設定為客戶的Seq加1.即X+1。
第三次握手:客戶端再次傳送確認包(ACK) SYN標誌位為0,ACK標誌位為1.並且把伺服器發來ACK的序號欄位Seq+1,放在確定欄位中傳送給對方.
在這裡插入圖片描述
第一次揮手:主動方傳送一個FIN,用來關閉主動方到被動方的資料傳送
第二次揮手:被動方收到這個FIN,它發回一個ACK,確認序號為收到的序號加1。和SYN一樣,一個FIN將佔用一個序號
第三次揮手:被動方關閉與主動方的連線,傳送一個FIN給主動方
第四次揮手:主動方發回ACK報文確認,並將確認序號設定為收到序號

  • 會話層:OSI七層參考模型的第五層,應用程式和網路之間的介面,提供包括訪問驗證和會話管理在內的建立和維護應用之間通訊的機制。
  • 表示層:OSI七層參考模型的第六層,解決語法表示問題,將資料語言編碼轉換為二進位制語言。同時,為了減少資料傳輸量,進行資料的壓縮和解壓縮,為了安全提供加密和解密等工作。
  • 應用層:OSI七層參考模型的最高層,是計算機使用者以及應用程式和網路之間的介面,面向使用者提供服務,負責完成網路中應用程式與網路作業系統之間的聯絡,建立與結束使用者之間的聯絡,並完成網路使用者提出的各種網路服務及應用所需的監督、管理和服務等各種協議。簡單來講就是將使用者提供的抽象語言進行編碼的轉化,為表示層做前提。

TCP/IP協議簇

  • 網路介面層:用於協作IP資料在已有網路介質上的傳輸協議。提供TCP/IP協議的資料結構和物理硬體之間的介面。

在本層簡單介紹一下地址解析協議:
AARP:正向ARP—使用廣播機制,通過對端的IP地址獲取對端MAC地址
RARP:反向ARP—通過對端的MAC地址來獲取對端的IP地址
FARP:無故ARP----地址衝突檢測使用正向ARP請求本地的IP地址

  • Internet層:與OSI的網路層相對應,主要負責定義資料包格式和地址格式,為經過邏輯網路路徑的資料進行路由選擇。

  • 主機到主機層:與OSI的傳輸層相對應,它指定了控制Internet層的協議,這就像資料鏈路層控制物理層一樣。主機到主機層和資料鏈路層都定義了流控和差錯控制機制。二者不同之處在於,資料鏈路層協議強調控制資料鏈路上的流量,即連線兩臺裝置的物理介質上的流量;而傳輸層控制邏輯鏈路上的流量,即兩臺裝置的端到端連線,這種邏輯連線可能跨越一連串資料鏈路。

  • 應用層:與OSI的會話層、表示層、應用層相對應。雖然一些路由選擇協議使用這一層,例如邊界閘道器協議(BGP)、路由選擇資訊協議(RIP)等,但是應用層最常用的服務是向用戶應用提供訪問網路的介面。

OSI模型和TCP/IP模型的區別:
1、層數不同、TCP/IP的應用層處理OSI模型中第五、第六、第七層的功能。
2、OSI的三層支援多種網路層協議,而TCP/IP僅僅支援IPv4和IPv6網路協議。
3、OSI是先有模型後有協議、TCP/IP是先有協議後有模型
4、TCP/IP支援跨層封裝(同一網段內用於溝通時,為更快的解讀資料,進行跳層封裝;除ICMP以外)