DHCP协议详解,报文内容,如何查看报文,为什么offer报文会以广播的形式进行发送

这篇具有很好参考价值的文章主要介绍了DHCP协议详解,报文内容,如何查看报文,为什么offer报文会以广播的形式进行发送。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一:什么是DHCP,作用?

  1. dhcp地址分配协议,目前有dhcpv4以及dhcpv6,分别作用于ipv4与ipv6的网络中。

  2. 主要作用:dhcp服务端通过dhcp协议下发ip地址给到客户端(pc,终端),使得pc能有上网的能力。

二:DHCP的交互过程是怎么样的呢?(client使用68udp端口,server使用67udp端口)

1.dhcp交互图

DHCP协议详解,报文内容,如何查看报文,为什么offer报文会以广播的形式进行发送

2.dhcp报文交互过程中,有大部分的报文都是广播报文。

客户端拥有ip前,是可以接收所有的广播报文的,只要该IP报文能够被硬件网卡接收并过滤给IP协议栈。而有些客户端拥有ip前,是不会接收任何单播IP报文的,只会接收广播IP报文即Destination IP = 255.255.255.255。

DHCP为了增强协议的健壮性,规定:如果协议栈在初始化过程中,不接收单播IP报文,若在DHCP Discovery / Request报文的Flags里明确告知服务器,通过设置“BROADCAST flag = 1”,服务器就广播来和客户端通信。若设置“BROADCAST flag = 0”,服务器就使用单播来和客户端通信。

 DHCP协议详解,报文内容,如何查看报文,为什么offer报文会以广播的形式进行发送

总结:在client与server交互过程中,原本单播的报文可采用广播的形式发送以及接收。并不影响dhcp的作用

 三:完整的交互报文过程:

1.客户端----server,客户端发送discover(广播报文)寻找服务器,服务器收到该报文后,自己先确认一个ip(通过icmp去ping这个即将分配给客户端的ip,确保没有其他人使用该ip)

2.server----客户端  ,服务端把确认没有人使用的空闲ip通过offer(可以为单播)报文发送给客户端,客户端收到后,会使用该ip为源发送免费arp报文,作用也是校验ip是否被使用。若发现有ip冲突,则客户端需发送decline报文(可以为单播)给服务器

3.客户端---server,客户端确认需要使用该ip地址,则发送request报文(可为单播)给server,确认要使用该ip。

4.server---客户端,服务端需要回复ACK(可为单播)报文,表示自己同意客户端使用该ip。ACK一般携带服务器分配给客户端的dns以及ip,网关等信息,若此处信息不全,则客户端会向服务端发送inform报文请求获取dns等相关信息。

5,当租期到达50%以及87.5%时,会发送request报文,续租该ip,若服务器同意,回复ACK表示同意续租。若服务器回复NAK(可为单播),则服务器表示拒绝客户端使用该ip,则客户端需要主动向服务端发送release报文(一般为单播),表示自己放弃使用该ip,服务器收到release后会对该ip进行回收

6.若租期到了后,没有收到租住同意请求。则客户端主动释放ip地址,并再次发送discover报文寻找服务器。

四:dhcp报文格式,以及字段

 1.报文不是固定不变的,但是长度都比较接近

DHCP协议详解,报文内容,如何查看报文,为什么offer报文会以广播的形式进行发送

2.开始分析discover报文

DHCP协议详解,报文内容,如何查看报文,为什么offer报文会以广播的形式进行发送

DHCP协议详解,报文内容,如何查看报文,为什么offer报文会以广播的形式进行发送

DHCP协议详解,报文内容,如何查看报文,为什么offer报文会以广播的形式进行发送

2.offer报文

DHCP协议详解,报文内容,如何查看报文,为什么offer报文会以广播的形式进行发送

这里需要注意,dhcp服务器不一定是客户端的网关地址。option1中是掩码,option3中为分配的网关地址option6中为dns地址option50中为请求的地址option51为租期。option55为请求获取的信息

option60用来标识供应商类型无法识别则忽略

这里报文讲解到这里,暂不做其他解释,其他报文大同小异。

五:dhcp snooping 

1.主要作用:防止被dhcp仿冒攻击

DHCP协议详解,报文内容,如何查看报文,为什么offer报文会以广播的形式进行发送

这样一来,只有真实的dhcp服务器能与客户端进行通信,假冒的dhcp服务器数据帧(主动发送的数据帧,除discover与request报文外的)到达交换机时会被丢弃。

 文章来源地址https://www.toymoban.com/news/detail-462857.html

 

 

 

 

到了这里,关于DHCP协议详解,报文内容,如何查看报文,为什么offer报文会以广播的形式进行发送的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 为什么访问同一个网址却返回不同的内容

    哈喽大家好,我是咸鱼。今天给大家分享一个关于 HTTP 有趣的现象 链接:https://csvbase.com/meripaterson/stock-exchanges 我们用浏览器访问这个链接,可以看到下面的网页 但如果我们使用 curl 命令去访问这个链接呢? 可以看到返回的是一个 csv 文件 我们用 wget 命令下载下来看看 可以

    2024年02月03日
    浏览(63)
  • 他趣APP:为什么SEO需要在长篇内容上投资更多

    SEO简单的理解,就是搜索引擎优化,利用SEO优化技术手段把网站优化到搜索引擎的首页,从而达到扩大企业推广宣传的目的。而想要做好网站SEO优化,优质的内容是必不可少的因素之一。 因此作为一名合格的SEO人员,就需要每天给网站定时定量的添加一些优质内容,只有这样

    2024年02月11日
    浏览(73)
  • 为什么DNS协议运行在UDP之上?

    DNS (Domain Name System) 运行在 UDP (User Datagram Protocol) 上主要是出于以下原因: 简单性和效率 :UDP 是无连接的,这意味着与建立和维护 TCP 连接相比,UDP 有更少的开销。当 DNS 查询被发送时,它只需要一个小的请求和应答。使用 UDP 可以简化交互过程并快速获得答案。 低延迟 :由

    2024年02月13日
    浏览(46)
  • 既然有 HTTP 协议,为什么还要有 RPC

    什么是HTTP HTTP 协议( H yper T ext T ransfer P rotocol),又叫做 超文本传输协议 。平时上网在浏览器上敲个网址就能访问网页,这里用到的就是HTTP协议。 什么是RPC RPC ( R emote P rocedure C all),又叫做 远程过程调用 。它并不是一个具体的协议,而是一种 调用方式 。 像之前的单体

    2024年02月09日
    浏览(39)
  • 既然有HTTP协议,为什么还要有RPC?

    我想起了我刚工作的时候,第一次接触RPC协议,当时就很懵, 我HTTP协议用得好好的,为什么还要用RPC协议?   于是就到网上去搜。   不少解释显得非常官方,我相信大家在各种平台上也都看到过,解释了又好像没解释,都在 用一个我们不认识的概念去解释另外一个我们不

    2024年02月09日
    浏览(36)
  • 为什么有了HTTP,还需要WebSocket协议?

    目录 WebSocket是什么? WebSocket怎样建立连接? WebSocket的实际用途 WebSocket 与 HTTP 的选择 HTTP 是基于 TCP协议 的,同一时间里,客户端和服务器只能有一方主动发数据,是 半双工通信 。 通常,打开某个网页,我们每点击一次网页上的某个选项,前端就会发送一次HTTP请求,网站

    2024年02月11日
    浏览(46)
  • 为什么每个有影响力的内容创作者都需要一个Kadence WordPress网站

    创作者经济正在蓬勃发展,内容创作者正在以前所未有的方式建立受众和收入来源。无论您是在 YouTube、Instagram、TikTok 还是任何其他平台上增加受众,充分利用这些受众变得越来越重要。 Adobe 于 2022 年 8 月发布的一项研究表明,过去 2 年全球创作者经济增长了超过 1.65 亿人,

    2024年02月05日
    浏览(62)
  • NFT 为什么会有差异,探索底层的铸造协议

    NFT 的流行,让许多人都对它已经不怎么陌生了。但你真正了解过它么?从表面来看,每个 NFT 之间的性质、特点以及属性和功能等都没有多大的差别,当我们深入了解时才会发现,在不同应用领域的 NFT 之间,也有一些细微的不同。是什么导致了这些差异的存在呢?这个问题

    2024年02月15日
    浏览(42)
  • 为什么要使用零知识证明来开发跨链协议

    在过去的几年当中出现了各种各样的独立公链以及以太坊 Layer 2。 由于在安全性、低成本、快速交易以及开发者和用户社区差异等方面,不同链都具有各自不同的优势,用户在不同链之间切换使用的行为是很常见的。 比起以太坊链,Layer2 以及其他独立公链上的手续费会更加

    2024年01月19日
    浏览(61)
  • 为什么 Linux 内核协议栈会丢弃 SYN 数据包

    最近了解到 SYN 数据包丢弃的问题,网上有一些资料,这里记录分享一下。 tcp - No SYN-ACK Packet from server - Server Fault 信息如下:         My embedded system with LwIP is the client and I have server1 and server2. I connected to server1 and end the connection before connecting to server2. Further breakdown on the f

    2024年02月15日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包