TCP/IP详解卷一之DHCP和自动配置

1 主机或路由器的配置信息
—配置信息包括:
·“基本要素”:IP地址、子网掩码、DNS服务器的IP地址、路由器的IP地址。
·“其他要素”:家乡代理、组播路由器、VPN网关等,取决于使用或提供的服务类型。

2 Internet中客户端与服务器、路由器配置方式
—配置方式:
· 客户端主机中使用动态主机配置协议(DHCP)、IPv4和IPv6中的无状态地址自动配置。
· 服务器和路由器常通过手工配置。
—配置采取不同方式的原因:
· 客户端主机通常比路由器和服务器更容易移动,这意味着应提供更灵活的重新分配其配置信息的机制;
· 服务器和路由器都希望“永远可用”和相对自治,因此,它们的配置信息不依赖于其他网络服务,手工配置能为它们提供更好的可靠性;
· 与服务器和路由器相比,客户机属于某个组织是更常见的情况,通过一种集中服务来动态分配客户端主机的配置信息,这样会更加简单且不容易出错;
· 客户机操作者通常比服务器或路由器管理者具有更少的系统管理经验。

3 动态主机配置协议(DHCP)
—DHCP是一种流行的客户机/服务器协议。
—DHCP由两个主要部分组成:
· 地址管理:用于IP地址的动态分配,并为客户机提供地址租用。
· 配置数据交付:包括DHCP协议的消息格式和状态机。
—DHCP服务器可配置为提供三种地址分配,三者之间的差异是地址分配是否基于客户机的身份以及该地址是否可撤销或变更,三种分配方式为:
· 自动分配:从服务器配置的地址池中获得一个IP地址,但该地址不可撤销。
· 动态分配:从服务器配置的地址池中获得一个可撤销的IP地址。
· 手动分配:DHCP协议用于传输地址,但地址对于请求的客户机是不变的,即它不是由服务器维护的可分配池的一部分。
—在动态分配中,分配给客户机的地址只在一段特定时间内有效,这段时间称为租用期。
—确定租用期需要对预期客户数、地址池大小和地址稳定性等因素加以权衡:
· 租用期较长时,通常会较快耗尽地址池,但能提供更稳定的地址和减小网络开销;
· 租用期较短时,可以提供可用性更高的地址池,但稳定性会减小和网络流量负荷会增大。

4 DHCPv4协议操作
(1)典型的DHCP交换
TCP/IP详解卷一之DHCP和自动配置_第1张图片
· 客户机首先广播一个DHCPDISCOVER消息。
· 接收到请求的每台DHCP服务器都会响应一个DHCPOFFER消息,并在“你的”IP地址字段中包含提供的IP地址以及其他配置选项如DNS服务器的IP地址、子网掩码等。
· 当接收到来自一台或多台服务器的DHCPOFFER消息后,客户机确定自己想接受哪个,并广播一个包括服务器标识符选项的DHCPREQUEST消息,请求的IP地址选项设置为由选中的DHCPOFFER消息提供的地址。
· 多台服务器可能接收到DHCPREQUEST消息,但只有消息中标识的服务器同意将该地址进行绑定,其他服务器清除与该请求相关的状态。绑定完成后,选中的服务器相应一个DHCPACK消息,通知客户机现在可使用该地址;而如果服务器无法分配包含在DHCPREQUEST消息中的地址,该服务器将会响应一个DHCPNAK消息。
· 当客户机接收到DHCPACK消息和其他相关的配置信息时,它可探测网络以确保获得的地址未被使用,例如向该地址发送一个ARP请求以执行ACD。
· 如果客户机确定该地址已被使用,客户机就不使用该地址,并向服务器发送一个DHCPDECLINE消息,通知该地址不能使用。
(2)客户机已有IP地址仅希望更新租约
—可以跳过最初的DHCPDISCOVER和DHCPOFFER消息,客户机通过一个DHCPREQUEST消息请求当前正在使用的地址,后续流程与上述相同。
(3)客户机已有IP地址且不需要更新,仅需要其它配置信息
—客户机发送一个DHCPINFORM消息来表明它使用现有地址,但希望能获得额外的信息;服务器返回一个包含请求的额外信息的DHCPACK消息。
—注:DHCPOFFER消息中还包括租用时间(T)、更新时间(T1)、重新绑定时间(T2),含义分别如下:
· 租用时间:提供了不更新租约的情况下地址可被租用的时间上限。
· 更新时间:客户机从获得租约到尝试要求服务器更新租约的时间。
· 重新绑定时间:客户机尝试要求DHCP服务器更新其地址的时间。
(4)DHCP状态机
—DHCP客户机的状态机如下:
TCP/IP详解卷一之DHCP和自动配置_第2张图片

5 IPv6地址生命周期
—IPv6主机的每个接口通常拥有多个地址,并且每个地址都拥有一组计数器,以指出相应地址可使用多长时间和用于什么目的。
—在IPv6中,地址分配包含一个首选生命周期和一个有效生命周期。这些生命周期用于判断超时,将地址在自己的状态机中从一种状态转换为另一种状态。
—IPv6地址的生命周期如下图:
TCP/IP详解卷一之DHCP和自动配置_第3张图片
· 首选状态:该地址可用于一般用途,并可作为源或目的IPv6地址。
· 废弃状态:该地址仍可用于现有传输(例如TCP)连接,但不能用于启动新的连接。
· 无效状态:该地址不能使用。
· 临时状态:该地址可能仅用于IPv6邻居发现协议,不可用做任何其他目的的源或目的地址。
· 乐观状态:仅是针对DAD的一组特殊规则,并不是一个真正完整的状态,对大多数目的而言是废弃的。
—当首选超时到达时,IPv6地址从首选状态转为废弃状态;当有效超时到达时,IPv6地址从废弃状态转为无效状态。
—重复地址检测(DAD):临时状态的地址要检测重复,看看同一网络中的其他节点是否已使用该地址。IPv6 DAD使用ICMPv6邻居请求和邻居通告消息实现。过程如下:
· 一个节点首先加入临时地址的所有节点组播地址和请求节点组播地址;
· 一个节点发送一个或多个ICMPv6邻居请求消息,消息的源和目的地址分别是未指定地址和被检查的地址,检查使用的地址是否重复;
· 如果在响应中收到一个邻居通告消息,说明DAD失败,并放弃被检查的地址。
—乐观DAD:通过它选择的地址可用于一组有限的用途,直至DAD完成。
—一个地址可能同时是乐观的和废弃的,取决于首选和有效生命周期。

6 DHCPv6协议操作
—一台客户机是否启用DHCPv6,取决于这台主机接收的ICMPv6路由器通告消息中的配置选项中的M位字段和O位字段,
· M位是可管理地址配置标志,表示IPv6地址可使用DHCPv6获得;
· O位是其他配置标志,表示IPv6地址之外的信息可使用DHCPv6获得。
—M位和O位组合后表示含义如下:
· M位和O位同时开启,表示客户机使用“有状态”DHCPv6;
· M位和O位同时关闭,表示客户机不使用DHCPv6,并在分配地址时使用无状态地址自动分配;
· M位关闭、O位开启,表示客户机使用“无状态”DHCPv6,并使用无状态地址自动配置获得地址;
· M位开启、O位关闭,最不实用。
—协议操作的一般流程如下:
TCP/IP详解卷一之DHCP和自动配置_第4张图片
· 一台客户机首先确定使用的链路本地地址,然后执行ICMPv6路由器发现操作,以确定所在网络中是否存在一台路由器;
· 路由器返回包括M位和O位在内的路由器通告消息;
· 如果M位被设置,则客户机使用DHCPv6,并组播DHCPSOLICIT消息,以便发现DHCPv6服务器;
· 一个或多个DHCP服务器返回DHCPADVERTISE响应消息;
· 客户机选择自己想要的服务器及其配置信息,并发送DHCPREQUEST消息;
· 被标识的服务器确认DUID、IA类型和IAID结合而成的绑定,并返回一个DHCPREPLY消息;
· 客户机探测网络以确定获得的地址未被使用,例如DAD;
· 当客户机确认该地址已被使用时,客户机不使用该地址,并发送一条DHCPDECLINE消息。

7 DHCP中继
—中继代理用于将DHCP操作扩展到跨越多个网段。
—在一般情况下,中继不会参与客户机与服务器之间的所有DHCP流量交换;相反,它仅中继那些广播消息(或IPv6中的组播)。
—当一台客户机获得一个IP地址时,并且服务器的IP地址使用服务器标识选项时,它可与服务器进行单播通信而不经过中继。

8 无状态地址自动配置
(1)IPv4链路本地地址的动态配置
—链路本地地址:169.254.0.0/16,只用于一条链路。
—配置方式:主机通过某种机制自动从链路本地范围169.254.1.1至169.254.254.254使用16位子网掩码255.255.0.0生成自己的IPv4地址。
—本质上讲,就是一台主机从一个范围内随机选择一个地址,并检查该地址是否已在本子网中被其他系统使用。
(2)链路本地地址的IPv6 SLAAC
—IPv6 SLAAC的目标:允许节点自动分配链路本地IPv6地址。
—IPv6 SLAAC的3个主要步骤:获得一个链路本地地址、使用无状态自动配置获取全球地址、检测链路本地地址是否已在链路中使用。
—在IPv6中,临时(或乐观)链路本地地址只用于具有组播能力的网络,并在建立时分配了极大的首选和有效生命周期。
—当没有路由器的环境下,只分配链路本地地址;当路由器存在时,使用一个路由器通告的前缀和本地产生的信息组合成一个全球地址。

你可能感兴趣的:(计算机网络)