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. web.config

    参数上传和文件上传大小限制调整,参数上传最大2097151 <system.web> <httpRuntime requestValidationMode="2.0&quo ...

  2. eclipse中如何关闭运行时自动保存?

    Eclipse没有提供自动保存的功能,只能自己写脚本每隔多久保存一次,或监听修改即保存.设置方法:1.打开:preferences>run/debug>launching2.选择save ...

  3. 43. Merge Sorted Array && LRU Cache

    Merge Sorted Array OJ: https://oj.leetcode.com/problems/merge-sorted-array/ Given two sorted integer ...

  4. ejabberd服务端开发笔记

    网上一搜一大陀ejabberd安装配置的,扩展开发的资料少之又少,写个笔记记录一下. xmpp protocal: http://xmpp.org/xmpp-protocols/xmpp-extens ...

  5. c++操作符重载

    一.类型转换操作符(type conversion operator)[1] 参考: [1]. C++类型转换操作符(type conversion operator): http://www.cpp ...

  6. javascript关于闭包变量作用域

    在项目中不时会遇到的一些小的问题以及解决办法: 1子函数调用父函数中的变量: 加return: var a=1; function num(){ var b=2; return b; } num()+ ...

  7. Web前端之html_day1

    1.html结构 1 2 3 4 5 6 7 8 9 10 <!DOCTYPE html>   <html lang="en"> <head> ...

  8. .NET高级工程师面试题之SQL篇

    1 题目 这确实是一个真实的面试题,琢磨一下吧!知识不用,就会丢掉,我太依赖各种框架和dll了,已经忘记了最基本的东西.有多久没有写过SQL了,我已经不记得了. 已知表信息如下: Department ...

  9. js常用正则表达式2

    字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界. -或- 对 ...

  10. js中this对象,call,apply