您的位置 首页 > 数码极客

【dhcp服务器是什么】一分钟看搞懂DHCP 工作原理

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地址发放,则在此处填入经过的路由器的ip地址
  • Sname :服务器主域名
  • Options :可以自由添加的部分,用于存放客户端向服务器请求信息和服务器的应答信息

在本头条号的主页置顶文章中有【文章分类】包含:

[数据库系列]

[数据结构和算法系列]

[高级网络编程篇系列]

[Linux系统篇系列]

[C++进阶篇系列]

[C++基础知识篇系列]

[协议篇系列]

[设计模式系列]

不要只收藏和转发哦,点击屏幕右上角的【关注】每天文章不落下。

本头条号文章分类目录(精心整理)

关于作者: admin

无忧经验小编鲁达,内容侵删请Email至wohenlihai#qq.com(#改为@)

热门推荐