B模块 安全通信网络 第二门课 核心网路由技术-2-BGP-邻居-全互联

今日目标

01 BGP概述

02 BGP基本概念

03 EBGP配置

04 邻居表和路由表

05 IBGP配置

06 IBGP全互联


1 BGP概述

动态路由分类

  • IGP:内部网关协议
    √ AS内部使用IGP来计算和发现路由,如OSPF
  • EGP:外部网关协议
    √ AS与AS之间使用BGP来传递和控制路由

AS

  • AS:自治系统
    √ AS:Autonomous System自治系统
    √ 每个自治系统都有唯一的一个编号,即AS号
  • 2字节AS号范围是0-65535
    √ 1-64511为公有AS,64512-65535为私有AS
  • 4字节AS号范围是0-4294967295
    √ 4200000000-4294967295为私有AS号
  • 网络规模扩大,路由数量不断增长,IGP已无法管理,AS的概念诞生
  • AS与AS之间通信需要使用哪种路由协议
  • 在AS之间使用BGP协议进行路由传递

BGP发展历史

BGP在企业中的应用

BGP概述

  • BGP:Border Gateway Protocol边界网关协议
    √ 作用:实现在AS与AS之间动态交换路由信息
    √ 稳定:BGP是基于TCP协议建立的,使用端口号TCP179,非常稳定
    √ 2006年之后单播1PV4网络使用的版本是BGP-4
    √ IPV6使用的版本是MP-BGP

BGP特点

  • 稳定性非常高
  • 传递大量路由
  • 丰富的路由控制策略

2 BGP基本概念

BGP特征

  • 路由器之间的BGP会话基于TCP连接而建立。
  • 运行BGP的路由器被称为BGP发言者(BGP Speaker)),或BGP路由器。
  • 两个建立BGP会话的路由器互为对等体(Peer),BGP对等体之间交换BGP路由表。
  • BGP路由器只发送增量的BGP路由更新,或进行触发式更新(不会周期性更新)
  • BGP能够传递大批量的路由,可在大规模网络中应用。

BGP邻居类型

  • BGP邻居类型
    √ EBGP:运行于不同AS之间
    √ IBGP:运行于同一AS内部

BGP报文

  • BGP邻居的建立过程主要有5种报文

BGP邻居关系建立

BGP邻居传递路由

BGP状态机

  • BGP状态机

3 EBGP配置

EBGP配置

  • 配置EBGP邻居关系

配置命令

  • 配置R1
bash 复制代码
bgp 100               #启动BGP进程,指定AS号
  router-id 1.1.1.1     #配置BGP的Router--id
  peer192.168.12.2as-number200      #指定邻居地址和AS号
  network192.168.1.024               #注入路由
  • 配置R2
bash 复制代码
bgp 200
  router-id 2.2.2.2
  peer 192.168.12.1 as-number 100
  network192.168.2.024

验证与测试

  • 验证与测试
bash 复制代码
display bgp peer
display bgp routing-table
PC1>ping 192.168.2.1

BGP路由的生成

  • 如何产生路由
    √ 不同于IGP路由协议,BGP并不会发现并计算产生路由
    √ BGP只会将GP路由表中已经存在的路由"搬"到BGP路由表中,称为注入路由
    √ BGP将注入的路由通过Update:报文"传递"给BGP邻居
  • BGP注入路由的方式有两种:
    √ Network
    √ import-route

BGP注入路由方式

  • Network
    √ Network只会注入IP路由表中已经存在的路由条目
    √ Network优势是精确注入,不足是只能逐条注入路由,配置繁琐
  • import-route
    import-router可以注入批量路由,可以将其他协议的路由注入BGP路由表
    √ 注入直连路由
    √ 注入静态路由
    √ 注入OSPF路由

4 邻居表和路由表

BGP邻居表

BGP路由表

5 IBGP配置

IBGP配置

  • 实现AS100内R4的10.10.4.4和AS300内R5的10.10.5.5互通

IBGP配置步骤

  • 配置步骤:
    √ R4和R1建立EBGP邻居关系
    √ AS200内部R1/R2/R3部署OSPF
    √ R1和R3建立IBGP邻居关系
    √ R3和R5建立EBGP邻居关系
    √ R4和R5中使用network:注入路由

配置命令

  • 配置R4
bash 复制代码
[R4]bgp 100
[R4-bgp]router-id 4.4.4.4
[R4-bgp]peer192.168.14.1as200     #和R1建立EBGP邻居
[R4-bgp]network 10.10.4.432       #注入路由
  • 配置R1
bash 复制代码
[R1]bgp 200
[R1-bgp]router-id 1.1.1.1
[R1-bgp]peer 192.168.14.4 as 100      #和R4建立EBGP邻居
[R1-bgp]peer 192.168.23.3 as 200       #和R3建立IBGP邻居
[R1-bgp]peer 192.168.23.3 next-hop-local     #修改下一跳地址
  • 配置R3
bash 复制代码
[R3]bgp 200
[R3-bgp]router-id 3.3.3.3
[R3-bgp]peer 192.168.12.1 as 200    #和R1建立内部邻居
[R3-bgp]peer 192.168.12.1 next-hop-local   #修改下一跳
[R3-bgp]peer 192.168.35.5 as 300      #和R5建立外部邻居
  • 配置R5
bash 复制代码
[R5]bgp 300
[R5-bgp]router-id 5.5.5.5
[R5-bgp]peer 192.168.35.3 as 200      #和R3建立外部邻居
[R5-bgp]network 10.10.5.5 32      #注入路由

验证与测试

  • 验证与测试
bash 复制代码
dis ospf peer br	:查看ospf邻居
dis bgp peer			:查看bgp邻居关系
dis bgp routing-table		:查看BGP路由表
dis ip routing-table			:查看lP核心路由表
在R4中 ping -a 10.10.4.4 10.10.5.5

Next_Hop

  • BGP路由中的Next_Hop属性设置规则:
    √ BGP路由器在向EBGP邻居发布路由时,会把该路由的下一跳设置为本地与对端建立BGP邻居关系的接口地址。
    √ BGP路由器将本地始发路由发布给BGP邻居时,会把该路由的下一跳设置为本地与对端建立BGP邻居关系的接口地址。
    √ 路由器在收到EBGP邻居发布的路由后,在将路由传递给自己的BGP邻居时,默认不修改路由的下一跳地址。

Next_Hop的缺省操作

  • BGP路由器在向EBGP邻居发布路由时,会把该路由的下一跳设置为本地与对端建立BGP邻居关系的接口地址。
  • 路由器在收到EBGP邻居发布的路由后,在将路由传递给自己的BGP邻居时,默认不修改路由的下一跳地址。
  • 使用peer next-hop-locali命令可以在设置向BGP对等体通告路由时,把下一跳设为本地与对端建立BGP邻居关系的接口地址。

6 IBGP全互联

IBGP全互联

  • 实现AS100内R4的10.10.4.4和AS300内R5的10.10.5.5互通

IBGP配置步骤

  • 配置步骤:
    √ R4和R1建立EBGP邻居关系
    √ AS200内部R1/R2/R3部署OSPF
    √ R1/R2/R3建立IBGP全互联
    √ R3和R5建立EBGP邻居关系
    √ R4和R5中使用network:注入路由

配置命令

  • 配置R4
bash 复制代码
[R4] bgp 100
[R4-bgp]router-id 4.4.4.4
[R4-bgp]peer 192.168.14.1 as 200     #和R1建立EBGP
[R4-bgp]network 10.10.4.4      #注入路由
  • 配置R1
bash 复制代码
[R1]bgp 200
[R1-bgp]router-id 1.1.1.1
[R1-bgp]peer 192.168.14.4 as 100       #和R4建立EBGP邻居
[R1-bgp]peer 192.168.12.2 as 200       #和R2建立EBGP邻居
[R1-bgp]peer 192.168.12.2 next-hop-local    #修改下一跳
[R1-bgp]peer 192.168.23.3 as 200       #和R3建立EBGP邻居
[R1-bgp]peer 192.168.23.3 next-hop-local    #修改下一跳
  • 配置R2
bash 复制代码
[R2]bgp 200
[R2-bgp]route-id 3.3.3.3
[R2-bgp]peer 192.168.12.1 as 200       #和R1建立IBGP邻居
[R2-bgp]peer 192.168.23.3 as 200       #和R3建立IBGP邻居
  • 配置R3
bash 复制代码
[R3]bgp 200
[R3-bgp]router-id 3.3.3.3
[R3-bgp]peer 192.168.23.2 as 200       #和R2建立IBGP邻居
[R3-bgp]peer 192.168.23.2 next-hop-local    #修改下一跳
[R3-bgp]peer 192.168.12.1 as 200       #和R1建立IBGP邻居
[R3-bgp]peer 192.168.12.1 next-hop-local    #修改下一跳
[R3-bgp]peer 192.168.35.5 as 300       #和R5建立EBGP邻居
  • 配置R5
bash 复制代码
[R5]bgp 300
[R5-bgp]router-id 5.5.5.5
[R5-bgp]peer 192.168.35.3 as 200       #和R3建立EBGP邻居
[R5-bgp]network 10.10.5.5 32           #注入路由

验证与测试

  • 验证与测试
bash 复制代码
dis ospf peer br		:查看ospf邻居
dis bgp peer			:查看bgp邻居关系
dis bgp routing-table		:查看BGP路由表
dis ip routing-table		:查看ip核心路由表
在R4中ping -a 10.10.4.4 10.10.5.5

案例

  • 配置IBGP邻居
  • IBGP配置
  • IBGP全互联

1 配置IBGP邻居

1.1 问题

配置EBGP邻居关系、实现网络互通

1.2 方案

搭建实验环境,如图所示。

1.3 步骤

实现此案例需要按照如下步骤进行。

  • 1)配置终端设备 - PC1
bash 复制代码
地址: 192.168.1.1

掩码: 255.255.255.0

网关: 192.168.1.254
  • 2)配置终端设备 - PC2
bash 复制代码
地址: 192.168.2.1

掩码: 255.255.255.0

网关: 192.168.2.254
  • 3)配置网络设备 - R1
bash 复制代码
sysname R1
#
interface GigabitEthernet0/0/0
 ip address 192.168.1.254 255.255.255.0 
#
interface GigabitEthernet0/0/1
 ip address 192.168.12.1 255.255.255.0 
#
bgp 100
 router-id 1.1.1.1
 peer 192.168.12.2 as-number 200 
 network 192.168.1.0 24
  • 4)配置网络设备 -- R2
bash 复制代码
sysname R2
#
interface GigabitEthernet0/0/0
 ip address 192.168.12.2 255.255.255.0 
#
interface GigabitEthernet0/0/1
 ip address 192.168.2.254 255.255.255.0 
#
bgp 200
 router-id 2.2.2.2
 peer 192.168.12.1 as-number 100 
 network 192.168.2.0 24
  • 5)测试
bash 复制代码
<R1>display bgp peer
<R1>display bgp routing-table

2 IBGP配置

2.1 问题

实现AS100内的10.10.4.4 和AS300内的10.10.5.5互通

2.2 方案

搭建实验环境,如图所示。

2.3 步骤

实现此案例需要按照如下步骤进行。

  • 配置网络设备 -- R4

  • R4的配置:

  • 1)R4的接口配置:

bash 复制代码
[R4]int g0/0/0
[R4-G0/0/0]ip add 192.168.14.4 24
[R4-G0/0/0]int lo0
[R4-LoopBack0]ip add 10.10.4.4 32
  • 2)R4的BGP配置:
bash 复制代码
[R4]bgp 100
[R4-bgp]router-id 4.4.4.4
[R4-bgp]peer 192.168.14.1 as 200    //和R1建立外部邻居
[R4-bgp]network 10.10.4.4 32        //注入路由
  • 配置网络设备 -- R1

  • R1的配置:

  • 1)R1的接口配置:

bash 复制代码
[R1]int g0/0/0
[R1-G0/0/0]ip add 192.168.12.1 24
[R1-G0/0/0]int g0/0/1
[R1-G0/0/1]ip add 192.168.14.1 24
  • 2)R1的OSPF配置:
bash 复制代码
[R1]ospf 1 router-id 1.1.1.1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 192.168.12.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]quit
[R1-ospf-1]quit
  • 3)R1的BGP配置:
bash 复制代码
[R1]bgp 200  //开启BGP,配置AS200
[R1-bgp]router-id 1.1.1.1
[R1-bgp]peer 192.168.14.4 as 100      //和R4建立外部邻居
[R1-bgp]peer 192.168.23.3 as 200      //和R3建立内部邻居
[R1-bgp]peer 192.168.23.3 next-hop-local   //修改下一跳
  • 配置网络设备 -- R2

  • R2的配置:

  • 1)R2的接口配置:

bash 复制代码
[R2]int g0/0/0
[R2-G0/0/0]ip add 192.168.12.2 24
[R2-G0/0/0]int g0/0/1
[R2-G0/0/1]ip add 192.168.23.2 24
  • 2)R2的ospf配置:
bash 复制代码
[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 192.168.12.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 192.168.23.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]quit
  • 配置网络设备 -- R3

  • R3的配置:

  • 1)R3的接口配置:

bash 复制代码
[R3]int g0/0/0
[R3-G0/0/0]ip add 192.168.23.3 24
[R3-G0/0/0]int g0/0/1
[R3-G0/0/1]ip add 192.168.35.3 24
  • 2)R3的OSPF配置
bash 复制代码
[R3]ospf 1 router-id 3.3.3.3
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 192.168.23.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]quit
[R3-ospf-1]quit
  • 3)R3的BGP配置:
bash 复制代码
[R3]bgp 200
[R3-bgp]router-id 3.3.3.3
[R3-bgp]peer 192.168.12.1 as 200    //和R1建立内部邻居
[R3-bgp]peer 192.168.12.1 next-hop-local  //修改下一跳
[R3-bgp]peer 192.168.35.5 as 300    //和R5建立外部邻居
  • 配置网络设备 -- R5
  • R5的配置:
  • 1)R5的接口配置:
bash 复制代码
[R5]int g0/0/0
[R5-G0/0/0]ip add 192.168.35.5 24
[R5-G0/0/0]int lo0
[R5-LoopBack0]ip add 10.10.5.5 32
  • 2)R5的BGP配置:
bash 复制代码
[R5]bgp 300
[R5-bgp]router-id 5.5.5.5
[R5-bgp]peer 192.168.35.3 as 200   //和R3建立外部邻居
[R5-bgp]network 10.10.5.5 32       //注入路由
  • 验证方法:
bash 复制代码
1)dis ospf peer br    :查看ospf 邻居
2)dis bgp peer        :查看bgp邻居关系
3)dis bgp routing-table     :查看BGP路由表
4)dis ip routing-table    :查看IP核心路由表
5)在R4中 ping -a 10.10.4.4 10.10.5.5  

3 IBGP全互联

3.1 问题

  • 1)配置BGP邻居关系

  • 2)实现AS100内R4的10.10.4.4 和AS300内R5的10.10.5.5互通

3.2 方案

搭建实验环境,如图所示。

3.3 步骤

实现此案例需要按照如下步骤进行。

  • 1)配置网络设备 -- R4
  • 1)R4的接口配置:
bash 复制代码
[R4]int g0/0/0
[R4-G0/0/0]ip add 192.168.14.4 24
[R4-G0/0/0]int lo0
[R4-LoopBack0]ip add 10.10.4.4 32
  • 2)R4的BGP配置:
bash 复制代码
[R4]bgp 100
[R4-bgp]router-id 4.4.4.4
[R4-bgp]peer 192.168.14.1 as 200    //和R1建立外部邻居
[R4-bgp]network 10.10.4.4 32        //注入路由
  • 2)配置网络设备 -- R1
  • R1的配置:
  • 1)R1的接口配置:
bash 复制代码
[R1]int g0/0/0
[R1-G0/0/0]ip add 192.168.12.1 24
[R1-G0/0/0]int g0/0/1
[R1-G0/0/1]ip add 192.168.14.1 24
  • 2)R1的OSPF配置:
bash 复制代码
[R1]ospf 1 router-id 1.1.1.1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 192.168.12.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]quit
[R1-ospf-1]quit
  • 3)R1的BGP配置:
bash 复制代码
[R1]bgp 200  //开启BGP,配置AS200
[R1-bgp]router-id 1.1.1.1
[R1-bgp]peer 192.168.14.4 as 100      //和R4建立外部邻居
[R1-bgp]peer 192.168.12.2 as 200      //和R2建立内部邻居
[R1-bgp]peer 192.168.12.2 next-hop-local   //修改下一跳
[R1-bgp]peer 192.168.23.3 as 200      //和R3建立内部邻居
[R1-bgp]peer 192.168.23.3 next-hop-local   //修改下一跳
  • 3)配置网络设备 -- R2

  • R2的配置:

  • 1)R2的接口配置:

bash 复制代码
[R2]int g0/0/0
[R2-G0/0/0]ip add 192.168.12.2 24
[R2-G0/0/0]int g0/0/1
[R2-G0/0/1]ip add 192.168.23.2 24
  • 2)R2的ospf配置:
bash 复制代码
[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 192.168.12.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 192.168.23.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]quit
  • 3)R2的BGP配置:
bash 复制代码
[R2]bgp 200
[R2-bgp]router-id 2.2.2.2
[R2-bgp]peer 192.168.12.1 as 200    //和R1建立内部邻居
[R2-bgp]peer 192.168.23.3 as 200    //和R3建立内部邻居
  • 4)配置网络设备 -- R3
  • R3的配置:
  • 1)R3的接口配置:
bash 复制代码
[R3]int g0/0/0
[R3-G0/0/0]ip add 192.168.23.3 24
[R3-G0/0/0]int g0/0/1
[R3-G0/0/1]ip add 192.168.35.3 24
  • 2)R3的OSPF配置
bash 复制代码
[R3]ospf 1 router-id 3.3.3.3
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 192.168.23.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]quit
[R3-ospf-1]quit
  • 3)R3的BGP配置:
bash 复制代码
[R3]bgp 200
[R3-bgp]router-id 3.3.3.3
[R3-bgp]peer 192.168.23.2 as 200    //和R2建立内部邻居
[R3-bgp]peer 192.168.23.2 next-hop-local  //修改下一跳
[R3-bgp]peer 192.168.12.1 as 200     //和R1建立内部邻居
[R3-bgp]peer 192.168.12.1 next-hop-local  //修改下一跳
[R3-bgp]peer 192.168.35.5 as 300    //和R5建立外部邻居
  • 5)配置网络设备 -- R5

  • R5的配置:

  • 1)R5的接口配置:

bash 复制代码
[R5]int g0/0/0
[R5-G0/0/0]ip add 192.168.35.5 24
[R5-G0/0/0]int lo0
[R5-LoopBack0]ip add 10.10.5.5 32
  • 2)R5的BGP配置:
bash 复制代码
[R5]bgp 300
[R5-bgp]router-id 5.5.5.5
[R5-bgp]peer 192.168.35.3 as 200   //和R3建立外部邻居
[R5-bgp]network 10.10.5.5 32       //注入路由
  • 6)验证与测试
bash 复制代码
1)<R2>dis ospf peer br     //在R2中查看ospf 邻居
2)<R1>ping 192.168.23.3    //在R1 ping  R3 通
3)<R1>dis bgp peer    //R1和R2 R3  R4 都是BGP邻居
4)<R3>dis bgp peer     //R3和R1 R2  R5 都是BGP邻居
5)<R4>dis bgp routing-table     //所有的路由器都有这两条路由
6)<R4>ping -a 10.10.4.4  10.10.5.5      //可以通

看到这里,相信你已经学到了!不要吝啬一键三连,谢谢🙏!

相关推荐
learning-striving2 小时前
ospf综合配置实验
网络·ensp
会飞的老朱2 小时前
从被动应对到主动防控:大型制造集团安全管理数字化升级实践
人工智能·安全·制造·oa协同办公
上海云盾-高防顾问2 小时前
DDoS防护方案性价比分析:不同企业该怎么选?
网络·ddos
小快说网安2 小时前
拆解 DDoS 攻击套路:抗 D 防护的主动防御与应急响应机制
网络·ddos·网络攻击·高防ip
小快说网安2 小时前
硬核解析:高防 IP 是如何拦截 DDoS 攻击的?从清洗中心到流量调度
网络·tcp/ip·网络安全·ddos
2301_765715142 小时前
TCP/IP协议深度解析与应用场景
网络·tcp/ip·php
北京耐用通信3 小时前
耐达讯自动化Profibus总线光纤中继器:破解石油化工分析仪器通讯难题
网络·人工智能·科技·物联网·网络协议·自动化·信息与通信
日更嵌入式的打工仔3 小时前
固态硬盘接口体系
网络·笔记
e***98573 小时前
TCP/IP协议栈全解析:从基础到未来
网络·网络协议·tcp/ip