我们介绍了一个无盘系统,它在不知道自身 I P地址的情况下,在进行系统引导时
能够通过R A R P来获取它的I P地址。然而使用R A R P有两个问题:(1)I P地址是返回的唯一结
果;(2)既然R A R P使用链路层广播, R A R P请求就不会被路由器转发(迫使每个实际网络
设置一个RARP 服务器)。本章将介绍一种用于无盘系统进行系统引导的替代方法,又称为引
导程序协议,或B O O T P。
B O O T P使用U D P,且通常需与 T F T P协同工作。

BOOTP 的分组格式

图显示了长度为3 0 0字节的B O O T P请求和应答的格式。
“操作码”字段为1表示请求,为2表示应答。硬件类型字段为 1表示10 Mb/s的以太网,这
和A R P请求或应答中同名字段表示的含义相同。类似地,对于以太网,硬件地址长
度字段为6字节。
“跳数”字段由客户设置为0,但也能被一个代理服务器设置。
“事务标识”字段是一个由客户设置并由服务器返回的 32 bit整数。客户用它对请求和应
答进行匹配。对每个请求,客户应该将该字段设置为一个随机数。
客户开始进行引导时,将“秒数”字段设置为一个时间值。服务器能够看到这个时间值,
备用服务器在等待时间超过这个时间值后才会响应客户的请求,这意味着主服务器没有启动。
如果该客户已经知道自身的 I P地址,它将写入“客户 I P地址”字段。否则,它将该字段
设置为0。对于后面这种情况,服务器用该客户的 I P地址写入“你的 I P地址”字段。“服务器
I P地址”字段则由服务器填写。如果使用了某个代理服务器,则该代理服务器就
填写“网关I P地址”字段。
客户必须设置它的“客户硬件地址”字段。尽管这个值与以太网数据帧头中的值相同,
U D P数据报中也设置这个字段,但任何接收这个数据报的用户进程能很容易地获得它(例如
IP数据报
UDP数据报
IP首部 UDP首部
BOOTP请求/应答
20字节 8字节
300字节
一个BOOTP 服务器)。一个进程通过查看U D P数据报来确定以太网帧首部中的该字段通常是
很困难的(或者说是不可能的)。

BOOTP引导程序协议的更多相关文章

  1. TFTP:简单文本传输协议,BOOTP:引导程序协议

    TFTP:简单文本传输协议,BOOTP:引导程序协议 1.TFTP:      TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用 ...

  2. TCP/IP详解学习笔记(11)-- TFTP:简单文本传输协议,BOOTP:引导程序协议

    1.TFTP:      TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,基于UD ...

  3. 《TCP/IP详解 卷1:协议》系列分享专栏

    <TCP/IP详解卷1:协议>是一本详细的TCP/IP协议指南,计算机网络历久不衰的经典著作之一. 作者理论联系实际,使读者可以轻松掌握TCP/IP的知识.阅读对象为计算机专业学生.教师以 ...

  4. 《TCP/IP详解 卷1:协议》第3章 IP:网际协议

    3.1 引言 IP是TCP/IP协议族中最为核心的协议.所有的TCP.UDP.ICMP及IGMP数据都以IP数据报格式传输(见图1-4).许多刚开始接触TCP/IP的人对IP提供不可靠.无连接的数据报 ...

  5. 《TCP/IP详解 卷1:协议》第4章 ARP:地址解析协议

    4.1 引言 本章我们要讨论的问题是只对TCP/IP协议簇有意义的IP地址.数据链路如以太网或令牌环网都有自己的寻址机制(常常为48 bit地址),这是使用数据链路的任何网络层都必须遵从的.一个网络如 ...

  6. TCP/IP 协议标准简单描述

    TCP/IP 协议标准简单描述 说明 分为三部分:中文名称.缩写.说明. 应用层 DNS 域名服务 (DNS) 功能: 将域名转化为IP地址 BOOTP 引导程序协议 (BOOTP) 功能: 允许无盘 ...

  7. Linux系统下手把手完成无人值守安装服务

    刚入职的运维新手经常会被要求去做一些安装操作系统的工作,如果按照用镜像光盘安装操作系统,效率会相当低下.那么如何提升效率,搭建出一套可以批量安装Linux系统的无人值守的安装系统? PXE+TFTP+ ...

  8. DHCP, NAT

    DHCP Dynamic Host Configuration Protocol(动态主机配置协议) (RFC 2131) Bootstrap Protocol BOOTP(引导程序协议) allow ...

  9. 《Linux就该这么学》培训笔记_ch19_使用PXE+Kickstart无人值守安装服务

    <Linux就该这么学>培训笔记_ch19_使用PXE+Kickstart无人值守安装服务 文章最后会post上书本的笔记照片. 文章主要内容: 无人值守系统 部署相关服务程序 配置DHC ...

随机推荐

  1. 不使用局部变量和for循环或其它循环打印出如m=19,n=2結果为2 4 8 16 16 8 4 2形式的串

    需求:不使用局部变量和for循环或其它循环打印形如:2 4 8 16 16 8 4 2 这样的串 代码MainTest.java package com.szp.study.javase.specia ...

  2. easyui 解决连弹两个dialog时候,第二个dialog居中问题

    $('#showDivSecond').dialog('center'); (该方法自1.3.1版开始可用)

  3. Android之Systrace

    1 简介 https://www.lizenghai.com/archives/26061.html 2 用法 用命令行启动Systrace抓取采样:<Capture a system trac ...

  4. CNN-1: LeNet-5 卷积神经网络模型

    1.LeNet-5模型简介 LeNet-5 模型是 Yann LeCun 教授于 1998 年在论文 Gradient-based learning applied to document      ...

  5. mac 10.14.5 [vue create的时候 mkdir没有权限]

    1.vue create的时候 mkdir没有权限 2.第一步.先检查系统是否开启了安全模式 csrutil status 3.如果是disabled.进去步骤5,直接查看文件夹权限.如果是enabl ...

  6. Mongo Document 校验

    Mongo Datamodel Validation mongo insert,update document时候的校验规则 指定validation rules new collection db. ...

  7. Greenplum 5.21.1 集群安装部署

    简单来说GPDB是一个分布式数据库软件,其可以管理和处理分布在多个不同主机上的海量数据.对于GPDB来说,一个DB实例实际上是由多个独立的PostgreSQL实例组成的,它们分布在不同的物理主机上,协 ...

  8. yii2中通过migration创建数据表

    ### yii2中通过migration创建数据表 准备工作: 1.首先保证php写入了环境变量 2.在项目内创建migrations目录(base版的需要手动创建) 3.配置文件中正确配置了数据库信 ...

  9. 利用Python进行数据分析 第4章 NumPy基础-数组与向量化计算(3)

    4.2 通用函数:快速的元素级数组函数 通用函数(即ufunc)是一种对ndarray中的数据执行元素级运算的函数. 1)一元(unary)ufunc,如,sqrt和exp函数 2)二元(unary) ...

  10. 20191011-构建我们公司自己的自动化接口测试框架-testrun最重要的模块

    testrun模块呢就是最终自动化测试入口,调用前面封装的各个模块主要流程是: 1. 获取测试集种待执行的测试用例 2. 处理测试用例获取的数据,包括转换数据格式,处理数据的中的关联等 3. 处理完数 ...