DHCP工作原理

此原理在使用WildPackets EtherPeek NX Demo抓包工具抓出来的包加以分析。抓包的文件已经上传,需下载EtherPeek NX Demo软件才能打开打开附件。
DHCP工作原理
客户机MAC地址为CA:08:0A:64:00:00  服务器MAC地址为CC 07 0A 64 00 00 服务器IP地址为192.168.1.1
1、客户端首先发送DHCP DISCOVER信息以广播方式发送。源IP地址为0.0.0.0 。源mac地址为客户端的MAC地址。目的IP地址为255.255.255.255广播地址 。目的MAC地址为FFFFFFFFFFFF广播MAC地址。(因为客户端刚开始并不知道DHCP服务器的IP地址,所以只能广播发送。使用UDP协议,客户端使用的端口号为68,服务器端使用的端口号为67)对应抓包中的第一个包。
2、DHCP服务器收到客户机发送的DHCP DISCOVER广播包后,发现有一个192.168.1.5可以被租用。在地址被租用前,DHCP要先发送一个ARP查询包,查询192.168.1.5在网络上有没有被使用,如果收到ARP应答包,说明被使用,则DHCP服务器在换一个没被租用的IP地址。如果没收到ARP应答包说明没有被租用。arp查询包中的源IP地址为DHCP服务器的IP地址。源MAC地址为DHCP服务器的MAC地址。目的IP地址为192.168.1.5,所要查询是否冲突的IP地址。对应抓包中的第二个包
3、DHCP服务器向客户机发送DHCP offer广播信息,其中包括要被租用出去的192.168.1.5的IP地址。此包仍然为广播包。源MAC地址为DHCP服务器的MAC地址。源IP地址为DHCP服务器的IP地址。目的IP地址为255.255.255.255。目的MAC地址为FFFFFFFFFFFF。源端口号为67(DHCP服务器使用的端口号),目的端口号为68(客户端使用的端口号)。如果客户机没有收到DHCP offer提供的IP地址,则就会每隔断时间发送几个DHCP discover信息,一直收不到客户机会被分配为169.254.0.0/16的IP地址,
4、客户机当收到dhcp服务器发来的DHCP offer提供的信息时候,它会发送DHCP request租约请求信息到DHCP服务器,表示他将使用DHCP服务器所提供的IP地址。此请求包仍然是一个广播包,用来告诉网络中其他DHCP服务器此自己选择了哪个DHCP服务器,并选择了什么IP地址。源IP地址为0.0.0.0 。源mac地址为客户端的MAC地址。目的IP地址为255.255.255.255广播地址 。目的MAC地址为FFFFFFFFFFFF广播MAC地址。
5、DHCP 服务器在收到DHCP客户端的租约请求信息后,既发送DHCP ACK确认信息,以确定租约成功信息,ACK确认信息中包括DHCP的选项信息,比如子网掩码、网关、dns等。此ACK确认租约信息包仍然以广播数据包发送。
6、客户机收到服务器发来的确认信息后,配置此IP地址,并发送ARPreply包通知网络上其他设备该IP已经被使用。
 
总体概论:
首先客户机广播包寻找DHCP服务器,DHCP接受到广播包后拿出一个没有使用的地址,并发送ARP request请求广播包查询下网络中这个地址是否被使用,被使用则换个IP,没被使用则发送DHCP offer广播包提供给客户机和网络中的其他DHCP服务器,告诉他们我已经和这个客户端取得联系了。客户机收到后则向DHCP服务器发送一个DHCP request租约请求广播包。告诉网络中的DHCP服务器和其他DHCP服务器我已经选择了哪个DHCP服务器和使用了哪个地址。其他服务器收到此消息后把分配出去的Ip收回。DHCP request包中包含了DHCP的ip地址和DHCP所分配的IP地址。 DHCP服务器收到请求租约包后发送ACK确认广播包,确认请求,此包中包括掩码、网关、DNS等。客户机收到确认信息后就配置TCP/IP使用此IP,并发送ARP reply包通知网络上设备此IP我已使用。
 
 
 
 
有什么错误地方大家提出来,共同学习研究!!!

本文出自 “httpshenshu7895123.51..” 博客,谢绝转载!

你可能感兴趣的:(职场,DHCP,休闲)