使用路由标记存储BGP 路径属性

简介:
    这个实验应该是这些天BGP中最复杂的,能把它理解,并做出来,绝对是对自己有帮助的事情。这篇我写的很详细,下面给大家分享一下:
 
 
一、拓扑图:
 
 
 
二、配置步骤及说明:
1
、配置好各路由器的 IP地址,并且下面依次看一下协议的配置步骤:
R1(config-if)#router bgp 64512
R1(config-router)#net 130.130.1.0 mask 255.255.255.0
R1(config-router)#net 192.168.1.0
R1(config-router)#nei 192.168.1.2 remote 64513
 
R2(config-if)#router bgp 64513
R2(config-router)#net 192.168.1.0
R2(config-router)#nei 192.168.1.1 remote 64512
R2(config-router)#router ospf 1
R2(config-router)#net 172.16.1.0 0.0.0.255 area 0
 
R3(config-if)#router ospf 1
R3(config-router)#net 172.16.1.0 0.0.0.255 area 0
R3(config-router)#router bgp 64513
R3(config-router)#net 192.168.2.0
R3(config-router)#nei 192.168.2.2 remote 64514
 
R4(config-if)#router bgp 64514
R4(config-router)#net 192.168.2.0
R4(config-router)#nei 192.168.2.1 remote 64513
2、发现配置完之后,查看一下 R2R3的邻居关系:
R2 #sh ip bgp summary
………………
Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.1.1     4 64512       9       9        3    0    0 00:05:40        2
 
R3#sh ip bgp summary
………………
Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.2.2     4 64514       7       7        2    0    0 00:03:12        1
3、查看 R4的路由表,由于 R2R3之间是运行的是 OSPF协议,并没有 BGP的邻接关系。所以 R2R1学习到的 BGP路由 130.130.1.0/24的网络无法转发给 R3路由器,因此 R4上根本没有学习到任何的路由:
R4#sh ip route
………………
Gateway of last resort is not set
C    192.168.2.0/24 is directly connected, Serial1/0  (只有直连链路,并没有学习到路由)
4、为了让两边都能学到完整的路由,我们在 R2R3上对 BGPOSPF互做重分发:
R2(config)#router bgp 64513
R2(config-router)#red ospf 1 match external internal (将OSPF内部和外部类型都重分发到BGP中)
R2(config-router)#router ospf 1
R2(config-router)#red bgp 64513 subnets   (将BGP AS 64513自治系统重分发到OSPF进程当中)
 
R3(config)#router bgp 64513
R3(config-router)#redistribute ospf 1 match external internal
R3(config-router)#router ospf 1
R3(config-router)#redistribute bgp 64513 subnets
5、现在两边的路由都能学到了。并且重分发时没指定类型, R3学习到的外部路由默认以 O E2呈现。我们来看一下 R3R4的路由表:
R3#sh ip route
………………
Gateway of last resort is not set
 172.16.0.0/24 is subnetted, 1 subnets
C       172.16.1.0 is directly connected, FastEthernet0/0
     130.130.0.0/24 is subnetted, 1 subnets
O E2    130.130.1.0 [110/1] via 172.16.1.1, 00:05:33, FastEthernet0/0
O E2 192.168.1.0/24 [110/1] via 172.16.1.1, 00:05:33, FastEthernet0/0
C    192.168.2.0/24 is directly connected, Serial1/1
 
R4#sh ip route
………………
Gateway of last resort is not set
 
     172.16.0.0/24 is subnetted, 1 subnets
B       172.16.1.0 [20/0] via 192.168.2.1, 00:10:10
     130.130.0.0/24 is subnetted, 1 subnets
B       130.130.1.0 [20/1] via 192.168.2.1, 00:10:10
B    192.168.1.0/24 [20/1] via 192.168.2.1, 00:10:10
C    192.168.2.0/24 is directly connected, Serial1/0
6、查看一下 R3R4BGP数据库发现:
R3#sh ip bgp
BGP table version is 5, local router ID is 192.168.2.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete (原代码说明:?代表不完整)
 
   Network          Next Hop            Metric LocPrf Weight Path
*> 130.130.1.0/24   172.16.1.1               1         32768 ?(发现没有AS-PATH)
*> 172.16.1.0/24    0.0.0.0                  0         32768 ?
*> 192.168.1.0      172.16.1.1               1         32768 ?
*  192.168.2.0      192.168.2.2              0       0 64514 i
*>                  0.0.0.0                  0         32768 i
 
R4#sh ip bgp
BGP table version is 5, local router ID is 192.168.2.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
 
   Network          Next Hop            Metric LocPrf Weight Path
*> 130.130.1.0/24   192.168.2.1              1             0 64513 ?(R4只学到AS没有PATH
*> 172.16.1.0/24    192.168.2.1              0             0 64513 ?
*> 192.168.1.0      192.168.2.1              1             0 64513 ?
*  192.168.2.0      192.168.2.1              0             0 64513 i
*>                  0.0.0.0                  0         32768 i
7、从上图发现 R3R4的拓扑数据库不完整,同时我们也应该反推出 R1R2学习到路由的 AS-PATH属性也不会是完整的:
R1#sh ip bgp
…………
Origin codes: i - IGP, e - EGP, ? - incomplete
 
   Network          Next Hop            Metric LocPrf Weight Path
*> 130.130.1.0/24   0.0.0.0                  0         32768 i
*> 172.16.1.0/24    192.168.1.2              0             0 64513 ?
*  192.168.1.0      192.168.1.2              0             0 64513 i
*>                  0.0.0.0                  0         32768 i
*> 192.168.2.0      192.168.1.2              1             0 64513 ?
 
R2#sh ip bgp
………………
Origin codes: i - IGP, e - EGP, ? - incomplete
 
   Network          Next Hop            Metric LocPrf Weight Path
*> 130.130.1.0/24   192.168.1.1              0             0 64512 i
*> 172.16.1.0/24    0.0.0.0                  0         32768 ?
*  192.168.1.0      192.168.1.1              0             0 64512 i
*>                  0.0.0.0                  0         32768 i
*> 192.168.2.0      172.16.1.2               1         32768 ?
8、由于 R2R3路由器把 BGP路由协议重分发到 OSPF中,而 OSPF不能够识别 BGP的路由 AS-PATH属性。传递中导致全网中看到 AS-PATH属性都不完整。
9
、下面将转到正题上:利用 路由标记解决 BGP中重分发时 AS-PATH属性不完整。因为路由标记是可以被所有路由协议识别。但怎样去实施呢?可以在 R2上将 BGPAS-PATH 转存到路由标记中,然后在 R3路由器上 重分发时再把路由标记中存储的 AS-PATH取出来还原到 BGP的路由中。
A
:下面我们到 R2上将 BGPAS-PATH转存到路由标记中:
R2(config)#route-map set_tag per 10 (建立一个名为set_tag路由图)
R2(config-route-map)#set automatic-tag(设置自动计算标记值,针对的是AS-PATH属性值)
R2(config-route-map)#router bgp 64513
R2(config-router)#table-map set_tag (将刚才设置的set_tag 映射到路由表中,也就是转存一下)
B:再到 R3重分发时提取路由标记:
R3(config)#route-map get_tag per 10(建立一个路由图名为get_tag
R3(config-route-map)#set as-path tag(从路由标记中提取AS-PATH属性还原到BGP路由数据库中)
R3(config-route-map)#router bgp 64513
R3(config-router)#red ospf 1 match external internal route-map get_tag(利用重分发匹配外部和内部路由ospf 路由指向route-map转存BGPAS-PATH属性 )
10、现在来看一下 R3R4BGP数据库。
R3#sh ip bgp
………………
Origin codes: i - IGP, e - EGP, ? - incomplete
 
   Network          Next Hop            Metric LocPrf Weight Path
*> 130.130.1.0/24   172.16.1.1               1         32768 64512 AS-PATH有了,但起源属性还是不完整
*> 172.16.1.0/24    0.0.0.0                  0         32768 ?
*> 192.168.1.0      172.16.1.1               1         32768 ?
*  192.168.2.0      192.168.2.2              0             0 64514 i
*>                  0.0.0.0                  0         32768 i
R4#sh ip bgp
………………
Origin codes: i - IGP, e - EGP, ? - incomplete
 
   Network          Next Hop            Metric LocPrf Weight Path
*> 130.130.1.0/24   192.168.2.1              1             0 64513 64512 ? (都显示?号为不完整)
*> 172.16.1.0/24    192.168.2.1              0             0 64513 ?
*> 192.168.1.0      192.168.2.1              1             0 64513 ?
*  192.168.2.0      192.168.2.1              0             0 64513 i
*>                  0.0.0.0                  0         32768 i
11、在 R3设置起源,让 R4能学到完整的 BGP数据库:
R3(config)#route-map set_origin per 10 (针对起源再建立一个名为set_origin的路由图)
R3(config-route-map)#set origin igp (设置起源属性为IGP
R3(config-route-map)#router bgp 64513
R3(config-router)#nei 192.168.2.2 route-map set_origin out(利用路由图调用起源属性,指定下游out方向)
12、现在来看一下 R4BGP数据库 ,发现已经完整了:
R4#sh ip bgp
………………
   Network          Next Hop            Metric LocPrf Weight Path
*> 130.130.1.0/24   192.168.2.1              1             0 64513 64512 i
*> 172.16.1.0/24    192.168.2.1              0             0 64513 i
*> 192.168.1.0      192.168.2.1              1             0 64513 i
*  192.168.2.0      192.168.2.1              0             0 64513 i
*>                  0.0.0.0                  0         32768 i
 

本文转自wxs-163 51CTO博客,原文链接:http://blog.51cto.com/supercisco/273771
相关文章
|
机器学习/深度学习 自然语言处理 监控
简述智能对话系统
对话系统(Dialogue System,简称DS),是使人与机器可以通过自然语言进行对话交互的系统。DS除了用准确、简洁的自然语言回答用户用自然语言提出的问题外,更注重与人的交互、对人意图的理解、对对话氛围的感知,以及回答的多样性和个性化。
|
8月前
|
弹性计算 安全 搜索推荐
阿里云国际站注册教程:阿里云服务器安全设置
阿里云国际站注册教程:阿里云服务器安全设置 在云计算领域,阿里云是一个备受推崇的品牌,因其强大的技术支持和优质的服务而受到众多用户的青睐。本文将为您介绍阿里云国际站的注册过程,并重点讲解如何进行阿里云服务器的安全设置。
|
9月前
|
数据挖掘
国产CRM系统精粹:销售易、悟空CRM、金蝶的深度对比分析
在企业数字化转型中,CRM系统成为提升竞争力的关键工具。本文深度解析国产CRM系统的三个知名品牌:销售易、悟空CRM与金蝶。 **销售易**:覆盖营销、销售、服务全流程,支持全渠道获客、潜客识别、营销自动化及AIGC技术应用,适合大型和跨国公司。 **悟空CRM**:以易用性和灵活性著称,提供客户管理、销售跟踪、市场营销和服务支持功能,适合预算有限的中小企业。 **金蝶**:集成财务管理软件,提供云服务、定制化解决方案和强大的数据分析功能,适合已使用金蝶财务管理软件的企业。 这三款CRM系统各具特色,企业应根据自身需求选择合适的工具,以实现客户关系的全面管理,提升业务效率和客户满意度。
|
9月前
|
SQL Oracle 关系型数据库
【MySQL】——数据查询_进阶操作(超详细)!!
聚合查询,联合查询,内外连接,子查询,合并查询爽歪歪
|
10月前
|
网络安全 开发工具 git
解决fatal:remote error:You can’t push to git://github.com/username/*.g
通过上述诊断与修复步骤,绝大多数的推送错误都能得到有效解决,确保您的Git工作流顺畅无阻。
498 1
|
图形学
【用unity实现100个游戏之17】从零开始制作一个类幸存者肉鸽(Roguelike)游戏4(附项目源码)
【用unity实现100个游戏之17】从零开始制作一个类幸存者肉鸽(Roguelike)游戏4(附项目源码)
320 0
|
Linux Shell 调度
介绍BootLoader、PM、kernel和系统开机的总体流程
介绍BootLoader、PM、kernel和系统开机的总体流程
|
弹性计算 对象存储
阿里云新账户和老账号如何区分?怎么判定?
阿里云新账户和老账号如何区分?怎么判定?阿里云账号分为云新账户、老账户、同人账号和同一用户有什么区别?阿里云官方推出的活动很多是限制账号类型的,常见的如阿里云新用户,什么是阿里云新用户?是指从未在阿里云官网购买过云产品的账号。下面阿小云来详细说下什么是阿里云新账户、老账户、同人账号、同一用户
589 0
阿里云新账户和老账号如何区分?怎么判定?
|
存储 弹性计算 文件存储
阿里云文件系统SMB访问协议服务及使用指南
阿里云于2016年发布了支持NFS网络文件系统访问协议的阿里云文件系统。2017年3月,又增加了SMB文件系统访问协议的支持,正式对外公测。2018年1月,阿里云NAS SMB支持正式提供商业化服务。本文简单描述了SMB文件系统访问协议以及阿里云NAS支持的SMB协议功能,并简单介绍了该服务的使用场景以及使用流程。
6832 0
|
安全 Python
一文彻底搞懂Python异常处理:try-except-else-finally
一文彻底搞懂Python异常处理:try-except-else-finally