DHCP技术分享(一)

DHCP协议发展历史简述

BOOTP(Bootstrap Protocol)协议简介
  • BOOTP (Bootstrap Protocol)称为引导程序协议
  • 它是一个基于IP/UDP协议的远程引导协议
  • 它可以让无盘站从一个中心服务器上获得IP地址,网关地址等
  • 需要由管理员配置和维护一个BOOTP配置文件,该文件定义了主机AMC地址与IP地址等对应关系
  • 引导操作的两阶段:
    分配地址和选择引导文件
    文件传送启动镜像文件
    在这里插入图片描述
BOOTP(Bootstrap Protocol)协议要点
  • 使用了一个单独的包交换信息,使用超时机制直到收到应答。
  • 一个‘opcode’字段包含两个值:‘引导请求’和‘引导应答’
  • 请求可以包含客户端指定的相应服务器的名称。
  • 请求可以包含‘通用’引导文件名,但是服务器发送引导应答时,它使用对应的引导文件的确切的路径名称来取代这个字段。
  • 客户端不知道IP地址的情况下,服务器必须有一个硬件地址和IP地址对应的数据库。
  • 如果一个物理网络中没有直接可用的TFTP服务器,BOOTP运行客户端通过使用相邻的网关的服务器上引导
BOOTP(Bootstrap Protocol)工作流程

启动BOOTP客户端
客户端使用广播IP请求
服务器会根据请求中提供的MAC地址回应BOOTP客户端,携带IP地址、服务器IP地址、网关等信息
客户端根据回应获得自己的IP地址等信息
通过专用服务器(如TFTP)下载镜像启动文件,模拟成磁盘来完成启动
在这里插入图片描述

BOOTP的优缺点

优点:
能够集中配置若干客户;
能过跨越路由器连接的子网或网络;
提供了一种安全措施,只有具有有效地
MAC地址的客户才能分配到一个IP地址。

缺点:
每台主机从服务器获取配置信息,建立一个永久的网络连接。一旦主机位置变化,需要重新配置
存在一定的资源浪费
可供主机使用的地址数量有限
对移动性主机不能满足需求

DHCP协议产生的背景

在这里插入图片描述

  • 网络中的主机数量不断增加,手动管理困难
  • 主机具有移动性,人工配置麻烦
  • IP资源紧张,固定IP造成资源浪费
DHCP协议的发展

在这里插入图片描述
在这里插入图片描述

DHCP常用的名称解释

在这里插入图片描述

DHCP实现原理

DHCP结构和地址分配机制

在这里插入图片描述

Server/Client结构
——Server: 分配网络地址和信息
——Client: 请求IP和初始化参数
3种地址分配机制:
——自动分配:分配永久的IP地址
(运用于大型服务器)
——动态分配:分配的IP地址带有租约时间
(临时接入网络或者空闲地址数小于主机总数)
——手工分配:地址绑定到MAC上
(运用于公网服务器)

DHCP的报文结构

在这里插入图片描述

DHCP的报文格式

在这里插入图片描述

各字段含义

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Server端对ciaddr和giaddr字段的处理
  1. Ciaddr, Client IP Address
    只有Client是BOUND、RENEW、REBINDING状态,并且能响应ARP
    Requests时,才能被填充

  2. Giaddr, Relay Agent IP Address 第一个DHCP中继的IP地址
    Giaddr!=0,单播回复,目的地址为giaddr
    Giaddr0,ciaddr!=0,单播回复,目的地址为ciaddr
    Giaddr&&ciaddr
    0,广播标志位为1,广播回复
    Giaddr&&ciaddr==0,广播标志位为0,那么它将以单播的方式进行回复
    第一个中继在将DHCP请求报文转发给DHCP服务器时,会把自己的IP地址填入此字段,DHCP服务器会根据此字段来判断出客户端所在网段地址,从而选择合适的地址池,为客户端分配该网段的IP地址
    若Client经过了多个DHCP中继,则该字段作为客户端所在网段的标记,填充了第一个DHCP中继的IP地址后不再变更,只是hops的值会加1

DHCP的交互过程

在这里插入图片描述

DHCP的交互过程——DISCOVER

在这里插入图片描述

DHCP的Discover重传时间
  1. 不同的操作系统所规定的Discover重传时间不同,按照随机指数补偿算法,选择是基于服务器有足够的时间回复
  2. 在Windows预设情况下,Discover的等待时间预设为1秒,也是说当客户端将第一个DHCP Discover报文发送出去后,在1秒内没有得到回应的话,就会进行第二次discover广播。若一直得不到回应的情况下,客户端一共会有四次discover广播(包括第一次在内),除了第一次会等待1秒之外,其余三次的等待时间分别是9﹑13﹑16秒。如果都没有得到DHCP服器服务器的回应,客户端则会显示错误信息,宣告discover的失败。之后,基于使用者的选择,系统会继续在5分钟之后再重复一次discover的过程
DHCP的交互过程——OFFER

在这里插入图片描述

Server 地址池创建规则
  1. 一个Server可能创建一个或者多个地址池
  2. 创建地址池后还需要配置其他必要的参数才是可用的地址池
  3. Server可以配置网络地址和主机地址
    网络地址用于为用户提供动态分配的IP地址
    主机地址用于为用户提供管理员静态绑定的IP地址
  4. 网络地址池又分为全局地址池和接口地址池
    全局地址池可以为所有用户提供IP地址分配
    接口地址只为本虚接口下直连用户提供IP地址的分配
Server 分配地址和租期选择机制

在这里插入图片描述

DHCP的交互过程——REQUEST

在这里插入图片描述

Client对参数的选择规则

IF Server已经明确配置了一个默认参数的值
Server在’Option’选项必须包括那个值
IF Server识别的参数定义在主机文档中
Server必须在主机文档的‘Option’选项中给出该参数的值
Else
Server必须提供它所提供的尽可能多的参数,必须忽略它不能提供任意参数。
除非在文档中明确规定外,服务器必须包括每个请求的参数一次

DHCP的交互过程——ACK

在这里插入图片描述

DHCP的交互过程——INFORM

在这里插入图片描述

DHCP的交互过程——NAK

在这里插入图片描述

DHCP的交互过程—DECLINE

在这里插入图片描述

DHCP的交互过程——RELEASE

在这里插入图片描述

DHCP的交互过程——续约

在这里插入图片描述

DHCP的交互过程——REBOOT

在这里插入图片描述

DHCP REQUEST产生机制
  1. “ SELECTING state”–广播报文
    ‘server identifier’=选中服务器的IP地址,’ciaddr’=0,
    ‘requested IP address’= 选中的OFFER报文中提供的‘yiaddr’字段值
  2. “INIT-REBOOT state”(重启)
    ‘server identifier’=null, ’ciaddr’=0
    ‘ requested IP address’=客户端先前分配的地址
  3. “RENEWING state”(1/2T续约)–单播报文
    ‘server identifier’=null,‘ requested IP address’=null ,
    ’ciaddr’=客户端的IP地址
  4. ” REBINDING state”(7/8T续约)—广播报文
    ‘server identifier’=null,‘ requested IP address’=null ,
    ’ciaddr’=客户端的IP地址
DHCP状态迁移图

在这里插入图片描述

DHCP八种状态介绍
  1. INIT状态:当用户第一次启动时,广播 discover报文来联系本网络所有的DHCP服务器,并转换到SELECTING状态
  2. SELECTING状态:用户从收到的多个Offer报文中选择一个(一般为最先到达的响应)并给服务器发送request报文告之,转换到REQUESTING状态
  3. REQUESTING状态:服务器对request报文发送了ACK进行响应。用户收到确认后转换到BOUND状态
  4. BOUND状态:用户收到SERVER的确认报文后,将分配的IP地址与网卡绑定,开始使用该IP地址
  5. RENEWING状态:当租约定时器到期时,用户发送request报文进行续约,然后用户转换到RENEWING状态等待
  6. REBINDING状态:用户在进行续约时,如果租约到期时还没有收到ACK回应报文,则在本地网络内广播DHCPQUEST报文,并转换到REBINDING状态等待回应
  7. REBOOT状态:为用户的重启动状态,此时用户直接发送DHCPREQUEST报文,申请上一次使用的IP地址,并等待DHCP
    SERVER的回应报文
  8. HALT状态:停止状态,用户不再需要使用分配的IP地址时,会主动向DHCP SERVER发送DHCP
    RELEASE报文,通知SERVER释放被绑定的租约,并转换到停止状态

DHCP Option介绍

今天就写到这儿,下一章接着介绍

DHCP+介绍

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值