18-DHCP操作
本章节下载 (526.33 KB)
目 录
随着网络规模的不断扩大和网络复杂度的提高,经常出现计算机的数量超过可供分配的IP地址的情况。同时随着便携机及无线网络的广泛使用,计算机的位置也经常变化,相应的IP地址也必须经常更新,从而导致网络配置越来越复杂。DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)就是为满足这些需求而发展起来的。
DHCP采用客户端/服务器通信模式,由客户端向服务器提出配置申请,服务器返回IP地址等相应的配置信息,以实现IP地址等信息的动态配置。
在DHCP的典型应用中,一般包含一台DHCP服务器和多台客户端(如PC和便携机),如图1-1所示:
图1-1 DHCP典型应用
针对客户端的不同需求,DHCP提供三种IP地址分配策略:
l 手工分配地址:由管理员为少数特定客户端(如WWW服务器等)静态绑定固定的IP地址。通过DHCP将配置的固定IP地址发给客户端。
l 自动分配地址:DHCP为客户端分配租期为无限长的IP地址。
l 动态分配地址:DHCP为客户端分配有有效期限的IP地址,当使用期限到期后,客户端需要重新申请地址。绝大多数客户端得到的都是这种动态分配的地址。
DHCP客户端从DHCP服务器动态获取IP地址,主要通过四个阶段进行:
(1) 发现阶段,即DHCP客户端寻找DHCP服务器的阶段。客户端以广播方式发送DHCP-DISCOVER报文。
(2) 提供阶段,即DHCP服务器提供IP地址的阶段。DHCP服务器接收到客户端的DHCP-DISCOVER报文后,根据IP地址分配的优先次序选出一个IP地址,与其他参数一起通过DHCP-OFFER报文发送给客户端(发送方式根据客户端发送的DHCP-DISCOVER报文中的flag字段决定,具体请见1.3 DHCP报文格式的介绍)。
(3) 选择阶段,即DHCP客户端选择IP地址的阶段。如果有多台DHCP服务器向该客户端发来DHCP-OFFER报文,客户端只接受第一个收到的DHCP-OFFER报文,然后以广播方式发送DHCP-REQUEST报文,该报文中包含DHCP服务器在DHCP-OFFER报文中分配的IP地址。
(4) 确认阶段,即DHCP服务器确认IP地址的阶段。DHCP服务器收到DHCP客户端发来的DHCP-REQUEST报文后,只有DHCP客户端选择的服务器会进行如下操作:如果确认地址分配给该客户端,则返回DHCP-ACK报文;否则将返回DHCP-NAK报文,表明地址不能分配给该客户端。客户端收到服务器返回的DHCP-ACK确认报文后,会以广播的方式发送ARP报文(目的地址是被分配到的地址)进行地址探测,如果在规定的时间内没有收到回应,客户端才使用此地址。
& 说明:
除DHCP客户端选中的服务器外,其它DHCP服务器中本次未分配出的IP地址仍可分配给其他客户端。
如果采用动态地址分配策略,则DHCP服务器分配给客户端的IP地址有一定的租借期限,当租借期满后服务器会收回该IP地址。如果DHCP客户端希望继续使用该地址,需要更新IP地址租约。
在DHCP客户端的IP地址租约期限达到一半时间时,DHCP客户端会向DHCP服务器单播发送DHCP-REQUEST报文,以进行IP租约的更新。如果此IP地址有效,则DHCP服务器单播回应DHCP-ACK报文,通知DHCP客户端已经获得新IP租约;如果此IP地址不可以再分配给该客户端,则DHCP服务器回应DHCP-NAK报文,通知DHCP客户端不能获得新的租约。
如果在租约的一半时间进行的续约操作失败,DHCP客户端会在租约期限达到7/8时,再次广播发送DHCP-REQUEST报文进行续约。DHCP服务器的处理同上,不再赘述。
DHCP有8种类型的报文,每种报文的格式相同,只是报文中的某些字段取值不同。DHCP报文格式基于BOOTP的报文格式,具体格式如图1-2所示(括号中的数字表示该字段所占的字节):
图1-2 DHCP报文格式
各字段的解释如下:
l op:DHCP报文的操作类型,分为请求报文和响应报文,1为请求报文;2为响应报文。
l htype、hlen:DHCP客户端的硬件地址类型及长度。
l hops:DHCP报文经过的DHCP中继的数目。DHCP请求报文每经过一个DHCP中继,该字段就会增加1。
l xid:客户端发起一次请求时选择的随机数,用来标识一次地址请求过程。
l secs:DHCP客户端开始DHCP请求后的时间。
l flags:第一个比特为广播响应标识位,用来标识DHCP服务器响应报文是采用单播还是广播发送。其余比特保留不用。
l ciaddr:DHCP客户端的IP地址。
l yiaddr:DHCP服务器分配给客户端的IP地址。
l siaddr:DHCP客户端获取IP地址等信息的服务器IP地址。
l giaddr:DHCP客户端发出请求报文后经过的第一个DHCP中继的IP地址。
l chaddr:DHCP客户端的硬件地址。
l sname:DHCP客户端获取IP地址等信息的服务器名称。
l file:DHCP服务器为DHCP客户端指定的启动配置文件名称。
l option:可选变长选项字段,包含报文的类型、有效租期、DNS(Domain Name System,域名系统)服务器的IP地址、WINS服务器的IP地址等配置信息。
与DHCP相关的协议规范有:
l RFC2131:Dynamic Host Configuration Protocol
l RFC2132:DHCP Options and BOOTP Vendor Extensions
l RFC1542:Clarifications and Extensions for the Bootstrap Protocol
出于安全性的考虑,网络管理员可能需要记录用户上网时所用的IP地址,确认用户从DHCP Server获取的IP地址和用户主机的MAC地址的对应关系。
l 三层交换机可以通过DHCP Relay记录用户的IP地址信息。
l 二层交换机可以通过DHCP Snooping功能监听DHCP广播报文,记录用户的IP地址信息。
另外,在网络中如果有私自架设的DHCP服务器,将可能导致用户得到错误的IP地址。为了使用户能通过合法的DHCP服务器获取IP地址,DHCP Snooping安全机制允许将端口设置为信任端口与不信任端口。
l 信任端口连接DHCP服务器或其他交换机的端口;不信任端口连接用户或网络。
l 不信任端口将接收到的DHCP服务器响应的DHCP-ACK和DHCP-OFFER报文丢弃;而信任端口接收到的DHCP报文将被正常转发,从而保证用户获取正确的IP地址。
DHCP Snooping功能在E152以太网交换机应用的典型组网如图2-1所示。图中的Switch A为E152以太网交换机。
DHCP Client与DHCP Server间的报文交互过程如图2-2所示:
图2-2 DHCP Client与DHCP Server间报文交互过程
DHCP Snooping通过以下两种方法来获得用户从DHCP Server获取的IP地址和用户MAC地址信息:
l 监听DHCP-ACK报文
l 监听DHCP-REQUEST报文
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启交换机DHCP-Snooping功能 |
dhcp-snooping |
必选 缺省情况下,以太网交换机的DHCP-Snooping功能处于禁止状态 |
进入以太网端口视图 |
interface interface-type interface-number |
- |
指定连接到DHCP服务器方向的端口为信任端口 |
dhcp-snooping trust |
可选 缺省情况下,交换机的端口均为不信任端口 |
如图2-1所示,SwitchA(E152)的端口Ethernet1/0/1与DHCP Relay相连,端口Ethernet1/0/2与DHCP Client端网络相连。
l 在交换机上开启DHCP-Snooping功能
l 设置交换机端口Ethernet1/0/1为信任端口
# 进入系统视图。
<H3C> system-view
# 开启交换机DHCP-Snooping功能。
[H3C] dhcp-snooping
# 进入Ethernet1/0/1端口视图。
[H3C] interface Ethernet1/0/1
# 设置端口为信任端口。
[H3C-Ethernet1/0/1] dhcp-snooping trust
完成上述配置后,在任意视图下执行display命令,可以显示配置DHCP-Snooping后的运行情况。通过查看显示信息,用户可以验证配置的效果。
操作 |
命令 |
说明 |
显示通过DHCP-Snooping记录的用户IP地址和MAC地址的对应关系 |
display dhcp-snooping [ unit unit-id ] |
display命令可在任意视图下执行 |
显示DHCP-Snooping使能状态及信任端口信息 |
display dhcp-snooping trust |
随着网络规模的扩大和网络复杂度的提高,网络配置越来越复杂,经常出现计算机位置变化(如便携机或无线网络)和计算机数量超过可分配的IP地址的情况。动态主机配置协议DHCP(Dynamic Host Configuration Protocol)就是为满足这些需求而发展起来的。DHCP协议采用客户端/服务器(Client/Server)方式工作,DHCP Client向DHCP Server动态地请求配置信息,DHCP Server根据策略返回相应的配置信息。
在DHCP的典型应用中,一般包含一台DHCP服务器和多台客户端(如PC和便携机),如图3-1所示。
图3-1 DHCP典型组网应用
DHCP Client与DHCP Server间的报文交互过程如图3-2所示。
图3-2 DHCP Client与DHCP Server间报文交互过程
DHCP客户端为了获取合法的动态IP地址,在不同阶段与服务器之间交互不同的信息,通常存在以下三种模式:
(1) DHCP客户端首次登录网络
DHCP客户端首次登录网络时,主要通过四个阶段与DHCP服务器建立联系。
l 发现阶段,即DHCP客户端寻找DHCP服务器的阶段。客户端以广播方式发送DHCP_Discover报文,只有DHCP服务器才会进行响应。
l 提供阶段,即DHCP服务器提供IP地址的阶段。DHCP服务器接收到客户端的DHCP_Discover报文后,从IP地址池中挑选一个尚未分配的IP地址分配给客户端,向该客户端发送包含出租IP地址和其它设置的DHCP_Offer报文。
l 选择阶段,即DHCP客户端选择IP地址的阶段。如果有多台DHCP服务器向该客户端发来DHCP_Offer报文,客户端只接受第一个收到的DHCP_Offer报文,然后以广播方式向各DHCP服务器回应DHCP_Request报文,该信息中包含向所选定的DHCP服务器请求IP地址的内容。
l 确认阶段,即DHCP服务器确认所提供IP地址的阶段。当DHCP服务器收到DHCP客户端回答的DHCP_Request报文后,便向客户端发送包含它所提供的IP地址和其它设置的DHCP_ACK确认报文。然后,DHCP客户端将其TCP/IP协议组件与MAC地址绑定。
l 除DHCP客户端选中的服务器外,其它DHCP服务器本次未分配出的IP地址仍可用于其他客户端的IP地址申请。
(2) DHCP客户端再次登录网络
当DHCP客户端再次登录网络时,主要通过以下几个步骤与DHCP服务器建立联系。
l DHCP客户端首次正确登录网络后,以后再登录网络时,只需要广播包含上次分配IP地址的DHCP_Request报文即可,不需要再次发送DHCP_Discover报文。
l DHCP服务器收到DHCP_Request报文后,如果客户端申请的地址没有被分配,则返回DHCP_ACK确认报文,通知该DHCP客户端继续使用原来的IP地址。
l 如果此IP地址无法再分配给该DHCP客户端使用(例如已分配给其它客户端),DHCP服务器将返回DHCP_NAK报文。客户端收到后,重新发送DHCP_Discover报文请求新的IP地址。
(3) DHCP客户端延长IP地址的租用有效期
DHCP服务器分配给客户端的动态IP地址通常有一定的租借期限,期满后服务器会收回该IP地址。如果DHCP客户端希望继续使用该地址,需要更新IP租约。
在实际使用中,DHCP客户端缺省在IP地址租约期限达到一半时,向DHCP服务器发送DHCP_Request报文,以完成IP租约的更新。如果此IP地址有效,则DHCP服务器回应DHCP_ACK报文,通知DHCP客户端已经获得新的租约。
交换机上实现的DHCP客户端支持上述租约自动更新过程。
BOOTP客户端可以使用BOOTP协议向服务器请求分配一个IP地址。BOOTP客户端申请IP地址的过程主要包含两个阶段:
l 向服务器发送BOOTP请求报文
l 处理服务器返回的BOOTP响应报文
BOOTP客户端在使用BOOTP协议获取IP地址时,先向服务器发送BOOTP请求报文,服务器接收到请求报文后,将返回BOOTP响应报文。BOOTP客户端从接收到响应报文中即可获取所分配到的IP地址。
BOOTP协议报文是基于UDP的,为了保证报文的可靠传输,采取超时重传机制。BOOTP客户端在向服务器发送请求报文时,同时启动一个重发定时器。若该定时器超时仍未收到服务器返回的响应报文,则重传请求报文。重传报文每隔五秒重传一次,报文最多能重传三次,重传三次之后还不成功就不再重传报文。
E152以太网交换机可以做为DHCP客户端/BOOTP客户端,此时E152交换机管理VLAN接口的IP地址可以通过DHCP/BOOTP方式获取。
在配置管理VLAN之前,要先创建对应VLAN ID的VLAN。VLAN 1是缺省的VLAN,不需要创建。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建并进入管理VLAN接口视图 |
interface vlan-interface vlan-id |
必选 |
配置管理VLAN接口IP地址获取方式 |
ip address { bootp-alloc | dhcp-alloc } |
必选 缺省情况下,管理VLAN接口无IP地址 |
管理员希望通过Telnet方式对交换机H3CA进行远程管理,且H3CA为DHCP Client。这就需要满足以下条件:H3CA通过DHCP获得了IP地址;H3CA与远程管理员间路由可达。
因此交换机上需做如下配置:
l 配置管理VLAN接口通过DHCP方式来获取IP地址
l 配置缺省路由
# 进入系统视图。
<H3CA> system-view
# 创建VLAN 10,并指定VLAN 10为交换机的管理VLAN。
[H3CA] vlan 10
[H3CA-vlan10] quit
[H3CA] management-vlan 10
# 创建交换机管理VLAN 10的VLAN接口并进入VLAN接口视图。
[H3CA] interface vlan-interface 10
# 配置管理VLAN接口通过DHCP方式来获取IP地址。
[H3CA-Vlan-interface10] ip address dhcp-alloc
[H3CA-Vlan-interface10] quit
# 配置缺省路由。
[H3CA] ip route-static 0.0.0.0 0.0.0.0 1.1.1.2
表3-2 DHCP/BOOTP客户端显示
操作 |
命令 |
说明 |
查看DHCP Client端的地址分配信息 |
display dhcp client [ verbose ] |
可选 display命令可以在任意视图下执行 |
查看BOOTP客户端的相关信息 |
display bootp client [ interface vlan-interface vlan-id ] |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!