http://www.knowsky.com/383893.html
子網路遮罩,網關與ARP協議的概念和工作原理是學習網路知識的初學者首先碰到的幾個重要的知識點,其中子網路遮罩與ARP協議的作用和基本工作原理更是思科網路技術學院教程Semester 1中的重點與痛點,初學者往往難以一下子把握這些抽象複雜的機理。因此很有必要通過實驗來協助學員更加深入直觀地瞭解子網路遮罩,網關與ARP協議的基本概念與工作原理。
在對實驗進行講解之前,首先對子網路遮罩,網關與ARP協議的基本知識進行概述。
子網路遮罩(Subnet Mask)
子網路遮罩的主要功能是告知網路裝置,一個特定的IP地址的哪一部分是包含網路地址與子網地址,哪一部分是主機地址。網路的路由裝置只要識別出目的地址的網路號與子網號即可作出路由定址決策,IP地址的主機部分不參與路由器的路由定址操作,只用於在網段中唯一標識一個網路裝置的介面。本來,假如網路系統中只使用A、B、C這三種主類地址,而不對這三種主類地址作子網劃分或者進行主類地址的匯總,則網路裝置根據IP地址的第一個位元組的數值範圍即可判定它屬於A、B、C中的哪一個主類網,進而可確定該IP地址的網路部分和主機部分,不需要子網路遮罩的輔助。
但為了使系統在對A、B、C這三種主類網進行了子網的劃分,或者採用無類別的域間選路技術(Classless Inter-Domain Routing,CIDR)對網段進行匯總的情況下,也能對IP地址的網路及子網部分與主機部分作正確的區分,就必須依靠於子網路遮罩的協助。
子網路遮罩使用與IP相同的編址格式,子網路遮罩為1的部分對應於IP地址的網路與子網部分,子網路遮罩為0的部分對應於IP地址的主機部分。將子網路遮罩和IP地址作"與"操作後,IP地址的主機部分將被丟棄,剩餘的是網路地址和子網地址。例如,一個IP分組的目的IP地址為:10.2.2.1,若子網路遮罩為:255.255.255.0,與之作"與"運算得:10.2.2.0,則網路裝置認為該IP地址的網路號與子網號為:10.2.2.0。
網關(Gateway)
在Internet中的網關一般是指用於串連兩個或者兩個以上網段的網路裝置,通常使用路由器(Router)作為網關。在TCP/IP網路體系中,網關的基本作用是根據目的IP地址的網路號與子網號,選擇最佳的出口對IP分組進行轉寄,實現跨網段的資料通訊。在Semester 1中只需要對網關的基本作用有所瞭解,在Semester 2中還將對路由器的工作機理和配置過程作具體的論述。
ARP協議(Address Resolution Protocol)
在乙太網路(Ethernet)中,一個網路裝置要和另一個網路裝置進行直接通訊,除了知道目標裝置的網路層邏輯地址(如IP地址)外,還要知道目標裝置的第二層物理地址(MAC地址)。ARP協議的準系統就是通過目標裝置的IP地址,查詢目標裝置的MAC地址,以保證通訊的順利進行。
當一個網路裝置需要和另一個網路裝置通訊時,它首先把目標裝置的IP地址與自己的子網路遮罩進行"與"操作,以判定目標裝置與自己是否位於同一網段內。假如目標裝置在同一網段內,並且源裝置沒有獲得與目標IP地址相對應的MAC地址資訊,則源裝置以第二層廣播的形式(目標MAC地址為全1)發送ARP請求報文,在ARP請求報文中包含了源裝置與目標裝置的IP地址。同一網段中的所有其他裝置都可以收到並分析這個ARP請求報文,假如某裝置發現報文中的目標IP地址與自己的IP地址相同,則它向源裝置發回ARP響應報文,通過該報文使源裝置獲得目標裝置的MAC地址資訊。
假如目標裝置與源裝置不在同一網段,則源裝置首先把IP分組發向自己的預設網關(Default Gateway),由預設網關對該分組進行轉寄。假如源裝置沒有關於預設網關的MAC資訊,則它同樣通過ARP協議擷取預設網關的MAC地址資訊。
為了減少廣播量,網路裝置通過ARP表在緩衝中儲存IP與MAC地址的映射資訊。在一次ARP的請求與響應過程中,通訊雙方都把對方的MAC地址與IP地址的對應關係儲存在各自的ARP表中,以在後續的通訊中使用。ARP表使用老化機制,刪除在一段時間內沒有使用過的IP與MAC地址的映射關係。
實驗設計
我們通過設計一個簡單的實驗來協助學員更深入直觀地理解上述三個知識點所涉及的基本概念與原理。在實驗中,我們利用ping命令來檢驗主機間能否進行正常的雙向通訊。在"ping"的過程中,源主機向目標主機發送ICMP的Echo Request報文,目標主機收到後,向源主機發回ICMP的Echo Reply報文,從而可以驗證源與目標主機能否進行正確的雙向通訊。
實驗的拓撲結構: (1)所示。
A與B為實驗用的PC機,使用Windows2000 Professional作作業系統。
實驗方案:
步驟1:
設定兩台主機的IP地址與子網路遮罩:
A: 10.2.2.2 255.255.254.0
B: 10.2.3.3 255.255.254.0
兩台主機均不設定預設網關。
用arp -d命令清除兩台主機上的ARP表,然後在A與B上分別用ping命令與對方通訊,在A與B上分別顯示,
A: Reply from 10.2.3.3: bytes=32 time<10ms TTL=128
B: Reply from 10.2.2.2: bytes=32 time<10ms TTL=128
用arp -a命令可以在兩台PC上分別看到對方的MAC地址。
分析:由於主機將各自通訊目標的IP地址與自己的子網路遮罩相"與"後,發現目標主機與自己均位於同一網段(10.2.2.0),因此通過ARP協議獲得對方的MAC地址,從而實現在同一網段內網路裝置間的雙向通訊。
步驟2:
將A的子網路遮罩改為:255.255.255.0,其他設定保持不變。
操作1:用arp -d命令清除兩台主機上的ARP表,然後在A上"ping"B,在A上顯示結果為:Destination host unreachable
用arp -a命令在兩台PC上均不能看到對方的MAC地址。
分析1:A將目標裝置的IP地址(10.2.3.3)和自己的子網路遮罩(255.255.255.0)相"與"得10.2.3.0,和自己不在同一網段(A所在網段為:10.2.2.0),則A必須將該IP分組首先發向預設網關。由於A的預設網關沒有配置,無法對分組進行正確發送,因此顯示"目標主機不可到達"。
操作2:接著在B上"ping"A,在B上顯示結果為:
Request timed out
此時用arp -a命令可以在兩台PC上分別看到對方的MAC地址。
分析2:B將目標裝置的IP地址(10.2.2.2)和自己的子網路遮罩(255.255.254.0)相"與",發現目標主機與自己均位於同一網段(10.2.2.0),因此,B通過ARP協議獲得A的MAC地址,並可以正確地向A發送Echo Request報文。但由於A不能向B正確地發回Echo Reply報文(原因見分析1),故B上顯示ping的結果為"請求逾時"。在該實驗操作中,通過觀察A與B的ARP表的變化,可以驗證:在一次ARP的請求與響應過程中,通訊雙方就可以獲知對方的MAC地址與IP地址的對應關係,並儲存在各自的ARP表中。
步驟3:
在前面實驗的基礎上,把A的預設網關設為:10.2.2.1,網關的子網路遮罩為:255.255.0.0。
在A與B上分別用ping命令與對方通訊,各自的顯示結果為:
A: Reply from 10.2.3.3: bytes=32 time<10ms TTL=128
B: Reply from 10.2.2.2: bytes=32 time<10ms TTL=127
在A與B上分別用tracert命令追蹤資料的傳輸路徑,結果分別為:
A: tracert 10.2.3.3
Tracing route to 10.2.3.3 over a maximum of 30 hops:
1 <10 ms <10 ms <10 ms 10.2.2.1
2 <10 ms <10 ms <10 ms 10.2.3.3
Trace complete.
B: tracert 10.2.2.2
Tracing route to 10.2.2.2 over a maximum of 30 hops:
1 <10 ms <10 ms <10 ms 10.2.2.2
Trace complete.
分析:如步驟2中的分析,由於A認為B與其不在同一個網段,故從A發向B的報文需要經過網關轉寄;而B認為A與其在同一個網段,故B不需要經過網關直接向A發送報文,從而可以觀察到A與B雙向通訊時傳輸路徑的不對稱性。由於ping命令結果顯示的是從目標主機返回的Echo Reply報文的TTL的值,而B收到從A返回的Echo Reply報文經過了網關的轉寄,所以在B中顯示該IP報文的TTL值降為了127(從A發出的IP分組的TTL的初始值為128,每經過一個網關,TTL值減1)。
步驟4:
用arp -d命令清除A中的ARP表,在A上ping一台外網段的主機,如中大的WWW Server(202.116.64.8),再用arp -a可觀察到A的ARP表中只有預設網關的MAC地址資訊。
分析:當源主機要和外網段的主機進行通訊時,它並不需要擷取遠程主機的MAC地址,而是把IP分組發向預設網關,由網關IP分組的完成轉寄過程。假如源主機沒有預設網關MAC地址的緩衝記錄,則它會通過ARP協議擷取網關的MAC地址,因此在A的ARP表中只觀察到網關的MAC地址記錄,而觀察不到遠程主機的MAC地址。
小結
該實驗能夠比較深入直觀地協助學員瞭解子網路遮罩與IP地址的相互作用過程,理解網關在網路中的基本作用以及ARP協議的基本原理與基本工作過程。該實驗對環境的要求很低,一般具有LAN上網條件的機房與學生宿舍都能夠順利完成該實驗,既適合於網路技術學院進行課堂實驗的指導,也適合於學員通過E-Learning後,在宿舍對課件中所講述的知識點進行實驗驗證
資料引用:http://www.knowsky.com/383893.html