DHCP协议简析

作者: 采风JS | 来源:发表于2017-04-27 11:05 被阅读385次

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

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

一、发现阶段:客户机寻找DHCP服务器

图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地址

截图分析:

图2:Offer

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

2)DHCP服务器优先基于ARP协议与之通信,如果失败,直接提供广播方式发送;

三、请求阶段:客户机确认DHCP提供的IP地址

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

截图分析:

图3:Request (1)

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

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

图4:Request(2)

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

四、确认阶段:DHCP服务器确认IP字段有效

截图分析:

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

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

相关文章

  • DHCP协议简析

    不知道看官大人是否有过这样的疑惑?一台计算机,插上网线是不是就可以直接上网了呢?其实没有这么简单,需要配置本机IP...

  • DHCP原理与实现

    DHCP,DNS和HTTP是3种常见的高层协议。 一、动态主机配置协议DHCP 1、DHCP简介 DHCP(Dyn...

  • DHCP工作原理简析

    引言 DHCP是网络体系结构中应用层的一个重要协议,它可以帮助我们对要连接到互联网的计算机进行IP地址等信息的配置...

  • DHCP

    DHCP是Bootstrap协议的一种扩展,基于UDP协议。 DHCP有3个端口: DHCP Server的端口号...

  • linux下DHCP服务原理总结

    DHCP(全称Dynamic host configuration protocol):动态主机配置协议 DHCP...

  • DHCP协议

    DHCP协议原理 DHCP动态主机配置协议TCP/IP协议想要运行正常的话,网络中的主机和路由器不可避免地需要配置...

  • DHCP协议

    前面介绍了IPv4地址和IPv6地址,但是一个主机是如何获取IP地址的呢?本文就介绍一个中动态获取IP地址的协议—...

  • DHCP协议

    概念 (动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动...

  • 💛TWO、DHCP安装和配置

    ?DHCP安装和配置 DHCP动态主机设置协议,是一个局域网的网络协议,使用UDP协议工作,可以快速分配IP...

  • 【网络】DHCP协议浅析

    动态主机配置协议(DHCP)是一个应用层协议,传输层使用了UDP协议。 交互过程 1. 发现阶段 由于不知DHCP...

网友评论

本文标题:DHCP协议简析

本文链接:https://www.haomeiwen.com/subject/hikmzttx.html