动态主机设置协议

动态主机设置协议

Schema of a typical DHCP session

DHCP统一使用两个IANA分配的端口作为BOOTP:服务器端使用67/udp,客户端使用68/udp。

DHCP运行分为四个基本过程,分别为请求IP租约、提供IP租约、选择IP租约和确认IP租约。

客户在获得了一个IP地址以后,就可以发送一个ARP请求来避免由于DHCP服务器地址池重叠而引发的IP冲突。

DHCPDISCOVER

UDP Src=0.0.0.0 sPort=68 Dest=255.255.255.255 dPort=67

OP

HTYPE

HLEN

HOPS

0x01

0x01

0x06

0x00

XID

0x3903F326

SECS

FLAGS

0x0000

0x0000

CIADDR

0x00000000

YIADDR

0x00000000

SIADDR

0x00000000

GIADDR

0x00000000

CHADDR

0x00053C04

0x8D590000

0x00000000

0x00000000

192 octets of 0's. BOOTP legacy

Magic Cookie

0x63825363

DHCP Options

DHCP option 53: DHCP Discover

DHCP option 50: 192.168.1.100 requested

DHCPOFFER

UDP Src=192.168.1.1 sPort=67 Dest=255.255.255.255 dPort=68

OP

HTYPE

HLEN

HOPS

0x02

0x01

0x06

0x00

XID

0x3903F326

SECS

FLAGS

0x0000

0x0000

CIADDR

0x00000000

YIADDR

0xC0A80164

SIADDR

0x00000000

GIADDR

0x00000000

CHADDR

0x00053C04

0x8D590000

0x00000000

0x00000000

192 octets of 0's. BOOTP legacy

Magic Cookie

0x63825363

DHCP Options

DHCP option 53: DHCP Offer

DHCP option 1: 255.255.255.0 subnet mask

DHCP option 3: 192.168.1.1 router

DHCP option 51: 1 day IP lease time

DHCP option 54: 192.168.1.1 DHCP server

DHCPREQUEST

UDP Src=0.0.0.0 sPort=68 Dest=255.255.255.255 dPort=67

OP

HTYPE

HLEN

HOPS

0x01

0x01

0x06

0x00

XID

0x3903F326

SECS

FLAGS

0x0000

0x0000

CIADDR

0x00000000

YIADDR

0x00000000

SIADDR

0x00000000

GIADDR

0x00000000

CHADDR

0x00053C04

0x8D590000

0x00000000

0x00000000

192 octets of 0's. BOOTP legacy

Magic Cookie

0x63825363

DHCP Options

DHCP option 53: DHCP Request

DHCP option 50: 192.168.1.100 requested

DHCP option 54: 192.168.1.1 DHCP server.

DHCPACK

UDP Src=192.168.1.1 sPort=67 Dest=192.168.1.100 dPort=68

OP

HTYPE

HLEN

HOPS

0x02

0x01

0x06

0x00

XID

0x3903F326

SECS

FLAGS

0x0000

0x0000

CIADDR (Client IP Address)

0x00000000

YIADDR (Your IP Address)

0xC0A80164

SIADDR (Server IP Address)

0x00000000

GIADDR (Gateway IP Address switched by relay)

0x00000000

CHADDR (Client Hardware Address)

0x00053C04

0x8D590000

0x00000000

0x00000000

192 octets of 0's. BOOTP legacy

Magic Cookie

0x63825363

DHCP Options

DHCP option 53: DHCP ACK

DHCP option 1: 255.255.255.0 subnet mask

DHCP option 3: 192.168.1.1 router

DHCP option 51: 1 day IP lease time

DHCP option 54: 192.168.1.1 DHCP server

DHCP发现(DISCOVER)

编辑

client在物理子网上发送广播来寻找可用的服务器。网络管理员可以配置一个本地路由来转发DHCP包给另一个子网上的DHCP服务器。该client实现生成一个目的地址为255.255.255.255或者一个子网广播地址的UDP包。

客户也可以申请它使用的最后一个IP地址(在下面的例子里为192.168.1.100)。如果该客户所在的网络中此IP仍然可用,服务器就可以准许该申请。否则,就要看该服务器是授权的还是非授权的。授权服务器会拒绝请求,使得客户立刻申请一个新的IP。非授权服务器仅仅忽略掉请求,导致一个客户端请求的超时,于是客户端就会放弃此请求而去申请一个新的IP地址。

DHCP提供(OFFER)

编辑

当DHCP服务器收到一个来自客户的IP租约请求时,它会提供一个IP租约。DHCP为客户保留一个IP地址,然后通过网络单播一个DHCPOFFER消息给客户。该消息包含客户的MAC地址、服务器提供的IP地址、子网掩码、租期以及提供IP的DHCP服务器的IP。

服务器基于在CHADDR字段指定的客户硬件地址来检查配置。这里的服务器,192.168.1.1,将IP地址指定于YIADDR字段。

DHCP请求(REQUEST)

编辑

当客户PC收到一个IP租约提供时,它必须告诉所有其他的DHCP服务器它已经接受了一个租约提供。因此,该客户会发送一个DHCPREQUEST消息,其中包含提供租约的服务器的IP。当其他DHCP服务器收到了该消息后,它们会收回所有可能已提供给該客户的租约。然后它们把曾经给該客户保留的那个地址重新放回到可用地址池中,这样,它们就可以为其他计算机分配这个地址。任意数量的DHCP服务器都可以响应同一个IP租约请求,但是每一个客户网卡只能接受一个租约提供。

DHCP确认(Acknowledge,ACK)

编辑

当DHCP服务器收到来自客户的REQUEST消息后,它就开始了配置过程的最后阶段。这个响应阶段包括發送一个DHCPACK包给客户。这个包包含租期和客户可能请求的其他所有配置信息。这时候,TCP/IP配置过程就完成了。

该服务器响应请求并发送响应给客户。整个系统期望客户来根据选项来配置其网卡。

DHCP释放(RELEASE)

编辑

客户端向DHCP服务器发送一个请求以释放DHCP资源,并注销其IP地址。鉴于客户端更多的时候并不清楚何时用户会将其从网络中移除,此协议不会託管“DHCP释放的发送”。

DHCP NAK

编辑

服务器回复客户,客户要求的IP不能被分配。

客户端配置参数

编辑

DHCP伺服器會提供一些選擇性的配置項目供DHCP客戶端設定。在RFC 2132文件裡面有提到這個詳細的內容。[1]。

設定選項

编辑

DHCP Option 60可以被DHCP客戶端用來做為辨識供應商及DHCP客戶端這邊的相容性識別[2]。DHCP的協定裡頭有提供預設路由的選項,Option 60則是供應商的識別ID。基於這個選項,可在CPE方提供給STB方一些特定的選擇。這樣做最大的好處是在使用Option 60的時候,不用去定義橋接或路由的埠號。橋接是基於Option 60的MAC位址,如此一來switch可以連到STB上面,如同在PC及STB上面擁有同一個介面。

Option 60這個訊息會是一個長度會變動的字串也有可能依供應商提供的八進位數字的一個集合。DHCP客戶端通常會用來溝通的一個方式是在送出DHCP要求的時候按硬體或韌體的型別來設定這個資訊,這個資訊會被稱之為供應商Class識別(VCI Vendor Class Identifier)/(Option 60)。這個方式可能因DHCP Server之間的不同而會在兩種 CMs或兩種 modems之間進行DHCP request時造成差異。有些set-top的Boxes也會設定VCI去通知DHCP Server有關硬體和裝置的功能性資訊。所以結論是,這個選項的資訊會給予DHCP Server在做DHCP回應時必要附加訊息上面的提示。

相关推荐

苹果手机查询生产地区
365外网足球

苹果手机查询生产地区

📅 06-28 👁️ 3452
UC浏览器怎么用?
365bet苹果版

UC浏览器怎么用?

📅 06-28 👁️ 3734
饥荒新家家里出现大脚印怎么办 饥荒新家大脚印处理攻略
豆瓣9.4分的神剧表演浮夸,为什么却让人欲罢不能?
中国移动38元套餐流量介绍
365外网足球

中国移动38元套餐流量介绍

📅 08-03 👁️ 7273
金主的意思
beat365中国

金主的意思

📅 07-06 👁️ 3516
你已经活了多少岁软件|趣味年龄计算器 V1.0 绿色免费版下载
哪里有驽买(哪里可以买驽) 哪里买弩便宜
beat365中国

哪里有驽买(哪里可以买驽) 哪里买弩便宜

📅 07-20 👁️ 150
魔域合区维护多久?深度解析合区维护时间及其影响