建設(shè)網(wǎng)站上傳軟件海淀區(qū)seo引擎優(yōu)化
目錄
一、ARP協(xié)議概述
二、使用ARP的四種情況
三、ARP緩存
四、ARP的工作原理
1. 地址解析
2. 地址緩存
五、ARP報(bào)文格式
1. ARP請(qǐng)求報(bào)文格式
2. ARP響應(yīng)報(bào)文格式
六、免費(fèi)ARP
七、代理ARP
一、ARP協(xié)議概述
?
ARP(Address Resolution Protocol)地址解析協(xié)議是一種用于將IP地址解析為物理地址的協(xié)議。在TCP/IP協(xié)議中,數(shù)據(jù)包的傳輸需要知道目標(biāo)主機(jī)的MAC地址,而IP地址只是邏輯地址,不能直接用于數(shù)據(jù)包的傳輸。因此,需要使用ARP協(xié)議將IP地址轉(zhuǎn)換為MAC地址,以便數(shù)據(jù)包能夠正確地傳輸?shù)侥繕?biāo)主機(jī)。
ARP協(xié)議是一種無連接協(xié)議,它不需要建立連接就可以進(jìn)行地址解析。它是在網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層之間進(jìn)行的,因此可以在不同的數(shù)據(jù)鏈路層上使用。
二、使用ARP的四種情況
1. 主機(jī)向本地網(wǎng)絡(luò)中的其他主機(jī)發(fā)送數(shù)據(jù)包時(shí),需要將目標(biāo)主機(jī)的IP地址轉(zhuǎn)換為MAC地址,以便數(shù)據(jù)包能夠正確地傳輸?shù)侥繕?biāo)主機(jī)。
2. 主機(jī)向本地網(wǎng)絡(luò)中的路由器發(fā)送數(shù)據(jù)包時(shí),需要將路由器的IP地址轉(zhuǎn)換為MAC地址,以便數(shù)據(jù)包能夠正確地傳輸?shù)铰酚善鳌?/strong>
3. 路由器向本地網(wǎng)絡(luò)中的主機(jī)發(fā)送數(shù)據(jù)包時(shí),需要將目標(biāo)主機(jī)的IP地址轉(zhuǎn)換為MAC地址,以便數(shù)據(jù)包能夠正確地傳輸?shù)侥繕?biāo)主機(jī)。
4. 路由器向其他網(wǎng)絡(luò)中的主機(jī)發(fā)送數(shù)據(jù)包時(shí),需要將下一跳路由器的IP地址轉(zhuǎn)換為MAC地址,以便數(shù)據(jù)包能夠正確地傳輸?shù)较乱惶酚善鳌?/strong>
三、ARP緩存
ARP緩存是指主機(jī)或路由器中存儲(chǔ)的IP地址和MAC地址的映射表。當(dāng)主機(jī)或路由器需要將IP地址轉(zhuǎn)換為MAC地址時(shí),首先會(huì)在ARP緩存中查找是否已經(jīng)存在該映射關(guān)系。如果存在,則直接使用該映射關(guān)系進(jìn)行地址解析;如果不存在,則需要發(fā)送ARP請(qǐng)求報(bào)文進(jìn)行地址解析。
ARP緩存中的映射關(guān)系是有時(shí)限的,一般為幾分鐘到幾小時(shí)不等。當(dāng)映射關(guān)系過期時(shí),主機(jī)或路由器會(huì)重新發(fā)送ARP請(qǐng)求報(bào)文進(jìn)行地址解析,并更新ARP緩存中的映射關(guān)系。
四、ARP的工作原理
?
ARP協(xié)議的工作原理可以分為兩個(gè)步驟:地址解析和地址緩存。
1. 地址解析
當(dāng)主機(jī)或路由器需要將IP地址轉(zhuǎn)換為MAC地址時(shí),首先會(huì)在ARP緩存中查找是否已經(jīng)存在該映射關(guān)系。如果存在,則直接使用該映射關(guān)系進(jìn)行地址解析;如果不存在,則需要發(fā)送ARP請(qǐng)求報(bào)文進(jìn)行地址解析。
ARP請(qǐng)求報(bào)文中包含了源主機(jī)的MAC地址和IP地址,以及目標(biāo)主機(jī)的IP地址。當(dāng)目標(biāo)主機(jī)收到ARP請(qǐng)求報(bào)文時(shí),會(huì)將自己的MAC地址和IP地址封裝在ARP響應(yīng)報(bào)文中返回給源主機(jī)。源主機(jī)收到ARP響應(yīng)報(bào)文后,將目標(biāo)主機(jī)的MAC地址和IP地址存儲(chǔ)在ARP緩存中,并使用該映射關(guān)系進(jìn)行地址解析。
2. 地址緩存
當(dāng)主機(jī)或路由器成功地進(jìn)行了地址解析后,會(huì)將IP地址和MAC地址的映射關(guān)系存儲(chǔ)在ARP緩存中。當(dāng)下一次需要進(jìn)行地址解析時(shí),主機(jī)或路由器會(huì)首先在ARP緩存中查找是否已經(jīng)存在該映射關(guān)系。如果存在,則直接使用該映射關(guān)系進(jìn)行地址解析;如果不存在,則需要重新發(fā)送ARP請(qǐng)求報(bào)文進(jìn)行地址解析。
ARP緩存中的映射關(guān)系是有時(shí)限的,一般為幾分鐘到幾小時(shí)不等。當(dāng)映射關(guān)系過期時(shí),主機(jī)或路由器會(huì)重新發(fā)送ARP請(qǐng)求報(bào)文進(jìn)行地址解析,并更新ARP緩存中的映射關(guān)系。
五、ARP報(bào)文格式
ARP報(bào)文分為ARP請(qǐng)求報(bào)文和ARP響應(yīng)報(bào)文,它們的格式如下:
1. ARP請(qǐng)求報(bào)文格式
| 2 bytes | 2 bytes | 1 byte | 1 byte | 2 bytes | 6 bytes | 4 bytes | 6 bytes | 4 bytes |
|---------|---------|--------|--------|---------|---------|---------|---------|---------|
| Hardware Type | Protocol Type | HLEN | PLEN | Operation | Sender MAC Address | Sender IP Address | Target MAC Address | Target IP Address |
- Hardware Type:表示硬件類型,如以太網(wǎng)、令牌環(huán)等。
- Protocol Type:表示協(xié)議類型,如IP、IPX等。
- HLEN:表示硬件地址長(zhǎng)度,如以太網(wǎng)地址長(zhǎng)度為6個(gè)字節(jié)。
- PLEN:表示協(xié)議地址長(zhǎng)度,如IP地址長(zhǎng)度為4個(gè)字節(jié)。
- Operation:表示操作類型,如ARP請(qǐng)求為1,ARP響應(yīng)為2。
- Sender MAC Address:表示發(fā)送方的MAC地址。
- Sender IP Address:表示發(fā)送方的IP地址。
- Target MAC Address:表示目標(biāo)主機(jī)的MAC地址,由于是ARP請(qǐng)求報(bào)文,該字段為空。
- Target IP Address:表示目標(biāo)主機(jī)的IP地址。
2. ARP響應(yīng)報(bào)文格式
| 2 bytes | 2 bytes | 1 byte | 1 byte | 2 bytes | 6 bytes | 4 bytes | 6 bytes | 4 bytes |
|---------|---------|--------|--------|---------|---------|---------|---------|---------|
| Hardware Type | Protocol Type | HLEN | PLEN | Operation | Sender MAC Address | Sender IP Address | Target MAC Address | Target IP Address |
- Hardware Type:表示硬件類型,如以太網(wǎng)、令牌環(huán)等。
- Protocol Type:表示協(xié)議類型,如IP、IPX等。
- HLEN:表示硬件地址長(zhǎng)度,如以太網(wǎng)地址長(zhǎng)度為6個(gè)字節(jié)。
- PLEN:表示協(xié)議地址長(zhǎng)度,如IP地址長(zhǎng)度為4個(gè)字節(jié)。
- Operation:表示操作類型,如ARP請(qǐng)求為1,ARP響應(yīng)為2。
- Sender MAC Address:表示發(fā)送方的MAC地址。
- Sender IP Address:表示發(fā)送方的IP地址。
- Target MAC Address:表示目標(biāo)主機(jī)的MAC地址。
- Target IP Address:表示目標(biāo)主機(jī)的IP地址。
六、免費(fèi)ARP
免費(fèi)ARP是指主機(jī)或路由器在更新自己的ARP緩存時(shí),向本地網(wǎng)絡(luò)中的其他主機(jī)發(fā)送ARP響應(yīng)報(bào)文,以便更新其他主機(jī)的ARP緩存。免費(fèi)ARP的作用是加快網(wǎng)絡(luò)中主機(jī)之間的通信速度,減少ARP請(qǐng)求報(bào)文的發(fā)送次數(shù)。
舉個(gè)例子,當(dāng)主機(jī)A更換了自己的MAC地址時(shí),它會(huì)向本地網(wǎng)絡(luò)中的其他主機(jī)發(fā)送免費(fèi)ARP響應(yīng)報(bào)文,以便更新其他主機(jī)的ARP緩存。這樣,其他主機(jī)在向主機(jī)A發(fā)送數(shù)據(jù)包時(shí),就可以直接使用新的MAC地址,而不需要發(fā)送ARP請(qǐng)求報(bào)文進(jìn)行地址解析。
七、代理ARP
代理ARP是指路由器在收到ARP請(qǐng)求報(bào)文時(shí),向本地網(wǎng)絡(luò)中的其他主機(jī)發(fā)送ARP響應(yīng)報(bào)文,以便代替目標(biāo)主機(jī)進(jìn)行地址解析。代理ARP的作用是解決網(wǎng)絡(luò)中存在的子網(wǎng)劃分問題,使得不同子網(wǎng)中的主機(jī)能夠進(jìn)行通信。
舉個(gè)例子,當(dāng)主機(jī)A向主機(jī)B發(fā)送數(shù)據(jù)包時(shí),如果主機(jī)A和主機(jī)B不在同一個(gè)子網(wǎng)中,那么主機(jī)A需要將數(shù)據(jù)包發(fā)送給路由器,由路由器進(jìn)行轉(zhuǎn)發(fā)。在這個(gè)過程中,主機(jī)A需要將目標(biāo)主機(jī)的IP地址轉(zhuǎn)換為MAC地址,但是它并不知道主機(jī)B的MAC地址。這時(shí),路由器就可以使用代理ARP的方式,向主機(jī)A發(fā)送ARP響應(yīng)報(bào)文,以便代替主機(jī)B進(jìn)行地址解析。這樣,主機(jī)A就可以正確地將數(shù)據(jù)包發(fā)送給主機(jī)B了。