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地址并未被采用。

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • printwriter用法_class类反射方法

    printwriter用法_class类反射方法1.java.io.PrintWriter是java中很常见的一个类,该类可用来创建一个文件并向文本文件写入数据。可以理解为java中的文件输出,java中的文件输入则是java.io.File。2.常用的构造方法:注:java.io.PrintWriter的构造方法并不局限于一下范例,java.io.PrintWriter构造方法的参数也可以是字节流。因为本篇文章主要讲关于文件的操作,所以参数是…

  • Java正则表达式的语法与示例

    Java正则表达式的语法与示例Java正则表达式的语法与示例正则表达式是什么?用我的理解就是一个表达式。用来匹配,替换,判断字符串,之前业务就出现过判断返回值是否为邮箱。以下内容来自于http://baike.xsoftlab.net/view/207.html#3java正则表达式正则表达式语法java正则表达式语法java正则表达式概要:Java正则表达式的语法与示例

  • 的基本原理的面向对象的——–单个程序员必须查看

    的基本原理的面向对象的——–单个程序员必须查看

  • datagroup激活码[最新免费获取]

    (datagroup激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html…

  • Python系列文章索引

    >>>importthisTheZenofPython,byTimPetersBeautifulisbetterthanugly.Explicitis

    2021年12月30日
  • vue 集成高德地图进行批量标注和信息窗体展示

    vue 集成高德地图进行批量标注和信息窗体展示                                   vue集成高德地图进行批量标注和信息窗体展示         高德地图进行地理位置的标注和信息窗体展示是我们很常用的一个功能,其实高德api里面已经清楚的说明怎么用了,但是自己总结一下记录在自己的笔记里,也是有些许好处的。高德api样列展示地址是:https://lbs.amap.com/api/javascript…

发表回复

您的电子邮箱地址不会被公开。

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