BFD、DHCP协议的基本概念与配置

目录

一、BFD

1、BFD概述

2、BFD多跳检测实验

3、VRRP和BFD联动实验

二、DHCP

1、DHCP概述

2、DHCP服务器给首次接入网络的客户端分配网络参数的工作原理

3、DHCP工作过程解析:

3、基于全局的DHCP实验

4、基于接口的DHCP实验

5、扩展小命令:

7、DHCP客户端重用曾经使用过的地址的工作原理

8、租期


一、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开始

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值