網路協議第
四、五章_arp rarp
網路協議第三章_ip網際協議
引言當一台主機將乙太網資料幀傳送到同乙個區域網上的另一台主機時,是根據48bit的乙太網位址來確定目的介面的,裝置驅動程式從不檢查ip資料報中的ip位址。
arp為ip位址和硬體位址之間提供動態對映,說是動態的,因為這個過程是自動完成的。
rarp是被那些沒有磁碟驅動器的系統使用的,它需要系統管理員進行手動設定。
例子用乙個例子解釋arp的執行過程
敲入命令ftp bsdi
1. ftp客戶端呼叫函式gethostbyname將主機名轉換為32bit的ip位址。這個函式在dns中被稱為解析器。
2. ftp客戶端用得到的ip位址建立tcp鏈結。
3. tcp傳送乙個連線請求分段到遠端的主機,即用上述的ip位址傳送ip資料報。
4. 如果目的主機在本地網路上,那麼ip資料報可以直接傳送到目的主機上;如果目的主機在乙個遠端網路上,那麼就通過ip選路函式來確定位於本地網路上的下一站路由器位址。
5. 假定是乙個乙太網,那麼傳送端必須把32bit的ip位址變換成48bit的乙太網位址。從邏輯internet位址到對應的物理硬體位址需要程序翻譯,這就是arp的功能。
6. arp傳送乙份arp請求的乙太網資料幀給乙太網上的每個主機,該過程稱為廣播。其中,arp請求資料幀中包含目的主機的ip位址,即如果你是這個ip位址的擁有者,請回答你的硬體位址。
7. 目的主機的arp層識別出這份廣播是傳送端在尋問它的硬體位址,於是傳送乙個arp應答。
8. 到arp應答後,使arp進行請求-應答交換的ip資料報現在就可以傳送了。
9. 傳送ip資料報到目的位址。
每乙個網路介面都有乙個48bit的硬體位址,在硬體層次上進行資料幀交換必須有正確的介面位址。但是知道主機的ip位址並不能傳送一幀資料給主機。因為核心必須知道目的端的硬體位址才能傳送資料,這也就是arp的存在意義。
slip和ppp(點對點)鏈路不使用arp。當設定這些鏈路時,需要告訴核心鏈路每一端的ip位址而不需要涉及硬體位址。
arp快取記憶體
每個主機上都有乙個arp快取記憶體,用於存放最近internet位址到硬體位址的對映記錄。快取記憶體中每一項的生存時間一般為20分鐘,起始時間從被建立時開始算起(生存時間在再次使用後,重新更新為20分鐘)。
arp分組格式
arp請求和應答幀格式
對比第二章中乙太網分裝的幀格式發現,首部是一樣的,後面的arp請求/響應字段就是資料段。
若乙太網目的位址全1則是廣播位址。
在arp請求/應答分組格式中有重複資訊:在乙太網首部和arp請求/應答幀中都有傳送端的硬體位址。
對乙個arp請求來說,除目的端的硬體位址外其他都要填上。當主機收到乙份目的ip位址為本機的arp請求後,它就把自己的硬體位址填進去,然後將填進去的目的端位址替換兩個傳送端位址,將傳送端位址替換目的位址,最後傳送。
對不存在主機的arp請求
若網路號和子網號對應的網路確實存在,但是主機號不存在,就會有多次arp請求,大約75s後tcp連線請求才放棄。
注意:直到arp應答返回時,tcp報文段才可以被傳送,因為這時才知道目的地的硬體位址。
arp快取記憶體超時設定
對完整的表項設定超時值為20min,對不完整的表項設定為3min。
arp**
如果arp請求時從乙個網路的主機發往另乙個網路的和足跡,那麼連線兩個網路的路由器就可以回答這個arp請求,該過程稱為委託arp或者arp**。這樣可以欺騙發起arp的傳送端,認為路由器就是目的主機,而事實上目的主機在路由器的另一邊。
arp**也稱arp混合和arp出租,這些名字**於arp**的其他用途:通過兩個物理網路的路由器可以相互隱藏物理網路,這種情況下兩個物理網路之間可以使用想用的網路號,只要把中間的路由器設定成arp**以響應乙個網路到另乙個網路的arp請求。
免費arp
免費arp指主機傳送arp查詢自己的ip位址。
免費arp作用:
1. 通過它來確定另乙個主機是不是設定了相同的ip。若有arp響應則說明有另外乙個主機設定了相同的ip位址。
2. 若傳送免費arp的主機正好改變了硬體位址(換網絡卡),那麼免費arp可以使其他主機快取記憶體arp中的舊的硬體位址進行更新。如果主機收到某個ip位址的arp請求並且它已經在接收者的告訴快取中,那麼就要用arp請求中的傳送端的硬體位址對快取記憶體中相應的內容進行更新。
乙個例子:通過傳送含有備份硬體位址和故障伺服器的ip位址的免費arp請求,使得備份伺服器可以順利的接替故障伺服器進行工作。這使得所有目的地為故障伺服器的報文都被送到了備份伺服器那裡,客戶程式不必關心原來的額伺服器是否出了故障。
rarp逆位址解析協議
引言具有本地磁碟的系統引導時,一般從磁碟上的配置檔案中讀取ip位址。但無盤機如x終端和無盤工作站則需要採用其他方式獲得ip位址。
無盤系統的rarp實現過程是從介面卡上讀取唯一的硬體位址,然後傳送乙份rarp請求(一幀在網路上廣播的資料),請求某個主機響應該無盤系統的ip位址(在rarp應答中)。
rarp請求以廣播方式傳送,rarp應答以單播方式傳送。rarp的應答中包含傳送端的ip位址,這樣傳送端就知道了自己的ip位址。當無盤系統從rarp應答中收到它的ip位址後,它將傳送tftp請求來讀取引導映像。
rarp伺服器設計
提供乙個arp伺服器很簡單,通常是tcp/ip在核心中實現的一部分。由於核心知道ip位址和硬體位址,因此當它收到乙個詢問ip位址的arp請求時,只需用相應的硬體位址來提**答就可以了。
rarp伺服器要為多個主機(網路上所有的無盤系統)提供硬體位址到ip位址的對映。該對映包含在乙個磁碟檔案中。由於核心一般不讀取和分析磁碟檔案,因此rarp伺服器的功能就由使用者程序來提供而不是作為核心tcp/ip實現的一部分。
rarp請求是在硬體層進行廣播的,它不經過路由器**。通常在乙個網路上要提供多個rarp伺服器,為了讓無盤系統在rarp伺服器關機的狀態也能引導。
每個rarp伺服器對每個rarp請求都要傳送rarp應答。
網路協議 ARP RARP詳解
arp,全稱address resolution protocol,中文名為位址解析協議,它工作在資料鏈路層,在本層和硬體介面聯絡,同時對上層提供服務。ip資料報常通過乙太網傳送,乙太網裝置並不識別32位ip位址,它們是以48位乙太網位址傳輸乙太網資料報。因此,必須把ip目的位址轉換成乙太網目的位址...
細聊網路層協議之ARP RARP協議
首先我們必須明白一點的是,ip位址只在網路及其以上的層有用,在鏈路層及以下的層是沒有用的。tcp ip協議棧從上層到下層的封裝過程中,第三層封裝需要知道目的ip,第二層封裝需要知道目的mac 實體地址 在實際網路的鏈路上傳送資料幀時,最終還必須是硬體位址。說到底ip位址是虛的,兩台主機的通訊歸根結底...
作業系統第四 五章習題
一 名詞解釋 1 位址對映 把使用者程式裝入記憶體時對有關指令的位址部分的修改定義為從程式位址到記憶體位址的位址對映,或稱為位址重定位。2 動態重定位 位址變換過程在程式執行期間,隨著對每條指令或資料的訪問自動進行的,稱為動態重定位。3 虛擬儲存器 具有請求調入功能和置換功能,能從邏輯上對記憶體容量...