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