1、第12章自举与自动配置 本章学习目标 了解自举与引导协议的概念理解BOOTP的工作原理描述DHCP的三种地址分配方法了解DHCP的工作状态切换过程 自举与引导协议 自举是指引导操作系统的过程 而操作系统的运行是执行其他程序的前提要完成自举过程 需要获取配置信息 操作系统映像和相关程序文件等内容引导协议就是用于获取配置信息的协议 它主要为无盘工作站或某些网络设备服务 可使客户端从网络中的服务上获取IP地址和引导文件的路径等相关配置信息BOOTP 引导协议 和DHCP 动态主机配置协议 是两种常用的引导协议 12 1BOOTP协议 无盘工作站与一些复杂的网络设备 通常将引导系统所需的启动程序 存放
2、在非易失性的ROM存储器中 一般ROM的容量都不大 只包含短小的启动程序 引导系统所需的系统映像和相关配置信息都需要从别处获取进行系统引导时 可以通过RARP协议从服务器获取IP地址 但RARP有如下缺点 只能获取IP地址 无法得到其他配置信息RARP是链路层协议 无法处理装有可配置网卡的计算机BOOTP是一种基于客户端 服务器模式的应用层协议 它克服了RARP的缺点 在一个BOOTP报文中 不但有客户端IP地址的信息 还包含了各种配置信息 如服务器地址 路由器地址 引导文件路径和厂商信息等 12 1 1BOOTP的工作原理 自举过程分为两个阶段 一 获取配置信息和引导文件的路径二 获取引导文
3、件本身BOOTP只能完成第一阶段的任务 向客户端提供所需的IP地址和相关信息 并给出引导文件的路径第二阶段主要是文件传送过程 一般采用TFTP或FTP协议来实现 12 1 1BOOTP的工作原理 BOOTP基于客户端 服务器模式 客户端与服务器之间的信息交换以请求 响应的方式进行BOOTP使用两个不同的UDP通信端口 BOOTP服务器使用67端口 BOOTP客户端使用68端口 BOOTP报文的封装 12 1 1BOOTP的工作原理 BOOTP的报文交换过程如下 客户端 无盘工作站或网络设备 使用有限广播地址在网络中广播它的BOOTP请求服务器收到请求后 根据客户端提供的硬件地址 在配置表中查找
4、匹配的IP地址由于客户端还不知道它自己的IP地址 所以服务器也使用有限广播地址来发送BOOTP响应客户端收到响应后 就可以使用服务器提供的IP地址收发IP数据报了BOOTP要求在UDP中使用检验和 Checksum 字段 用于检测数据是否遭到破坏在发分组时需要将 请勿分段 DoNotFragment 位置位 这样内存不足的计算机就无需重组数据报BOOTP使用超时与重传机制来避免分组丢失BOOTP可以为每台计算机提供一个惟一的IP地址 静态 12 1 2BOOTP报文格式 12 1 2BOOTP报文格式 特定厂商区域 字段中的选项条目格式示例 2 2DHCP协议 DHCP是在TCP IP网络上使
5、计算机或网络设备获得配置信息的引导协议 它是BOOTP的扩展 并能与BOOTP一起工作与BOOTP相比 DHCP有两个优势 DHCP可使客户端在一个报文中获得全部配置信息DHCP可以为客户端动态分配IP地址DHCP使用与BOOTP相同的报文格式 DHCP服务器可以接受客户端的BOOTP请求 并将配置信息提供给客户端 12 2 1地址分配方法 DHCP支持三种IP地址分配方法 手工配置在服务器上保存一个配置表 用于静态地绑定硬件地址与IP地址 在这种方式下 IP地址是由系统管理员手工指定的 而且是永久IP地址自动配置系统管理员在DHCP服务器上配置一个数据库 其中包含着一系列可用IP地址 当客户
6、端启动时 向DHCP服务器发送请求 服务器则从数据库中取出一个IP地址 将其提供给客户端使用 客户端第一次成功获取IP地址后 将一直使用这个IP地址 即所分配的是永久IP地址动态配置当一台便携式计算机需要暂时接入网络 或者一台计算机从一个子网迁移到另一个子网时 DHCP可以在某一时间段内为计算机自动分配可用的IP地址 通常称为 租借 方式 只要租约到期 客户端就必须停止使用该IP地址 或者延续租约以继续使用该IP地址 12 2 2动态地址分配 与静态地址分配不同 动态地址分配提供的IP地址不是永久性的 而是有一个使用期限 通常称为 租用期限 在 租用期限 内服务器不会将同一IP地址分配给其他客
7、户端一旦租约到期 客户端可以选择延续租约 否则必须停止使用该IP地址DHCP允许客户端提出 租用期限 的请求 服务器则需通知客户端是否接受了请求动态配置是惟一一种允许自动重用地址的分配方式 当可用IP地址不足的时候 动态配置是一种非常灵活的方案 12 2 3工作状态切换 在从DHCP服务器获取配置信息的过程之中 DHCP客户端可处于以下六种工作状态之一 初始化 Initialize 选择 Select 请求 Request 绑定 Bound 更新 Renew 重新绑定 Rebind DHCP客户端的六种工作状态切换 12 2 4DHCP报文格式 12 2 4DHCP报文格式 DHCP报文的绝大
8、多数字段与BOOTP报文中是完全一致的 也因此DHCP与BOOTP是后向兼容的 DHCP服务器可以响应BOOTP请求DHCP报文只改变了两个字段 16位的 标志 字段 在BOOTP报文中它是未使用的BOOTP中的定长的 特定厂商区域 字段 在DHCP中改成了可变长度的 选项 字段 12 2 4DHCP报文格式 DHCP报文类型选项位于 选项 字段 格式如下 DHCP报文有七种不同的类型 由报文类型选项的第3个字节指定 DHCP报文类型 小结 BOOTP和DHCP是两种常用的引导协议 能使计算机或网络设备从BOOTP或DHCP服务上获取自举所需的配置信息BOOTP是基于UDP的应用层协议 它为引
9、导无盘系统获取IP地址提供了除RARP外的另外一种选择 BOOTP还能返回如子网掩码 路由器IP地址和名字服务器的IP地址等其他信息DHCP是BOOTP的扩展 两者的报文组成基本相同 工作原理也相类似 DHCP报文中有一个16位的 标志 字段 而在BOOTP报文中该字段是未使用的 此外 BOOTP报文中固定长度的 特定厂商区域 字段 在DHCP中改成了长度可变的 选项 字段DHCP支持三种IP地址分配方法 手工配置 自动配置和动态配置DHCP与BOOTP最重大的区别是支持动态地址分配 可以减轻系统管理员手工指定IP地址的工作量 能在网络中有大量客户机的情况下 提供快速 方便 有效地分配IP地址的方法 客户端不需要进行手工配置即可获取IP地址并访问网络