DHCP——动态主机配置协议

1.IP地址配置方式

方式一:手工配置地址

此方式简单方便,但是不适用于大型网络拓扑,当网络设备较多时,导致手工配置工作量巨大。

方式二:动态获取——DHCP

采用动态获取地址的方式可以适用于大型网络拓扑,减少工作量,但是需要占用一定的资源,因为动态分配地址需要报文进行协商,会占用一定的带宽。

2.DHCP常见的几种报文

DHCP常见的报文大概有以下几种:

DHCP discover报文:用于客户端寻找服务端,是广播包。

DHCP offer报文:服务端回应客户端并携带分配给客户端的地址,是单播包

DHCP request报文:客户端用于向请求地址是否可用,表明使用哪个服务端给的地址,首次发送是广播,续租时为单播。

DHCP ACK报文:服务端回应客户端请求的地址是合法有效的地址,可以使用,是单播包。

DHCP NAK报文:服务端拒绝客户端请求的地址。当客户端租期快到一半时间时。向服务端发送request请求续租,当服务端因为某些愿意无法分配此地址给客户端时,就会发送NAK报文让客户端重新发起discover报文进行重新分配。

DHCP decline报文:当分配给客户端的地址与其他主机地址冲突时,客户端会发送decline报文告知服务端,当前分配的地址冲突,要求重新分配。

DHCP release报文:当客户端不需要使用地址时,就是主动释放地址给服务端,当服务端收到release报文后,可以把当前客户端释放出来的地址分配给其他客户端使用。

3.DHCP工作原理

        

1.首先客户端会发起DHCP discover广播,寻找服务端。

2.服务端收到discover广播,单播回复DHCP offer给客户端,并携带分配给客户端的IP地址

3.客户端收到offer报文以后,发送广播的request报文,向服务端请求使用分配到的地址。

4.服务端回复ACK报文,用来确认地址可用。

4.DHCP模式分类

        1.接口地址池
        接口地址池是指服务端使用本端接口的网段作为地址池,分配给客户端使用,网关默认是当前接口IP地址,需要启用DHCP功能,然后接口下选择DHCP模式为接口地址池。

          2.全局地址池

        全局地址池需要手工创建一个地址池,并宣告网络前缀和掩码,需要指明网关,即服务端接口IP,表明此地址不能用来分配给客户端,需要先启用DHCP功能,创建全局地址池,设置网关,接口下选择DHCP模式为全局模式。

        3.DHCP中继

        当客户端和服务端不在同一局域网下时,由于路由器隔离广播域,导致客户端的广播包服务端无法收到,此时,需要使用DHCP中继模式,中继服务器把客户端的discover广播报文转换成单播向服务器转发。中继需要使能DHCP功能,然后在连接客户端的接口下选择DHCP模式为中继模式,配置服务端的IP地址,中继模式下,一般采用全局地址池的方式,可以给不同局域的客户端分配不同网络的地址。但是需要注意的是,服务端需要写到达客户端的静态路由。

5.配置方式

  1.接口地址池

                 

        

  服务端配置:

[r2]dhcp enable -------开启DHCP功能
[r2]int g0/0/0
[r2-GigabitEthernet0/0/0]ip address 192.168.12.2 24-----配置接口IP地址
[r2-GigabitEthernet0/0/0]dhcp select interface ----启用接口地址池
[r2-GigabitEthernet0/0/0]dhcp server lease day 1---设置地址租期为1天
[r2-GigabitEthernet0/0/0]dhcp server dns-list 8.8.8.8---设置分配给客户端的DNS地址
[r2-GigabitEthernet0/0/0]dhcp server excluded-ip-address 192.168.12.5 192.168.12.10---设置不分配的地址范围

         客户端配置:

[r1]dhcp enable -----开启DHCP功能
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ip address dhcp-alloc-----配置IP获取方式为DHCP自动获取

        查看R1接口地址:

[r1]dis ip int brief

 

 R1接口已经成功获取到地址。

报文分析:

        

 2.全局地址池

 

 服务端配置:

[r2]dhcp enable -------开启DHCP功能
[r2]ip pool pool1 ----创建地址池
[r2-ip-pool-pool1]network 192.168.12.0 mask 255.255.255.0 ----设置地址前缀和掩码
[r2-ip-pool-pool1]gateway-list 192.168.12.2-----设置网关
[r2-ip-pool-pool1]excluded-ip-address 192.168.12.250 192.168.12.254---设置不分配地址范围
[r2-ip-pool-pool1]dns-list 8.8.8.8---设置DNS地址
[r2]int g0/0/0
[r2-GigabitEthernet0/0/0]ip address 192.168.12.2 255.255.255.0 -----配置接口IP
[r2-GigabitEthernet0/0/0]dhcp select global----选择DHCP模式为全局模式

  客户端配置:

[r1]dhcp enable -----开启DHCP功能
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ip address dhcp-alloc-----配置IP获取方式为DHCP自动获取

全局地址池的报文交互和接口地址池的报文交互完全类似。

3.DHCP中继

 服务端R3配置:

[r3]dhcp enable -------开启DHCP功能
[r3]ip pool pool12 ----创建12网段地址池
[r3-ip-pool-pool1]network 10.1.12.0 mask 255.255.255.0 ----设置地址前缀和掩码
[r3-ip-pool-pool1]gateway-list 10.1.12.2-----设置网关
[r3-ip-pool-pool1]excluded-ip-address 10.1.12.10 10.1.12.20---设置不分配地址范围
[r3-ip-pool-pool1]dns-list 8.8.8.8---设置DNS地址
[r3]ip pool pool34 ----创建34网段地址池
[r3-ip-pool-pool1]network 10.1.34.0 mask 255.255.255.0 ----设置地址前缀和掩码
[r3-ip-pool-pool1]gateway-list 10.1.34.3-----设置网关
[r3-ip-pool-pool1]excluded-ip-address 10.1.34.100 10.1.34.200---设置不分配地址范围
[r3-ip-pool-pool1]dns-list 4.4.4.4---设置DNS地址
[r3]int g0/0/0
[r3-GigabitEthernet0/0/0]ip address 10.1.23.3 255.255.255.0 -----配置接口IP
[r3-GigabitEthernet0/0/0]dhcp select global----选择DHCP模式为全局模式
[r3]int g0/0/1
[r3-GigabitEthernet0/0/0]ip address 10.1.34.3 255.255.255.0 -----配置接口IP
[r3-GigabitEthernet0/0/0]dhcp select global----选择DHCP模式为全局模式

 DHCP中继R2配置:

[r2]dhcp enable -------开启DHCP功能
[r2]int g0/0/0
[r2-GigabitEthernet0/0/0]ip address 10.1.12.2 255.255.255.0 -----配置接口IP
[r2-GigabitEthernet0/0/0]dhcp select relay----选择DHCP模式为中继模式
[r2-GigabitEthernet0/0/0]dhcp relay server-ip 10.1.23.3---配置DHCP服务端接口IP
[r2-GigabitEthernet0/0/1]ip address 10.1.23.2 255.255.255.0 -----配置接口IP

客户端R1配置:

[r1]dhcp enable -----开启DHCP功能
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ip address dhcp-alloc-----配置IP获取方式为DHCP自动获取

 客户端R4配置:

[r4]dhcp enable -----开启DHCP功能
[r4]int g0/0/0
[r4-GigabitEthernet0/0/0]ip address dhcp-alloc-----配置IP获取方式为DHCP自动获取

客户端R1通过中继动态获取IP地址,抓包分析:

R1和R2之间:

R2和R3之间报文:

 DHCP中继总结:

        R1发出的discover广播包,源IP:0.0.0.0,目的IP:255.255.255.255

        经中继转换成单播discover,源IP:10.1.12.2,目的IP:10.1.23.3

        服务端的offer单播报文,源IP:10.1.23.3,目的IP:10.1.23.2

         经中继转换成单播offer,源IP:10.1.23.3,目的IP:10.1.12.254

         R1发出的request广播包,源IP:0.0.0.0,目的IP:255.255.255.255

        经中继转换成单播request,源IP:10.1.12.2,目的IP:10.1.23.3

         服务端的ACK单播报文,源IP:10.1.23.3,目的IP:10.1.23.2

        经中继转换成单播ACK,源IP:10.1.23.3,目的IP:10.1.12.254

此外,DHCP还支持静态绑定功能,将地址池中的地址和客户端的MAC地址进行绑定,绑定MAC的客户端的IP地址,将不会分配给其他客户端。

静态绑定命令:

[r3-ip-pool-pool34]static-bind ip-address 10.1.34.4 mac-address 00e0-fc32-3901---静态绑定

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值