雏鹰部落

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4883|回复: 14

[讨论/求助] DHCP动态分配过程中的一个小问题

[复制链接]
发表于 2011-3-18 16:09:28 | 显示全部楼层 |阅读模式
本帖最后由 magic_os 于 2011-3-18 16:31 编辑

各路看官大家好~又到了路见不平拔刀相助的环节了~!! 咳~那个..俺废话就不多说了~介于以前有朋友说这样的问题很矫情..俺予以肯定..但是问题还是要问的..欢迎大家说俺问题很矫情...好了 问题是这样的..

-------------------------------------------------------------------------------------------------

先放上TOPO




这个TOPO中R3为DHCP服务器动态给C1(桥接到某台虚拟机的网卡上了)、R2分配IP
配置地方我就不说了..问题不在这里..问题是我在C1到R1和R1到R2这两条线路上分别抓DHCP包发现
C1到R1如下:

R1到R2如下:


我的问题是~在DHCP Discover后~
为什么R3给PC分配IP的时候 是先PING了一下那个预分配的IP(而不是用ARP去广播查看这个预分配的IP是否被占用)
而给R2分配IP的时候是用ARP去广播看这个预分配的IP是否被占用

为什么会有这个区别?

这个地方我要补充一下...我发现在C1(windows系统)上刚启动自动获取IP的时候是和R1到R2捕获的第二部一样的(发送了ARP广播)
我想再测试一下 所以就在C1上使用ipconfig /release 释放了第一次获取的那个IP,并且再使用ipconfig /renew重新来获取~
第二次获取时 就出现了DHCP直接ICMP报文那个预分配IP地址的情况了~

为什么重新获取的时候会这样?
还希望知道的老师们朋友们不吝赐教...!非常感谢~!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
 楼主| 发表于 2011-3-18 17:17:07 | 显示全部楼层
我打算去好好研究研究那个TCPIP卷一..我发现第二次PC发起DHCP请求的时候 DHCP Discover 的那个包包里面既然是携带了上次租约过的地址的..应该和这个有关系~
所以DHCP服务器直接ping了两一下这个IP...555这中间绝对有一个知识点我没有接上...
发表于 2011-3-18 17:29:51 | 显示全部楼层
DHCP在给PC第一次分配和第二次分配ip时不是都是DHCP先ping那个预分配地址吗?
感觉这个问题有点深度,期待老师来解答
 楼主| 发表于 2011-3-18 18:29:04 | 显示全部楼层
本帖最后由 magic_os 于 2011-3-18 18:30 编辑

经过我两个多小时的慢慢研究我终于发现..原来我将DHCP的某一部分理解的不透彻

其实通过几次抓包试验后发现

其实 这个PING包 是在 DHCP上面有对应的ARP记录的时候 才会出现的

也就是说..PC的那个缓存机制 让那个DHCP Discover包携带了上一次租约过的一个IP 再次请求DHCP服务器重新租给它 .. 结果 如果DHCP 服务器R3上面存在PC MAC的ARP缓存..就直接用PC的MAC地址封装+上这个IP ping一下 看看主机PC是不是存活的(这个是不是这样理解?)然后就直接提供PC请求的那个IP了~

换句话说如果此时R3上没有PC MAC缓存那么 就会在接到 DHCP discover之后 发起一个ARP 请求PC发过来的DHCP discover包中对应的IP地址(也就是PC)的MAC

其实最后确认租约IP是否在网络上使用是Client端来操作的 Client端会发起一个ARP看看是否有回应来决定是否使用这个IP 我一直理解为DHCP服务器端刚开始就发了ARP来确定是否提供那个IP..

不知道这个理解对不对我自己也晕了 说不定今天睡一觉 明天就通了...
 楼主| 发表于 2011-3-18 21:13:34 | 显示全部楼层
回复 3 # JasonWhite 的帖子

不是哦~ 大致我算是看出来了..只是理论还没有跟上试验..我自己也解释不清楚
发表于 2011-3-19 09:45:29 | 显示全部楼层
楼主太厉害了!楼主,I*老*虎*U!
我是不是太肉麻了!雏鹰部落我来了!
发表于 2011-3-19 16:29:45 | 显示全部楼层
感情lz这是提问提着,提着问题自己解决了!
学技术需要这种钻研和实践的精神(这就是传说中的BOOTCAMP精神!)
发表于 2011-3-19 16:39:11 | 显示全部楼层
LZ现在这个问题是解决了?
 楼主| 发表于 2011-3-19 19:27:33 | 显示全部楼层
回复 8 # 明天¤晴天℃ 的帖子

确实是自己解决了 ~ 试验中发现了三种可能~
应该说那个回应ping包的属于第二种~就是在知道对方MAC地址以及对方发送的DHCP discover包包里面有携带上次的租约信息并且请求再租约的时候 就会这样了.

........这个是我的毛病 我老喜欢遇到问题就先帖出来..然后同时我自己也在做这个试验..其实我是想和大家一起探讨这个问题~
这样对解决问题的进度很有帮助~ 后来做着做着就发现这个是在可以控制的范围了~~就这样了 ~呵呵


谢谢上面几位朋友的关注~!
 楼主| 发表于 2011-3-19 19:29:12 | 显示全部楼层
回复 7 # 雪候鸟 的帖子

恩恩~!这是一种精神~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|熊猫同学技术论坛|小黑屋| 网络工程师论坛 ( 沪ICP备09076391 )

GMT+8, 2024-5-18 08:28 , Processed in 0.083291 second(s), 19 queries , Gzip On.

快速回复 返回顶部 返回列表