网络的那些事之DHCP

DHCP故障在现实生活中经常遇到,因此结合遇到的故障以及处理方法总结了下面的文章。

一、DHCP的概念

DHCPDynamic Host Configuration Protocol,动态主机配置协议)是一个局域网网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段通俗的将就是自动分配IP地址的服务器)。

二、DHCP的功能

DHCP通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。

DHCP协议采用客户端/服务器模型,主机地址的动态分配任务由网络主机驱动。当DHCP服务器接收到来自网络主机申请地址的信息时,才会向网络主机发送相关的地址配置等信息,以实现网络主机地址信息的动态配置。       

DHCP具有以下功能:

1. 保证IP地址在同一时刻只能由一台DHCP客户机所使用。IP冲突)

2. DHCP应当给用户分配永久固定的IP地址。 静态IP

3. DHCP应当可以同用其他方法获得IP地址的主机共存 与手动分配

4. DHCP服务器应当向现有的BOOTP客户端提供服务。我也不了解)。

扫描二维码关注公众号,回复: 1155257 查看本文章

DHCP有三种机制分配IP地址:                                         

1) 自动分配方式(Automatic Allocation),DHCP服务器为主机指定一个久性的IP地址,一旦DHCP客户端第一次成功从DHCP服务器端租用到IP地址后,就可以永久性的使用该地址。

2) 动态分配方式(Dynamic Allocation租约DHCP服务器给主机指定一个具有时间限制的IP地址,时间到期或主机明确表示放弃该地址时,该地址可以被其他主机使用。

3) 手工分配方式(Manual Allocation),客户端的IP地址是由网络管理员指定的,DHCP服务器只是将指定的IP地址告诉客户端主机。

三、DHCP故障分析

对于DHCP来说我们遇到的大多是其故障,下面就主要针对DHCP的故障进行分析。

1、概念及定义

在介绍排查DHCP故障之前首先为大家阐明几个概念性的东西,只有理论上充实了,才能更好的理解下面介绍的故障排除的思路。

①、DHCP服务能够提供什么数据?

DHCP服务不是万能的,他只能提供网络层相关的参数,例如IP地址,MASK地址,网关地址,WINSDNS服务器地址等。对于更低层的地址,诸如MAC地址等信息是无法提供的。MAC地址是烧录在计算机网卡中的。

②、多台DHCP服务器是否可以同时运行?

DHCP服务器是通过广播包向客户机发送网络信息的,因此如果同一个网络中确切的说是同一个广播域中存在多台 DHCP服务器的话,就会出现各个服务器提供各自的网络信息,这样就造成网络中广播数据包的冲突。客户机不知道该接受哪台DHCP服务器发来的信息,对于这点微软默认设置是后启用的DHCP将失去作用。

注:DHCP冲突是一个常见的问题

③、租约是什么?

在配置DHCP服务器过程中会设置租约的天数,那么什么是租约呢?在DHCP服务器将网络信息分配数据包发给客户机后会收到客户机发回的答复数据包,接着DHCP服务器会将已经分配出去的IP地址与从客户机接收到的该计算机MAC地址建立一个对应关系,并把这个对应关系保存在DHCP服务器的租约池中。为什么需要这个租约池呢?一方面为下次分配网络参数信息提高了速度。不过如果该MAC地址对应条目的客户计算机被移到其他地方或者MAC 地址发生了改变的话,如果上面建立的对应关系一直保存在DHCP服务器的租约池中就会造成可用的IP地址数量越来越少,很多有效的地址被无效的MAC占用,因此微软引入了租约这个概念。通过租约我们可以强制每隔一段时间将DHCP服务器的租约池中保存的对应条目全部清空,从而防止了非法MAC地址霸占合法IP的现象。

注:DHCP分配的IP越来越少也是一个常见的问题

④、主机从DHCP服务器获得169.254.*.*的IP?

如果网络中不存在任何DHCP服务器,客户机本地网络信息又被设置为自动获得IP方式的话,那么windows2000及其以上操作系统将自动为自己分配一个诸如169.254.*.*形式的IP信息。因此如果你发现自己的客户机只能获得169.254.*.*这样的IP地址的话,说明你的DHCP服务器没有正常工作。

注:分配到169.254.*.*也是一个比较常见的问题

2、故障分析及解决方法

故障一:DHCP冲突

故障分析:DHCP冲突主要就是在该局域网中外接了网络层设备(比如说路由器),导致局域网内的主机分配到的IP不能上网。

解决方法:这种情况下可以通过ipconfig查看分配该地址的网关,然后通过arp -a查看该网关的物理地址,然后可以登录到交换机查看该地址对应的端口,再通过跳线架找到该设备的具体位置,关闭其DHCP功能即可。

故障二:DHCP分配的IP越来越少

故障分析:这种情况可能是外接的网络层设备(比如路由器)分配的无线网络占用了该网段的IP地址,并且没有释放或者说租约时间太长,导致租约池中可用的IP地址变少。(这点只是我对一些存在的故障的分析,如果你知道这点的详细过程可以和我分享,谢谢

解决方法:本周我遇到这种问题,这个问题就是租约池中的IP不够用,暂时的解决方法是登录到交换机通过show ip dhcp conflict(显示有冲突记录的地址的日志信息)找到冲突的所有IP然后执行clear ip dhcp conflict(删除在地址冲突日志中有冲突记录的地址)删除所有冲突的闲置的IP。这样DHCP的租约池中就会有IP地址分配给用户主机。(关于这个故障的最终解决方法后期我会继续研究,有进展即会和大家共享

故障三:分配到169.254.*.*网段的地址

故障分析:出现该故障,我所知的可能有两种可能。第一种,网络中没有DHCP服务器,但是ip配置为自动获取;第二种,租约池没有可以租约的IP。第三种,静态IP地址与局域网内IP地址冲突。

解决方法:首先要判断是哪种问题,对于第一种情况比较少见,网关上的DHCP应当会开启,你可以查看自己主机上的DHCP 是否开启(控制面板->管理工具->服务),查看本地的DHCP是否开启,没开则打开。对于第二种情况可以借鉴上一个故障的结局方法。对于第三种情况,可以更改静态IP

对于故障三可能你对如何判断属于三种中的哪种有疑问,那么可以这样你可以通过ipconfig/release释放当前的网络参数),然后ipconfig/renew自动获得新信息),如果得到的IP地址仍是169.254开头,同时其他同事的自动获取的IP地址不是169.254开头,那么就属于第二种情况(租约池满)。第一种情况可以查看自己的DHCP是否开启来判断。如果你申请的是静态IP得到169.254开头那就是第三种情况了(地址冲突)。

 

注:对于一些故障包括主机的其它故障,也可以通过(控制面板->管理工具->事件查看器)来查看你的电脑遇到的问题。


下期:我们就说说网络的那些事之ACL(访问控制列表)


猜你喜欢

转载自blog.csdn.net/bingjia103126/article/details/72877580