计算机网络-网络层IP地址获取(DHCP协议)

Aki 发布于 2023-07-04 288 次阅读


为了获取一块IP地址用于一个组织的子网内,网络管理员也许首先会与他的ISP联系,该ISP可能会从已分给它的更大地址块中提供一个地址块中提供一些地址。

例如该ISP也许自己已经被分配了地址块200.23.16.0/20,该ISP可以依次将该地址块分成8个长度相等的连续地址块。这需要利用变长子网掩码来计算。

原理如下 可变长度子网掩码(VLSM)计算_

首先根据子网掩码为20,得到主机位为32 - 20 = 12位,可用地址数量为 2^12 = 4096个地址,分成八份,每一份为512个地址,即2的9次方,所以主机位为9,子网掩码为32 - 9 = 23。

将子网掩码12位和地址200.23.16.0按照二进制按位进行与运算,得到网络地址。

第一组:地址范围为200.23.16.0/23 - 200.23.17.255/23,第一个可用地址是200.23.16.1,最后一个可用地址是200.23.17.254,200.23.17.255是广播地址,200.23.16.0是网络段,总共510个可用地址。

第二组:地址范围为200.23.18.0/23 - 200.23.19.255/23。

依次类推可以得到所有可用地址。

尽管从一个ISP组织获取一组地址是一种得到一块地址块的方法,但这不是唯一的方法。有一个全球性的权威机构,它具有管理IP地址空间并向个ISP和其他组织分配地址块,该组织叫因特网名字和编号分配机构(Internet Corporation for Assigned Names and Numbers,ICANN)。ICANN向区域性因特网注册机构分配地址,这些机构一起形成了ICANN的地址支持组织,处理本区域内的地址分配和管理。

动态主机配置协议(DHCP)、

某组织一旦获得了一块地址,它就可以为本组织内的主机与路由器接口逐个分配IP地址。系统管理员通常手工配置路由器中的IP地址。主机地址也可以手动配置,但是这项任务目前更多的是使用动态主机配置协议(DHCP)来完成。DHCP允许主机自动获取一个IP地址。网络管理员能够配置DHCP,以使得给定主机每次与网络连接时能得到一个相同的IP地址,或者某主机将被分配一个临时IP地址,每次与网络连接时该地址也许是不同的。除了主机IP地址分配之外,DHCP还允许这台主机得知其他信息,例如它的子网掩码,它的第一跳路由器地址(网关),与它的本地DNS服务器的地址。

由于DHCP协议具有将主机连接到一个网络的网络相关方面的自动化能力,故它又常被称为即插即用协议或零配置协议。DHCP广泛地应用于住宅因特网接入网,企业网和无线局域网络中,其中的主机频繁的加入和离开网络。

DHCP是一个客户-服务器协议。客户通常是新到达的主机,它需要获得包括自身使用的IP地址在内的网络配置信息。在最简单的场合下,每个子网将具有一台DHCP服务器。如果某子网中没有服务器,则需要一个DHCP中继代理(通常是一台路由器),这个代理直到DHCP服务器的地址。

DHCP的四个步骤:

DHCP统一使用两个IANA分配的端口作为BOOTP:服务器端使用67/udp,客户端使用68/udp。

1)DHCP服务器发现。一台新到达的主机的首要任务是发现一个要与其交互的DHCP服务器。这可以通过使用DHCP发现报文(DHCP discover message)来完成。客户在UDP分组中向端口67发送该发现报文。该UDP分组封装在一个IP数据报中。但是这个数据报该发送给谁呢?主机甚至都不知道它所连接网络的IP地址,更不用说DHCP服务器地址了。在这种情况下,DHCP客户生产包含DHCP发现报文的IP数据报,其中使用的广播地址为255.255.255.255并且使用源IP地址为0.0.0.0。DHCP客户将该IP数据报传递给链路层,链路层然后将该数据帧广播到所有与子网连接的节点。

2)DHCP服务器提供。DHCP服务器收到一个DHCP发现报文时,用DHCP提供报文(DHCP offer message)向客户做出响应,该报文向该子网的所有节点广播,仍然使用IP广播地址255.255.255.255,因为DHCP客户提供的源地址为0.0.0.0,DHCP服务器不知道它在哪里。因为在子网中可能存在几个DHCP服务器,该客户也许会发现它处于能在几个提供者之间进行选择的优越位置。每台DHCP服务器提供的报文包含收到的发现报文的事务ID,向客户推荐的IP地址,网络掩码以及IP地址租用期,即IP地址有效的时间量。租期通常为几个小时或几天。

3)DHCP请求。新到达的客户从一个或多个服务器提供中选择一个,并向选中的服务器提供DHCP请求报文进行响应,回显配置的参数。

4)DHCP ACK。服务器用DHCP ACK报文对DHCP请求报文进行响应,证实所要求的参数。

一旦客户收到DHCP ACK报文,交互便完成了,并且该客户能够在租用期内使用DHCP分配的IP地址。如果客户希望在租用期超时后还继续使用这个地址,可以向DHCP服务器发送请求,也可以发出更新地址的请求。

从移动性的角度看,CDHCP确实有非常严重的缺陷。因为每当节点连到一个新子网,就要从DHCP得到一个地址,当一个移动节点在不同子网之间移动时,就不能维持与远程应用之间的TCP连接。在之后的学习中,我们将学习移动网络如何保持主机不间断的TCP连接,就像它服务提供者的蜂窝网络中的基站之间移动一样。