DHCP动态主机配置协议

DHCP简介

        动态主机配置协议DHCP(Dynamic Host Configuration Protocol)是一种用于集中对用户IP地址进行动态管理和配置的技术。

        DHCP采用客户端/服务器通信模式,由DHCP Client向DHCP Server提出配置申请,服务器返回为客户端分配的配置信息(包括IP地址、缺省网关、DNS Server、Windows Server等参数)。

DHCP角色:

  • DHCP客户端:请求获取IP地址等网络参数的设备。

  • DHCP服务器:为DHCP客户端分配网络参数的设备。

  • DHCP中继:协助DHCP服务器向DHCP客户端动态分配网络参数的设备。

DHCP客户端广播(目的IP地址为255.255.255.255)发送请求报文,同一网段内的DHCP服务器能够接收请求报文。若不在同一个网段,则需要通过DHCP中继来转发DHCP报文。DHCP中继接收到DHCP请求或应答报文后,会重新修改报文格式并生成一个新的DHCP报文再进行转发。

DHCP报文是基于UDP协议传输的,工作在应用层。

  • DHCP客户端向服务器发送报文时,目标端口是67(服务器监听端口),而源端口是68(客户端临时端口)。

  • DHCP服务器向客户端发送报文时,目标端口是68(客户端监听端口),而源端口是67(服务器监听端口)。

上网四要素:IP地址、子网掩码、默认网关、DNS服务器地址

实现原理:

1、中继场景时DHCP客户端首次接入网络的工作原理:

1、发现阶段(client发现server)

        客户端以广播方式发送DISCOVER报文来寻找服务器。网络中每一台安装TCP/IP 协议的主机都会收到,但只有DHCP服务器会回复。

2、提供阶段(server提供client一个IP地址)

        服务器通过地址池来管理可供分配的IP地址等网络参数。以单播方式通过OFFER报文发送给DHCP客户端。

        DHCP服务器的地址池中会指定IP地址的租期,如果DHCP客户端发送的DHCP DISCOVER报文中携带了期望租期,服务器会将期望租期与指定的租期进行比较,选择其中时间较短的租期分配给客户端。

server分配IP的优先顺序:

  1. 手动分配:服务器中客户端MAC地址静态绑定的IP地址。

  2. 重新登录、更新租约:客户端以前曾经使用过的地址,即 DHCP 服务器记录的曾经分配的租约中的IP地址。

  3. option82:当客户端发送Request到服务器时,若经过DHCP中继,则DHCP中继将option 82添加到Request报文中。option82会记录 客户端连接的第一台交换机的MAC地址、客户端接在哪个端口上、这个端口属于哪个VLAN。服务器据此分配合适的IP地址 。

  4. 动态分配: 1、无中继(Relay agent ip address字段全为0):根据接口找到VLAN,再根据VLAN找到SVI,通过SVI上的IP找到相应的pool。

      2、有中继(Relay agent ip address字段不为0):数据包在经过DHCP中继的时候,数据包中的Relay agent IP address字段填入中继设 备的该VLAN的SVI接口IP,同时把数据包以单播的方式发送个server,server收到数据包后把 Relay agent IP address字段IP的网段与DHCP地址池进行匹配,分配正确网段的IP

    1. 租约到期、地址冲突:依次查询超过租期、处于冲突状态的IP地址,若找到可用的IP地址,则进行分配;否则,发送DHCP NAK报文作为应答,通知DHCP客户端无法分配IP地址。DHCP客户端需要重新发送DHCP DISCOVER报文来申请IP地址。

            为了防止IP地址冲突,服务器在发送DHCP OFFER报文前可以通过发送源地址和目的地址都为预分配出去IP地址的ICMP ECHO REQUEST报文对分配的IP地址进行地址冲突探测。如果在指定的时间内没有收到应答报文,可以分配给客户端;如果指定时间内收到应答报文,则把此地址列为冲突地址,然后等待重新接收到DHCP DISCOVER报文。

            DHCP服务器分配IP地址后需要等待16秒,如果客户端没有响应,则此地址可以继续分配给其他客户端。

    3、选择阶段(client选择IP地址)

    当客户端收到多个OFFER报文时,一般只接收第一个收到的OFFER报文,然后以广播方式发送REQUEST报文

            以广播方式发送DHCP REQUEST报文,是为了通知所有的DHCP服务器,它将选择某个DHCP服务器提供的IP地址,其他DHCP服务器可以重新将曾经分配给客户端的IP地址分配给其他客户端。(隐式拒绝其他服务器)

    4、确认阶段(server确认所分配的IP地址)

            DHCP服务器以单播方式回应ACK报文,表示可以将DHCP REQUEST报文中请求的IP地址(Option50)分配给客户端使用。首次登录时,ACK确认后才能绑定租约。

    5、重新登录(request——ack/nak——discover)

    • 客户机重新登录网络时,发送包含前一次所分配的IP地址的REQUEST。

    • 当服务器收到request后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个ACK。

    • 如果此IP地址已无法使用,则服务器给DHCP客户机回答一个NAK。

    • 当客户机收到NAK后,它会重新发送DISCOVER来请求新的IP地址。

    6、更新租约

    DHCP客户机启动时和IP租约期限过一半时,DHCP客户机都会自动向DHCP服务器发送更新其IP租约的信息(request)。

    2、中继场景时DHCP客户端首次接入网络的工作原理:

       

    3、客户端更新租期的工作原理:

            客户端在租期时间到之前,如果用户不想使用分配的IP地址(例如客户端网络位置需要变更),会触发DHCP客户端向DHCP服务器发送RELEASE报文,通知DHCP服务器释放IP地址的租期。DHCP服务器会保留这个DHCP客户端的配置信息,将IP地址列为曾经分配过的IP地址中,以便后续重新分配给该客户端或其他客户端。

            客户端可以通过发送INFORM报文向服务器请求更新配置信息。

    DHCP报文类型:

    • Discover(client)

            广播

            由客户端来查找可用的服务器。

    • offer(server)

            单播或广播

           响应可分配的IP地址

    • Request(client)

         广播

               确认请求分配的IP

      • ACK(server)

              单播

              最终确认IP分配

      • Decline(client)

              单播

              DHCP 客户端发现地址冲突或由于其它原因导致地址不能使用,则发送Decline报文,通知服务器所分配的 IP 地址不可用。

      • Inform(client)

              单播

              客户端已经有IP地址时用它来向服务器请求其他的配置参数。

      • NAK(server)

              单播

              server通知client无法分配合适IP地址或租约已过期

      • Release(client)

              单播

              客户端要释放地址时用来通知服务器。

              OP:报文的操作类型。分为请求报文和响应报文。1:请求报文,2:应答报文。即 client发送给server设为1,server发送给client设为2。

              请求报文: DHCP Discover、DHCP Request、DHCP Release、DHCP Inform和DHCP Decline。

              应答报文: DHCP Offer、DHCP ACK和DHCP NAK

      DHCP Snooping

              DHCP Snooping是DHCP(Dynamic Host Configuration Protocol)的一种安全特性,用于保证DHCP客户端从合法的DHCP服务器获取IP地址,并记录DHCP客户端IP地址与MAC地址等参数的对应关系,防止网络上针对DHCP攻击。

      安全问题:DHCP Server仿冒者攻击、DHCP Server的拒绝服务攻击、仿冒DHCP报文攻击等。

      基本原理:

              管理员在部署网络时,一般将与合法DHCP服务器直接或间接连接的接口设置为信任接口,其他接口设置为非信任接口,从而保证DHCP客户端只能从合法的DHCP服务器获取IP地址。

              开启DHCP Snooping功能后,设备能够通过分析DHCP的报文交互过程,生成DHCP Snooping绑定表,绑定表项包括客户端的MAC地址、获取到的IP地址、与DHCP客户端连接的接口及该接口所属的VLANVirtual Local Area Network等信息。

              由于DHCP Snooping绑定表记录了DHCP客户端IP地址与MAC地址等参数的对应关系,故通过对报文与DHCP Snooping绑定表进行匹配检查,能够有效防范非法用户的攻击。

              为了保证设备在生成DHCP Snooping绑定表时能够获取到用户MAC等参数,DHCP Snooping功能需应用于二层网络中的接入设备或第一个DHCP Relay

      评论
      添加红包

      请填写红包祝福语或标题

      红包个数最小为10个

      红包金额最低5元

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

      抵扣说明:

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

      余额充值