BGP小结.docx
- 文档编号:24434639
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:13
- 大小:258.84KB
BGP小结.docx
《BGP小结.docx》由会员分享,可在线阅读,更多相关《BGP小结.docx(13页珍藏版)》请在冰豆网上搜索。
BGP小结
BGP小结
一、需要使用BGP的网络:
1、在国干网络使用BGP:
目的是为了传递各个省、运营商或不同AS的路由,为不同的AS间数据互访进行寻经;将本国使用的路由发布到国际网络上。
国干路由器和AS出口路由器建立EBGP邻居。
2、省干网络使用BGP:
目的是为了传递本省内各个不同城市的路由,为本省内不同城市间数据互访进行寻经;将本省内使用的路由发布到国干网络上。
省干落地设备可以与城域网出口建立EBGP邻居,同时为城域网下发EBGP缺省路由。
3、城域网出口路由器使用BGP:
EBGP网络的末梢设备,目的将本城域网使用的路由发布到省干网络上,同时从省干落地设备接受BGP缺省路由;同时和城域网汇聚层设备建立IBGP邻居。
4、城域网汇聚层路由器使用BGP:
城域网BGP网络的末梢设备,目的是对出网流量在汇聚层进行分流,从而可以减轻城域网骨干层路由器的负担。
MP-BGP运行在MPLS的网络上,目的是为了传递VPN的路由。
二、BGP常用的属性:
BGP路由属性是一套参数,它对特定的路由进行了进一步的描述,使得BGP能够对路由进行过滤和选择。
在配置路由策略时我们将广泛地使用路由属性,但是不是所有路由属性都要被用上。
事实上,路由属性被分为以下几类:
必遵属性:
所有BGP路由器都可以识别,且必须存在于Update消息中。
如果缺少这种属性,路由信息就会出错。
可选属性:
所有BGP路由器都可以识别,但不要求必须存在于Update消息中,可以根据具体情况来选择。
过渡属性:
在AS之间具有可传递性的属性。
BGP路由器可以不支持此属性,但它仍然会接收带有此属性的路由,并通告给其他对等体。
非过渡属性:
如果BGP路由器不支持此属性,则相应的Update消息会被忽略,且不会通告给其他对等体。
以下列出几种常用属性的情况:
类型代码
属性名
必遵/可选
过渡/非过渡
1
Origin
必遵
过渡
2
AS-Path
必遵
过渡
3
Next-hop
必遵
过渡
4
MED
可选
过渡
5
Local-preference
可选
非过渡
8
Community
可选
过渡
1、Origin属性:
起点属性是一个必遵过渡属性,它指示路由更新的起源。
BGP允许三种类型的起源:
值
意义
0
IGP-路由信息为起始AS内部
1
EGP-路由信息为起始AS通过EGP得来
2
INCOMPLETE-路由信息通过其它方法得来
BGP在路由判断过程中会考虑起点属性来判断多条路由之间的优先级。
具体来说,BGP优先选用具有最小起点属性值的路由,即:
IGP优先于EGP,EGP优先于INCOMPLETE。
我们可以手工配置某条路由的起点属性。
一般情况下:
1)BGP把聚合路由和用直接注入到BGP路由表的具体路由看成是AS内部的,起点类型设置为IGP。
比如用network命令注入到BGP路由表的路由,其Origin属性为IGP。
2)BGP把通过其它IGP协议引入的路由起点类型设置为Incomplete。
3)BGP把通过EGP得到的路由的起点类型设置为EGP。
在其它因素相同的情况下,按IGP、EGP、Incomplete的顺序选择路由。
2、AS-Path属性:
是路由经过的AS的序列,即列出在到达所通告的网络之前所经过的AS的清单。
BGP发言者将自己的AS前置到接收到的AS路径的头部,它可以防止路由循环,并用于路由的过滤和选择。
BGP路由每经过一AS域,在出域时将自己的域号添加到AS-path属性内,路由的AS-Path域在记录AS-number时,总是把新的AS-numbe放在前面,如上图,路由先经过AS200,记录:
d2(200);路由再经过AS500,记录:
d2(500200)。
AS路径属性也在影响路由选择。
在其它因素相同的情况下,选择AS路径较短的路由。
如胶片所示,AS200内的网络D18.0.0.0/8经AS200、AS300、AS400到达AS100的路径为d1(400300200),经AS200、AS500到达AS100的路径为d2(500200),这时BGP优先选择较短的路径d2。
在控制路由选路方面,我们可以通过加入伪AS号码的方法(即通过“AS-PathPrepend”方式)来增加路径长度,从而影响路径选择。
例如,在胶片所示网络中,我们可以在RTA上配置在它将路由D18.0.0.0/8发往30.0.0.2时,将其ASPath列表再加上两个自治系统号200、200,这样当这条路由被传递到RT胶片中的最终路由器时,其ASPath列表则为:
d2(500200200200),这样d2的ASPath就比d1的要长了,所以最终路由器就会认为d1为较优的路由了。
它不同于MED,MED一般只对相邻的AS入流量进行控制,而Prepend可以控制远端AS的选路。
注意:
由于此属性会传递给EBGP邻居,会改变对端网络的流量模型,所以此属性不要轻易使用,如果需要使用时需要与对端网络的管理者进行协商,争得对方的同意后才能使用。
在控制路由过滤方面可以利用AS正则表达式来抽象出BGP路由As-Path属性的特征,对满足特征的路由进行过滤或控制。
字符
符号
特殊意义
句号
.
匹配任意单字符
星号
*
匹配模式中0或更多的序列
加号
+
匹配模式中1或更多的序列
问号
?
匹配模式0或1次出现
加字符
^
匹配输入字符串的开始
美元符
$
匹配输入字符串的结束
下划线
_
匹配逗号,括号,字符串的开始和结束,空格
方括号
[范围]
表示一个单字符模式的范围
连字符
-
把一个范围的结束点分开
例如:
_300$匹配所有源自AS300始发的路径
^300_最后经过的AS为300的路径
^300$仅指源于AS300且未经过任何其他AS的路由
_100_经过AS100的路径
.*所有AS路径
^$不经过任何AS路径,即本地始发的路由
3、Nexthop属性:
包含到达目的网络的下一跳BGP路由器的IP地址。
下一跳属性也是一个公认必遵属性,BGP中的下一跳不同于IGP中的下一跳,BGP中的下一跳概念稍微复杂,它可以是以下三种形式之一:
1)BGP路由器在向IBGP路由器通告EBGP的路由时,不改变路由的下一跳属性,而将从EBGP得到的路由的下一跳属性直接传递给IBGP邻居。
如胶片所示,RTA通过IBGP向RTB通告路由18.0.0.0时,下一跳属性为10.0.0.2。
我们平时在向IBGP邻居传递EBGP路由时通常要修改下一跳属性为本路由器地址。
2)BGP路由器在向EBGP邻居通告任何BGP路由时,下一跳属性将修改为本BGP路由器与对端连接的端口地址。
如胶片所示,RTC在向RTA通告路由18.0.0.0/8时,下一跳属性为10.0.0.2;RTA在向RTC通告路由19.0.0.0/8时,下一跳属性为10.0.0.1。
3)对于可以多路访问的网络(如:
以太网或帧中继),下一跳情况有所不同:
如胶片所示,RTC在向EBGP路由器RTA通告路由20.0.0.0/8时,发现本地端口10.0.0.2同此路由的下一跳10.0.0.3为同一共享子网,因此使用10.0.0.3作为向EBGP通告路由的下一跳,而不是10.0.0.2。
4、MED属性:
MED属性是可选属性,当某个AS有多个入口时,可以用MED属性来帮助其EBGP路由器选择一个较好的入口路径,控制AS的入流量走向。
缺省值为0,值越小优先级别越高。
在使用时可以在向EBGP邻居发布路由时修改此值,也可以采用复制iBGP路由下一跳的IGP路由的cost值的方式修改此值。
如胶片所示,我们可以设置RTB通告的网络D的metric值为metric110,RTC通告的网络D的metric值为metric220,这样RTA就会优先选择metric值较小的metric1。
注意:
由于此属性会传递给EBGP邻居,会改变对端网络的流量模型,所以此属性不要轻易使用,如果需要使用时需要与对端网络的管理者进行协商,争得对方的同意后才能使用。
一般情况下,路由器只比较来自同一AS中各EBGP邻居路径的MED值,不比较来自不同AS的MED值。
若一定要比较,Quidway系列路由器提供特别的配置命令,可实现用户这一要求。
5、Local-Preference属性:
当某个AS有多个出口时,可以用本地优先属性来帮助其IBGP路由器选择一个较好的出口路径,控制AS的出流量走向。
可以采用设置LocalPre的方式,缺省值为100,值越大表示优选的优先级越高,骨干网中引导出口流量时常用的一种方式,此属性只会传给IBGP邻居,所以此属性只在AS内部有效。
如胶片所示,RTB把通过RTD接收的路由的本地优先级设置为local-pref1100,RTC把通过RTE接收的路由的本地优先级设置为local-pref2200,这样RTA就会优先选择本地优先级高的local-pref2。
6、Community属性:
团体属性是一个可选过渡属性,某些团体是具有全球意义。
公认的团体有:
1)NO_EXPORT:
带有这一团体值的路由在收到后,不应被通告给一个联盟之外的对等体。
2)NO_ADVERTISE:
带有这一团体值的路由在收到后,不应被通告给任何的BGP对等体。
3)LOCAL-AS:
带有这一团体值的路由在收到后,应该被通告给本地AS内的对等体,不应被通告给任何的EBGP对等体(包括联盟内的EBGP对等体)。
4)INTERNET:
带有这一团体值的路由在收到后,应该被通告给所有的其他路由器。
除了这些公认的团体属性值之外,私有的团体属性值也可以被定义来用于特殊用途。
这些属性值被一些数字所标示。
这些属性标识了一组具有相同特征的路由信息,与它所在的IP子网和自治系统无关。
目前一些大型网络已经开始对团体属性进行统一规划,以实现对某类路由的标识和控制。
7、Originator-ID属性:
这是一个BGP路由反射器使用的属性,这个属性主要是为了防止RR反射BGP路由时造成的路由环路。
Originator-ID是本地AS内BGP路由发起者的RouterID,RR不会把一条路由公布给路由发起者,如果发起者收到了一个带有自身RouterID的更新消息时,将不会处理该消息。
8、Cluster-List属性:
这也是一个BGP路由反射器使用的属性,这个属性是在多RR的网络中为了防止RR反射BGP路由时造成的路由环路。
如群内包含多个RR,必须给每个RR配置一个clusterid,且一个群内所有RR的clusterid必须相同。
当RR收到一个更新消息的时候,会检查Cluster-List,如果在该列表中发现了自己的clusterid,就知道出现了环路,不会接收该消息。
注意:
在一个群内配置多台RR时就必须修改此属性。
三、BGP路由传递规则:
a)多条路径时,BGPSpeaker只选最优且有效的路由给自己使用;
b)BGPSpeaker只把自己使用的路由通告给相邻体;(在华为VRP平台中BGP路由器是只将在路由转发表中存在的BGP路由通告给邻居)
c)BGPSpeaker从EBGP获得的路由会向它所有BGP相邻体通告(包括EBGP和IBGP);
d)BGPSpeaker从IBGP获得的路由不向它的IBGP相邻体通告;
e)BGPSpeaker从IBGP获得的路由是否通告给它的EBGP相邻体要依IGP和BGP同步的情况来决定;
f)连接一建立,BGPSpeaker将把自己所有BGP路由通告给新相邻体;
四、RR路由传播规则:
a)从EBGP邻居来的路由发布自己所有客户机和非客户机
b)从IBGP邻居来的路由发布自己所有客户机和EBGP邻居
c)从client邻居来的路由发布自己所有客户机和非客户机
五、BGP的选路原则:
综合起来,本地BGP路由选择的过程为:
a)如果此路由的下一跳不可达,忽略此路由;
b)选择本地优先级较大的路由(Local-Preference);
c)选择本地路由器始发的路由(network/aggregate);
d)选择AS路径较短的路由(AS-Path);
e)依次选择起点类型为IGP,EGP,Incomplete类型的路由(Origin);
f)选择MED较小的路由;
g)优选从EBGP学来的路由;
h)优选AS内部IGP的Metric最低的路由;(Next-hop)
i)如果配置了负载分担,并且有多条到达同一AS的外部路由,则根据配置的路由条数选择多条路由进行负载分担;(只针对于VRP5的平台有此功能)
j)选择RouterID较小的路由;
通过上面的九条规则大家可以总结出来一个易于记忆的规则:
Local-Preference、network、AS-Path、Origin、MED、EBGP、Next-hop、RouterID。
大家记住LAOMEN这个词就可以大致记住这个规则。
通过这个规则说明一个问题,就是BGP选路的最后一个规则就是“选择RouterID较小的路由”,而在一个AS内部是不会出现连个RouterID相同的路由器,这是不是就说明了在VRP其它的版本中就不会有BGP的负载分担的路由呢?
听华为的一个高级工程师说BGP在VRP3的版本中不支持任何方式的负载分担。
六、BGP路由的过滤:
BGP路由协议的特点就是有强大的过滤属性,这也是BGP的一大优点,下列过滤方式也是我们平时常用的BGP路由过滤方式:
●可按照路由的IP地址过滤
●可依照路由经过的AS-Path过滤
●可以依照路由的属性过滤
●可以依照路由到来的接口过滤
●可以按照过滤的结果设置路由的属性
七、BGP配置举例:
上图中AS200为地市城域网、AS100为省163骨干网、AS300为省CN2骨干网、AS400为国干163骨干网。
AS200的两台NE80E分别与AS100的两台NE80E建立直接EBGP对等关系交互BGP路由;AS200-NE80E-1、AS200-NE80E-2间建立iBGP对等关系。
(1)AS100路由器做相关路由过滤,不从AS200接受缺省路由,只从AS200接受自己分配给地市的路由。
我们可以在AS100-NE80E的路由器上做一下配置:
#
aclnumber2000match-orderauto
rule5permitsource2.2.2.00.0.0.255
rule10permitsource10.0.0.00.0.0.255
rule15denysource200.1.0.00.0.0.255
rule20permitsource200.0.0.00.255.255.25
rule25permitsource20.0.0.00.255.255.255
rule30permitsource30.0.0.00.255.255.255
rule35deny
#
bgp100
groupebgp200external
peerebgp200as-number200
peer192.168.1.2as-number200
peer192.168.1.2groupebgp200
#
peerebgp200filter-policy2000import
peerebgp200default-route-advertise
#
(2)要求AS200向省干163和CN2发送路由时携带community(200:
1)以标记路由起源。
AS200不作为任何用户的TransitAS,在AS200-NE8E上制作策略,向外部AS只传递本AS始发的路由。
我们可以在AS200-NE80E的路由器上做一下配置:
#
ipas-path-filter10permit^$
ipas-path-filter10deny*
#
route-policycommpermitnode10
if-matchas-path10
applycommunity200:
1
#
bgp200
groupebgp300external
peerebgp300as-number300
peer192.168.2.1as-number300
peer192.168.2.1groupebgp300
groupebgp100external
peerebgp100as-number100
peer192.168.1.1as-number100
peer192.168.1.1groupebgp100
#
peerebgp300as-path-filter10export
peerebgp300route-policycommexport
peerebgp300advertise-community
peerebgp100as-path-filter10export
peerebgp100route-policycommexport
peerebgp100advertise-community
#
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- BGP 小结
![提示](https://static.bdocx.com/images/bang_tan.gif)