HCIP学习--BGP3

目录

前置内容

BGP下一跳的修改问题

BGP的属性

配置

PrefVal权重属性

负载分担

LocPrf

负载分担

NextHop

AS-PATH

Ogn

配置

 MED

配置

BGP选路规则 

BGP的社团属性 

配置及解释


前置内容

HCIP学习--BGP1_板栗妖怪的博客-CSDN博客

HCIP学习--BGP2_板栗妖怪的博客-CSDN博客

BGP下一跳的修改问题

来讲一下,BGP中对于下一跳的修改问题,基于昨天的实验来讲一下,修改下一跳有多种修改方法

[r2-bgp]peer  172.16.1.3 next-hop-local

除去上面这种,还可以下面来一种路由策略

[r2]route-policy aa permit node 10匹配所有流量

[r2-route-policy]apply ip-adress next-hop peer-address修改包中下一跳地址为本地地址

[r2-bgp]peer 132.1.1.3 route-policy aa export在r2讲路由发给邻居132.1.1.3时的出接口执行这个策略

但是如果按上面第二种配置完成后就可能会出现问题,你用1的环回去ping8的环回ping不同,出现了环路,出现环路的原因是,首先1环回去往8环回,然后1去往2然后2去往8的下一跳是7的接口,然后递归查表,去往7的下一跳是3或者5,然后你看3的路由表,你会发现去往8的下一跳是2然后就成环了,那么三上去往8的为啥是2,是你自己改的。就是你改了2去往3和5下一跳,然后5把去往8的路由传给2,然后2再传给3,3上的下一跳经过路由策略的修改,就会变成2,然后就会出现问题。

所以第二个修改下一跳的路由策略是针对所有路由,

第一种修改实际仅针对R2从本地的EBGP邻居学习到的路由给3才会修改

总结:IBGP邻居间传递路由在一个AS内部,若贸然修改属性,极易出现环回,这就是BGP的AS-BY-AS特性

BGP的属性

属性

传播范围  

默认值       

大优小优

权重属性(PrefVal)

不传播(私有 不同设备之间的私有属性,只在本地有效可以在本地修改决定本地的下一个设备的路由选那条)(只可以在接受的路由的入接口配置,因为不传播)

0

(0-65535)

  越大越好

只有本地作用,不管前面是啥设备,只要我在我这修改这一个属性,就可以直接干涉路由,对于自己身上的选路很方便

本地优先级(LocPrf)

仅在IBGP邻居关系间传输

100

(0-255)

大优

干涉IBGP邻居关系选路,使用最多的策略,属性如果是从EBGP邻居接受过来的话是,这个属性不显示,然后在IBGP上显示就是100

下一跳(NextHop)

下一跳可达

优选0.0.0.0

AS-path

整个BGP

记录条目经过的所有AS编号(当你在AS3中前面经过AS2和AS1那么路由中显示1,2。AS号只能添加,不能减少

起源属性(Ogn)

来源种类

Network人一条一条宣告产生
Ilmport将某种协议批量的导入BGP协议
EGP重发布到BGP

MED

度量:BGP协议默认没有度量值

社团属性

默认大多数厂商的产品在BGP协议中不携带社团属性

配置

PrefVal权重属性

[r3]bgp 2

[r3-bgp]peer  4.4.4.4 preferred-value 1   

本地所有通过4.4.4.4邻居学习到的BGP路由,优先级全部修改为1

负载分担

访问不同目标时,让路由器选择不同的路径,起到所有路径被使用效果

(和负载均衡的区别:负载均衡是去往一个目标可以走两条相同的路)

[r3]ip ip-prefix p permit 1.1.1.0 24   抓住网络号

[r3]route-policy p permit node 10    定制策略

[r3-route-policy]if-match ip-prefix p    匹配流量

[r3-route-policy] apply preferred-value 1   修改优先级属性

[r3-route-policy]q

[r3]route-policy p permit node 20    由于路由策略存在分发列表的功能,必须考虑空表

[r3-route-policy]q

[r3]bgp 2

[r3-bgp]peer 4.4.4.4 route-policy p import   和邻居传递路由的控制层面方向调用;

优先级不传播的特性只能在本地的入方向调用

举个例子来理解入方向R1要传路由给R2然后,在R2的g0/0/0接口就是R2的入接口

HCIP学习--BGP3_第1张图片

LocPrf

 [r4-bgp]default local-preference 1   本地传递路由给本地所有IBGP邻居时,修改属性为1

负载分担

HCIP学习--BGP3_第2张图片

以上图做例子 

[r3]ip ip-prefix l permit 1.1.1.0 24抓取相应流量

[r3]route-policy l permit node 10      

[r3-route-policy]apply local-preference 101 修改本地优先级

[r3-route-policy]if-match ip-prefix l匹配

[r3-route-policy]q

[r3]route-policy l permit node 20空表放过其他路由

[r3-route-policy]q

[r3]bgp 2

[r3-bgp]peer  4.4.4.4 route-policy l import    可以在IBGP邻居关系间的出或入方向调用,是在3的靠近3的接口

NextHop

本地在bgp协议中宣告本地路由表中的IGP路由时,在本地的BGP表中下一跳地址为0.0.0.0。而通过BGP从其他邻居处学习到的路由,下一跳地址正常不为0.0.0.0。本地优选0.0.0.0的路由传递给本地的其他BGP邻居

下图是本地宣告的路由

AS-PATH

优选经过的AS号数量最少的路径

同时该属性用于EBGP水平分割,接收到路由条目中若存在本地的AS号将拒绝接收

可以人为的在EBGP邻居关系间,增加AS号的数量来干涉选路,(人为操作只能添加,不能减少)可以干涉到EBGP关系/IBGP关系选路,但只能在EBGP关系设备间配置

如何干涉到IBGP中的选路,以下图作为例子

看图现在又两条路可以将1的环回的路由传给3,现在修改上面那条路由,在2设备的入接口配置,修改上面那条路经过多个AS,那么在AS1内部,选路也会优先选下面那条路

HCIP学习--BGP3_第3张图片

[r2]ip ip-prefix as index 10 permit 1.1.1.0 24

[r2]route-policy as permit node 10

[r2-route-policy]if-match ip-prefix as

[r2-route-policy] apply as-path 3 4 5 additive修改AS属性经过345,标红的意思是马上执行

[r2-route-policy]route-policy as permit node 20空表

[r2-bgp]peer 12.1.1.1 route-policy as import在R2的入接口调用

配置后结果

出向调用为  x 3 4 5   X代表实际经过过的AS

入向调用为  3 4 5 X   X代表实际经过过的AS

注:以上配置方式,若网络后端真实存在AS3/4/5.那么由于EBGP水平分割,将导致这些路由无法被学习

解决方案

重复添加实际已经经过的AS编号来增加数量,BGP选路看的是AS-PATH的数量

[r2-route-policy]apply  as-path  1 1 1 additive

Ogn

来源种类

Network人一条一条宣告产生 标记为 i

Ilmport将某种协议批量的导入BGP协议 标记为

EGP重发布到BGP 标记为e

来个例子

HCIP学习--BGP3_第4张图片

三者优先级i优于e优于?

配置

就以上面那个表格为例子

向让上面去往1.1.2.0/24的网段的路走下一跳为4.4.4.4的那条

[r2]ip ip-prefix o permit 1.1.2.0 24

[r2]route-policy o permit node 10

[r2-route-policy]if-match  ip-prefix o

[r2-route-policy]apply origin egp 2    编写对端设备的AS号

[r2-route-policy]q

[r2]route-policy o permit node 20

[r2-route-policy]q

[r2]bgp 2

[r2-bgp]peer  3.3.3.3 route-policy o export 将2的那条路改成e类型

控制层面流量的入或出接口调用均可

下图是配置成功的结果

HCIP学习--BGP3_第5张图片

 MED

将本地通过IGP协议学习到的路由重发布或宣告到BGP协议,将携带本地IGP度量值到BGP路由中
故利用MED干涉选路,其实就是人为的修改度量值来影响路由器加表
可用于干涉EBGP/IBGP选路
最常用于EBGP选路干涉
常常用于AS1干涉AS2对AS1的选路

HCIP学习--BGP3_第6张图片

配置

以上图作为例子来理解一下AS1干涉AS2对AS1的选路

假设AS1是电信的设备。AS2是联通的设备,真正工程中你只能是一方的人,不能既是电信又是联通的人,假设你现在是电信的人,你要在电信这边来配置,干涉联通对电信的选路

tracert -a 1.1.1.1 3.3.3.3可以显示你经过的下一跳

去往3.3.3.3是经过了12.1.1.1 还经过了23.1.1.2

ping -r -a 1.1.1.1 3.3.3.3 可知回包如何回

看后面两行,12.1.1.1    1.1.1.1经过了这两个回来的

HCIP学习--BGP3_第7张图片

修改度量配置

[r1]ip ip-prefix med permit 1.1.1.0 24

[r1]route-policy med permit node 10

[r1-route-policy]if-match ip-prefix med

[r1-route-policy]apply cost 2

[r1-route-policy]q

[r1]route-policy med permit node 20

[r1-route-policy]q

[r1]bgp 1

[r1-bgp]peer  12.1.1.2 route-policy med export

BGP选路规则 

比较前提,多条BGP路由目标相同,且均可优(下一跳可达、同步关闭),具有相同的优先级(管理距离)

优选Preference_Value值最高的路由(私有属性,仅本地有效)。
不传递  权限最高属性    可以干涉EBGP/IBGP选路

优选本地优先级(Local_Preference)最高的路由。
IBGP邻居关系间传递    只能,最常干涉IBGP关系的选路

选手动聚合>自动聚合>network>import>从对等体学到的。

优选AS_Path短的路由。
EBGP/IBGP关系均可被干涉,但只能在EBGP邻居间修改;

起源类型IGP>EGP>Incomplete。
起源属性 i优于e优于?; 可在控制层面任意接口修改;

对于来自同一AS的路由,优选MED值小的。
默认为0,宣告或重发布(关闭自动汇总)路由时携带本地到达目标的cost

最常用于干涉EBGP选路的属性

  1. 优选从EBGP学来的路由(EBGP>IBGP)。
  2. 优选AS内部IGP的Metric最小的路由。
  3. 优选Cluster_List最短的路由。
  4. 优选Orginator_ID最小的路由。
  5. 优选Router_ID最小的路由器发布的路由。
  6. 优选具有较小IP地址的邻居学来的路由。

BGP的社团属性 

配置及解释

[r1]route-policy com permit node 10

[r1-route-policy]apply community no-advertise  针对所有的流量修改属性

no-advertise  接收到的条目中若存在该社团属性,将不再传递该路由

no-export   接收到的条目若存在该社团属性,将不传递给下一个AS

no-export-subconfed  接收到的条目若存在该社团属性,将不传递给下一个小AS

(注:若网络没有小AS,仅存在大AS时no-export和no-export-subconfed作用一致)

[r1]bgp 1

[r1-bgp]peer 12.1.1.2 route-policy com export

注:默认华为设备也不传递社团属性,故使用社团属性时,必须定义传递性  下面有如何定义的配置

[r1-bgp]peer 12.1.1.2 advertise-community   逐跳行为,每台设备均需开启传递性

你可能感兴趣的:(学习,网络)