既然充当服务器,我们在路由器上,开启dhcp服务,并建立两个地址池。
然后,在接口上,启用dhcp。
接下来,给路由器的0口和1口,分别配置上地址。
再来PC这边看。
已经获得了地址。
先回答一个疑问,这台DHCP服务器有两个地址池,10段和20段,那么当他收到1个dhcp请求,如何判断应该从哪个地址池分地址?
答案是,根据他收到dhcp请求的接口,哪个接口收到的,就去拿个和该接口相同网段的地址发下去。
一开始为什么不发地址,因为接口没地址啊,接口没地址就无法判断从哪个池下发地址啊。
点击了解更多技术资料和免费学习视频,加入讨论群:662736393
技术交流,添加 企鹅 :167748928
再来分析DHCP获得地址时的四个过程。
现在拿右边的全新PC来看,打开抓包工具wireshark。
可以看出,PC获取地址总共做了7个动作,分别来看。
因为pc这时候还没ip,所以源ip是4个0,
pc这时候也不知道dhcp服务器的ip,所以目标ip是广播,4个255,
mac地址的话,源mac是pc自己,目标mac也是广播,
捕获的dhcp discover报文
offer报文可以通过单播来发送,使用单播可以减少网络中报文的数量,提高网络的性能
但是等等,不是说PC还没地址吗,单播必须写明确的地址,写什么地址??
PC是没有ip地址,但是PC有mac地址啊,写明mac地址,这样单播报文就可以正常送达了
捕获的dhcp offer报文。
因为在网络中可能不止存在一台dhcp服务器,所以PC机也是可能从多个服务器中都获得地址的,就像咱们在找工作的时候,可能多家公司都发来了offer,咱们需要回应别人的offer,才算确定接受了这个岗位。
所以PC收到offer后,也是一样的,再像服务器发一个request,表示接受这个地址。
request包的目标地址是广播,也是告诉其他服务器,pc已经心有所属了。
捕获的dhcp request报文。
确认这个地址分配给了PC,这个就比较好理解了,无需做太多说明。
这个步骤,其实和dhcp没有太大关系了,主要是PC机测试一下,自己刚拿到的新地址,在网络中是不是独一无二的,有没有冲突。
连发3个无故arp,用来检测网络中是否还存在相同的地址,如果没收到回应就正常,收到回应的话,会找dhcp服务器再申请个新的。
技术资料加 qq167748928 好友免费分享:
更多网络技术公开课,腾讯课堂搜“ 众元教育 ”,戳 免费公开课 ,可直接听课哦!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)