chrome web获取mac地址_老鬼傻瓜式讲解网络知识:网络设备如何通过IP地址获取设备MAC地址...
原創版權聲明:本文為今日頭條自媒體-老鬼非鬼的原創文章,遵循CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
這是物聯老鬼在【今日頭條】寫的第119篇文章
本文將按照以下目錄引導介紹:
1.ARP協議用來做什么
2.ARP協議報文介紹
3.ARP工作過程
4.免費ARP介紹
1.ARP協議用來做什么
一臺網絡設備要發送數據給另一太網絡設備時,必須要知道對方的IP地 址。但是,僅有IP地址是不夠的,因為IP數據報文必須封裝成幀才能通 過數據鏈路進行發送,而數據幀必須要包含目的MAC地址,因此發送端 還必須獲取到目的MAC地址。每一個網絡設備在數據封裝前都需要獲取 下一跳的MAC地址。IP地址由網絡層來提供,MAC地址通過ARP協議 來獲取。ARP協議是TCP/IP協議簇中的重要組成部分,ARP能夠通過目 的IP地址發現目標設備的MAC地址,從而實現數據鏈路層的可達性。
2.ARP協議報文介紹
ARP報文中包含以下字段 :
- 1. Hardware Type表示硬件地址類型,一般為以太網;
- 2. Protocol Type表示三層協議地址類型,一般為IP;
- 3. Hardware Length和Protocol Length為MAC地址和IP地址的長度, 單位是字節;
- 4. Operation Code指定了ARP報文的類型,包括ARP request和ARP reply;
- 5. Source Hardware Address指的是發送ARP報文的設備MAC地址;
- 6. Source Protocol Address指的是發送ARP報文的設備IP地址;
- 7. Destination Hardware Address指的是接收者MAC地址,在ARP request報文中,該字段值為0;
- 8. Destination Protocol Address指的是指接收者的IP地址
3.ARP工作過程
總覽
通過ARP協議,網絡設備可以建立目標IP地址和MAC地址之間的映射。 網絡設備通過網絡層獲取到目的IP地址之后,還要判斷目的MAC地址是 否已知。
ARP緩存表
網絡設備一般都有一個ARP緩存(ARP Cache),ARP緩存用來存放IP 地址和MAC地址的關聯信息。在發送數據前,設備會先查找ARP緩存表 。如果緩存表中存在對方設備的MAC地址,則直接采用該MAC地址來 封裝幀,然后將幀發送出去。如果緩存表中不存在相應信息,則通過發 送ARP request報文來獲得它。學習到的IP地址和MAC地址的映射關系 會被放入ARP緩存表中存放一段時間。在有效期內,設備可以直接從這 個表中查找目的MAC地址來進行數據封裝,而無需進行ARP查詢。過了 這段有效期,ARP表項會被自動刪除。 如果目標設備位于其他網絡,則源設備會在ARP緩存表中查找網關的 MAC地址,然后將數據發送給網關,網關再把數據轉發給目的設備
Step1:ARP請求
本例中,主機A的ARP緩存表中不存在主機C的MAC地址,所以主機A會 發送ARP request來獲取目的MAC地址。ARP request報文封裝在以太 幀里。幀頭中的源MAC地址為發送端主機A的MAC地址。此時,由于主 機A不知道主機C的MAC地址,所以目的MAC地址為廣播地址FF-FFFF-FF-FF-FF。ARP request報文中包含源IP地址、目的IP地址、源 MAC地址、目的MAC地址,其中目的MAC地址的值為0。ARP Request 報文會在整個網絡上傳播,該網絡中所有主機包括網關都會接收到此 ARP request報文。網關將會阻止該報文發送到其他網絡上
Step2:ARP響應
所有的主機接收到該ARP Request報文后,會檢查它的目的協議地址字 段與自身的IP地址是否匹配。如果不匹配,則該主機將不會響應該ARP Request報文。如果匹配,則該主機會將ARP報文中的源MAC地址和源 IP地址信息記錄到自己的ARP緩存表中,然后通過ARP Reply報文進行 響應。
主機C會向主機A回應ARP Reply報文。ARP Reply報文中的源協議地址 是主機C自己的IP地址,目標協議地址是主機A的IP地址,目的MAC地 址是主機A的MAC地址,源MAC地址是自己的MAC地址,同時 Operation Code被設置為reply。ARPReply報文通過單播傳送
Step3:寫入ARP緩存
主機A收到ARP Reply以后,會檢查ARP報文中目的MAC地址是否與自 己的MAC匹配。如果匹配,ARP報文中的源MAC地址和源IP地址會被 記錄到主機A的ARP緩存表中。ARP表項的老化超時時間缺省為1200秒。
跨網段如何訪問
在上述例子的組網中,主機A需要與主機B通信時,目的IP地址與本機的 IP地址位于不同網絡,但是由于主機A未配置網關,所以它將會以廣播 形式發送ARP Request報文,請求主機B的MAC地址。但是,廣播報文 無法被路由器轉發,所以主機B無法收到主機A的ARP請求報文,當然也 就無法應答。 在路由器上啟用代理ARP功能,就可以解決這個問題。啟用代理ARP后 ,路由器收到這樣的請求,會查找路由表,如果存在主機B的路由表項 ,路由器將會使用自己的G0/0/0接口的MAC地址來回應該ARP request 。主機A收到ARP reply后,將以路由器的G0/0/0接口MAC地址作為目的 MAC地址進行數據轉發。
4.免費ARP介紹
主機被分配了IP地址或者IP地址發生變更后,必須立刻檢測其所分配的 IP地址在網絡上是否是唯一的,以避免地址沖突。主機通過發送ARP request報文來進行地址沖突檢測。 主機A將ARP Request廣播報文中的目的IP地址字段設置為自己的IP地 址,該網絡中所有主機包括網關都會接收到此報文。當目的IP地址已經 被某一個主機或網關使用時,該主機或網關就會回應ARP reply報文。 通過這種方式,主機A就能探測到IP地址沖突了
尾言
好了至此大家應該比較清楚了ARP協議的作用以及其作為免費偵測IP地址沖突的工作過程和原理。
老鬼非鬼-致力于關注社會、科技、軍事、民生的自媒體,提供一個專業、嚴謹、科學的新媒體深度解讀和分析平臺!
總結
以上是生活随笔為你收集整理的chrome web获取mac地址_老鬼傻瓜式讲解网络知识:网络设备如何通过IP地址获取设备MAC地址...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 如果你的年龄大于18_py
- 下一篇: python中词云图怎样变成特殊图案_如