1. 程式人生 > >ARP解析MAC地址的全過程(ARP的工作機制)

ARP解析MAC地址的全過程(ARP的工作機制)

乙太網環境下,同一個網段的主機之間需要互相知道對方的MAC地址,才能訪問。

TCP/IP協議棧從上層到下層的封裝過程中,第三層封裝需要知道目的IP,第二層封裝需要知道目的MAC。

目的IP一般由使用者手工輸入,或者由應用程式填充,也可以通過名稱解析系統解析得到,而目的MAC就需要使用ARP來解析

ARP解析MAC地址的過程:

第一步:

上層應用產生資料,這裡用FTP協議為例,在FTP協議中定位了目的IP。

第二步:

那麼,封裝的過程如下:

  • 應用層:需要FTP的控制資訊,包括使用者名稱、密碼等;
  • 傳輸層:目的埠號為21,源為隨機埠號;
  • 網路層:目的IP為172.16.1.200,源IP為172.16.1.1;
  • 資料鏈路層:因為不知道目的IP 172.16.1.200對應的MAC,所以目的IP到目的MAC的封裝對映失敗;

三層到二層的封裝失敗,由於二層是乙太網,ARP的工作機制便會產生ARP Request去解析目的MAC,此時,源MAC為資料發起者的MAC,目的MAC地址為FFFF:FFFF:FFFF(代表所有MAC)

第三步:

ARP Request到達本網段中的所有裝置上,因為目的為FFFF:FFFF:FFFF,所以所有裝置都可以拆掉二層的封裝,然後解讀ARP資料包中需要解析的目的IP。

第四步:

目的IP不正確的裝置直接忽略這個ARP請求包,目的IP正確的裝置,會產生一個ARP Reply去迴應這個ARP Request。

此時,二層的源MAC為被解析裝置的MAC,目的為ARP解析發起者的MAC。

第五步:

資料的發起者接到ARP Reply後,將目的IP與目的MAC的對應關係新增到自己的ARP表中。

第六步:

之前未完成二層封裝的FTP資料,這時重新開始封裝二層頭部,此時,正確的目的MAC就被封裝到了整個資料幀中。

只有完成了整個TCP/IP協議棧封裝的資料幀,才能正常的從主機上發出去。

這就是ARP解析MAC地址的整個過程。

相關推薦

ARP解析MAC地址全過程ARP工作機制

乙太網環境下,同一個網段的主機之間需要互相知道對方的MAC地址,才能訪問。 TCP/IP協議棧從上層到下層的封裝過程中,第三層封裝需要知道目的IP,第二層封裝需要知道目的MAC。 目的IP一般由使用者手工輸入,或者由應用程式填充,也可以通過名稱解析系統解析得到,而目的MAC就需要使用ARP來解析。 ARP解

Windows 7下用arp命令繫結IP和MAC地址,提示“ARP 項新增失敗: 拒絕訪問”的解決方法

在Win 7版本以管理員身份執行時提示:“ARP 項新增失敗:請求的操作需要提升。”    解決辦法: CMD中輸入:netsh i  i show in  //注意兩個i之間是有空格的 然後找到“本地連線”對應的 “Idx” (我的是

網路傳輸中的三張表,MAC地址表、ARP快取表以及路由表

一:MAC地址表詳解   說到MAC地址表,就不得不說一下交換機的工作原理了,因為交換機是根據MAC地址錶轉發資料幀的。在交換機中有一張記錄著區域網主機MAC地址與交換機介面的對應關係的表,交換機就是根據這張表負責將資料幀傳輸到指定的主機上的。   交換機的工作原理   交換機在接收到資料幀以後,首先、

MAC地址表、ARP快取表、路由表及交換機、路由器基本原理

MAC地址表    說到MAC地址表,就不得不說一下交換機的工作原理了,因為交換機是根據MAC地址錶轉發資料幀的。在交換機中有一張記錄著區域網主機MAC地址與交換機介面的對應關係的表,交換機就是根據這張表負責將資料幀傳輸到指定的主機上的。    交換機的工作原理    交換機

分析 PPTV 視訊真實播放地址全過程Java版

原文地址:https://www.52pojie.cn/thread-840710-1-1.html   分析視訊地址有什麼用?有些朋友經常會問到這個問題,其實這也是思維肌肉訓練的問題。我舉一個宋老師講過的例子(天氣預報和投資機會之間的關係)。說加勒比海出現熱帶颶風,普通小白看到這

openwrt預設mac地址配置MT7620a

對於MT7620a,預設的mac地址都是儲存在factory分割槽,具體為: 1.offset 0x04 WIIF MAC 2.offset 0x28 LAN MAC 3.offset 0x2E WAN MAC fact

JSON 解析工具的封裝FastJSON-->Java

str ras bool return pass pre mail lar 格式化json 1.添加依賴包 <dependency> <groupId>com.alibaba</groupId> <a

C#儀器數據文件解析-Excel文件xls、xlsx

sheet 解析 工作站 row 問題 .get 壓縮 安裝 shee 不少儀器工作站可以將數據導出為Excel文件,包括97-2003版本的xls文件和2007+的xlsx文件。 采集Excel文件相比采集pdf文件更容易、程序更健壯,畢竟Excel中數據有明確的行、列

C#儀器數據文件解析-Word文件doc、docx

new read ffi 數據文件 word 不同 軟件 情況下 如果 不少儀器數據報告輸出為Word格式文件,同Excel文件,Word文件doc和docx的存儲格式是不同的,相應的解析Word文件的方式也類似,主要有以下方式: 1.通過MS Word應用程序的DCOM

git系列9分支工作流程

簡單的 git 使用 另一個 重要 刪除 自動 進行 不同 img 長期分支 由於 Git 使用簡單的三方合並,所以就算在較長一段時間內,反復多次把某個分支合並到另一分支,也不是什麽難事。也就是說,你可以同時擁有多個開放的分支,每個分支用於完成特定的任務,隨著開發的推進,我

Python全棧day18叠代器協議和for循環工作機制

內部 highlight next 計算 內置函數 如何 異常 初始 一次循環 一,什麽是叠代和遞歸   遞歸和叠代都是循環的一種。   簡單地說,遞歸是重復調用函數自身實現循環。叠代是函數內某段代碼實現循環,而叠代與普通循環的區別是:循環代碼中參與運算的變量同時是保存結果

USBasp制作資料及全過程菜鳥版

targe 在線 get nbsp 連續 details fis bili 編程 源:USBasp制作資料及全過程(菜鳥版) 一、usbasp 的一般性介紹: 1、下載線,是“ISP”(In System Programmability:

Mac Hadoop2.6CDH5.9.2偽分布式集群安裝

home address oca tno 操作系統 fault locate java contents 操作系統: MAC OS X 一、準備 1、 JDK 1.8   下載地址:http://www.oracle.com/technetwork/java/javase

全新 Mac 安裝指南編程篇環境變量、Shell 終端、SSH 遠程連接

本地應用 pix 字符 CI sub 環境變量 c4c compare bus 註:本文專門用於指導對計算機編程與設計(尤其是互聯網產品開發與設計)感興趣的 Mac 新用戶,如何在 Mac OS X 系統上配置開發與上網環境,另有《全新 Mac 安裝指南(通用篇)》作為本安

寫給準備找實習、工作同學的一封信工作指南

你不是在學習如何寫程式碼,而是學習如何解決問題。 因此你的核心競爭力是思考的力量,而不是程式碼寫得多麼好! 這句話首先送給準備找工作的同學們,也是自己面試的收穫。 其實找工作更多的是運氣,心態和實力,運氣這個當然只能是把握機會了,遇到的面試官都比較好,實在不行就靠轉錦鯉吧 心態呢

CentOS7下靜態ip地址分配Hadoop叢集搭建

作業系統是CentOS 在搭建Hadoop過程中,發現每一次啟動虛擬機器,ip地址就會變化。 這是由於一開始安裝CentOS的時候,有一個自動連線乙太網,他會自動給你分配ip地址,但是我們往往需要的是另一個。 首先看我的主機對映, 可以看到131,132,133 對應是,主機,

不要阻塞事件迴圈工作

原文: Don’t Block the Event Loop (or the Worker Pool) 你應該閱讀本指南嗎? 如果您編寫比命令列指令碼更復雜的程式,那麼閱讀本文可以幫助您編寫效能更高,更安全的應用程式。 在編寫本文件時,主要是基於Node伺服器。但裡面的原則也適用

02.Fabric原始碼解析---peer命令結構王雅震

Fabric原始碼解析2——peer命令結構 peer目錄結構 peer目錄結構自身十分清晰,一個main.go檔案,其餘資料夾除common,gossip外均為子命令集合,有chaincode,channel,clilogging,node,version五個,各司其職,供main

pdf expert 2019破解版限免註冊碼|pdf expert mac破解版附序列號

pdf expert 2019破解版想要在Mac上編輯PDF文件可不是一件容易的事情,但是如果有一款專門為Mac準備的(限免註冊碼)|pdf expert mac破解版(附序列號)那就另當別論了。 PDF Expert for mac 2019中文 破解版點選下載 PDF Expert for mac 2

SourceTree for mac 註冊過程v2.7.6a

ogl har git工具 打開 source 自己的 記錄 頁面 pycha 背景 為啥要自己註冊呢,往上一堆一堆的老版本許可證偏不用,就願意定制自己的賬號style。 搞了半天,還是覺得pycharm自帶的git工具就挺好用了,閑的沒事記錄一下。 要點 百度搜索的