TCP/IP详解 第六章 DHCP协议
1、DHCP簡(jiǎn)介
1、DHCP (Dynamic Host Configuration Protocol)即動(dòng)態(tài)主機(jī)設(shè)置協(xié)議。
2、前身是BOOTP協(xié)議,是一個(gè)局域網(wǎng)的網(wǎng)絡(luò)協(xié)議,使用UDP協(xié)議工作,常用的端口:67(DHCPv4 server),68(DHCPv4 client), 547 (DHCPv6 server) , 546 (DHCPv6 client)。DHCP通常被用于局域網(wǎng)環(huán)境,主要作用是集中的管理、分配IP地址,使client動(dòng)態(tài)的獲得IP地址、Gateway地址、DNS服務(wù)器地址等信息,并能夠提升地址的使用率
3、DHCP協(xié)議屬于應(yīng)用層協(xié)議
DHCP SERVER負(fù)責(zé)接收客戶端的DHCP請(qǐng)求,管理LAN端所有的IP網(wǎng)絡(luò)設(shè)定資料,相比于BOOTP,DHCP通過(guò)“租約”來(lái)實(shí)現(xiàn)動(dòng)態(tài)分配IP的功能,實(shí)現(xiàn)IP的時(shí)分復(fù)用,從而解決IP資源短缺的問(wèn)題。其地址分配方式有三種,分別是人工配置(由管理員對(duì)每臺(tái)具體的計(jì)算機(jī)指定一個(gè)地址),自動(dòng)配置(服務(wù)器為第一次連接網(wǎng)絡(luò)的計(jì)算機(jī)分配一個(gè)永久地址),動(dòng)態(tài)配置(在一定的期限內(nèi)將地址租給計(jì)算機(jī),租期結(jié)束后客戶必須續(xù)租或者停用該地址),而對(duì)于路由器,經(jīng)常使用的地址分配方式是動(dòng)態(tài)配置。
1.1、DHCP簡(jiǎn)介:BOOTP
BOOTP(Bootstrap Protocol,引導(dǎo)程序協(xié)議)是一種引導(dǎo)協(xié)議,基于IP/UDP協(xié)議,也稱自舉協(xié)議,是DHCP協(xié)議的前身。BOOTP用于無(wú)盤工作站的局域網(wǎng)中,可以讓無(wú)盤工作站從一個(gè)中心服務(wù)器上獲得IP地址。通過(guò)BOOTP協(xié)議可以為局域網(wǎng)中的無(wú)盤工作站分配動(dòng)態(tài)IP地址,這樣就不需要管理員去為每個(gè)用戶去設(shè)置靜態(tài)IP地址。
BOOTP可以看成是簡(jiǎn)單版的DHCP,是對(duì)主機(jī)的靜態(tài)配置,而DHCP可以依據(jù)一些策略對(duì)主機(jī)進(jìn)行動(dòng)態(tài)配置。BOOTP用于無(wú)盤工作站的啟動(dòng)和配置,而DHCP更適用于客戶端接入變化的網(wǎng)絡(luò),即客戶端接入時(shí)間、接入地點(diǎn)不固定。
2、DHCP協(xié)議封裝
OP:操作類型,0-請(qǐng)求,1-應(yīng)答
HWtype:1 為以太網(wǎng)
Hwlen:?????? 6
Hops:??? 中繼次數(shù),每中繼一次加1
Transaction id:事務(wù)ID
Second elapsed:從第一次請(qǐng)求開始過(guò)去的時(shí)間
Flag:0-單播,1只能處理廣播(不能或者不愿意處理單播)
ciaddr:客戶端IP地址,如果沒有,填全0
yiaddr:由于服務(wù)器填寫,分配給客戶端的IP地址
siaddr:??? 下一服務(wù)器地址(用于bootp引導(dǎo)過(guò)程)
giaddr: 中繼網(wǎng)關(guān)服務(wù)器地址(跨子網(wǎng)進(jìn)行DHCP地址分配的場(chǎng)景)
chaddr:客戶端MAC地址
sname:dhcp服務(wù)器名稱
bootfilename:引導(dǎo)文件名稱
magic cookie: dhcp為了兼容BOOTP增加的魔數(shù)(?63.82.53.63)
option:拓展選項(xiàng)
2.1、DHCP協(xié)議封裝:拓展選項(xiàng)
常用tag:
0 :填充?? 1:子網(wǎng)掩碼?? 3:路由器地址? 6:域名服務(wù)器
15:域名? 50:請(qǐng)求的IP地址?? 51:地址租用期??
53:DHCP消息類型? 54:服務(wù)器標(biāo)識(shí)符?? 55:參數(shù)請(qǐng)求列表
56:DHCP錯(cuò)誤消息? 58:租約更新時(shí)間?? 59:租約重新綁定時(shí)間
61:客戶機(jī)標(biāo)識(shí)符? 119:域搜索列表?? 255: 結(jié)束
2.2、DHCP協(xié)議封裝:DHCP消息類型(53)
DHCP常用消息類型:
DHCPDISCOVER(1), DHCPOFFER (2), DHCPREQUEST (3), DHCPDECLINE (4), DHCPACK (5),DHCPNAK (6), DHCPRELEASE (7), DHCPINFORM (8), DHCPFORCERENEW(9) , DHCPLEASEQUERY (10), DHCPLEASEUNASSIGNED (11), DHCPLEASEUNKNOWN (12), DHCPLEASEACTIVE (13).
3、DHCP工作原理
3.1、DHCP協(xié)議通信過(guò)程
DHCPDISCOVER(1):
廣播消息,src 0.0.0.0:68? dst 255.255.255.255:67
DHCPOFFER (2):
攜帶,租期T,更新時(shí)間T1(通常為1/2*T),重新綁定時(shí)間T2(通常為7/8*T)
DHCPREQUEST (3):
包含一個(gè)服務(wù)器標(biāo)識(shí)符,選定的IP地址
DHCPACK (5):
服務(wù)器確認(rèn)可以綁定該IP地址
DHCPNAK (6)
服務(wù)器無(wú)法分配該IP地址
DHCPDECLINE (4):
客戶端使用ACD檢測(cè)沖突,發(fā)現(xiàn)該IP地址被占用,發(fā)送此消息放棄該IP地址
DHCPRELEASE (7):
客戶端在租期內(nèi)主動(dòng)放棄一個(gè)IP地址
DHCPINFORM (8):
客戶端已經(jīng)有IP地址的情況下,需要其他配置信息,發(fā)送此信息
3.2、DHCP狀態(tài)機(jī)
4、DHCPv6: 與DHCPv4的區(qū)別
1、DHCPv6使用組播地址:ff02::1:2
????? 而DHCPv4使用廣播
2、 DHCPv6中沒有保留BOOTP協(xié)議
3、DHCPv6中重要概念:
???? 客服端標(biāo)識(shí)符,服務(wù)端標(biāo)識(shí)符
????? 身份關(guān)聯(lián)(IA),DUID
4.1、DHCPv6 :消息格式
4.2、DHCPv6: 消息類型對(duì)比
4.3、DHCPv6: IA(身份關(guān)聯(lián))
IAID:32位隨機(jī)數(shù)
T1:更新時(shí)間
T2:重新綁定時(shí)間
IA_NA:? NA選項(xiàng)
IA_TA:? TA選項(xiàng)
4.4、DHCPv6: DUID(DHCP唯一標(biāo)識(shí)符)
三種生成方式:
DUID-LLT:基于鏈路層地址和時(shí)間DUID
DUID-EN:基于企業(yè)編號(hào)和供應(yīng)商分配的DUID
DUID-LL:僅基于鏈路層地址的DUID
4.5、DHCPv6:有狀態(tài)和無(wú)狀態(tài)
有狀態(tài)的地址配置:
類似DHCPv4,通過(guò)使用如 DHCP 的配置協(xié)議,用來(lái)配置非鏈接本地地址,以及其他額外信息(DNS等)
?
無(wú)狀態(tài)的地址配置:
使用無(wú)狀態(tài)地址自動(dòng)配置,在無(wú)狀態(tài)下客戶機(jī)認(rèn)為能夠自己配置IPv6地址,當(dāng)需要DHCPv6獲取額外信息(DNS服務(wù)等),另外一種選擇是使用ICMPv6路由器通告消息來(lái)獲得一臺(tái)DNS服務(wù)器的地址
4.5、DHCPv6:生命周期
4.6、DHCPv6:ICMPv6路由器通告消息
兩個(gè)重要字段
M位:可管理地址配置標(biāo)志?? O位:其他配置標(biāo)志
M0 O0:表示不使用DHCPv6,采用無(wú)狀態(tài)地址自動(dòng)分配
M1 O1:DHCPv6 有狀態(tài), DHCPv6 將分配有狀態(tài)地址,同時(shí)分配其他配置
M0 O1:DHCPv6 無(wú)狀態(tài):DHCPv6 不為 IPv6 主機(jī)分配有狀態(tài)地址,但分配無(wú)狀態(tài)配置設(shè)置
M1 O0:DHCPv6 用于地址配置,但不用于其他配置,這是一種最不可能的組合
4.7、DHCPv6:通信過(guò)程
4.8、DHCPv6:消息介紹
ROUTER SOLICIT:路由器發(fā)現(xiàn)消息
ROUTER ADVERTISE:路由器通知消息
SOLICIT(1):DHCPv6發(fā)現(xiàn)消息
ADVERTISE(2): DHCPv6通知消息
REQUEST(3): DHCPv6請(qǐng)求消息
REPLY(7):DHCPv6應(yīng)答消息
DECLINE(9): DHCPv6放棄
INFORMATION-REQUEST(11):已有IP的情況下,使用此消息申請(qǐng)其他配置
4、DHCPv6:前綴委托
一臺(tái)路由器向另一臺(tái)路由器委托一個(gè)地址空間范圍,這個(gè)地址可以描述為一個(gè)IPv6地址前綴,使得該路由器可以像一個(gè)DHCPv6服務(wù)器那樣工作
5、DHCP中繼
5.1、DHCP中繼:重要概念
1、中繼服務(wù)在第3層,只負(fù)責(zé)DHCP中的廣播或者組播數(shù)據(jù)
2、中繼代理選項(xiàng)
?DHCPv4 RAIO:元選項(xiàng),很多子選項(xiàng)用于ISP標(biāo)識(shí)請(qǐng)求來(lái)自于哪個(gè)用戶,哪個(gè)鏈路或網(wǎng)絡(luò),安全認(rèn)證子選項(xiàng)(SHA-1算法)
3、中繼代理遠(yuǎn)程ID子選項(xiàng)
??????? 用于標(biāo)識(shí)遠(yuǎn)程客戶機(jī)(呼叫方ID,用戶名,調(diào)制解調(diào)器ID,點(diǎn)對(duì)點(diǎn)鏈路的遠(yuǎn)程IP地址),DHCPv6版本中還包含了DUID
4、服務(wù)器標(biāo)識(shí)符覆蓋
5、租約查詢,批量租約查詢
6、2層中繼代理 IPv4 LDRA
6、DHCP與DNS交互
組合DNS /DHCP服務(wù)器:
能夠在給客戶機(jī)分配IP地址的同時(shí),根據(jù)DHCPREQUEST中的客戶機(jī)標(biāo)識(shí)符或者域名,進(jìn)行域名和IP地址綁定,并更新到DNS數(shù)據(jù)庫(kù)中,這樣后續(xù)的DNS請(qǐng)求,都能相應(yīng)最新的IP和域名綁定信息
7、DCHP安全:DHCP認(rèn)證
1、認(rèn)證消息:下發(fā)一個(gè)共享配置令牌,客戶端和服務(wù)端配置令牌信息匹配則可以接受該消息,有令牌信息能夠被截獲,所以這種保護(hù)方式很弱
2、延期認(rèn)證:假設(shè)客戶端和服務(wù)端有一個(gè)共享秘鑰,當(dāng)客戶端發(fā)送DHCPDISCOVER和DHCPINFORM時(shí),包含一個(gè)認(rèn)證選項(xiàng),則DHCPINFORM和DHCPACK中包含一個(gè)認(rèn)證碼(MAC加密后的數(shù)據(jù)),
客戶端檢測(cè)認(rèn)證碼是否正確。核心算法采用MD5簽名校驗(yàn)
3、DHCP認(rèn)證機(jī)制沒有被廣泛應(yīng)用
7.1、DHCP安全:攻擊手段
1、未授權(quán)客戶機(jī)或者未授權(quán)服務(wù)器對(duì)DHCP通信過(guò)程的干擾
2、耗盡配置資源的Dos攻擊
?
感謝xuj
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的TCP/IP详解 第六章 DHCP协议的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Mac 清理垃圾工具 Clean My
- 下一篇: IS61LV25616芯片技术手册