ARP 原理詳解 一

ARP 原理

ARP(Address Resolution Protocol)地址解析協議,是根據 IP 地址獲取物理地址的一個 TCP/IP 協議。

OSI 網絡七層模型中,IP 地址在 OSI 模型第三層,MAC 地址在第二層,彼此不直接通信。
在這里插入圖片描述

在通過以太網發送 IP 數據包時,需要封裝第三層(32 位 IP 地址)和第二層(48 位 MAC 地址)的報頭。由于發送數據包時,只知道目標 IP 地址,不知道其 MAC 地址,而又不能跨越第二、三層,所以需要使用 ARP 地址解析協議。
在這里插入圖片描述

TCP/IP 協議棧加人 ARP 過程是給發送端設備提供一種詢問機制,“ 誰的 IP 地址是這個地址,與它相關的物理地址(硬件 MAC )是什么?”
在這里插入圖片描述

ARP 報文和 IP 報文不同。ARP 報文和 IP 報文一樣可以嵌在以太網幀或任何 LAN 幀中。ARP 幀僅在特定的局域網網段中才有效,而且它也不會離開本地局域網(也就是說,ARP 報文不可以被路由)。

代理 ARP

代理 ARP 就是通過使用一個指定的設備(通常是路由器)使用其 MAC 地址來對另一設備的 ARP 請求作出應答。

路由器的重要功能之一就是把局域網的廣播包限制在該網內,阻止其擴散,否則會造成網絡風暴。

ARP 請求是個廣播包,它查尋的對象如果在同一個局域網內,就會收到應答,但如果不在同一個局域網該如何處理?

路由器就提供的代理 ARP 為該問題提供了解決方案。

舉例:兩臺主機 A 和 B 處于同一網段但不同的廣播段時,主機 A 發送 ARP 請求主機 B 的 MAC 地址時,因為路由器不轉發廣播包的原因,ARP 請求只能到達路由器。

如果路由器啟用了代理 ARP 功能,并知道主機 B 屬于它連接的網絡,那么路由器就用自己接口的 MAC 地址代替主機 B 的 MAC 地址來對主機 A 進行 ARP 應答。主機 A 接收 ARP 應答,但并不知道代理 ARP 的存在。

ARP 報文格式

ARP 報文結構如圖所示

在這里插入圖片描述

上圖中展示了 28 字節的 ARP 報文,因為其包括了 1 字節、2 字節、4 字節和 6 字節等不同長度的字段,因此不能直接以普通 32 位的方式顯示。前五個字段構成了報文頭部。緊接著的 4 個字段表示發送端和目的端 IP 地址與 MAC 地址。一般來說,目的 MAC 地址需要用地址解析得出。ARP 報文還可以由一串個數不定的 0 結尾。

在以太網局域網中,ARP 報文有自己的以太網類型值 (0x0806)。然而有些 ARP 實現使用了 IP 分組中 “常規的” 以太網類型 (0x0800),因為 IP 網絡可以很容易地識別出幀內部是 IPv4 報文(報文以 0x04 開頭),還是 ARP 報文(報文以 0x0001 開頭)。

以下主要的字段在 ARP 請求和應答報文中都會出現。硬件類型 —— 用 2 字節的字段標識硬件地址的類型 (其常見的當然是以太網類型的 MAC 地址,其值 = 1)。

協議類型 —— 用 2 字節的字段標識第三層(網絡層)所用到的協議類型(ARP 消息不是 IP 報文,不止用于 IP 地址解析)。這個值和以太網幀中字段的值是一樣的,所以 IP 是 0x0800。

硬件地址長度 —— 6 字節,標識硬件以太網 MAC 地址的長度。
協議地址長度 —— 4 字節,標識第三層協議 IP 地址的長度。
操作 —— 2 字節,標識 ARP 報文的目的。

操作 op 共有 4 種類型

值為 1. ARP 請求
值為 2. ARP 應答
值為 3. RARP 請求
值為 4. RARP 應答

在這里插入圖片描述

例如,當 ARP 發起一個請求(詢問誰有這個 IPv4 地址),該字段的值就為 1,收到的應答報文的該字段值為 2。剩下的字段都沒有固定的長度,其長度取決于硬件長度字段和協議長度字段的值。在以太局域網中,硬件地址長度是 6 字節(MAC 地址),協議地址長度是 4 字節(IPv4 地址)。在這種情況下,這些字段的長度和功能如下所示。

發送端的以太網地址 —— 6 字節,標識了發送端的以太網地址。它應該與以太網幀中的源地址相同。

發送端的 IP 地址 —— 4 字節,標識了發送端的以太網 IP 地址 (這是目的端可以在不請求更多 ARP 的情況下將信息填人 ARP 緩存的方式)。

目的端以太網地址 —— 6 字節,標識了目的端主機的以太網地址。該字段在發送請求的時候全置為 0,應答時才填入內容,并把操作字段改為 “應答”。

目的端 IP 地址 —— 4 字節,標識目的端主機的 IPv4 地址。

ARP 報文是廣播幀,會被發送給所有站點。當目的端設備在數據包的 IP 層中看到目的 IP 地址與自己的 IP 地址匹配時,就直接響應發送端。目的端設備發送響應的時候,只是簡單地把 ARP 數據包中的源 IP 地址和目的 IP 地址反轉。目的端設備在幀和報文中也使用自己的硬件地址作為源地址。
在這里插入圖片描述

ARP 報文的封裝

ARP報文被封裝成一個數據鏈路幀
在這里插入圖片描述
ARP 封裝使用類型字段(Type field)標識為 0x0806,表示這是一個地址解析協議(ARP)數據包。不需要帶有 Preamble 和 SFD。ARP 消息直接嵌套在以太網幀或其他局域網幀中,這些幀已經包含了前導碼和幀起始定界符。

ARP 解析過程 by charsek

via: ARP 報文詳解 - charseki - 博客園
https://www.cnblogs.com/chenshengkai/p/13936532.html

(1)當 PC1 想發送數據給 PC2,首先在自己的本地 ARP 緩存表中檢查主機 PC2 匹配的 MAC 地址

(2)如果 PC1 緩存中沒有找到響應的條目,它將詢問主機 PC2 的 MAC 地址,從而將 ARP 請求幀廣播到本地網絡的所有主機。該幀中包括源主機 PC1 的 IP、MAC 地址,本地網絡中的所有主機都接收到 ARP 請求,并且檢查是否與自己的 IP 地址相匹配。如果發現請求中 IP 地址與自己 IP 不匹配,則丟棄 ARP 請求。

(3)主機 PC2 確定 ARP 請求中的 IP 地址與自己的 IP 地址匹配,則將主機 PC1 的地址和 MAC 地址添加到本地緩存表中。

(4)主機 PC2 將包含其 MAC 地址的 ARP 回復消息直接發送回主機 PC1(數據幀為單播)。

(5)主機 PC1 收到 PC2 發揮的 ARP 回復消息,將 PC2 的 IP 和 MAC 地址添加至自己 ARP 緩存表中,本機緩存是有生存期的,默認 ARP 緩存表有效期 120s。當超過該有效期后,則將重復上面過程。主機 PC2 的 MAC 地址一旦確定,主機 PC1 就能向主機 PC2 發送 IP 信息。

arp 報文總共 42 bytes。其中以太網首部 14 bytes,arp 字段 28 字節

img
ARP 返回報文

img

下一篇

ARP 原理詳解 二 - CSDN博客

https://blog.csdn.net/u013669912/article/details/140080908

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/38721.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/38721.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/38721.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Spring Cloud Alibaba AI 大模型使用示例

1 pom.xml, 注意版本(jdk17) &#xff0c;倉庫地址&#xff0c;排除的依賴&#xff08;日志錯誤&#xff09; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www…

性能測試中的場景設計和測試執行

假設一個內部系統要求響應時間在 3s 以內&#xff0c;支持最大用戶數為4萬。根據二八原則&#xff0c;80%用戶在20%時間使用系統(4w80%)/(24h20%)≈1.9點擊/秒。并發數TPS&#xff08;運行時間思考時間&#xff09;1.9&#xff08;30.50.330.50.30.53&#xff09;21。 注意&am…

Flutter循序漸進==>數據結構(列表、映射和集合)和錯誤處理

導言 填鴨似的教育確實不行&#xff0c;我高中時學過集合&#xff0c;不知道有什么用&#xff0c;毫無興趣&#xff0c;等到我學了一門編程語言后&#xff0c;才發現集合真的很有用&#xff1b;可以去重&#xff0c;可以看你有我沒有的&#xff0c;可以看我有你沒有的&#xf…

毫米波雷達深度學習技術-1.7訓練一個神經網絡

1.7 訓練一個神經網絡 對于訓練神經網絡&#xff0c;有兩個步驟&#xff0c;即前向傳遞和誤差反向傳播。 1.7.1 前向傳播和反向傳播 在前向傳遞中&#xff0c;輸入被饋送到模型并與權重向量相乘&#xff0c;并為每一層添加偏差以計算模型的輸出。密集層或全連接層第l層的輸入、…

SQL面試題練習 —— 查詢前2大和前2小用戶并有序拼接

目錄 1 題目2 建表語句3 題解 1 題目 有用戶賬戶表&#xff0c;包含年份&#xff0c;用戶id和值,請按照年份分組&#xff0c;取出值前兩小和前兩大對應的用戶id&#xff0c;需要保持值最小和最大的用戶id排首位。 樣例數據 ------------------------- | year | user_id | v…

網絡基礎-RIP協議

RIP&#xff08;Routing Information Protocol&#xff09;是一個基于距離矢量的動態路由協議&#xff0c;常用于小型到中型網絡。RIP是較早的路由協議之一&#xff0c;具有簡單易用的特點。以下是關于RIP協議的詳細介紹&#xff1a; RIP的主要特點 ①使用跳數&#xff08;ho…

非標設備行業的數智化項目管理

近年來&#xff0c;中國制造快速發展&#xff0c;企業迫切需要加快轉型升級。與傳統制造業相比&#xff0c;高端制造業具有明顯的優勢&#xff1a;高技術、高附加值、低污染、低排放、競爭優勢強。一方面&#xff0c;企業對于生產效率和自動化水平的要求不斷提高&#xff0c;期…

開發個人OpenUI--1 項目介紹

開發個人OpenUI--1 項目介紹 開發個人OpenUI--1 項目介紹知識點大綱文章目錄項目地址 開發個人OpenUI–1 項目介紹 本文將以一個使用Ollama部署的ChatGPT為背景&#xff0c;主要還是介紹和學習使用 go-zero 框架&#xff0c;開發個人OpenUI的服務器后端&#xff0c;使用Docker…

武漢星起航:成功掛牌上股交,領航亞馬遜跨境電商,共創未來輝煌

在全球電商的競爭格局中&#xff0c;亞馬遜憑借其卓越的服務、豐富的商品種類和高效的物流體系&#xff0c;始終穩坐全球電商市場的頭把交椅。而在這股不可阻擋的電商浪潮中&#xff0c;武漢星起航電子商務有限公司憑借其前瞻性的戰略布局和強大的運營能力&#xff0c;成功在20…

名企面試必問30題(十二)——簡單介紹一下你的家庭情況

1.思路 對于面試官來說&#xff0c;他提出這個問題&#xff0c;只是為了深挖您的性格、穩定性、行事風格&#xff0c;包括未來定居規劃、生育規劃等基礎信息&#xff0c;這是正常情況。您不要過多圍繞其他家庭成員來講&#xff0c;否則面試官無法獲取他想要的&#xff0c;您也難…

【單片機畢業設計選題24040】-基于STM32的藍牙防丟器設計

系統功能: 系統上電后顯示“歡迎使用藍牙防丟系統請稍后”兩秒鐘顯示正常界面&#xff0c;如果藍牙正常連接OLED顯示Connected, 藍牙未連接則顯示DisConnected同時蜂鳴器報警 藍牙正常連接后在APP上每隔三秒顯示一個Connected 系統功能框圖: 主要功能模塊原理圖: 電源時鐘…

大數據之Zookeeper部署

文章目錄 集群規劃環境準備集群部署參考資料 集群規劃 確定使用Hadoop101、hadoop102和hadoop103三臺服務器來構建Zookeeper集群。 hadoop101hadoop102hadoop103zookeeperzookeeperzookeeper 環境準備 安裝zookeeper前需要確保下面的環境配置成功&#xff0c;具體可以參考大…

AI智能剪輯發展到哪種地步?來看看云微客就知道了!

不是短視頻團隊招不起&#xff0c;而是矩陣賬號更有性價比。企業做短視頻有反思過為什么干不過同行嗎&#xff1f;我們來看看大佬是怎么做的。云微客AI智能剪輯系統用幾百個賬號做矩陣布局&#xff0c;系統每天自動進行批量剪視頻、寫文案、一鍵自動化發布視頻&#xff0c;一個…

[漏洞復現] MetInfo5.0.4文件包含漏洞

[漏洞復現] MetInfo5.0.4文件包含漏洞 MetInfo5.0.4 漏洞代碼審計 漏洞出現在about/index.php中&#xff0c;因為利用了動態地址&#xff0c;所以存在漏洞。 漏洞檢查語句&#xff08;&#xff01;192.168.109.100是我的服務器ip&#xff0c;需要換成自己的&#xff09;&…

華為倉頡語言體驗:一個簡單的socket服務端實現

前言 由于倉頡目前是內測狀態&#xff0c; 不能展示倉頡的詳細信息&#xff0c;但是華為倉頡官網的公共文檔的內容是可以公開的。 我相信有不少喜歡編程的朋友都申請了內測&#xff0c;但是一些編程初學者應該和我一樣&#xff0c;處于摸索階段。所以&#xff0c;我這里把我測…

排序題目:多數元素 II

文章目錄 題目標題和出處難度題目描述要求示例數據范圍進階 前言解法一思路和算法代碼復雜度分析 解法二思路和算法代碼復雜度分析 解法三思路和算法代碼復雜度分析 題目 標題和出處 標題&#xff1a;多數元素 II 出處&#xff1a;229. 多數元素 II 難度 3 級 題目描述 …

css高度0到高度auto,過渡的設置

1.css從高度0到高度auto,過渡設置 方法(vue代碼) 你可以通過設置transform: scale(0);到 transform: scale(1); 來實現,具體代碼 你也可以通過設置transform: scaleY(0);到 transform: scaleY(1); 這兩種展示的效果不一樣,你可以看看你喜歡那種 // css代碼// 原來的css類 .s…

港口危險貨物安全管理人員考試題庫(含答案)

一、單選題 1.化學品安全標簽內容中警示詞有( )種分別進行危害程度的警示。 A、3 B、4 C、5 參考答案:A 2.運輸放射性物品&#xff0c;應當使用( )的放射性物品運輸包裝容器(以下簡稱運輸容器)。 A、專業 B、專用 C、統一 D、定制 參考答案:B 3.庫區儀表及計算機監控管理系…

中電金信:金Gien樂道 | 6月熱門新聞盤點 回顧這一月的焦點事件

“以檢之力 e企守護”——上海市檢一分院與中電金信開展聯學聯建 6月24日&#xff0c;上海市人民檢察院第一分院與中電金信數字科技集團股份有限公司聯合開展“以檢之力 e企守護”聯學聯建活動。雙方共同參觀了全國檢察機關證券期貨犯罪辦案基地和重大職務犯罪案件辦理&#xf…

HTML5與3D打印:探索網頁內容的物理化可能

隨著科技的飛速發展&#xff0c;互聯網與物理世界的交匯點日益增多。HTML5作為當前網頁開發的主流標準&#xff0c;不僅推動了網頁內容的豐富性和互動性&#xff0c;還在與3D打印技術的結合中&#xff0c;展現出了將網頁內容物理化的巨大潛力。本文將探討HTML5與3D打印的結合點…