dhcp协议服务器端默认通信端口是,DHCP协议简析

dhcp协议服务器端默认通信端口是,DHCP协议简析不知道看官大人是否有过这样的疑惑?一台计算机,插上网线是不是就可以直接上网了呢?其实没有这么简单,需要配置本机IP地址、子网IP地址、网关IP地址和DNS地址等。配置有两种方式,一种是手动配置,采用静态IP上网方式,可是这种方式怎么能让致力于世界更美好的工程师大大心满意足呢?于是,就有了今天的主角,基于UDP的DHCP(DynamicHostConfigurationProtcol),动态主…

大家好,又见面了,我是你们的朋友全栈君。

不知道看官大人是否有过这样的疑惑?一台计算机,插上网线是不是就可以直接上网了呢?其实没有这么简单,需要配置本机IP地址、子网IP地址、网关IP地址和DNS地址等。配置有两种方式,一种是手动配置,采用静态IP上网方式,可是这种方式怎么能让致力于世界更美好的工程师大大心满意足呢?

于是,就有了今天的主角,基于UDP的DHCP(Dynamic Host Configuration Protcol),动态主机配置协议,其有简单的六个阶段,Discover(发现)、Offer(提供)、Request(请求)、Ack(确认)和Relogin(重新登录)以及Update(更新租约)。看官们,跟着小采风的脚步,一起来学习一下吧!一、发现阶段:客户机寻找DHCP服务器

8bf8c7d04baf?from=timeline&isappinstalled=0

图1:Discover

截图分析:

1)客户端不知道自己的IP,以0.0.0.0标识,DHCP服务器IP地址不清楚,以255.255.255.255广播地址标识;客户机以00:0b:72:01:fc:42来标识MAC地址,以FF:FF:FF:FF:FF:FF广播地址来寻找DHCP;

2)其他主机接收到此包,直接丢弃;DHCP服务器明确自己需要接受此包,(注可以被多台DHCP服务器接收);

3)客户机端口为68,DHCP端口为67,为默认端口号;二、提供阶段:DHCP服务器提供IP地址

截图分析:

8bf8c7d04baf?from=timeline&isappinstalled=0

图2:Offer

1)此包仍在发送中,客户机并不具备192.168.0.10的IP地址;

2)DHCP服务器优先基于ARP协议与之通信,如果失败,直接提供广播方式发送;三、请求阶段:客户机确认DHCP提供的IP地址

若多台DHCP服务器为其提供Offer信息,则客户机只接收第一台DHCP服务器的IP地址,那么第一台DHCP服务器如何知道自己提供的IP地址被接收?其他DHCP服务器如何知道自己提供的IP地址没有被接收呢?

截图分析:

8bf8c7d04baf?from=timeline&isappinstalled=0

图3:Request (1)

1)客户机虽然接收到分配的IP地址,但是没有与DHCP服务端进行确认,并不能开始使用;

2)这是一个与图1相同的广播形式的数据包,目的在于与第一个DHCP服务器进行确认,与其他DHCP服务器进行通信,告知其分配的IP地址并未采用,这是如何实现的呢?截图分析:

8bf8c7d04baf?from=timeline&isappinstalled=0

图4:Request(2)

3)图3的数据包,相应网络范围内的DHCP服务器均会收到,每台DHCP服务器检查DHCP Sever Identifier字段,如果是本机IP,则确认其分配的即Requested IP Address有效;如果不是本机IP,则其分配的IP地址则无效;四、确认阶段:DHCP服务器确认IP字段有效

截图分析:

8bf8c7d04baf?from=timeline&isappinstalled=0

图5:Ack

1)仅图4中确认IP地址有效的DHCP服务器,返回Ack数据包;

2)此数据包包含在本文开头时强调的上网的基本信息,实现动态上网;

故事到这里是否就可以圆满结束了呢?那动态主机配置如何体现其动态过程呢?看官切勿着急,工程师们热爱的是全面的系统,怎么会置之不理呢?五、重新登录与更新租约

1)客户机重新启动后,不再直接发送Discover信息,而是发送Request信息;DHCP服务器会优先尝试,允许其继续使用IP地址,发送Ack数据包;如果该IP不能再使用,返回Nack数据包,客户机重新开始Discover阶段;

2)DHCP客户机启动时和IP租约期限过一半时,DHCP客户机都会自动向DHCP服务器发送更新其IP租约的信息,与1)中过程相同;

DHCP协议简析就到这里啦,本次的内容简单实用,重点在于Request阶段的那个具备广播属性的数据包,作用有二,其一是与第一个DHCP服务器确认其IP地址的有效性,其二是与其他DHCP服务器说明其IP地址并未被采用。

最美人间四月天。不经意间,已是四月的尾巴了。小采风不由得感叹,时光之短暂。四月,对于小采风来说,意味深长。不过,收获一个相约一起跑步的队友,让原本柳絮荡漾的校园里,更平添了许多欢笑。五一小长假,节后见。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142452.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • RabbitMQ默认端口

    4369:epmd,RabbitMQ节点和CLI工具使用的对等发现服务5672、5671:由不带TLS和带TLS的AMQP0-9-1和1.0客户端使用25672:用于节点间和CLI工具通信(Erlang分发服务器端口),并从动态范围分配(默认情况下限制为单个端口,计算为AMQP端口+20000)。除非确实需要这些端口上的外部连接(例如,群集使用联合身份验证或在子网外部的计算机上使用CLI工具),否则这些端口不应公开。有关详细信息,请参见网络指南。35672-35682:由CLI工具..

    2022年4月5日
    160
  • 三极管饱和条件[通俗易懂]

    三极管饱和条件[通俗易懂]三极管饱和条件 0推荐1.在实际工作中,常用Ib*β=V/R作为判断临界饱和的条件。根据Ib*β=V/R算出的Ib值,只是使晶体管进入了初始饱和状态,实际上应该取该值的数倍以上,才能达到真正的饱和;倍数越大,饱和程度就越深。 2.集电极电阻越大越容易饱和;3.饱和区的现象就是:二个PN结均正偏,IC不受IB之

    2022年9月11日
    0
  • vue2.0集成百度UE编辑器,上传图片报错!!!

    vue2.0集成百度UE编辑器,上传图片报错!!!

    2021年10月11日
    67
  • 常用方法在Ubuntu安装pycharm失败的解决方法[通俗易懂]

    常用方法在Ubuntu安装pycharm失败的解决方法[通俗易懂]按常用方法(下载安装包再./pycharm.sh)安装失败,报warn:keymap“visualstudio”notfound,keymap“eclipse”notfound想不通为什么和这些ide有关,查了也没解决最后直接到Ubuntu自带的Ubuntusoftware下搜索pycharm下载,一次成功,不知道为什么这么简单有效的方法大家都不优先推荐。。。…

    2022年9月1日
    0
  • java jvm 参数 -Xms -Xmx -Xmn -Xss 调优

    堆大小设置JVM中最大堆大小有三方面限制: 1.相关操作系统的数据模型(32-bt还是64-bit)限制;2.系统的可用虚拟内存限制;3.系统的可用物理内存限制.在32位系统下,一般限制在1.5G~2G;64为操作系统对内存无特定限制.  机器配置:128G内存  32核CPU典型设置: java-Xmx72g -Xms72-Xmn4g-Xss256m  -Xmx…

    2022年4月6日
    77
  • MySQL查看所有连接的客户端ip

    MySQL查看所有连接的客户端ipMySQL查看所有连接的客户端ip

    2022年4月24日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号