`
sharp2wing
  • 浏览: 271104 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

DHCP之简要分析

阅读更多
DHCP之简要分析

DHCP客户端从DHCP服务器动态获取IP地址,主要通过四个阶段进行:

(1)        发现阶段,即DHCP客户端寻找DHCP服务器的阶段。客户端以广播方式发送DHCP-DISCOVER报文。
(2)        提供阶段,即DHCP服务器提供IP地址的阶段。DHCP服务器接收到客户端的DHCP-DISCOVER报文后,根据IP地址分配的优先次序选出一个IP地址,与其他参数一起通过DHCP-OFFER报文发送给客户端。DHCP-OFFER报文的发送方式由DHCP-DISCOVER报文中的flag字段决定。
(3)        选择阶段,即DHCP客户端选择IP地址的阶段。如果有多台DHCP服务器向该客户端发来DHCP-OFFER报文,客户端只接受第一个收到的DHCP-OFFER报文,然后以广播方式发送DHCP-REQUEST报文,该报文中包含DHCP服务器在DHCP-OFFER报文中分配的IP地址。
(4)        确认阶段,即DHCP服务器确认IP地址的阶段。DHCP服务器收到DHCP客户端发来的DHCP-REQUEST报文后,只有DHCP客户端选择的服务器会进行如下操作:如果确认将地址分配给该客户端,则返回DHCP-ACK报文;否则返回DHCP-NAK报文,表明地址不能分配给该客户端。
注:
   客户端收到服务器返回的DHCP-ACK确认报文后,会以广播的方式发送免费ARP报文,探测是否有主机使用服务器分配的IP地址,如果在规定的时间内没有收到回应,客户端才使用此地址。否则,客户端会发送DHCP-DECLINE报文给DHCP服务器,并重新申请IP地址。
    如果网络中存在多个DHCP服务器,除DHCP客户端选中的服务器外,其它DHCP服务器中本次未分配出的IP地址仍可分配给其他客户端。


DHCP 主要有四个过程: discover、offer、request、ack。
step 1:
客户端(PC机或移动终端)以广播包的形式,找寻可以提供分配ip的服务器或路由器,这即为discover阶段。
step 2:
所有收到这个discover广播包,并且可以有分配IP功能的服务器或路由器,会回应这个广播包;发包的方式可能是广播报文,也可能是 单播报文 (这因路由器的不同而可能不同)。这即为offer阶段
step3:
客户端收到这个包后(虽然这时候网络中有很多offer报文,但此时只会接受第一个到达的offer报文),从这个offer报文中提取所要的 ip,dns,net gate,并根据IP计算submask, 然后以广播包的形式,告知所有的可分配IP的服务器或路由器我已经得到一个IP,并且此报文中包含了为客户端分配IP的服务器或路由器的信息。这即为 request阶段。
step4:
所有的路由器或服务器收到这个request广播包之后,从中提取服务器的信息,如果是指向自己的,则会回ACK(同样,因路由器的不同回ACK的方式可能是广播报文,也可能是单播报文 ),其他的服务器或路由器则不会回ACK。这即为ACK阶段。

IP地址分配策略
针对客户端的不同需求,DHCP提供三种IP地址分配策略:
手工分配地址:由管理员为少数特定客户端(如WWW服务器等)静态绑定固定的IP地址。通过DHCP将配置的固定IP地址发给客户端。
自动分配地址:DHCP为客户端分配租期为无限长的IP地址。
动态分配地址:DHCP为客户端分配具有一定有效期限的IP地址,到达使用期限后,客户端需要重新申请地址。绝大多数客户端得到的都是这种动态分配的地址。

IP地址的租约更新

如果采用动态地址分配策略,则DHCP服务器分配给客户端的IP地址有一定的租借期限,当租借期满后服务器会收回该IP地址。如果DHCP客户端希望继续使用该地址,需要更新IP地址租约。

在DHCP客户端的IP地址租约期限达到一半时间时,DHCP客户端会向为它分配IP地址的DHCP服务器单播发送DHCP-REQUEST报文,以进行IP租约的更新。如果客户端可以继续使用此IP地址,则DHCP服务器回应DHCP-ACK报文,通知DHCP客户端已经获得新IP租约;如果此IP地址不可以再分配给该客户端,则DHCP服务器回应DHCP-NAK报文,通知DHCP客户端不能获得新的租约。

如果在租约的一半时间进行的续约操作失败,DHCP客户端会在租约期限达到7/8时,广播发送DHCP-REQUEST报文进行续约。DHCP服务器的处理方式同上,不再赘述。

DHCP有8种类型的报文,每种报文的格式相同,只是某些字段的取值不同。DHCP报文格式基于BOOTP的报文格式,具体格式如图1-3所示(括号中的数字表示该字段所占的字节)。
各字段的解释如下:

l              op:报文的操作类型,分为请求报文和响应报文,1为请求报文;2为响应报文。具体的报文类型在option字段中标识。

l              htype、hlen:DHCP客户端的硬件地址类型及长度。

l              hops:DHCP报文经过的DHCP中继的数目。DHCP请求报文每经过一个DHCP中继,该字段就会增加1。

l              xid:客户端发起一次请求时选择的随机数,用来标识一次地址请求过程。

l              secs:DHCP客户端开始DHCP请求后所经过的时间。目前没有使用,固定为0。

l              flags:第一个比特为广播响应标识位,用来标识DHCP服务器响应报文是采用单播还是广播方式发送,0表示采用单播方式,1表示采用广播方式。其余比特保留不用。

l              ciaddr:DHCP客户端的IP地址。

l              yiaddr:DHCP服务器分配给客户端的IP地址。

l              siaddr:DHCP客户端获取IP地址等信息的服务器IP地址。

l              giaddr:DHCP客户端发出请求报文后经过的第一个DHCP中继的IP地址。

l              chaddr:DHCP客户端的硬件地址。

l              sname:DHCP客户端获取IP地址等信息的服务器名称。

l              file:DHCP服务器为DHCP客户端指定的启动配置文件名称及路径信息。

l              options:可选变长选项字段,包含报文的类型、有效租期、DNS服务器的IP地址、WINS服务器的IP地址等配置信息。

DHCP常用选项介绍

常见的DHCP选项有:

l              Option 3:路由器选项,用来指定为客户端分配的网关地址。

l              Option 6:DNS服务器选项,用来指定为客户端分配的DNS服务器地址。

l              Option 51:IP地址租约选项。

l              Option 53:DHCP消息类型选项,标识DHCP消息的类型。

l              Option 55:请求参数列表选项。客户端利用该选项指明需要从服务器获取哪些网络配置参数。该选项内容为客户端请求的参数对应的选项值。

l              Option 66:TFTP服务器名选项,用来指定为客户端分配的TFTP服务器的域名。

l              Option 67:启动文件名选项,用来指定为客户端分配的启动文件名。

l              Option 150:TFTP服务器地址选项,用来指定为客户端分配的TFTP服务器的地址。

l              Option 121:无分类路由选项。该选项中包含一组无分类静态路由(即目的地址的掩码为任意值,可以通过掩码来划分子网),客户端收到该选项后,将在路由表中添加这些静态路由。

l              Option 33:静态路由选项。该选项中包含一组有分类静态路由(即目的地址的掩码固定为自然掩码,不能划分子网),客户端收到该选项后,将在路由表中添加这些静态路由。如果存在Option 121,则忽略该选项。
分享到:
评论

相关推荐

    内网非法DHCP服务器查找

    在企业或组织机构的内部网络中,DHCP(动态主机配置协议)是极为重要的网络管理工具之一,它能够自动为连接到网络中的计算机或其他设备分配IP地址及相关的网络参数(如默认网关GW、域名系统DNS等)。然而,在某些...

    综合实验(课程设计):中小型网络工程设计与实现.docx

    根据需求进行简要分析,可以知道: 1. 划分VLAN,行政楼的部门需要跨交换机的VLAN划分。 2. 子网划分,不同的VLAN使用不同的子网,将子网和VLAN重叠使用。 3. 路由配置,不同子网(VLAN)之间的路由配置。 4. WEB、...

    cable modem与casa前端系统交互注册上线的过程

    - **网络抓包分析**:利用网络抓包工具(如Wireshark)捕获并分析交互过程中产生的数据包,有助于从协议层面了解注册过程。 - **OSI模型分析**:基于OSI七层模型对注册过程进行分层分析,有助于从更宏观的角度理解...

    Pro Python System Administration, 2nd Edition

    - **数据分析技术**:介绍了一些数据分析技术和工具,如Pandas,用于对收集到的数据进行深入分析。 - **报告自动化**:提供了实现自动化报告生成的具体方法,以便定期向相关人员发送系统状态报告。 ##### 第12章:...

    虚拟机静态IP连接网络配置方法

    根据给定文件的信息,我们可以提炼出与“虚拟机静态IP连接网络配置方法”相关的知识点,并对其中提及到的三个问题进行简要分析。 ### 虚拟机静态IP连接网络配置方法 #### 一、虚拟机静态IP配置原理 1. **理解静态...

    RHCSA-DAY3

    - **DHCP与静态IP的配置**:对比DHCP自动分配IP地址与手动设置静态IP的方法。 - **防火墙与SELinux配置**:学习如何配置防火墙规则和SELinux安全策略,以增强系统的安全性。 #### 六、系统服务与守护进程 - **系统...

    思科路由器配置命令(自学必备)

    - **show ip interface brief**:显示所有接口的简要状态信息,包括IP地址、状态和协议。 - **ifconfig eth0 201.0.0.3 netmask 255.255.255.0**:静态分配IP地址和子网掩码。 - **ip route add default gw 0.0.0.0*...

    TCP-IP详解卷一、二、三

    5. **BOOTP和DHCP**:分析了自动分配IP地址的BOOTP(启动协议)和DHCP(动态主机配置协议)。 这套书籍不仅适合网络工程师、系统管理员深入理解TCP/IP协议,也适用于计算机科学和网络技术的学习者作为参考教材。...

    ubuntu server最佳方案 PDF带图缺字版

    对于初学者来说,选择合适的Linux发行版至关重要,本书推荐使用Ubuntu作为入门首选,同时对其他流行的发行版如Debian、Gentoo、RedHat、CentOS和SUSE进行了简要分析,帮助读者做出合理选择。 - **服务器选型与配置*...

    IPV4地址配置和测试实验.pdf

    2. 简要分析步骤 3 中第 (3) 工作的结果,并提出解释。 答:在步骤 3 中,我们将子网掩码变为 255.255.255.252,测试同组机器的连通情况。结果发现,同组机器之间的连通性没有受到影响,因为子网掩码的变化不会影响...

    mcse教程,网络协议与服务

    本文详细介绍了Windows2000支持的几种重要网络协议(TCP/IP、IPX/SPX和NetBEUI)及其特点,并简要提到了几种常见的网络服务(DHCP、WINS和DNS)。对于希望深入了解网络原理和技术的IT专业人士而言,这些知识是不可或...

    北邮信息工程 网络管理实验一

    * Ipconfig 命令:用于显示网卡的基本 TCP/IP 配置参数,释放网卡的 DHCP 配置参数和当前使用的 IP 地址。 * arp 命令:用于查看本地计算机或者另一台计算机的 ARP 高速缓存中的当前内容,以及用来将 IP 地址和网卡 ...

    hw 云计算培训材料

    - 华为云服务的应用场景和案例分析。 3. **第三章 云计算主流技术**: - 虚拟化技术:如VMware、KVM、Hyper-V等。 - 容器技术:Docker、Kubernetes的简要介绍。 - 分布式存储和计算框架:Hadoop、Spark等。 4...

    综合实验(课程设计):中小型网络工程设计与实现毕业用资料.docx

    根据需求进行简要分析,可知: (1)划分VLAN,行政楼的部门需要跨交换机的VLAN划分。 (2)子网划分,不同的VLAN使用不同的子网,将子网和VLAN重叠使用。 (3)路由配置,不同子网(VLAN)之间的路由配置。 (4)...

Global site tag (gtag.js) - Google Analytics