华为HCIE R&S笔记-12以太网技术DHCP

在大型企业网络中,会有大量的主机或设备需要获取IP地址灯网络参数。如果采用手工配置,工作量大且不好管理,如果有用户擅自修改网络参数,还有可能会造成IP地址冲突等问题。使用动态主机配置协议DHCP(Dynamic Host Configuration Protocol)来分配IP地址等网络参数,可以减少管理员的工作量,避免用户手工配置网络参数时造成的地址冲突。

  1. DHCP报文:
    DHCP报文基于UDP传送,客户端端口为68,服务器端口为67。
    DHCP报文主要有以下几类:
    ① DHCP DISCOVER
    ② DHCP OFFER
    ③ DHCP REQUEST
    ④ DHCP ACK
    ⑤ DHCP NCK
    (1)DHCP DISCOVER:
    客户端用来寻找DHCP服务器(广播)。
    (2)DHCP OFFER:
    DHCP服务器用来响应DHCP DISCOVER报文,此报文携带了各种配置信息(IP/DNS/租约等)(单播MAC地址回复)。
    (3)DHCP REQUEST:
    客户端请求配置确认(请求DHCP服务器确认),或者续借租期(广播)。
    注:为什么要给DHCP服务器回复DHCP REQUEST报文?
    一个网络环境中,如果为了做冗余负载可能会存在多个DHCP服务器,客户端发送DHCP DISCOVE请求报文(广播)给DHCP服务器,由于是广播,两台DHCP服务器都会收到,同时两台DHCP服务器都会向客户端回复DHCP OFFER报文,客户端会选择其中一份DHCP OFFER报文中的ip信息作为自身IP,并回复DHCP REQUEST报文(广播)告诉两台DHCP服务器。
    (4)DHCP ACK:
    服务器对REQUEST报文的确认响应(单播)。
    (5)DHCP NAK:
    服务器对REQUEST报文的拒绝响应。(服务器没有找到租约记录)(单播)。
    (6)DHCP RELEASE:
    客户端要释放地址时用来通知服务器(单播)
  2. DHCP分配地址过程:
    (1)DHCP IP地址分发工作过程:
    在这里插入图片描述

DHCP客户端首次登录网络时,主要通过四个阶段与DHCP服务器建立联系。
① 发现阶段,即DHCP客户端寻找DHCP服务器的阶段。
在发现阶段,DHCP客户端通过发送DHCP DISCOVER报文来寻找DHCP服务器。由于DHCP服务器的IP地址对于客户端来说是未知的,所以DHCP客户端以广播方式发送DHCP DISCOVER报文。所有收到DHCP DISCOVER报文的DHCP服务器都会发送回应报文,DHCP客户端据此可以知道网络中存在的DHCP服务器的位置。
② 提供阶段,即DHCP服务器提供IP地址的阶段。
网络中接收到DHCP DISCOVER报文的DHCP服务器,会从地址池选择一个合适的IP地址,连同IP地址租约期限和其他配置信息(如网关地址、域名服务器地址等)通过DHCP OFFER 报文发送给DHCP客户端。
③ 选择阶段,即DHCP客户端选择IP地址的阶段。
如果有多台DHCP服务器向DHCP客户端回应DHCP OFFER报文,则DHCP客户端只接收第一个收到的DHCP OFFER报文。然后以广播方式发送DHCP REQUEST请求报文,该报文中包含服务器标识选项(Option54),即它选择的DHCP服务器的IP地址信息。
以广播方式发送DHCP REQUEST请求报文,是为了通知所有的DHCP服务器,它将选择Option54中标识的DHCP服务器提供的IP地址,其他DHCP服务器可以重新使用曾提供的IP地址。
④ 确认阶段,即DHCP服务器确认所提供IP地址的阶段。
当DHCP服务器收到DHCP客户端回答的DHCP REQUEST报文后,DHCP服务器会根据DHCP REQUEST报文中携带的MAC地址来查找有没有相应的租约记录。如果有,则向客户端发送包含它所提供的IP地址和其它设置的DHCP ACK确认报文。DHCP客户端收到该确认报文后,会以广播的方式发送免费ARP报文,探测是否有主机使用服务器分配的IP地址,如果在规定的时间内没有收到回应,客户端才使用此地址。
如果DHCP服务器收到DHCP REQUEST报文后,没有找到相应的租约记录,或者由于某些原因无法正常分配IP地址,则发送DHCP NAK报文作为应答,通知DHCP客户端无法分配合适IP地址。DHCP客户端需要重新发送DHCP DISCOVER报文来申请新的IP地址。
DHCP Client获得IP地址后,上线之前会检测正在使用的网关的状态,如果网关地址错误或网关设备故障,DHCP客户端将重新使用四步交互方式请求新的IP地址。
DHCP客户端重用曾经分配的IP地址
(2)DHCP客户端重用曾经分配的IP地址:
在这里插入图片描述

DHCP客户端重新登录网络时,主要通过以下几个步骤与DHCP服务器建立联系:
① 重新登录网络是指客户端曾经分配到可用的IP地址,再次登录网络时IP地址还在相应的租期之内。客户端不需要再发送DHCP DISCOVER报文,而是直接发送包含前一次分配的IP地址的DHCP REQUEST请求报文,即报文中的Option50(请求的IP地址选项)字段填入曾经使用过的IP地址。
② DHCP服务器收到DHCP REQUEST报文后,如果客户端申请的地址没有被分配,则返回DHCP ACK确认报文,通知该DHCP客户端继续使用原来的IP地址。
③ 如果此IP地址无法再分配给该DHCP客户端使用(例如已分配给其它客户端),DHCP服务器将返回DHCP NAK报文。客户端收到后,重新发送DHCP DISCOVER报文请求新的IP地址。
④ DHCP客户端更新租约
DHCP客户端向服务器申请地址时可以携带期望租期,服务器在分配租约时把客户端期望租期和地址池中租期配置比较,分配其中一个较短的租期给客户端。
DHCP服务器分配给客户端的动态IP地址通常有一定的租借期限,期满后服务器会收回该IP地址。如果DHCP客户端希望继续使用该地址,需要更新IP地址的租约(如延长IP地址租约)。
当DHCP客户端获得IP地址时,会进入到绑定状态,客户端会设置3个定时器,分别用来控制租期更新、重绑定和判断是否已经到达租期。DHCP服务器为客户分配IP地址时,可以为定时器指定确定的值。若服务器没有设置定时器的值,客户端就使用缺省值。定时器的缺省值如下图所示。
定时器 默认值
租期更新 总租期的50%
重绑定 总租期的87.5%
到达租期 总租期
(3)DHCP客户端更新租约过程
在这里插入图片描述

DHCP客户端更新租约,主要通过以下几个步骤与DHCP服务器建立联系:
① IP租约期限达到50%(T1)时,DHCP客户端会自动以单播的方式,向DHCP服务器发送DHCP REQUEST报文,请求更新IP地址租约。如果收到DHCP ACK报文,则租约更新成功;如果收到DHCP NAK报文,则重新发起申请过程。
② IP租约期限达到87.5%(T2)时,如果仍未收到DHCP服务器的应答,DHCP客户端会自动向DHCP服务器发送更新其IP租约的广播报文。如果收到DHCP ACK报文,则租约更新成功;如果收到DHCP NAK报文,则重新发起申请过程。
③ 如果IP租约到期前都没有收到服务器响应,客户端停止使用此IP地址,重新发送DHCP DISCOVER报文请求新的IP地址。
④ DHCP客户端主动释放IP地址
DHCP客户端不再使用分配的IP地址时,会主动向DHCP服务器发送DHCP RELEASE报文,通知DHCP服务器释放IP地址的租约。DHCP服务器会保留这个DHCP客户端的配置信息, 以便该客户端重新申请地址时,重用这些参数。
3. DHCP分配的两种方式:
在路由器上,DHCP可以基于接口进行端口分配IP,也可以基于全局进行端口分配。
(1)基于接口:
[Huawei]dhcp enable-------------------------开启dhcp
[Huawei]inter G0/0/0-------进入接口(如果为三层交换机,进入vlanif)
[Huawei-GigabitEthernet0/0/0]dhcp server excluded ip-address 192.168.1.1 192.168.1.3---------设置不进行分配的地址段
[Huawei-GigabitEthernet0/0/0]dhcp server dns-list 8.8.8.8------配置dns
[Huawei-GigabitEthernet0/0/0]dhcp select interface-----配置DHCP类型为基于接口
注:基于接口的DHCP,默认不需要配置网关,会自动将接口ip放入报文中作为网关。不需要配置所要分配的IP,会根据接口ip和子网掩码计算出当前的可用dhcp分配的ip地址段。
(2)基于地址池:
[Huawei]dhcp enable-------------------------开启dhcp
[Huawei]ip pool huawei-------定义地址池
[Huawei-ip-pool-huawei]network 192.168.2.0 mask 255.255.255.0----配置地址池ip地址段
[Huawei-ip-pool-huawei]gateway-list 192.168.2.1--------配置网关地址
[Huawei-ip-pool-huawei]dns-list 8.8.8.8----配置DNS
[Huawei-ip-pool-huawei]lease day 2----------租约为两天
[Huawei-ip-pool-huawei]excluded-ip-address 192.168.2.253
192.168.2.254----配置不参与分配的地址段
[Huawei]inter g0/0/3
[Huawei-GigabitEthernet0/0/3]dhcp select global----在接口上配置基于全
局的地址分配
注:基于全局的地址分配,当路由器从端口上收到dhcp discover报文请求,会查看接口的ip(也就是请求主机网关的接口),根据地址池中的配置网关匹配,相同后分配地址池的地址。
4. DHCP中继:
由于在IP地址动态获取中,客户端采用广播方式发送DHCP DISCOVER请求报文,而广播报文不能跨网段传递,因此DHCP只适用于DHCP客户端和服务器处于同一个网段内的情况。
(1)DHCP中继报文:
在这里插入图片描述

① op:dhcp报文的操作类型,分为请求报文和响应报文,1为请求报文;2为响应报文。
② htype、hlen:dhcp客户端的硬件地址类型及长度。
③ hops:dhcp报文经过的dhcp中继的数目。dhcp请求报文每经过一个dhcp中继,该字段就会增加1。
④ xid:客户端发起一次请求时选择的随机数,用来标识一次地址请求过程。
⑤ ecs:dhcp客户端开始dhcp请求后的时间。
⑥ flags:第一个比特为广播响应标识位,用来标识dhcp服务器响应报文是采用单播还是广播发送。其余比特保留不用。
⑦ ciaddr:dhcp客户端的ip地址。 yiaddr:dhcp服务器分配给客户端的ip地址。
⑧ siaddr:dhcp客户端获取ip地址等信息的服务器ip地址。
⑨ giaddr:dhcp客户端发出请求报文后经过的第一个dhcp中继的ip地址。
⑩ chaddr:dhcp客户端的硬件地址。 sname:dhcp客户端获取ip地址等信息的服务器名称。
⑪file:dhcp服务器为dhcp客户端指定的启动配置文件名称。
⑫option:可选变长选项字段,包含报文的类型、有效租期、dns(domain name system,域名系统)服务器的ip地址、wins服务器的ip地址等配置信息。
在这里插入图片描述

  广播报文                                  单播报文

(2)DHCP中继原理详解:
在这里插入图片描述

DHCP中继接收到客户端发送的DHCP DISCOVER或DHCP REQUEST报文后,将进行如下处理:
① 为防止DHCP报文形成环路,抛弃报文头中hops字段的值大于限定跳数的DHCP请求报文(默认不配置)。否则,继续进行下面的操作。将hops字段增加1,表明又经过一次DHCP中继。
② 检查giaddr字段。如果是0,需要将giaddr字段设置为接收请求报文的接口IP地址。如果接口有多个IP地址,可选择其一。以后从该接口接收的所有请求报文都使用该IP地址。如果giaddr字段不是0,则不修改该字段。
③ 将请求报文的TTL设置为DHCP中继设备的TTL缺省值,而不是原来请求报文的TTL减1。对中继报文的环路问题和跳数限制问题都可以通过hops字段来解决。
④ DHCP请求报文的目的地址修改为DHCP服务器或下一个DHCP中继的IP地址,从而将DHCP请求报文转发给DHCP服务器或下一个DHCP中继。
DHCP服务器收到请求报文后,根据Relay Agent IP Address字段为客户端分配IP地址等参数,并将DHCP应答报文发送给Relay Agent IP Address字段标识的DHCP中继。DHCP中继接收到DHCP应答报文后,会进行如下处理:
① DHCP中继假设所有的应答报文都是发给直连的DHCP客户端。Relay Agent IP Address字段用来识别与客户端直连的接口。如果Relay Agent IP Address字段不是本地接口的地址,DHCP中继将丢弃应答报文。
② DHCP中继检查报文的广播标志位。如果广播标志位为1,则将DHCP应答报文广播发送给DHCP客户端;否则将DHCP应答报文单播发送给DHCP客户端,其目的地址为Your (Client) IP Address字段内容,链路层地址为Client Hardware Address字段内容。
(3)Option 82:
在这里插入图片描述

用户通过DHCP方式获取IP地址。在管理员组建该网络时需要控制接口interface1下用户对网络资源的访问以提高网络的安全性。
在传统的DHCP动态分配IP地址过程中,DHCP Server是无法区分同一VLAN内的不同用户的,以致同一VLAN内的用户得到的IP地址所拥有的权限是完全相同的。
为实现上述目的,管理员在使能RouterA的DHCP Snooping功能之后可使能其Option82功能。之后RouterA在接收到用户申请IP地址发送的DHCP请求报文时,将会在报文中插入Option82选项,以标注用户的精确位置信息,譬如MAC地址、所属VLAN、所连接的接口号等参数。DHCP Server在接收到携带有Option82选项的DHCP请求报文后,即可通过Opion82选项的内容获悉到用户的精确物理位置进而根据其上已部署的IP地址分配策略或其他安全策略为用户分配合适的IP地址和其他配置信息。
5. DHCP中继配置:
(1)配置基于IP寻址DHCP服务器:
配置简单,适用于端口配置数量不多的中继接口
[Huawei]dhcp enable--------开启DHCP服务
[Huawei]inter g0/0/2-------进入端口(此端口为接收DHCP DISCOVER广播的接口,如果启用了vlan,进入vlanif)
[Huawei-GigabitEthernet0/0/2]dhcp select relay-----将端口设置为中继模式
[Huawei-GigabitEthernet0/0/2]dhcp relay server-ip 10.10.10.1—配置DHCP服务器地址为10.10.10.1
注:此时当配置中继的接口收到了DHCP DISCOVER报文,将giaddr字段变为此接口IP,flags位置为1,广播报文变为单播报文,并根据路由发送给DHCP服务器。
(2)配置基于服务器组的DHCP中继:
[Huawei]dhcp server group huawei----定义一个dhcp的组
[Huawei-dhcp-server-group-huawei]dhcp-server 10.10.10.1—配置dhcp服务器为10.10.10.1
[Huawei-dhcp-server-group-huawei]inter g0/0/1—进入接口(接收DISCOVER的接口)
[Huawei-GigabitEthernet0/0/1]dhcp select relay—设为中继模式
[Huawei-GigabitEthernet0/0/1]dhcp relay server-select huawei—配置dhcp的服务器组
5. DHCP snooping:
管理员在部署网络时,一般将与合法DHCP服务器直接或间接连接的接口设置为信任接口,其他接口设置为非信任接口,从而保证DHCP客户端只能从合法的DHCP服务器获取IP地址,私自架设的伪DHCP服务器无法为DHCP客户端分配IP地址。
在这里插入图片描述

[Huawei]dhcp snooping enable 开启DHCP-snooping功能
[Huawei-Vlanif1]vlan 1
[Huawei-vlan1]dhcp snooping enable--------在vlan1开启dhcp-snooping
[Huawei-vlan1]inter g0/0/3
[Huawei-GigabitEthernet0/0/3]dhcp snooping trusted----将G0/0/3设置为信任端口(默认为untrust端口)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

优质网络系统领域创作者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值