DHCP原理

这几天面试经常被问起DHCP的原理

 

1.     啥是DHCP?

DHCP 全称Dynamic Host configuration protocol, 动态主机配置协议。 它可以为客户机自动分配IP地址、子网掩码以及缺省网关、DNS服务器的IP地址等TCP/IP参数, 简单来说, 就是在DHCP服务器上有一个数据库, 存放着IP地址、网关、DNS等参数。 当客户端请求使用时, 服务器则负责将相应的参数分配个客户端,避免客户端手动指定IP地址等。特别是在一些大规模的网络中。客户端数目较多,使用DHCP可以方便对这些机器进行管理,为客户机提供TCP/IP参数配置,如IP地址、网关地址和DNS服务器等,不仅效率高,而且不存在IP地址冲突的情况现在的无线路由器默认都带有DHCP功能,也就是说一个无线路由器同时也是一个DHCP服务器。

2.     他的原理或者说是怎么工作的?

 

 

       DHCP DISCOVER: 寻找 DHCP服务

当DHCP客户端第一次登录网络的时候或者是开机的时候, 此设备发现本机上没有任何IP设定,就会网络广播去寻找DHCP服务器。网络上每一台安装了TCP/IP协议的主机都会接收到这种广播信息,但只有DHCP服务器才会做出响应。

     DHCP OFFER: 分配IP地址

DHCP 服务器监听到客户端发出的 DHCP Discover 广播后, 会针对这个客户端的硬件地址 (MAC) 与本身的设定数据来进行下列工作:

1. 到服务器的登录文件中寻找该用户之前是否曾经用过某个 IP ,若有且该 IP 目前无人使用,则提供此 IP 给客户机;

2. 若配置文件针对该 MAC 提供额外的固定 IP (static IP) 时,则提供该固定 IP 给客户机;

3. 若不符合上述两个条件, 则随机取用目前没有被使用的 IP 参数给客户端,并记录下来。回应给客户端一个DHCP OFFER封包,由于客户端在开始的时候还没有IP地址﹐所以在其DHCP Discover封包内会带有其MAC地址信息﹐并且有一个XID编号来辨别该封包﹐DHCP服务器回应的DHCP Offer封包则会根据这些资料传递给要求租约的客户。根据服务器端的设定﹐DHCP Offer封包会包含一个租约期限的信息。但这里仅仅是分配, 客户端还没有真正的使用

DHCP REQUEST: 请求使用

如果客户端收到网路上多台DHCP服务器的回应﹐只会挑选其中一个DHCP Offer(通常是最先抵达的那个)并且向网路发送一个DHCP Request广播封包,告诉所有DHCP服务器它将指定接受哪一台服务器提供的IP位址。之所以要以广播方式回答,是为了通知所有的DHCP服务器,他将选择某台DHCP服务器所提供的IP地址, 同时,客户端还会发送一个ARP封包, 查询网路上有没有其他机器使用该IP地址, 如果发现该IP被占用, 客户端会发送一个DHCP Decline封包给DHCP服务器, 拒绝接受其DHCP Offer,并重新开始发送DHCP Discover信息。

     DHCP ACK  IP 地址分配确认

当DHCP服务器收到DHCP客户机回答的DHCP Request请求信息之后, 它便向DHCP客户机发送一个包含它所提供的IP地址和其他设置的DHCP Ack确认信息。以确认IP地址的正式生效。然后DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除DHCP客户机选中的服务器外,其他的DHCP服务器都将收回之前提供的IP地址。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31442725/viewspace-2645914/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31442725/viewspace-2645914/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值