目录
2、DHCP服务器给首次接入网络的客户端分配网络参数的工作原理
一、BFD
1、BFD概述
1)Bidirectional Forwarding Detection :双向转发检测
2)BFD技术背景
现网中存在的问题:
-不能快速有效的发现网络设备或链路出现的故障
-不能以毫秒级的速度发现网络问题
-协议自身的报文检测机制一般都大于1秒
解决方案:
-需要一种专门用于快速检测设备或链路的协议:BFD协议产生
3)BFD的作用
-专门用于发送超小和超快的检测数据包,以毫秒级进行发送,快速检测链路的故障,改善网络性能
-当发现链路故障时,通知相关的设备和协议进行处理,快速恢复通信,保证网络可靠性
4)BFD的优点:
-对任何介质、任何协议层进行实时且快速的检测
5)BFD会话建立方式
-BFD会话的建立有:静态建立、动态建立两种方式
-静态建立BFD会话:手工配置BFD会话参数(手工配置:本地标识符和远端标识符)
-动态建立BFD会话:动态分配本地标识符、自学习远端标识符
-静态和动态的主要区别:本地标识符和远端标识符配置方式不同
7)BFD检测机制
-两个设备建立BFD会话,链路两端周期性发送BFD控制报文,如果一端在既定的时间内没有收到BFD控制报文,则认为路径上发生了故障。
8)BFD会话常见参数的缺省配置
参数 | 缺省值 |
发送间隔 | 1000毫秒 |
接收间隔 | 1000毫秒 |
本地检测倍数 | 3 |
2、BFD多跳检测实验
1)拓扑
需求:R1和R3配置BFD多条检测
R1和R3为非直连设备,通过配置静态路由互通,但是由于R1和R3直接并非直连,
所以出现链路故障的时候,无法快速感知到故障,我们希望可以实现对设备间链路故障的快速检测,
所以在R1和R3上部署BFD多跳检测。
配置步骤:
第一步:配置R1/R2/R3的接口IP地址
第二步:配置静态路由
R1/R3配置静态路由
第三步:配置BFD
1)R1配置BFD
-开启BFD功能
-创建BFD会话
-配置本地标识符
-配置远端标识符
-提交标识符
2)R3配置BFD
-开启BFD功能
-创建BFD会话
-配置本地标识符
-配置远端标识符
-提交标识符
第四步:查看BFD状态
4)配置命令
第一步:配置R1/R2/R3的接口IP地址 第二步:配置静态路由 R1/R3配置静态路由 第三步:配置BFD R1配置:BFD [R1]int g0/0/0 [R1-G0/0/0]ip address 192.168.12.1 24 [R1-G0/0/0]quit [R1]ip route-static 192.168.23.0 24 192.168.12.2 [R1]bfd //开启bfd功能 [R1-bfd]quit [R1]bfd tedu bind peer-ip 192.168.23.3 //创建BFD会话 [R1-bfd-session-tedu]discriminator local 1 //配置本地标识符 [R1-bfd-session-tedu]discriminator remote 3 //配置远端标识符 [R1-bfd-session-tedu]commit //提交 R2配置:接口IP地址 [R2]int g0/0/1 [R2-G0/0/1]ip address 192.168.12.2 24 [R2]int g0/0/0 [R2-G0/0/0]ip address 192.168.23.2 24 [R3]int g0/0/1 [R3-G0/0/1]ip address 192.168.23.3 24 [R3-G0/0/1]quit [R3]ip route-static 192.168.12.0 24 192.168.23.2 [R3]bfd //开启bfd功能 [R1-bfd]quit [R3]bfd tedu bind peer-ip 192.168.12.1 //创建BFD会话 [R3-bfd-session-tedu]discriminator local 3 //配置本地标识符 [R3-bfd-session-tedu]discriminator remote 1 //配置远端标识符 [R3-bfd-session-tedu]commit //提交 第四步:查看BFD状态 <R1>display bfd session all //查看bfd会话 -------------------------------------------------------------------------------- Local Remote PeerIpAddr State Type InterfaceName -------------------------------------------------------------------------------- 1 3 192.168.23.3 Up S_IP_PEER - -------------------------------------------------------------------------------- Total UP/DOWN Session Number : 1/0 字段解析: local :本地标识符 remote : 远端标识符 PeerIPaddr : 对端IP地址 state : 状态 type : 类型 S_IP_PEER :S代表静态会话,IP_PEER :代表利用对端IP地址建立的静态会话
3、VRRP和BFD联动实验
1)拓扑
需求: 1)部署VRRP,让SW1成为备份组10的-Master设备(vlan10的主网关) 2)让SW2成为备份组10的-Backup设备(vlan10的备份网关) 3)部署VRRP和BFD联动可以解决的问题: --在VRRP中当SW1-主网关,出现故障的时候,备份网关SW2需要等待3秒后, 才可以升级为新的主网关,承担流量转发任务。 --3秒对有些企业网络来说是不可以接受的,我们需要实现VRRP主备设备更加快速的切换(毫秒级故障切换 解决方案 : 在运行VRRP网络设备上(SW1/SW2)运行BFD协议 在SW1和SW2之间建立BFD会话,通过BFD协议快速检测和感知设备或链路故障 在SW2中配置VRRP和BFD联动,当SW1-主网关出现故障的时候,BFD会话会Down 此时BFD协议会通知备份网关SW2,立即将VRRP优先级调高,已实现SW2快速成为主网关 配置步骤: 第一步:配置PC的IP地址,掩码,网关 第二步:配置sw3交换机的vlan,端口加vlan 配trunk 第三步:SW1和SW2配置vrrp-热备 --创建vlan --配置vlanif接口地址 --配置vrrp 备份组,配置虚拟IP --配置优先级 --交换机互联接口配置trunk 第四步:配置SW1和SW2的BFD会话 --开启BFD功能 --创建BFD会话 --配置本地标识符 --配置远端标识符 --提交 第五步:配置VRRP和BFD联动 --配置VRRP和BFD联动,跟踪BFD会话,一旦发现BFD会话down掉,SW2的VRRP的优先级会在 原来的基础上增加60,让SW2快速的成为Master设备 第六步:模拟故障,验证BFD
4)配置命令
第一步:配置PC的IP地址,掩码,网关 第二步:配置sw3交换机的vlan,端口加vlan 配trunk SW3配置: [SW3]vlan 10 [SW3-vlan10]quit [SW3]port-group group-member g0/0/1 g0/0/2 [SW3-port-group]port link-type access [SW3-port-group]port default vlan 10 [SW3-port-group]quit [SW3]port-group group-member g0/0/3 g0/0/4 [SW3-port-group]port link-type trunk [SW3-port-group]port trunk allow-pass vlan all 第三步:SW1和SW2配置vrrp-热备 SW1配置: [SW1]vlan 10 [SW1-vlan10]quit [SW1]int g0/0/1 [SW1-G0/0/1]port link-type trunk [SW1-G0/0/1]port trunk allow-pass vlan all [SW1-G0/0/1]quit [SW1]int vlanif 10 [SW1-Vlanif10]ip address 192.168.10.251 24 [SW1-Vlanif10]vrrp vrid 10 virtual-ip 192.168.10.254 [SW1-Vlanif10]vrrp vrid 10 priority 130 SW2配置: [SW2]vlan 10 [SW2-vlan10]quit [SW2]int g0/0/1 [SW2-G0/0/1]port link-type trunk [SW2-G0/0/1]port trunk allow-pass vlan all [SW2-G0/0/1]quit [SW2]int vlanif 10 [SW2-Vlanif10]ip address 192.168.10.252 24 [SW2-Vlanif10]vrrp vrid 10 virtual-ip 192.168.10.254 第四步:配置SW1和SW2的BFD会话 [SW1]bfd //开启BFD功能 [SW1-bfd]quit //退出 [SW1]bfd tedu bind peer-ip 192.168.10.252 //在系统视图下创建BFD会话,绑定对端IP地址 [SW1-bfd-session-tedu]discriminator local 1 //配置本地标识符 [SW1-bfd-session-tedu]discriminator remote 2 //配置远端标识符 [SW1-bfd-session-tedu]min-rx-interval 100 //配置接收报文间隔时间(100毫秒) [SW1-bfd-session-tedu]min-tx-interval 100 //配置发送报文间隔时间(100毫秒) [SW1-bfd-session-tedu]commit //提交 [SW2]bfd //开启BFD功能 [SW2-bfd]quit [SW2]bfd tedu bind peer-ip 192.168.10.251 //创建BFD会话,绑定对端IP地址 [SW2-bfd-session-tedu]discriminator local 2 //本地标识符为2 [SW2-bfd-session-tedu]discriminator remote 1 //远端标识符为1 [SW2-bfd-session-tedu]min-rx-interval 100 //接受报文间隔时间100毫秒 [SW2-bfd-session-tedu]min-tx-interval 100 //发送报文间隔时间100毫秒 [SW2-bfd-session-tedu]commit //提交 第五步:在SW2上配置VRRP和BFD联动 [SW2]int vlanif 10 [SW2-Vlanif10]vrrp vrid 10 track bfd-session 2 increased 60 //配置VRRP和BFD联动,跟踪BFD会话,一旦发现BFD会话down掉, 就让SW2的VRRP的优先级在原来的基础上增加60,让SW2快速的成为Master设备 第六步:模拟SW1故障,在SW2中验证BFD和VRRP联动 [ SW2 ]display vrrp Vlanif10 | Virtual Router 10 State : Master Virtual IP : 192.168.10.254 Master IP : 192.168.10.252 PriorityRun : 160 PriorityConfig : 100 MasterPriority : 160 Preempt : YES Delay Time : 0 s TimerRun : 1 s TimerConfig : 1 s Auth type : NONE Virtual MAC : 0000-5e00-010a Check TTL : YES Config type : normal-vrrp Track BFD : 2 Priority increased : 60 BFD-session state : DOWN Create time : 2022-12-29 17:32:15 UTC-08:00 Last change time : 2022-12-29 17:50:00 UTC-08:00
二、DHCP
1、DHCP概述
1)DHCP是什么
-DHCP:Dynamic Host Configuration Protocol :动态主机配置协议
-DHCP是一种集中对用户IP地址进行动态管理和配置的技术
2)DHCP技术背景:
-网络规模不断扩大,计算机和移动终端越来越多,都需要上网,都需要不断更新IP地址,所以安全高效的给这些终端主机分配IP地址就变的特别重要:
-所以可以动态的为主机分配IP地址的技术出现-DHCP
3)DHCP的作用
-作用:实现IP地址的动态分配和集中管理
-优势:避免手工配置IP地址,提高工作效率,避免出错,且能快速适应网络的变化
4)DHCP角色
DHCP客户端:需要获取IP地址的设备,如:计算机、服务器、手机、IP电话等
DHCP服务器:负责为DHCP客户端分配IP地址等网络参数的设备
DHCP中继(中转站-可选):负责DHCP服务器和DHCP客户端之间的DHCP报文
&:如果DHCP客户端和DHCP服务器在同一网段,能够直接交互报文,不需要DHCP中继
&:如果DHCP客户端和DHCP服务器不在同一个网段,DHCP服务器无法收到DHCP客户端发送请求报文,此时,需要通过DHCP中继来转发DHCP报文
备注:企业网络中一般不需要部署DHCP中继
2、DHCP服务器给首次接入网络的客户端分配网络参数的工作原理
客户端首次接入网络从DHCP服务器中获取IP地址,会经过4个阶段
1)发现阶段:客户端广播发送DHCP Discover报文(DHCP发现报文)
2) 提供阶段:服务器收到客户端发的报文后,会单播回复DHCP Offer报文(DHCP回应报文)
3) 选择阶段:客户端收到Offer报文后,会再次广播发送DHCP Request报文(DHCP请求报文)
4) 确认阶段:服务器收到客户端发报文后,会单播回复DHCP ACK报文(DHCP确认报文)
3、DHCP工作过程解析:
1)客户端广播发DHCP Discover报文:作用:客户端找DHCP服务器,请求IP地址
2)服务器单播回复DHCP Offer报文:作用:服务器给客户端发IP地址、网关、DNS等
3)客户端广播发送DHCP Request报文:作用:客户端广播告知所有的服务器,选择了某某IP地址
4)服务器单播回复DHCP ACK报文 :作用:确认分配结果,只有发了ACK报文,客户端才可以使用IP
3、基于全局的DHCP实验
1)拓扑
需求:PC1/PC2能够自动获取IP地址、网关、DNS
配置步骤:
第一步:在系统视图下开启DHCP功能
第二步:配置DHCP地址池
--创建IP地址池
--配置可分配的IP地址段
--配置网关地址
--配置DNS地址
--配置租期
第三步:配置R1路由器接口的IP地址
--这个接口接收客户端发的报文,这个接口的IP地址,即客户端的网关地址
--在这个接口下开启基于全局的DHCP功能
第四步:验证结果
4)配置命令:
R1的配置: [R1]dhcp enable //开启DHCP功能 [R1]ip pool tedu //创建DHCP地址池 [R1-ip-pool-tedu]network 192.168.1.0 mask 24 //配置可分配的地址段 [R1-ip-pool-tedu]gateway-list 192.168.1.254 //配置网关地址 [R1-ip-pool-tedu]dns-list 8.8.8.8 //配置DNS地址 [R1-ip-pool-tedu]lease day 1 //配置租期 [R1-ip-pool-tedu]quit [R1]int g0/0/0 [R1-G0/0/0]ip address 192.168.1.254 24 //此接口IP地址和网关地址一致 [R1-G0/0/0]dhcp select global //在接口下开启基于全局的DHCP 验证与测试: PC1和PC2选择获取地址的方式为DHCP 然后PC1和PC2在命令行中,使用ipconfig 命令查看IP地址
5)数据抓包
基于全局的dhcp: <R1>reset ip pool name tedu all //重置基于全局的IP地址池,回收IP地址 [R1-ip-pool-tedu]excluded-ip-address 192.168.1.250 192.168.1.253 //在基于全局的IP地址池中做地址排除,排除的IP地址不做dhcp分发 <R1> display ip pool name tedu all //查看全局IP地址池中全部地址信息 <R1> display ip pool name tedu used //查看全局IP地址池中已分发的IP地址 Pool-name : tedu Lease : 2 Days 0 Hours 0 Minutes DNS-server0 : 8.8.8.8 Gateway-0 : 192.168.1.254 Mask : 255.255.255.0 ----------------------------------------------------------------------------- 起始地址 结束地址 全部 已分发的地址 未分发的 冲突 排除的 Start End Total Used Idle(Expired) Conflict Disable ----------------------------------------------------------------------------- 192.168.1.1 192.168.1.254 253 2 250(0) 0 1 ----------------------------------------------------------------------------- Network section : -------------------------------------------------------------------------- Index IP MAC Lease Status -------------------------------------------------------------------------- 250 192.168.1.251 5489-9811-58ce 2346 Used 251 192.168.1.252 5489-985f-7ebf 1801 Used ```
4、基于接口的DHCP实验
1)拓扑
2)需求:PC1/PC2能够自动获取IP地址、网关、DNS
3)配置步骤:
第一步:在系统视图下开启DHCP功能
第二步:配置基于接口的DHCP
-配置接口的IP地址和掩码
-在接口下开启基于接口的DHCP功能
-在接口下配置DNS地址
-在接口下配置租期
4)配置命令
R1配置: [R1]dhcp enable //开启dhcp功能 [R1]int g0/0/0 [R1-G0/0/0]ip address 192.168.1.254 24 [R1-G0/0/0]dhcp select interface //开启基于接口的dhcp 功能 [R1-G0/0/0]dhcp server dns-list 8.8.8.8 [R1-G0/0/0]dhcp server lease day 1 验证与测试 : PC1和PC2选择获取地址的方式为DHCP 然后PC1和PC2在命令行中,使用ipconfig 命令查看IP地址
5、扩展小命令:
基于接口的dhcp: <R1>reset ip pool interface GigabitEthernet0/0/0 all //重置基于接口的IP地址池,把发出去的IP地址都回收 [R1-G0/0/0]dhcp server excluded-ip-address 192.168.1.250 192.168.1.253 //在接口下做地址排除,排除的IP地址不做dhcp分发, [R1]display ip pool interface GigabitEthernet0/0/0 used //查看接口地址池中已分发的IP地址 [R1]display ip pool interface GigabitEthernet0/0/0 all //查看接口地址池中全部地址信息 基于全局的dhcp: <R1>reset ip pool name tedu all //重置基于全局的IP地址池,回收IP地址 [R1-ip-pool-tedu]excluded-ip-address 192.168.1.250 192.168.1.253 //在基于全局的IP地址池中做地址排除,排除的IP地址不做dhcp分发 <R1> display ip pool name tedu all //查看全局IP地址池中全部地址信息 <R1> display ip pool name tedu used //查看全局IP地址池中已分发的IP地址 Pool-name : tedu Lease : 2 Days 0 Hours 0 Minutes DNS-server0 : 8.8.8.8 Gateway-0 : 192.168.1.254 Mask : 255.255.255.0 ----------------------------------------------------------------------------- 起始地址 结束地址 全部 已分发的地址 未分发的 冲突 排除的 Start End Total Used Idle(Expired) Conflict Disable ----------------------------------------------------------------------------- 192.168.1.1 192.168.1.254 253 2 250(0) 0 1 ----------------------------------------------------------------------------- Network section : -------------------------------------------------------------------------- Index IP MAC Lease Status -------------------------------------------------------------------------- 250 192.168.1.251 5489-9811-58ce 2346 Used 251 192.168.1.252 5489-985f-7ebf 1801 Used ```
扩展知识,仅供参考:DHCP工作过程详解: 1)客户端广播发DHCP Discover报文:作用:客户端请求IP地址 客户端这个时候没有IP地址,如何封装数据包中的源IP地址呢? 客户端并不清楚谁是DHCP服务器,如何封装数据包中的目的IP地址呢? 所以:源IP:0.0.0.0 目标IP:255.255.255.255 源MAC地址为客户端的MAC地址,目的MAC地址为全FFFF的广播MAC地址 &:客户端发送Discover报文的时候,携带自己的MAC地址 2)服务器单播回复DHCP Offer报文:作用:服务器给客户端分发IP地址、网关、DNS等 &:如果服务器中有很多IP地址池,服务器怎么判断应该给客户端分配那个地址池里面的IP地址呢? &:服务器根据接收客户端报文的那个接口所在的IP地址池,选择一个可用的IP地址,分给客户端 3)客户端广播发送DHCP Request报文:作用:客户端广播告知所有的服务器,选择了某某IP地址 &:DHCP服务器分配给客户端的IP地址,客户端不一定会用,服务器等待16秒, 如果16秒内客户端回复Request报文,IP地址就确定分配给客户端,如果16秒内, 客户端没有回应报文,服务器会把这个IP地址在分配给别的主机。 &:客户端发送Request报文的时候,是以广播方式发送,目的是告诉所有的DHCP服务器, 我已经选择好IP地址了,你们不要在给我发IP了,请把IP地址分配给其他的主机 4)服务器单播回复DHCP ACK报文 :作用:确认分配结果,只有发了ACK报文,客户端才可以使用IP &:DHCP客户端收到DHCP ACK报文,会广播发送免费ARP报文(源IP和目的IP都是自己的IP地址 ) 如果探测到这个IP地址绑定了别的MAC地址,就代表网络中有别的主机在使用这个IP地址, 会产生冲突,此时客户端会发送Decline (拒绝报文) 告知服务器,让服务器重新分配IP地址。 &:如果DHCP服务器由于某些原因不能将这个IP地址分配给客户端了 (比如,客户端回应Request报文过慢,超过16秒了,这个IP地址被别的主机抢走了), 这种情况,DHCP服务器,会回应DHCP NAK报文,告知客户端,你太慢了, 这个地址已经分配给别的主机了,你在从第一步开始,重新发 discover报文
7、DHCP客户端重用曾经使用过的地址的工作原理
1) 选择阶段:客户端广播发送DHCP Request报文,请求曾经使用过的IP地址。
2) 确认阶段:服务器单播回复DHCP ACK报文,通知DHCP客户端继续使用这个IP地址
8、租期
1)租期T1:
&:当IP地址的租用时间到达50%时,客户机会以单播方式向服务器发送Request 请求报文,请求更新IP地址租期。
&:DHCP 服务器如果回复DHCP ACK确认报文给客户机,代表租期更新成功,从0开始
2)租期T2
&:如果DHCP服务器一直没有回应,那么在IP地址的租用时间到达87.5%时,客户机会以广播方式向服务器发送Request 请求报文,请求更新IP地址租期
&:DHCP服务器如果回复DHCP ACK 确认报文给客户机,代表租期更新成功,从0开始