BGP路径属性

#网络工程师学习笔记

  • BGP路径属性

分为4个部分:

  1. 公认必遵属性2、公认任意3、可选过渡4、可选非过渡

解释一下:

公认属性:所有BGP路由器都能够进行识别

公认必遵:指我的update消息中肯定含有

公认任意:可能存在我的update消息中

可选属性:不需要被BGP路由器所识别

可选过渡:指的是BGP路由器不识别这个属性,但依然接受这个属性,并通  告给其它对等体。

可选非过渡:BGP路由器不识别这个属性,不向对等体进行通告。

那么都分别包括那些属性呢?

AS_path属性(公认必遵)

作用:确保EBGP对等体之间路由无环路,同时也是路由优选的标准之一

每当路由在被通告给EBGP对等体的时候,update消息中的AS_path就会增加一个AS号,当EBGP对等体收到update的时候,发现AS_path中有自己的AS号,不会接受该消息。

如图所示,当其他条件相同的时候,R5在进行路由学习的时候,会优先选择AS_path数量少的。

origin属性

该属性表示我的起源信息,有以下三种情况:

起源名称

标记

属性

IGP

i

如果这条路由是通过network获得的,那么我的origin就会被标识为IGP

EGP

e

由EBGP对等体发布路由信息学到的,origin属性就是EGP

incomplete

?

所得到的路由信息是有其它方式所得到的,例如import路由引入,则origin属性就是incomplete

Nexthop属性

该属性是公认必遵属性,用于指定到达目的地址的下一跳。

当路由器学习到BGP路由后,需要对路由信息中的nexthop属性进行检查,该nexthop必须本地路由可达,如果不可达,则该BGP路由不可用。

有以下几种缺省情况:

  1. BGP路由器在向EBGP对等体发送路由信息的时候,会默认将该路由信息中的nexthop设为本地与对端建立EBGP邻居关系的接口地址。
  2. 当BGP将本地始发路由发布给IBGP对等体的时候,会将下一跳属性设置为本地与对端建立邻居关系的接口地址。
  3. 路由器在收到EBGP对等体通告的路由信息后,会将该路由信息发给IBGP对等体,nexthop属性值不变。
  4. 当路由器收到某条路由信息后,发现其中的nexthop属性值和自己所建立的EBGP对等体处于同一个网段,nexthop属性值不变传给它的BGP对等体。

可以使用peer next-hop-local命令修改下一跳为TCP连接源地址。

Local preference

本地优先级属性,属于公选任意属性,用于告诉BGP路由器哪条路由是离开本地AS的最优路由。

该路由器只能传给IBGP对等体,不能传给EBGP对等体。

Local preference属性值越大越优,缺省情况下local preference 属性值为100

该属性只能传递给IBGP,不能向EBGP传递。

commuty属性

可选过渡属性

当我的路由器进行路由引入的时候,BGP路由器需要为不同的路由执行不同的路与策略,但是如果我使用ACL或者Ip-filter进行路由过滤,这样的话效率会非常的低下。

所以我们引进了commuity属性,我们可以为不同的路由打上commuty属性值,当路由被更新给其它路由器的时候,会根据不同的属性值执行不同的策略

Commuity有以下几种属性

MED

多出口鉴别器 可选非过渡属性

用于向外部EBGP对等体指出进入本地AS的最优路径,

MED值越小越优

当我的路由被通告给EBGP对等体时,对等体在该AS内传递该路由的时候会携带MED值。

MED用于AS之间影响BGP路由的选路,当路由传递给对等体后,对等体在传递给另一个AS的时候,是不携带MED值的。

MED值跟COST值很相似,

如果路由器将直连路由、静态路由通过network、import-route引入,cost值默认为0,我的MDU值默认也为0。

  • 路由反射器

前面我们提到了IBGP水平分割造成IBGP路由器无法获得路由,我们采用IBGP全互联的方式使得IBGP路由之间得以通告路由,但是采用全互联的方式太麻烦,需要我们维护的设备太多。因此我们引入了一个概念叫做路由反射。

RR在接受到BGP路由的时候:

如果RR从非客户对等体接收到了IBGP路由,会反射给所有的客户。

如果路由反射器从自己的客户学习到一条IBGP路由,会反射给除了该客户以外的所有客户。

如果学习自EBGP对等体,会反射给所有的客户、非客户IBGP对等体 。

我们引进了RR的概念,这样就打破了IBGP之间不能进行路由传递的规则,可能会造成路由环路,为了防止路由环路,我们引进了两个特殊的路径属性:originator_ID、Cluster_list。

这两种属性都属于可选非过渡属性。

BGP(Border Gateway Protocol)路径属性BGP协议中用于决定路由选择和传递的关键信息,其种类繁多且作用各异,因此记忆和学习这些属性需要系统化的方法。以下是一些有效的记忆方法和学习技巧: ### 1. **分类记忆法** 将BGP路径属性按照**公认必遵(Well-known mandatory)**、**公认自决(Well-known discretionary)**、**可选过渡(Optional transitive)** 和 **可选过渡(Optional non-transitive)** 四类进行划分,有助于理解其传播范围和使用场景。 例如: - 公认必遵:所有BGP实现都必须识别,并且在Update消息中必须存在,如`ORIGIN`、`AS_PATH`、`NEXT_HOP`。 - 可选过渡:不一定被所有BGP实现支持,但可以在邻居之间传递,如`COMMUNITY`。 - 可选过渡:仅在本地有意义,不会传递给其他邻居,如`LOCAL_PREF`、`MED`。 这种分类方式可以帮助快速判断某个属性在网络中的行为[^3]。 --- ### 2. **功能归类与口诀辅助** 将路径属性按照其功能归类,并结合记忆口诀加深印象。例如: | 功能类别 | 属性示例 | |----------|-----------| | 路径选择 | `AS_PATH`, `MED`, `LOCAL_PREF` | | 源信息 | `ORIGIN` | | 策略控制 | `COMMUNITY`, `EXTENDED_COMMUNITY` | 可以使用口诀:“**O**rigin, **A**S_Path, **N**ext_Hop 是基本三宝;L**ocal_Pref**, M**ED**, C**ommunity** 控制策略跑”来帮助记忆常用属性及其用途。 --- ### 3. **图形化思维与流程图** 绘制BGP路径选择过程的流程图,标注每一步使用的路径属性,有助于理解它们在决策链中的优先级。例如: ```plaintext Highest Weight → Highest Local Preference → Own Router ID → Shortest AS Path → Lowest Origin Code (i > e > ?) → Lowest MED → Prefer EBGP over IBGP → IGP Metric to Next Hop → Oldest Route ``` 通过流程图强化对各属性路径选择中权重的理解[^1]。 --- ### 4. **实验验证与配置实践** 在模拟器(如GNS3、Packet Tracer或Cumulus VX)中搭建BGP网络环境,手动配置不同路径属性并观察其对路由选择的影响。例如: ```bash router bgp 65001 neighbor 192.168.1.2 remote-as 65002 network 10.0.0.0 mask 255.255.255.0 default-information originate ! ip prefix-list DEFAULT seq 5 permit 0.0.0.0/0 route-map SET_ORIGIN permit 10 set origin igp ! router bgp 65001 neighbor 192.168.1.2 route-map SET_ORIGIN out ``` 上述配置演示了如何通过`route-map`修改`ORIGIN`属性,从而影响接收端的路径选择。 --- ### 5. **关联实际应用场景** 将路径属性与实际网络场景结合,例如: - 使用`LOCAL_PREF`控制出方向流量; - 使用`MED`影响进入本AS的入口选择; - 使用`COMMUNITY`标记特定路由以便统一策略处理。 通过真实案例分析这些属性如何协同工作,能更深刻地掌握其作用机制[^3]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值