各位小伙伴们,你们有没有遇到过对静态配置IP地址的种种困扰,比如:
在终端规模较大的网络中手工配置IP地址时,为避免IP地址重复,需要事先规划每个终端的IP地址,导致工作量大且容易出错。
当终端位置经常变更时(例如企业出差人员的便携电脑),每次变更都需要重新手工配置IP地址,烦神又烦力呀~~~
某些特殊的无盘工作站,无法手工配置IP地址,该如何与网络实现互通?
莫急莫急,小编来为各位小伙伴们支招。解决办法 so easy!有了动态主机配置协议DHCP(Dynamic Host Configuration Protocol),上面的问题都可以解决了。小伙伴们再也不用担心手工配错,费神费力了。DHCP能够实现动态为主机分配IP地址,而且是目前应用很广泛的一种技术。例如,办公室,网吧里的固定PC;咖啡厅,机场等提供WIFI接入的地方用手机上网,这些都会用到DHCP。
本期就由小编来给大家普及下DHCP是如何实现动态分配IP地址的。
角色认知
在DHCP的世界里,有这么三个人物:
DHCP服务器:负责分配IP地址的设备。这里以S交换机为例。
DHCP客户端:想要获取IP地址的终端或设备。如下图中的PC。
DHCP中继:当DHCP服务器与DHCP客户端不在同一个网段时,这个人物才会出现奥,其作用在下期内容中做详细介绍。
以上图为例,介绍DHCP服务器如何为PC动态分配IP地址的?
假设PC为某办公室办公主机,Switch作为PC的出口网关。通过在Switch上配置DHCP服务器功能,可以实现为PC自动分配192.168.1.0/24网段的地址。
PC1自动申请IP地址的过程是这样滴:
a. PC1广播请求寻找能够提供IP地址的DHCP服务器。
b. Switch收到请求后,查看自己是否有可提供的IP地址(需要事先在DHCP服务器上配置地址池和可以提供的IP地址范围)。如果有,就回应PC1可以提供的IP地址和可使用的时间(通常叫租期)。
:从租期可以看出,DHCP客户端和DHCP服务器的关系犹如借方和贷方的关系,DHCP服务器相当于把IP地址借给DHCP客户端使用,超过租期后,需要将IP地址重新收回滴。
c. PC1收到Switch回应的消息后,知道可以使用这个IP地址和租期,会向Switch发消息确认。
d. Switch收到来自PC1的确认消息,再向PC1反馈同意的意见。这样,PC1就可以使用Switch分配给他的IP地址了。
通常,我们把DHCP分配地址的过程叫做四次握手。
:小伙伴们看完这个过程,会不会有疑问:直接两次握手,客户端发送请求,服务器回应我不是很好很快嘛,为啥要四步握手呢?
PC1在请求申请IP地址时,因为他还不知道谁是DHCP服务器,所以,需要在同一网段内广播请求。假设网络中存在多个DHCP服务器,收到PC1的广播请求后,都会作出响应。那么,PC1在b阶段可能会同时收到多个DHCP服务器的回应。PC1只接收第一个回应的DHCP服务器的消息,并在c阶段发送广播消息跟选择的DHCP服务器进行确认。之所以在c阶段广播,是为了告诉其他DHCP服务器他已经选择的IP地址和DHCP服务器。这样,其他DHCP服务器还可以把IP地址分配给其他客户端。
讲到这,大家对DHCP是不是有了基本的了解呀?下面通过一个实验来看下具体配置。为了能看到报文的实际情况,我们以两台Switch举例,如下图:
SwitchA上的配置:
<Quidway> system-view[Quidway] sysname SwitchA[SwitchA] dhcp enable
SwitchB上的配置:
<HUAWEI> system-view[HUAWEI] sysname SwitchB[SwitchB] vlan 1000[Swi
配置完成后,在SwitchB上执行命令display dhcp client,通过“IP address”可以看到客户端获取到的IP地址为192.168.1.254。
在SwitchA上执行命令display ip pool interface vlanif10 used,可以看到服务器已经分配出去的IP地址。
:细心的小伙伴们有没有发现,IP地址的分配原则是从大到小的,即优先分配IP地址大的。
:另外,分别在客户端和服务器上执行命令display dhcp client statistics和display dhcp server statistics,可以查看申请地址过程中DHCP报文发送和接收的情况。
客户端(SwitchB)上:
服务器(SwitchA)上:
还记得上面讲的地址获取的a,b,c,d四阶段吗?结合上面讲的,介绍下常见的四类DHCP报文类型。
DHCP Discover:a阶段,DHCP客户端发送给DHCP服务器的请求报文。
DHCP Offer:b阶段,DHCP服务器发送给DHCP客户端的回应报文。
DHCP Request:c阶段,DHCP客户端发送给DHCP服务器的请求报文。
DHCP Ack:d阶段,DHCP服务器发送给DHCP客户端的确认报文。
了解了报文含义,在日常维护过程中,就可以通过这些报文定位故障。假设,上图的服务器(SwitchA)上“Dhcp Discover”显示非0,而“Dhcp Offer”的报文数显示为0,则表示DHCP服务器没有给客户端回应报文,那就要检查是不是服务器上的配置有问题了。
:上面的举例中是以S交换机设备作为DHCP客户端的。那么,PC上如何配置DHCP客户端的呢?
以PC的操作系统以Windows 7为例:
a. 右击桌面“网络”,单击“属性”,进入“网络和共享中心”窗口。
b. 单击“本地连接”,进入“本地连接状态”窗口。
c. 单击“属性”,进入“本地链接属性”窗口。
d. 选择“Internet 协议版本4(TCP/IPv4)”,点击“属性”,进入“Internet 协议版本4(TCP/IPv4)属性”窗口,选择“自动获得IP地址”,单击“确定”。
:最后,总结一下本期的内容:先是介绍了通过DHCP实现地址自动分配的四步握手,然后通过一个例子展现了S交换机作为DHCP服务器的配置过程。
在DHCP服务器配置时,细心的你有没有发现在接口上配置的dhcp select interface命令,意思是DHCP服务器是采用的基于接口地址池的配置方式。
除此之外,S交换机还有另外一种实现方式,即基于全局地址池的配置方式。
信息收集自华为产品资料,仅做分享
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。