dhcp报文类型(DHCP报文类型)

      最后更新:2023-12-29 11:04

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

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

      标题+dhcp三种分配方式的特点是什么

      摘要假设多部计算机在同一个网域当中,也就是说,DHCP Server 与他的 Clients 都在同一个网段之内,可以透过软件广播的方式来达到相互沟通的状态。那么Client 藉由 DHCP Server 得到 IP 的程序为:①若 Client 端计算机设定使用 DHCP 协议以取得网络参数时,则Client 端计算机在开机的时候,或者是重新启动网络卡的时候,会自动的发出 DHCPClient 的需求给网域内的每部计算机:这个时候,由于发出的讯息希望每部计算机都可以接受,所以该讯息除了网络卡的硬件地址(MAC)无法改变外,需要将该讯息的来源软件地址设定为0.0.0.0 ,而目的地址则为 255.255.255.255 ( Linux 会自动设定,无须考虑这个问题!)。网域内的其它没有提供DHCP 服务的计算机,收到这个封包之后会自动的将该封包丢弃而不回应;②DHCP 主机响应讯息:如果是 DHCP 主机收到这个Client 的 DHCP 需求时,那么 DHCP 主机首先会针对该次需求的讯息所携带的 MAC与 DHCP 主机本身的设定值去比对,如果 DHCP 主机的设定有针对该 MAC 做静态IP (每次都给予一个固定的 IP )的提供时,则提供 Client 端相关的固定 IP 与相关的网络参数;而如果该讯息的MAC 并不在 DHCP 主机的设定之内时,则 DHCP 主机会选取目前网域内没有使用的IP (这个 IP 与设定值有关) 来发放给 client 端使用!此外,需要特别留意的是,在DHCP 主机发放给 Client 端的讯息当中,会附带一个『租约期限』的讯息,以告诉Client 端,IP 可以使用的期限有多长!③Client 端接受来自 DHCP 主机的网络参数,并设定 Client自己的网络环境:当 Client 端接受响应的讯息之后,首先会以 ARP 封包在网域内发出讯息,以确定来自DHCP 主机发放的 IP 并没有被占用!如果该 IP 已经被占用了,那么 Client 对于这次的DHCP 信息将不接受,而将再次向网域内发出 DHCP 的需求广播封包;若该 IP 没有被占用,则client 可以接受 DHCP 主机所给的网络的参数,那么这些参数将会被使用于 client端的网络设定当中,同时, Client 端也会对 DHCP 主机发出确
      标题+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 协议原理与分析(一)

      dhcp是什么意思

      DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址、子网掩码和DNS地址。DHCP报文是承载于UDP上的协议报文,采用67(DHCP服务器)和68(DHCP客户端)两个端口号。DHCP协议的特点DHCP协议采用客户端或服务器模型,主机地址的动态分配任务由网络主机驱动。当DHCP服务器接收到来自网络主机申请地址的信息时,才会向网络主机发送相关的地址配置等信息,以实现网络主机地址信息的动态配置。DHCP具有以下功能,1,保证任何IP地址在同一时刻只能由一台DHCP客户机所使用。2,DHCP应当可以给用户分配永久固定的IP地址。3,DHCP应当可以同用其他方法获得IP地址的主机共存。4,DHCP服务器应当向现有的BOOTP客户端提供服务。
      dhcp是什么意思

      DHCP协议

      DHCP动态主机配置协议TCP/IP协议想要运行正常的话,网络中的主机和路由器不可避免地需要配置一些信息(如接口的IP地址等)。有了这些配置信息主机/路由器才能提供/使用特定的网络服务。主机信息的必要元素有:IP地址、子网掩码、DNS服务器IP地址TCP/IP协议配置主机信息主要有三种方法:DHCP协议由来DHCP有Bootp协议发展而来。Bootp协议提供了有限的主机信息配置,且主机信息已经配置就很难被修改。DHCP提供 几乎所有的主机信息的配置,且引入了租约等概念,使得主机信息能够动态发生变化。 DHCP向后兼容Bootp。DHCP基于UDP/IP传输。DHCP服务器使用端口号67,DHCP 客户端使用端口号68.DHCP 主要分为两部分: 地址的管理 和 配置信息的传递DHCP协议数据包格式学习DHCP协议不能单纯学习协议本身,还必须连带了解它的封包结构,之所以这么说,是因为DHCP是一个特殊的"服务发现"类型的协议,它用于客户端"获取某种资源",所以它的封包格式具有一定的特殊性由于DHCP协议是初始化协议,更简单的说,就是让终端获取IP地址的协议,既然终端连IP地址都没有,何以能够发出IP报文呢?SERVER给CLIENT回送的报文该怎么封装呢?带着这些疑问,继续学习为了解决这个问题,DHCP报文的封装采取了如下措施:DHCP报文类型DHCP共有八种报文,不同报文之间的区别除了DHCP数据包本身之外,在封包上(UDP头,IP头、链路层头)也有一些差别DHCP Client发现阶段:即DHCP客户端寻找DHCP服务端的过程,对应于客户端发送DHCP Discovery,因为DHCP Server对应于DHCP客户端是未知的,所以DHCP 客户端发出的DHCP Discovery报文是广播包,源地址为0.0.0.0目的地址为255.255.255.255。网络上的所有支持TCP/IP的主机都会收到该DHCP Discovery报文,但是只有DHCP Server会响应该报文。DHCP Server提供阶段,即为DHCP Server响应DHCP Discovery所发的DHCP Offer阶段,即DHCP服务器提供IP地址的阶段。在网络中接收到DHCPdiscover发现信息的DHCP服务器都会做出响应,它从尚未出租的IP地址中挑选一个分配给DHCP客户机,向DHCP客户机发送一个包含出租的IP地址和其他设置的DHCPoffer提供信息即DHCP客户机选择某台DHCP服务器提供的IP地址的阶段。如果有多台DHCP服务器向DHCP客户机发来的DHCPoffer提供信息,则DHCP客户机只接受第一个收到的DHCPoffer提供信息,然后它就以广播方式回答一个DHCPrequest请求信息,该信息中包含向它所选定的DHCP服务器请求IP地址的内容。之所以要以广播方式回答,是为了通知所有的DHCP服务器,他将选择某台DHCP服务器所提供的IP地址即DHCP服务器确认所提供的IP地址的阶段。当DHCP服务器收到DHCP客户机回答的DHCPrequest请求信息之后,它便向DHCP客户机发送一个包含它所提供的IP地址和其他设置的DHCPack确认信息,告诉DHCP客户机可以使用它所提供的IP地址。然后DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除DHCP客户机选中的服务器外,其他的DHCP服务器都将收回曾提供的IP地址当DHCP Client重新登录后,就不需要再发送DHCP discover发现信息了,而是直接发送包含前一次所分配的IP地址的DHCP request请求信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCP ack确认信息。如果此IP地址已无法再分配给原来的DHCP客户机使用时(比如此IP地址已分配给其它DHCP客户机使用),则DHCP服务器给DHCP客户机回答一个DHCP nack否认信息。当原来的DHCP客户机收到此DHCP nack否认信息后,它就必须重新发送DHCP discover发现信息来请求新的IP地址。DHCP获取到的IP地址都有一个租约,租约过期后,DHCP Server将回收该IP地址,所以如果DHCP Client如果想继续使用该IP地址,则必须更新租约。更新的方式就是,当当前租约期限过了一半后,DHCP Client都会发送DHCP Renew报文来续约租期。
      DHCP协议

      本文由 在线网速测试 整理编辑,转载请注明出处。

          热门文章

          文章分类