bootp引导程序协议

news2024/11/23 4:18:35

bootp又称为引导程序协议,我们来简单了解一下这个协议以及他的用法。

1,BOOTP 请求和应答均被封装在 U D P数据报中 ;

2,B O O T P使用 U D P,且通常需与 T F T P协同工作;

3,B O O T P有两个熟知端口: BOOTP 服务器为67(50067), BOOTP 客户为68(50068),这两个端口一般是固定不变的。

tftp协议后续再介绍,现在我们先来了解一下bootp.

3,bootp的报文了解.

我们看上面的报文,可以看到目的地址为0xffffffffff, 即是广播报文,我们可以看到request报文和reply报文都是广播报文的,那么为什么呢(这里的端口是固定的)

 IP数据报我们前面有了解过,这里不赘述了,整个报文结构如下 ,前面还有个以太网首部,即是

mac首部+ ip首部+udp首部 + udp报文。

 bootp的udp报文数据结构分析:

 报文分析

 请求报文:

op = 01;

Htype = 01;

HLen = 06;

XID = 0x7d174686;

chaddr = 0x001ab6334401(00....)

sname = 0x74697661(0000....)

 回应报文:

op = 02;

Htype = 01;

HLen = 06;

XID = 0x9d174686;

chaddr = 0x001ab6334401(00....)

sname = 0x74697661(0000....)

uint32 CIAddr; //  0x0000000

 uint32 YIAddr;//  0x7e000101(126.0.1.1)

 uint32 SIAddr;  //0x7e000107(126.0.1.7)

  uint32 GIAddr; // 0x00000

  uint8 CHAddr[16]; 0x001ab6334401(000..)

  char SName[64]; //  0x74697661(000..)

  char File[128]; .//0x6669726d776172652e62696e(000..)
 

数据结构:

typedef struct
{	  
	uint8 op; // The operation; 1 is a request, 2 is a reply.

	uint8 HType;// The hardware type; 1 is Ethernet. 

	uint8 HLen;// The hardware address length; for Ethernet this will be 6, the length of the MAC address. 

	uint8 Hops;// Hop count, used by gateways for cross-gateway booting.

	uint32 XID;// The transaction ID.

	uint16 Secs; // The number of seconds elapsed since the client started trying to boot.

	uint16 Flags;// The BOOTP flags. 

	uint32 CIAddr; // The client's IP address, if it knows it. 

	uint32 YIAddr;// The client's IP address, as assigned by the BOOTP server. 

	uint32 SIAddr; // The TFTP server's IP address.

	uint32 GIAddr; // The gateway IP address, if booting cross-gateway.

	uint8 CHAddr[16];// The hardware address; for Ethernet this is the MAC address.

	char SName[64]; // The name, or nickname, of the server that should handle this BooTP // request. 

	char File[128]; // The name of the boot file to be loaded via TFTP. 

	uint8 Vend[64];// optional vendor-specific area; not used for BOOTP.
 }bootp_pkt_t;

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/518997.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

选择合适的 MQTT 云服务:一文了解 EMQX Cloud Serverless、Dedicated 与 BYOC 版本

引言 EMQX Cloud 是基于 EMQX Enterprise 构建的一款全托管云原生 MQTT 消息服务。为了满足不同客户的需求,EMQX Cloud 提供了三种版本供客户选择:Serverless 版、专有版和 BYOC 版。 本文将简要介绍这三个版本的核心区别,并通过三个用户故…

【ChatGPT】体验一下ChatGPT

体验一下ChatGPT 可以帮你写代码、写邮件、编故事的神器 最近OpenAI 发布了备受期待的原型通用 ChatGPT,这是一种基于对话的 AI 聊天界面,算是GPT-3(Generative Pre-trained Transformer 3)的继承者,今天记录一下体验的过程,以前…

详解set/map的底层结构——AVL树和红黑树

目录 前文 一,AVL树 1.1 什么是AVL树? 1.2 AVL树节点的定义 1.3 insert—插入(重点) 1.4 旋转(重点) 1.4.1 右单旋 1.4.2 左单旋 1.4.3 左右双旋 1.4.4 右左双旋 1.5 IsBalanc(平衡判断) 1.6 中序遍历 1.7 测试 二,红黑树 2.1 什么…

非常提效的7款原型工具推荐

原型图工具允许在开发前进行测试和迭代过程,可以帮助节省大量的开发时间和成本。在本文中,我们盘点了7个易于使用的原型图工具,以提高您的生产力! 1.即时设计 即时设计是一款免费的在线 UI 设计工具,无系统限制&…

自学黑客,一般人我劝你还是算了吧!

我为啥说自学黑客,一般人我还是劝你算了吧!因为我就是那个不一般的人。 首先我谈下对黑客&网络安全的认知,其实最重要的是兴趣热爱,不同于网络安全工程师,他们大都是培训机构培训出来的,具备的基本都是…

【Python入门】Python的判断语句(if elif else语句)

前言 📕作者简介:热爱跑步的恒川,致力于C/C、Java、Python等多编程语言,热爱跑步,喜爱音乐的一位博主。 📗本文收录于Python零基础入门系列,本专栏主要内容为Python基础语法、判断、循环语句、函…

从0开始学习数据库

一个数据库最重要的部分是什么? 关系型数据库mysql有着四大特性,原子性,隔离性,一致性,持久性。 kv数据库有着原子性,持久性,弱一致性。 可见,不管数据库的存储引擎是什么&#xff0…

【计算机网络】第一章 计算机网络基础(期末急救包)

目录 前言 正文 考点 1.1 计算机网络组成 1.2 计算机网络的分类 ——4种 1.3计算机网络的性能指标 1.4 计算机网络标准化工作及相关组织 2.计算机网络体系结构与模型 结语 前言 期末将至,相信有的同学们还在为怎么过期末而发愁吧!不用担心&#…

谈「效」风生 | 「自动化」聊起来简单,做起来难

#第4期:“自动化”聊起来简单,做起来难# 在上一期《如何找到现有研发体系的「内耗问题」》中,我们聊了评估现有研发体系,正确的找到“体系内耗问题”,是改变研发体系的第一步。本期我们继续聊下一个关键点就是研发体系…

多USB工业相机的使用

USB相机的使用 USB3.0引入了“SuperSpeed”(SS)传输速率。理论传输速度高达625 MByte/s, SuperSpeed传输可以在短时间内传输大量数据,适用于许多视觉应用。给出的带宽上限是一个理想化的理论值。对于实际应用,主机控制器(Host Controller&am…

红黑树下岗,内核新数据结构上场:maple tree!

在外界看来,Linux 内核的内部似乎变化很少,尤其是像内存管理子系统(memory-management subsystem)这样的子系统。然而,开发人员时常需要更换内部接口来解决某些长期存在的问题。比如,其中一个问题就是用来保…

五个程序员必要的在线绘图工具

说到程序员,每个人的第一反应都是敲代码。事实上,画图也是程序员必备的技能之一。各种流程图、架构图、UML类图、线框图等多种多样。 1.即时设计 即时设计是一款免费的在线 UI 设计工具,无系统限制,浏览器打开即可使用&#xff…

算法修炼之练气篇——练气七层

博主:命运之光 专栏:算法修炼之练气篇 前言:每天练习五道题,炼气篇大概会练习200道题左右,题目有C语言网上的题,也有洛谷上面的题,题目简单适合新手入门。(代码都是命运之光自己写的…

Recoil在React中完整实践方案

先让我吐槽一下,Recoil这个玩意文档是真的不友好,另外发现国内很少有人去用Recoil,然后好多文章都是照搬官网文档,我特喵的要是出了问题直接看官方不就行了。如果你碰巧看到这个文章了,就细心看完吧,绝对的…

从一文不值到数字黄金 诞生于极客圈的比特币,究竟经历了什么?

比特币作为技术性很强的神奇发明,从一文不值到数字黄金,在发展过程中不仅为金融范式转变奠定了基础,改变了人们感知和交易价值的方式,也为无数数字资产开辟了一条可追随的道路。 比特币之所以复杂,是因为技术属性、金融…

在线未注册域名批量查询-域名注册批量查询

域名批量注册查询 域名批量注册查询是一种工具,可以帮助用户批量查询并注册多个域名。这种工具通常被域名管理者、品牌专家、互联网营销人员等使用。 以下是域名批量注册查询工具的优点: 提高效率:与手动单独注册域名相比,域名批…

机器学习基础(粗学)【未完待续】

卷积神经网络粗学 卷积:用卷积求系统的存量 卷积,就是把输出函数反转一下。。。。(离谱) 实际不是从物理意义上理解的函数翻转,而是应该从数学意义上,去理解卷积的…

六、IDEAJ同一个服务启动多台服务器的方法

目录 1、打开启动类配置窗口--->选择Edit Configurations进入配置窗口 2、从左侧Springboot应用选择需要启动的多台服务器(服务只要启动一次就会在此窗口有显示)--->勾选Allow parallel run菜单(默认不勾选,则只能启动一台…

【JAVAEE】常见的锁策略

目录 1.常见的锁 1.乐观锁&悲观锁 2.轻量级锁&重量级锁 3.读写锁&普通互斥锁 4.自旋锁&挂起等待锁 5.可重入锁&不可重入锁 6.公平锁&非公平锁 2.CAS 1.什么是CAS 2.CAS的应用 1.实现原子类 2.实现自旋锁 3.synchronized用到的锁策略 1.s…

RobotFramework +appium实现Android自动化

环境准备 1、已安装python37版本(SDK、JDK均已安装完成,且环境变量都配置好了)。 2、已安装robotframework。 3、已安装安卓模拟器(本文使用夜神模拟器)。 4、安装appium(下载地址:http://6…