arp協定在TCP/IP模型中屬於IP層(網路層),在OSI模型中屬於鏈路層。arp是地址解析協定,是根據IP地址獲取實體地址的一個TCP/IP協定,用於將計算機的網路地址(IP地址32位元)轉化為實體地址(MAC地址48位元);ARP協定是屬於鏈路層的協定,在乙太網中的資料框從一個主機到達網內的另一臺主機是根據48位元的乙太網地址來確定介面的。
本教學操作環境:windows7系統、Dell G3電腦。
arp是什麼協定?在哪一層?
arp協定,也稱地址解析協定,是根據IP地址獲取實體地址的一個TCP/IP協定。它可以解決同一個區域網內主機或路由器的IP地址和MAC地址的對映問題。arp協定在TCP/IP模型中屬於IP層(網路層),在OSI模型中屬於鏈路層。
在區域網中,網路中實際傳輸的是「幀」,幀裡面是有目標主機的MAC地址的。在乙太網中,一個主機要和另一個主機進行直接通訊,必須要知道目標主機的MAC地址。但這個目標MAC地址是如何獲得的呢?它就是通過地址解析協定獲得的。所謂「地址解析」就是主機在傳送幀前將目標IP地址轉換成目標MAC地址的過程。ARP協定的基本功能就是通過目標裝置的IP地址,查詢目標裝置的MAC地址,以保證通訊的順利進行。
ARP(AddressResolutionProtocol)地址解析協定用於將計算機的網路地址(IP地址32位元)轉化為實體地址(MAC地址48位元)[RFC826]。ARP協定是屬於鏈路層的協定,在乙太網中的資料框從一個主機到達網內的另一臺主機是根據48位元的乙太網地址(硬體地址)來確定介面的,而不是根據32位元的IP地址。核心(如驅動)必須知道目的端的硬體地址才能傳送資料。當然,對等的連線是不需要ARP協定的。
arp協定的功能
使用arp協定,可根據網路層IP封包包頭中的IP地址資訊解析出目標硬體地址(MAC地址)資訊,以保證通訊的順利進行。
OSI模型把網路工作分為七層,IP地址在OSI模型的第三層,MAC地址在第二層,彼此不直接打交道。在通過乙太網傳送IP封包時,需要先封裝第三層(32位元IP地址)、第二層(48位元MAC地址)的報頭,但由於傳送時只知道目標IP地址,不知道其MAC地址,又不能跨第二、三層,所以需要使用地址解析協定。使用地址解析協定,可根據網路層IP封包包頭中的IP地址資訊解析出目標硬體地址(MAC地址)資訊,以保證通訊的順利進行。
ARP協定例子
為了解釋ARP協定的作用,就必須理解資料在網路上的傳輸過程。這裡舉一個簡單的PING例子。
假設我們的計算機IP地址是192.168.1.1,要執行這個命令:ping192.168.1.2。該命令會通過ICMP協定傳送ICMP封包。
該過程需要經過下面的步驟:
1、應用程式構造封包,該範例是產生ICMP包,被提交給核心(網路驅動程式);
2、核心檢查是否能夠轉化該IP地址為MAC地址,也就是在原生的ARP快取中檢視IP-MAC對應表;
3、如果存在該IP-MAC對應關係,那麼跳到步驟9;如果不存在該IP-MAC對應關係,那麼接續下面的步驟;
4、核心進行ARP廣播,目的地的MAC地址是FF-FF-FF-FF-FF-FF,ARP命令型別為REQUEST(1),其中包含有自己的MAC地址;
5、當192.168.1.2主機接收到該ARP請求後,就傳送一個ARP的REPLY(2)命令,其中包含自己的MAC地址;
6、本地獲得192.168.1.2主機的IP-MAC地址對應關係,並儲存到ARP快取中;
7、核心將把IP轉化為MAC地址,然後封裝在乙太網頭結構中,再把資料傳送出去;
使用arp-a命令就可以檢視原生的ARP快取內容,所以,執行一個原生的PING命令後,ARP快取就會存在一個目的IP的記錄了。當然,如果你的封包是傳送到不同網段的目的地,那麼就一定存在一條閘道器的IP-MAC地址對應的記錄。
知道了ARP協定的作用,就能夠很清楚地知道,封包的向外傳輸很依靠ARP協定,當然,也就是依賴ARP快取。要知道,ARP協定的所有操作都是核心自動完成的,同其他的應用程式沒有任何關係。同時需要注意的是,ARP協定只使用於本網路。
擴充套件知識:ARP欺騙(安全隱患)
arp協定是建立在網路中各個主機互相信任的基礎上的,網路上的主機可以自主傳送ARP應答訊息,其他主機收到應答報文時不會檢測該報文的真實性就會將其記入本機ARP快取;由此攻擊者就可以向某一主機傳送偽ARP應答報文,使其傳送的資訊無法到達預期的主機或到達錯誤的主機,這就構成了一個ARP欺騙。
ARP欺騙可以導致目標計算機與閘道器通訊失敗,更會導致通訊重定向,所有的資料都會通過攻擊者的機器,因此存在極大的安全隱患。
如何防禦?
● 不要把網路安全信任關係建立在IP基礎上或MAC基礎上(RARP同樣存在欺騙的問題),理想的關係應該建立在IP+MAC基礎上。
● 設定靜態的MAC-->IP對應表,不要讓主機重新整理設定好的轉換表。
● 除非很有必要,否則停止使用ARP,將ARP做為永久條目儲存在對應表中。
● 使用ARP伺服器。通過該伺服器查詢自己的ARP轉換表來響應其他機器的ARP廣播。確保這臺ARP伺服器不被黑。
● 使用「proxy」代理IP的傳輸。
● 使用硬體遮蔽主機。設定好路由,確保IP地址能到達合法的路徑(靜態設定路由ARP條目),注意,使用交換集線器和網橋無法阻止ARP欺騙。
● 管理員定期用響應的IP包中獲得一個RARP請求,然後檢查ARP響應的真實性。
● 管理員定期輪詢,檢查主機上的ARP快取。
● 使用防火牆連續監控網路。注意有使用SNMP的情況下,ARP的欺騙有可能導致陷阱包丟失。 [6]
● 若感染ARP病毒,可以通過清空ARP快取、指定ARP對應關係、新增路由資訊、使用防病毒軟體等方式解決。
更多相關知識,請存取欄目!
以上就是arp協定在哪一層的詳細內容,更多請關注TW511.COM其它相關文章!