DHCP:动态主机配置协议

一.作用与功能

  1. 作用:集中的管理,分配IP地址,使client动态的获得IP地址,Gateway地址,DNS服务器地址等信息。
  2. 功能:(1) 保证任何IP地址在同一时刻只能由一台DHCP客户机所使用
    (2)DHCP应当可以给用户分配永久固定的IP地址
    (3)DHCP应当可以同用其他方法获得IP地址的主机共存(如手工配置IP地址的主机)
    (4) DHCP服务器应当向现有的BOOTP客户端提供服务

二.DHCP报文格式

  1. DHCP报文
    DHCP报文

  2. DHCP协议包组成成分:
    (1)htype:DHCP客户端的MAC地址类型。MAC地址类型其实是指明网络类型。htype值为1时表示为最常见的以太网MAC地址类型。
    (2)hlen:DHCP客户端的MAC地址长度。以太网MAC地址长度为6个字节,即以太网时hlen值为6。
    (2)hops:DHCP报文经过的DHCP中继的数目,默认为0。DHCP请求报文每经过一个DHCP中继,该字段就会增加1。
    没有经过DHCP中继时值为0。
    (3)Xid :随机生成的一段字符串,两个数据报拥有相同的表明它们属于一次会话
    (4)Ciaddr:客户端的IP地址
    (5)Yiaddr:服务器想分配给客户端的IP地址
    (6)Siaddr:服务器的IP地址(或者多次中转中的一个路由IP地址)
    (7)Chaddr:客户端的MAC地址
    (8)Sname:服务器主域名
    (9)Options:用于存放客服端->服务器之间的应答信息(可自由添加)
    (10)op:报文操作类型,可分为请求报文和应答报文。
    DHCP请求

  3. DHCP报文操作类型
    (1) NAK(0x06)表示服务器拒绝了客户端请求
    (2) RELEASE (0x07)使其DHCP服务器释放出发出此报文的客户端IP地址
    (3) INFROM (0x04) 客户端向服务器发出请求一些信息的报文
    (4) DECLINE (0x08)当客户端发现服务器分配的IP地址无法使用,eg IP地址冲突时,将向服务器发出此报文,
    通知服务器禁止使用该IP地址。
    (5)DISCOVER(0x01)客户端->服务器 找寻请求
    (6)OFFER(0x02) 服务器->客户端 答复以及给与客户端IP,MAC等信息
    (7)REQUEST(0x03) 客户端->服务器 客户端的答复:请求使用信息内容
    (8)ACK(0x05) 服务器->客户端 确认信息,允许使用

三.工作原理

  1. 工作流程:
    (1)客服端广播DHCP DISCOVER(0x01)消息,客户端开始DHCP过程发送的包。
    (2)服务器提供地址租约DHCP OFFER(0x02),服务器收到DHCP DISCOVER之后做出答复,给与客户端的IP地址,
    MAC地址,租约过期时间,服务器的识别符号以及其他信息。
    (3)客户端选择并请求地址租用DHCP REQUEST(0x03),客服端对DHCP OFFER的响应,在续租期间的时候同样会
    使用。
    (4)服务器确认将地址租用给客户端DHCP ACK(0x05),服务器在接收到DHCP REQUEST后发出的成功确认的报文。
    在建立连接时,客户端在接受到这个报文后,才会确认分配的一系列IP,MAC地址等可以被服务器允许使用。

  2. DHCP服务器工作逻辑
    (1)DHCP SERVER原则上是一直处于被动接受请求的状态。
    (2)当有客户端请求时,服务器会读取获得客户端当前所在的状态以及客户端的信息,并在静态租约表和动态租约表中进行检索找到相应的表项,再根据客户端的状态执行不同的回复。
    (3)当收到客户端的首次请求时,DHCP服务器先查找静态租约表;若存在请求的表现,返回这个客户端的静态IP地址;不然的话,从IP地址池中选择可用的IP分配给客户,并添加信息到动态数据库中。此外,服务器将会周期性的刷新租约表写入文件存档,在这个过程中会顺便对动态租约表进行租期检查。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值