目录
[2.1、客户端寻找DHCP Server](#2.1、客户端寻找DHCP Server)
1、DHCP的基本概念
DHCP(动态主机配置协议)是一个存在于应用层的网络管理协议,使用UDP协议工作,常用的2个端口:67(DHCP server),68(DHCP client)。在DHCP的帮助下,可以动态地给网络上的任何设备或节点分配一个互联网协议IP地址,使它们可以使用这个IP进行通信。网络管理员的任务是将大量的IP地址手动分配给网络中的所有设备。然而,在DHCP中,这个任务是自动化的,是集中管理,而不是手工管理。DHCP的基本目标是为主机分配一个唯一的IP地址。
如今,大多数网络设备(如路由器或以太网交换机)都使用IP协议作为网络通信的标准。在使用IP协议的网络中每台设备都有唯一的地址标识,即IP地址。实现此目的最简单的方法是配置固定IP地址(即静态IP)或自动获取IP地址(即动态IP),分别是手动配置网络参数和DHCP自动配置网络参数。
1.1、手动配置网络参数的问题
(1)参数多,理解难:普通用户对于网络参数不了解,经常配置错误,导致无法正常访问网络,随意配置IP地址导致地址冲突更是时常发生。
(2)工作量大:交由网络管理员统一配置,工作量巨大,属于重复性劳动。网络管理员需要提前对IP地址进行规划、分配到个人。
(3)利用率低:局域网中每个人固定使用一个IP地址,IP地址利用率低,有些地址可能长期处于未使用状态。
(4)灵活性差:WLAN(无线局域网)的出现使终端位置不再固定,当无线终端移动到另外一个无线覆盖区域时,可能需要再次配置IP地址。
1.2、DHCP工作示意图
为解决传统的静态手工配置方式的不足,DHCP(动态主机配置协议)应运而生,其可以实现网络动态合理地分配IP地址给主机使用。
DHCP采用C/s构架,主机无需配置,从服务器端获取地址可实现接入网络后即插即用。
1.3、DHCP的优点
(1)统一管理:IP地址由从服务器端的地址池中获取,服务器端会记录维护IP地址的使用状态,做到IP地址统一分配、管理。
(2)地址租期:DHCP提出了租期的概念,可有效提高地址利用率
2、DHCP工作原理
DHCP工作原理图:
2.1、客户端寻找DHCP Server
当DHCP客户端第一次登录网络的时候(也就是客户端上没有任何IP地址数据时),它会通过UDP 67端口向网络上发出一个DHCPDISCOVER数据包(包中包含客户机的MAC地址和计算机名等信息)。因为客户端还不知道自己属于哪一个网络,所以封包的源地址为0.0.0.0,目标地址为255.255.255.255,然后再附上DHCP Discover的信息,向网络进行广播。
DHCP discover的等待时间预设为1秒,也就是当客户端将第一个DHCP discover封包送出去之后,在1秒之内没有得到回应的话,就会进行第二次DHCP discover广播。若一直没有得到回应,客户端会将这一广播包重新发送四次(以2,4,8,16秒为间隔,加上1-1000毫秒之间随机长度的时间)。如果都没有得到DHCP Server的回应,客户端会从169.254.0.0/16这个自动保留的私有IP地址中选用一个IP地址。并且每隔5分钟重新广播一次,如果收到某个服务器的响应,则继续IP租用过程。
2.2、DHCP服务器提供IP地址租用
当DHCP Server监听到客户端发出的DHCP Discover广播后,它会从那些还没有租出去的地址中,选择最前面的空置IP,连同其它TCP/IP设定,通过UDP 68端口响应给客户端一个DHCP OFFER数据包(包中包含IP地址、子网掩码、地址租期等信息)。
此时使用单播进行通讯,源IP地址为DHCP Server的IP地址,目标地址为255.255.255.255。同时,DHCP Server为此客户保留它提供的IP地址,从而不会为其他DHCP客户分配此IP地址。
由于客户端在开始的时候还没有IP地址,所以在其DHCP Discover封包内会带有其MAC地址信息,并且有一个XID编号来辨别该封包,DHCP Server响应的DHCP OFFER封包则会根据这些资料传递给要求租约的客户。
2.3、客户端接受IP租约
如果客户端收到网络上多台DHCP服务器的响应,只会挑选其中一个DHCP OFFER(一般是最先到达的那个),并且会向网络发送一个DHCP REQUEST广播数据包(包中包含客户端的MAC地址、接受的租约中的IP地址、提供此租约的DHCP服务器地址等),告诉所有DHCP Server它将接受哪一台服务器提供的IP地址,所有其他的DHCP服务器撤销它们的提供以便将IP地址提供给下一次IP租用请求。此时,由于还没有得到DHCP Server的最后确认,客户端仍然使用0.0.0.0为源IP地址,255.255.255.255为目标地址进行广播。
事实上,并不是所有DHCP客户端都会无条件接受DHCP Server的OFFER,特别是如果这些主机上安装有其它TCP/IP相关的客户机软件。客户端也可以用DHCP REQUEST向服务器提出DHCP选择,这些选择会以不同的号码填写在DHCP Option Field里面。客户端可以保留自己的一些TCP/IP设定。
2.4、DHCP服务器最终确认
当DHCP Server接收到客户端的DHCP REQUEST之后,会单播返回给客户端一个DHCP ACK消息包,表明已经接受客户端的选择,并将这一IP地址的合法租用以及其他的配置信息都放入该单播包发给客户端。
客户端在接收到DHCP ACK单播后,会向网络发送三个针对此IP地址的ARP解析请求以执行冲突检测,查询网络上有没有其它机器使用该IP地址;如果发现该IP地址已经被使用,客户端会发出一个DHCP DECLINE数据包给DHCP Server,拒绝此IP地址租约,并重新发送DHCP discover信息。此时,在DHCP服务器管理控制台中,会显示此IP地址为BAD_ADDRESS。
如果网络上没有其它主机使用此IP地址,则客户端的TCP/IP使用租约中提供的IP地址完成初始化,从而可以和其他网络中的主机进行通讯。
2.5、客户端重新登录
以后DHCP客户端每次重新登录网络时,就不需要再发送DHCP discover发现信息了,而是直接发送包含前一次所分配的IP地址的DHCP request请求信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户端继续使用原来的IP地址,并回答一个DHCP ack确认信息。如果此IP地址已无法再分配给原来的DHCP客户端使用时,则DHCP服务器给DHCP客户端回答一个DHCP nack否认信息。当原来的DHCP客户端收到此DHCP nack否认信息后,它就必须重新发送DHCP discover发现信息来请求新的IP地址。
2.6、DHCP租期更新
DHCP租期更新示意图:
客户端会在租期过去50%的时候,直接向为其提供IP地址的DHCP Server发送DHCP REQUEST消息包。如果客户端接收到该服务器回应的DHCP ACK消息包,客户端就根据包中所提供的新的租期以及其它已经更新的TCP/IP参数,更新自己的配置,IP租用更新完成。如果没有收到该服务器的回复,则客户端继续使用现有的IP地址,因为当前租期还有50%。
如果在租期过去50%的时候没有更新,则客户端将在租期过去87.5%的时候再次向为其提供IP地址的DHCP联系。如果还不成功,到租约的100%时候,客户端必须放弃这个IP地址,重新申请。如果此时无DHCP可用,客户端会使用169.254.0.0/16中随机的一个地址,并且每隔5分钟再进行尝试。
3、DHCP配置命令
3.1、DHCP接口地址池配置
配置命令
例 :
需求描述:
配置一台路由器作为DHCP服务器端,使用接口GE0/0/0所属的网段作为DHCP客户端的地址池,同时将接口地址设为DNSServer地址,租期设置为3天。
接口地址池方式配置如下:
- 全局使能DHCP服务,进入接口视图下,关联当前接口到DHCP地址池,在接口视图下配置DNS地址、排除地址(将接口自身地址排除在外),同时配置给客户端分配IP地址的租期。
3.2、DHCP全局地址池配置
配置命令
例 :
需求描述:
配置一台路由器作为DHCP服务器端,配置全局地址池ippool2为DHCP客户端分配IP地址;分配地址为1.1.1.0/24网段,网关地址1.1.1.1,DNS地址同样也是1.1.1.1,租期10天,在GE0/0/0接口下调用全局地址池。
全局地址池配置如下:
- 全局使能DHCP服务,配置全局地址池pool2。在pool2中配置地址池范围、网关地址、DNS地址、租期。
- 最后在具体的接口中配置选择全局地址池。当GE0/0/0收到DHCP请求就会从全局地址池中进行IP地址分配。
3.3、DHCP中继配置
默认当前路由器接口IP地址已配好
AR2配置如下:
[AR2] dhcp enable
[AR2] ip pool PC3
[AR2-ip-pool-PC3] network 192.168.3.0 mask 255.255.255.0
[AR2-ip-pool-PC3] gateway-list 192.168.3.254[AR2-GigabitEthernet0/0/0] dhcp select global //地池方式分配地址
AR3配置如下:
[R3] dhcp enable
[R3] interface GigabitEthernet0/0/1[R3-GigabitEthernet0/0/1] dhcp select relay
[R3-GigabitEthernet0/0/1] ip address 192.168.3.254 255.255.255.0 //配置接口IP
[R3-GigabitEthernet0/0/1] dhcp select relay
[R3-GigabitEthernet0/0/1] dhcp relay server-ip 10.1.23.2 //填写DHCP服务器地址
然后AR2还需要配置一条到达192.168.3.0/24网段的静态路由
想了解更多关于DHCP的知识,可以去查看更多相关文章!
相关文章 :