DHCP动态主机配置协议

#### 1、DHCP概述

1)DHCP是什么

-DHCP:Dynamic Host Configuration Protocol  :动态主机配置协议

-DHCP是一种集中对用户IP地址进行动态管理和配置的技术

2)DHCP技术背景:

-网络规模不断扩大,计算机和移动终端越来越多,都需要上网,都需要不断更新IP地址,所以安全高效的给这些终端主机分配IP地址就变的特别重要:

-所以可以动态的为主机分配IP地址的技术出现-DHCP

3)DHCP的作用

-作用:实现IP地址的动态分配和集中管理,为主机动态的分配IP地址 

-优势:避免手工配置IP地址,提高工作效率,避免出错,且能快速适应网络的变化

4)DHCP角色

**DHCP客户端:**需要获取IP地址的设备,如:计算机、服务器、手机、IP电话等

**DHCP服务器:**负责为DHCP客户端分配IP地址等网络参数的设备

**DHCP中继**(中转站-可选):负责DHCP服务器和DHCP客户端之间的DHCP报文

     &:如果DHCP客户端和DHCP服务器在同一网段,能够直接交互报文,不需要DHCP中继

     &:如果DHCP客户端和DHCP服务器不在同一个网段,DHCP服务器无法收到DHCP客户端发送请求报文,此时,需要通过DHCP中继来转发DHCP报文

备注:企业网络中一般不需要部署DHCP中继

#### 2、DHCP服务器给首次接入网络的客户端分配网络参数的工作原理

客户端首次接入网络从DHCP服务器中获取IP地址,会经过4个阶段

1)发现阶段:客户端**广播**发送DHCP Discover报文(**DHCP发现报文**)             

2)  提供阶段:服务器收到客户端发的报文后,会**单播**回复DHCP Offer报文(**DHCP回应报文**)          

3)  选择阶段:客户端收到Offer报文后,会再次**广播**发送DHCP Request报文(**DHCP请求报文**)

4)  确认阶段:服务器收到客户端发报文后,会**单播**回复DHCP ACK报文(**DHCP确认报文**)

#### 3、DHCP工作过程解析:

1)客户端广播发DHCP Discover报文:作用:客户端找DHCP服务器,请求IP地址

2)服务器单播回复DHCP Offer报文:作用:服务器给客户端发IP地址、网关、DNS等  

3)客户端广播发送DHCP Request报文:作用:客户端广播告知所有的服务器,选择了某某IP地址

4)服务器单播回复DHCP ACK报文 :作用:确认分配结果,只有发了ACK报文,客户端才可以使用IP 

3、基于全局的DHCP实验

 

需求:PC1/PC2能够自动获取IP地址、网关、DNS

配置步骤:

第一步:在系统视图下开启DHCP功能

第二步:配置DHCP地址池

  --创建IP地址池

  --配置可分配的IP地址段

  --配置网关地址

  --配置DNS地址

  --配置租期

第三步:配置R1路由器接口的IP地址

  --这个接口接收客户端发的报文,这个接口的IP地址,即客户端的网关地址

  --在这个接口下开启基于全局的DHCP功能

第四步:验证结果

R1的配置:
[R1]dhcp enable    //开启DHCP功能
[R1]ip pool tedu   //创建DHCP地址池
[R1-ip-pool-tedu]network 192.168.1.0 mask 24   //配置可分配的地址段
[R1-ip-pool-tedu]gateway-list  192.168.1.254   //配置网关地址
[R1-ip-pool-tedu]dns-list 8.8.8.8              //配置DNS地址
[R1-ip-pool-tedu]lease day 1                   //配置租期
[R1-ip-pool-tedu]quit
[R1]int g0/0/0
[R1-G0/0/0]ip address 192.168.1.254 24     //此接口IP地址和网关地址一致
[R1-G0/0/0]dhcp select global              //在接口下开启基于全局的DHCP

验证与测试:
PC1和PC2选择获取地址的方式为DHCP
然后PC1和PC2在命令行中,使用ipconfig 命令查看IP地址

5)数据抓包

 4、基于接口的DHCP实验

 

2)需求:PC1/PC2能够自动获取IP地址、网关、DNS

3)配置步骤:

第一步:在系统视图下开启DHCP功能

第二步:配置基于接口的DHCP

  -配置接口的IP地址和掩码

  -在接口下开启基于接口的DHCP功能

  -在接口下配置DNS地址

  -在接口下配置租期

R1配置:
[R1]dhcp enable   //开启dhcp功能
[R1]int g0/0/0
[R1-G0/0/0]ip address 192.168.1.254 24 
[R1-G0/0/0]dhcp select interface   //开启基于接口的dhcp 功能
[R1-G0/0/0]dhcp server dns-list  8.8.8.8
[R1-G0/0/0]dhcp server lease day 1

验证与测试:
PC1和PC2选择获取地址的方式为DHCP
然后PC1和PC2在命令行中,使用ipconfig 命令查看IP地址

5、扩展小命令:


基于接口的dhcp:
<R1>reset ip pool interface GigabitEthernet0/0/0 all    
         //重置基于接口的IP地址池,把发出去的IP地址都回收
         
[R1-G0/0/0]dhcp server excluded-ip-address  192.168.1.250  192.168.1.253
           //在接口下做地址排除,排除的IP地址不做dhcp分发,
           
[R1]display  ip pool interface GigabitEthernet0/0/0 used    //查看接口地址池中已分发的IP地址      
[R1]display  ip pool interface GigabitEthernet0/0/0 all     //查看接口地址池中全部地址信息      
           
 
基于全局的dhcp:
<R1>reset ip pool name tedu all    //重置基于全局的IP地址池,回收IP地址

[R1-ip-pool-tedu]excluded-ip-address  192.168.1.250 192.168.1.253
                  //在基于全局的IP地址池中做地址排除,排除的IP地址不做dhcp分发

 <R1>  display ip pool name  tedu  all  //查看全局IP地址池中全部地址信息
 
 <R1>  display ip pool name tedu used   //查看全局IP地址池中已分发的IP地址
  Pool-name      : tedu
  Lease          : 2 Days 0 Hours 0 Minutes
  DNS-server0    : 8.8.8.8                 
  Gateway-0      : 192.168.1.254   
  Mask           : 255.255.255.0
 -----------------------------------------------------------------------------
 起始地址        结束地址         全部   已分发的地址   未分发的       冲突      排除的
 Start          End            Total   Used      Idle(Expired)  Conflict  Disable
 -----------------------------------------------------------------------------
 192.168.1.1   192.168.1.254   253     2          250(0)         0        1
 -----------------------------------------------------------------------------
  Network section : 
  --------------------------------------------------------------------------
  Index       IP               MAC           Lease    Status  
  --------------------------------------------------------------------------
    250   192.168.1.251    5489-9811-58ce    2346     Used       
    251   192.168.1.252    5489-985f-7ebf    1801     Used    

```       

扩展知识,仅供参考:DHCP工作过程详解:
1)客户端广播发DHCP Discover报文:作用:客户端请求IP地址
     客户端这个时候没有IP地址,如何封装数据包中的源IP地址呢?
     客户端并不清楚谁是DHCP服务器,如何封装数据包中的目的IP地址呢?
     所以:源IP:0.0.0.0  目标IP:255.255.255.255
     源MAC地址为客户端的MAC地址,目的MAC地址为全FFFF的广播MAC地址
     &:客户端发送Discover报文的时候,携带自己的MAC地址
         
2)服务器单播回复DHCP Offer报文:作用:服务器给客户端分发IP地址、网关、DNS等
     &:如果服务器中有很多IP地址池,服务器怎么判断应该给客户端分配那个地址池里面的IP地址呢?
     &:服务器根据接收客户端报文的那个接口所在的IP地址池,选择一个可用的IP地址,分给客户端

3)客户端广播发送DHCP Request报文:作用:客户端广播告知所有的服务器,选择了某某IP地址
     &:DHCP服务器分配给客户端的IP地址,客户端不一定会用,服务器等待16秒,
     如果16秒内客户端回复Request报文,IP地址就确定分配给客户端,如果16秒内,
     客户端没有回应报文,服务器会把这个IP地址在分配给别的主机。

     &:客户端发送Request报文的时候,是以广播方式发送,目的是告诉所有的DHCP服务器,
     我已经选择好IP地址了,你们不要在给我发IP了,请把IP地址分配给其他的主机

4)服务器单播回复DHCP ACK报文 :作用:确认分配结果,只有发了ACK报文,客户端才可以使用IP 
     &: DHCP客户端收到DHCP ACK报文,会广播发送免费ARP报文(源IP和目的IP都是自己的IP地址 )
     如果探测到这个IP地址绑定了别的MAC地址,就代表网络中有别的主机在使用这个IP地址,
     会产生冲突,此时客户端会发送Decline(拒绝报文)告知服务器,让服务器重新分配IP地址。
     
     &:如果DHCP服务器由于某些原因不能将这个IP地址分配给客户端了
     (比如,客户端回应Request报文过慢,超过16秒了,这个IP地址被别的主机抢走了),
     这种情况,DHCP服务器,会回应DHCP NAK报文,告知客户端,你太慢了,
     这个地址已经分配给别的主机了,你在从第一步开始,重新发 discover报文

#### 7、DHCP客户端重用曾经使用过的地址的工作原理

1)  选择阶段:客户端**广播**发送DHCP Request报文,请求曾经使用过的IP地址。

2)  确认阶段:服务器**单播**回复DHCP ACK报文,通知DHCP客户端继续使用这个IP地址

#### 8、租期

1)租期T1:

    &:当IP地址的租用时间到达50%时,客户机会以单播方式向服务器发送Request 请求报文,请求更新IP地址租期。 

    &:DHCP 服务器如果回复DHCP  ACK确认报文给客户机,代表租期更新成功,从0开始

2)租期T2

    &:如果DHCP服务器一直没有回应,那么在IP地址的租用时间到达87.5%时,客户机会以广播方式向服务器发送Request 请求报文,请求更新IP地址租期 

    &:DHCP服务器如果回复DHCP  ACK 确认报文给客户机,代表租期更新成功,从0开始

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

2301_77277479

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值