网络协议系列(二) ---- DHCP:动态主机配置协议

本文介绍了DHCP协议的作用及工作流程,解释了为何使用DHCP来自动分配IP地址,避免手动配置带来的复杂性和冲突问题。

为什么使用DHCP协议?

DHCP协议是为了获取IP地址。当主机接入网络时,需要一个IP地址,一种方法是静态配置,即对主机手工配置IP地址,网关等信息。这种方法一方面是比较繁琐,另一方面可能存在两台主机配成了相同的IP导致IP冲突。使用DHCP时,IP地址由DHCP服务器统一管理和分配,即保证了IP地址不发生冲突,又无需人工干预。


DHCP过程:

假设主机A接入了网络,网络中有两个DHCP服务器SD1和SD2。

首先,主机A发送DHCP Discover广播数据包。

网络中的DHCP服务器(SD1和SD2)收到这个广播数据包后,都会从自己的IP池子中挑选一个可用IP,通过DHCP Offer发送给主机A。比如SD1发送给A offer1(携带ip1),SD2发送给A offer2(携带ip2)。

主机A收到了2个offer,从中挑选一个,通常是挑选先到的。比如SD1的offer1先来了,那么主机A准备使用ip1,但此时它还不能使用(因为它还没有给SD1确认它接受了offer)。这时主机A再发送一个广播消息DHCP request,携带DHCP服务器SD1的ip, 以及自己选好的offer ip1。

SD2收到这个消息发现主机A没有接受自己的offer(消息中携带是SD1的ip),则接下来不用管了。

SD1收到这个消息后,发现主机A接受了自己的offer,则将这个ip1正式分给主机A。同时发送一个DHCP ACK,里面携带ip1和可以使用的时间(租期)。一种突发情况是,SD1在收到主机A的确认(DHCP request)之前,将ip1分给别人了,这时SD1会给主机A发送拒绝消息DHCP Decline。这种情况下主机A就悲催了,只能重新发起DHCP discovery进行ip地址获取过程。

主机A在收到ACK后,就可以使用ip1了。当以后使用时间过了租期的一半时,会向DHCP server发起续租请求。

多说一句,DHCP是基于UDP的,而UDP是基于IP的。主机开始DHCP过程时并没有IP地址,所以IP报文源地址一项填的是全0. 而整个DHCP过程(Discover, Offer, Request, Ack)都是采用广播的形式来进行的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值