码迷,mamicode.com
首页 > 其他好文 > 详细

详解DHCP工作方法,并用wireshark对DHCP四个数据包抓包分析

时间:2015-05-17 20:10:51      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:

原文地址:http://www.ctowhy.com/395.html

DHCP的作用:

局域网中,用户电脑都需要IP地址才使用网络服务,但是客户并不都会配置IP地址,这时,可以在网络中部署一个DHCP服务器,用来给这些客户主机动态的分配IP。

所有DHCP的客户端,在向DHCP服务器租用到地址后,会在DHCP服务器端留下租用信息,网络管理员可以根据这些分配信息统一管理这些客户。

DHCP的一些概念:

DHCP是一个典型的Client/Server模型的协议,使用UDP传输

  • DHCP Server端,使用UDP端口:67
    DHCP Server可以在很多设备上部署,如Cisco、H3C、Juniper、Windows、Linux……都可以
  • DHCP Client端,使用UDP端口:68
    客户端(主机、路由器、交换机、网络打印机、网络摄像头……都可以作为DHCP客户端)

DHCP的基本工作流程

DHCP的客户端如果把网卡的IP地址配置为动态获取IP的方式,就会发送DHCP请求,来寻找DHCP服务器申请地址;b
技术分享

DHCP的在客户端申请、服务器下发地址的过程中,一共会产生四个数据包,如下:
技术分享

根据这四个数据包来看,DHCP的工作流程如下图:
技术分享

DHCP详细工作流程解析

第一步:
DHCP客户端主动发起DHCP Discover包,用来寻找DHCP服务器,其中:

  • 源MAC是自己的MAC地址,目的MAC是FFFF.FFFF.FFFF的广播
  • 源IP是0.0.0.0(现在还没有IP,就用全0地址),目的IP是255.255.255.255的三层广播

因为DHCP服务器在哪里还不知道,所以使用广播来寻找,广播会泛洪到整个网段中;

第二步:
DHCP服务器收到客户端发的DHCP Discover之后,会在自己的地址池中拿出一个没有分配的地址以及配套的参数(如:掩码、DNS、网关、域名、租期……),然后以一个DHCP Offer包发送出去。
这个DHCP Offer数据包的地址如下:

  • 源MAC是DHCP服务器的MAC,目的MAC是FFFF.FFFF.FFFF的广播
  • 源IP是DHCP服务器的IP,目的IP是255.255.255.255的广播

这时客户端还没有获得IP,DHCP服务器端现在还无法定位客户端,所以用广播来回应。

第三步:
客户端收到这个DHCP Offer后,会再发出一个DHCP Request给服务器来申请这个Offer中包含的地址。
这个时候,客户端还没有正式拿到地址,所以还需要向DHCP服务器申请。

  • 这时客户端的源IP还是0.0.0.0,目的IP还是255.255.255.255
  • 源MAC是客户端的MAC,目的MAC是FFFF.FFFF.FFFF广播包

第四步:
服务器收到客户端的请求后,会发出一个DHCP ACK用来确认这个IP地址可以分配给这个客户端。
客户端收到第四个DHCP ACK数据包才算正式拿到了这个IP。

【更多“ICMP协议”相关的内容,点击返回:TCP IP协议文章列表】

详解DHCP工作方法,并用wireshark对DHCP四个数据包抓包分析

标签:

原文地址:http://www.cnblogs.com/AloneSword/p/4510189.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!