ARP協議的工作原理

文章目錄

  • ARP協議的工作原理
    • ARP報文(以太網)
    • ARP高速緩存

ARP協議的工作原理

ARP協議的作用是實現任意網絡層地址到任意物理地址轉換。工作原理是:

  • 主機向自己所在網絡廣播一個ARP請求,該請求包含目標機器的網絡地址。
  • 處于該網絡的其他所有機器都將收到這個ARP請求,但是只有被請求的目標機器回應。
  • 此時,目標機器發送一個ARP應答(包含自己的物理地址)。

ARP報文(以太網)

# ARP請求與應答報文格式
| 硬件類型 | 協議類型 | 硬件地址長度 | 協議地址長度 |   操作    | 發送端以太網地址 | 發送端IP地址 | 目的端以太網地址 | 目的端IP地址 |2字節     2字節       1字節          1字節        2字節            6字節         4字節             6字節           4字節

各字段具體釋義

  • 硬件類型:定義物理地址類型,1表示為Mac地址。
  • 協議類型:要映射的協議地址類型,0x800表示為IP地址。
  • 硬件地址長度:Mac地址的長度為6。
  • 協議地址長度:IPv4地址的長度為4。
  • 操作:4種類型,ARP請求(值為1)、ARP應答(值為2)、RARP請求(值為3)、RARP應答(值為4)
  • 其余字段表示指定通信雙方的以太網地址和IP地址,發送端填充除目的端以太網地址外的三個字段,構建ARP請求發送。
  • 接收端發現ARP請求中目的端IP地址是自己的,就將自己的以太網地址填進去,然后交換兩個目的端地址和兩個發送端地址,構建ARP應答返回。(操作字段設置為2)

ARP報文的長度計算

# 報文長度  28字節
| 硬件類型 | 協議類型 | 硬件地址長度 | 協議地址長度 |   操作    | 發送端以太網地址 | 發送端IP地址 | 目的端以太網地址 | 目的端IP地址 |2字節  +   2字節  +   1字節    +     1字節     +   2字節     +     6字節     +    4字節    +       6字節     +      4字節    =    28字節# 攜帶ARP報文的以太網幀
報文長度(28) + 幀首尾(18) = 46字節# 部分要求以太網幀數據長度至少為46,故而有填充字節,即:
46 + 幀首尾(18) = 64字節

ARP高速緩存

ARP會維護一個高速緩存,其中包含經常訪問(比如網關地址)或最近訪問機器的IP地址到物理地址的映射。(避免重復ARP請求,提升發包速度)

注意:

  • ARP請求與應答是從以太網驅動程序發出的。

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

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

相關文章

【小知識酷】《Matlab》考點精簡

在線編譯器 https://matlab.mathworks.com/?elqsidumic49viv8wu5r6fckew 第1章 matlab基礎知識 第1節 輸出函數 1. 使用disp函數 disp函數可用于輸出變量的值或者字符串。 % 輸出字符串 disp(Hello, MATLAB!); %顯示Hello, MATLAB!% 輸出變量 x 10; disp(x); %顯示10% 輸出數…

碼蹄集——中庸之道(三個數比較)

MT1112 中庸之道 請編寫一個簡單程序,輸入3個整數,比較他們的大小,輸出中間的那個數 格式 輸入格式: 輸入整型,空格分隔 輸出格式:輸出整型 樣例 1 輸入:1 5 3 輸出:3 比較…

快速搭建一個vue前端工程

一、環境準備 1、安裝node.js 下載地址:Node.js 推薦版本如下: 2、檢查node.js版本 node -v npm -v 二、安裝Vue腳手架 Vue腳手架是Vue官方提供的標準化開發工具。vue官網:https://cn.vuejs.org/ 全局安裝vue/cli (僅第一次…

React Native基礎環境配置

React Native基礎環境配置 1.引言2.React-Native簡介3.項目基礎環境搭建1.引言 感覺自己掌握的知識面還是有點太窄了,于是決定看看移動端的框架,搞個react搭一個后端管理項目,然后拿react-native寫個小的軟件,試著找個三方上架一下應用市場玩玩。畢竟不可能一直在簡歷上掛一…

PHP和Composer 安裝

Composer 是 PHP 的 依賴管理工具,就像: Node.js 用 npm Python 用 pip Java 用 maven 用來安裝和管理 PHP 項目中需要用到的第三方庫 安裝PHP可以理解成 Java解釋器 安裝PHP PHP For Windows: Binaries and sources Releaseshttps://windows.php.n…

API請求參數有哪些?

通用參數 app_key:應用的唯一標識,用于驗證應用身份,調用API時必須提供。 timestamp:請求時間戳,通常為當前時間的毫秒級時間戳,用于防止請求被重放攻擊。 format:返回數據的格式,…

并發筆記-條件變量(三)

文章目錄 背景與動機30.1 條件變量的定義與基本操作 (Definition and Routines)30.2 生產者/消費者問題 (Bounded Buffer Problem)30.3 覆蓋條件 (Covering Conditions) 與 pthread_cond_broadcast30.4 總結 背景與動機 到目前為止,我們已經學習了鎖 (Locks) 作為并…

stm32實戰項目:無刷驅動

目錄 系統時鐘配置 PWM模塊初始化 ADC模塊配置 霍爾接口配置 速度環定時器 換相邏輯實現 主控制循環 系統時鐘配置 啟用72MHz主頻:RCC_Configuration()設置PLL外設時鐘使能:TIM1/ADC/GPIO時鐘 #include "stm32f10x.h"void RCC_Configu…

LC-3 中常見指令

當然可以!以下是 LC-3 中常見指令(匯編格式)與對應的二進制編碼格式 的總結表,通俗易懂地介紹每條指令的用途、操作碼(opcode)以及格式結構。 ? 常見 LC-3 指令與對應的二進制格式 指令名稱操作碼&#x…

深入解析Docker:核心架構與最佳實踐

文章目錄 前言一、Docker 解決了什么問題?二、Docker 底層核心架構2.1 Docker 引擎的分層架構2.2 鏡像的奧秘:聯合文件系統(UnionFS)2.3 容器隔離的核心技術2.3.1 命名空間2.3.2 控制組(Cgroups)2.3.3 內核…

從零打造企業級Android木馬:數據竊取與遠程控制實戰

簡介 木馬病毒已從簡單的惡意軟件演變為復雜的攻擊工具,尤其在2025年企業級攻擊中,木馬病毒正成為黑客組織的主要武器之一。 本文將深入探討如何制作具備數據竊取和遠程控制功能的Android木馬,從基礎原理到企業級防御繞過技術,同時提供詳細的代碼實現,幫助開發者理解木馬…

ES常識5:主分詞器、子字段分詞器

文章目錄 一、主分詞器:最基礎的文本處理單元主分詞器的作用典型主分詞器示例 二、其他類型的分詞器:解決主分詞器的局限性1. 子字段分詞器(Multi-fields)2. 搜索分詞器(Search Analyzer)3. 自定義分詞器&a…

【第三十五周】Janus-pro 技術報告閱讀筆記

Janus-Pro 摘要Abstract文章信息引言方法Janus 架構Janus 訓練Janus-Pro 的改進 實驗結果總結 摘要 本篇博客介紹了Janus-Pro,這是一個突破性的多模態理解與生成統一模型,其核心思想是通過解耦雙路徑視覺編碼架構解決傳統方法中語義理解與像素生成的任務…

MySQL 數據操縱與數據庫優化

MySQL數據庫的DML 一、創建(Create) 1. 基本語法 INSERT INTO 表名 [(列名1, 列名2, ...)] VALUES (值1, 值2, ...); 省略列名條件:當值的順序與表結構完全一致時,可省略列名(需包含所有字段值)批量插…

(9)被宏 QT_DEPRECATED_VERSION_X_6_0(“提示內容“) 修飾的函數,在 Qt6 中使用時,會被編譯器提示該函數已過時

(1)起因是看到 Qt 的官方源代碼里有這樣的寫法: #if QT_DEPRECATED_SINCE(6, 0) //里面的都是廢棄的成員函數QT_WARNING_PUSHQT_WARNING_DISABLE_DEPRECATEDQT_DEPRECATED_VERSION_X_6_0("Use the constructor taking a QMetaType inst…

【bibtex4word】在Word中高效轉換bib參考文獻,Texlive環境安裝bibtex4word插件

前言 現已退出科研界,本人水貨一個。希望幫到有緣人 本篇關于如何將latex環境中的參考文獻bib文件轉化為word,和一些踩坑記錄。 可以看下面的資料進行配置,后面的文字是這些資料的補充說明。 參考文章:https://blog.csdn.net/g…

Python 自動化腳本開發秘籍:從入門到實戰進階(6/10)

摘要:本文詳細介紹了 Python 自動化腳本開發的全流程,從基礎的環境搭建到復雜的實戰場景應用,再到進階的代碼優化與性能提升。涵蓋數據處理、文件操作、網絡交互、Web 測試等核心內容,結合實戰案例,助力讀者從入門到進…

理解反向Shell:隱藏在合法流量中的威脅

引言 在網絡安全領域,??反向Shell(Reverse Shell)?? 是一種隱蔽且危險的攻擊技術,常被滲透測試人員和攻擊者用于繞過防火墻限制,獲取對目標設備的遠程控制權限。與傳統的“正向Shell”(攻擊者主動連接…

無人機電池儲存與操作指南

一、正確儲存方式 1. 儲存電量 保持電池在 40%-60% 電量(單片電壓約3.8V-3.85V)存放,避免滿電或空電長期儲存。 滿電存放會加速電解液分解,導致鼓包;**空電**存放可能引發過放(電壓低于3.0V/片會永久…

怎樣選擇成長股 讀書筆記(一)

文章目錄 第一章 成長型投資的困惑一、市場不可預測性的本質困惑二、成長股的篩選悖論三、管理層評估的認知盲區四、長期持有與估值波動的博弈五、實踐中的認知升級路徑總結:破解困惑的行動框架 第二章 如何閱讀應計制利潤表一、應計制利潤表的本質與核心原則1. 權責…