第四章 地址解析協(xié)議 arp(僅限于ipv4)

由硬件交換的幀需要使用正確的硬件地址定位到正確的接口;否則,無法傳輸數(shù)據(jù)晚吞。
一個傳統(tǒng)IPv4網(wǎng)絡(luò)需要使用自已的地址: 32位的IPv4地址器腋。一臺主機要將一個幀發(fā)送到另一臺主機艘刚,還需要要發(fā)往主機的物理地址
(這里的物理地址是數(shù)據(jù)幀即將要發(fā)往的主機,而不是數(shù)據(jù)幀最終要發(fā)往的主機)

地址解析協(xié)議

提供了IPv4地址和物理地址間的動態(tài)映射(自動執(zhí)行隨時間變化懊悯,不需要管理員重新配置)窗悯。就是能夠通過ip地址獲得物理地址区匣。用的方法就是喊一聲!

ARP僅用于IPv4, IPv6使用鄰居發(fā)現(xiàn)協(xié)議,它被合并人ICMPv6

網(wǎng)絡(luò)層地址為IP地址,由網(wǎng)絡(luò)管理員蟀瞧,或者用戶指定分配沉颂,可隨時更改。
而數(shù)據(jù)鏈路層地址為物理地址悦污,是在網(wǎng)卡出場的時候?qū)懭刖W(wǎng)卡中铸屉,不能更改。
地址解析就是建立這兩個地址之間的映射關(guān)系切端。

兩個局域網(wǎng)的主機之間傳輸?shù)囊蕴W(wǎng)幀包含IP數(shù)據(jù)報時,由48位以太網(wǎng)地址確定該幀的目的接口彻坛。只有數(shù)據(jù)幀達位于同一IP子網(wǎng)的系統(tǒng)時, ARP才能工作。(數(shù)據(jù)幀貌似一直都只在不同的子網(wǎng)中傳播的吧踏枣。)

例如:
同一子網(wǎng)中的兩臺計算機要進行通信:

  1. 使用子網(wǎng)掩碼判斷目標主機與源主機位于同一子網(wǎng)中昌屉。(假設(shè)沒有arp緩存)
    在這一步的時候已經(jīng)到了鏈路層
  2. 在一個共享的鏈路層網(wǎng)段上, 源主機ARP向所有主機發(fā)送一個稱為ARP請求的以太網(wǎng)幀。這被稱為鏈路層廣播茵瀑。
    who has .....
  3. 某個主機使用請求中指出的IPv4地址,它需要響應(yīng)一個ARP應(yīng)答间驮。
    不同虛擬局域網(wǎng)中的主機不會收到
  4. 收ARP請求的源主機學(xué)習(xí)(也就是記錄)IPv4到MAC地址的映射,并記錄在內(nèi)存中供以后使用。
  5. 源主機可將數(shù)據(jù)報封裝在以太網(wǎng)幀中直接發(fā)送到目的主機马昨。
    由于這個以太網(wǎng)地址僅指向正確的目的主機,其他主機或路由器接收到這個數(shù)據(jù)包以檢測物理地址與自己的不匹配竞帽,然后扔掉了。
  6. 同一子網(wǎng)中的路由器通信不需要經(jīng)過路由器
    他經(jīng)過交換機:枧酢R俾ā!
    同一網(wǎng)段內(nèi)的兩臺主機通信是否需要路由器

ARP緩存

IPv4地址映射到硬件地址后匙奴,將這個這一個映射關(guān)系(也就是這個鍵值對)存起來堆巧,對應(yīng)于高速緩存中的一個條目,其正常到期時間是條目創(chuàng)建開始后的20分鐘。

使用arp -a查看

arp緩存

動態(tài)是指主動學(xué)習(xí)(通過arp獲得的)泼菌,而靜態(tài)就是手動輸入谍肤。

linux下是一欄flag,對應(yīng)window的類型哗伯。
可能為C谣沸、M、P笋颤。
C類條目由ARP協(xié)議動態(tài)學(xué)習(xí)也就是接收到數(shù)據(jù)報就記錄了, M類條目通過手工輸人,而P類條目的含義是“發(fā)布”,也就是主動獲取的。

幀格式

arp幀格式

注意這個圖伴澄,這是完整的以太網(wǎng)幀赋除,黑色是有效荷載部分,所以他是鏈路層的非凌,不是ip層的举农。

  1. DST:目的地址 6B
    也就是接受這個數(shù)據(jù)幀的下一臺主機的物理地址。
    在arp中通常不知道采取詢問敞嗡,所以物理地址為全f
    對于ARP請求,目的以太網(wǎng)地址ff:ff:ff:ff:ff:ff(全部為1)是廣播地址,在同一廣播域中的所有以太網(wǎng)接日可接收這些幀颁糟。
  2. SRC:源地址 6B
    發(fā)送該數(shù)據(jù)幀主機的物理地址。
  3. 長度或類型 2B
    arp中必須為0x0806喉悴。
  4. 接下來的 8B
    長度/類型字段之后的前4個宇段指定了隨后4個字段的類型和大小棱貌。
    硬件類型字段指出硬件地址類型,對于以太網(wǎng)該值為1箕肃。
    協(xié)議類型字段指出映射的協(xié)議地址類型婚脱。對于IPv4地址,該值為0x0800
    硬件大小和協(xié)議大小分別指出硬件地址和協(xié)議地址的字節(jié)數(shù)勺像,以太網(wǎng)中使用IPv4地址的ARP請求或應(yīng)答.它們的值分別為6和4障贸。物理地址長度6,ip地址長度4
  5. Op 2B
    op字段指出該操作是ARP請求(1)吟宦、 ARP應(yīng)答(2)篮洁、 RARP請求(3)或RARP應(yīng)答(4)。
    由于ARP請求和ARP應(yīng)答的長度/類型字段相同.因此這個字段是必需的殃姓。
  6. 發(fā)送方物理地址袁波,發(fā)送方協(xié)議地址 10B
  7. 接收方物理地址,發(fā)送方協(xié)議地址 10B
    對于各arp請求辰狡,其目的硬件地址為全0

當一個系統(tǒng)接收到一個ARP請求.它填充自己的硬件地址.將兩個發(fā)送方地址和接收方地址互換.將Op
字段設(shè)為2.然后發(fā)送生成的應(yīng)答锋叨。

arp請求

arp請求
arp請求——紅色為分割點

嗯就這些。

也可能是42bit

arp應(yīng)答

arp應(yīng)答

其目的主機物理地址應(yīng)該被填充的宛篇。

目的主機發(fā)送ARP應(yīng)答外,它還會在ARP緩存中保存請求者的硬件地址和IP地

arp緩存

一般有效期為20分鐘娃磺,不完整的arp為3分鐘(只發(fā)送了請求,但是沒有收到回應(yīng))
軟狀態(tài)?超時前沒有被更新而丟棄的信息叫倍。

ARP代理

有那么一臺無聊的主機偷卧,準們回答arp請求的。
這個作用沒搞懂吆倦,用于隱藏目的主機听诸。
比如,訪問谷歌蚕泽。但是晌梨,卻被代理arp返回了錯誤的物理地址桥嗤。我們和谷歌永別了。

主機不存在

如果嘗試訪問一個不存在的主機仔蝌,會首先卡死在arp上泛领,因為主機不存在,根本沒有人會回應(yīng)這條請求敛惊。

免費arp

與普通的arp請求一樣渊鞋,不期望收到回復(fù),如果收到就是有沖突了

  1. 允許一臺主機確定另一臺主機是否配置相同的IPv4地址瞧挤。
    如果ip沖突,什么都不顯示锡宋,就是不讓你上網(wǎng)。
  2. 更改主機的物理地址(換硬件之類的)

ARP探測分組和通告分組

探測用于檢測是否有使用這個ip的特恬,通告用于高速別的主機执俩,我已經(jīng)使用了這個ip
通告之前需要先探測

ipv4地址沖突檢測 ACD,使用arp分組鸵鸥,將發(fā)送方協(xié)議地址設(shè)置為9奠滑,避免污染已經(jīng)緩存的arp緩存(如果ip地址被使用,那么可能已經(jīng)緩存arp妒穴,所以要避免這種情況)宋税,這是與免費arp的主要區(qū)別。
如果收到arp回復(fù)讼油,那么表明候選的ip(請求使用ip主機選擇的ip地址)已經(jīng)被使用杰赛。
如果沒有收到請求,就會想廣播域中發(fā)送2個arp通告矮台,表明它已經(jīng)在使用這個ip地址了乏屯。
arp通告將發(fā)送方協(xié)議地址和目的協(xié)議地址填充為候選的ipv4地址。

arp分配ip地址

使用主機配置嵌入式設(shè)備的ip

不常用瘦赫,一般都是DHCP分配
但是有一些嵌入式設(shè)備不能手動獲取的時候辰晕。

一個主機先生成一個ip-mac映射,其中mac為嵌入設(shè)備的物理地址确虱,ip為任選一個不沖突的含友。
然后向嵌入設(shè)備發(fā)送一個數(shù)據(jù)包,此時設(shè)備接收到一個以自己物理地址為目標地址的數(shù)據(jù)幀時校辩,這個設(shè)備可以用數(shù)據(jù)幀中的ip完成配置窘问。
這需要嵌入設(shè)備的配合和主機的配合。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末宜咒,一起剝皮案震驚了整個濱河市惠赫,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌故黑,老刑警劉巖儿咱,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件庭砍,死亡現(xiàn)場離奇詭異,居然都是意外死亡概疆,警方通過查閱死者的電腦和手機逗威,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來岔冀,“玉大人,你說我怎么就攤上這事概耻∈固祝” “怎么了?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵鞠柄,是天一觀的道長侦高。 經(jīng)常有香客問我,道長厌杜,這世上最難降的妖魔是什么奉呛? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮夯尽,結(jié)果婚禮上瞧壮,老公的妹妹穿的比我還像新娘。我一直安慰自己匙握,他們只是感情好咆槽,可當我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著圈纺,像睡著了一般秦忿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蛾娶,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天灯谣,我揣著相機與錄音,去河邊找鬼蛔琅。 笑死胎许,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的揍愁。 我是一名探鬼主播呐萨,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼莽囤!你這毒婦竟也來了谬擦?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤朽缎,失蹤者是張志新(化名)和其女友劉穎惨远,沒想到半個月后谜悟,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡北秽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年葡幸,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贺氓。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡蔚叨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出辙培,到底是詐尸還是另有隱情蔑水,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布扬蕊,位于F島的核電站搀别,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏尾抑。R本人自食惡果不足惜歇父,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望再愈。 院中可真熱鬧榜苫,春花似錦、人聲如沸践磅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽府适。三九已至羔飞,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間檐春,已是汗流浹背逻淌。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留疟暖,地道東北人卡儒。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像俐巴,于是被迫代替她去往敵國和親骨望。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容