目录

  • 1. 引言
  • 2. BOOTP的分组格式
    • 2.1 BOOTP请求和应答的格式:
    • 2.2 端口号
  • 3. BOOTP服务器的设计
  • 4. BOOTP穿越路由器
  • 5. 特定厂商信息
  • 6. 小结

1. 引言

无盘系统进行系统引导时使用RARP获取IP地址的缺点:1)IP地址是返回的唯一结果;2)RARP使用链路层广播,请求不会被路由器转发,故每个网络都要设置一个RARP服务器。
因此提出了另一种用于无盘系统进行系统引导的方法——引导程序协议BOOTP,使用UDP,且常与TFTP协同工作。

2. BOOTP的分组格式

2.1 BOOTP请求和应答的格式:

系统引导时,引导请求一般采用链路层广播,IP首部目的IP地址为255.255.255.255(受限的广播),源IP地址为0.0.0.0,因为此时客户不知道自身的IP地址。

2.2 端口号

BOOTP服务器为67,客户为68

3. BOOTP服务器的设计

服务器从端口67读取UDP数据报,必须读取类型字段为 “RARP请求” 的以太网帧。BOOTP协议将客户的硬件地址存入BOOTP分组,使得服务器很容易获取客户的硬件地址。
服务器将响应送回BOOTP客户问题的解决办法:

  1. 服务器发送ioctl(2)请求给内核为客户在ARP高速缓存中设置一个条目
  2. 服务器广播这个BOOTP应答

4. BOOTP穿越路由器

若路由器支持BOOTP协议,那么BOOTP就能由路由器转发,该功能主要用于无盘路由器。
路由器收到BOOTP请求,中继代理将它的IP地址填入收到BOOTP请求中的 “网关IP地址字段”,然后将该请求发到真正的BOOTP服务器并将跳数字段加1(跳数加到3就可以丢弃了)。真正的BOOTP服务器收到请求后产生BOOTP应答,并将其发回中继代理而不是请求的客户。

5. 特定厂商信息

6. 小结

无盘系统在只读存储器中系统引导需要的协议:BOOTP、TFTP、UDP、IP和一个局域网的驱动程序

BOOTP相较于RARP用于引导无盘系统获取IP地址的优点:

  1. RARP只返回IP地址,而BOOTP返回路由器的IP地址、客户的子网掩码以及名字服务器的IP地址。
  2. RARP请求不会被路由器转发,但路由器可以作为真正BOOTP服务器的代理,向不同网络中的BOOTP服务器转发客户的BOOTP请求。

【TCP-IP详解卷一:协议】ch16 BOOTP:引导程序协议相关推荐

  1. TCP/IP详解卷一读书笔记一

    TCP/IP详解卷一:第一章 一.分层   1.网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能.   疑点 介质访问控制方法   多个主机需要通过一条"共享介质"发送 ...

  2. 《TCP/IP详解卷一》读书笔记九:IGMP和MLD

    由于工作需要和知识储备,重新系统地学习网络方面的知识,先从<TCP/IP详解卷一>开始,对看书的大体内容进行简单整理,在这里进行记录.记录只是对知识的整理过程,并不追求面面俱到. 概念 I ...

  3. 《TCP/IP详解卷一》学习笔记

    <TCP/IP详解卷一>学习笔记 第1章 概述 第3章 IP:网际协议 第6章 ICMP:internet控制报文协议 第7/8章 Ping/Traceroute程序 第9/10章 IP路 ...

  4. 《TCP/IP详解卷一:协议》 概述

    分层 TCP/IP协议族是一组不同层次上的多个协议的组合.TCP/IP通常被认为是一个四层次协议系统. 链路层(数据链路层或网络接口层):通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡.用 ...

  5. 秃头整理:TCP/IP 详解卷一 笔记--完结撒花

    目录 数据链路层 以太网和IEEE 802封装 环回口/loopback 最大传输单元 MTU 路径MTU 几个基本概念 ip 协议 路由选择 ARP和RARP(地址解析) ARP 地址解析协议 RA ...

  6. 『TCP/IP详解——卷一:协议』读书笔记——03

    2013-08-17 17:31:49 1.7 分用 分用(Demultiplexing):这是一个过程--当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议上的报文首 ...

  7. 《TCP/IP详解 卷一》读书笔记-----广播多播IGMP

    1.广播和多播都只适用于UDP,因为TCP是面向连接的,需要将两台主机的两个进程绑定在一起,即IP地址和端口对 2.通常,网卡能看到网络中的每一个数据帧,但是往往它只接受目的地址与自己MAC地址相同的 ...

  8. TCP/IP详解卷一02

    1. 链路层的目的: 1.1 为IP模块发送IP数据报和接收IP数据报: 1.2 为ARP模块发送ARP请求和接收ARP应答 1.3为RARP模块发送RARP请求和接收RARP应答 2.以太网(主要局 ...

  9. tcp/ip详解卷一总结

    TCP/IP与OSI最大的不同在于OSI是一个理论上的网络通信模型,而TCP/IP则是实际运行的网络协议. 通过路由器连接的两个网络 TCP/IP协议族不同层次的协议 五类互联网地址 数据进入协议栈时 ...

  10. TCP/IP详解卷一之广播和本地组播(IGMP和MLD)

    1 引言 -广播和组播为应用程序提供了两种服务: · 数据分组交付至多个目的地: · 通过客户端请求/发现服务器,如DHCP. -广播比较简单,但开销更高:组播比较复杂,但效率更高. -IPv4支持广 ...

最新文章

  1. 基于人工神经网络的不规则小天体引力场建模
  2. 2019,GMIS归来!杨强、吴恩达等全球重磅嘉宾共话数据智能
  3. PythonWeb仿51edu项目实战篇视频教程教学视频
  4. [原]动态打jar包程序,可用于手机图片音乐游戏的动态打包
  5. 从零开始的全栈工程师——html篇1.2
  6. 用 JavaScript 的方式理解递归
  7. 【原生态跨平台:ASP.NET Core 1.0(非Mono)在 Ubuntu 14.04 服务器上一对一的配置实现-篇幅2】...
  8. 精简ICO图标可减小EXE程序文件大小
  9. 与其埋头啃文献不如关注这些公众号
  10. springboot获取到的MySQL数据少了8小时
  11. java求闰年_Java判断闰年的2种方法示例
  12. 让你彻底理解线性代数中的概念——《线性代数的本质》系列视频笔记
  13. numpy dot用法解释
  14. SpringBoot将图片/文件传至前端
  15. 如何画出FPN论文中的金字塔结构图
  16. 如何用微信编辑器排版出美观的图文消息
  17. CentOS 7下载地址(ISO文件)安装
  18. find() python
  19. 智能照明控制系统的设计和应用
  20. Flutter高仿微信-第22篇-支付-二维码收款(二维码)

热门文章

  1. Oracle-delete使用
  2. cisco packet tracket的简单拓扑搭建以及远程登录路由器
  3. 宁波甬江职业学校计算机实,宁波市甬江职业高级中学
  4. BAT批处理文件 shutdown命令详解
  5. Prism WPF Region
  6. 如何使用设计模式——qq交流群讨论纪实
  7. js获取日期周数,并根据周数算出当前周的开始和结束日期(周日开始,周六结束)
  8. WebDriver中点击按钮、连接无效问题
  9. 根据经纬度数组绘制地区范围
  10. 在前端培训机构怎么系统学习前端知识