本文主要講述了ARP的作用、ARP分組格式、ARP高速緩存、免費(fèi)ARP和代理ARP。

1.學(xué)習(xí)ARP前要了解的內(nèi)容

建立TCP連接與ARP的關(guān)系

應(yīng)用接受用戶提交的數(shù)據(jù),觸發(fā)TCP建立連接,TCP的第一個(gè)SYN報(bào)文通過(guò)connect函數(shù)到達(dá)IP層,IP層通過(guò)查詢路由表:

  如果目的IP和自己在同一個(gè)網(wǎng)段

  當(dāng)IP層的ARP高速緩存表中存在目的IP對(duì)應(yīng)的MAC地址時(shí),則調(diào)用網(wǎng)絡(luò)接口send函數(shù)(參數(shù)為IP Packet和目的MAC))將數(shù)據(jù)提交給網(wǎng)絡(luò)接口,網(wǎng)絡(luò)接口完成Ethernet Header + IP + CRC的封裝,并發(fā)送出去;

  當(dāng)IP層的ARP高速緩存表中存在目的IP對(duì)應(yīng)的MAC地址時(shí),則IP層將TCP的SYN緩存下來(lái),發(fā)送ARP廣播請(qǐng)求目的IP的MAC,收到ARP應(yīng)答之后,將應(yīng)答之中的<IP地址,對(duì)應(yīng)的MAC>對(duì)緩存在本地ARP高速緩存表中,然后完成TCP SYN的IP封裝,調(diào)用網(wǎng)絡(luò)接口send函數(shù)(參數(shù)為IP Packet和目的MAC))將數(shù)據(jù)提交給網(wǎng)絡(luò)接口,網(wǎng)絡(luò)接口完成Ethernet Header + IP + CRC的封裝,并發(fā)送出去;。

  如果目的IP地址和自己不在同一個(gè)網(wǎng)段,就需要將包發(fā)送給默認(rèn)網(wǎng)關(guān),這需

網(wǎng)友評(píng)論