DHCP动态主机配置协议:
- 获取响应的ip地址(自动分配),配置dns、网关
- 使用udp协议(比tcp速度快)
- tcp安全,重传机制 udp速度快
- dhcp服务器67 dhcp客户端 68
- 手工配置(dhcp服务器将手动配置的IP地址分给客户),自动配置(客户端第一次向服务器申请ip地址,永久分配ip地址),动态配置(租约有关)
DHCP报文:
- discover报文
- offer
- request :请求ip地址;租约到期
- ack
- decline:客户端收到ack后,经过地址冲突检测,发现有冲突即ip地址不可用
- nak:服务器收到request,但无租约信息,发拒绝nak包
- inform:客户端已获得IP地址后想要详细的配置信息,服务器根据租约查找
- release:客户端释放ip地址
DHCP工作过程:
1.客户机向服务器发送DHCP_discover报⽂,申请IP2.服务器向客户机返回DHCP_OFFER报⽂,制定⼀个将要分配的IP3.客户机向服务器发送DHCP_REQUEST报⽂,请求这个IP4.服务器 ping ⼏次(⼀般是三次)这个IP ,如果没有响应的话,就说明这个IP现在是空闲的 ,可 以分配给客户机,所以向客户机发送DHCP_ACK报⽂,确认可以分配。如果等响应,则发送 DHCP_NAK报⽂,拒绝分配。5.如果客户端收到DHCP_ACK,则发送⼀次免费ARP,判断这个IP 是否已经被⽤。没有使⽤则绑 定这个服务器分配来的IP,否则向服务器发送DHCP_DECLINE报⽂,拒绝这次分配。并重新执⾏ 第⼀步。如果收到是DHCP_NAK,则直接重新执⾏第⼀步。客户机申请IP之前确实没有IP,DHCP_DISCOVER报⽂是以⼴播的形式发送的,IP头⾥的⽬的地址 是255.255.255.255,源地址是0.0.0.0 链路层⽬的地址是FF-FF-FF-FF-FF-FF,源地址是⾃⼰的 MAC地址。这样服务器 收到客户端发来的DISCOVER报⽂之后,会根据源MAC地址向客户机发送 单播的DHCP_OFFER报⽂
DHCP安全性:
- DHCP饥饿攻击(拒绝服务/与恶意服务器结合攻击)
- DHCP恶意服务器(假的dns解析,钓鱼网站)
ipconfig /release 释放ip地址
ipconfig /renew 重新获取ip地址
- 客户端执行DHCP-Discover 后,如果没有dhcp服务器响应,客户端会随机使用169.254.0.0/16这个网段内的一个地址作为IP地址。
- 续约租期:
- 租期到50%,客户端单播发request包,服务器响应ack
- 租期50%,客户端单播request,包丢失,租期87.5%,客户端广播request以续租。
- 补充:
- ip层不可靠(丢包,抖动)但IP层的协议(ospf(路由协议,必须正确)、icmp协议(有request,reply))是可靠的。
- 传输层 tcp可靠(数据包有序列号,有重传机制,三次握手四次挥手) udp不可靠
- 看服务器是否能联网,是要ping 一个公网地址,如:223.5.5.5(阿里云服务器),并不是浏览器能否有页面,因为浏览器能开网页 ,url, 域名---IP地址映射,还需配置dns。
0x0800 ip协议
0x0806 ARP协议
DHCP中继代理 是指 要分配的IP地址和服务器不是一个网段。要确保两点:
- 广播转单播
- 为dhcp服务器指明接口/路由