以下bgp属性属于公认必遵属性的有哪些

以下bgp属性属于公认必遵属性的有哪些,第1张

bgp属性属于公认必遵属性的有Origin、ASPath、Nexthop。bgp属性属于公认必遵属性的有Origin、ASPath、Nexthop,所有的BGP实现都必须都能识别。BGP属性是BGP进行路由决策和控制的重要信息。

上节我们主要讲解了BGP通告原则与路由处理

IGP协议中,rip是通过跳数,ospf和ISIS是通过开销值,

那在BGP中如何进行选路呢?

如何进行防环是每个协议都要考虑的问题

大致可以分为公认属性和可选属性

1、公认属性:所有运行BGP协议的路由器都能理解的属性

*公认必遵:大家都知道并且必须满足,BGP的Update报文消息中必须包含的属性

Origin(起源属性)

AS Path

Next hop

*公认任意:大家都知道,但是需不需要可以根据需求自由选择,不必存在于Update报文中。

Local Pref

Atomic aggregate

2、可选属性:厂家开发的某些满足特殊需求的属性,但是并不是所有路由器都理解的属性,私有属性。

*可选过渡:BGP虽然不能识别该属性,但是我可以把它接受并传递下去发布给其他的邻居

Aggregator

Community

*可选非过渡:BGP可以忽略包含该属性的消息并且不向它的邻居发布。

MED

默认情况下传给EBGP邻居的BGP路由的下一跳设置为自身向这个EBGP邻居发送BGP报文的源地址。

默认情况下从EBGP邻居得到的BGP路由再传给IBGP邻居时,此BGP路由的下一跳默认不变,可以使用peer next-hop-local修改下一跳。

默认情况下凡是自己产生的BGP路由在传给任何BGP邻居时,总是把此路由的下一跳设置为向BGP邻居发送BGP报文的源地址

练习:以下如果都用环回口建立邻居关系,最后答案是多少?

1.1.1.1

2.2.2.2

3.3.3.3

同AS传递下一跳不变,不同AS之间传递下一跳需要改变。

Origin属性定义路径信息的来源,标记一条路由是怎么成为BGP路由的。

我们可以看到BGP路由表中出现Ogn列,就代表起源属性

BGP路由的起源属性有三种:

1、i:表明BGP路由是由network命令发布的

2、?:imconplete,不完全的,表明BGP路由是由import-route发布的

3、e :表明BGP路由时从EGP协议引入的BGP协议目前已经全面退出网络了,但是我们可以通过路由策略将路由的起源属性进行修改为e,一般起源属性是一种选路属性,可以用于BGP路径的选路,通过修改起源属性可以控制BGP路径 。

三种属性的优先级:i>e>?

我们在R1上引入以下路由,

功能:

1、选路,经过AS数量少的路径最优

2、在AS之间实现BGP路由防环,从EBGP邻居得到路由时,检查该路由的AS_PATH属性,如果AS_PATH属性中携带该路由自身的AS号,则丢弃该路由。

3、当BGP路由传递给EBGP邻居时,会将自己的AS号添加到ASpath的最前边。

当BGP路由传递给IBGP邻居时,不会添加自己的AS号。

4、AS_PATH可以被修改,华为在EBGP和IBGP邻居之间都可以被修改,思科只能在EBGP之间进行修改

ps:AS内部是怎么进行防环的呢?

IBGP的水平分割:通过IBGP获得的最优路由不会发布给其他的IBGP邻居

我们继续在R1上进行如下配置

我们在R1配置了一条234的AS path

现在抓包看一下,

使用命令将BGP路由手动触发更新

发现这条路由里已经添加了234的AS_PATH

此时R2的路由都不接受R1传递的1.1.1.1了

我们开启R2的debug模式

然后在R1上进行BGp刷新

<R1>refresh bgp all export

<R2>

这表示路由器接收到了192.168.1.0路由来自10.1.12.1,它的AS path是 1 234

我们在R2上进行如下命令,表示如果收到10.1.12.1发送来的EBG路由,携带AS号也接收

此时我们在查看BGP路由表

总结:BGP公认必遵的三个属性的必要性,下一跳是一定要存在的,BGP不进行路由计算,只是被动的接受路由指令。起源属性是定义路径信息的来源,标记一条路由是如何成为BGP路由的,AS_PATH是EBGP路由防止环路的关键,也必须存在。

该属性是属于公认任意的,local preference属性仅在IBGP邻居之间有效,不通告给其他AS,它表明路由器的 BGP优先级,用于判断流量离开AS时的最佳路由。默认值是100,越大越优先。

我们把之前对AS_PATH做的策略去掉

此时R1只是引入了一条192.168.1.0的静态路由,并发布BGP路由表中

在R5上,我们也做同样的操作

此时我们来模拟,AS234访问192.168.1.0的路由会有两条路可以走,AS1和AS5

,它 们访问R3的路由优先级都是一样的

但是我们查看R3的路由表,目前R3中192.168.1.0选路是通过R2走的,我们现在想改为通过R5,R4走,

与此同时,R2也会收到R4传递的v路由,它此时会把之前通过R1得到的路由丢弃,但是此时并不会继续向R3进行路由转发,因为是IBGP邻居传递给他的路由,我们知道,通过IBGP邻居得到的路由不会继续转发给其他BGP邻居,进行IBGP之间的防环。

实验:

我们在之前的实验基础上再各自添加一条192.168.2.0 24的路由实现192.168.1.0通过R2访问,192.168.2.0通过R4访问,达到BGP通过公认任意属性选路的效果。

先把R4的路由优先级取消,恢复默认

R2

R4

我们从R3查看

验证通过~!

属于可选属性中的可选非传递属性,也称BGP的开销,越小越优先,属性仅在相邻的两个AS之间传递,收到此属性的AS不会再将其通告给任何其他第三方AS,用于判断流量进入AS时的最佳路由。

华为设备通告MED属性的规则

我们继续在R2上进行实验

查看

(和第一条综合起来,就是MED只会影响始发路由器相关的AS邻居,不会影响第三方。

我们从R1将之前的引入静态路由设置MED‘为888,在R4上依然能够看到。

4、从IBGP邻居得到的路由传递给EBGP邻居不携带MED

5、从联盟EBGP邻居或者联盟内始发的路由的MED值在整个联盟中保持传递

MED值在IBGP或者EBGP包括成员EBGP in和out方向都是可以修改的

一、BGP的消息类型:

1:open(打开消息)

2:keepalive(存活消息)

3:update(更新消息)

4:notification(报错消息)

1.1 open

当BGPspoken peer之间建立了tcp三次握手之后,便开始发送open消息,那么这个open消息用来干嘛,那么先来看看open消息格式,便能理解它的作用

1、Marker、length、type 是bgp报文的固定格式

2、version:表明BGP的版本

3、My AS:表明发送方的AS系统号

4、hold time:表明发送方keepalive报文过期时间

5、BGP identifier: 在一个AS内保证BGP进程不同,类似OSPF的router-id

6、optional parmeters:可选的参数,比如要做认证,则必须要事先协商

总体这个报文应该没有什么问题,学过OSPF的对hello报文作用很清楚吧,这个open跟hello基本差不多,但是hello报文的第二个特性就完全不一样了,hello报文第二个特性是保活,而BGP使用接下来介绍的keepalive报文进行BGP peer之间的保活作用,当然这也突出了BGP的增量更新作用。

2、keepalive报文

这个报文没什么讲的,60s周期发送,上图大家可以看看它的格式,当然你们也可以自己抓包看看。

3、update

当BGP的peer互相发送了open报文,而且协商过了,便建立连接,这个跟IGP的特性很像,那么现在我们想知道,update到底发送什么内容,先看看报文格式吧!


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/316462.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存