你清楚DHCP報(bào)文格式嗎?
想要很好地掌握一個(gè)網(wǎng)絡(luò)協(xié)議,我們對(duì)它的定義和結(jié)構(gòu)一定要清晰。那么前面我們也對(duì)DHCP協(xié)議的定義進(jìn)行了講解,這里我們?cè)賮韺?duì)DHCP報(bào)文格式進(jìn)行一下分析。
DHCP報(bào)文格式
我們來介紹一下DHCP的報(bào)文格式,如圖1
OP(1) |
Htype(1) |
Hlen(1) |
Hops(1) |
Transaction ID(4) |
|||
Seconds(2) |
Flags(2) |
||
Ciaddr(4) |
|||
Yiaddr(4) |
|||
Siaddr(4) |
|||
Giaddr(4) |
|||
Chaddr(16) |
|||
Sname(64) |
|||
File(128) |
|||
Options(variable) |
(圖1 DHCP報(bào)文格式)
OP:若是client送給server的封包,設(shè)為1,反向?yàn)?;
Htype:硬件類別,ethernet為1;
Hlen:硬件長(zhǎng)度,ethernet為6;
Hops:若數(shù)據(jù)包需經(jīng)過router傳送,每站加1,若在同一網(wǎng)內(nèi),為0;
Transaction ID:事務(wù)ID,是個(gè)隨機(jī)數(shù),用于客戶和服務(wù)器之間匹配請(qǐng)求和相應(yīng)消息;
Seconds:由用戶指定的時(shí)間,指開始地址獲取和更新進(jìn)行后的時(shí)間;
Flags:從0-15bits,最左一bit為1時(shí)表示server將以廣播方式傳送封包給 client,其余尚未使用;
Ciaddr:用戶IP地址;
Yiaddr:客戶IP地址;
Siaddr:用于bootstrap過程中的IP地址;
Giaddr:轉(zhuǎn)發(fā)代理(網(wǎng)關(guān))IP地址;
Chaddr:client的硬件地址;
Sname:可選server的名稱,以0x00結(jié)尾;
File:?jiǎn)?dòng)文件名;
Options:,廠商標(biāo)識(shí),可選的參數(shù)字段