技术学习要了解某项技术能干什么?它的详细内容?发展走向?
一、DHCP协议
1、DHCP基本概念
dhcp动态主机配置协议,广泛应用于局域网内部
主要是为客户机提供TCP/IP 参数(IP地址、子网掩码、网关、DNS等)
2、DHCP的优点
- 减少管理员的工作量
- 避免输入错误
- 避免IP冲突
- 提高IP地址的利用
二、DHCP工作原理
dhcp是应用层的协议,是基于传输层的UDP协议的,主机是向服务器的67号端口发送请求,服务器响应的是客户机的68号端口。
1、释放Vmnet1 IP
查看本地电脑的网卡,选取VMnet1进行实验,打开winshark抓Vmnet1网络卡的数据流量
Vmnet1网卡这里是有IP地址的,释放IP并重新获取
ipconfig /release "VMware Network Adapter VMnet1"
ipconfig /renew "VMware Network Adapter VMnet1"
在winshark抓包中搜DHCP的报文
首先我用ipconfig /release命令将VMnet1的IP地址释放掉了 所以这里source是0.0.0.0,从源MAC地址可以看出是客户即的MAC地址,然后客户机发的是广播的DHCP Discover报文,目标是255.255.255.255。
2、DHCP交互过程
(1)DHCP Discover
网络中所有的dhcp服务器都会收到,都会响应,客户机会向收到的第一个dhcp服务器发送dhcp offer。
discover里面其实没有任何内容,只有一个client MAC地址,option这里因为之前有启用dhcp所以options这里会有之前的Ip信息。
(2)DHCP Offer
会响应your client ip、next server ip、client mac address等
your client ip响应的是服务器可以给客户机提供的IP地址,假设这个IP地址已经被别人用了,这里DHCP Server就会提供下一个即192.168.40.2.
(3)DHCP Request
option字段这里request IP address
(4)DHCP ACK
server直接给客户机IP这里your client ip address 字段
3、为什么都是广播方式发送的呢?
- 第一个报文广播因为CLIENT不知道网络中有没有DHCP服务器
- 第二个报文广播因为CLIENT还没有IP地址,但是在EthernetII层已经不是广播了,根据教程三层的IP地址这里应该是广播的即目标IP地址应该是255.255.255.255.但是我实际抓到的数据包却不是这样的(挠头)
- 第三个报文广播网络中有多台服务器,而且有一台服务器离得我特别近,客户机的多向选择问题,在这个报文里面客户机会携带一些内容,它只会标识,还没有IP地址。
- 第四个报文广播server在响应的时候,EthernetII层不再是广播了,在三层的IP地址还是广播,只有在这个DHCP ACK 报文结束后客户机才有IP。
三、DHCP租约
1、查询租约
12点51到期,12点36就发送了续约的DHCP REQUEST请求。
DHCP获取IP地址是有租期的,每隔5分钟会重新向SERVER发了一个DHCP Request报文,当租期到达百分之50的时候就重新获取租期了。
2、租期30分钟
DHCP租期30分钟,租期过半时重新续租
可以看到SERVER 的ACK确认是13:51
ipconfig /all查看租约过期时间是14:21,可以验证dhcp的租期是30分钟。