dhcp 服务器发出了 dhcpnack 消息,跪求DHCP报文分析

DHCP协议用于自动分配IP地址,其工作流程包括:客户端广播DHCPdiscover请求,服务器响应DHCPOFFER,客户端选择并广播DHCPrequest,服务器发送DHCPack确认,客户端绑定IP并可能进行租约更新。在租约期间,客户端通过DHCPrequest请求续租,服务器确认或否认。若IP冲突,客户端会拒绝并重新请求。
摘要由CSDN通过智能技术生成

41413e7027ffa026ba737eccea21484e.gif

1. 寻找Server。当DHCP客户端第一次登录网路的时候,也就是客户发现本机上没有任何IP资料设定,它会向网路发出一个DHCPDISCOVER封包。因为客户端还不知道自己属于哪一个网路?所以封包的来源地址会为0.0.0.0,而目的地址则为255.255.255.255,然后再附上DHCPdiscover的信息?向网路进行广播。网络上每一台安装了TCP/IP协议的主机都会接收到这种广播信息,但只有DHCP服务器才会做出响应DHCPdiscover的等待时间预设为1秒也就是当客户端将第一个DHCPdiscover封包送出去之后在1秒之内没有得到回应的话就会进行第二次DHCPdiscover广播。在得不到回应的情况下客户端一共会有四次DHCPdiscover广播(包括第一次在内)除了第一次会等待1秒之外其余三次的等待时间分别是9 13 16秒。如果都没有得到DHCP服务器的回应客户端则会显示错误信息宣告DHCPdiscover的失败。之后基于使用者的选择系统会继续在5分钟之后再重一次DHCPdiscover的要求。

2. 提供IP租用位址。当DHCP服务器监听到客户端发出的DHCPdiscover广播后,它会从那些还没有租出的位址范围内?选择最前面的的空置IP,连同其它TCP/IP设定,回应给客户端一个DHCPOFFER封包。由于客户端在开始的时候还没有IP位址?所以在其DHCPdiscover封包内会带有其MAC位址信息,并且有一个XID编号来辨别该封包?DHCP服务器回应的DHCPoffer封包则会根据这些资料传递给要求租约的客户。根据服务器端的设定,DHCPoffer封包会包含一个租约期限的信息。

3.接受IP租约。如果客户端收到网路上多台DHCP服务器的回应,只会挑选其中一个DHCPoffer(通常是最先抵达的那个),并且会向网路发送一个DHCPrequest广播封包?告诉所有DHCP服务器它将指定接受哪一台服务器提供的IP位址。之所以要以广播方式回答,是为了通知所有的DHCP服务器,他将选择某台DHCP服务器所提供的IP地址同时?客户端还会向网路发送一个ARP封包,查询网路上面有没有其它机器使用该IP位址,如果发现该IP已经被占用?客户端则会送出一个DHCPDECLINE封包给DHCP服务器,拒绝接受其DHCPoffer,并重新发送DHCPdiscover信息。事实上,并不是所有DHCP客户端都会无条件接受DHCP服务器的offer,尤其这些主机安装有其它TCP/IP相关的客户软件。客户端也可以用DHCPrequest向服务器提出DHCP选择,而这些选择会以不同的号码填写在DHCPOptionField里面。换一句话说,在DHCP服务器上面的设定?未必是客户端全都接受,客户端可以保留自己的一些TCP/IP设定。而主动权永远在客户端这边。

4.确认阶段。即DHCP服务器确认所提供的IP地址的阶段。当DHCP服务器收到DHCP客户机回答的DHCPrequest请求信息之后,它便向DHCP客户机发送一个包含它所提供的IP地址和其他设置的DHCPack确认信息,告诉DHCP客户机可以使用它所提供的IP地址。然后DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除DHCP客户机选中的服务器外,其他的DHCP服务器都将收回曾提供的IP地址

5.重新登录。以后DHCP客户机每次重新登录网络时,就不需要再发送DHCPdiscover发现信息了,而是直接发送包含前一次所分配的IP地址的DHCPrequest请求信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCPack确认信息。如果此IP地址已无法再分配给原来的DHCP客户机使用时(比如此IP地址已分配给其它DHCP客户机使用),则DHCP服务器给DHCP客户机回答一个DHCPnack否认信息。当原来的DHCP客户机收到此DHCPnack否认信息后,它就必须重新发送DHCPdiscover发现信息来请求新的IP地址。

6. 更新租约。DHCP服务器向DHCP客户机出租的IP地址一般都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址。如果DHCP客户机要延长其IP租约,则必须更新其IP租约。DHCP客户机启动时和IP租约期限过一半时,DHCP客户机都会自动向DHCP服务器发送更新其IP租约的信息。至于IP的租约期限却是非常考究的?并非如我们租房子那样简单?DHCP客户机除了在开机的时候发出DHCPrequest请求之外?在租约期限一半的时候也会发出DHCPrequest?如果此时得不到DHCP服务器的确认的话?工作站还可以继续使用该IP?然后在剩下的租约期限的再一半的时候(即租约的75%)?还得不到确认的话?那么工作站就不能拥有这个IP了。要是您想退租,可以随时送出DHCPLEREASE命令解约?就算您的租约在前一秒钟才获得的。

+4

精品文章

2010-7-8 10:21

本帖最后由 z00w00 于 2010-5-25 18:41 编辑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值