【转载】DHCP流程

来源: http://network.51cto.com/art/201406/441752.htm

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

DHCP几个概念:

DHCP  Client:DHCP客户端,通过DHCP协议请求IP地址的客户端。DHCP客户端是接口级的概念,如果一个主机有多个以太接口,则该主机上的每个接口都可以配置成一个DHCP  客户端。交换机上每个Vlan接口也可以配置成一个DHCP客户端。

DHCP Server:DHCP 服务端,负责为DHCP客户端提供IP地址,并且负责管理分配的IP地址。

DHCP Relay:DHCP中继器,DHCP客户端跨网段申请IP地址的时候,实现DHCP报文的转发功能。

DHCP Security:DHCP安全特性,实现合法用户IP地址表的管理功能

DHCP Snooping:DHCP监听,记录通过二层设备申请到IP地址的用户信息

DHCP工作原理:

发现阶段:

即DHCP客户端寻找DHCP服务端的过程,对应于客户端发送DHCP Discovery,因为DHCP  Server对应于DHCP客户端是未知的,所以DHCP 客户端发出的DHCP  Discovery报文是广播包,源地址为0.0.0.0目的地址为255.255.255.255。网络上的所有支持TCP/IP的主机都会收到该DHCP  Discovery报文,但是只有DHCP Server会响应该报文。

如果网络中存在多个DHCP Server,则多个DHCP Server均会回复该DHCP Discovery报文。

如果同一个vlan内没有DHCP Server,而该VlanIf配置了DHCP  Relay功能,则该Vlanif即为DHCP中继,DHCP中继会将该DHCP报文的源IP地址修改为该Vlanif的IP地址,而目的地址则为DHCP  Relay配置的DHCP Server的IP地址。同时修改DHCP报文中,giaddress为VlanIf的IP地址。并以单播将DHCP  Discovery发送到DHCP Server端。

DHCP Server 提供阶段:

DHCP Server提供阶段,即为DHCP Server响应DHCP Discovery所发的DHCP Offer阶段

DHCP Server收到DHCP  Discovery报文后,解析该报文请求IP地址所属的Subnet。并从dhcpd.conf文件中与之匹配的subnet中取出一个可用的IP地址(从可用地址段选择一个IP地址后,首先发送ICMP报文来ping该IP地址,如果收到该IP地址的ICMP报文,则抛弃该IP地址,重新选择IP地址继续进行ICMP报文测试,直到找到一个网络中没有人使用的IP地址,用以达到防治动态分配的IP地址与网络中其他设备IP地址冲突,这个IP地址冲突检测机制,可配置),设置在DHCP  Discovery报文中yiaddress字段中,表示为该客户端分配的IP地址,并且为该Lease设置该Subnet配置的Option,例如默认leases租期,最大租期,router等信息。

DHCP从地址池中选择IP地址,以如下优先级进行选择:

1、当前已经存在的Ip Mac的对应关系

2、Client以前的IP地址

3、读取Discovery报文中的Requested Ip Address Option的值,如果存在并且IP地址可用

4、从配置的Subnet中选择IP地址:

DHCP Server解析DHCP Discovery请求的IP所属的Subnet,首先看该DHCP  Discovery报文中giaddress是否有DHCP  Relay,如果有,则从giaddress所述的subnet中可用IP地址段中获取,并分配IP。如果giaddress没有IP地址,则从该DHCP  Server绑定的接口的IP地址所属的网段分配IP地址。

DHCP Client 选择阶段:

DHCP Client收到若干个DHCP Server响应的DHCP Offer报文后,选择其中一个DHCP Server作为目标DHCP  Server。选择策略通常为选择第一个响应的DHCP Offer报文所属的DHCP Server。

然后以广播方式回答一个DHCP Request报文,该报文中包含向目标DHCP请求的IP地址等信息。之所以是以广播方式发出的,是为了通知其他DHCP  Server自己将选择该DHCP Server所提供的IP地址。

DHCP Server确认阶段:

当DHCP Server收到DHCP Client发送的DHCP Request后,确认要为该DHCP Client提供的IP地址后,便想该DHCP  Client响应一个包含该IP地址以及其他Option的报文,来告诉DHCP Client可以使用该IP地址了。然后DHCP  Client即可以将该IP地址与网卡绑定。另外其他DHCP Server都将收回自己之前为DHCP Client提供的IP地址。

DHCP Client重新登录网络:

当DHCP Client重新登录后,发送一个以包含之前DHCP Server分配的IP地址信息的DHCP Request报文,当DHCP  Server收到该请求后,会尝试让DHCP客户端继续使用该IP地址。并回答一个ACK报文。

但是如果该IP地址无法再次分配给该DHCP Client后,DHCP回复一个NAK报文,当DHCP Client收到该NAK报文后,会重新发送DHCP  Discovery报文来重新获取IP地址。

DHCP Client更新租约:

DHCP获取到的IP地址都有一个租约,租约过期后,DHCP Server将回收该IP地址,所以如果DHCP  Client如果想继续使用该IP地址,则必须更新器租约。更新的方式就是,当当前租约期限过了一半后,DHCP Client都会发送DHCP  Renew报文来续约租期。

时间: 2024-11-03 05:32:45

【转载】DHCP流程的相关文章

Android -- Wifi连接流程分析

Android -- Wifi连接流程分析 当我们在Android手机上连接一个AP时,间接调用WifiManager的connect()方法: /** * Connect to a network with the given configuration. The network also * gets added to the supplicant configuration. * * For a new network, this function is used instead of a

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

对于学习DHCP来说,很重要的一部分就是对于DHCP工作过程的理解. DHCP分为两个部分:一个是服务器端,另一个是客户端. 所有客户机的IP地址设定资料都由DHCP服务器集中管理,并负责处理客户端的DHCP请求:而客户端则会使用从服务器分配下来的IP地址. 1. DHCP服务器IP分配方式 DHCP服务器提供三种IP分配方式: 自动分配(Automatic Allocation)自动分配是当DHCP客户端第一次成功地从DHCP服务器端分配到一个IP地址之后,就永远使用这个地址. 动态分配(Dy

找出让 DHCP服务器瘫痪的凶手

前一段时间,总部的同事告诉我无线网不能用了,发现获取不到IP了,登录到DHCP服务器查看,发现DHCP服务器出故障了,具体的故障现象如下图,出现大量bad_adddress迅速占满DHCP的地址池. 然后他自己抓了一份数据包让我也帮忙分析一下. 我过滤了DHCP,重点观察了下它的DHCP包.发现出现大量的DHCP Decline数据包. 在这里可能有人很少听说DHCP Decline,简单来说这个包的意思就是如果CLIENT发现DHCP SERVER分配的IP地址已经被别人使用,则CLIENT会

001.DHCP简介

一 DHCP概念 DHCP指动态主机配置协议,是一个局域网的网络协议,使用UDP协议工作. 二 应用 为大量客户机自动分配地址,提供集中管理 减轻管理和维护成本,提高网络配置效率 三 分配的主要信息 网卡的IP地址.子网掩码 对应的网络地址.广播地址 默认网关地址 DNS服务器地址 引导文件.TFTP服务器地址 四 DHCP流程 顺序 协议 形式 备注 客户端寻找服务器 DISCOVER 广播 源地址为0.0.0.0,目标地址为255.255.255.255 服务器提供地址信息 OFFER 广播

家用路由器之间的连接测试

前言 下面讨论一种家用路由器之间交换机的连接来进行上网.如果有一些概念不清楚,可以参考我之前的博文: [家用路由器内部计]http://www.cnblogs.com/tanhangbo/p/4504560.html 环境搭建 准备两个路由器,小米路由器有线连接Internet,TPLINK841N未连接任何网线.另外准备一台笔记本电脑. 小米路由器的管理地址/网关是 192.168.31.1 TPLINK841N的管理地址/网关是 192.168.1.1 单个路由器的情况 当我直接插上小米路由

Kickstart无人值守安装系统

1.导言 已经或未来将从事Linux系统运维工作的读者,经常会遇到一些机器式的重复的共走,例如:有时间同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装. q  光盘安装系统===>一个的服务器DVD内置光驱百千块,百台服务器都配光驱就浪费了,因为一台服务器也就开始装系统能用的上,以后用的机会屈指可数.用USB外置光驱,插来插去也是醉了. q  U盘安装系统===>还是同样的问题,要一台一台服务器插U盘. q  网络安装系统(ftp,http,nfs) ===>这个方法不错

ARP-NAT(MAC Address Translation)的原理

本文部分图片来自: http://wiki.deliberant.com/faq/wireless-bridge-routing-arpnat/ https://wiki.openwrt.org/doc/howto/clientmode MAT的原理 MAT(MAC Address Translation)也叫做ARP-NAT,和IP网络中的NAT原理是差不多的.下面简称MAT. NAT的存在就是为了让内网的多台机器共享一个公网的IP地址.类似的,MAT可以让Ethernet中多台机器共享一个M

GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流(转载)

最近听同事说他都在使用GitHub,GitHub是程序员的社区,在里面可以学到很多书上学不到的东西,所以最近在准备入手这方面的知识去尝试学习,正好碰到这么详细完整的文章,就转载了,希望对自己和大家有帮助. GitHub操作总结 : 总结看不明白就看下面的详细讲解. GitHub操作流程 : 第一次提交 : 方案一 : 本地创建项目根目录, 然后与远程GitHub关联, 之后的操作一样; -- 初始化Git仓库 :git init ; -- 提交改变到缓存 :git commit -m 'desc

包装盒印刷制作顺序流程有哪些? 转载?

最近在百度搜索彩盒包装盒印刷制作这类词的时候,会看到很多网友朋友问到彩盒包装盒印刷制作工艺流程的问题,看到很多答案实在太离谱了,有很多是很久以前了,差别也太远了,特此发表这篇文 章,希望可以帮助到朋友们. 随着包装技术的成熟发展,以及印刷包装技术的不断更新,包装盒印刷制作工艺流程也简化了一些,之前很多曝光晒版.出菲林现在已经没有了,具体流程如下: 一.设计 很多的包装盒设计都是企业或者客户自己已经???有的设计或者请设计公司以及设计好的,因为设计是第一步,想要什么样的图案或者大小,什么结构,色彩