BGP优选AS号短的路径作为首选路由的验证结果

1、结论:

(1)EBGP会优选AS号少的路径作为转发路径,当优选路径失效时,再选择次选路由。

(2)EBGP邻居建立在直连设备之间。

(3)IBGP邻居可以跨设备建立,此时需要指定好tcp的源ip和目的ip. 源ip就是connect-interface 的ip, 目的ip就是peer ip。

(4)由于OSPF的路由优先级比EBGP高,所以,为了验证BGP AS号短路径的效果,不能将BGP的路径引入到OSPF中。

另外,城域网内部OSPF可以保证各个PE设备之间互通,所以,也不需要把OSPF路由引入到BGP中进行发布。

2、组网图:

3、验证结果

(1)正常情况下,从PC3 ---> PC1 的路由,走CE2 ---> CE 1 ---> PE 1 ---> PE3  ----> CE3

从PC3上查看路由:

PC>tracert 192.168.0.10

traceroute to 192.168.0.10, 8 hops max
(ICMP), press Ctrl+C to stop
1 172.16.0.1 32 ms 15 ms 16 ms
2 100.0.0.2 47 ms 47 ms 62 ms
3 60.0.0.1 63 ms 78 ms 62 ms
4 40.0.0.2 125 ms 78 ms 94 ms
5 10.0.0.1 94 ms 109 ms 110 ms
6 192.168.0.10 156 ms 125 ms 156 ms

PC>

查看此时CE2上路由信息,可见下一跳是CE之间的IBGP路径。

(2)优选路由故障情况下,走次选路由。从PC3 ---> PC1 的路由,走CE2 ---> PE2 ---> PE 4 ---> R1 ---> PE3  ----> CE3

模式链路故障:PE1 设备上关闭端口GE 0/0/3(ip地址为 40.0.0.1).

从PC3上查看路由:

PC>tracert 192.168.0.10

traceroute to 192.168.0.10, 8 hops max
(ICMP), press Ctrl+C to stop
1 172.16.0.1 16 ms 15 ms 32 ms
2 70.0.0.1 31 ms 47 ms 47 ms
3 50.0.0.1 62 ms 63 ms 78 ms
4 30.0.0.1 109 ms 63 ms 93 ms
5 20.0.0.2 125 ms 94 ms 156 ms
6 10.0.0.1 157 ms 140 ms 157 ms
7 192.168.0.10 156 ms 172 ms 187 ms

PC>

查看此时CE2上路由信息,可见下一跳是PE2之间的EBGP路径。

(3)故障恢复后,路由回切到优选路由。

结果见(1)

4、曾经出现的问题

(1)PE2和PE3之间,建立EBGP对等体失败。

原因:EBGP邻居只能建立在直连设备间,不能跨设备建立EBGP邻居。

所以,先通过PE4和PE3建立IBGP对等体,然后在通过PE4和PE2建立EBGP对等体,从而将PE3上的路由信息告知PE2。

(2)直连的设备无法建立IBGP邻居。

原因:一般情况下,我们会使用loopback ip作为BGP 的router id. 此时要注意,建立邻居时使用的peer 地址和这个router id没有关系,此时peer ip应当设置成直连设备之间的ip即可。

bgp 65001
router-id 60.0.0.1
peer 40.0.0.2 as-number 65001

(3)非直连的设备之间无法建立IBGP邻居。

问题现象:查看bgp peer的状态,总是停在active状态,无法到达established状态。从BGP邻居的一端 ping 另

问题根源:BGP邻居的建立依赖于TCP可达,非直连的邻居必须配置相同的TCP源ip和目的ip,才能建立。源ip就是connect-interface 的ip, 目的ip就是peer ip。

以PE3、PE4为例,

PE3的配置如下:

bgp 65001
router-id 10.0.0.2
peer 30.0.0.2 as-number 65001
peer 30.0.0.2 connect-interface GigabitEthernet0/0/0     (说明: GigabitEthernet0/0/0 的ip地址= 20.0.0.2)

PE4的配置如下:

bgp 65001
router-id 50.0.0.1
peer 20.0.0.2 as-number 65001
peer 20.0.0.2 connect-interface GigabitEthernet0/0/1  (说明: GigabitEthernet0/0/1 的ip地址= 30.0.0.2)

(4)OSPF学习的路由优先级比BGP高,导致首选路由总是被OSPF协议优选。

曾经出现的现象,PE2、PE3上将BGP的路由引入到OSPF中,结果导致在PE1上查看 172.16.0.10 的路由下一跳为40.0.0.2, 而按照BGP短的AS号路径的语气,下一跳应当是60.0.0.2. 关闭PE2、PE3上BGP的路径引入BGP后,PE1上目的172.16.0.10的下一跳符合预期。

按照设备手册上的描述:其中,0表示直接连接的路由,255表示任何来自不可信源端的路由;数值越小表明优先级越高。

5、常用命令和调试命令。

(1)怎么看出来有两条BGP路由,优选了AS号短的路径?

关键设备是CE2,或者CE1设备,查看这两个设备的bgp路由,可以看到有两条到达相同目的ip的路由,以CE2为例,

<CE2>dis bgp routing-table 192.168.0.10

BGP local router ID : 70.0.0.2
Local AS number : 65009
Paths: 2 available, 1 best, 1 select
BGP routing table entry information of 192.168.0.0/24:
From: 100.0.0.2 (60.0.0.2)
Route Duration: 00h12m53s 
Relay IP Nexthop: 100.0.0.2
Relay IP Out-Interface: Vlanif3
Original nexthop: 60.0.0.1
Qos information : 0x0
AS-path 65001 65005, origin igp, localpref 100, pref-val 0, valid, internal, be
st, select, active, pre 255
Advertised to such 1 peers:
70.0.0.1
BGP routing table entry information of 192.168.0.0/24:
From: 70.0.0.1 (70.0.0.1)
Route Duration: 00h12m26s 
Direct Out-interface: Vlanif2
Original nexthop: 70.0.0.1
Qos information : 0x0
AS-path 65002 65001 65005, origin igp, pref-val 0, valid, external, pre 255, no
t preferred for AS-Path
Not advertised to any peer yet

<CE2>

(2)显示指定类型的协议学习的路由

<PE2>dis ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 5 Routes : 5

OSPF routing table status : <Active>
Destinations : 5 Routes : 5

Destination/Mask Proto Pre Cost Flags NextHop Interface

10.0.0.0/24 OSPF 10 4 D 50.0.0.1 GigabitEthernet
0/0/0
20.0.0.0/24 OSPF 10 3 D 50.0.0.1 GigabitEthernet
0/0/0
30.0.0.0/24 OSPF 10 2 D 50.0.0.1 GigabitEthernet
0/0/0
40.0.0.0/24 OSPF 10 4 D 50.0.0.1 GigabitEthernet
0/0/0
60.0.0.0/24 OSPF 10 5 D 50.0.0.1 GigabitEthernet
0/0/0

OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0

<PE2>

<PE2>dis ip routing-table protocol bgp
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : BGP
Destinations : 5 Routes : 5

BGP routing table status : <Active>
Destinations : 5 Routes : 5

Destination/Mask Proto Pre Cost Flags NextHop Interface

3.0.0.2/32 EBGP 255 0 D 50.0.0.1 GigabitEthernet
0/0/0
100.0.0.0/24 EBGP 255 0 D 70.0.0.2 GigabitEthernet
0/0/2
172.16.0.0/24 EBGP 255 0 D 70.0.0.2 GigabitEthernet
0/0/2
172.16.1.0/24 EBGP 255 0 D 70.0.0.2 GigabitEthernet
0/0/2
192.168.0.0/24 EBGP 255 0 D 50.0.0.1 GigabitEthernet
0/0/0

BGP routing table status : <Inactive>
Destinations : 0 Routes : 0

<PE2>

(3)显示BGP邻居信息

<PE2>dis bgp peer

BGP local router ID : 70.0.0.1
Local AS number : 65002
Total number of peers : 2 Peers in established state : 2

Peer V AS MsgRcvd MsgSent OutQ Up/Down State Pre
fRcv

50.0.0.1 4 65001 183 315 0 02:26:04 Established
7
70.0.0.2 4 65009 161 187 0 01:21:57 Established
10
<PE2>

(4)显示BGP路由详细信息

<PE2>dis bgp routing-table

(5)显示 路由表,显示指定目的ip的路由信息。

<CE2>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

3.0.0.2/32 IBGP 255 0 RD 60.0.0.1 Vlanif3
10.0.0.0/24 IBGP 255 0 RD 60.0.0.1 Vlanif3
20.0.0.0/24 IBGP 255 0 RD 60.0.0.1 Vlanif3
30.0.0.0/24 EBGP 255 2 D 70.0.0.1 Vlanif2
40.0.0.0/24 IBGP 255 0 RD 60.0.0.1 Vlanif3
50.0.0.0/24 EBGP 255 0 D 70.0.0.1 Vlanif2
60.0.0.0/24 IBGP 255 0 RD 100.0.0.2 Vlanif3
70.0.0.0/24 Direct 0 0 D 70.0.0.2 Vlanif2
70.0.0.2/32 Direct 0 0 D 127.0.0.1 Vlanif2
100.0.0.0/24 Direct 0 0 D 100.0.0.1 Vlanif3
100.0.0.1/32 Direct 0 0 D 127.0.0.1 Vlanif3
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
172.16.0.0/24 Direct 0 0 D 172.16.0.1 Vlanif1
172.16.0.1/32 Direct 0 0 D 127.0.0.1 Vlanif1
172.16.1.0/24 IBGP 255 0 RD 100.0.0.2 Vlanif3
192.168.0.0/24 IBGP 255 0 RD 60.0.0.1 Vlanif3

<CE2>

显示指定目的ip的优选路由

<CE2>dis ip routing-table 192.168.0.10 
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Table : Public
Summary Count : 1
Destination/Mask Proto Pre Cost Flags NextHop Interface

192.168.0.0/24 IBGP 255 0 RD 60.0.0.1 Vlanif3

<CE2>

(5)定位BGP无法建立的命令

<PE2>debug bgp 50.0.0.1 all
<PE2>t d
Info: Current terminal debugging is on.
<PE2>t m
Info: Current terminal monitor is on.
<PE2>sys
Enter system view, return user view with Ctrl+Z.
[PE2]info enable
Info: Information center is enabled.
[PE2]

6、关键配置

CE3设备配置:

#
bgp 65005
router-id 10.0.0.1
peer 10.0.0.2 as-number 65001              (与运营商PE之间建立 EBGP 邻居)
#
ipv4-family unicast
undo synchronization
network 10.0.0.0 255.255.255.0
network 192.168.0.0
peer 10.0.0.2 enable
#

PE3设备配置:

#
bgp 65001
router-id 10.0.0.2
peer 10.0.0.1 as-number 65005                                   (与客户CE之间建立 EBGP 邻居)
peer 20.0.0.1 as-number 65001                                   (与运营商PE之间建立 IBGP 邻居)
peer 30.0.0.2 as-number 65001
peer 30.0.0.2 connect-interface GigabitEthernet0/0/0
peer 40.0.0.1 as-number 65001
peer 50.0.0.2 as-number 65002                                  (与运营商PE之间建立 EBGP 邻居)
peer 50.0.0.2 connect-interface GigabitEthernet0/0/1
#
ipv4-family unicast
undo synchronization
network 3.0.0.1 255.255.255.255
network 10.0.0.0 255.255.255.0
network 20.0.0.0 255.255.255.0
network 40.0.0.0 255.255.255.0
peer 10.0.0.1 enable
peer 20.0.0.1 enable
peer 30.0.0.2 enable
peer 40.0.0.1 enable
peer 50.0.0.2 enable
#
ospf 1
area 0.0.0.0
network 10.0.0.0 0.0.0.255
network 20.0.0.0 0.0.0.255
network 40.0.0.0 0.0.0.255
#

R1设备配置:

#
bgp 65001
router-id 20.0.0.1
peer 10.0.0.2 as-number 65001
peer 30.0.0.2 as-number 65001
peer 50.0.0.2 as-number 65001
peer 50.0.0.2 connect-interface GigabitEthernet0/0/0
#
ipv4-family unicast
undo synchronization
network 20.0.0.0 255.255.255.0
network 30.0.0.0 255.255.255.0
peer 10.0.0.2 enable
peer 30.0.0.2 enable
peer 50.0.0.2 enable
#
ospf 1
area 0.0.0.0
network 20.0.0.0 0.0.0.255
network 30.0.0.0 0.0.0.255
#

PE4设备配置:

#
bgp 65001
router-id 50.0.0.1
peer 20.0.0.2 as-number 65001          (与运营商PE之间建立 IBGP 邻居)
peer 20.0.0.2 connect-interface GigabitEthernet0/0/1
peer 30.0.0.1 as-number 65001          (与运营商PE之间建立 IBGP 邻居)
peer 50.0.0.2 as-number 65002          (与运营商PE之间建立 EBGP 邻居)
#
ipv4-family unicast
undo synchronization
network 30.0.0.0 255.255.255.0
network 50.0.0.0 255.255.255.0
peer 20.0.0.2 enable
peer 30.0.0.1 enable
peer 50.0.0.2 enable
#
ospf 1
area 0.0.0.0
network 30.0.0.0 0.0.0.255
network 50.0.0.0 0.0.0.255
#

PE2设备配置:

#
bgp 65002
router-id 70.0.0.1
peer 50.0.0.1 as-number 65001             (与运营商PE之间建立 IBGP 邻居)
peer 70.0.0.2 as-number 65009             (与客户CE之间建立 EBGP 邻居)
#
ipv4-family unicast
undo synchronization
network 50.0.0.0 255.255.255.0
network 70.0.0.0 255.255.255.0
peer 50.0.0.1 enable
peer 70.0.0.2 enable
#
ospf 1
area 0.0.0.0
network 50.0.0.0 0.0.0.255
network 70.0.0.0 0.0.0.255
#

CE2设备配置:

#
bgp 65009
router-id 70.0.0.2
peer 70.0.0.1 as-number 65002              (与运营商PE之间建立EBGP邻居)
peer 100.0.0.2 as-number 65009            (与同级设备建立IBGP邻居)
#
ipv4-family unicast
undo synchronization
network 70.0.0.0 255.255.255.0
network 100.0.0.0 255.255.255.0
network 172.16.0.0 255.255.255.0
peer 70.0.0.1 enable
peer 100.0.0.2 enable
#

PE1设备配置:

#
bgp 65001
router-id 60.0.0.1
peer 40.0.0.2 as-number 65001           (与运营商PE之间建立 IBGP 邻居)
peer 60.0.0.2 as-number 65009           (与客户CE之间建立 EBGP 邻居)
#
ipv4-family unicast
undo synchronization
network 40.0.0.0 255.255.255.0
network 60.0.0.0 255.255.255.0
peer 40.0.0.2 enable
peer 60.0.0.2 enable
#
ospf 1
area 0.0.0.0
network 40.0.0.0 0.0.0.255
network 60.0.0.0 0.0.0.255
#

CE1设备配置:

#
bgp 65009
router-id 60.0.0.2
peer 60.0.0.1 as-number 65001                (与运营商PE之间建立EBGP邻居)
peer 100.0.0.1 as-number 65009              (与同级设备建立IBGP邻居)
#
ipv4-family unicast
undo synchronization
network 60.0.0.0 255.255.255.0
network 172.16.1.0 255.255.255.0
peer 60.0.0.1 enable
peer 100.0.0.1 enable
#

BGP 优选短的AS号路径实践总结的更多相关文章

  1. ip地址+进程端口号+路径参数同样实现restful访问

    1.ip地址+进程端口号+路径参数同样实现restful访问 2. 我:还有个问题,龙哥,ip地址+端口+路径参数,也能实现restful访问吧,:可以 我:好我:所以,我只要访问,服务器ip地址+n ...

  2. Android短视频SDK转码实践

    一. 前言 一些涉及的基本概念: 转码:一般指多媒体文件格式的转换,比如分辨率.码率.封装格式等: 解复用(demux):从某种封装中分离出视频track和音频track,然后交给后续模块进行处理: ...

  3. 短视频 SDK 架构设计实践

    作者简介 孔维乐,七牛云客户端团队 Android 平台高级开发工程师,专注音视频,图形图像领域.OpenGL 专家,先后参与直播推流及连麦 SDK 的开发,主导短视频 SDK 的架构设计与实现, 对 ...

  4. python中打印文件名,行号,路径

    print "I have a proble! And here is at Line: %s"%sys._getframe().f_lineno PDB,哈哈http://doc ...

  5. 短视频图像处理 OpenGL ES 实践

    2017年,短视频正以其丰富的内容表现力和时间碎片化的特点,快速崛起,而短视频最具可玩性之处就在支持人脸识别的动态贴图和各种不同效果的美颜.滤镜等.那短视频动态贴纸.滤镜.美颜等功能究竟是如何实现的呢 ...

  6. appium+java(四)微信公众号自动化测试实践

    前言 随着手机阅读的普遍应用,微信公众号阅读,更为普遍,微信和qq一样,都是基于腾讯自研X5内核,不是google原生webview(其实就是进行了二次定制).实质上也是混合应用的一种,现在很多app ...

  7. openwrt使用3G拔号的实践笔记

    参照文档: https://soha.moe/post/make-4g-wifi-ap-with-openwrt.html 步骤: 1.安装必要的包: opkg update opkg install ...

  8. BGP路由协议详解(完整篇)

    原文链接:http://xuanbo.blog.51cto.com/499334/465596/ 2010-12-27 12:02:45 上个月我写一篇关于BGP协议的博文,曾许诺过要完善这个文档,但 ...

  9. bgp选路原则【第二部】

    面向逻辑谈bgp选路原则(第二部) 终于到了BGP终极解析的第二部曲--BGP选路原则.与题目相呼应,我不会直接介绍选路原则的规则,而是从时间逻辑和空间逻辑上将所有的选路原则分层分类.因为只有从这种角 ...

随机推荐

  1. Robot Framework - 5 - 创建测试数据

    Creating test data User Guide - Creating test data:http://robotframework.org/robotframework/latest/R ...

  2. Metrics.NET源码阅读笔记

    概述 Metrics.NET提供的是度量工具,他是移植自Java的metrics.Metrics将度量抽象成Gauges,Counters,Histograms,Meters,Timers五种.基于这 ...

  3. 【面试篇】寒冬求职季之你必须要懂的原生JS(中)

    互联网寒冬之际,各大公司都缩减了HC,甚至是采取了“裁员”措施,在这样的大环境之下,想要获得一份更好的工作,必然需要付出更多的努力. 一年前,也许你搞清楚闭包,this,原型链,就能获得认可.但是现在 ...

  4. Spring Cloud是怎么运行的?

    导读 在之前的文章中给大家介绍了Spring Boot的基本运行原理(链接),收到了很多读者朋友们关于目前比较流行的微服务框架Spring Cloud的问题反馈.因此,在这篇文章中小码哥打算和大家一起 ...

  5. [Shell]sed命令在MAC和Linux下的不同使用方式

    ---------------------------------------------------------------------------------------------------- ...

  6. java jar 后台运行

    nohup java -jar $APP_NAME.jar >/dev/null &

  7. python if条件判断语句

    if的基本格式 if语句用来做判断,并选择要执行的语句分支.基本格式如下: if CONDITION1: code_block(1) elif CONDITION2: code_block(2) el ...

  8. 翻译:low_priority和high_priority(已提交到MariaDB官方手册)

    本文为mariadb官方手册:HIGH_PRIORITY and LOW_PRIORITY的译文. 原文:https://mariadb.com/kb/en/high_priority-and-low ...

  9. Linux命令-基本变量类型及其运算

    [root@Redis01 ~]# cd /install/[root@Redis01 install]# mkdir -p test && cd test -s修改时间:[root@ ...

  10. iOS网络请求-AFNetworking源码解析

    趁着端午节日,自己没有什么过多的安排,准备花4-5天左右,针对网络请求源码AFNetworking和YTKNetwork进行解析以及这两年多iOS实际开发经验(其实YTKNetwork也是对AFNet ...