第2章ARP協議_第1頁
第2章ARP協議_第2頁
第2章ARP協議_第3頁
第2章ARP協議_第4頁
第2章ARP協議_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1 1第二章第二章 ARPARP協議分析協議分析引言引言2 2InternetInternet地址表現在地址表現在IPIP層,而網絡接口層使用層,而網絡接口層使用的是物理地址。即的是物理地址。即InternetInternet真正做的工作是在真正做的工作是在各種物理網絡技術上覆蓋一層各種物理網絡技術上覆蓋一層IPIP軟件,將物理軟件,將物理地址隱藏起來。地址隱藏起來。兩種地址之間必須要建立映射關系,這就涉及兩種地址之間必須要建立映射關系,這就涉及到地址映射問題。到地址映射問題。地址之間的映射也稱地址轉換或地址解析地址之間的映射也稱地址轉換或地址解析(resolutionresolution),

2、它包括兩方面內容:從),它包括兩方面內容:從IPIP地地址到物理地址的解析址到物理地址的解析(ARP,Address (ARP,Address Resolution ProtocolResolution Protocol,地址轉換協議,地址轉換協議 ) )和從和從物理地址到物理地址到IPIP地址的解析地址的解析(RARP,Reverse (RARP,Reverse Address Resolution ProtocolAddress Resolution Protocol,逆向地址,逆向地址轉換協議轉換協議 ) )。 6.16.1地址解析協議地址解析協議ARP ARP 3 3網絡上的任何兩臺計

3、算機的信息傳送,最終都網絡上的任何兩臺計算機的信息傳送,最終都要靠物理地址來實現,即信息幀的傳送是通過要靠物理地址來實現,即信息幀的傳送是通過物理地址到達目的機器的。而網絡上的任何一物理地址到達目的機器的。而網絡上的任何一次從次從IPIP層以上,包括層以上,包括IPIP層,發(fā)起的數據傳輸都層,發(fā)起的數據傳輸都使用使用IPIP地址,一旦到了物理網絡就必須轉換成地址,一旦到了物理網絡就必須轉換成網卡地址,否則物理網絡根本不能識別地址信網卡地址,否則物理網絡根本不能識別地址信息,更談不上傳輸數據。息,更談不上傳輸數據。IPIP地址到物理地址映射有兩種方式,一種是直地址到物理地址映射有兩種方式,一種是

4、直接映射(接映射(direct mappingdirect mapping),一種動態(tài)綁定),一種動態(tài)綁定(dynamic bindingdynamic binding,有時稱動態(tài)聯編)方式。,有時稱動態(tài)聯編)方式。直接映射又有表格方式和函數方式兩種。直接映射又有表格方式和函數方式兩種。 6.1.1 6.1.1 直接映射直接映射4 4(1)(1)表格方式表格方式 表格方式是事先在各主機中建立一張表格方式是事先在各主機中建立一張IPIP地址到物地址到物理地址映射表。理地址映射表。 這種方式很簡單,但有兩個缺點;第一,映射表這種方式很簡單,但有兩個缺點;第一,映射表要人工建立;第二,映射表要人工維

5、護。要人工建立;第二,映射表要人工維護。 總之表格方式全靠人來完成,由于人的速度太慢,總之表格方式全靠人來完成,由于人的速度太慢,因此表格方式不適應大規(guī)模和長距離網絡或映射關因此表格方式不適應大規(guī)模和長距離網絡或映射關系變化頻繁的網絡。系變化頻繁的網絡。1. 1. 直接映射直接映射5 5(1) (1) 函數方式函數方式 選擇一個使地址轉換高效的編號方法就是選擇一選擇一個使地址轉換高效的編號方法就是選擇一個函數個函數f f,由該函數把,由該函數把IPIP地址映射到物理地址,即地址映射到物理地址,即 PHPHA Af f(IPIPA A) 實際的實際的ARPARP協議中,為加快映射效率,常采用一協

6、議中,為加快映射效率,常采用一些高效搜索算法,來處理些高效搜索算法,來處理IPIP地址和物理地址映射表地址和物理地址映射表數據。如用傳統的哈希(數據。如用傳統的哈希(hashhash)函數搜索地址表。)函數搜索地址表。 6.1.26.1.2、動態(tài)綁定、動態(tài)綁定 6 6ARPARP基本原理基本原理 地址轉換協議地址轉換協議ARPARP允許主機在只知道同一物理網絡上一允許主機在只知道同一物理網絡上一個目的站個目的站IPIP地址的情況下,找到目的主機的物理地址。地址的情況下,找到目的主機的物理地址。 思路:主機思路:主機A A要向主機要向主機B B發(fā)送數據,發(fā)送數據,A A當然應該首先知道當然應該首

7、先知道B B的的IPIP地址,但未必知道物理地址。為了根據地址,但未必知道物理地址。為了根據B B的的IPIP地址地址IBIB確確定它的物理地址定它的物理地址PBPB,主機,主機A A向網上的所有機器廣播一個包向網上的所有機器廣播一個包含含IBIB的的ARPARP請求;網絡上所有機器均會收到這樣信息包,請求;網絡上所有機器均會收到這樣信息包,但由于信息包中包含了但由于信息包中包含了IBIB,只有主機,只有主機B B做出響應并發(fā)出一做出響應并發(fā)出一個包含自己個包含自己IPIP地址和物理地址(地址和物理地址(IBIB,PBPB)的)的ARPARP應答。主應答。主機機A A收到應答后,即獲得主機收到

8、應答后,即獲得主機B B的物理地址的物理地址PB.PB.。然后就用。然后就用該物理地址把該物理地址把IPIP分組直接發(fā)送給分組直接發(fā)送給B B。 ARPARP協議工作原理示意圖協議工作原理示意圖7 72. ARP2. ARP高速緩存技術高速緩存技術 8 8為提高解析效率,為提高解析效率,ARPARP使用了高速緩存技術使用了高速緩存技術(cachingcaching)。在每臺使用)。在每臺使用ARPARP的主機中(用戶的主機中(用戶網絡工作站),都保留了一個專用的內存區(qū)網絡工作站),都保留了一個專用的內存區(qū)(即高速緩存),存放最近獲得的(即高速緩存),存放最近獲得的IPIP地址到物地址到物理地址

9、映射數據。一收到理地址映射數據。一收到ARPARP應答,主機就將應答,主機就將信宿機(目標主機)的信宿機(目標主機)的IPIP地址和物理地址存入地址和物理地址存入緩存。緩存。欲發(fā)送報文時,首先去緩存中查找相應數據,欲發(fā)送報文時,首先去緩存中查找相應數據,若找不到,再利用若找不到,再利用ARPARP進行地址轉換。這樣就進行地址轉換。這樣就不必每發(fā)一個報文都要事先進行動態(tài)綁定。不必每發(fā)一個報文都要事先進行動態(tài)綁定。ARPARP緩存的超時機制緩存的超時機制 9 9緩存提高了緩存提高了ARPARP效率,但對效率,但對ARPARP緩存必須建立一種超緩存必須建立一種超時機制,才能確保時機制,才能確保ARP

10、ARP可靠運行,使得信息可以在可靠運行,使得信息可以在沒有任何警告的情況下自動變成沒有任何警告的情況下自動變成“失效失效”。 ARPARP協議使用計時器方法,當計時器超時后則刪除協議使用計時器方法,當計時器超時后則刪除狀態(tài)信息。例如,當地址綁定信息放入狀態(tài)信息。例如,當地址綁定信息放入ARPARP緩存時,緩存時,協議需要設置一個計時器,典型的超時時間是協議需要設置一個計時器,典型的超時時間是2020分分鐘。當計時器超時后,必須把信息刪除。鐘。當計時器超時后,必須把信息刪除。 超時機制的必要性超時機制的必要性 1010假設有兩臺計算機假設有兩臺計算機A A和和B B,都連接到一個以太網上。,都連

11、接到一個以太網上。A A已經發(fā)送了一個已經發(fā)送了一個ARPARP請求,請求,B B做出了應答,當然此做出了應答,當然此時時A A的的ARPARP緩存中就建立了關于緩存中就建立了關于B B的的IPIP地址與物理地地址與物理地址的綁定。再假設應答后址的綁定。再假設應答后B B出現故障。計算機出現故障。計算機A A不不會接到任何關于該故障的通告。而且,因為在會接到任何關于該故障的通告。而且,因為在A A的的ARPARP緩存中已經有了緩存中已經有了B B的地址綁定信息,的地址綁定信息,A A將繼續(xù)把將繼續(xù)把分組發(fā)送給分組發(fā)送給B B。以太網硬件沒有提供。以太網硬件沒有提供B B不在線的指不在線的指示,

12、因為以太網并不為發(fā)送提供保證。這樣,示,因為以太網并不為發(fā)送提供保證。這樣,A A沒沒有辦法知道自己的有辦法知道自己的ARPARP緩存中的信息什么時候變成緩存中的信息什么時候變成過時的或錯誤的。過時的或錯誤的。 1111超時機制的必要性超時機制的必要性 假設有兩臺計算機假設有兩臺計算機A A和和B B,都連接到一個以太網上。,都連接到一個以太網上。A A已經發(fā)送了一個已經發(fā)送了一個ARPARP請求,請求,B B做出了應答,當然此做出了應答,當然此時時A A的的ARPARP緩存中就建立了關于緩存中就建立了關于B B的的IPIP地址與物理地地址與物理地址的綁定。再假設應答后址的綁定。再假設應答后B

13、 B出現故障。計算機出現故障。計算機A A不不會接到任何關于該故障的通告。而且,因為在會接到任何關于該故障的通告。而且,因為在A A的的ARPARP緩存中已經有了緩存中已經有了B B的地址綁定信息,的地址綁定信息,A A將繼續(xù)把將繼續(xù)把分組發(fā)送給分組發(fā)送給B B。以太網硬件沒有提供。以太網硬件沒有提供B B不在線的指不在線的指示,因為以太網并不為發(fā)送提供保證。這樣,示,因為以太網并不為發(fā)送提供保證。這樣,A A沒沒有辦法知道自己的有辦法知道自己的ARPARP緩存中的信息什么時候變成緩存中的信息什么時候變成過時的或錯誤的。過時的或錯誤的。 1212ARPARP高速緩存的改進高速緩存的改進 在在A

14、RPARP請求報文中放入信源機的請求報文中放入信源機的IPIP地址與物地址與物理地址的綁定,以防信宿機緊接著為解析信源理地址的綁定,以防信宿機緊接著為解析信源機的物理地址而再來一次動態(tài)綁定。機的物理地址而再來一次動態(tài)綁定。信源機在廣播自已的地址綁定時,網上所有信源機在廣播自已的地址綁定時,網上所有主機都可以將該綁定信息存入自已的高速緩存。主機都可以將該綁定信息存入自已的高速緩存。新機入網時或主機更換網卡時,令其主動廣新機入網時或主機更換網卡時,令其主動廣播地址綁定,以免其他主機對它運行播地址綁定,以免其他主機對它運行ARPARP。1313接收方要處理兩種到達的接收方要處理兩種到達的ARPARP

15、分組分組如果到達的是一個如果到達的是一個ARPARP請求,則接收方機器要請求,則接收方機器要查看它自己是否是請求的目標(也就是說,某查看它自己是否是請求的目標(也就是說,某個其他機器廣播了一個對自己物理地址的請求,個其他機器廣播了一個對自己物理地址的請求,則該接受方的則該接受方的ARPARP軟件就用本機的物理地址形軟件就用本機的物理地址形成應答,并把應答直接發(fā)給請求機器)。成應答,并把應答直接發(fā)給請求機器)。如果發(fā)送方的地址對不在接收方的高速緩存中,如果發(fā)送方的地址對不在接收方的高速緩存中,則接收方還要把這個地址對添加到緩存中。如則接收方還要把這個地址對添加到緩存中。如果在果在ARPARP請求

16、中提到的請求中提到的IPIP地址與本地地址與本地IPIP不匹配,不匹配,則分組是在請求網上其他機器物理地址,可忽則分組是在請求網上其他機器物理地址,可忽略該分組。略該分組??偨Y總結ARPARP的工作原理的工作原理 14141. 1. 首先,每臺主機都會在自己的首先,每臺主機都會在自己的ARPARP緩沖區(qū)緩沖區(qū) (ARP Cache)(ARP Cache)中建立一個中建立一個 ARPARP列表,以表示列表,以表示IPIP地址和地址和MACMAC地址的對應關系。地址的對應關系。 2. 2. 當源主機需要將一個數據包要發(fā)送到目的主當源主機需要將一個數據包要發(fā)送到目的主機時,會首先檢查自己機時,會首先

17、檢查自己 ARPARP列表中是否存在該列表中是否存在該 IPIP地址對應的地址對應的MACMAC地址,如果有地址,如果有就直接將數就直接將數據包發(fā)送到這個據包發(fā)送到這個MACMAC地址;如果沒有,就向本地址;如果沒有,就向本地網段發(fā)起一個地網段發(fā)起一個ARPARP請求的廣播包,查詢此目請求的廣播包,查詢此目的主機對應的的主機對應的MACMAC地址。此地址。此ARPARP請求數據包里包請求數據包里包括源主機的括源主機的IPIP地址、硬件地址、以及目的主機地址、硬件地址、以及目的主機的的IPIP地址。地址。 總結總結ARPARP的工作原理的工作原理15153. 3. 網絡中所有的主機收到這個網絡中

18、所有的主機收到這個ARPARP請求后,會檢查數據請求后,會檢查數據包中的目的包中的目的IPIP是否和自己的是否和自己的IPIP地址一致。如果不相同地址一致。如果不相同就忽略此數據包;如果相同,該主機首先將發(fā)送端的就忽略此數據包;如果相同,該主機首先將發(fā)送端的MACMAC地址和地址和IPIP地址添加到自己的地址添加到自己的ARPARP列表中,如果列表中,如果ARPARP表表中已經存在該中已經存在該IPIP的信息,則將其覆蓋,然后給源主機的信息,則將其覆蓋,然后給源主機發(fā)送一個發(fā)送一個 ARPARP響應數據包,告訴對方自己是它需要查響應數據包,告訴對方自己是它需要查找的找的MACMAC地址;地址;

19、 4. 4. 源主機收到這個源主機收到這個ARPARP響應數據包后,將得到的目的主響應數據包后,將得到的目的主機的機的IPIP地址和地址和MACMAC地址添加到自己的地址添加到自己的ARPARP列表中,并利列表中,并利用此信息開始數據的傳輸。如果源主機一直沒有收到用此信息開始數據的傳輸。如果源主機一直沒有收到ARPARP響應數據包,表示響應數據包,表示ARPARP查詢失敗。查詢失敗。 6.1.3 ARP6.1.3 ARP的分組格式的分組格式 16161. ARP1. ARP報文封裝到幀報文封裝到幀 為了識別攜帶為了識別攜帶ARPARP報文的幀,發(fā)送方給幀首部的類型字報文的幀,發(fā)送方給幀首部的類

20、型字段分配了一個特殊值,并把段分配了一個特殊值,并把ARPARP報文含在該幀的數據字段報文含在該幀的數據字段中。當每一幀到達計算機時,網絡軟件通過幀類型確定其中。當每一幀到達計算機時,網絡軟件通過幀類型確定其內容。在大多數技術中,所有攜帶內容。在大多數技術中,所有攜帶ARPARP報文的幀都使用一報文的幀都使用一種類型值,而接收方的網絡軟件必須進一步區(qū)分種類型值,而接收方的網絡軟件必須進一步區(qū)分ARPARP請求請求和和ARPARP應答。例如,在以太網中,攜帶應答。例如,在以太網中,攜帶ARPARP報文的幀類型字報文的幀類型字段是段是0 x08060 x0806。 ARPARP報文報文幀數據區(qū)幀數

21、據區(qū)幀首部幀首部ARPARP分組的格式分組的格式 ARPARP分組包括:分組包括:ARPARP請求分組和請求分組和ARPARP應答分組。應答分組。ARPARP分組的格式如圖所示。分組的格式如圖所示。硬件類型硬件類型協議類型協議類型硬件地址長度硬件地址長度協議地址長度協議地址長度操操 作作發(fā)送方硬件地址(發(fā)送方硬件地址(03)發(fā)送方硬件地址發(fā)送方硬件地址(4-5)發(fā)送方發(fā)送方IP 地址(地址(01)發(fā)送方發(fā)送方IP 地址(地址(23)目標硬件地址(目標硬件地址(01)目標硬件地址(目標硬件地址(25)目標目標IP 地址(地址(03)17170 8 16 31字段說明字段說明1818硬件類型(硬件

22、類型(Hardware TypeHardware Type)字段:表示運行)字段:表示運行ARPARP的網絡類型;對于以太網,該類型的值為的網絡類型;對于以太網,該類型的值為“1”1”。協議類型(協議類型( Protocol TypeProtocol Type)字段:指明發(fā)送方)字段:指明發(fā)送方提供的高層協議地址類型;對于提供的高層協議地址類型;對于 IPIP地址,這個值地址,這個值為為0 x08060 x0806。 字段說明字段說明1919硬件地址長度(硬件地址長度(HLENHLEN)字段:表示物理地址的長度。)字段:表示物理地址的長度。協議地址長度(協議地址長度(PLENPLEN)字段:網

23、絡層協議地址長度。)字段:網絡層協議地址長度。操作(操作(OperationOperation)字段:指明是)字段:指明是ARPARP請求,分四請求,分四種情況:代碼種情況:代碼“1”ARP1”ARP響應;代碼響應;代碼“2”ARP2”ARP響應;響應;代碼代碼“3”RARP3”RARP請求;代碼請求;代碼“4”RARP4”RARP響應。響應。 字段說明字段說明2020發(fā)送方硬件地址發(fā)送方硬件地址(0-3(0-3字節(jié)字節(jié)) ):源主機硬件地址的前:源主機硬件地址的前3 3個字節(jié);個字節(jié);發(fā)送方硬件地址發(fā)送方硬件地址(4-5(4-5字節(jié)字節(jié)) ) :源主機硬件地址的后:源主機硬件地址的后3 3個

24、字節(jié);個字節(jié);發(fā)送方發(fā)送方IP(0-1IP(0-1字節(jié)字節(jié)) ) :源主機:源主機IPIP地址的前地址的前2 2個字節(jié);個字節(jié);發(fā)送方發(fā)送方IP(2-3IP(2-3字節(jié)字節(jié)) ) :源主機:源主機IPIP地址的后地址的后2 2個字節(jié);個字節(jié);目標硬件地址目標硬件地址(0-1(0-1字節(jié)字節(jié)) ) :目的主機硬件地址的前:目的主機硬件地址的前2 2個字節(jié);個字節(jié);目標硬件地址目標硬件地址(2-5(2-5字節(jié)字節(jié)) ) :目的主機硬件地址的后:目的主機硬件地址的后4 4個字節(jié);個字節(jié);目標目標IP(0-3IP(0-3字節(jié)字節(jié)) ) :目的主機的:目的主機的IPIP地址。地址。 字段說明字段說明2121當發(fā)出請求時,發(fā)送方用目標當發(fā)出請求時,發(fā)送方用目標 IPIP地址地址(Target IPTarget IP)字段提供目標)字段提供目標IPIP地址(對于地址(對于ARPARP協議),在協議),在“操作操作”域填入域填入“1”1”(ARPARP請求)。請求)。在目標主機響應之前,它填入所缺的地址,交在目標主機響應之前,它填入所缺的地址,交換目標和發(fā)送方地址對中數據的位置,并把操換目標和發(fā)送方地址對中數據的位置,并把操作字段中的值改成改成應答代碼,將作字段中的值改成改成應答代碼,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論