1.ARP
提起 ARP 表必然先想起 ARP(address resolution protocol)協(xié)議,地址解析協(xié)議。
在實(shí)際應(yīng)用中,我們經(jīng)常遇到這樣的問題:已知一個(gè)機(jī)器的 IP 地址,但在實(shí)際網(wǎng)絡(luò)的鏈路上傳送數(shù)據(jù)幀時(shí),最終還是必須使用該網(wǎng)絡(luò)的硬件地址,需要知道其 MAC 地址。如果兩個(gè)都需要去記憶或輸入,大大增加了其繁瑣程度。地址解析協(xié)議 ARP 就是用來解決這樣的問題的。
由于 IP 協(xié)議使用了 ARP 協(xié)議,因此通常把 ARP 協(xié)議劃歸到網(wǎng)絡(luò)層。但 ARP 協(xié)議的用途是為了從網(wǎng)絡(luò)層使用 IP 地址,解析出在鏈路層使用的硬件地址。
每一臺(tái)主機(jī)都設(shè)有一個(gè) ARP 高速緩存,里面有本局域網(wǎng)上的各種主機(jī)和路由器的 IP 地址到硬件地址的映射表,表里面的內(nèi)容由 ARP 協(xié)議進(jìn)行動(dòng)態(tài)更新。表內(nèi)的數(shù)據(jù)會(huì)老化,達(dá)到老化時(shí)間會(huì)自動(dòng)刪除,在此通信時(shí),由 ARP 協(xié)議重新添加。
通信過程
有 PC0,PC1 兩臺(tái)主機(jī) , 使用思科的仿真模擬器能直觀的看出通信過程
PC0 向 PC1 發(fā)送一個(gè) ping 報(bào)文,向 PC0 輸入 1.1.1.3 然后開始發(fā)送,PC0 先查詢本地 APR 表查詢 1.1.1.3 對(duì)應(yīng) MAC 地址,但并沒查到,這種情況 PC0 在本局域網(wǎng)上廣播發(fā)送一個(gè) ARP 請(qǐng)求分組。ARP 請(qǐng)求分組的主要內(nèi)容是:
我的 IP 地址是 1.1.1.2,硬件地址是 xx-xx-xx-xx-xx-xx。我想知道 IP 地址為 1.1.1.3 的主機(jī)的硬件地址。
在本局域網(wǎng)上的所有主機(jī)上運(yùn)行的 ARP 進(jìn)程都會(huì)收到此 ARP 請(qǐng)求分組。PC1 的 IP 地址與 ARP 請(qǐng)求分組中要查詢的 IP 地址一致,就收下 ARP 請(qǐng)求分組,并向 PC0 發(fā)送 ARP 響應(yīng)分組,同時(shí)在這個(gè) ARP 響應(yīng)分組中寫入自己的硬件地址。其余主機(jī) ip 地址都與 ARP 請(qǐng)求要查詢的 ip 地址不一致,不做任何回應(yīng)。
響應(yīng)內(nèi)容為 :
我的 ip 地址是 1.1.1.3,我的硬件地址是 xx-xx-xx-xx-xx-xx
雖然 ARP 請(qǐng)求分組是廣播發(fā)送的,但 ARP 響應(yīng)分組是普通的單播,即從一個(gè)原地址發(fā)送到一個(gè)目的地址。
接下來 PC0 就可以使用剛獲取的 PC1MAC 地址,進(jìn)行 icmp 數(shù)據(jù)發(fā)送。
2.MAC 表
說到 MAC 表,就不得不說一下交換機(jī)的工作原理,因?yàn)榻粨Q機(jī)是根據(jù) MAC 地址轉(zhuǎn)發(fā)數(shù)據(jù)幀的。
當(dāng) PC0 發(fā)送 ARP 數(shù)據(jù)包,交換機(jī)會(huì)把數(shù)據(jù)包發(fā)往 PC0 之外的所有主機(jī),并在相應(yīng)包中記錄下相應(yīng) Mac 地址與接口數(shù)據(jù)。
當(dāng) PC0 向 PC1 發(fā)送一幀數(shù)據(jù),從 1 口進(jìn)到交換機(jī)。交換機(jī)收到幀后,根據(jù)幀中的目的 MAC 先查本地 MAC 表,沒有查到應(yīng)從哪個(gè)接口轉(zhuǎn)發(fā)這個(gè)幀。
接著,交換機(jī)把這個(gè)幀的源 MAC 和接口 1 寫入交換表中,并向除 1 以外的所有接口廣播這個(gè)幀,PC2 將此廣播幀丟棄,因?yàn)槟康牡刂凡粚?duì)。PC1 收下這個(gè)目的地址是自己 MAC 的數(shù)據(jù),并回應(yīng)數(shù)據(jù)包,此時(shí)交換機(jī)會(huì)把 PC1 的 MAC 和對(duì)應(yīng)接口 2 寫入表中。然后當(dāng) PC0 與 PC1 再次發(fā)送數(shù)據(jù)交換機(jī)可以根據(jù)目的 MAC 查表找出對(duì)應(yīng)的接口,將數(shù)據(jù)包直接送達(dá)對(duì)應(yīng)的主機(jī)。
考慮到有可能在交換機(jī)的接口更換主機(jī),或者主機(jī)要跟換主機(jī)更換網(wǎng)卡,這時(shí)交換機(jī)中 MAC 表也是動(dòng)態(tài)的、有自己的老化時(shí)間,會(huì)自動(dòng)刪除相關(guān)數(shù)據(jù)。
當(dāng)交換機(jī)中一臺(tái)主機(jī)突然從2 口切換到3 口,交換機(jī)收到的此主機(jī)的數(shù)據(jù)仍然會(huì)發(fā)送到原端口2 口就會(huì)出現(xiàn)超時(shí)情況,直到 Mac 中數(shù)據(jù)更新,或者手動(dòng)把交換機(jī)斷電重啟重更新 Mac 表數(shù)據(jù)。
3.路由表
說起路由表,就不得不提起路由器。(此處的路由器與家用路由器略有不同,家用路由器集成了路由器和交換機(jī)的功能為了更方便用戶使用)路由器是一種具有多個(gè)輸入端口和多個(gè)輸出端口的專用設(shè)備也可稱為計(jì)算機(jī)。其任務(wù)是轉(zhuǎn)發(fā)分組。路由器結(jié)構(gòu)由兩部分組成:路由選擇部分和分組轉(zhuǎn)發(fā)部分。
路由器工作在網(wǎng)絡(luò)層,主要功能就是實(shí)現(xiàn)跨網(wǎng)段傳輸數(shù)據(jù)。
如上圖:一網(wǎng)段的主機(jī)要與其他網(wǎng)段的主機(jī)通信,則數(shù)據(jù)會(huì)先發(fā)送給指定的網(wǎng)關(guān),也就是路由器,由路由器選擇網(wǎng)段繼續(xù)通信,所以發(fā)送的數(shù)據(jù)包起始中網(wǎng)絡(luò)層的 ip 地址不變,源 ip 地址就是當(dāng)前主機(jī)的 ip 地址,目的 ip 地址就是不同網(wǎng)段的主機(jī)的 ip 地址,但是鏈路層由于數(shù)據(jù)要先發(fā)給路由器,那么目的 mac 就是路由器的 mac 地址,然后路由器選擇其他網(wǎng)段,則源 mac 變成路由器另一個(gè)網(wǎng)口的 mac 地址,目的 mac 就是目標(biāo)主機(jī)的 mac 地址,所以整個(gè)過程網(wǎng)絡(luò)層的一直不變,但是鏈路層一直再變。
如上圖:由于現(xiàn)在是兩臺(tái)路由器和兩個(gè)網(wǎng)段的主機(jī),所以需要構(gòu)成三個(gè)局域網(wǎng),當(dāng)源主機(jī)跨網(wǎng)段與目標(biāo)主機(jī)通信時(shí),由于網(wǎng)段不同,數(shù)據(jù)會(huì)先發(fā)送給路由器,然后路由器再選擇對(duì)應(yīng)的目的網(wǎng)段,但是此時(shí)路由器另一端所在的網(wǎng)段與之目標(biāo)主機(jī)的網(wǎng)段不同,所以無法繼續(xù)向下發(fā)送,此時(shí)需要設(shè)置下一跳,下一跳的目的就是指定當(dāng)前自己網(wǎng)段的主機(jī)要訪問其他網(wǎng)段的主機(jī)時(shí)從這個(gè)路由器應(yīng)該跳到哪個(gè)路由器,只要設(shè)置了,就可以直接發(fā)送數(shù)據(jù)到指定的路由器,整個(gè)過程就完成
1,當(dāng)網(wǎng)絡(luò)中有多個(gè)路由器是,兩個(gè)主機(jī)需要通信路由器需要記錄下一跳信息,下一跳的目的就是指定當(dāng)前自己網(wǎng)段的主機(jī)要訪問其他網(wǎng)段的主機(jī)時(shí)從這個(gè)路由器應(yīng)該跳到哪個(gè)路由器
2, 路由表記錄著下一跳。
路由表中記錄著不同網(wǎng)段的信息。路由表中記錄的信息有的需要手動(dòng)添加(稱為靜態(tài)路由表),通過路由協(xié)議自動(dòng)獲取的(稱為動(dòng)態(tài)路由表),我們的主機(jī)直接連到路由器上(中間無三層網(wǎng)絡(luò)設(shè)備)這種情況是直連路由,屬于靜態(tài)路由。
路由選擇處理機(jī)的任務(wù)是根據(jù)所選定的路由選擇協(xié)議(路由協(xié)議后續(xù)在做總結(jié))構(gòu)造出路由表,同時(shí)經(jīng)?;蚨ㄆ诤拖噜徛酚善鹘粨Q路由信息而不斷地跟新和維護(hù)路由表。
審核編輯:劉清
-
局域網(wǎng)
+關(guān)注
關(guān)注
5文章
757瀏覽量
46308 -
路由器
+關(guān)注
關(guān)注
22文章
3734瀏覽量
113968 -
Mac
+關(guān)注
關(guān)注
0文章
1107瀏覽量
51538
原文標(biāo)題:網(wǎng)絡(luò)中的三張表——ARP表,MAC表,路由表
文章出處:【微信號(hào):通信弱電交流學(xué)習(xí),微信公眾號(hào):通信弱電交流學(xué)習(xí)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論