网络基本知识(1) ARP解析
IP地址是一個(gè)32位的二進(jìn)制數(shù)(這里我們說的都是IPV4),通常用 " 點(diǎn)分十進(jìn)制 " 表示 ?“a.b.c.d”。地址分類的話,其實(shí)大多數(shù)同學(xué)都知道,我就大概的說一下:
A類:0.0.0.0~127.255.255.255.255;
B類:128.0.0.0~191.255.255.255;
C類:192.0.0.0~223.255.255.255;
D類:224.0.0.0~239.255.255.255;
E類:24.0.0.0~247.255.255.255;.
ABC三類地址稱為單播地址,用于標(biāo)識(shí)一個(gè)接口,D類地址稱為組播地址,這個(gè)后面有機(jī)會(huì)詳細(xì)介紹,E類地址暫時(shí)不用。
還有一個(gè)特別地址255.255.255.255,稱為廣播地址,可以被所有設(shè)備接收。
下面開始講arp協(xié)議,以太局域網(wǎng)的內(nèi)部通信需要知道鏈路層地址,即MAC地址。已經(jīng)知道了對方的IP地址,怎么才能獲取對方的MAC地址呢?
舉例:A要向B發(fā)數(shù)據(jù),但是目前只知道B的IP。
A向所有的喊一聲,誰的IP是X.X.X.X,告訴一下MAC地址?(這個(gè)就是廣播)
B收到之后就會(huì)回給A說,我的IP是X.X.X.X,MAC地址是......(這個(gè)是單播)
? ? ? ? 這樣的話A就拿到了B的MAC地址。
每個(gè)以太網(wǎng)設(shè)備都有一個(gè)唯一的屬于自己的MAC地址,叫做單播MAC地址,例如48:EA:33:05:33:45,目的MAC為該地址的以太幀只有它才會(huì)接收。有一個(gè)特別的MAC地址"FF:FF:FF:FF:FF:FF",它對應(yīng)于局域網(wǎng)上的所有設(shè)備,只要給這個(gè)MAC地址發(fā)送報(bào)文,局域網(wǎng)上的所有設(shè)備都會(huì)接收,這個(gè)MAC地址稱為廣播MAC地址。另外還有一類地址,對應(yīng)于以太網(wǎng)上的一組特定的設(shè)備,這類MAC地址叫做組播MAC地址,目的為組播MAC地址的以太幀,只要加入到這個(gè)組播組的設(shè)備才會(huì)接收。
當(dāng)A不知道B的MAC地址的時(shí)候,他會(huì)發(fā)送一個(gè)ARP請求報(bào)文,通常是一個(gè)廣播以太幀。大意是“誰知道192.168.1.10的MAC地址是多少,告訴我192.168.1.100”,然后在發(fā)送者地址字段填上自己的MAC地址:46:e3:54:21:43:65.既然不知道對方的MAC地址,目的MAC地址的話就填廣播MAC地址“FF:FF:FF:FF:FF”。
當(dāng)B收到這個(gè)報(bào)文一看,有人在問我的MAC地址,那就告訴他吧。然后發(fā)送一個(gè)ARP應(yīng)答報(bào)文,通常是一個(gè)單播以太幀。大意就是“192.168.1.10的MAC地址是45:32:56:44:78:21,目的MAC的話就是請求人的MAC地址”。還要把對方的IP和MAC地址保存下來,下一次給A發(fā)報(bào)文的時(shí)候就不要詢問,這個(gè)就是ARP表項(xiàng)。
與此同時(shí),同一個(gè)局域網(wǎng)內(nèi)的其他設(shè)備都會(huì)受到A發(fā)送的廣播ARP請求以太幀,雖然他們不會(huì)回應(yīng),但是也會(huì)把A的IP和MAC地址保存下來,下次如果發(fā)送的話就不用發(fā)送ARP請求了。
上述的ARP學(xué)習(xí)過程是通過協(xié)議動(dòng)態(tài)獲取的,這樣的表項(xiàng)叫做動(dòng)態(tài)ARP,為了節(jié)省表項(xiàng)資源,ARP表項(xiàng)需要定期老化清楚。相對動(dòng)態(tài)ARP,也可以手動(dòng)ARP配置,這個(gè)叫做靜態(tài)ARP表項(xiàng)。
我們知道,以太幀用于局域網(wǎng)通信,同樣MAC地址只有在局域網(wǎng)內(nèi)有效,所以只有當(dāng)設(shè)備認(rèn)為自己與對方處于同一個(gè)局域網(wǎng)時(shí)候,才會(huì)通過ARP協(xié)議請求對方的MAC地址,然后將報(bào)文直接或通過交換機(jī)發(fā)送給對端設(shè)備,這個(gè)過程叫做二層轉(zhuǎn)發(fā)。否則,設(shè)備就不會(huì)將報(bào)文直接發(fā)送給對方,而是將報(bào)文發(fā)送給一個(gè)叫“網(wǎng)關(guān)”的設(shè)備,即路由器,通過網(wǎng)關(guān)轉(zhuǎn)發(fā)處于另一個(gè)局域網(wǎng)的目的設(shè)備,這個(gè)過程叫做三層轉(zhuǎn)發(fā)。
其實(shí)這里可以說一下,雖然ARP是處理的鏈路層的數(shù)據(jù),可是它是網(wǎng)絡(luò)層的協(xié)議,所以不是一個(gè)網(wǎng)段的話只能轉(zhuǎn)發(fā)給網(wǎng)關(guān),即使是連在一個(gè)交換機(jī)的兩個(gè)IP地址。
最后的話說一下免費(fèi)ARP吧,這個(gè)過程的話其實(shí)比較簡單,就是明知故問。有什么用呢??
當(dāng)一個(gè)設(shè)備獲得了一個(gè)IP或剛開機(jī)時(shí)候,為了確定自己的IP沒有被局域網(wǎng)內(nèi)的其他設(shè)備占用,通常會(huì)發(fā)送一個(gè)免費(fèi)ARP請求,如果局域網(wǎng)內(nèi)有其他設(shè)備已經(jīng)使用該IP,就會(huì)回應(yīng)一個(gè)ARP應(yīng)答,于是發(fā)送免費(fèi)ARP的設(shè)備就會(huì)給予系統(tǒng)提示(例如:IP地址沖突)。還有一種情況的話,就是設(shè)備IP對應(yīng)的MAC地址發(fā)生了變化,免費(fèi)ARP可以使得局域網(wǎng)被的其他設(shè)IP設(shè)備立刻刷新該設(shè)備的ARP表項(xiàng)。
今天就先到這里,2015年12月10日00:04:07。
總結(jié)
以上是生活随笔為你收集整理的网络基本知识(1) ARP解析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL之SELECT语句执行顺序及子句功
- 下一篇: redis入门(02)redis的常见问