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. 如何编写JQuery 插件详解

    转载自:http://blog.sina.com.cn/s/blog_6154bf970101jam7.html 如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jq ...

  2. 可能是把Java内存区域讲的最清楚的一篇文章

    写在前面(常见面试题) 下面是面试官可能在“Java内存区域”知识点问你的问题,快拿出小本本记下来! 基本问题: 介绍下Java内存区域(运行时数据区). Java对象的创建过程(五步,建议能默写出来 ...

  3. 如何将云原生工作负载映射到 Kubernetes 中的控制器

    作者:Janakiram MSV 译者:殷龙飞 原文地址:https://thenewstack.io/how-to-map-cloud-native-workloads-to-kubernetes- ...

  4. Python Selenium 常用方法总结(不断补充)

    还有此篇内容也丰富Selenium常见元素定位方法和操作的学习介绍 selenium Python 总结一些工作中可能会经常使用到的API. 1.获取当前页面的Url 方法:current_url 实 ...

  5. 《JavaScript总结》深拷贝和浅拷贝

    在javascript中,数据主要分基本类型和引用类型两种. 基本类型的赋值比较简单,但是引用类型的赋值,会存在一些问题,那我们用代码来分析一下. 一.浅拷贝 var one = "测试1& ...

  6. DWR第三篇之逆向Ajax升级

    1. 本示例在第二篇架构基础上添加代码 2.在client.jsp开头的地方添加如下代码: 本示例需要做的是定向推送,那么就需要浏览器进行登录,从而进行定向的推送功能,为了节省时间,这里不做登录模块了 ...

  7. 第9条:try-with-resources优于try-finally

    try-finally例子 打开文件读取第一行 static String firstLineOffFile(String path) throws IOException { BufferedRea ...

  8. 飞跃式发展的后现代 Python 世界

    飞跃式发展的后现代Python世界 如果现代Python有一个标志性特性,那么简单说来便是Python对自身定义的越来越模糊.在过去的几年的许多项目都极大拓展了Python,并重建了“Python”本 ...

  9. 踏上编程大道 从 Python 开始成为神级 Coder

    电脑科学,或说计算机科学,是个在美国不断成长的产业,薪资报酬也很高.市场上永远存在著对天赋异禀的新锐工程师的需求,这就是为什麽「学习程式语言」一直是一件有魅力的事情. 但是,就跟任何技能一样,我们常常 ...

  10. 玩转Linux服务器常用命令

    查看服务器的一些基本信息: linux基础命令:http://cnblogs.com/mmzs/p/8406208.html Linux某些命令找不到/无法使用:http://www.cnblogs. ...