淺談TCP/IP協議棧模型

TCP/IP協議棧參考模型


參考模型:應用層、傳輸層、網絡IP層、鏈路層

鏈路層:給網絡IP層提供訪問接口,可以傳輸IP數據包

IP層:將數據包進行分組併發往目的主機或者網絡,對分組進行排序,主要提供路由、網際互聯和擁塞控制,包含網際控制報文協議ICMP和地址識別協議ARP

傳輸層:主要提供兩種協議,傳輸控制協議TCP用戶數據報協議UDP

TCP協議是一個面向連接的,可靠的協議,它利用IP層的機制在不可靠的連接的基礎上實現可靠的連接,通過發送窗口控制,超時重發,分包等方法將一臺主機發出的字節流發往互聯網上的其它主機

UDP協議是一個不可靠的,無連接的協議,主要適用於不怕數據丟失,不需要對報文進行排序、流量控制的場景

應用層:基於TCP和UDP可實現很多的應用層協議,如基於TCP協議的文件傳輸協議FTP,Telnet協議,超文本鏈接HTTP協議,基於UDP協議有TFTP,網絡管理協議SNMP,域名服務DNS,網絡文件共享NFS和SAMBA等

 

鏈路層的主機到網絡層協議

協議格式

目的地址(6字節)

源地址(6字節)

類型(2字節)

數據(46-1500字節)

CRC(4字節)

   

0800

IP數據

IP數據包(46-1500字節)

 
   

0806

ARP請求

ARP請求應答(28字節)|PAD(18字節)

 
   

8035

ARP請求應答(28字節)|PAD(18字節)

 

說明:以太網用48bit來表示源MAC地址和目的MAC地址

類型字段後是數據,對於以太網,規定數據段的大小範圍是46個字節到1500個字節,不足的要用空字符填滿,如ARP協議的數據格式爲28字節,其後使用18個字節的佔位符填充,滿足最小長度

注意:數據段的長度有一個最大值MTU即最大傳輸單元,以太網爲1500,如果IP層有一個要傳送的數據長度比MTU大,在IP層數據要進行分片

CRC:CRC字段對幀內數據進行校驗,保證數據傳輸的準確性,通常由硬件實現

下面是ARP抓包結果

 

IP層協議

IP層協議提供如下作用:

數據傳送,將數據從一個主機傳輸到另一個主機

尋址,根據子網劃分和IP地址,發現正確的目的主機地址

路由選擇,選擇數據在互聯網上的傳送路徑

數據報文的分段,當傳送的數據大於MTU時,將數據進行分段發送和接收並組裝

協議格式

                        

說明:

標識和片偏移,在IP進行分片的時候,將標識複製的IP的頭部標識數據報文的來源,還要加上分片在原數據報文中的偏移,便於之後進行組裝,利用字段總長度和片偏移可以重新組裝IP的數據報文

生存時間(TTL),表示數據報文最多可以經過的路由器的數量,源主機發送數據時設置TTL(一般爲64或者64),經過一個路由器後TTL的值減一,當TTL爲0的時候,路由器丟棄此包,併發送一個ICMP報文通知源主機,TTL的出現是由於包的傳遞過程中可能會出現錯誤情況,引起包在Internet的路由器之間不斷循環,所以加入TTL限制報文經過路由器的個數。

協議類型,1->ICMP,2->IGMP,6->TCP,17->UDP

下面是IP層抓包結果

 

網際控制報文協議(ICMP)

ICMP協議作用:經常使用在傳遞差錯信息,時間,回顯,網絡信息等報文控制數據

相關命令:ping,tracert

ping

-t:ping指定的ip,直到停止

-i:生存時間

-n:要發送的請求回顯數

-w:等待每次回覆的超時時間(ms單位)

-4:強制IPV4

tracert

-w:等待每個回覆的超時時間

-4:強制IPV4

-d:不將地址解析成地址

下面爲ping抓包,請求與回顯應答

 

傳輸控制協議(TCP)

TCP的特點:

字節流的服務:傳輸的數據可視爲無結構的字節流

面向連接的服務:在數據進行傳輸之前,TCP協議需要先建立連接,之後的TCP報文在此連接的基礎上傳輸

可靠傳輸服務:基於校驗和應答重複機制保證傳輸的可靠性,接收方對接收到的報文進行校驗和計算,如果有誤,不發送確認應答,發送方在超時後會自動重發此報文

緩衝傳輸:緩衝傳輸可以延遲傳輸應用層的數據,允許將應用程序需要傳送的數據積攢到一定的數量才進行集中發送

全雙工傳輸:各主機TCP協議以全雙工的方式進行數據流交換

流量控制:TCP協議的滑動窗口機制,支持主機間的端到端的流量控制

下面是TCP的抓包

用戶數據報文協議(UDP)

UDP的特點:

無連接不可靠的服務:數據傳輸不需要建立連接,需要應用層自己構建順序機制和發送接收的確認機制

執行速度比TCP快:多用在系統資源受限的系統

下面是UDP的抓包

 

地址解析協議(ARP)

ARP作用:在局域網中必須知道網絡設備的硬件地址才能向目的主機發送數據,在Internet中數據傳輸的目的地址是IP地址,數據要能夠正確的傳輸,必須建立IP地址和硬件地址的對應關係,ARP就是建立這種關係的協議

在鏈路層已有抓包,這裏就不在重複抓包了

 

子網劃分:

等長劃分:如果一個子網地址塊是原來網段的1/2的n,子網掩碼就在原網段的基礎上後移n位

變長劃分:如果一個子網地址塊是原來網段的1/2,子網掩碼就在原網段的基礎上後移n位,不等長子網,子網掩碼也不同

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章