当前位置:网站首页>DHCP路由器工作原理

DHCP路由器工作原理

2022-07-07 02:39:00 旺仔Sec

DHCP-路由器

在 TCP/lP 网络中,每台计算机要想进行通信,存取网络上的资源,都必须配置 TCP/IP 参数,一些主要的 TCP/IP 参数如 lP 地址、子网掩码、默认网关、DNS 服务器等是必不可少的。配置这些参数有两种方法:

手工配置

自动分配(自动向 DHCP 服务器获得 IP 地址)

手动DHCP分配:管理员为客户端指定预分配的 IP 地址,DHCP 只是将该 IP 地址传达给设备。

自动DCHP分配:DHCP 从可用地址池中选择静态 IP 地址,自动将它永久性地分配给设备。不存在租期问题,地址是永久性地分配给设备。

动态DHCP分配:DHCP 自动动态地从地址池中分配或出租 IP 地址,使用期限为服务器选择的一段有限时间,或者直到客户端告知 DHCP 服务器其不再需要该地址为止。

手工配置 TCP/IP 参数是一些网络管理员习惯使用的方法。通常,网络管理员需要创建一 张详细的配置清单,并将其带在身上或存放在计算机上,以便于随时查阅并配置 IP 地址、子网掩码以及默认网关和 DNS 服务器的 IP 地址。这种方法看似简单可行,但却相当费时且容易出错。

自动分配 TCP/IP 参数可以避免因手工配置带来的如工作量大、费时、易出错、地址易冲突等诸多问题,只需部署一台提供自动分配 TCP/IP 参数的服务器,其他计算机则无需配置或进行极为简单的配置就可以上网。我们把这种服务器称为 DHCP 服务器,动态获得 IP 地址的 计算机就是 DHCP 客户端。

DHCP 全称是 Dynamic  Host Configuration Protocol(动态主机配置协议),是由 IETF (Internet Engineering Task Force,Internet 工程任务组)设计开发的,专门用于为 TCP/IP 网络 中的计算机自动分配 IP 地址,并完成 TCP/IP 参数(包括 IP 地址、子网掩码、默认网关以及 DNS 服务器等)配置的协议。 DHCP 服务器能够从预先设置的 IP 地址池中自动给主机分配 IP 地址, 它不仅能够解决 IP 地址冲突的问题,也能及时回收 IP 地址以提高 IP 地址的利用率。

何时使用 DHCP 服务 在实际工作中,通常在下列情况下需要采用 DHCP 服务器来自动分配 TCP/IP 参数:

(1)网络的规模较大,网络中需要分配 IP 地址的主机较多,特别是要在网络中增加和删 除网络主机或者要重新配置网络时, 手工配置的工作量很大, 而且常常会因为用户不遵守规则 而出现错误,导致 IP 地址的冲突等,这时可以采用 DHCP 服务。

(2)网络中的主机多,而 IP 地址不够用,这时也可以使用 DHCP 服务器来缓解这一问题。例如某个网络上有 260 台计算机,采用静态 IP 地址时,每台计算机都需要预留一个 IP 地 址,即共需要 260 个 IP 地址,但可用的 IP 地址只有 254 个,若采用手工配置,永远有 6 台计 算机无法接入网络,然而实际工作中,这 260 台计算机并不可能同时开机,使用 DHCP 恰好 可以调节 IP 地址的使用。但这种情况对 ISP(Internet Service Provider,互联网服务供应商) 来说是一个十分严重的问题,如果 ISP 有 100000 个用户,是否需要 100000 个 IP 地址?因此 解决这个问题的方法就是使用 DHCP 服务。我们利用拨号上网实际上就是从 ISP 那里动态获 得了一个公有的 IP 地址。

(3)一些主机(例如采用无线或有线技术接入的笔记本电脑或 PDA)在不同的子网中移动时,可以通过 DHCP 在移动到某一个子网时自动获得该子网的 IP 地址,无需做任何额外的配置,从而满足了移动用户的需求。报告厅、餐厅、宾馆等移动用户流动较大的公共场所通常 采用 DHCP 服务器分配 IP 地址。

DHCP 以客户端/服务器模式工作,像任何其它客户端/服务器关系一样运作。当一台 PC 连接到 DHCP 服务器时,服务器分配或出租一个 IP 地址给该 PC。然后 PC 使用租借的 IP 地址连接到网络,直到租期结束。主机必须定期联系 DHCP 服务器以续展租期。这种租用机制可以确保主机在移走或关闭时不会继续占有它们不再需要的地址。DHCP 服务器将把这些地址归还给地址池,根据需要重新分配。

BOOTP DHCP

Bootstrap 协议 (BOOTP) 定义于 RFC 951,是 DHCP 的前身,与 DHCP 在运行上有一些相似之处。BOOTP 可供无盘工作站下载地址和启动配置。无盘工作站没有硬盘和操作系统。例如,超市里的许多自动收银机就是无盘工作站。DHCP 和 BOOTP 均是基于客户端/服务器模式,并使用 UDP 端口 67 与 68。这些端口现在仍称为 BOOTP 端口。加入网络所需的四个基本 IP 参数:

IP 地址、网关地址、子网掩码、DNS 服务器地址

DHCP 与 BOOTP 之间主要有三个区别:

首要区别是,使用 BOOTP 时,必须在服务器数据库中预先手动配置主机信息,而 DHCP 则允许将网络地址和配置动态分配给新连接的主机。当 BOOTP 客户端请求 IP 地址时,BOOTP 服务器搜索预定义表中与客户端 MAC 地址相匹配的条目。如果条目存在,则该条目相应的 IP 地址将返回给客户端。也就是说,BOOTP 服务器中必须预先配置了 MAC 地址与 IP 地址之间的绑定。

DHCP 允许通过租用机制恢复和重新分配网络地址。具体来说,通过 DHCP 机制分配给客户端的 IP 地址在有限的租用期限内有效。租期届满后,可以将此 IP 地址重新分配给另一客户端;而在租用期限内,客户端如果移往另一个子网,可以再一次得到 IP 地址分配。客户端也可以续租并保持同一 IP 地址。BOOTP 不使用租用机制。BOOTP 已为客户端保留 IP 地址,不能将它分配给任何其它客户端。

BOOTP 向主机提供的信息量有限。DHCP 提供附加 IP 配置参数,例如 WINS 和域名等。

 DHCP 服务的工作过程

1DHCP工作站第一次登录网络

当 DHCP 客户机第一次登录网络时,主要通过 4 个阶段与 DHCP 服务器建立联系,如图 所示。

——DHCP DISCOVER(发现)IP租约选择——

——DHCP OFFER(提供)IP租约提供——

——DHCP REQUEST(请求)IP租约选择——

——DHCP ACK(确认)IP租约确认——

 

1——DHCP DISCOVER(发现)IP租约选择——

当 DHCP 客户机第一次启动时由于客户机此时没有 IP 地址,也不知道服务器的 IP 地址,由于主机在启动时不具备有效的 IP 信息,因此它使用第 2 层和第 3 层广播地址与服务器通信。 因此客户机在当前的子网中以 0.0.0.0 作为源地址,以 255.255.255.255 作为目标地址向 DHCP服务器广播 DHCP Discover 报文,申请一个 IP 地址。DHCP Discover 报文中还包括客户机的 MAC 地址和主机名。

2——DHCP OFFER(提供)IP租约提供——

DHCP 服务器提供 IP 地址 DHCP 服务器收 DHCP Discover 报文后, 将从地址池中为它提供一个尚未被分配出去的 IP 地址,并把提供的 IP 地址暂时标记为“不可用” 。服务器单播 DHCP Offer 报文送回给客户机,DHCP Offer 报文中包含的信息如图所示。如果网络中包含有不止一个 DHCP 服务器,则客户机可能收到好几个 DHCP Offer 报文,客户机通常只承认第一个 DHCP Offer。

当 DHCP 服务器收到 DHCDISCOVER 消息时,它会找到一个可供租用的 IP 地址,创建一个包含请求方主机 MAC 地址和所出租的 IP 地址的 ARP 条目,并使用 DHCPOFFER 消息传送绑定提供报文。DHCPOFFER 消息作为单播发送,服务器的第 2 层 MAC 地址为源地址,客户端的第 2 层地址为目的地址。

某些情况下,来自服务器的 DHCP 消息交换可能是广播,而不是单播。

DHCP 请求和提供 DHCP 客户机将等待 1 秒,若 DHCP 客户机未能得到 DHCP 服务器提供的地址,将分别 以 2 秒、4 秒、8 秒和 16 秒的时间间隔重新广播四次,若还没有得到 DHCP 服务器的响应, 则 DHCP 客户机将以 0~1000 毫秒内的随机时间间隔再次发出广播请求租用 IP 地址。 如果 DHCP 客户机经过上述努力仍未能从任何 DHCP 服务器端获得 IP 地址, 则可能发生 以下两种情况之一: 客户机将使用保留的 B 类地址 169.254.0.1~169.254.255.254 范围中的一个。 ① 如果客户端使用的是 Windows  2000 及后续版本,并且 Windows 操作系统将自动设置 IP 地址的功能处于激活状态, 那么客户端将自动从 Microsoft 保留 IP 地址段中选择一个自动私有地址(Automatic Private IP Address,APIPA)作为自己的 IP 地址。自动私有 IP 地址的范围是 169.254.0.1~169.254.255.254。使用自动私有 IP 地址,在 DHCP 服务器不可用时,DHCP 客户端之间仍然可以利用私有 IP 地址进行通信。所以,即使在网络中没有 DHCP 服务器,计算机之间仍能通过网上邻居发现彼此。 ② 如果使用其他的操作系统或自动设置 IP 地址的功能被禁止,则客户机无法获得 IP 地 址,初始化失败。但客户机在后台每隔 5 分钟发送四次 DHCP Discover 信息直到它收到 DHCP Offer 信息。

3——DHCP REQUEST(请求)IP租约选择——

客户机收到 DHCP Offer 后,广播向服务器发送一个包含有关 DHCP 服务器提供的 IP 地址的 DHCP Request 报文。如果客户机没有收到 DHCP Offer 报文并且还记得以前的网络配置,此时 可以使用以前的网络配置(如果该配置仍然在有效期限内)。

当客户端收到来自服务器的 DHCPOFFER 时,它回送一条 DHCPREQUEST 消息。此消息有两个作用:一是租用发起,一是租用更新和检验。用于租用发起时,客户端的 DHCPREQUEST 消息要求在 IP 地址分配后检验其有效性。此消息提供错误检查,确保地址分配仍然有效。DHCPREQUEST 还用作发给选定服务器的绑定接受通知,并隐式拒绝其它服务器提供的绑定提供信息。

许多企业网络使用多台 DHCP 服务器。DHCPREQUEST 消息以广播的形式发送,将绑定提供接受情况告知此 DHCP 服务器和任何其它 DHCP 服务器。

4——DHCP ACK(确认)IP租约确认——

DHCP 服务器在收到 DHCP Request  信息后,立即发送 DHCP Ack 确认信息,以确定此 租约成立,且此信息中还包含其他 DHCP 选项信息

客户机接收到包含配置参数的 DHCP Ack 报文, 利用 ARP 检查网络上是否有相同的 IP 地 址。如果检查通过,则客户机接受这个 IP 地址及其参数。如果发现有问题,客户机向服务器 发送 DHCP Decline 信息,并重新开始新的配置过程。服务器收到 DHCP Decline 信息后,将该 地址标记为“不可用” 。

收到 DHCPREQUEST 消息后,服务器检验租用信息,为客户端租用创建新的 ARP 条目,并用单播 DHCPACK 消息予以回复。除消息类型字段不同外,DHCPACK 消息与 DHCPOFFER 消息别无二致。客户端收到 DHCPACK 消息后,记录下配置信息,并为所分配的地址执行 APR 查找。如果它没有收到回复,则它知道该 IP 地址是有效的,将开始把它用作自己的 IP 地址。

 2DHCP 工作站第二次登录网络

DHCP 客户机获得 IP 地址后再次登录网络时,就不需要再发送 DHCP Discover 报文了, 而是直接发送包含前一次所分配的 IP 地址的 DHCP Request 报文。 当 DHCP 服务器收到 DHCP Request 报文,会尝试让客户机继续使用原来的 IP 地址,并回答一个 DHCP Ack(确认信息) 报文。 如果 DHCP 服务器无法分配给客户机原来的 IP 地址,则回答一个 DHCP NAck(不确认 信息)报文。当客户机接收到 DHCP NAck 报文后,就必须重新发送 DHCP Request 报文来请 求新的 IP 地址。

3DHCP 租约的更新

 DHCP 服务器将 IP 地址分配给 DHCP 客户机后,有租用时间的限制,DHCP 客户机必须 在该次租用过期前对它进行更新。客户机在 50%租借时间过去以后,每隔一段时间就开始请 求 DHCP 服务器更新当前租借,如果 DHCP 服务器应答则租用延期。如果 DHCP 服务器始终 没有应答,在有效租借期的 87.5%时,客户机应该与任何一个其他的 DHCP 服务器通信,并 请求更新它的配置信息。如果客户机不能和所有的 DHCP 服务器取得联系,租借时间到期后, 它必须放弃当前的 IP 地址, 并重新发送一个 DHCP Discover 报文开始上述的 IP 地址获得过程。 客户端可以主动向服务器发出 DHCP Release 报文,将当前的 IP 地址释放。

原网站

版权声明
本文为[旺仔Sec]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_50377269/article/details/125643309