实验拓扑图
实验目的和需求
掌握bgp协议的基本原理和功能,了解ebgp和ibgp的区别和作用,学习如何配置bgp进程、建立对等体关系、引入和宣告路由、修改路由属性和控制选路策略,观察并分析bgp路由信息在不同AS之间的交换和传递过程。
需求:让r1和r5能过互相访问对方的5.5.5.5和1.1.1.1。
实验步骤
-
基本配置:配置路由器的名称、接口IP地址、环回口等基本参数。
-
配置IGP协议:在同一个AS内部,配置IGP(这里以OSPF为例)协议,实现内部网络互通。
-
配置BGP协议:在不同AS之间,配置BGP进程、邻居关系等参数,建立ebgp或ibgp连接。
-
路由宣告和引入:在BGP进程中,使用network命令宣告本地路由或使用import命令引入其他协议的路由,并观察邻居间的路由更新信息。
-
用户测试:在各个网络节点上,使用ping或traceroute等工具测试网络连通性和数据流向
-
基本配置
各个路由器的端口ip地址配置如下
[r1]dis ip int brief Interface IP Address/Mask Physical Protocol GigabitEthernet0/0/0 12.1.1.1/24 up up LoopBack0 1.1.1.1/32 up up(s)
[r2]dis ip int briefInterface IP Address/Mask Physical Protocol GigabitEthernet0/0/0 12.1.1.2/24 up up GigabitEthernet0/0/1 23.1.1.2/24 up up LoopBack0 2.2.2.2/32 up up(s)
[r3]dis ip int brief Interface IP Address/Mask Physical Protocol GigabitEthernet0/0/1 23.1.1.3/24 up up GigabitEthernet0/0/2 34.1.1.3/24 up up LoopBack0 3.3.3.3/32 up up(s)
[r4]dis ip int brief Interface IP Address/Mask Physical Protocol GigabitEthernet0/0/0 45.1.1.4/24 up up GigabitEthernet0/0/2 34.1.1.4/24 up up LoopBack0 4.4.4.4/32 up up(s)
[r5]dis ip int brief Interface IP Address/Mask Physical Protocol GigabitEthernet0/0/0 45.1.1.5/24 up up LoopBack0 5.5.5.5/32 up up(s)
-
配置IGP协议
在同一个AS内部,配置IGP(这里以OSPF为例)协议,实现内部网络互通,为BGP协议打底,因为想要建立起BGP的邻居关系,要跟邻居TCP可达,也就是能够通信。
[r2]ospf 1 area 0.0.0.0 #interface GigabitEthernet0/0/1 ospf enable 1 area 0.0.0.0#interface LoopBack0 ospf enable 1 area 0.0.0.0
[r3]ospf 1 area 0.0.0.0 network 0.0.0.0 255.255.255.255
[r4]ospf 1 area 0.0.0.0 #interface GigabitEthernet0/0/2 ospf enable 1 area 0.0.0.0#interface LoopBack0 ospf enable 1 area 0.0.0.0
-
配置BGP协议
-
在R1上配置BGP进程和EBGP邻居关系。
[r1]bgp 100 router-id 1.1.1.1 peer 12.1.1.2 as-number 200
-
在R2上配置BGP进程,EBGP邻居关系和IBGP邻居关系。
[r2]bgp 200 router-id 2.2.2.2 peer 4.4.4.4 as-number 200 peer 4.4.4.4 connect-interface LoopBack0 peer 12.1.1.1 as-number 100 peer 4.4.4.4 next-hop-local
-
在R4上配置BGP进程,EBGP邻居关系和IBGP邻居关系。
注意:r3上不需要配置bgp协议。
[r4]bgp 200 router-id 4.4.4.4 peer 2.2.2.2 as-number 200 peer 2.2.2.2 connect-interface LoopBack0 peer 45.1.1.5 as-number 300 peer 2.2.2.2 next-hop-local
-
在R5上配置BGP进程,EBGP邻居关系。
[R5]bgp 300 router-id 5.5.5.5 peer 45.1.1.4 as-number 200
-
查检查R1 R2 R4 R5的邻居关系是否起来。
[r1]dis bgp peer Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv 12.1.1.2 4 200 41 40 0 00:37:35 Established 2
[r2]dis bgp peer Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv 4.4.4.4 4 200 40 42 0 00:37:55 Established 1 12.1.1.1 4 100 41 43 0 00:38:23 Established 1
[r4]dis bgp peer Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv 2.2.2.2 4 200 42 41 0 00:38:24 Established 2 45.1.1.5 4 300 41 42 0 00:38:54 Established 1
[r5]dis bgp peer Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv 45.1.1.4 4 200 42 42 0 00:39:26 Established 1
状态为Established 表示邻居关系建立成功。
-
路由宣告和引入
-
在BGP进程中,使用network命令宣告本地路由或使用import命令引入其他协议的路由,并观察邻居间的路由更新信息。
[r1]bgp 100 network 1.1.1.1 255.255.255.255
[r5]bgp 300 network 5.5.5.5 255.255.255.255
-
查看路由更新信息
[r1-bgp]dis bgp routing-table Network NextHop MED LocPrf PrefVal Path/Ogn *> 1.1.1.1/32 0.0.0.0 0 0 i *> 5.5.5.5/32 12.1.1.2 0 200 300i
[r5-bgp]dis bgp routing-table Network NextHop MED LocPrf PrefVal Path/Ogn *> 1.1.1.1/32 45.1.1.4 0 200 100i *> 5.5.5.5/32 0.0.0.0 0 0 i
[r2]dis bgp routing-table Network NextHop MED LocPrf PrefVal Path/Ogn *> 1.1.1.1/32 12.1.1.1 0 0 100i *>i 5.5.5.5/32 4.4.4.4 0 100 0 300i
[r4]dis bgp routing-table Network NextHop MED LocPrf PrefVal Path/Ogn *>i 1.1.1.1/32 2.2.2.2 0 100 0 100i *> 5.5.5.5/32 45.1.1.5 0 0 300i
-
此时路由已经传过去了,但是r1和r5之间现在是ping不通的,因为在r3中出现了路由黑洞,它没有去往r1和r5的路由
[r3]dis ip routing-tableRoute Flags: R - relay, D - download to fib------------------------------------------------------------------------------Routing Tables: Public Destinations : 13 Routes : 13 Destination/Mask Proto Pre Cost Flags NextHop Interface 2.2.2.2/32 OSPF 10 1 D 23.1.1.2 GigabitEthernet0/0/1 3.3.3.3/32 Direct 0 0 D 127.0.0.1 LoopBack0 4.4.4.4/32 OSPF 10 1 D 34.1.1.4 GigabitEthernet0/0/2 23.1.1.0/24 Direct 0 0 D 23.1.1.3 GigabitEthernet0/0/1 23.1.1.3/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1 23.1.1.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1 34.1.1.0/24 Direct 0 0 D 34.1.1.3 GigabitEthernet0/0/2 34.1.1.3/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/2 34.1.1.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/2 127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0 127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
这时我们要在r2和r4中的ospf进程下引入bgp路由,让r3学习到这两条路由。
[r2]ospf 1[r2-ospf-1]import-route bgp
[r4]ospf 1[r4-ospf-1]import-route bgp
此时再去看r3的路由表。
[r3]dis ip routing-table Route Flags: R - relay, D - download to fib------------------------------------------------------------------------------Routing Tables: Public Destinations : 15 Routes : 15 Destination/Mask Proto Pre Cost Flags NextHop Interface 1.1.1.1/32 O_ASE 150 1 D 23.1.1.2 GigabitEthernet0/0/1 2.2.2.2/32 OSPF 10 1 D 23.1.1.2 GigabitEthernet0/0/1 3.3.3.3/32 Direct 0 0 D 127.0.0.1 LoopBack0 4.4.4.4/32 OSPF 10 1 D 34.1.1.4 GigabitEthernet0/0/2 5.5.5.5/32 O_ASE 150 1 D 34.1.1.4 GigabitEthernet0/0/2 23.1.1.0/24 Direct 0 0 D 23.1.1.3 GigabitEthernet0/0/1 23.1.1.3/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1 23.1.1.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1 34.1.1.0/24 Direct 0 0 D 34.1.1.3 GigabitEthernet0/0/2 34.1.1.3/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/2 34.1.1.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/2 127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0 127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
r3学习到了去往1.1.1.1和5.5.5.5的路由。
-
用户测试
ping -a 1.1.1.1 5.5.5.5 PING 5.5.5.5: 56 data bytes, press CTRL_C to break Reply from 5.5.5.5: bytes=56 Sequence=1 ttl=252 time=40 ms Reply from 5.5.5.5: bytes=56 Sequence=2 ttl=252 time=50 ms Reply from 5.5.5.5: bytes=56 Sequence=3 ttl=252 time=30 ms Reply from 5.5.5.5: bytes=56 Sequence=4 ttl=252 time=30 ms Reply from 5.5.5.5: bytes=56 Sequence=5 ttl=252 time=40 mstracert -a 1.1.1.1 5.5.5.5 traceroute to 5.5.5.5(5.5.5.5), max hops: 30 ,packet length: 40,press CTRL_C to break 1 12.1.1.2 30 ms 10 ms 10 ms 2 23.1.1.3 20 ms 20 ms 20 ms 3 34.1.1.4 50 ms 30 ms 30 ms 4 45.1.1.5 30 ms 40 ms 40 ms
ping -a 5.5.5.5 1.1.1.1 PING 1.1.1.1: 56 data bytes, press CTRL_C to break Reply from 1.1.1.1: bytes=56 Sequence=1 ttl=252 time=40 ms Reply from 1.1.1.1: bytes=56 Sequence=2 ttl=252 time=40 ms Reply from 1.1.1.1: bytes=56 Sequence=3 ttl=252 time=40 ms Reply from 1.1.1.1: bytes=56 Sequence=4 ttl=252 time=50 ms Reply from 1.1.1.1: bytes=56 Sequence=5 ttl=252 time=40 mstracert -a 5.5.5.5 1.1.1.1 traceroute to 1.1.1.1(1.1.1.1), max hops: 30 ,packet length: 40,press CTRL_C to break 1 45.1.1.4 20 ms 30 ms 20 ms 2 34.1.1.3 20 ms 20 ms 20 ms 3 23.1.1.2 40 ms 20 ms 30 ms 4 12.1.1.1 40 ms 30 ms 40 ms
实验完成。
-
总结
BGP协议是一种用于在不同自治系统(AS)之间交换网络层可达性信息的路由选择协议。BGP协议的特点有以下几点:
-
BGP是基于策略的路由选择协议,它不使用传统的内部网关协议(IGP)的指标,而使用基于路径、网络策略或规则集来决定路由。
-
BGP使用TCP作为其传输层协议,提高了协议的可靠性。BGP报文有五种类型:Open、Update、Notification、Keepalive和Route-refresh。
-
BGP有两种运行模式:内部BGP(iBGP)和外部BGP(eBGP)。iBGP用于在同一个AS内部交换路由信息,eBGP用于在不同AS之间交换路由信息。
-
BGP维护自己的主路由表,称为Loc-RIB(本地路由信息库),以及针对每个邻居的Adj-RIB-In(入站邻接路由信息库)和Adj-RIB-Out(出站邻接路由信息库)。
-
BGP有六种状态,分别是Idle、Connect、Active、Open-Sent、Open-Confirm和Established。只有当双方都处于Established状态时,才能交换路由信息。
-
BGP具有丰富的路由属性,可以对特定的路由进行描述、过滤和选择。常用的属性有Origin、AS_Path、Next-Hop等。
来源地址:https://blog.csdn.net/weixin_72910567/article/details/129651195