解析DHCP

何谓DHCP?
动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)从原有的BootP协议发展而来,原来的目的是为无盘工作站分配IP地址的协议,当前更多地用于对多个客户计算机集中分配IP地址以及IP地址相关的信息的协议,这样就能将IP地址和TCP/IP的设置统一管理起来,而避免不必要的地址冲突的问题,因此常常用在网络中对众多DOS/Windows计算机的管理方面,节省了网络管理员手工设置和分配地址的麻烦。

DHCP提供了三种IP地址分配机制:
● 自动分配:给客户机分配永久的地址
● 动态分配:给客户机分配有一定租用期限的地址
● 手工分配:由网络管理员给客户机分配地址,并通过DHCP传达给客户机。
动态分配IP地址的优点:
● DHCP服务器自动重新分配不再被某客户机需要的地址。
● 动态地址分配尤其适合那些暂时与网络相连并且和一大批主机共用某个有限的地址池同时又不要求永久地址的主机。
● 当地址分配给一个永久与网络相连的主机并且地址池中可用地址很少时,也建议使用动态分配,当某个客户租用过期或主动释放其IP地址时,DHCP服务器会及时回收该地址以备之后重用。
除了能够方便管理之外,DHCP还能略微达到节省IP地址的目的。假设网络中有50台计算机,而只有40个 IP地址,但是这50台计算机不会同时启动,IP地址应该能满足要求。 DHCP也能用于统一设置其他的一些IP设置,如缺省路由、DNS服务器等等,使用它能减少一个大型网络的管理任务。

DHCP的工作过程
DHCP工作时要求客户机和服务器进行交互,由客户机通过广播向服务器发送申请IP地址的请求,然后由服务器分配一个IP地址以及其他的TCP/IP设置信息。整个过程可以分为以下几个

步骤:
IP地址租用申请 DHCP客户机的TCP/IP首次启动时,就要执行DHCP客户程序,以进行TCP/IP 的设置。由于此时客户机的TCP/IP还没有设置完毕,就只能使用广播的方式发送DHCP请求信息包,广播包使用 UDP端口67和68进行发送,广播信息中包括了客户机的网络界面的硬件地址和计算机名字,以提供给DHCP服务器进行分配。

IP地址租用提供 当接收到DHCP客户机的广播信息之后,所有的DHCP服务器均为这个客户机分配一个合适的IP地址,将这些IP地址、网络掩码、租用时间等信息,按照DHCP客户机提供的硬件地址通过DHCPOFFER报文发送回DHCP客户机。这个过程中DHCP服务器没有对客户计算机进行限制,因此客户机能收到多个IP地址提供信息。

IP地址租用选择 由于客户机接收到多个服务器发送的多个IP地址提供信息,客户机将选择一个IP地址,拒绝提供的其他IP地址,以便这些地址能分配给其他客户。客户机将向它选择的服务器发送选择租用信息。

IP地址租用确认 服务器将收到客户的选择信息,如果没有例外发生,将回应一个确认信息,将这个IP地址真正分配给这个客户机。客户机就能使用这个IP地址及相关的TCP/IP数据,来设置自己的TCP/IP堆栈。

IP地址租用拒绝 如果客户通过检测发现服务器提供的地址已被其他主机使用,就会通过向该服务器发送信息拒绝使用该地址,客户机将重新回到地址租用请求状态。
IP地址租用通知 如果客户机通过网络管理员手工配置已经获得了正确的IP地址,这时客户应该通过广播信息从服务器处获得其他配置信息。

更新租用 DHCP中,每个IP地址是有一定租期的,若租期已到DHCP服务器就能够将这个IP地址重新分配给其他计算机。因此每个客户计算机应该提前续租它已经租用的IP地址(客户机向提供给它IP地址的服务器发送DHCPREQUEST报文),服务器将回应客户机的请求并更新该客户机的租期设置。一旦服务器返回不能续租的信息(DHCPNAK),那么DHCP客户机只能在租期到达时放弃原有的IP地址,重新申请一个新 IP地址。为了避免发生问题,续租在租期达到50%时就将启动,如果没有成功将不断启动续租请求过程。如果直到租期达到87.5%时仍然没有得到该服务器的应答,则从那一刻开始以广播方式向所有服务器发出更新请求,如果直到租用期满还没有成功,客户机将重新进入地址请求状态,否则继续使用该地址。

释放IP地址租用 客户机可以通过发送DHCPRELEASE报文主动释放自己的IP地址请求;也可以不释放,但也不续租,等待租期过期而释放占用的IP地址资源。

由于DHCP依赖于广播信息,因此一般的情况下,客户机和服务器应该位于同一个网络之内。然而可以将网络中的路由器设置为转发BootP广播包,使得服务器和客户机可以位于两个不同的网络中。然而配置转发广播信息,不是一个很好的解决办法,更好的办法为使用DHCP中继代理服务器,DHCP中继代理服务器和DHCP客户机位于同一个网络中,来回应客户机的租用请求,然而它不维护DHCP数据,也不拥有IP地址资源,它只是将请求通过TCP/IP转发给位于另一个网络上的DHCP服务器以进行实际的IP地址分配和确认。中继代理服务器必须知道DHCP服务器的地址,还要知道如何把接收到的报文转发给该服务器。

文章录入:dnbm    责任编辑:dnbm

(0)

相关推荐

  • linux下dhcp服务配置教程

    1.DHCP简介 (1)DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个简化主机IP地址分配管理的TCP/IP标准协议,用户可以利用DHCP服务器管理动态的IP地址分配及其他相关的环境配置工作,如:DNS服务器.WINS服务器.Gateway(网关)的设置. (2)DHCP基于客户/服务器模式.当DHCP客户端启动时,它会自动与DHCP服务器通信,由DHCP服务器为DHCP客户端提供自动分配IP地址的服务. (3)安装了DHCP服务软件的

  • DHCP服务

    在常见的网络术语中,我们常会听到DHCP这个词.DHCP就是Dynamic Host Configuration Protocol(动态主机配置协议)的缩写. 一.我们为什么要使用DHCP服务 在常见的小型网络中(例如网吧和学生宿舍网),网络管理员都是采用手工分配IP地址的方法,但是在大中型网络中,例如超过了100台计算机的网络,为每一台计算机手工分配一个IP地址,将会加重了网络管理员的负担,如果管理员不小心时,就会导致IP地址分配错误.因此,在大中型网络中使用DHCP服务是非常有效率的. 在理

  • linux下的dhcp服务的完全配置(图文详解)

    试验环境如下图所示: 服务器ip:192.168.0.1 试验要求:要求linux dhcp 服务器实现给linux客户机分配ip地址. 服务器软件包:dhcp-3.0.1-12_EL.I386 (当然其它版本的也可以)软件包默认在RHEL4的第四种安装光盘中. 主配置文件:dhcp.conf 默认情况下该文件没有在dhcp软件包中,需要手动建立. 服务器的配置: 1 挂载和安装dhcp软件包,如下图所示: 2编辑配置文件(由于配置文件安装软件包后并不会自动建立需要我们手动建立)只需打如下些命令

  • Win2003 Server DHCP服务器安装图解教程

    小张所在公司的其中一个局域子网Saes.grfwgz.com,因为均为市场部门员工,虽然员工数有许多,但一般来说长期均只有一小部分员工在单位使用网络,所以为了节省IP地址资源,IP地址采用了DHCP自动分配方式,其网段为192.168.0.129~192.168.0.158. 下面是具体的配置方法. 因为DHCP服务器的配置可以有不同途经,一种是新添加DHCP服务器,另一种则是在现有DHCP服务器中添加新的作用域,当然也可以修改现有作用域.我们先介绍前者. 一.添加新的DHCP服务器 如果原服务

  • DNS、DHCP的备份恢复bat(批处理自动实现)

    现在的服务器上运行了很多系统服务,虽然中间没有出过什么问题,但是还是怕,要是出了问题,就是好几天的时间没有了,累4人的事情啊.所以要把什么东西都backup一下.ghost备份的是系统,但是服务的配置是随时在变化的,总不能时不时的来个ghost吧,再说没有显示器,很麻烦的. 研究了一个下午,终于实现了DNS和DHCP的自动备份. DNS的备份 1.停止DNS服务 2.打开regedit,找到HKLM\system\currentcontrolset\services\dns 3.将DNS这个分支

  • DHCP:解析开发板上动态获取ip的2种实现方法详解

    DHCP动态主机设置协议(Dynamic Host Configuration Protocol, DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:1.给内部网络或网络服务供应商自动分配IP地址2.给用户给内部网络管理员作为对所有计算机作中央管理的手段. 方法一:dhclient    1.下载    https://www.isc.org/software/dhcp/2.解压    tar-zxvf dhcp-3.1.3.tar.gz3.配置    cddhcp-3.1.

  • Centos6.5全自动安装 vsftpd+dhcp+nfs+tftp

    步骤 1.mount /dev/sr0 /media/ 2.安装所需要的软件 安装并配置tftp服务 yum install tftp tftp-server vsftpd dhcp syslinux nfs-utils vim /etc/xinetd.d/tftp service tftp { disable = no socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd se

  • 解读DHCP故障提升网络效率

    在规模较大的局域网中,工作站的IP地址通常都是从DHCP服务器中动态获取得到的,这样可以有效地节省IP地址资源;不过在与DHCP服务器长期接触的过程中,我们或许会遇到各种与DHCP服务有关的网络故障,这些故障极大地影响了局域网网络的运行效率.有鉴于此,本文下面就对几则常见的与DHCP服务有关的网络故障进行解读,并为各种故障提供相应的应对办法,希望这些内容能帮助各位更好地管理好局域网! 1.消除授权失败故障 有一网络中的服务器不小心死机了,可是重新启动服务器系统之后,却发现其中的DHCP服务器无法

  • 解析DHCP

    何谓DHCP? 动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)从原有的BootP协议发展而来,原来的目的是为无盘工作站分配IP地址的协议,当前更多地用于对多个客户计算机集中分配IP地址以及IP地址相关的信息的协议,这样就能将IP地址和TCP/IP的设置统一管理起来,而避免不必要的地址冲突的问题,因此常常用在网络中对众多DOS/Windows计算机的管理方面,节省了网络管理员手工设置和分配地址的麻烦. DHCP提供了三种IP地址分配机制: ●

  • Python程序员面试题 你必须提前准备!(答案及解析)

    在发布<Python程序员面试,这些问题你必须提前准备!>一文后,应广大程序员朋友的强烈要求,小编就Python程序员面试必备问题整理了一份参考答案,希望能对准备换工作的程序员朋友有所帮助.如对答案有疑问,欢迎留言讨论. 小编将这些面试问题大致分为四类: 什么(what)?如何做(how)?说区别/谈优势(difference)以及实践操作(practice). What? 1. 什么是Python? Python是一种编程语言,它有对象.模块.线程.异常处理和自动内存管理.可以加入与其他语言

  • linux启动dhcp服务器步骤

    DHCP (Dynamic Host Configuration Protocol,动态主机管理协议)是一种基于UDP协议且仅限用于局域网的网络协议,主要用途是为局域网内部设备或网络供应商自动分配IP地址,通常会应用在大型的局域网环境中或局域网内存在比较多的移动办公设备,DHCP协议能够实现集中的管理.分配IP地址. DHCP服务程序能够使局域网内的主机自动且动态的获取IP地址.子网掩码.网关地址以及DNS服务器地址等信息,且能够有效的提升地址使用率,提高配置效率,减少管理和维护成本. 安装 #

  • shell之分离解析脚本的实现方法

    分离解析脚本 在运行脚本之前,需要VM虚拟机,Centos7,两台主机一台win10 -1 作为广域网的主机, 一台win10 -2作为区域网的主机. 之前我的博客有教程 #!/bin/bash //修改添加网卡配置文件 //设置双网卡 sed -i '4s/dhcp/static/' /etc/sysconfig/network-scripts/ifcfg-ens33 sed -i '15aIPADDR=192.168.17.1\nNETMASK=255.255.255.0' /etc/sys

  • iOS动画解析之支付宝支付打钩动画的实现方法

    前言 我们平时在用支付宝付款时,会有一个支付中的动画和一个支付完成的动画.这篇博客主要分析一下这种动画效果,效果如下: 支付宝支付动画 一.动画解析 为了方便观察,放慢了动画的速度并添加辅助线: 放慢后的动画 从图中可以看出:加载圆弧运动轨迹可分为前半段和后半段:并且圆弧的起始角度(StartAngle)和结束角度(EndAngle)在做有规律的变化: 前半段: 从-0.5π到π,这一段运动中速度较快:StartAngle不变,始终未-0.5π:EndAngle在匀速上升,一直到π:前半段中圆弧

  • Mysql中复制详细解析

    1.mysql复制概念 指将主数据库的DDL和DML操作通过二进制日志传到复制服务器上,然后在复制服务器上将这些日志文件重新执行,从而使复制服务器和主服务器的数据保持同步.复制过程中一个服务器充当主服务器(master),而一个或多个其它服务器充当从服务器(slaves).主服务器将更新重新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,它通知主服务器.从服务器在日志中读取的最后一次成功更新的位置.从服务器接受从那时起发

  • Redis的主从同步解析

    一.Redis主从同步原理 1.1 Redis主从同步的过程 配置好slave服务器连接的master后,slave会建立和master的连接,然后发送sync命令.无论是第一次同步建立的连接还是连接断开后的重新连接,master都会启动一个后台进程,将数据库快照保存到文件中.同时master主进程会开始收集新的写命令并缓存起来.当后台进程完成写文件后,master就将快照文件发送给slave,slave将文件保存到磁盘上,然后加载到内存将数据库快照恢复到slave上.slave完成快照文件的恢

  • 远程数据库的表超过20个索引的影响详细解析

    昨天同事参加了一个研讨会,有提到一个案例.一个通过dblink查询远端数据库,原来查询很快,但是远端数据库增加了一个索引之后,查询一下子变慢了. 经过分析,发现那个通过dblink的查询语句,查询远端数据库的时候,是走索引的,但是远端数据库添加索引之后,如果索引的个数超过20个,就会忽略第一个建立的索引,如果查询语句恰好用到了第一个建立的索引,被忽略之后,只能走Full Table Scan了. 听了这个案例,我查了一下,在oracle官方文档中,关于Managing a Distributed

随机推荐