1. 第一步是客户机发出的DHCPDSCOVER广播消息在网络上查找DHCP服务器。
  2. 任何收到这个消息的DHCP服务器产生一个DHCPOFFER的广播信息,其中包含配置信息,诸如IP地址、租期和域名。如果在网络上存在多个DHCP服务器,客户机可能收到多个DHCPOFFER消息。客户机评估这些回复,决定接受哪一个。通常客户机接受第一个收到的回复。在这里仅有一个回复的配置信息,服务器还没有赋予客户机这个信息。
  3. 服务器通常会在收到DHCPREQUEST广播消息之前保留客户的信息或者从中获知这个客户机接受了其他服务器的配置信息。广播消息是为了通知网络中其他服务器不要等客户机的请求了并收回它们已经提供的地址。
  4. 服务器确认那个它提供的地址任然是可用的并通过DHCPACK单播消息(将地址)分配给客户机。

如果DHCPOFFER中的参数错误的,客户机通过发送DHCPDECLINE广播消息拒绝它。如果客户机向服务器响应得很慢或是协商参数时发生错误,服务器会发出DHCPNAK广播消息。当客户机不需要某个IP地址时,它会发送DHCPRELEASE消息告诉服务器可以收回这个地址再重新分配了。

DHCP的DHCPREQUEST使用的端口是67.像它的前任协议BOOTP一样DHCP使用UDP发送请求和回复。UDP 67端口号用来发请求,而UDP 68用于回复。

如果客户机很长时间没有收到DHCPOFFER,DHCP服务器的广播DHCPNAK通知所有其他机器先前提供给主机的资源不再可用。

服务器发送DHCPACK作为客户机DHCPREQUEST的回复。DHCPACK通知客户机它可用使用所请求的网络配置且在租用期间DHCP服务器绑定了IP地址与二层的MAC地址。

DHCPDISCOVER消息作为广播发送出去而所有可用的DHCP服务器能听到请求并回复。DHCPREQUEST、DHCPDECLINE和DHCPNAK消息都是作为广播发送的,所有的系统都能了解到可用的网络配置。

DHCPDISCOVER和DHCPREQUEST消息以广播包的形式从客户端发出。路由器阻止广播,必须通过helper  address将这些广播转发到DHCP服务器,服务器能够以单播的DHCPOFFER回复。

DHCP支持3种地址分配机制

    1. 自动分配向客户机分配永久地址。
    2. 动态分配方式允许客户机在一段时间内使用所分配的IP地址,而客户机不用这个地址时收回。
    3. 手工分配方式允许管理员向客户机分配指定的地址,DHCP负责将这个地址传递给客户机。

DHCP工作过程的更多相关文章

  1. DHCP工作过程的六个主要步骤

    对于学习DHCP来说,很重要的一部分就是对于DHCP工作过程的理解. DHCP分为两个部分:一个是服务器端,另一个是客户端. 所有客户机的IP地址设定资料都由DHCP服务器集中管理,并负责处理客户端的 ...

  2. DHCP工作过程详解

    DHCP动态主机配置协议的作用我想作为网管的兄弟们都应该知道了,这里我就不多废话了,今天我要谈的是DHCP的工作过程,了解了工作过程,要排除故障就容易了.   一.DHCP客户机初始化: 1. 寻找D ...

  3. 【转】DHCP工作过程详解

    DHCP动态主机配置协议的作用我想作为网管的兄弟们都应该知道了,这里我就不多废话了,今天我要谈的是DHCP的工作过程,了解了工作过程,要排除故障就容易了.   一.DHCP客户机初始化: 1. 寻找D ...

  4. DHCP 工作原理

    DHCP 详解 DHCP 工作原理 一.什么是DHCP? DHCP,动态主机配置协议,前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作,常用的2个端口:67(DHCP server), ...

  5. Android4.4 以太网和DHCP启动过程介绍

    转自:http://blog.csdn.net/wlwl0071986/article/details/51451843 Android4.4已经加入了以太网的支持.现在对以太网的初始化流程.网络策略 ...

  6. DHCP工作原理简析

    引言 DHCP是网络体系结构中应用层的一个重要协议,它可以帮助我们对要连接到互联网的计算机进行IP地址等信息的配置.本文从DHCP的原理出发,就DHCP的工作过程 进行详细的探讨. 主要报文 发现报文 ...

  7. 【流媒体】UPnP的工作过程

    UPnP简介 通用即插即用(英语:Universal Plug and Play,简称UPnP)是由“通用即插即用论坛”(UPnP™ Forum)推广的一套网络协议. 该协议的目标是使家庭网络(数据共 ...

  8. 《CPU的工作过程》

    本文转载自inter官方网址:https://software.intel.com/zh-cn/articles/book-Processor-Architecture_CPU_work_proces ...

  9. 测试或运维工作过程中最常用的几个linux命令?

     大家在测试工作过程中,可能会遇到需要你去服务器修改一些配置文件,譬如说某个字段的值是1 则关联老版本,是0则关联新版本,这时候你可能就需要会下vi的命令操作:或者查看session设置的时长,可能需 ...

随机推荐

  1. floyd

    求任意两点之间的最短路径.e[i][j]为记录从i到j之间的距离,当循环结束后最后存储的就是i到j之间的最短路径啦. floyd算法就是对于给定的n个结点,对于每一个e[i][j],都让它经过1,然后 ...

  2. 有效Email

    !/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test($.trim($('#account').val()))

  3. NandFlash读写

    1.NandFlash分类 根据物理结构上的区别,NandFlash主要分为如下两类:•SLC (Single Level Cell): 单层式存储•MLC (Multi Level Cell): 多 ...

  4. MYSQL整理的语法

    MYSQL整理的语法 http://www.cnblogs.com/suoning/p/5744849.html

  5. 框架操作DOM和原生js操作DOM比较

    问题引出 对于Angular和React操作DOM的速度,和原生js操作DOM的速度进行了一个比较: 一个同学做的demo 代码如下: <!DOCTYPE html> <html n ...

  6. angular 的ng-view,ngrouter

    通过ng-view和ngRouter控制页面显示内容: html: <body ng-app="AngularStore"> <div class="c ...

  7. 测试Python代码

    作为程序员,懂得测试,这是必须的职业技能.很遗憾,我以前从未意识到这点,因此经历了很多叫苦不迭的开发生涯.当然了,期望每个人都成为测试高手也是不可能的,但是最基本的单元测试啥的是不惜的,尤其是现在中小 ...

  8. bash脚本编程之一 变量、变量类型等

    变量的内容 1.变量命名:            1.只能包含字母.数字和下划线,并且不能以数字开头,    2.不应该跟系统中已有的环境变量重名    3.最好能见名知意 2.变量赋值: 设置变量: ...

  9. Mahout源码分析之 -- QR矩阵分解

    一.算法原理 请参考我在大学时写的<QR方法求矩阵全部特征值>,其包含原理.实例及C语言实现:http://www.docin.com/p-114587383.html 二.源码分析 这里 ...

  10. oracle job草稿

    sa -- 声明job DECLARE job2014_12_16 NUMBER; BEGIN DBMS_JOB.SUBMIT(job2014_12_16, -- 这个参数是out类型 'syncv5 ...