我們介紹了乙個無盤系統,它在不知道自身 i p位址的情況下,在進行系統引導時
能夠通過r a r p來獲取它的i p位址。然而使用r a r p有兩個問題:(1)i p位址是返回的唯一結
果;(2)既然r a r p使用鏈路層廣播, r a r p請求就不會被路由器**(迫使每個實際網路
設定乙個rarp 伺服器)。本章將介紹一種用於無盤系統進行系統引導的替代方法,又稱為引
導程式協議,或b o o t p。
b o o t p使用u d p,且通常需與 t f t p協同工作。
bootp 的分組格式
圖顯示了長度為3 0 0位元組的b o o t p請求和應答的格式。
「操作碼」欄位為1表示請求,為2表示應答。硬體型別欄位為 1表示10 mb/s的乙太網,這
和a r p請求或應答中同名字段表示的含義相同。類似地,對於乙太網,硬體位址長
度字段為6位元組。
「跳數」欄位由客戶設定為0,但也能被乙個**伺服器設定。
「事務標識」欄位是乙個由客戶設定並由伺服器返回的 32 bit整數。客戶用它對請求和應
答進行匹配。對每個請求,客戶應該將該字段設定為乙個隨機數。
客戶開始進行引導時,將「秒數」字段設定為乙個時間值。伺服器能夠看到這個時間值,
備用伺服器在等待時間超過這個時間值後才會響應客戶的請求,這意味著主伺服器沒有啟動。
如果該客戶已經知道自身的 i p位址,它將寫入「客戶 i p位址」字段。否則,它將該字段
設定為0。對於後面這種情況,伺服器用該客戶的 i p位址寫入「你的 i p位址」字段。「伺服器
i p位址」欄位則由伺服器填寫。如果使用了某個**伺服器,則該**伺服器就
填寫「閘道器i p位址」字段。
客戶必須設定它的「客戶硬體位址」字段。儘管這個值與乙太網資料幀頭中的值相同,
u d p資料報中也設定這個字段,但任何接收這個資料報的使用者程序能很容易地獲得它(例如
ip資料報
udp資料報
ip首部 udp首部
bootp請求/應答
20位元組 8位元組
300位元組
乙個bootp 伺服器)。乙個程序通過檢視u d p資料報來確定乙太網幀首部中的該字段通常是
很困難的(或者說是不可能的)。
BOOTP 引導程式協議
1 引言 在進行系統引導時能夠通過r a r p來獲取它的 i p位址。然而使用 r a r p有兩個問題 1 i p位址是返回的唯一結果 2 既然 r a r p使用鏈路層廣播,r a r p請求就不會被路由器 迫使每個實際網路設定乙個rarp 伺服器 2 bootp 的分組格式 bootp 請求...
dhcp和bootp協議的區別
說明 本文 與rarp類似,bootp和dhcp都是用於獲取主機ip位址的協議,三者都是基於客戶伺服器模式,但由於rarp在低層操作,使用它就必須訪問網路硬體,因此應用程式設計人員很難或者不太可能構造乙個伺服器。bootp及dhcp應運而生,bootp協議早與dhcp,但而這都是構建在傳輸層udp之...
硬碟主引導扇區引導程式
硬碟主引導扇區的引導程式只佔139個位元組 不同版本的fdisk 不同的分割槽程式寫入的主引導記錄會不相同,但其基本功能一樣 經過反彙編後的引導程式的彙編 如下 1000 0600 fa cli 自舉,將0000 7c00開始的硬碟主引導記錄本身轉移到0000 0600處,空出0000 7c00開始...