在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ARP協議原理是什么

汽車電子技術 ? 來源:物聯網IoT開發 ? 作者: 杰杰 ? 2023-02-14 10:10 ? 次閱讀

引言

從前一篇“網絡底層知識講解”文章中,我們知道計算機中會維護一個ARP緩存表,這個表記錄著IP地址與MAC地址的映射關系,我們可以通過在電腦的控制臺通過arp -a指令查看一下我們自己計算機的ARP緩存表:

圖片

ARP緩存表

那么什么是ARP協議呢?

初識ARP

ARP協議是地址解析協議(Address Resolution Protocol)是通過解析IP地址得到MAC地址的,是一個在網絡協議包中極其重要的網絡傳輸協議,它與網卡有著極其密切的關系,在TCP/IP分層結構中,把ARP劃分為網絡層,為什么呢,因為在網絡層看來,源主機與目標主機是通過IP地址進行識別的,而所有的數據傳輸又依賴網卡底層硬件,即鏈路層,那么就需要將這些IP地址轉換為鏈路層可以識別的東西,在所有的鏈路中都有著自己的一套尋址機制,如在以太網中使用MAC地址進行尋址,以標識不同的主機,那么就需要有一個協議將IP地址轉換為MAC地址,由此就出現了ARP協議,所有ARP協議在網絡層被應用,它是網絡層與鏈路層連接的重要樞紐,每當有一個數據要發送的時候都需要在通過ARP協議IP地址轉換成MAC地址,在IP層及其以上的層次看來,他們只標識IP地址,從不跟硬件打交道,就像我一樣,我做應用層的工作,而不會去寫底層驅動,得專門有個同事將驅動寫完給我,我只需要知道他提供的API接口就行了,而我就專心處理我的工作,我相信他能把驅動寫好,我只需要直接調用即可。

ARP緩存表

既然已經解釋了ARP協議的用途及重要性,那么它是如何工作的?為了實現IP地址MAC地址查詢與轉換ARP協議引入了ARP緩存表的概念,每臺主機或路由器在維護著一個ARP緩存表(ARP table),這個表包含IP地址到MAC地址的映射關系,表中記錄了對,我稱之為ARP表項,如我們前面那張所展示的一樣,他們是主機最近運行時獲得關于其他主機的IP地址MAC地址的映射,當需要發送數據的時候,主機就會根據數據報中的目標IP地址信息,然后在ARP緩存表中進行查找對應的MAC地址,最后通過網卡將數據發送出去。ARP緩存表包含一個壽命值(TTL,也稱作生存時間),它將記錄每個ARP表項的生存時間,生存時間到了就會從緩存表中刪除。從一個表項放置到ARP緩存表中開始,一個表項通常的生存時間一般是10分鐘嗎,當然,這些生存時間是可以任意設置的,我們一般使用默認即可。

一句話總結ARP協議的工作

ARP協議的主要工作就是建立、查詢、更新、刪除ARP表項。

ARP表項的建立

當主機開機的時候,ARP緩存表肯定是空的,那么怎么一步步建立 ARP表項呢?如果此時想發送數據怎么辦呢?因為沒有ARP表項,說明就找不到IP地址MAC地址映射關系,這樣子也就無法發送數據了。

其實協議棧的實現還是很強大的,如果沒有ARP表項,那么主機就會去建立ARP表項。

以我們的電腦為例,在開機的時候,我們的電腦肯定是沒有ARP表項的(或者應該說只有路由器的ARP表項,因為可能是動態獲取IP地址):

圖片

7

對于局域網

如果我想向局域網中的某個電腦發送一個數據,那么我的電腦就會從已有的ARP緩存表中尋找這個IP地址對應的物理地址的ARP表項,然后直接將數據寫入以太網數據幀中讓網卡進行發送即可,而如果沒有找到這個IP地址,那么這個數據就沒法立即發送,電腦會先在局域網上廣播一個ARP請求(目標MAC地址為FF-FF-FF-FF-FF-FF),廣播的ARP請求發出后,處于同一局域網內的所有主機都會接收到這個請求,如果目標IP地址與接收到ARP請求的主機自身IP地址吻合就會返回一個ARP應答,告訴請求者(即我的電腦)自身的MAC地址,當我的電腦收到這個ARP應答后,就去建立一個ARP表項,并且重新將數據發送出去。

ARP協議的核心就是對緩存表的操作,發送數據包的時候,查找ARP緩存表以得到對應的MAC地址,在ARP緩存表中的TTL即將過期的時候更新緩存表以保證ARP表項有效,此外ARP協議還需要不斷處理來自局域網中其他主機的ARP請求。

對于公網

比如我的電腦向訪問我的博客:https://jiejietop.cn

因為我的博客主機是處于外網的,那么我的電腦在訪問的時候,也是找不到緩存表的,那它只能通過網關,讓網關將數據轉發到我的博客主機上,即:

圖片

8

因為我的電腦與博客主機不在一個網段,電腦查詢自己的路由表,知道如果想和博客主機通信則必須通過網關(gateway)來中轉,所以會在與網關直連的網卡上請求網關的MAC地址,因為電腦要把發給博客主機的數據先發給網關,當合法以太幀到達網關并且順利接收,網關會將數據遞交給IP層,IP層查詢路由表,找到與博客主機直連的接口(假設是直連的,實際上肯定不是直連的),網關會發一個ARP請求到博客主機上,請求它的MAC地址,網關收到應答后將建立新的ARP表項并將開始維護ARP緩存表,然后完成最終的通信。

ARP緩存表的超時處理

ARP是動態處理的,現在總結一下:ARP表項的生存時間是一般為5-10分鐘(LwIP中默認是5分鐘),而ARP請求的等待時間是5秒鐘,當這些時間到達后,就會更新ARP表項,如果在物理鏈路層無法連通則會刪除表項。

因此每個協議棧的實現都必須維護著一個定時器(超時機制)來管理ARP緩存表,在必要的時候更新及刪除ARP表項,關于怎么處理的我們就不多追究,有興趣的可以看LwIP的etharp_tmr()源碼。

說點題外話:因為ARP協議是一個動態的協議,很多網絡攻擊都是利用ARP協議進行的,如ARP欺騙,ARP洪水攻擊等等,而且這種攻擊是很難防御的,當然也有辦法,直接將動態的ARP緩存表設置為靜態就行了,但是這就違背了ARP協議動態地址解析特性。

ARP報文

ARP的請求與應答都是依賴ARP報文結構進行的,ARP報文是放在以太網數據幀中進行發送的,下面是ARP報文的格式:

圖片

9

當它封裝在以太網幀中的格式:

圖片

10

在ARP表建立前,主機并不知道目標MAC地址,所以在一開始的時候只能通過廣播的方式將ARP請求包發送出去,處于同一局域網的主機都能接收到廣播的數據包。所以一開始目標MAC地址FF-FF-FF-FF-FF-FF,而以太網首部的幀類型是有多種,對于ARP數據包來說,其值為0x0806,對于IP數據報來說,其值為0x0800。

在ARP首部一開始的2個字節存儲的是硬件類型,表示要知道目標網卡的硬件類型,其中,值為1表示以太網地址;接下來還有2字節的協議類型,其中,0x0800表示IP協議,其他還可能是ICMP/IGMP協議等;接下來有1個字節表示硬件地址長度,指出該報文中硬件地址的長度,對于以太網硬件類型,它的值為6;還有1字節的協議地址長度,如果是ARP協議、IP協議等,該值為4;ARP首部最后的op字段用于記錄ARP操作的類型,分別是:

  • ARP請求,其值為1。
  • ARP應答,其值為2。
  • RARP請求,其值為3。
  • RARP應答,其值為4。

我們只關心ARP的請求與應答即可,RARP是逆地址解析協議,在這里我們就不用去了解,它在網絡中基本已經被淘汰,用于主機在啟動的時候獲得自己的IP地址。

對于ARP首部后面的四個字段分別是源MAC地址、源IP地址、目標MAC地址、目標IP地址,這些就是比較簡單的了。

為了加深理解,我們使用wireshark網絡抓包工具形象地講解報文格式與內容,關于wireshark網絡抓包工具的使用方式我就不做過多講解,網上教程一大把,打開工具,然后抓取電腦網絡中的數據包。

圖片

11

圖片

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • ip地址
    +關注

    關注

    0

    文章

    305

    瀏覽量

    17372
  • ARP協議
    +關注

    關注

    0

    文章

    10

    瀏覽量

    6979
  • 網絡傳輸協議

    關注

    0

    文章

    5

    瀏覽量

    5929
收藏 人收藏

    評論

    相關推薦

    關于ARP協議發送與接收, FPGA板子上面與PC端主機通信,出現以下情況怎么辦?

    關于ARP協議發送與接收:FPGA板子上面與PC端主機通信,出現以下情況:1:當FPGA板子發送ARP請求時會與PC主機發送ARP請求發送線路沖突2:當FPGA板子發送數據時與PC主機
    發表于 03-26 15:02

    ARP協議攻擊及其解決方案

    由于ARP協議的設計缺陷,使得ARP協議在使用的過程中存在著盜用IP地址和ARP欺騙等嚴重的安全問題。本文分析
    發表于 06-11 10:17 ?16次下載

    基于ARP協議的非法入網檢測與阻止技術研究

    介紹ARP 協議、Windows 系統中ARP 實現,設計了一個非法入網檢測及阻止系統。該系統通過ARP 掃描,實時檢測非法主機(未知主機)接入內部網絡的企圖,并通過發送沖突包和其
    發表于 06-11 16:28 ?15次下載

    基于ARP協議的攻擊及其防御方法分析

    ARP 協議欺騙是網絡欺騙的行為之一,它使得攻擊者可以重定向一個以太網上的IP 數據報以取得目標主機的信任。文章在分析ARP 協議工作原理、安全缺陷、攻擊原理和攻擊方式的基
    發表于 09-01 16:11 ?10次下載

    高可用性群集系統ARP協議問題研究

    群集系統常用作高可靠性服務器,應用于關鍵網絡計算領域。但是,由某些型號的計算機構成的群集系統在網絡通信方面存在ARP 協議缺陷,當服務進程從主用節點切換到冗余備份結
    發表于 01-27 13:35 ?5次下載

    ARP協議動態交互仿真系統的設計

    該系統實現了ARP 協議的動態交互仿真,完成了ARP協議整個工作過程的模擬實現,通過動態交互操作,能夠讓學習者更輕松地學習和掌握ARP
    發表于 03-31 11:07 ?2367次閱讀
    <b class='flag-5'>ARP</b><b class='flag-5'>協議</b>動態交互仿真系統的設計

    ARP協議分析

    ARP,全稱Address Resolution Protocol,中文名為地址解析協議,它工作在數據鏈路層,在本層和硬件接口聯系,同時對上層提供服務。IP數據包常通過以太網發送,以太網設備并不識別32位IP地
    發表于 05-14 15:37 ?0次下載

    51單片機網絡通信及ARP協議

    51單片機網絡通信及ARP協議
    發表于 08-31 09:07 ?18次下載
    51單片機網絡通信及<b class='flag-5'>ARP</b><b class='flag-5'>協議</b>

    arp協議的作用是什么?arp協議的工作原理介紹

    地址解析協議,即ARP(Address Resolution Protocol),是根據IP地址獲取物理地址的一個TCP/IP協議。那么ARP協議
    發表于 11-02 16:14 ?6.4w次閱讀
    <b class='flag-5'>arp</b><b class='flag-5'>協議</b>的作用是什么?<b class='flag-5'>arp</b><b class='flag-5'>協議</b>的工作原理介紹

    arp協議的缺點介紹及防范

     地址解析協議,即ARP(Address Resolution Protocol),是根據IP地址獲取物理地址的一個TCP/IP協議。主機發送信息時將包含目標IP地址的ARP請求廣播到
    發表于 11-02 16:28 ?6953次閱讀

    ARP是什么意思?ARP是什么協議?ARP協議用于什么地方

    ARP是什么意思?ARP是什么協議?ARP協議用于什么地方 ARP是什么意思?
    發表于 11-10 18:00 ?2w次閱讀

    arp協議屬于哪一層_arp協議的主要功能

    arp協議在TCP/IP模型中屬于IP層(網絡層),在OSI模型中屬于鏈路層。arp協議即地址解析協議,是根據IP地址獲取物理地址的一個TC
    發表于 01-11 15:51 ?4.2w次閱讀

    ARP協議的工作原理_arp攻擊防御措施

    ARP是“address resolution protocol”的縮寫,全稱“地址解析協議”。在網絡通信中,通信主機之間直接通過IP地址進行相互識別,而數據傳輸必須要依靠網卡的物理地址進行尋址。ARP的主要作用就是將IP地址轉
    的頭像 發表于 01-11 16:31 ?5894次閱讀

    FPGA以太網-ARP協議介紹

    ARP協議是地址解析協議,在網絡中有MAC地址和IP地址之分,IP地址可以隨著網絡拓撲的改變而改變,而MAC地址是不會改變的。
    發表于 07-06 09:23 ?1230次閱讀
    FPGA以太網-<b class='flag-5'>ARP</b><b class='flag-5'>協議</b>介紹

    ARP協議的工作流程

    通過ARP協議知道對方的mac地址,已經知道對方ip地址的情況下,不知道mac地址。定義了一個ARP協議來解決這個問題。
    的頭像 發表于 07-10 17:29 ?2635次閱讀
    <b class='flag-5'>ARP</b><b class='flag-5'>協議</b>的工作流程
    主站蜘蛛池模板: 操美女的视频网站 | 黄色网络在线观看 | 簧片地址| 91操碰| 日韩免费一区 | 国产精品成人四虎免费视频 | 欧美成人三级伦在线观看 | 日韩欧美在线中文字幕 | 亚洲国产精品国产自在在线 | 鲁老汉精品视频在线观看 | 久久国产热视频 | 欧洲人体超大胆露私视频 | 午夜影剧院 | 天天夜夜狠狠一区二区三区 | 美女性爽视频国产免费 | 国产片一级特黄aa的大片 | 免费观看a毛片一区二区不卡 | 午夜三级理论在线观看视频 | 91福利视频网| 三级黄色短视频 | 欧美整片第一页 | 偷偷鲁影院手机在线观看 | 女同性大尺度床戏视频 | 91精品啪在线观看国产日本 | 亚洲欧美视频一区二区 | 黄篇网站在线观看 | 韩国精品videosex性韩国 | 黄色美女网站在线观看 | 丁香婷婷色 | 欧美三级免费网站 | 1024视频在线观看国产成人 | 一级片在线播放 | 91精品国产91久久久久青草 | 亚洲不卡在线播放 | 毛片爽爽爽免费看 | 国模私拍在线 | 成人在线免费网站 | 天堂网色| 天天操 夜夜操 | 2019天天干| 欧美性一级交视频 |