在今天的分層網路模型中,各層之間的資料單元傳遞有著各種各樣的特點。本文討論的是最常見的跨層次資料單元傳遞:ip資料報的交付。
首先,先明確幾個概念。首先確定一下網路,今天的網路是乙個時髦的高頻詞彙。本文中的網路遵循以往的範例,指乙個二層交換網路,或者乙個區域網。在網路層,也就是第三層側資料單元叫做ip幀,在資料鏈路層,也就是第二層的資料單元稱為乙太網資料幀。事實上,ip協議和乙太網協議分別是今天第三層和第二層具有統治力的主流協議,因此使用兩者討論不失一般性。其次引入交付的概念:交付(delivery)是將ip資料報交付給乙太網協議成幀並在乙太網上**的過程。這個過程最關鍵的一點就是尋找ip資料報在本段鏈路上的目的mac位址。尋找這個mac位址使用的是arp協議。
當乙個終端裝置有ip資料報要傳送時,它拿到了兩個資訊:自己的ip位址和ip包的目的ip位址。這兩個ip位址確定了ip資料報的交付方式:直接交付或者間接交付。當兩個ip位址的網路位址相同時,說明兩個裝置在乙個區域網內。這時需要直接使用ip包目的ip位址對應的mac位址來封裝資料幀。這個過程需要查詢arp表。arp表中的主鍵是ip位址,通過ip位址找到相對應的mac位址。如果arp表中沒有需要查詢的ip位址對應的條目,則觸發arp請求。arp請求使用二層廣播位址封裝資料幀,作用是在區域網內詢問特定ip位址對應的mac位址。由於直接交付發生時,源目的兩個裝置在乙個網路中,所以由目的ip位址的裝置回應arp請求。獲得目的裝置的mac位址後,可以完成資料幀的封裝並在二層發出。此時傳送的資料幀是乙個單播幀。值得一提的是:arp表條目老化的時間有4個小時之久,在arp條目老化結束時,會通過單播報文再次詢問ip位址的mac位址,以此完成arp表項的續訂。直接交付除了發生在同乙個網路中的資料報傳輸外,還發生在不同網路間資料報傳輸的最後一步:由最後乙個路由器將資料報傳輸給目的終端,這兩個裝置顯然在同乙個網路中。
間接交付也很常見,間接交付出現在跨網段的資料報傳輸過程中,並且可能發生一次或者多次。所謂的間接是指在封裝資料幀的時候拿到的不是資料報目的ip的mac,而是下一條路由器的介面mac位址。這樣的傳輸顯然不夠「直接」。但是,由於傳送方和資料報接收方不在乙個網段內部,因此arp協議是無法獲得接收方的mac位址的。因此只能借助閘道器裝置和中間路由器完成資料報傳輸。對於終端裝置,這時需要額外配乙個閘道器位址。arp請求的也是閘道器位址的mac位址。閘道器裝置在收到資料幀後,發現幀目的位址是自己介面的mac位址,於是拆開資料幀並將資料報遞交給三層處理。三層協議通過查詢路由表得到下一條的介面和下一跳路由器的藉口ip位址,並在此查詢arp表。這種間接交付的過程會發生多次,最終到達接收裝置的網路。
最後再說一下arp協議。arp協議中只要收到了arp回應就會更新arp表。這裡給arp欺騙留了機會,非法裝置可以不斷傳送虛假的arp應答包來欺騙網路中的裝置。
分析IP協議資料報格式
目的 1 掌握ip協議的作用和格式 2 理解ip資料報首部各字段的含義 3 掌握ip資料報首部校驗和的計算方法。工具 1 軟體工具 抓包分析工具 wireshark 2 作業系統 windows7 dos 3 區域網環境。原理 1 ip協議位於網路層,是tcp ip協議簇中的核心協議,提供資料傳輸 ...
ip層的arp協議
arp adress resolution protocol 位址解析協議 是在傳輸ip包時,因不知道ip位址對應的mac位址,無法傳送資料引起的,通過arp,建立目的ip跟mac位址的對映關係,從而獲得目的ip的mac位址。arp頭部的資料結構如下 typedefstruct arphdr arp...
IP資料報的校驗和演算法
1 演算法思路 ip icmp igmp tcp udp等協議的校驗和演算法都是相同的,演算法如下 在傳送資料時,為了計算ip資料報的校驗和。應該按如下步驟 1 把ip資料報的校驗和字段置為0 2 把首部看成以16位為單位的數字組成,依次進行二進位制反碼求和 3 把得到的結果存入校驗和字段中。在接收...