1. 程式人生 > >計算機網路實驗三:分析ARP及IP協議

計算機網路實驗三:分析ARP及IP協議

一、實驗目的:

1.學會使用PacketTracer進行包跟蹤及資料包協議格式分析。

2.理解ARP工作機制,熟悉ARP協議格式。

3.熟悉典型的IP協議格式。

4.理解IP分段機制。

二、實驗環境:

Windows下PacketTracer(5.3或以上版本)

三、實驗內容:

1、用PacketTracer(5.3或以上版本)開啟檔案31_ARP&IP_Testing.pkt.pkt。注意:Router1的Eth1/0的MTU=1420Byte,其餘均為1500Byte。

2、分析ARP的工作原理。

(1)在Realtime模式下,儘量清除所有裝置(PC機及路由器)中的ARP快取資訊,對於不能清除(有些路由器中的ARP快取資訊不能清除)的記錄下相關快取資訊。

注:PC機中檢視ARP快取的命令為arp –a,清除ARP快取的命令為arp –d。

路由器中檢視ARP快取的命令為Router#show arp,清除的命令為Router#cleararp-cache

(2)在simulation模式下,由PC(1.10)向PC(1.20)傳送一個Ping包,觀察包(ICMP及ARP)的傳遞過程,同時注意相關PC機、路由器的ARP快取變化情況,記錄下相關資訊,並對其中的ARP包進行協議格式分析。注意:在Filter中同時選中ICMP及ARP。

(3)重複(2)一次,觀察結果有何不同,分析原因。

第二次傳送資料包的時候,資料包到達交換機後,直接到達PC1.20,並不會傳送到路由器了。

(4)在simulation模式下,由PC(1.10)向PC(3.11)傳送一個Ping包,觀察包的傳遞過程,同時注意相關PC機、路由器的ARP快取變化情況,記錄下相關資訊,並對其中的ARP包進行協議格式分析。

(5)重複(4)一次,觀察結果有何不同,分析原因。

重複(4),發現數據包能夠通過路由器,到達交換機1,並且直接到達PC機3.11。

(6)試分析此時,由PC(1.20)向PC(12.12)傳送一個Ping包的處理過程,並驗證之。

第二次:

直接到達。

(7)總結ARP工作機器,包括什麼時候啟動ARP、APR快取記憶體更新機制、ARP資料包協議格式,

總結:PC主機中都有自己的ARP緩衝區,用來表示IP地址和MAC地址的對應關係,當主機發送資料包到目的主機時,就啟動ARP協議,它首先會檢視自己的ARP列表中是否有目的主機的ARP對應的IP地址,如果有,就直接將資料包傳送出去;如果沒有,就向它所在的網段發起一個ARP請求的廣播包,查詢能夠到達該目的主機的對應的MAC地址。

ARP更新機制:主機發送資料包後,此網段的主機就會檢查資料包中的目的IP地址是否和自己的IP地址一致,如果不相同就忽略此資料包,如果相同,則該主機就把源主機的MAC地址和IP地址新增到自己的ARP列表中;如果ARP列表中已經存在該IP地址,就直接覆蓋,以完成ARP的更新。

ARP資料包協議格式:路由器的ARP列表中包括三個資訊:一個是主機的IP地址,一個是主機所在的實體地址,另一個是介面名稱。IP地址包括源主機的IP地址和主機的預設閘道器,還包括該主機所在的網段。

3、IP協議格式分析:在simulation模式下,由PC(1.10)向PC(3.11)傳送一個Ping包(開始幾次有可能失敗,試分析原因),從其中隨機取幾個包,分析該包的MAC首部及IP首部資訊,特別注意該包進入該裝置及離開該裝置時相關資訊的變化情況。注意:在Filter中僅選中ICMP或者僅選中IP。

源IP地址和目標IP地址不變,分別是PC機1.10的IP地址和PC機3.11的IP地址。但是MAC地址是變化的,因為資料包經過了不同的裝置。

4.IP分段機制分析。

(1)在Realtime模式下,由PC(1.10)向PC(12.12)傳送一個Ping包。(試分析此步驟的作用)

首先:制定資料包傳送路線

(2)在simulation模式下,由PC(1.10)向PC(12.12)傳送一個自定義Ping包(長度為2000位元組),跟蹤資料包的流動情況,特別注意:該包在PC(1.10)出來時是否進行了分段,該包在Router1出來時是否進行了分段,該包在Router2出來時是否進行了重組,該包到達PC(12.12)後是否進行了重組,回覆的Ping命令包是否在PC(12.12)處進行了分段,回覆的Ping命令包是否在Router2出來時進行了分段。在每一處發生了分段的地方,觀察包中與分段有關的幾個欄位的資訊(資料包長度、標識號、標誌、偏移值),並記錄下必要的資訊。 

資料包到達R1時:

資料包到達R2時:

(3)總結IP分段的條件與方法。

當資料包超過規定MTU時,系統將資料包分為段傳送。

4.測試TTL的作用。

(1)在Realtime模式下,由PC(1.10)向PC(12.12)傳送一個Ping包。

(2)在simulation模式下,由PC(1.10)向PC(12.12)傳送一個自定義Ping包(長度為32位元組,TTL的值為1),跟蹤資料包的流動情況,觀察TTL的值的變化情況,並記錄下必要的資訊。

傳送失敗。

傳送之前的:

傳送之後的:

(3)在simulation模式下,由PC(1.10)向PC(12.12)傳送一個自定義Ping包(長度為32位元組,TTL的值為2),跟蹤資料包的流動情況,觀察TTL的值的變化情況,並記錄下必要的資訊。

(4)在simulation模式下,由PC(1.10)向PC(12.12)傳送一個自定義Ping包(長度為32位元組,TTL的值為3或更大),跟蹤資料包的流動情況,觀察TTL的值的變化情況,並記錄下必要的資訊。

(5)總結TTL的變化規律及其作用。

TTL的值代表著可通過路由的數量,TTL值越大,能傳送資料包在不同的網路更多。

5.進行其它你認為必要的測試。 

四、實驗後應能回答的問題

1.關於ARP協議:

(1)ARP請求資料包內容是什麼,ARP應答資料包內容是什麼?

請求內容是主機的IP地址和實體地址,以及目的主機的IP地址和實體地址;應答內容是:將網路層地址解析為資料鏈路層的mac地址,並且把經過的ARP地址記錄下來。

(2)ARP協議的工作方式是怎樣的?比如:誰發出ARP請求,誰回覆ARP應答。

當主機發送資料包時,就啟用ARP協議,如果目的主機在同一網段,則可以直接通訊;如果不在同一網段,則不能直接通訊,需要儲存一條能夠通往目的主機的MAC地址。在同一網段的主機,如果資料包的目的地址不是它,則它會顯示拒絕接收資料包的錯誤請求。

(3)什麼時候會呼叫ARP?呼叫ARP時是希望獲取誰的MAC地址?比如:在不考慮快取記憶體影響的情況下,PC(1.10)訪問PC(1.30)時,會呼叫ARP嗎,若呼叫ARP是用來獲得誰的MAC地址;PC(1.10)訪問PC(3.22)呢;PC(1.10)訪問PC(12.12)呢。

當源主機發送資料包請求時,就啟用了ARP協議;希望獲取的是目的主機的MAC地址;PC機1.10訪問PC機1.30時,會呼叫ARP,它希望來獲取PC機1.30的MAC地址。其它的訪問依然如此。

2.關於ARP快取記憶體:

(1)ARP快取記憶體中每條記錄包含哪些資訊?

包含了源主機的IP地址,源主機所在的網段,源主機的預設閘道器,目的主機的IP地址,以及目的主機所在的網段和預設閘道器。

(2)什麼時候會向ARP快取記憶體中新增記錄,新增的記錄是什麼?

主機發送資料包後,此網段的主機就會檢查資料包中的目的IP地址是否和自己的IP地址一致,如果不相同就忽略此資料包,如果相同,則該主機就把源主機的MAC地址和IP地址新增到自己的ARP列表中;如果ARP列表中已經存在該IP地址,就直接覆蓋,以完成ARP的更新。

(3)ARP快取記憶體可以起到什麼樣的作用,是如何起作用的?

PC主機中都有自己的ARP緩衝區,用來表示IP地址和MAC地址的對應關係,當主機發送資料包到目的主機時,就啟動ARP協議,它首先會檢視自己的ARP列表中是否有目的主機的ARP對應的IP地址,如果有,就直接將資料包傳送出去;如果沒有,就向它所在的網段發起一個ARP請求的廣播包,查詢能夠到達該目的主機的對應的MAC地址。

3.關於IP協議:

(1)IP資料包中MAC首部及IP首部的格式是怎樣的,相關資訊是如何獲得的?

MAC首部格式是:000n(n代表不同數字),IP首部是佔4位,可表示的最大十進位制數值是15。主要是通過主機所在的區域網決定的。

(2)若PC(1.10)用IP包傳輸資訊到PC(12.12),整個過程中MAC首部及IP首部中哪些資訊會發生變化,是如何發生變化的?

從PC機1.10傳送到PC12.12過程中,MAC首部不斷髮生變化,因為資料包要經過不同的網路裝置,而每個網路裝置的實體地址都是不相同的。IP首部不會發生變化,因為資料包的IP地址就是PC機12.12的IP地址。

4.關於IP分片與重組:

(1)什麼條件下,在什麼地方會發生IP分片?比如:當PC(1.10)向PC(12.12)傳送一個長度為2000位元組(包括IP首部,但不包括MAC首部)時,在哪些地方會發生分片;若是PC(12.12)向PC(1.10)傳送資料呢。

資料鏈路層具有最大傳輸單元MTU這個特性,它限制了資料幀的最大長度,如果IP層有資料包要傳送,而且資料包的長度超過了MTU,那麼IP層就要對資料包進行分片,是每一個片的長度都小於或者等於MTU;分片後的IP資料包,只有到達目的主機才進行重新組裝。

(2)一個IP資料包如何進行分片?比如:分片時哪些資訊會被繼承,哪些資訊會發生改變;如何識別同一個IP資料包的多個分片;如何對同一個IP資料包的多個分片進行排序。

對於傳送端傳送的每份IP資料包來說,其識別符號欄位都包含一個唯一值,該值在資料包分片時被複制到每個片中。除了最後一片外,其他每個組資料包的片都要把該片的自己置為1。分片時,除最後一片外,其它每一片中的資料部分,必須是8位元組的整數倍。