【计算机网络】DHCP原理与配置

目录

1、DHCP的基本概念

1.1、手动配置网络参数的问题

1.2、DHCP工作示意图

1.3、DHCP的优点

2、DHCP工作原理

[2.1、客户端寻找DHCP Server](#2.1、客户端寻找DHCP Server)

2.2、DHCP服务器提供IP地址租用

2.3、客户端接受IP租约

2.4、DHCP服务器最终确认

2.5、客户端重新登录

2.6、DHCP租期更新

3、DHCP配置命令

3.1、DHCP接口地址池配置

3.2、DHCP全局地址池配置

3.3、DHCP中继配置

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的知识,可以去查看更多相关文章!

相关文章 :

【数据结构】二叉查找树和平衡二叉树,以及二者的区别-CSDN博客

【计算机网络】VRRP协议理论和配置-CSDN博客

【计算机网络】VLAN原理和配置_计网设计vlan-CSDN博客

相关推荐
手心里的白日梦6 分钟前
UDP传输层通信协议详解
网络·网络协议·udp
红米饭配南瓜汤39 分钟前
WebRTC服务质量(11)- Pacer机制(03) IntervalBudget
网络·网络协议·音视频·webrtc·媒体
网安墨雨1 小时前
浅谈TARA在汽车网络安全中的关键角色
网络·web安全·汽车
大霞上仙1 小时前
lxml 解析xml\html
java·服务器·网络
几维安全2 小时前
如何通过运行时威胁洞察提升反欺诈策略
运维·网络·安全
唔知小罗2 小时前
网络编程UDP—socket实现(C++)
网络·c++·udp
畅联云平台2 小时前
美畅物联丨如何通过视频汇聚平台汇聚视频并推送至上级28181平台
服务器·网络·音视频
黑客Jack2 小时前
什么是网络安全审计?
网络·安全·web安全
sensen_kiss3 小时前
CAN201 Introduction to Networking(计算机网络)Pt.2 传输层
网络·学习·计算机网络