IGP和BGP路由协议配合降低非核心路由器的路由容量的实验与总结
一、结论
通过eBGP协议,可以显著降低对非核心路由器的路由容量要求,因为核心路由器的数量明显少于非核心路由器,所以,通过此措施既可以连通网络,又降低路由器的硬件设备要求,非常适宜大型网络架构设计。
二、背景介绍
1、随着网络规模变大,路由器的路由表容量也需要变大,为了应对该问题,业界提出对网络进行分域自治的思想,自治域内运行IGP协议,自治域间运行BGP协议。
2、常用的IGP协议是OSPF,BGP协议就是BGP-4(version 4).
三、本文的意义
本文使用了eNSP软件工具进行建模,模拟两个自治域之间,通过BGP-4协议进行互通互联,自治域内部使用OSPF进行互联互通的场景,通过对本文的阅读和理解,有助于对IGP协议(OSPF)和BGP协议加深理解。
四、网络组网和配置
1、网络组网图和接口ip配置,如下图。
说明:
(1) 为了降低网络复杂度,网络采用分域的思路组建,全网分为3个自治域,第一个自治域内有3台路由器(R1, R2, R3) ,AS号为65008 ,第二个自治域内有3台路由器(R4,R5,R6),AS号为 65009,第三个自治域内有2台路由器(PE1,PE2),AS号为65100。第三个自治域连接两个独立的自治域,所以中间的路由器又称为核心路由器。
另外,R3、PE1、PE2、R4是自治域的边界路由器。
(2) 自治域内运行OSPF协议,PE1和PE2属于相同自治域,所以之间运行iBGP协议,R3和PE1之间,以及PE2和R4属于不同自治域,所以之间运行eBGP协议。
2、第一个自治域AS65008内的IGP配置如下:
R1、R2、R3运行OSPF协议,并且R3作为边界路由器,在整个自治域内通告默认路由。
R1上的配置如下:
#
ospf 1
area 0.0.0.0
network 1.0.0.0 0.0.0.255
network 10.0.0.0 0.0.0.255
#
R2上的配置如下:
#
ospf 1
area 0.0.0.0
network 2.0.0.0 0.0.0.255
network 20.0.0.0 0.0.0.255
#
R3上的配置如下:
#
ospf 1
default-route-advertise ---->解释: 自治域内通告默认路由的第二步,通过OSPF通告出去。
area 0.0.0.0
network 10.0.0.0 0.0.0.255
network 20.0.0.0 0.0.0.255
#
ip route-static 0.0.0.0 0.0.0.0 30.0.0.2 ---->解释: 自治域内通告默认路由的第一步,自己先配置默认路由。
#
3、第二个自治域AS65009内的IGP配置如下,并且R4作为边界路由器,在整个自治域内通告默认路由。
R4、R5、R6运行OSPF协议,并且R4作为边界路由器,在整个自治域内通告默认路由。
R4上的配置如下:
#
ospf 1
default-route-advertise ---->解释: 自治域内通告默认路由
area 0.0.0.0
network 40.0.0.0 0.0.0.255
network 50.0.0.0 0.0.0.255
#
ip route-static 0.0.0.0 0.0.0.0 70.0.0.1
#
R5上的配置如下:
#
ospf 1
area 0.0.0.0
network 4.0.0.0 0.0.0.255
network 40.0.0.0 0.0.0.255
#
R6上配置如下:
#
ospf 1
area 0.0.0.0
network 5.0.0.0 0.0.0.255
network 50.0.0.0 0.0.0.255
#
4、第三个自治域AS65100的两个PE上不需要运行OSPF协议,只需要运行BGP协议,iBGP和eBGP是一起配置的,如下:
PE1的配置:
#
bgp 65100
router-id 172.0.60.1
peer 30.0.0.1 as-number 65008 ---> 解释:eBGP配置
peer 60.0.0.2 as-number 65100 ---> 解释:iBGP配置
#
ipv4-family unicast
undo synchronization
network 30.0.0.0 255.255.255.0
network 60.0.0.0 255.255.255.0
peer 30.0.0.1 enable
peer 60.0.0.2 enable
#
PE2的配置如下:
#
bgp 65100
router-id 172.0.60.2
peer 60.0.0.1 as-number 65100
peer 70.0.0.2 as-number 65009
#
ipv4-family unicast
undo synchronization
network 60.0.0.0 255.255.255.0
network 70.0.0.0 255.255.255.0
peer 60.0.0.1 enable
peer 70.0.0.2 enable
#
5、R3和R4作为自治域的边界路由器,其上运行BGP协议,配置如下:
R3配置如下:
#
bgp 65008 ---> 解释:本自治域号
router-id 172.0.30.1 ---> 解释:本自治域号, router-id标识自己
peer 30.0.0.2 as-number 65100 ---> 解释:BGP邻居与邻居的AS号,由于邻居的AS号与本域的AS号不同,所以是eBGP
#
ipv4-family unicast
undo synchronization
network 30.0.0.0 255.255.255.0 ---> 解释:配置BGP引入路由表
import-route ospf 1 ---> 解释:将本地的ospf路由引入到BGP中,从而让BGP邻居知道本域的路由信息。
peer 30.0.0.2 enable
#
R4的配置如下:
#
bgp 65009
router-id 172.0.70.2
peer 70.0.0.1 as-number 65100
#
ipv4-family unicast
undo synchronization
network 70.0.0.0 255.255.255.0
import-route ospf 1
peer 70.0.0.1 enable
#
五、验证结果
1、验证自治域内的路由器上的路由表项。
(1)查看R1路由器的路由表项,如下,从结果看,都是域内路由,未知目的地都走默认路由。
<Huawei>dis ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 9 Routes : 9
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 O_ASE 150 1 D 10.0.0.1 GigabitEthernet
0/0/0
1.0.0.0/24 Direct 0 0 D 1.0.0.1 Ethernet0/0/1
1.0.0.1/32 Direct 0 0 D 127.0.0.1 Ethernet0/0/1
2.0.0.0/24 OSPF 10 3 D 10.0.0.1 GigabitEthernet
0/0/0
10.0.0.0/24 Direct 0 0 D 10.0.0.2 GigabitEthernet
0/0/0
10.0.0.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
20.0.0.0/24 OSPF 10 2 D 10.0.0.1 GigabitEthernet
0/0/0
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 InLoopBack0
<Huawei>
(2)查看R2路由器的路由表项,如下,从结果看,都是域内路由,未知目的地都走默认路由。
<Huawei>dis ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 9 Routes : 9
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 O_ASE 150 1 D 20.0.0.1 GigabitEthernet
0/0/1
1.0.0.0/24 OSPF 10 3 D 20.0.0.1 GigabitEthernet
0/0/1
2.0.0.0/24 Direct 0 0 D 2.0.0.1 Ethernet0/0/1
2.0.0.1/32 Direct 0 0 D 127.0.0.1 Ethernet0/0/1
10.0.0.0/24 OSPF 10 2 D 20.0.0.1 GigabitEthernet
0/0/1
20.0.0.0/24 Direct 0 0 D 20.0.0.2 GigabitEthernet
0/0/1
20.0.0.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/1
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 InLoopBack0
<Huawei>
(3)查看R3路由器的路由表项,如下,从结果看,有域内OSPF学习到的,也有域间eBGP学习到的:
<Huawei>dis ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 17 Routes : 17
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 Static 60 0 RD 30.0.0.2 GigabitEthernet
0/0/3
1.0.0.0/24 OSPF 10 2 D 10.0.0.2 GigabitEthernet ---> 解释:OSPF学习到的都是域内路由。
0/0/0
2.0.0.0/24 OSPF 10 2 D 20.0.0.2 GigabitEthernet
0/0/1
4.0.0.0/24 EBGP 255 0 D 30.0.0.2 GigabitEthernet ---> 解释:EBGP学习到的都是域间路由,从PE1分发过来的。
0/0/3
5.0.0.0/24 EBGP 255 0 D 30.0.0.2 GigabitEthernet
0/0/3
10.0.0.0/24 Direct 0 0 D 10.0.0.1 GigabitEthernet
0/0/0
10.0.0.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
20.0.0.0/24 Direct 0 0 D 20.0.0.1 GigabitEthernet
0/0/1
20.0.0.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/1
30.0.0.0/24 Direct 0 0 D 30.0.0.1 GigabitEthernet
0/0/3
30.0.0.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/3
40.0.0.0/24 EBGP 255 0 D 30.0.0.2 GigabitEthernet
0/0/3
50.0.0.0/24 EBGP 255 0 D 30.0.0.2 GigabitEthernet
0/0/3
60.0.0.0/24 EBGP 255 0 D 30.0.0.2 GigabitEthernet
0/0/3
70.0.0.0/24 EBGP 255 0 D 30.0.0.2 GigabitEthernet
0/0/3
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 InLoopBack0
<Huawei>
(4)查看R4路由器的路由表项,如下,从结果看,有域内OSPF学习到的,也有域间eBGP学习到的:
<Huawei>dis ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 17 Routes : 17
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 Static 60 0 RD 70.0.0.1 GigabitEthernet
0/0/2
1.0.0.0/24 EBGP 255 0 D 70.0.0.1 GigabitEthernet
0/0/2
2.0.0.0/24 EBGP 255 0 D 70.0.0.1 GigabitEthernet
0/0/2
4.0.0.0/24 OSPF 10 2 D 40.0.0.2 GigabitEthernet
0/0/0
5.0.0.0/24 OSPF 10 2 D 50.0.0.2 GigabitEthernet
0/0/1
10.0.0.0/24 EBGP 255 0 D 70.0.0.1 GigabitEthernet
0/0/2
20.0.0.0/24 EBGP 255 0 D 70.0.0.1 GigabitEthernet
0/0/2
30.0.0.0/24 EBGP 255 0 D 70.0.0.1 GigabitEthernet
0/0/2
40.0.0.0/24 Direct 0 0 D 40.0.0.1 GigabitEthernet
0/0/0
40.0.0.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
50.0.0.0/24 Direct 0 0 D 50.0.0.1 GigabitEthernet
0/0/1
50.0.0.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/1
60.0.0.0/24 EBGP 255 0 D 70.0.0.1 GigabitEthernet
0/0/2
70.0.0.0/24 Direct 0 0 D 70.0.0.2 GigabitEthernet
0/0/2
70.0.0.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/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 InLoopBack0
<Huawei>
(5)查看R5路由器的路由表项,如下,从结果看,都是域内路由,未知目的地都走默认路由。
<Huawei>dis ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 9 Routes : 9
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 O_ASE 150 1 D 40.0.0.1 GigabitEthernet
0/0/0
4.0.0.0/24 Direct 0 0 D 4.0.0.1 Ethernet0/0/1
4.0.0.1/32 Direct 0 0 D 127.0.0.1 Ethernet0/0/1
5.0.0.0/24 OSPF 10 3 D 40.0.0.1 GigabitEthernet
0/0/0
40.0.0.0/24 Direct 0 0 D 40.0.0.2 GigabitEthernet
0/0/0
40.0.0.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
50.0.0.0/24 OSPF 10 2 D 40.0.0.1 GigabitEthernet
0/0/0
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 InLoopBack0
<Huawei>
(6)查看R6路由器的路由表项,如下,从结果看,都是域内路由,未知目的地都走默认路由。
<Huawei>dis ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 9 Routes : 9
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 O_ASE 150 1 D 50.0.0.1 GigabitEthernet
0/0/1
4.0.0.0/24 OSPF 10 3 D 50.0.0.1 GigabitEthernet
0/0/1
5.0.0.0/24 Direct 0 0 D 5.0.0.1 Ethernet0/0/1
5.0.0.1/32 Direct 0 0 D 127.0.0.1 Ethernet0/0/1
40.0.0.0/24 OSPF 10 2 D 50.0.0.1 GigabitEthernet
0/0/1
50.0.0.0/24 Direct 0 0 D 50.0.0.2 GigabitEthernet
0/0/1
50.0.0.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/1
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 InLoopBack0
<Huawei>
2、验证自治域间的路由器PE1和PE2学习到的路由表项。
(1)查看PE1上路由表项如下,因为PE1上只有BGP协议,所以学习到的路由都是BGP类型的,分为从R3学习到的eBGP类型和从PE2学习到的iBGP类型:
<Huawei>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.0.0.0/24 EBGP 255 2 D 30.0.0.1 GigabitEthernet
0/0/3
2.0.0.0/24 EBGP 255 2 D 30.0.0.1 GigabitEthernet
0/0/3
4.0.0.0/24 IBGP 255 2 RD 70.0.0.2 GigabitEthernet
0/0/0
5.0.0.0/24 IBGP 255 2 RD 70.0.0.2 GigabitEthernet
0/0/0
10.0.0.0/24 EBGP 255 0 D 30.0.0.1 GigabitEthernet
0/0/3
20.0.0.0/24 EBGP 255 0 D 30.0.0.1 GigabitEthernet
0/0/3
30.0.0.0/24 Direct 0 0 D 30.0.0.2 GigabitEthernet
0/0/3
30.0.0.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/3
40.0.0.0/24 IBGP 255 0 RD 70.0.0.2 GigabitEthernet
0/0/0
50.0.0.0/24 IBGP 255 0 RD 70.0.0.2 GigabitEthernet
0/0/0
60.0.0.0/24 Direct 0 0 D 60.0.0.1 GigabitEthernet
0/0/0
60.0.0.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
70.0.0.0/24 IBGP 255 0 RD 60.0.0.2 GigabitEthernet
0/0/0
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 InLoopBack0
<Huawei>
(2)查看PE2上的路由表项如下, 从结果看同PE1学习到的路由类似,凡是从R4学习到的都是eBGP类型,从PE1学习到的都是IBGP类型,如下:
<Huawei>display 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.0.0.0/24 IBGP 255 2 RD 30.0.0.1 GigabitEthernet
0/0/0
2.0.0.0/24 IBGP 255 2 RD 30.0.0.1 GigabitEthernet
0/0/0
4.0.0.0/24 EBGP 255 2 D 70.0.0.2 GigabitEthernet
0/0/2
5.0.0.0/24 EBGP 255 2 D 70.0.0.2 GigabitEthernet
0/0/2
10.0.0.0/24 IBGP 255 0 RD 30.0.0.1 GigabitEthernet
0/0/0
20.0.0.0/24 IBGP 255 0 RD 30.0.0.1 GigabitEthernet
0/0/0
30.0.0.0/24 IBGP 255 0 RD 60.0.0.1 GigabitEthernet
0/0/0
40.0.0.0/24 EBGP 255 0 D 70.0.0.2 GigabitEthernet
0/0/2
50.0.0.0/24 EBGP 255 0 D 70.0.0.2 GigabitEthernet
0/0/2
60.0.0.0/24 Direct 0 0 D 60.0.0.2 GigabitEthernet
0/0/0
60.0.0.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
70.0.0.0/24 Direct 0 0 D 70.0.0.1 GigabitEthernet
0/0/2
70.0.0.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/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 InLoopBack0
<Huawei>
3、网络连通性验证
(1)从PC1 分别ping PC2,PC3,PC4,结果显示都可以ping通,说明整网是路由可到的。
PC>ping 4.0.0.10 -c 2
Ping 4.0.0.10: 32 data bytes, Press Ctrl_C to break
From 4.0.0.10: bytes=32 seq=1 ttl=122 time=265 ms
From 4.0.0.10: bytes=32 seq=2 ttl=122 time=250 ms
--- 4.0.0.10 ping statistics ---
2 packet(s) transmitted
2 packet(s) received
0.00% packet loss
round-trip min/avg/max = 250/257/265 ms
PC>ping 2.0.0.10 -c 2
Ping 2.0.0.10: 32 data bytes, Press Ctrl_C to break
From 2.0.0.10: bytes=32 seq=1 ttl=125 time=109 ms
From 2.0.0.10: bytes=32 seq=2 ttl=125 time=141 ms
--- 2.0.0.10 ping statistics ---
2 packet(s) transmitted
2 packet(s) received
0.00% packet loss
round-trip min/avg/max = 109/125/141 ms
PC>ping 5.0.0.10 -c 2
Ping 5.0.0.10: 32 data bytes, Press Ctrl_C to break
From 5.0.0.10: bytes=32 seq=1 ttl=122 time=282 ms
From 5.0.0.10: bytes=32 seq=2 ttl=122 time=250 ms
--- 5.0.0.10 ping statistics ---
2 packet(s) transmitted
2 packet(s) received
0.00% packet loss
round-trip min/avg/max = 250/266/282 ms
PC>
(2)从PC1上tracerout PC2, PC3,PC4, 可见沿途的路由器是正确的,当然,不正确的话,网络就不通了。
PC>tracert 4.0.0.10
traceroute to 4.0.0.10, 8 hops max
(ICMP), press Ctrl+C to stop
1 1.0.0.1 47 ms 31 ms 32 ms
2 10.0.0.1 62 ms 94 ms 47 ms
3 30.0.0.2 93 ms 94 ms 94 ms
4 60.0.0.2 109 ms 125 ms 125 ms
5 70.0.0.2 172 ms 219 ms 172 ms
6 40.0.0.2 219 ms 250 ms 234 ms
7 *4.0.0.10 234 ms 203 ms
PC>
PC>tracert 2.0.0.10
traceroute to 2.0.0.10, 8 hops max
(ICMP), press Ctrl+C to stop
1 1.0.0.1 32 ms 31 ms 31 ms
2 10.0.0.1 94 ms 78 ms 63 ms
3 20.0.0.2 125 ms 125 ms 109 ms
4 *2.0.0.10 171 ms 157 ms
PC>
PC>tracert 5.0.0.10
traceroute to 5.0.0.10, 8 hops max
(ICMP), press Ctrl+C to stop
1 1.0.0.1 31 ms 31 ms 31 ms
2 10.0.0.1 63 ms 62 ms 63 ms
3 30.0.0.2 94 ms 78 ms 94 ms
4 60.0.0.2 125 ms 125 ms 125 ms
5 70.0.0.2 187 ms 172 ms 156 ms
6 50.0.0.2 188 ms 203 ms 172 ms
7 *5.0.0.10 312 ms 313 ms
PC>
六、总结
1、分域使用那些措施达到了降低非核心路由器的路由表容量的要求?
解答:共使用3种措施,
第一、分域,域内使用OSPF,域间使用BGP。
第二、域内通过OPF通告的默认路由,使得域内的路由器不需要知道其他域的路由信息,只需要通过默认路由,送给PE设备即可。
第三、域间的核心层使用eBGP知晓所有的明细路由,以便指导域间流量转发。
2、遗留问题,怎样配置让IGP的边界路由器的路由表容量也变小?
R3、R4作为两个自治域的边界路由器,通过eBGP知道了所有的网络路由,这个对路由器的要求还是很大,有什么办法可以让这两个路由器只需要将无法转发的报文通过默认路由转发即可。继续探索中
3、BGP的核心用途是什么?
解答:核心层设备知晓全量路由,指导报文在域间转发。