BGP 优选短的AS号路径实践总结
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号路径实践总结的更多相关文章
- ip地址+进程端口号+路径参数同样实现restful访问
1.ip地址+进程端口号+路径参数同样实现restful访问 2. 我:还有个问题,龙哥,ip地址+端口+路径参数,也能实现restful访问吧,:可以 我:好我:所以,我只要访问,服务器ip地址+n ...
- Android短视频SDK转码实践
一. 前言 一些涉及的基本概念: 转码:一般指多媒体文件格式的转换,比如分辨率.码率.封装格式等: 解复用(demux):从某种封装中分离出视频track和音频track,然后交给后续模块进行处理: ...
- 短视频 SDK 架构设计实践
作者简介 孔维乐,七牛云客户端团队 Android 平台高级开发工程师,专注音视频,图形图像领域.OpenGL 专家,先后参与直播推流及连麦 SDK 的开发,主导短视频 SDK 的架构设计与实现, 对 ...
- python中打印文件名,行号,路径
print "I have a proble! And here is at Line: %s"%sys._getframe().f_lineno PDB,哈哈http://doc ...
- 短视频图像处理 OpenGL ES 实践
2017年,短视频正以其丰富的内容表现力和时间碎片化的特点,快速崛起,而短视频最具可玩性之处就在支持人脸识别的动态贴图和各种不同效果的美颜.滤镜等.那短视频动态贴纸.滤镜.美颜等功能究竟是如何实现的呢 ...
- appium+java(四)微信公众号自动化测试实践
前言 随着手机阅读的普遍应用,微信公众号阅读,更为普遍,微信和qq一样,都是基于腾讯自研X5内核,不是google原生webview(其实就是进行了二次定制).实质上也是混合应用的一种,现在很多app ...
- openwrt使用3G拔号的实践笔记
参照文档: https://soha.moe/post/make-4g-wifi-ap-with-openwrt.html 步骤: 1.安装必要的包: opkg update opkg install ...
- BGP路由协议详解(完整篇)
原文链接:http://xuanbo.blog.51cto.com/499334/465596/ 2010-12-27 12:02:45 上个月我写一篇关于BGP协议的博文,曾许诺过要完善这个文档,但 ...
- bgp选路原则【第二部】
面向逻辑谈bgp选路原则(第二部) 终于到了BGP终极解析的第二部曲--BGP选路原则.与题目相呼应,我不会直接介绍选路原则的规则,而是从时间逻辑和空间逻辑上将所有的选路原则分层分类.因为只有从这种角 ...
随机推荐
- C 语言restrict 关键字的概念及使用例子
restrict是c99标准引入的,它只可以用于限定和约束指针,并表明指针是访问一个数据对象的唯一且初始的方式.即它告诉编译器,所有修改该指针所指向内存中内容的操作都必须通过该指针来修改,而不能通过其 ...
- nRF52832 SDK15.3.0 基于ble_app_uart demo FreeRTOS移植
参考资料:https://blog.csdn.net/u010860832/article/details/86235993 这里把移植经验记录下来,供有需要的同学参考,有不对的地方也请大家批评指正. ...
- 扒一扒.net、.net framework、mono和Unity
zhaichao 标签: .net.net frameworkc#monounity 2017-04-23 14:39 425人阅读 评论(0) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许 ...
- 在vue 中使用 less
1.安装 npm install --save-dev less less-loader npm install --save-dev style-loader css-loader 先在index. ...
- Java 容器源码分析之 LinkedHashMap
同 HashMap 一样,LinkedHashMap 也是对 Map 接口的一种基于链表和哈希表的实现.实际上, LinkedHashMap 是 HashMap 的子类,其扩展了 HashMap 增加 ...
- ubuntu搭建nodejs生产环境——快速部署手册
为什么不用CentOS而用Ubuntu作为生产环境的运行平台?这个我也比较好奇,公司订的只能沿用传统,从使用成本的角度来说,此举也是值得肯定的. 测试环境 腾讯云 Ubuntu 16.04 阿里云 U ...
- Mac CLion下OpenGL环境配置
1. 配置glew和glfw 终端下运行下面两句,安装完后在/usr/local/Cellar/下可以找到对应的目录. brew install glew brew install glfw3 效果如 ...
- Docker镜像管理基础与基于容器的镜像制作示例
一.Docker镜像 Docker镜像是启动Docker容器的一个非常重要的组件.Docker各组件之间的关系如图: Docker镜像含有启动容器所需要的文件系统及其内容,因此Docker镜像用于创建 ...
- 自定义了一个email模块,符合大多数人的使用习惯
# coding: utf-8 import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text i ...
- mybatis是如何防止SQL注入的
mybatis是如何防止SQL注入的 1.首先看一下下面两个sql语句的区别: <select id="selectByNameAndPassword" parameterT ...