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.6(CDH5.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工具就挺好用了,閑的沒事記錄一下。 要點 百度搜索的