国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 網絡通信 > 正文

BOOTP:引導程序協議

2019-11-04 10:59:12
字體:
來源:轉載
供稿:網友

  在不知道自身ip地址的情況下,在進行系統引導時能夠通過RARP來獲取它的IP地址。然而使用RARP有兩個問題:(1)IP地址是返回的唯一結果;(2)既然RARP使用鏈路層廣播,RARP請求就不會被路由器轉發(迫使每個實際網絡設置一個RARP服務器)。本章將介紹一種用于無盤系統進行系統引導的替代方法,又稱為引導程序協議,或BOOTP。

  BOOTP使用UDP,且通常需與TFTP(參見第15章)協同工作。RFC951[CroftandGilmore1985]是BOOTP的正式規范,RFC1542[Wimer1993]則對它作了說明。

BOOTP的分組格式

BOOTP請求和應答均被封裝在UDP數據報中,如下圖所示。

BOOTP:引導程序協議(圖一)


BOOTP請求和應答封裝在一個UDP數據報內


  “操作碼”字段為1表示請求,為2表示應答。硬件類型字段為1表示10Mb/s的以太網,這和ARP請求或應答中同名字段表示的含義相同。類似地,對于以太網,硬件地址長度字段為6字節。

  “跳數”字段由客戶設置為0,但也能被一個代理服務器設置。“事務標識”字段是一個由客戶設置并由服務器返回的32bit整數。客戶用它對請求和應答進行匹配。對每個請求,客戶應該將該字段設置為一個隨機數。客戶開始進行引導時,將“秒數”字段設置為一個時間值。服務器能夠看到這個時間值,備用服務器在等待時間超過這個時間值后才會響應客戶的請求,這意味著主服務器沒有啟動。

  假如該客戶已經知道自身的IP地址,它將寫入“客戶IP地址”字段。否則,它將該字段設置為0。對于后面這種情況,服務器用該客戶的IP地址寫入“你的IP地址”字段。“服務器IP地址”字段則由服務器填寫。假如使用了某個代理服務器,則該代理服務器就填寫“網關IP地址”字段。

  客戶必須設置它的“客戶硬件地址”字段。盡管這個值與以太網數據幀頭中的值相同,UDP數據報中也設置這個字段,但任何接收這個數據報的用戶進程能很輕易地獲得它(例如一個BOOTP服務器)。一個進程通過查看UDP數據報來確定以太網幀首部中的該字段通常是很困難的(或者說是不可能的)。

BOOTP:引導程序協議(圖二)


BOOTP請求和應答的格式


  “服務器主機名”字段是一個空值終止串,由服務器填寫。服務器還將在“引導文件名字段”填入包括用于系統引導的文件名及其所在位置的路徑全名。

  “特定廠商區域”字段用于對BOOTP進行不同的擴展。16.6節將介紹這些擴展中的一些。當一個客戶使用BOOTP(操作碼為1)進行系統引導時,引導請求通常是采用鏈路層廣播,IP首部中的目的IP地址為255.255.255.255(受限的廣播,12.2節)。源IP地址通常是0.0.0.0,因為此時客戶還不知道它本身的IP地址。回顧圖3-9,在系統進行自引導時,0.0.0.0是一個有效的IP地址。

端口號

  BOOTP有兩個熟知端口:BOOTP服務器為67,BOOTP客戶為68。這意味著BOOTP客戶不會選擇未用的臨時端口,而只用端口68。選擇兩個端口而不是僅選擇一個端口為BOOTP服務器用的原因是:服務器的應答可以進行廣播(但通常是不用廣播的)。

  假如服務器的應答是通過廣播傳送的,同時客戶又選擇未用的臨時端口,那么這些廣播也能被其他的主機中碰巧使用相同臨時端口的應用進程接收到。因此,采用隨機端口(即臨時端口)對廣播來說是一個不好的選擇。假如客戶也使用服務器的知名端口(67)作為它的端口,那么網絡內的所有服務器會被喚醒來查看每個廣播應答(假如所有的服務器都被喚醒,它們將檢查操作碼,假如是一個應答而不是請求,就不作處理)。因此可以讓所有的客戶使用與服務器知名端口不同的同一知名端口。

  假如多個客戶同時進行系統引導,并且服務器廣播所有應答,這樣每個客戶都會收到其他客戶的應答。客戶可以通過BOOTP首部中的事務標識字段來確認應答是否與請求匹配,或者可以通過檢查返回的客戶硬件地址加以區分。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 山阴县| 隆昌县| 江安县| 博兴县| 邳州市| 陈巴尔虎旗| 石城县| 德格县| 信阳市| 庆城县| 怀远县| 枣强县| 玉林市| 余姚市| 新野县| 塔河县| 阿尔山市| 徐水县| 临洮县| 怀化市| 庐江县| 多伦县| 佛山市| 鄂托克旗| 博白县| 改则县| 南汇区| 德阳市| 大邑县| 汾西县| 行唐县| 九江市| 林甸县| 徐州市| 故城县| 黄冈市| 临洮县| 威信县| 阿瓦提县| 呼玛县| 胶南市|