一文搞懂DHCP协议

更多文章欢迎关注个人微信公众号:极客熊猫
在这里插入图片描述

何为DHCP?

DHCP是Dynamic Host Configuration Protocol的首字母缩写,即动态主机配置协议

任何连接到的互联网的主机或路由器都需要IP地址、子网掩码、默认网关、DNS服务器等配置信息,当一个网络中的主机或路由器数量很多时,采用人工来配置这些信息显然是低效且易错的。DHCP就是解决这个问题的。

DHCP的主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、子网掩码、默认网关、DNS服务器地址等信息,并能够提升IP地址的使用率。

DHCP采用客户端/服务器模型。客户端主机的IP地址等配置信息的动态分配任务由其自身发起,当DHCP服务器接收到来自客户端主机申请地址的信息时,才会向客户端主机发送相关的地址配置等信息,以实现客户端主机地址信息的动态配置。

DHCP位于五层网络模型中的应用层,其传输层采用UDP协议。客户端端口号为68,服务器端口号为67。

DHCP服务器可提供三种地址分配:自动分配、动态分配、手动分配。三者区别在于地址分配是否基于客户端的身份以及该地址是否可撤销或变更。我们只关注动态分配。

动态分配:客户端从服务器的地址池中获得一个可撤销的IP地址。

地址池和租用期

动态分配中,DHCP客户端请求分配一个IP地址时,DHCP服务器从其地址池中选择一个地址作为响应。

地址池:专门为DHCP用途而分配的一个连续的IP地址范围。

租用期:分配给客户端的IP地址只在一段特定时间内有效,这段时间称为租用期。

租用期是可以延长的,即客户端可以续约。

DHCP消息格式

在这里插入图片描述

  • Op:标识消息是请求消息(1)还是应答消息(2);
  • HW类型:硬件类型,基于ARP使用的值,对于以太网,该值为1;
  • HW长度:存放硬件(MAC)地址的长度,对于以太网MAC地址,该值为6;
  • 跳步数:保存消息传输过程中的中继次数。消息发送方将该值设置为0,并在每次中继时递增;
  • 事务ID:由客户机选择的随机数,服务器将它复制到响应中,用于将请求和应答匹配起来;
  • 秒数:由客户机设置,它是第一次尝试申请或重新申请地址经过的秒数;
  • 标志:该字段16位中,目前只用了1位,称为广播标志。客户机可以在请求中设置该位,表示它们不能或不愿处理单播IP数据报,但可处理广播数据报(例如,客户机还没有IP地址的情况)。通过设置该位通知服务器和中继代理,广播地址可用于响应中。
  • ciaddr:如果客户机已有IP地址的话,客户机在发送请求时将自己的IP地址放在此处;
  • yiaddr:由服务器填写,服务器把想要分配给客户机的IP地址放在此处;
  • siaddr:一般是DHCP服务器的IP地址;
  • giaddr:如果需要跨子网进行DHCP地址分配(DHCP服务器与客户机不在同一子网),则在此处填写经过的路由器的IP地址;
  • chaddr:
  • 11
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
CAN(Controller Area Network,控制器局域网)总线协议是一种广泛应用于工业自动化、汽车电子等领域的串行通讯协议。其帧格式如下: <img src="https://img-blog.csdnimg.cn/20200925125252655.png" width="400"> CAN总线协议的帧分为标准帧和扩展帧两种,其中标准帧包含11位标识符,扩展帧包含29位标识符。在CAN总线上,所有节点都可以同时发送和接收数据,因此需要在帧中包含发送方和接收方的信息。 帧格式的具体解释如下: 1. 帧起始符(SOF):一个固定的位模式,表示帧的起始。 2. 报文控制(CTRL):包含几个控制位,如IDE、RTR等。其中IDE表示标识符的类型,0表示标准帧,1表示扩展帧;RTR表示远程请求帧,0表示数据帧,1表示远程请求帧。 3. 标识符(ID):11位或29位的标识符,用于区分不同的CAN消息。 4. 控制域(CTL):包含几个控制位,如DLC、EDL等。其中DLC表示数据长度,即数据域的字节数;EDL表示数据长度是否扩展,0表示标准数据帧,1表示扩展数据帧。 5. 数据域(DATA):0~8字节的数据。 6. CRC:用于校验数据是否正确。 7. 确认位(ACK):由接收方发送的确认信息,表示数据是否正确接收。 8. 结束符(EOF):一个固定的位模式,表示帧的结束。 以上就是CAN总线协议的帧格式。在实际应用中,节点之间通过CAN总线进行数据交换,通过解析帧中的各个字段,可以判断消息的发送方、接收方、数据内容等信息。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客熊猫GeekPanda

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值