利用BGP origin-code 属性修改BGP选路

实验拓扑

基本配置:

R1

L0:1.1.1.1/32

L1:11.1.1.1/32

E1/0:10.1.12.1/24

E1/1:10.1.14.1/24

R2

L0:2.2.2.2/32

L1:22.2.2.2/32

E1/0:10.1.12.2/24

E1/1:10.1.24.2/24

R4

L0:4.4.4.4/32

L1:44.4.4.4/32

E1/0:10.1.24.4/24

E1/1:10.1.14.4/24

配置IGP(RIP):

R1

router rip

version 2

network 1.0.0.0

network 10.0.0.0

no auto-summary

R2

router rip

version 2

network 2.0.0.0

network 10.0.0.0

no auto-summary

R4

router rip

version 2

network 4.0.0.0

network 10.0.0.0

no auto-summary

配置BGP:

router bgp 1

bgp router-id 1.1.1.1

bgp log-neighbor-changes

network 1.1.1.1 mask 255.255.255.255

network 2.2.2.2 mask 255.255.255.255 backdoor

network 4.4.4.4 mask 255.255.255.255 backdoor

network 11.1.1.1 mask 255.255.255.255

neighbor 2.2.2.2 remote-as 23

neighbor 2.2.2.2 ebgp-multihop 2

neighbor 2.2.2.2 update-source Loopback0

neighbor 4.4.4.4 remote-as 23

neighbor 4.4.4.4 ebgp-multihop 2

neighbor 4.4.4.4 update-source Loopback0

R2

router bgp 23

bgp router-id 2.2.2.2

bgp log-neighbor-changes

network 1.1.1.1 mask 255.255.255.255 backdoor

network 2.2.2.2 mask 255.255.255.255

network 22.2.2.2 mask 255.255.255.255

neighbor 1.1.1.1 remote-as 1

neighbor 1.1.1.1 ebgp-multihop 2

neighbor 1.1.1.1 update-source Loopback0

neighbor 4.4.4.4 remote-as 23

neighbor 4.4.4.4 update-source Loopback0

R4

router bgp 23

bgp router-id 4.4.4.4

bgp log-neighbor-changes

network 1.1.1.1 mask 255.255.255.255 backdoor

network 4.4.4.4 mask 255.255.255.255

network 44.4.4.4 mask 255.255.255.255

neighbor 1.1.1.1 remote-as 1

neighbor 1.1.1.1 ebgp-multihop 2

neighbor 1.1.1.1 update-source Loopback0

neighbor 2.2.2.2 remote-as 23

neighbor 2.2.2.2 update-source Loopback0

查看R1路由表:origin 为i,表示从IGP 学来的路由。

R1#sh ip bgp

BGP table version is 5, local router ID is 1.1.1.1

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,

x best-external, a additional-path, c RIB-compressed,

Origin codes: i - IGP, e - EGP, ? - incomplete

RPKI validation codes: V valid, I invalid, N Not found

Network          Next Hop            Metric LocPrf Weight Path

r   2.2.2.2/32       4.4.4.4                                0 23 i

r>                   2.2.2.2                  0             0 23 i

r   4.4.4.4/32       4.4.4.4                  0             0 23 i

r>                   2.2.2.2                                0 23 i

*   22.2.2.2/32      4.4.4.4                                0 23 i

*>                   2.2.2.2                  0             0 23 i

*   44.4.4.4/32      4.4.4.4                  0             0 23 i

*>                   2.2.2.2                                0 23 i

查看22.2.2.2 44.4.4.4的路由表:

R1#sh ip bgp 22.2.2.2

BGP routing table entry for 22.2.2.2/32, version 4

Paths: (2 available, best #2, table default)

Advertised to update-groups:

18

Refresh Epoch 1

23

4.4.4.4 (metric 1) from 4.4.4.4 (4.4.4.4)

Origin IGP, localpref 100, valid, external

rx pathid: 0, tx pathid: 0

Refresh Epoch 1

23

2.2.2.2 (metric 1) from 2.2.2.2 (2.2.2.2)

Origin IGP, metric 0, localpref 100, valid, external, best

rx pathid: 0, tx pathid: 0x0

R1#sh ip bgp 44.4.4.4

BGP routing table entry for 44.4.4.4/32, version 5

Paths: (2 available, best #2, table default)

Advertised to update-groups:

18

Refresh Epoch 1

23

4.4.4.4 (metric 1) from 4.4.4.4 (4.4.4.4)

Origin IGP, metric 0, localpref 100, valid, external

rx pathid: 0, tx pathid: 0

Refresh Epoch 1

23

2.2.2.2 (metric 1) from 2.2.2.2 (2.2.2.2)

Origin IGP, localpref 100, valid, external, best

rx pathid: 0, tx pathid: 0x0

origin皆为IGP。修改 bgp origin-clde 属性,使R1到R2的22.2.2.2 永久的从R4走,到R4的44.4.4.4永久的从R2走。

在R1上配置:

第一步:配置prefix-list

ip prefix-list 22 seq 5 permit 22.2.2.2/32

ip prefix-list 44 seq 5 permit 44.4.4.4/32

第二步:配置route-map

route-map ori-r2 permit 10

match ip address prefix-list 22

set origin incomplete

route-map ori-r2 permit 20

route-map ori-r4 permit 10

match ip address prefix-list 44

set origin incomplete

route-map ori-r4 permit 20

第三步:在BGP中,对相应的邻居in方向调用route-map。

neighbor 2.2.2.2 route-map ori-r2 in

neighbor 4.4.4.4 route-map ori-r4 in

第四步:重置BGP邻居,重新学习路由

clea ip bgp *

查看R1 BGP路由表:

R1#sh ip bgp

BGP table version is 16, local router ID is 1.1.1.1

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,

x best-external, a additional-path, c RIB-compressed,

Origin codes: i - IGP, e - EGP, ? - incomplete

RPKI validation codes: V valid, I invalid, N Not found

Network          Next Hop            Metric LocPrf Weight Path

*>  1.1.1.1/32       0.0.0.0                  0         32768 i

r   2.2.2.2/32       4.4.4.4                                0 23 i

r>                   2.2.2.2                  0             0 23 i

r   4.4.4.4/32       4.4.4.4                  0             0 23 i

r>                   2.2.2.2                                0 23 i

*>  11.1.1.1/32      0.0.0.0                  0         32768 i

*>  22.2.2.2/32      4.4.4.4                                0 23 i

*                    2.2.2.2                  0             0 23 ?

*   44.4.4.4/32      4.4.4.4                  0             0 23 ?

*>                   2.2.2.2                                0 23 i

此是,BGP表显示从R2学来的22.2.2.2路由,origin-code属性已改为?(incomplete),从R4学来的44.4.4.4路由,属性也改为?(incomplete),优先选择origin-clde为i的路由。

IGP(i)优于EGP(e)优于incomplete(?)的路由。

R1#sh ip bgp 22.2.2.2

BGP routing table entry for 22.2.2.2/32, version 16

Paths: (2 available, best #1, table default)

Advertised to update-groups:

18

Refresh Epoch 1

23

4.4.4.4 (metric 1) from 4.4.4.4 (4.4.4.4)

Origin IGP, localpref 100, valid, external, best

rx pathid: 0, tx pathid: 0x0

Refresh Epoch 1

23

2.2.2.2 (metric 1) from 2.2.2.2 (2.2.2.2)

Origin incomplete, metric 0, localpref 100, valid, external

rx pathid: 0, tx pathid: 0

R1#sh ip bgp 44.4.4.4

BGP routing table entry for 44.4.4.4/32, version 15

Paths: (2 available, best #2, table default)

Advertised to update-groups:

18

Refresh Epoch 1

23

4.4.4.4 (metric 1) from 4.4.4.4 (4.4.4.4)

Origin incomplete, metric 0, localpref 100, valid, external

rx pathid: 0, tx pathid: 0

Refresh Epoch 1

23

2.2.2.2 (metric 1) from 2.2.2.2 (2.2.2.2)

Origin IGP, localpref 100, valid, external, best

rx pathid: 0, tx pathid: 0x0

实验完成。

时间: 2024-10-05 02:56:47

利用BGP origin-code 属性修改BGP选路的相关文章

BGP中COMMUNITY属性

COMMUNITY--可选传递属性 一种标记,用于简化路由策略的执行 可以将某些路由分配一个特定的community属性,之后就可以基于该community值而不是每条路由进行BGP属性设置 community属性就可以理解成在IGP内打TAG的意思,只不过在BGP中是community值 community值会一直传递下去,如果不做策略,永远不会丢失. community属性在cisco路由器有两种表现形式: Cisco路由器默认表现形式是十进制的形式,例如图片中:796432 RFC格式:A

BGP的各种属性

边界网关协议(BGP)是运行于 TCP 上的一种自治系统的路由协议. BGP 是唯一一个用来处理像因特网大小的网络的协议,也是唯一能够妥善处理好不相关路由域间的多路连接的协议. BGP 构建在 EGP 的经验之上. BGP 系统的主要功能是和其他的 BGP 系统交换网络可达信息.网络可达信息包括列出的自治系统(AS)的信息.这些信息有效地构造了 AS 互联的拓朴图并由此清除了路由环路,同时在 AS 级别上可实施策略决策. BGP采用TCP179端口,BGP不会学习路由, 只会传递路由. * BG

利用SSIS的ForcedExecutionResult 属性 和CheckPoint调试Package

1,ForcedExecutionResult 强制一个package或task执行的结果,共有四种值 None,Success,Failure,Completion,默认值是None,表示不强制返回值. 如果设置ForcedExecutionResult=Success,不管package执行过程中是否出现异常,package执行的结果都是Success. The default value of this property is None, which indicates that the

利用form的target属性屏蔽url跳转

target: 规定在何处打开 action URL. 关键点: 让target指向隐藏的iframe demo: form.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional

[jvm解析系列][八]方法表集合,Code属性和Exceptions属性,你的字节码存在哪里了?

根据我们第五章的总构图来看,这一章我们正该讲到方法表集合: 大家可能注意到在java中声明一个方法和声明一个变量很相似,public int a = 0;和public int a(){};于是在方法表集合中和字段表集合也很相似. 一个方法表的结构应当和下图一样: 对比字段表应该发现几乎是一样的.access_flags里的可选项略有不同而已. access_flags: 这样以来我们把方法表和字段表对比来看应该很好理解了.对于属性表又是一大块内容.上次我们说到了属性表的结构 并且说了在字段表中

AgilePoint实例属性修改

流程实例中的参数存放在WF_CUSTOM_ATTRS表的WF_CUSTOM_ATTRS字段,为ntext类型,里面存放的是XML,不能直接修改 update [APData].[dbo].[WF_CUSTOM_ATTRS] set [WF_CUSTOM_ATTRS]=replace(convert(nvarchar(4000),[ATTR_XML]),'修改','修订') where CUSTOM_ID='957BDD8EC7844B868104831AEF00B11A' AgilePoint实

文件属修改器!(创建时间、修改时间等属性修改)

还记得上学时候计算机老师让交作业,那个时候大部分人都是直接Copy别人做好的东西过来改下内容,但是没有人注意到一个问题就是老师肯定不傻,会看文件的创建时间.修改时间等属性,那时候我就找到一个修改文件属性的软件,屡试不爽,哈哈.我相信很多同学有过这样经历吧,今天再把软件整理下打包给大家,有需要的同学可以下来用.所以说Copy也要会Copy,就像写作文一样,看的多了,用的多了,只要会改,那些东西最后都是属于你自己的.不存在抄袭一说,算是借鉴和升华. 点击下载软件 文件属修改器!(创建时间.修改时间等

C#利用反射获取对象属性值

public static string GetObjectPropertyValue<T>(T t, string propertyname){     Type type = typeof(T); PropertyInfo property = type.GetProperty(propertyname); if (property == null) return string.Empty; object o = property.GetValue(t, null); if (o == n

利用CSS3的transform属性让元素在页面居中

今天学到让元素在页面中水平居中的新写法,利用了CSS3的transform属性,通过设置translate的值来改变元素的位置. 1.先来看看怎么实现的 页面中放一个div,width和height随便设置大小和背景色,以便查看效果: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>利用CSS3的