DHCP原理与配置

DHCP原理与配置

概述

DHCP:动态主机配置协议

  • 采用C/S报文适用UDP风状态,端口号67、68
  • 服务器监听:67
  • 客户端监听 :68

优点:效率高,灵活性强、易于管理

工作过程

发现阶段

  • DHCP客户端发送discover报文,发现网络中的DHCP服务器,源地址为0.0.0.0.目的IP地址为255.255.255.255,DHCP服务器接收到后,回复响应报文,客户端根据此获得DHCP服务器的位置

    • 注意DHCP报文的广播标志位字段(flage,16bit),只是用了最高比特位(B位),其他固定为0

      • 当B位0时,表示客户端希望服务器以单播的方式客户端发送DHCP offer报文
      • 当B位1时,表示客户端希望服务器以广播的方式客户端发送DHCP offer报文

提供阶段

  • 网络中的DHCP服务器接收到discover报文后,从地址池中选择一个合适的IP地址,连同IP地址租期,网关地址等信息通过DHCP offer报文发送给DHCP客户端,同时记录客户端的MAC地址和分配的IP地址的映射关系(租约记录)

  • 如果是单播:

    • 报文的源IP地址为server的IP地址,目的IP地址为分配给主机适用的IP地址。如果16s后没有接收到客户端的响应报文,则分配其他主机使用

选择阶段

  • 如果DHCP客户端接收到多份DHCP offer报文,则选择最先接收到的offer报文,然后以广播方式发送DHCP request报文,该报文option54(服务器标识选项),用于告知网络中其他DHCP server,客户端选择了那个服务器提供的IP地址信息

确认阶段

  • 当DHCP服务器接收到DHCP客户端恢复的request报文,则根据request报文中携带的MAC地址查看有没有对应的租约记录

    • 如果有,则回复DHCP ack报文,客户端接收到后发送免费的ARP检测网络中是否有其他客户端在使用
    • 如果没有,则回复NAK报文,客户端重新发送discover报文申请新的IP地址

DHCP报文参数

OP:1B,取值1或2,表示消息类型

  • 客户端请求报文:1
  • 服务器响应报文:2

htype:1B,表示硬件地址类型,如果为以太网,用1表示

hlength:1B,表示硬件地址的长度,如果为以太网,用6表示

hops:跳数,客户端配置为0,每经过一台DHCP中继器,跳数+1

xid:4B,事务ID,由客户端随机产生,用来表示请求和响应报文的关联性

seconds:2B,有客户端填充,表示从客户端开始使用该IP地址或者续租后所使用了的秒数

flags:2B,只有最高比特位(B位)使用,其他都未使用,固定为0

ciaddr:4B,客户端的IP地址,由客户端填充,只有客户端Bound、renew、rebinding状态,并且能响应ARP请求时,才能被填充

yiaddr:4B,服务器给客户端分配的IP地址,由服务器填充

diaddr:4B,DHCP服务器的IP地址,由服务器填充

giaddr:4B,表示第一个DHCP中继器的接口IP地址,由第一跳DHCP中继器填充

  • 当DHCP客户端和服务器处于不同网段,DHCP客户端的去请求报文在经过DHCP中继器时,会将DHCP中继器的IP地址填充到该字段,DHCP服务器接收到填充该字段的请求后,则会根据此地址选择地址池分配IP地址
  • 此字段只会在第一个中机器上进行填充,后续再经过其他DHCP中继时,该地址不改变,只是hops+1

chaddr:16B,表示客户端的MAC地址,DHCP服务器会为不同的chaddr分配可用的IP地址

  • 需要和 上面的Htype/Hlength两字段匹配

snme:64B,DHCP服务器名字,可选,由服务器填充,如填充,必须是以0结束的字符串

file:128B,DHCP客户端的启动配置文件名,可选,由服务器填充,如填充,必须是以0结束的字符

options:可选项,采用TLV结构

DHCP的消息类型

option 53:携带消息类型

  • type=1:DHCP discover报文

type=2:DHCP offer报文

type=3:DHCP request报文

type=4:DHCP DCLINE报文

  • 客户端发现服务器分配的IP地址存在冲突

type=5:DHCP ACK报文

type=6:DHCP NAK报文

type=7:DHCP release报文

type=8:DHCP inform报文

  • 用于客户端向服务器请求更多详细配置参数

自定义选项

  • option 82:中继代理信息选项,华为自定义

    • 该选项可以携带255个子选项,若定义了一个option 82,其中必须定义一个sub-option,目前常用的3个子选项

      • sub-option 1:circuit ID,电路标识子选项

        • 主要用来表示DHCP客户端所处的vlan和接口信息,由DHCP中继器填充
      • sub-option 2:remote ID,代理远程标识子选项

        • 主要用来标识客户端接入的中继器设备,一般为设备MAC地址
        • 子选项1和2通常一起使用,用来标识DHCP客户端的位置
      • sub-option 5:link selection 链路选项子选项

        • 主要用来携带DHCP 中继器的I怕地址,DHCP服务器给客户端分配与该地址相同网段的IP地址
      • 该选项记录了DHCP客户端的位置,DHCP中继器接收到DHCP客户端发送给DHCP服务器的请求报文后,在该报文中添加option 82,并转发给服务器

      • 管理员可以从option 82中获取客户端的位置信息,实现对客户端的安全和计费等控制

  • option 43:厂商特定信息选项

    • 被携带在客户端发送的请求报文的option 55(携带客户端请求的参数选项列表)中,服务器接收到后,在响应报文中携带option 43,用于携带厂商指定信息

    • 应用场景

      • 在WLAN组网中,AP需要获取到AC的I怕地址用于建立CAPWAP隧道,但是AP与AC处于不同的网段,AP无法获取到AC的IP地址,可以通过option 43请求AC的IP地址

DHCP获取IP地址的过程

1-DHCP DISCOVER:DHCP客户端首次登录网络时进行DHCP交互过程发送的第一个消息,用来寻找DHCP服务器。

2-DHCP OFFER:DHCP服务器用来响应DHCP DISCOVER消息,此消息携带了各种配置信息。

3-DHCP REQUEST:DHCP客户端广播请求回应DHCP服务器OFFER消息;DHCP客户端重启广播确认之前的IP地址等配置信息;续租。

4-DHCP DECLINE:当客户端发现服务器分配给它的IP地址发生冲突时会通过发送此消息来通知服务器。

5-DHCP ACK:DHCP服务器对客户端的DHCP REQUEST消息的确认响应消息。

6-DHCP NAK:服务器对客户端的DHCP REQUEST消息的拒绝响应消息。

7-DHCP RELEASE:客户端可通过发送此消息主动释放服务器分配给它的IP地址。

8-DHCP INFORM:DHCP客户端获取IP地址后,如果需要向DHCP服务器获取更为详细的配置信息(网关地址、DNS服务器地址),则向DHCP服务器发送DHCP INFORM请求消息。

DHCP地址分配顺序

接收到DHCP客户端请求报文后,根据报文中的chhaddr查看是否有与该MAC地址静态绑定的I怕地址,有则分配该IP地址

若没有,则查看是否有与该MAC地址对应的租约记录,有则优先分配

若没有,则查看地址池是否有空闲地址,按顺寻查找,分配最先找到的IP地址

若没有空闲地址,则查看是否有超过租期的IP地址和冲突的IP地址,有则进行分配,没有则报告错误

DHCP中继:DHCP relay

DHCP relay即为DHCP 中继器,实现了处于不同网段的DHCP客户端与服务器之间的中继服务,将DCP报文跨网段头传到目的DHCP服务器上,最终将DHCP服务器提供的配置信息传递给客户端,完成对客户端的动态主机配置

DHCP中继在转发客户端的请求报文给服务器时,使用giadde记录HCP中继接口的I怕地址,服务器根据giaddr所处的网段选择地址池给客户端分配IP地址

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值