文章目录[隐藏]
一、什么是DHCP?
DHCP。动态主机配置协议。前身是BOOTP协议。是一个局域网的网络协议。使用UDP协议事件。常用的2个端口:67(DHCP server),68(DHCP client)。DHCP往往一般被用来局域网环境。主要作用是研究的管理、分配IP地址。使client动态的获取IP地址、Gateway地址、DNS服务器地址等消息。并能够提高地址的使用率。无脑来说。DHCP只是一个不需要账号密码登录的、全自动给内网机器分配IP地址等消息的协议。
二、DHCP协议中的报文
DHCP报文共有一下几种:
DHCP DISCOVER :软件开始DHCP过程发送的包。是DHCP协议的开始
DHCP OFFER :服务器接收到DHCP DISCOVER之后做出的响应。它包括了给予软件的IP(yiaddr)、软件的mac地址、租约过期时间、服务器的查看符以及很多的消息
DHCP REQUEST :软件对于服务器发出的DHCP OFFER所做出的响应。在续约租期的时候一样会使用。
DHCP ACK :服务器在接收到软件发来的DHCP REQUEST之后发出的成功确认的报文。在建立连接的时候。软件在接收到这种报文之后才会确认分配给它的IP和很多的消息应该被允许使用。
DHCP NAK :DHCP ACK的相反的报文。表示服务器拒绝了软件的请求。
DHCP RELEASE :往往一般出现在软件关机、下线等状况。这种报文将会使DHCP服务器释放发出此报文的软件的IP地址
DHCP INFORM :软件发出的向服务器请求一些消息的报文
DHCP DECLINE :当软件发现服务器分配的IP地址无法使用(如IP地址冲突时)。将发出此报文。通知服务器禁止
使用该IP地址。
DHCP 的 事件流程:
3、DHCP 协议包的组成
Xid :随机生成的一段字符串。两个资料包坐拥相同的xid说明他们属于同一次会话
Ciaddr :软件会在发送请求时将自己的ip地址放在此处
Yiaddr :服务器会将想要分配给软件的ip地址放在此处
Siaddr :往往一般来说是服务器的ip地址.但是小心!根据openwrt源码给出的注释。当报文的源地址、siaddr、option->server_id字段不一致(有经历过跨子网转发)时。往往一般认为option->srever_id字段为真正的服务器ip。siaddr有可能是多次路由跳转中的某一个路由的ip (下图中wireshark抓包中也有标明siaddr为nextserver ip address)
Chaddr :软件的mac地址
Giaddr :如果需要跨子网进行DHCP地址发放。则在此处填入经历过的wifi网络路由器的ip地址
Sname :服务器主域名
Options :应该自由添加的部分。用来存放软件向服务器请求消息和服务器的应答消息
以上就是由优质生活领域创作者 生活常识网 整理编辑的,如果觉得有帮助欢迎收藏转发~
本文地址:http://www.shenzhoubaby.com/14414.html,转载请说明来源于:生活常识网
声明:本站部分文章来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系@qq.com进行处理。分享目的仅供大家学习与参考,不代表本站立场。