赞
踩
AS: 指的是在同一个组织管理下,使用统一选路策略的设备集合,AS取值范围四字节( 0~43亿)
BGP是边界网关协议,用于自治系统间的动态协议路径矢量。基于TCP中应用层协议,端口号为179,只发送增量路由更新
EBGP:位于不同AS的BGP路由器之间的BGP对等体关系。两台路由器之间要建立EBGP对等体关系,必须满足两个条件:
两个路由器所属AS不同(即AS号不同)。
在配置EBGP时,Peer命令所指定的对等体IP地址要求路由可达,并且TCP连接能够正确建立。
IBGP:位于相同自治系统的BGP路由器之间的BGP邻接关系。
IGP:发现路由
BGP:传递路由
路由控制和优选
传递路由
IBGP配置:(在同一个AS域内)
- 进入BGP进程:bgp 100
- 绑定对端BGP: peer 10.1.1.2 as-number 100(绑定对端环回地址和as)
- 绑定自己环回接口:peer 10.1.1.2 connect-interface LoopBack0
- 宣告自己的环回地址:network 10.1.1.1 32
EBGP配置:(在不同AS域内)
- 进入BGP进程:bgp 100
- 绑定对端BGP: peer 192.168.10.2 as-number 200 (绑定对端接口IP地址和as)
- 宣告自己的环回地址:network 10.1.1.1 32
- (如果用环回接口创建时)
- 绑定对端BGP:peer 10.1.1.2 as-number 200 (绑定对端环回地址和as)
- 改变最大跳数:peer 10.1.1.2 ebgp-max-hop 2
查询命令:
- 查看BGP对等体信息:display bgp peer
- 查看BGP错误信息:display bgp error
- 查看BGP路由表信息:display bgp routing-table
- 查看一条BGP详细信息:display bgp routing-table 10.1.1.1
缺省情况下,BGP使用报文出接口作为TCP连接的本地接口。
在部署IBGP对等体关系时,建议使用Loopback地址作为更新源地址。Loopback接口非常稳定,而且可以借助AS内的IGP和冗余拓扑来保证可靠性。
在部署EBGP对等体关系时,通常使用直连接口的IP地址作为源地址,如若使用Loopback接口建立EBGP对等体关系,则应注意EBGP多跳问题。
Version(8bit):BGP的版本号。对于BGP 4来说,其值为4。
My AS(autonomous system):本地AS号。通过比较两端的AS号可以判断对端是否和本端处于相同AS。
Hold Time:保持时间。
BGP Identifier:BGP标识符,以IP地址的形式表示,用来识别BGP路由器。
Unfeasible routes length(2Byte): 不可达路由字段的长度,以Byte为单位。如果为0则说明没有Withdrawn Routes 字段。
Withdrawn routes(NByte): 不可达路由的列表
Total path attribute length(2Byte):
Path attributes(NByte): 路径属性列表,每个路径属性由一个TLV(Type-Length-Value)三元组构成。
NLRI(NByte): 可达路由的前缀和前缀长度二元组
Error Code、Error subcode:差错码、差错子码,用于告知对端具体的错误类型。
Data:用于辅助描述详细的错误内容,长度并不固定。
Keepalive报文格式中只包含报文头,没有附加其他任何字段,周期60s
AFI:Address Family Identifier,地址族标识,如IPv4。
Res.:保留,8个bit必须置0。
SAFI:Subsequent Address Family Identifier,子地址族标识。
Idle:开始准备TCP的连接并监视远程对等体,启用BGP时,要准备足够的资源
Connect:正在进行TCP连接,等待完成中,认证都是在TCP建立期间完成的。如果TCP连接建立失败则进入Active状态,反复尝试连接
Active:TCP连接没建立成功,反复尝试TCP连接
OpenSent:TCP连接已经建立成功,开始发送Open包,Open包携带参数协商对等体的建立
OpenConfirm:参数、能力特性协商成功,自己发送Keepalive包,等待对方的Keepalive包
Established:已经收到对方的Keepalive包,双方能力特性经协商发现一致,开始使用Update通告路由信息.
idle初始化状态,谁先建立TCP链接谁就是start事件发起者,进入connect状态建立TCP链接,建立成功进入OpenSent,建立失败进入Active状态,在Active中还会反复建立连接,在Active建立成功进入Opensent,建立失败返回connect,在OpenSent状态发送Open包,协商对等体参数,对方收到open包进入Opencofirm状态,在Openconfirm状态发送keepalive包,当对端收到keepalive包进入Established状态,至此对等体建立成功,除Active状态中间任何一个状态建立失败都会返回idle状态
BGP注入路由的方式有两种:
Network:注入路由
import-route:(直连路由,静态路由,OSPF路由,IS-IS路由,等协议的路由注入到BGP路由表中。)
手动聚合
建立好对等体之后
AR1:
- 进入回环接口:interface loopback 1
- 创建按回环地址:ip address 172.16.10.1 32
- ………
- 进入BGP宣告回环地址:network 172.16.10.1 32
- ……..
- 进入BGP进行聚合:aggregate 172.168.10.0 255.255.255.0 detail-suppressed as-set
如果在执行聚合时指定了detail-suppressed,则BGP只会向对等体通告聚合后的路由,而不通告聚合前的明细路由。
AR2:
查询聚合:display bgp router-table
自动聚合(只能聚合引入的路由)
进入BGP进行聚合:summary automatic
18. BGP路由通告原则
通告原则一:只发布最优且有效(即下一跳地址可达)路由。
通告原则二:从EBGP对等体获取的路由,会发布给所有对等体。
通告原则三:从IBGP对等体获取的路由,不会再发送给其他IBGP对等体。该条原则也被称为“IBGP水平分割”。
通告原则四:当一台路由器从自己的IBGP对等体学习到一条BGP路由时(这类路由被称为IBGP路由),它将不能使用该条路由或把这条路由通告给自己的EBGP对等体,除非它又从IGP协议(例如OSPF等,此处也包含静态路由)学习到这条路由,该条规则也被称为BGP同步原则。(IBGP和IGP同步)
*:表示路由有效,下一跳可达 >: 表示选出的BGP最优路由
d: 表示路由是衰减路由 h: 表示路由是历史路由
i: 表示内部路由 s: 表示被抑制状态
S:处于Stale状态的路由,正在被删除
19. BGP属性:
1. 公认:
1. 公认必遵:必须包括在每个Update消息里
Origin(起源):标识BGP路由的起源,去往一个目的地有多条起源,其他条件相同,顺 序优选路径为:IBGP>EBGP>incomplete
as-path:前往目标的路由经过的AS号列表,防止EBGP环路,和进行路由优选
next_hop:指定到达目标下一跳地址
2. 公认任意:可能包括在某些update中
local_preference(本地优先级):用于告诉AS中的路由器,哪条是离开本AS的首选路径,越大越优,缺省100c
2. 可选:
1. 可选过度:不识别此属性但依然会接收该属性通告给其他对等体
Aggregator: 手工聚合
Community(团体属性):是一种路由标记,用于简化路由策略的执行
3. 可选非过度:不识别此属性会忽略此属性,也不会通告给其他对等体
MED: 属性越小越优先
Cluster-List:蔟列表
Originator-ID:路由反射器反射过去携带的属性
4. 华为私有属性:preferred-value(协议首选值):优选preferred-vlue高的路由取值范围(0~65535)只能在本地设置,不会传递给对等体,主要用于AS之间,选大
19. As-path属性更改配置
配置允许环路:
- 进入BGP视图:bgp200
- 宣告对等体:peer 192.168.10.1 as-number 100
- 允许环路:peer 192.168.10.1 allow-as-loop(允许环路)
选路配置:
- acl抓取网段:acl 2000
- rule 5 permit source 1.1.1.1 0
- route-policy设置:
- route-policy name1 permit node 10
- if-math acl 2000
- apply as-path 10 20 30 40 50 additive(添加)(overwrite替换)(none overwrite清空)
- BGP调用:
- bgp 200
- peer 192.168.10.1 route-policy A import
as-path-filter工具
- 抓取AS:ip as-path-filter asname permit 200
- route-policy设置: route-policy A deny node 10
- if-math as-path-filter asname
-
- BGP中调用:BGP 100
- peer 192.168.10.1 route-policy A import
Next_hop默认三种下一跳不可达:
1. 路由器将BGP路由通告给自己的EBGP对等体时,将该路由的Next_Hop设 置为自己的TCP连接源地址。
2. EBGP通告给IBGP时,会保持NEXT_HOP保持不变,
3. Next_Hop属性值与EBGP对等体(更新对象)同属一个网段,那么该条路由的Next_Hop地址将保持不变并传递给它的BGP对等体。
- 进入BGP:BGP 200
- 设置下一跳为本地出接口:peer 1.1.1.1 next_hop_local
选路配置:
- 抓取网段:ip ip-prefix wh index 10 permit 1.1.1.1 32
- 使用路由策略:route-policy A permit node 10
- if-math ip-prefix wh
- apply local-preference 1000
- BGP中调用:BGP 100
- peer 192.168.10.1 route-policy A import
更改默认local_preference值:
- 进入BGP:BGP 200
- 更改默认本地优先级值:default local-preference 10000
Local_preference注意事项:
Internet: 0 默认向所有的对等体发送路由
No-Advertise:0xFFFFFF02 收到此属性路由不向任何对等体发送
No-Export:0xFFFFFFF01 收到后不向AS外发送路由
No-Export-Subconfed:0xFFFFFF03 收到路由后,即不向AS外发也不向子AS发
路由配置:
- 抓取网段:ip ip-prefix wh index 10 permit 1.1.1.1 32
- 使用路由策略:route-policy A permit node 10
- if-math ip-prefix wh
- apply community No-Export ( Internet,Advertise,No-Export-Subconfed ,100:200)
- BGP中调用:BGP 100
- peer 192.168.10.1 route-policy A Export
- 开启团体属性: peer 192.168.10.1 advertise-community
Community-filter工具
AR1:
- 抓取网段:ip ip-prefix 4 index 20 permit 10.1.100.5 32
- 使用路由策略:route-policy w1 permit node 40
- if-match ip-prefix 4
- apply community 100:200
- BGP中调用:bgp 100
- peer 192.168.1.2 route-policy w1 export
AR4:
- 使用community-filter工具:ip community-filter 1 permit 100:200
- 使用路由策略:route-policy w2 deny node 10
- if-match community-filter 1
- BGP中调用:bgp 2001
- peer 2.2.2.2 route-policy w2 import
22. 联盟
将一个AS内部划分为多个子AS
配置命令:
- 进入子ASBGP: BGP2000
- 标识属于的联盟:confederation id 200
- 标识要建立对等体的子AS号:confederation peer-as 2001 2002
- 建立对等体:peer 192.168.1.1 as-number 2001
- peer 192.168.2.1 as-number 2002
- 更改下一跳为本地:peer 192.168.1.1 next-hop-local
- peer 192.168.2.1 next-hop-local
路由配置
- 抓取网段:ip ip-prefix 1 index 10 permit 4.4.4.4 32
- 使用路由策略:route-policy wh1 permit node 10
- if-match ip-prefix 1
- apply preferred-value 10000
- #
- 默认允许:route-policy wh1 permit node 20
- BGP中应用:bgp 100
- peer 2.2.2.2 as-number 100
- peer 2.2.2.2 connect-interface LoopBack0
- peer 2.2.2.2 route-policy wh1 import
注意事项:1. 缺省情况下,路由器只比较来自同一相邻AS的BGP路由的MED值;
默认操作:1. 如果路由器通过IGP学习到一条路由,并通过network或import-route的方式将路由引入BGP,产生的BGP路由的MED值继承路由在IGP中的metric
2. 如果路由器将本地直连、静态路由通过network或import-route的方式引入BGP,那么这条BGP路由的MED为0,因为直连、静态路由cost为0
3. 一条从BGP学习到的路由传递给其他EBGP对等体时,默认不携带MED,MED不会跨AS传递
4. 修改默认MED值时只能通过import-route和aggregate(聚合)的路由生效
路由配置:
- 抓取网段:ip ip-prefix 1 index 10 permit 192.168.1.1 24
- 使用路由策略:route-policy wh1 permit node 10
- if-match ip-prefix 1
- apply cost 100
- BGP中应用:bgp 100
- peer 2.2.2.2 as-number 100
- peer 2.2.2.2 connect-interface LoopBack0
- peer 2.2.2.2 route-policy wh1 import
- Compare-different-as-med (比较不同的as的med)
反射规则:
反射和发送的区别:反射携带特殊属性,发送不携带特殊属性 (Originator_ID,Cluster_List)
路由反射器特殊属性:
命令配置:
- 进入BGP:BGP 200
- 配置他的对等体为客户端: peer 3.3.3.3 reflect-client
- 配置路由反射器集群ID:reflector cluster-id
16. BGP路由负载分担
负载分担前提条件:
负载分担配置:
- 进入BGP:BGP 100
- 配置负载分担:maximum load-balancing ibgp 2
- 配置不比较AS_PATH:load_balancing as_path_ignore
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。