BGP属性

BGP路由协议详解
本文详细介绍了BGP(边界网关路由协议),包括其作为EGP的特点、基于TCP的可靠性、安全性和防环机制。BGP是AS间的路由协议,强调AS路径、路径矢量、更新机制和邻居建立。此外,还探讨了BGP的各种属性,如weight、origin、as_path、next_hop、local_pref等,以及如何影响路由选择。同时,提到了BGP的聚合、报文类型和邻居类型,如IBGP和EBGP。

BGP—边界网关路由协议
动态路由协议可以按照工作范围分为IGP以及EGP 
IGP:在AS内发现和计算路由,-可靠性,可控性比如ospf、rip、isis 
EGP:在AS间传递和控制路由,收敛速度快,占用资源少,选路佳 比如BGP
AS:路由域,管理域,策略域:公有 1-64511,私有:64512-65535
BGP基于TCP,端口号179 
RIP基于UDP,端口号520 
OSPF基于IP,协议号89
协议封装:基于 TCP 封装–使用 TCP 端口号为 179—使用单播更新来发送所有的信息
Bgp 靠tcp来传递路由信息(端口号179)保证了可靠性,丧失邻居自动发现,单播建邻,可以非直连建邻。
Bgp设计用来处理AS之间,所以该协议重点处理as之间的路由,as之外的不作为重点
BGP特点:
路径矢量型路由协议(IGP 协议是 router-by-router,BGP 是 as-by-as)
BGP 是一种较为稳定的路由协议(收敛速度慢)
最小通告间隔: EBGP 30s IBGP 5s
BGP安全性(基于 TCP 做认证,认证信息在 TCP 报文中)、防环机制 更新方式:触发更新、增量更新 更新地址:单播更新
BGP更新机制: 
1.无需周期性更新 
2.路由更新:只发送增量路由(只发增加、删除、修改的信息,只在第一次发送全部的信息, 
以后都是增量更新,会记录第一次发送的信息,进行更新时进行比对) 
3.周期性发送keepAlive报文检测TCP的连通性(默认60s)
BGP的聚合:
BGP的聚合不会影响明细的发送,路由表中的明细不会消失,IGP 的聚合路由表中的明细会消失
BGP报文有五种类型:
Open:负责和对等体建立邻居关系。
KeepAlive:该消息在对等体之间周期性地发送,用以维护连接。
Update:该消息被用来在BGP对等体之间传递路由信息。
Notification:当BGP Speaker检测到错误的时候,就发送该消息给对等体。
Route-refresh:用来通知对等体自己支持路由刷新能力。
BGP建立两种邻居:IBGP EBGP 
IBGP:在AS内部建立 ,一般用loop口建立邻居 
EBGP:在AS间建立,一般用物理接口建立邻居
BGP 的属性:
weight ,origin ,as_path ,next_hop ,local_pref ,atomic_aggregate , Aggregator ,community ,MED,originator_id ,cluster_list
属性分为 4 类:
1.公认必尊 --必须传递必须识别
所BGP 路由器必须识别遵守的原则有 origin,as_path ,next_hop
2.公认可尊–必须识别
所有路由器都能识别但是不一定要遵守,local_pref,atomic_aggregate
3.可选传递–打开传递
不是所有 BGP 路由器都能识别,但是所有 BGP 都能传递,aggregator 和 community
4.可选非传递–打开不传递
不是所有路由器都被识别,不能识别的 BGP 路由器就丢弃它,MED,originator_id 和 cluster_id,weight

(1)Weight
Ciscoo私有属性,对于离开AS路由器选择那一条最优,本台路由器产生32768,学习为0的不能传递,适用于一台路由器在多条路径情况下的选路,无视邻居属性。
修改方式:
1.router bgp 2
neighbor 10.1.34.3 weight 1//修改该邻居传递过来的所有路由
2.router bgp 2
neighbor 10.1.34.3 router-map a in//只针对,某一个,只能用in
set weight
Weight的值的修改只能影响本路由器,不能影响其他路由器,意味着如果as只有一个出口路由器,Weight的选路适用
(2)Origin
起源标识属性,标识该路由的来源方式0表示宣告(i),1表示EGP学到(E),3表示其他方式得到(重发布?),越低越好, i > e >? 选路,该属性可以选路,但一般不用
修改方式:
router bgp 2
neighbor 10.1.34.3 router-map a in //用in和out都可以,适用于任何邻居关系
set origin incomplete
(3)AS path
一条路由在传输过程中经历了哪些AS(不算自己的)顺序是最近经过as的排前面,一个as的路由拒绝接受携带as号的路由,可用来防环,越短越好
一般添加as会重复已经添加的AS,一般不会添加,适用于任何邻居,in/out都可以用。
router-map org permit 10
match ip add prefix-list
set orign incomplete
set as-path prepend 234
router-map org permit 20
router bgp 1
neighbor 10.1.34.3 router-map org in
(4)next_hop
到达路由器的下一跳路由器的IP地址,ibgp之间next_hop不变,为0时,会修改更新为更新源地址,EBGP之间传递路由next_top修改为更新源地址。
下一跳为0的优先其他路径。方向无所谓,邻居无所谓
router bgp 2
neighbor 10.1.24.2 router map k in
router-map k permit 10
match ip address prefix-list a
set ip next-hop 1.1.1.1
router-map permit 20 //放空
(5)local_pref
与weight一样,不能在EBGP邻居之间传递,可在IBGP邻居之间传递,不能传输到其他AS,值越高越优,用于本AS选择离开AS的出口路由默认为100.
当本地as有多个出口路由器时,选择拥有local值大的路由器作为出口路由器,也可以是到达一个网段有多个出口路径时,选择local值大的路径
修改方式:
修改路由器的默认local_pref的值,该路由器通告给ibgp的邻居路由器都会携带修改后的local_pref值
Router-mapk permit 10
Bgp default local_preference 120 //修改路由器默认的local值
通过router-map修改某路由的local-pref值,ebgp只能在in方向,ibgp在in/out方向都可以
Router-map k permit 10
Match ip address prefix_list k
Set local-preference 120
Router-map k permit 20
Router bgp 1
Neighbor 10.1.34.4 router-map k in
(6)MED
本质就是metric默认为0,一般用于来自同一个as发出路由的不同路径进行比较,两个不同as比较med没意义。
用于选择流入AS的入口路由器,可以在两个AS之间传递,不能传给第三个as。
一般用于影响对方的as,如果在本as内使用,和在local_pre等同(med不能再路由器上修改默认值)
#bgp always-compred-med //开启比较不同as的med
(7)Atomic_aggregate
用来警告下游路由聚合后产生的路由路径丢失。
As set会使得as-path携带as号。
BGP支持BGP邻居传递重叠路由可以选择多种方式
1.明细路由和粗略的都公布 //aggregate-address 10.0.0.0 255.0.0.0
2.只公布明细 //aggregate-address 10.0.0.0 255.0.0.0 suppress-map
3.只公布没有重叠的as-path //aggregate-address 10.0.0.0 255.0.0.0 summary-only as-set
4.聚合后公布聚合后的路由 //aggregate-address 10.0.0.0 255.0.0.0 summary-only
5. 明细和粗略都不发布
(8)Community
为了更好地标识bgp路由,标识格式x:y
团体值的设置不能在EBGP之间(在ibgp之间可以)他的传递可在IBGP和EBGP之间
设置必须在ibgp之间,in/out都可以
子属性:
1.internet默认属性,可以给任何BGP发送,不对携带团体之的路由做任何处理限制
2.no_export只能在一个as内传递,可在联盟内传递,该属性就是限制携带团体之值的路由传递给ebgp邻居,联盟除外。
3.no_advertise不在IBGP和2ebgp邻居间传递,禁止传递给任何邻居
4.local-as不向任何EBGP邻居发送包括联盟的EBGP邻居

Sandard(做路由标识) extended(mpls vpn)可读性好
传递设置:Neighbor kkk send-community both/tandard/extended //团体属性如果需要传递需注意开启该指令
匹配设置:
Ip community-list expend k permit 111 //匹配
ip bgp-community new-format //开启后可以匹配扩展性
show ip bgp 10.2.2.2 //查看路由详情可查看团体值
show ip bgp community //该指令可以查看所有具有团体值的路由
show ip bgp community 111 //查看某团体值的所有路由
(9)Aggregator
用来通告汇总路由的汇聚路由器BGP_ID(cisco)
(10)Originator id
路由反射器使用,是路由发起者产生32比特的值,该值是本地路由发起者的RID,如果路由发起者从属性上看到自己的RID,说明有环就忽略
(11)Cluster_list
路由反射器使用,是路由进过反射器簇 ID 的一个序号。如果反射器在属性里看到自己的簇 ID 就说明有环路,忽略 簇 ID 列表:记录了所有反射器的 RID
反射器:
非客户端之间不可反射
缺点:反射器收到2个或2个以上到达同一目标路径时会判断出最优路径,然后反射给客户端和非客户端路由器,这样设备就丧失了多条路径判断最优的选路。
nighbor 10.2.2.2 route-reflector-client //在反射服务端上指定反射客户端,未指定的就是非客户端

Bgp的宣告完全是依赖路由表,宣告满足:
1.被宣告的路由必须在路由表中
2.被宣告的路由必须和路由表中的前缀掩码一致。
EBGP建邻没有特殊情况一般使用直连,如果使用非直连,需要修改跳数,默认情况下跳数为1(不修改跳数无法建邻)
IBGP建邻建议使用环回
BGP路由传递的是BGP路由表中的路由
BGP在收到路由后检查活该路由的下一跳,如果不可达则一定不优。
配置对等体组
router bgp 1
rrouter-id 10.2.2.2
rgp log-neighbor-changes
neighbor ppp peer-group
neighboor ppp remoat-as 1
neighbor ppp update-source lo0
nighbor 10.3.3.3 peer-group ppp
neighbor 10.4.4.4 peer-group ppp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值