简述dhcp报文(DHCP报文)

      最后更新:2023-04-01 18:14:08 手机定位技术交流文章

      dhcp什么报文的目的ip地址为255255255255?

      255.255.255.255是广播地址主机刚接入网络中是没有IP地址的,所以无法向指定主机发送请求。此时主机会发起DHCP请求,广播目的地址255.255.255.255,源地址0.0.0.0。向DHCP服务器请求IP地址。
      dhcp什么报文的目的ip地址为255255255255?

      DHCP工作过程包括哪四种报文?

      使用DHCP正常获取地址的过程中使用的是以下4种报文: DHCP DiscoverDHCP OfferDHCP Request DHCP Ack
      DHCP工作过程包括哪四种报文?

      简述dhcp的工作原理

      DHCP的全名是“Dynamic Host Configuration Protocol”,即动态主机配置协议。在使用DHCP的网络里,用户的计算机可以从DHCP服务器那里获得上网的参数,几乎不需要做任何手工的配置就可以上网DHCP客户机向DHCP服务器发出请求IP广播信息,然后DHCP 服务器接收到了客户机的请求信息后,回应客户机请求信息,然后客户机接到回应后选择第一个DHCP服务器分配给他的IP,然后服务器确定地址租约
      DHCP协议的简介
      整个过程: 1. DHCP请求IP地址的过程l 发现阶段,即DHCP客户端寻找DHCP服务器的阶段。客户端以广播方式发送DHCPDISCOVER包,只有DHCP服务器才会响应。l 提供阶段,即DHCP服务器提供IP地址的阶段。DHCP服务器接收到客户端的DHCPDISCOVER报文后,从IP地址池中选择一个尚未分配的IP地址分配给客户端,向该客户端发送包含租借的IP地址和其他配置信息的DHCPOFFER包。l 选择阶段,即DHCP客户端选择IP地址的阶段。如果有多台DHCP服务器向该客户端发送DHCPOFFER包,客户端从中随机挑选,然后以广播形式向各DHCP服务器回应DHCPREQUEST包,宣告使用它挑中的DHCP服务器提供的地址,并正式请求该DHCP服务器分配地址。其它所有发送DHCPOFFER包的DHCP服务器接收到该数据包后,将释放已经OFFER(预分配)给客户端的IP地址。如果发送给DHCP客户端的DHCPOFFER包中包含无效的配置参数,客户端会向服务器发送DHCPCLINE包拒绝接受已经分配的配置信息。l 确认阶段,即DHCP服务器确认所提供IP地址的阶段。当DHCP服务器收到DHCP客户端回答的DHCPREQUEST包后,便向客户端发送包含它所提供的IP地址及其他配置信息的DHCPACK确认包。然后,DHCP客户端将接收并使用IP地址及其他TCP/IP配置参数。2. DHCP客户端续租IP地址的过程l DHCP服务器分配给客户端的动态IP地址通常有一定的租借期限,期满后服务器会收回该IP地址。如果DHCP客户端希望继续使用该地址,需要更新IP租约。实际使用中,在IP地址租约期限达到一半时,DHCP客户端会自动向DHCP服务器发送DHCPREQUEST包,以完成IP租约的更新。如果此IP地址有效,则DHCP服务器回应DHCPACK包,通知DHCP客户端已经获得新IP租约。如果DHCP客户端续租地址时发送的DHCPREQUEST包中的IP地址与DHCP服务器当前分配给它的IP地址(仍在租期内)不一致,DHCP服务器将发送DHCPNAK消息给DHCP客户端。3. DHCP客户端释放IP地址的过程 l DHCP客户端已从DHCP服务器获得地址,并在租期内正常使用,如果该DHCP客户端不想再使用该地址,则需主动向DHCP服务器发送DHCPRELEASE包,以释放该地址,同时将其IP地址设为0.0.0.0。
      整个过程: 1. DHCP请求IP地址的过程l 发现阶段,即DHCP客户端寻找DHCP服务器的阶段。客户端以广播方式发送DHCPDISCOVER包,只有DHCP服务器才会响应。l 提供阶段,即DHCP服务器提供IP地址的阶段。DHCP服务器接收到客户端的DHCPDISCOVER报文后,从IP地址池中选择一个尚未分配的IP地址分配给客户端,向该客户端发送包含租借的IP地址和其他配置信息的DHCPOFFER包。l 选择阶段,即DHCP客户端选择IP地址的阶段。如果有多台DHCP服务器向该客户端发送DHCPOFFER包,客户端从中随机挑选,然后以广播形式向各DHCP服务器回应DHCPREQUEST包,宣告使用它挑中的DHCP服务器提供的地址,并正式请求该DHCP服务器分配地址。其它所有发送DHCPOFFER包的DHCP服务器接收到该数据包后,将释放已经OFFER(预分配)给客户端的IP地址。如果发送给DHCP客户端的DHCPOFFER包中包含无效的配置参数,客户端会向服务器发送DHCPCLINE包拒绝接受已经分配的配置信息。l 确认阶段,即DHCP服务器确认所提供IP地址的阶段。当DHCP服务器收到DHCP客户端回答的DHCPREQUEST包后,便向客户端发送包含它所提供的IP地址及其他配置信息的DHCPACK确认包。然后,DHCP客户端将接收并使用IP地址及其他TCP/IP配置参数。2. DHCP客户端续租IP地址的过程l DHCP服务器分配给客户端的动态IP地址通常有一定的租借期限,期满后服务器会收回该IP地址。如果DHCP客户端希望继续使用该地址,需要更新IP租约。实际使用中,在IP地址租约期限达到一半时,DHCP客户端会自动向DHCP服务器发送DHCPREQUEST包,以完成IP租约的更新。如果此IP地址有效,则DHCP服务器回应DHCPACK包,通知DHCP客户端已经获得新IP租约。如果DHCP客户端续租地址时发送的DHCPREQUEST包中的IP地址与DHCP服务器当前分配给它的IP地址(仍在租期内)不一致,DHCP服务器将发送DHCPNAK消息给DHCP客户端。3. DHCP客户端释放IP地址的过程 l DHCP客户端已从DHCP服务器获得地址,并在租期内正常使用,如果该DHCP客户端不想再使用该地址,则需主动向DHCP服务器发送DHCPRELEASE包,以释放该地址,同时将其IP地址设为0.0.0.0。
      整个过程: 1. DHCP请求IP地址的过程l 发现阶段,即DHCP客户端寻找DHCP服务器的阶段。客户端以广播方式发送DHCPDISCOVER包,只有DHCP服务器才会响应。l 提供阶段,即DHCP服务器提供IP地址的阶段。DHCP服务器接收到客户端的DHCPDISCOVER报文后,从IP地址池中选择一个尚未分配的IP地址分配给客户端,向该客户端发送包含租借的IP地址和其他配置信息的DHCPOFFER包。l 选择阶段,即DHCP客户端选择IP地址的阶段。如果有多台DHCP服务器向该客户端发送DHCPOFFER包,客户端从中随机挑选,然后以广播形式向各DHCP服务器回应DHCPREQUEST包,宣告使用它挑中的DHCP服务器提供的地址,并正式请求该DHCP服务器分配地址。其它所有发送DHCPOFFER包的DHCP服务器接收到该数据包后,将释放已经OFFER(预分配)给客户端的IP地址。如果发送给DHCP客户端的DHCPOFFER包中包含无效的配置参数,客户端会向服务器发送DHCPCLINE包拒绝接受已经分配的配置信息。l 确认阶段,即DHCP服务器确认所提供IP地址的阶段。当DHCP服务器收到DHCP客户端回答的DHCPREQUEST包后,便向客户端发送包含它所提供的IP地址及其他配置信息的DHCPACK确认包。然后,DHCP客户端将接收并使用IP地址及其他TCP/IP配置参数。2. DHCP客户端续租IP地址的过程l DHCP服务器分配给客户端的动态IP地址通常有一定的租借期限,期满后服务器会收回该IP地址。如果DHCP客户端希望继续使用该地址,需要更新IP租约。实际使用中,在IP地址租约期限达到一半时,DHCP客户端会自动向DHCP服务器发送DHCPREQUEST包,以完成IP租约的更新。如果此IP地址有效,则DHCP服务器回应DHCPACK包,通知DHCP客户端已经获得新IP租约。如果DHCP客户端续租地址时发送的DHCPREQUEST包中的IP地址与DHCP服务器当前分配给它的IP地址(仍在租期内)不一致,DHCP服务器将发送DHCPNAK消息给DHCP客户端。3. DHCP客户端释放IP地址的过程 l DHCP客户端已从DHCP服务器获得地址,并在租期内正常使用,如果该DHCP客户端不想再使用该地址,则需主动向DHCP服务器发送DHCPRELEASE包,以释放该地址,同时将其IP地址设为0.0.0.0。
      简述dhcp的工作原理

      DHCP工作过程包括哪四种报文

      使用DHCP正常获取地址的过程中使用的是以下4种报文:(1)客户端广播DHCP发现(DHCP Discovery)(2)服务器回应DHCP响应(DHCP Offer)(3)客户端广播DHCP请求(DHCP Request)(4)服务器回应DHCP确认(DHCP ACK)其实还有其他类型的报文,客户端发现分配的IP地址已经被占用时,发送DHCP Decline,通知服务器IP地址已被占用,要求重新分配。客户端可以主动释放IP地址,DHCP Release。如果客户端移动到了另一个IP地址不同的网络,并向服务器申请续租时,服务器发现客户端IP地址错误,发送DHCP NAK通知客户端重新申请IP地址。延展阅读:【DHCP简介】DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段,在RFC 2131中有详细的描述。DHCP有3个端口,其中UDP67和UDP68为正常的DHCP服务端口,分别作为DHCP Server和DHCP Client的服务端口;546号端口用于DHCPv6 Client,而不用于DHCPv4,是为DHCP failover服务,这是需要特别开启的服务,DHCP failover是用来做“双机热备”的。【功能概述】DHCP协议采用客户端/服务器模型,主机地址的动态分配任务由网络主机驱动。当DHCP服务器接收到来自网络主机申请地址的信息时,才会向网络主机发送相关的地址配置等信息,以实现网络主机地址信息的动态配置。DHCP具有以下功能:1、 保证任何IP地址在同一时刻只能由一台DHCP客户机所使用。2、DHCP应当可以给用户分配永久固定的IP地址。3、DHCP应当可以同用其他方法获得IP地址的主机共存(如手工配置IP地址的主机)。4、DHCP服务器应当向现有的BOOTP客户端提供服务。
      DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。DHCP协议采用客户端/服务器模型,主机地址的动态分配任务由网络主机驱动。当DHCP服务器接收到来自网络主机申请地址的信息时,才会向网络主机发送相关的地址配置等信息,以实现网络主机地址信息的动态配置。DHCP具有以下功能:1. 保证任何IP地址在同一时刻只能由一台DHCP客户机所使用。2. DHCP应当可以给用户分配永久固定的IP地址。3. DHCP应当可以同用其他方法获得IP地址的主机共存(如手工配置IP地址的主机)。4. DHCP服务器应当向现有的BOOTP客户端提供服务。DHCP四种报文数据包一、discover二、offer三、request四、ack
      客户端广播DHCP发现(DHCP Discovery) 服务器回应DHCP响应(DHCP Offer)客户端广播DHCP请求(DHCP Request)服务器回应DHCP确认(DHCP ACK)其实还有其他类型的报文,客户端发现分配的IP地址已经被占用时,发送DHCP Decline,通知服务器IP地址已被占用,要求重新分配。客户端可以主动释放IP地址,DHCP Release。 如果客户端移动到了另一个IP地址不同的网络,并向服务器申请续租时,服务器发现客户端IP地址错误,发送DHCP NAK通知客户端重新申请IP地址。
      使用DHCP正常获取地址的过程中使用的是以下4种报文: DHCP DiscoverDHCP OfferDHCP Request DHCP Ack
      DHCP工作过程包括哪四种报文

      [协议]DHCP 协议原理与分析(一)

      Chapter 01 : DHCP(Dynamic Host Configuration Protocol)协议的作用在TCP/IP网络中向Internet主机提供配置信息。它以Bootstrap Protocol(BOOTP)协议为基础发展起来的,并增加了重新使用的网络地址的自动分配能力和附加配置选项(Configuration Options),同时DHCP保留了BOOTP的Relay代理功能。Chapter 02: 协议简介DHCP(Dynamic Host Configuration Protocol)协议是在Bootstrap Protocol (BOOTP)基础上提出的,其作用是在TCP/IP网络中向Internet主机提供配置信息。DHCP采用Client / Server模式,由客户端向服务器提出配置申请(包括分配的IP地址、子网掩码、缺省网关等参数),服务器根据策略返回相应配置信息。DHCP报文采用UDP作为传输层协议进行封装。DHCP 2个部分:1、 DHCP Relay功能,把DHCP Server指定的配置信息传输给Host;2、 Server功能,分配网络地址和其他配置参数给主机。DHCP 分配IP 方式:1、 Automatic Allocation,为首次连接到网络的某些主机分配固定IP地址,该地址将长期由该主机使用。2、 Dynamic Allocation,DHCP Server为Host指定一个IP地址,同时为此地址规定了一个租用期限,如果租用时间到期,Client必须重新申请地址,这是Client申请地址最常用的方法;3、 Manual Allocation,网络管理员为某些少数特定的Host指定固定IP地址。DHCP指定地址的优先级分类:1、 DHCP Server地址池中与Client的MAC地址静态绑定的IP地址。2、 Client曾经使用过的地址。当Client端再次申请地址时,Client发送DHCP Discover报文,其地址选项中会包含上次使用的IP地址,除非此IP地址被分配出去或此地址进行了其他不可用操作(例如:此IP地址被Forbidden等),否则Client端将再次使用此地址。3、 “requested IP address”选项中Client自己指定的IP地址,如果这个地址是地址池里的有效地址,而且没有被分配出去,那么将此地址分配给Client使用。4、 顺序查找DHCP地址池中可供分配的IP地址,最先找到的可用IP地址,优先级高。Chapter 03: DHCP 报文格式报文每个字段的含义“options”域是个可变长度域,DHCP Client必须能够接收包含有312bytes长度的“options”域的DHCP报文,也就是说DHCP Client必须能够接受至少576bytes长度的IP报文。DHCP Client可以通过“Maximum DHCP Message Size”Option来协商DHCP报文的最大长度。flag 格式:B : 最左边的bit,Broadcast flag;MBZ : 剩余的bits为保留位,留作将来使用Chapter 04 : DHCP 报文构造与发送DHCP 使用 UDP 协议的端口号DHCP报文采用UDP作为传输层协议进行封装。Client到Server的DHCP报文发送到DHCP Server的端口号是67,Server到Client的报文发送到DHCP Client的端口号是68DHCP 的选项DHCP报文中需要包含一系列的选项,即,选项列表(Options Lists)。选项列表是以4个字节的魔术字开始,后面跟随一系列的选项,最后以“end”选项结束。Client IDDHCP定义了一个用来标识Client的选项,即,“Client Identifier”Option。Client必须选择一个能够在自己所在的物理网络中唯一标识自己的值来填充Client ID选项的值,一旦该值被初始化,在随后的报文交互中,该值不能改变。推荐使用Client的MAC地址作为Client ID值。Server IDDHCP定义了一个用来标识Server的选项,即,“Server Identifier”Option。Server选择自己的IP地址作为Server ID。如果一个DHCP Server有多个IP地址,它可以任意选择一个作为Server ID,但是,推荐使用Client可达的IP地址。例如,当Server与Client位于同一网段时,最好选择该网段的地址作为Server ID。如果Client向Server发送单播报文,目的地址就使用Server ID值。Client 端发送报文的源 IP 地址在Client端没有获取到IP地址之前,其发送报文的源IP(指IP首部中的源IP字段)必须填0。广播标志Flags,第1bit用作广播标志,后面15bits保留,必须置0。在软件没有对自己IP协议的IP地址进行有效配置时,Client可能无法处理收到的单播报文,这时,Client在发送Discover和Request报文时,必须将广播标志位置1, Server或RelayAgent收到这样的报文,必须回复广播报文给Client。如果Client可以处理广播报文,它就将广播标志位置0,Server或Relay Agent收到这样的Discover和Request报文,可以使用单播报文进行回复,其目的IP地址为Server分配给Client的IP地址,即,报文中yiaddr (You IP Address)字段的值。当然,Server或Relay Agent也可以以广播的方式回复。Server 端对 ciaddr 和 giaddr 字段的处理ciaddr,Client IP Address,只有Client是BOUND、RENEW、REBINDING状态,并且能响应ARP requests时,才能被填充;giaddr,Relay Agent IP Adress;1、 如果Server收到的报文giaddr字段不为0(即,说明该报文是经过Relay Agent进行转发的报文),那么它将以单播的方式进行回复,其目的地址为giaddr字段的值;2、 如果Server收到的报文giaddr字段为0,ciaddr字段不为0(即,说明Client已经有效配置了自己的IP地址),那么它将以单播的方式进行回复,其目的地址为ciaddr字段的值;3、 如果Server收到的报文giaddr字段为0,ciaddr字段为0,广播标志位不为0(即,说明Client没有配置自己的IP地址,并且,此时无法处理单播报文),那么它将以广播的方式进行回复;4、 如果Server收到的报文giaddr字段为0,ciaddr字段为0,广播标志位为0(即,说明Client虽然没有配置自己的IP地址,但是,此时可以处理单播报文),那么它将以单播的方式进行回复(推荐以单播方式回复,当然,也可以以广播方式回复)。Transaction IDXid(Transaction ID),由Client选择的一个随机数,用于Server和Client之间交互报文的匹配。Client必须采用相应的算法来保证其选取的xid值与其他Client选取的xid值尽量不同,即,将相同的概率降到最低。选项过载在DHCP报文头中,sname和file字段都占用较多的字节,如果一个报文中的这两个字段有一个或两个不含信息,空间就浪费了。为此,DHCP可以将选项内容扩充到sname和file字段中。DHCP定义了一个Overload Option(过载选项),如果出现Overload Option,就告诉接收者sname和file字段失去了原来的含义,而表示Option报文类型DHCP在Message Type Option中,定义了报文类型,Message Type Option的格式如下:Option Code:长度为1个字节,其值为53,表示Message Type Option;Option Length:长度为1字节,其值为1,表示Option Value字段长度为1个字节;Option Value:长度为1个字节,其值标识了DHCP的报文类型(Message Type)。在RFC2131中定义了如下8种DHCP报文:Type 描述1 DHCPDISCOVER2 DHCPOFFER3 DHCPREQUEST4 DHCPDECLINE5 DHCPACK6 DHCPNAK7 DHCPRELEASE8 DHCPINFORMDHCP Server可以收到Client的报文为:DHCPDISCOVER、DHCPREQUEST、DHCPDECLINE、DHCPRELEASE和DHCPINFORM;DHCP Client可以收到Server的报文为:DHCPOFFER、DHCPACK和DHCPNAK。DHCPDISCOVER当Server收到来自Client的DHCPDISCOVER报文后,Server会为此Client选择一个网络地址,如果没有可用地址,那么Server会向系统管理员报告;如果有可用地址,那么Server会选择一个可用地址给Client,选择机制为:1、 Server地址池中与Client的MAC地址静态绑定的IP地址;2、 Client先前使用的已经过期或释放掉的地址,如果此地址在地址池里是可用地址,并且没有被分配出去,那么将此地址分配给Client使用;3、 “requested IP address”选项中Client自己指定的IP地址,如果这个地址是地址池里的有效地址,而且没有被分配出去,那么将此地址分配给Client使用;4、 地址池里的有效的未分配出去的新地址,根据一定的选择方法分配给Client使用。租期选择机制:1、 如果Client在DHCPDISCOVER中请求了指定租期,这时不管Client是否已经被指定了网络地址,Server都会指定为请求租期;2、 如果Client没有请求指定租约期限,而Client已经被指定了网络地址,那么Server将把先前此地址使用的租期指定给该地址;3、 如果Client没有请求指定租约期限,而Client也没有被指定网络地址,那么Server将指定本地默认租期。DHCPREQUESTDHCPREQUEST是Client响应来自Server的DHCPOFFER报文、检验先前分配的网络地址或扩展已存在的租约的。如果DHCPREQUEST报文中包含“server identifier”选项,那么这个报文是用来响应DHCPOFFER的,否则,这个报文是用来请求检验和扩展已存在的租约的。如果在DHCPREQUEST中Client使用了“client identifier”选项,那么在以后的所有后续报文中都要使用相同的“client identifier”;如果在DHCPDISCOVER报文中包含需求参数列表,那么在后续的报文中都要包含这个参数列表。DHCPACK中的配置参数不应该和DHCPOFFER报文产生冲突,而Client使用的配置参数就是DHCPACK报文中的配置参数。DHCPDECLINE如果Client发现Server建议使用的网络地址已被使用,那么Client将向Server发送DHCPDECLINE报文,Server必须把这个网络地址标记为不可用,并且应该通报本地系统管理员可能的配置问题。Client检查Server分配的地址是否已经被使用的方法:Client收到Server的ACK报文,在配置自己的IP地址和其他参数之前,发送免费ARP进行检查该IP地址是否在网络中被使用。DHCPRELEASE如果Client不再需要使用它的指定地址,那么Client将向Server发送DHCPRELEASE报文,当收到DHCPRELEASE后,Server会标记此网络地址不再被分配,但Server应该保留Client的初始化参数记录,以备以后响应Client对此地址可能的重使用。DHCPINFORM当Client已经配置了自己的IP地址,但又要配置其他参数时,它将向Server发送DHCPINFORM报文,请求其他参数配置。当收到DHCPINFORM报文,Server直接对报文“ciaddr”域中给出的地址发送DHCPACK报文。Server不必发送租期超出时间,也不应该填充“yiaddr”域。DHCPOFFERServer收到DHCPDISCOVER报文,使用DHCPOFFER报文进行回应。DHCPOFFER报文应该包括“yiaddr”域的可用网络地址和其它DHCP options的配置参数。当分配新的地址时,Server应该确认提供的网络地址没有被其他Client使用(Server可以通过发送指向被分配地址的ICMP echo request来确认被分配地址没有被使用)。DHCPACK&DHCPNAK如果某个Server提供的配置参数是可以接受的,那么Client记录下Server的地址,并且把此地址写入DHCPREQUEST的“server identifier”域,并以广播形式向外发送,如果收到DHCPREQUEST报文里面的配置参数是有效的,Server会响应一个DHCPACK报文。一旦DHCPACK被收到,Client将会被初始化并且进入BOUND状态。如果DHCPREQUEST报文里面的配置参数是无效的,那么Server会响应一个 DHCPNAK报文。
      [协议]DHCP 协议原理与分析(一)

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/63550.html

          热门文章

          文章分类