BGP-community
- 格式:docx
- 大小:118.02 KB
- 文档页数:6
bgp的状态机
⼀,idle(空闲)初始状态。
⼆,connect 此时建⽴TCP三次握⼿。
a,bgp启动重传定时器,并等待TCP建⽴连接。
b,如果tcp建⽴成功,此时开始发送open报⽂协商参数,并进⼊opensent状态。
c,如果tcp建⽴失败,此时进⼊active状态。
d,如果重传定时器超时,bgp没有收到bgp对等体的回应,会尝试和其他对等体建⽴邻居,停留在connect状态。
(底层igp路由不可达,TCP不可达,防⽕墙过滤179端⼝号,acl过滤open报⽂,状态检测防⽕墙来回路径不⼀致,ebgp邻居⾮直连TTL值未修改)
三,active 尝试重新建⽴TCP连接,建⽴成功转到connect状态,定时器超时进⼊connect状态。
四,opensent bgp等待对等体的open报⽂开始协商参数。
(版本号,AS号,认证信息等等)
a,如果协商成功,发送keepalive报⽂,转⾄openconfirm。
b,如果协商失败,发送notification报⽂,转⾄idle。
五,openconfirm bgp等待对等体的keepalive报⽂
a,如果收到keepalive,进⼊established。
b,如果收到notification,进⼊idle。
六,estabished 开始和对等体交互keepalive,update,notification,route-refrech报⽂。
如果收到错误的update和keepalive报⽂,则发送notification报⽂通知对⽅,并进⼊idle。
bgp 正则表达式摘要:1.BGP 简介2.BGP 正则表达式的作用3.BGP 正则表达式的基本语法4.BGP 正则表达式的应用实例5.总结正文:1.BGP 简介BGP(Border Gateway Protocol,边界网关协议)是一种用于在不同自治系统(AS)之间交换路由信息的协议。
BGP 主要用于互联网中的路由选择,它可以在不同的网络运营商之间传递路由信息,以实现互联网上的数据传输。
2.BGP 正则表达式的作用在BGP 协议中,正则表达式被广泛应用于路由策略和路由匹配。
正则表达式允许用户通过特定的模式来描述路由信息,从而实现更灵活的路由控制。
3.BGP 正则表达式的基本语法BGP 正则表达式的基本语法遵循正则表达式的一般规则,如“.”匹配任意字符,“*”匹配零个或多个前面的字符,“^”表示字符串的开始,“$”表示字符串的结束等。
在BGP 中,正则表达式通常用于路由策略和路由映射。
4.BGP 正则表达式的应用实例假设有一个AS,它的IP 地址范围是192.168.1.0/24 到192.168.3.0/24,我们希望将这些地址范围的路由信息发布给其他AS。
我们可以使用BGP 正则表达式来实现这个目标。
首先,在BGP 路由策略中配置正则表达式,如下所示:```route-policy example {import {ip-prefix: 192.168.0.0/16}from 192.168.0.0/16;if ip-prefix 192.168.1.0/24 or ip-prefix 192.168.2.0/24 or ip-prefix 192.168.3.0/24 then {export;}}```在这个例子中,我们使用了正则表达式“ip-prefix 192.168.1.0/24 or ip-prefix 192.168.2.0/24 or ip-prefix 192.168.3.0/24”,表示匹配192.168.1.0/24、192.168.2.0/24 或192.168.3.0/24 这三个地址范围。
B GP路由反射器(RR)路由反射器相关角色在一个AS内部关于路由反射器有以下几种角色:1、路由反射器RR(Route Reflector):允许把从IBGP对等体学到的路由反射到其他IBGP对等体的BGP设备,类似OSPF网络中的DR。
2、客户机(Client):与RR形成反射邻居关系的IBGP设备。
在AS内部客户机只需要与RR直连。
3、非客户机(Non-Client):既不是RR也不是客户机的IBGP设备。
在AS内部非客户机与RR之间,以及所有的非客户机之间仍然必须建立全连接关系。
4、始发者(Originator):在AS内部始发路由的设备。
Originator_ID属性用于防止集群内产生路由环路。
5、集群(Cluster):路由反射器及其客户机的集合。
Cluster_List属性用于防止集群间产生路由环路。
路由反射器作用:简化设备配置,减少了邻居条目两种主要角色:R R:router reflector,路由反射器C lient:RR客户端路由反射器规则:1、从非客户端收到的路由,发布给所有客户端(客户端和非客户端都是IBGP邻居)2、从客户端收到的路由,发布给所有的客户端和非客户端(客户端和非客户端都是IBGP邻居)3、从EBGP邻居收到路由,发布给所有的客户端和非客户端其他:R R将路由反射时不会修改以下的BGP路径属性:Next_Hop、AS_Path、 Local_Preference、MED,如果反射器修改这几个路径属性的值则有可能产生路由环路路由反射器防环Originator-idRR内部防环O riginator-id属性与自身的router-id相同,则会忽略Cluster-listR R之间的防环C luster-list包含了自身的Cluster-id,则会忽略。
2.1 无类别域间路由自治系统与外部路由协议的创建解决了20世纪80年代Internet的扩展性问题,但是,到了20世纪90年代早期,Internet出现了各种不同的扩展性问题,如下所述:∙Internet路由表爆炸。
以指数增长的路由表开始变得难以管理(包括路由器的处理时间以及管理员),仅仅是路由表尺寸就已经耗用了大量的Internet资源,再加上日复一日的拓扑结构变化以及网络的不稳定性,使得Internet更加不堪重负。
∙B类地址空间的逐渐耗尽。
截止到1993年1月,16 382个B类地址已经被分配了7 133个,如果以1993年的地址分配速度,那么整个B类地址空间将在两年不到的时间内被分配完毕(如RFC 1519所述)。
∙全部32位IP地址空间的最终耗尽。
无类别域间路由为前两个问题提供了短期解决方案,另一个短期解决方案就是将在第4章中讨论的NAT(Network Address Translation,网络地址转换)。
这些解决方案为Internet 架构师们赢得了足够的时间来创建一个拥有足够地址空间的新IP版本,在这一思路下创建的IPng(IP Next Generation,下一代IP)最终形成了IPv6(IPv6采取了128位的地址格式)。
将在第8章中讨论的IPv6技术是第三个问题的长期解决方案,但非常有趣的是,CIDR和NA T都取得了巨大的成功,以至于很少再有人像当初那样迫切地希望将网络迁移到IPv6。
CIDR仅仅是一种明智地利用了Internet分层结构的地址汇总方案,因而在进一步讨论CIDR之前,有必要先回顾一下汇总和无类别路由选择,并了解一下当前的Internet发展状况。
2.1.1 汇总概述汇总(summarization)或路由聚合(route aggregation)(详见《TCP/IP路由技术(第一卷)》)指的是用一个较不精确的地址来宣告一个连续的地址集合。
从本质上来看,汇总/路由聚合是通过减小子网掩码的长度直至屏蔽了所有被汇总地址的公共bit来实现的。
bgp atomic-aggregate和aggregator的描述-回复BGP(边界网关协议)是一种自治系统(AS)之间交换路由信息的协议。
在BGP中,当一条路由从一个AS传递给另一个AS时,路由属性可能会有所改变。
在这篇文章中,我们将讨论BGP中的两个关键概念:atomic-aggregate和aggregator。
首先,让我们来了解atomic-aggregate(原子聚合)。
在拓扑复杂的互联网中,路由表可能会变得非常大。
为了减小路由表的大小,BGP引入了聚合(aggregation)的概念。
通过聚合,多个具有相同前缀的路由可以被替换为一个更具体(更长)的路由,从而减小路由表的大小。
在BGP中,当政策引擎将多个路由聚合成一个路由时,会将被聚合的路由标记为“原子聚合”(atomic–aggregate)。
这个标记告诉其他AS,该路由是经过聚合后的结果,原始路由已经丢失了。
为了使原子聚合正确识别和使用,BGP引入了aggregator属性。
aggregator属性记录了聚合后的路由的来源信息,即聚合发生的AS号和IP地址。
通过aggregator属性,BGP可以告知其他AS这条路由是如何聚合得到的。
了解了atomic-aggregate和aggregator的概念,让我们深入探讨一下它们在BGP中的使用。
首先,让我们重点关注atomic-aggregate。
当一个路由聚合后,政策引擎会在新的聚合路由上设置原子聚合的标志。
这个标志通常被称为"Atomic Aggregate"属性,它被添加到被聚合的路由的BGP更新中。
该属性的值是一个标志,表示该路由已经被聚合。
当AS中的其他路由器收到这个带有原子聚合属性的BGP更新时,它们将知道该路由已经经过聚合,原始路由已不可用。
在处理原子聚合时,路由器通常根据配置的策略来决定如何处理被聚合的路由。
有几种可能的策略:1. 静默丢弃(Silently Discard):路由器可以选择在处理原子聚合时静默丢弃该路由。
BGPIGP:RIP,OSPF,EIGRP,IGRP,ISISEGP:EGP,BGP,EGP既是一类协议的统称,又是一个单独的协议,该协议在INTERNET早期的EGP协议,该协议不支持VLSM,不支持CIDR。
BGP是一个距离矢量路由选择协议,称为另一类(一类是EIGRP)的高级距离矢量路由选择协议(路径矢量路由选择协议),该协议也会生成三张表。
该协议支持VLSM和CIDR,是一个无类路由选择协议,该协议工作在OSI的7层(应用层),BGP是全球唯一一款基于TCP 的传输层做为传输层封装的协议,基于TCP端口号179。
BGPv4:该版本只能为IPv4提供路由BGPv4 plus:Multihoming:多宿主Autonomous Systems:自治系统,一组属于相同组织拥有相同管理标准的设备集合。
AS使用一个AS号的概念在internet中唯一的表示一个园区网。
AS号的取值范围:0-65535。
第一段0-64511,公有AS号,第二段64512-65535,私有AS号。
要运行BGP需要有一个共有的AS 号。
私有AS号一般用于实验室,没有办法保证AS的全球唯一。
BGP运行在AS和AS之间。
IGP使用HOP-BY-HOP,BGP使用AS-BY-AS。
一条BGP路由在一个AS内被转发传递的时候,很多属性不会被改变(包括下一跳属性),仅当把一条BGP路由条目从一个AS传递给另一个AS时,会强制把该BGP路由条目的下一跳属性改变为这台路由器发包接口的IP地址(一般是该园区网的边界路由器),该路由被传递到邻居AS后,在邻居AS内传递时,下一跳地址依旧保持不变。
BGP基于TCP,所以可以提供可靠传输。
BGP发送任何报文只能基于单播,因为当TCP三次握手连接建立后,只能发送单播报文。
需要指定BGP的目的地址,告诉BGP将路由条目发给哪个地址。
BGP只支持触发更新,增量更新。
BGP不追踪路由条目的状态,追踪邻接关系。
bgp协议报文类型
BGP协议的报文类型包括以下几种:
1. Open报文:用于建立BGP邻居关系,包括协商BGP版本
号、BGP标识符、支持的可选参数等信息。
2. Update报文:用于交换路由信息,包括撤销或更新已经接
收的路由信息。
3. Notification报文:用于通知邻居发生的错误或中断连接。
4. Keepalive报文:用于维持BGP邻居关系的活性,周期性地
发送给邻居。
5. Route-Refresh报文:用于请求邻居重新发送路由信息。
以上是BGP协议常用的报文类型,根据实际需求还可以有其
他类型的扩展报文。
bgp中group定义BGP中的Group定义BGP(Border Gateway Protocol)是互联网中最常用的外部网关协议之一,它用于实现不同自治系统(AS)之间的路由信息交换。
在BGP中,Group是一种重要的配置项,它可以帮助管理员更好地管理和控制路由信息的传输。
本文将详细介绍BGP中Group的定义及其作用。
一、Group的概念及作用在BGP中,Group是指将一组相似的邻居(Neighbor)归为一类,并为这类邻居配置一组共同的属性和策略。
Group的作用主要有以下几个方面:1. 简化配置:通过使用Group,管理员可以将相同属性和策略的邻居归为一类,统一进行配置。
这样可以大大简化配置的复杂度,提高配置的效率和准确性。
2. 统一管理:Group可以帮助管理员对一组邻居进行统一管理。
例如,当需要对一组邻居进行策略调整或属性修改时,只需对Group 进行相应的配置,而不需要逐个修改邻居的配置,从而提高了管理的灵活性和效率。
3. 提高可靠性:通过将邻居划分为不同的Group,可以对不同组别的邻居配置不同的属性和策略。
这样可以提高网络的可靠性,当某个组别的邻居发生故障或异常时,可以通过调整Group的配置来快速应对,减少故障对整个网络的影响。
二、Group的配置方式在BGP中,Group的配置方式主要包括两种:基于邻居IP的Group 和基于邻居AS的Group。
1. 基于邻居IP的Group:这种方式是根据邻居的IP地址将其分组。
管理员可以根据不同的IP地址范围或子网将邻居划分为不同的Group,并为每个Group配置相应的属性和策略。
这种方式适用于邻居之间没有明显的关联性,但具有相似属性和策略的情况。
2. 基于邻居AS的Group:这种方式是根据邻居的自治系统号(AS)将其分组。
管理员可以将属于同一个AS的邻居划分为一个Group,并为该Group配置相应的属性和策略。
这种方式适用于邻居之间具有明确的关联性,且需要统一配置的情况。
bgp路由生成方式一、背景介绍BGP(Border Gateway Protocol)是一种基于TCP协议的路由协议,主要用于在互联网中实现自治系统(AS)之间的路由交换。
BGP路由生成方式是指通过BGP协议生成和发布路由信息的过程。
二、BGP路由生成方式1. BGP邻居建立在BGP协议中,两个自治系统之间的路由交换需要先建立邻居关系。
当两个AS之间建立BGP邻居后,它们可以交换本地网络的路由信息。
2. 路径选择算法在BGP协议中,路径选择算法决定了如何选择最佳路径,并将其作为当前的活动路径。
常见的路径选择算法包括AS-PATH长度、NEXT-HOP地址、本地优先级等。
3. 路径属性在BGP协议中,每个路径都有一组属性,这些属性描述了该路径的特征和状态。
常见的路径属性包括AS-PATH、NEXT-HOP、ORIGIN等。
4. BGP路由策略每个自治系统都有自己的BGP路由策略,用于控制进入和离开该自治系统的流量。
常见的策略包括过滤、限制、重定向等。
5. 路由聚合在BGP协议中,路由聚合是指将多个具有相同前缀的路由汇聚成一个更具体的路由。
这样可以减少路由表的大小,提高路由表查询效率。
三、BGP路由生成过程1. BGP邻居建立在BGP协议中,两个自治系统之间的路由交换需要先建立邻居关系。
当两个AS之间建立BGP邻居后,它们可以交换本地网络的路由信息。
2. 路径选择算法在BGP协议中,路径选择算法决定了如何选择最佳路径,并将其作为当前的活动路径。
常见的路径选择算法包括AS-PATH长度、NEXT-HOP地址、本地优先级等。
3. 路径属性在BGP协议中,每个路径都有一组属性,这些属性描述了该路径的特征和状态。
常见的路径属性包括AS-PATH、NEXT-HOP、ORIGIN等。
4. BGP路由策略每个自治系统都有自己的BGP路由策略,用于控制进入和离开该自治系统的流量。
常见的策略包括过滤、限制、重定向等。
bgp协议的med属性的作用BGP协议的MED属性的作用BGP(Border Gateway Protocol)是一种用于跨互联网进行路由选择的协议。
在BGP路由选择过程中,有许多属性可以影响路由选择的结果。
其中之一是MED(Multi-Exit Discriminator)属性。
本文将介绍BGP协议的MED属性的作用及其在网络部署中的应用。
MED属性是由BGP中的AS(Autonomous System)定义的,并且仅在AS之间传递。
它用于衡量到达一个网络的多个出口之间的路由选择。
MED属性的值越小,表示到达目的网络的路径越优先。
换句话说,MED属性可以用于在同一AS中的不同出口之间选择最佳路径。
MED属性的作用可以在多个场景中得到体现。
首先,在一个AS中,可能会有多个出口连接到其他AS。
如果一个AS希望将流量从一个出口引导到另一个出口,它可以使用MED属性来控制BGP路由选择。
通过为某一AS路径设置较低的MED值,该AS可以使其成为最佳路径,从而将流量引导到特定出口。
这在AS拥有多个ISP出口时非常有用,可以实现流量的负载均衡和优化。
其次,在联网的企业场景中,MED属性也能发挥重要作用。
当一个企业通过多条连接连接到不同的AS时,可以使用BGP协议并设置MED属性来控制流量的路径选择。
比如,企业可能希望将流量引导到一个ISP而不是另一个。
通过设置较低的MED值,企业可以有选择性地将流量引导到特定的出口,从而实现对网络流量的控制和优化。
此外,MED属性还可以用于实现对边缘网络连接的优化。
在某些情况下,一个AS可能有多个入口点,比如从不同地理区域进入。
通过设置MED属性,AS可以将流量引导到特定的入口点,从而优化网络的性能和可靠性。
这对于跨大洲的全球网络来说尤为重要,可以通过控制流量的路径选择来实现对用户体验的优化。
然而,需要注意的是,MED属性仅在同一个AS内部有效,并不保证在不同的AS之间传递或被使用。
BGP是一个路径矢量路由协议,它的工作就是在自主系统间交换路由信息,以便发现访问互联网某处数据的最有效路径。
如何选择最佳路径进行路由?思科无边界网络为我们揭示了BGP的14条选路原则:BGP的选路原则:前提(路由的下一跳可达、关闭同步、路由没有被惩罚、前缀没有被入境路由策略拒绝),具体原则如下:1:weight先比较管理权重(越大越优先),这个参数本地有效。
虽然Weight属性是Cisco 私有的,但是很多厂商也是内置该属性(但无法显示及修改),这样就保证了本地始发的路由是最优先的,因为本地始发路由的Weight为32768,从其他BGP Peer学习过来的路由的Weight为0.2:local-pref本地首选项(越大越优先),这个参数在本AS内传递。
Local Preference 属性只能在IBGP Peer之间传递,如果在EBGP Peer之间收到的路由的路径属性中携带了Local Preference,则会触发Notifacation报文,造成会话中断。
3:路由器本地始发的路径优先。
本地始发的路径特点是next-hop为0.0.0.0,weight 为32768。
可以使用不同的方式比如network或redistribute等,那么这些方式之间是存在优先顺序的原则:network>redistribute>aggregate,但该原则是不会作为BGP路由选路策略的。
4:具有最短AS-path路径(就是AS-PATH中AS最少的优先)的路由优先。
但是可以配置bgp bestpath as-path ignore来忽略这一步。
注意:在做聚合路由时,使用as-set后产生的AS-Path列表中的{}里的AS号长度只算一个AS号的长度;而在联盟内的AS-Path列表中的()的AS号长度不做计算依据!不同方向的route-map对于插入的AS号的位置是不同的。
5:比较origin属性,具有最低origin源码。
本节介绍了BGP/MPLS IP VPN的调测方法。
前提条件已完成以下配置,设备运行正常。
∙硬件调测∙链路调测背景信息如图1所示,在该网络中部署BGP/MPLS IP VPN。
图1 BGP/MPLS IP VPN组网图操作步骤1.在设备上使用命令display ip vpn-instance verbose,查看VPN实例的配置信息是否正确。
2.<HUAWEI> display ip vpn-instance verbose3.T otal VPN-Instances configured : 14.5.V PN-Instance Name and ID : vpna, 16. Interfaces : GigabitEthernet1/0/07.A ddress family ipv48. Create date : 2010/01/21 11:30:35 UTC+08:009. Up time : 0 days, 00 hours, 05 minutes and 19 seconds10. Route Distinguisher : 100:111. Export VPN Targets : 111:112. Import VPN Targets : 111:113. Label policy: label per route14. The diffserv-mode Information is : uniform15. The ttl-mode Information is : pipeLog Interval : 516.在设备上使用命令display bgp peer,查看BGP对等体信息。
17.<HUAWEI> display bgp vpnv4 all peer18.BGP local router ID : 1.1.1.119. Local AS number : 10020. Total number of peers : 2 Peers in established state : 221.22. Peer V AS MsgRcvd MsgSent OutQ Up/Down StatePrefRcv23. 2.2.2.2 4 274 10 12 0 03:24:40Established 024. Peer of IPv4-family for vpn instance :25. VPN-Instance vpna, router ID 1.1.1.1:26. 100.1.1.1 4 65410 454 418 0 03:12:16Established 9检查BGP对等体和VPN数量是否正确。
NLRI:网络层可达信息<前缀,前缀长度>MP-NLRI:携带IPv6和VPNv4、VPNv6路由信息BGP原理:BGP工作原理:BGP特点:1.使用TCP作为传输协议,端口号1792.BGP路由聚合方式:静态路由(直接在network聚合路由)、手动聚合、自动聚合3.BGP不会周期性泛洪,只传递更新的路由信息4.矢量路由协议:BGP向外通告路由时必须保证该路由在自己的BGP表中是最优的5.无环路:BGP如何防止路由环路:a.水平分割:从IBGP学来的路由不会在发送给IBGP邻居b.AS之间,AS-Path防环:收到相同的AS号的丢弃c.汇总路由,设置as-set携带明细的as号码d.RR反射器,簇列表防环:收到相同的丢弃起始者id防环e.联盟,联盟as列表防环联盟路由聚合防环f.MPLS VPN,SOO属性防环MP-NLRI domain-tag防环6.路由策略丰富7.可防止路由震荡8.易于扩展BGP报文:1.OPen报文:协商BGP能力参数:版本-必须一致BGP router-id-不能一致MY as-要求和对端配置一致Hold time-向小兼容BGP能力选项:a.多协议能力,每个BGP路由器可以支持多种不同的地址簇,不需要完全相同,只需有一个相同即可参数内容:AFI:主地址族标识(1:IPv4、2:IPv6、128:MAC)SAFI:子地址族标识(1:单播、2:组播、128:VPN)b.路由刷新能力:设备能否识别route-fresh报文(不需要协商)c.4字节AS号码支持能力:标识设备能否识别4字节AS号码(不需要协商)支持2字节的AS路由器如何识别4字节的AS号码的路由器:2字节AS统一把4字节AS号码当作23456处理2.Update报文:更新和撤销BGP路由信息更新路由时,携带路径属性完全相同的多个路由条目参数:路径属性NLRI:网络层可达信息撤销路由:撤销路由时只携带路由信息进行撤销参数:withdrawn-route(撤销路由前缀)3.Keepalive报文:维护BGP邻居关系,默认周期性60s发送一次4.Notification报文:差错通知,报告BGP报文出现的错误Error code:错误类型Error subcode:引起错误原因5.Route-Refresh报文:用于在改变路由策略后请求对等体重新发送路由信息激活Route-Refresh命令:Refresh bgp all import //发送Route-Refresh对端收到Route-Refresh报文之后,立即把自己的BGP路由重新传递给邻居BGP状态机:Idle状态:BGP初始状态,管理员配置BGP的过程在Idle状态下,BGP拒绝邻居发送的连接请求。
bgp atomic-aggregate和aggregator的描述-回复主题:BGP atomic-aggregate和aggregator的描述引言:BGP(Border Gateway Protocol)是一种用于在互联网中交换路由信息的协议。
它被广泛应用于Internet Service Provider(ISP)和大型企业网络中。
在BGP中,有两个重要的属性,即atomic-aggregate和aggregator。
本文将详细描述这两个属性的作用和如何在BGP中使用它们。
一、BGP atomic-aggregate1. atomic-aggregate的定义atomic-aggregate是一种BGP路径属性,用于表示一个AS(自治系统)以原子聚合的方式将多个IP前缀合并为一个聚合前缀。
2. 聚合过程当一个AS收到来自其他AS的多个IP前缀,并且决定将它们合并为一个聚合前缀时,它可以添加atomic-aggregate属性到该聚合前缀,并将原始的被聚合前缀标记为不可聚合(non-aggregatable)。
这样做的目的是确保网络中的所有路由器都将这个聚合前缀作为一个整体处理,而不是将其拆分为更精细的子前缀。
3. 使用场景atomic-aggregate常用于减少BGP路由表的大小和复杂性。
在一个AS 中,如果存在大量的IP前缀,那么将它们聚合为一个聚合前缀可以显著减少存储和传输的开销。
此外,将前缀聚合为一个较大的聚合前缀还可以减少路由器上的路由表条目数,从而提高路由器的性能。
二、BGP aggregator1. aggregator的定义aggregator是另一个BGP路径属性,用于表示聚合原子聚合过程的资源所在的AS和路由器。
2. 聚合过程信息aggregator属性还包括聚合前缀的AS路径和聚合前缀的最短AS路径长度。
这些信息提供了关于聚合前缀是如何被创建的以及数据通路经过的AS的信息。
华为路由器路由策略和策略路由!路由策略和策略路由⼀、路由策略简介路由策略主要实现了路由过滤和路由属性设置等功能,它通过改变路由属性(包括可达性)来改变⽹络流量所经过的路径。
路由协议在发布、接收和引⼊路由信息时,根据实际组⽹需求实施⼀些策略,以便对路由信息进⾏过滤和改变路由信息的属性,如:1、控制路由的接收和发布只发布和接收必要、合法的路由信息,以控制路由表的容量,提⾼⽹络的安全性。
2、控制路由的引⼊"在⼀种路由协议在引⼊其它路由协议发现的路由信息丰富⾃⼰的路由信息时,只引⼊⼀部分满⾜条件的路由信息。
3、设置特定路由的属性修改通过路由策略过滤的路由的属性,满⾜⾃⾝需要。
路由策略具有以下价值:通过控制路由器的路由表规模,节约系统资源;通过控制路由的接收、发布和引⼊,提⾼⽹络安全性;通过修改路由属性,对⽹络数据流量进⾏合理规划,提⾼⽹络性能。
%⼆、基本原理路由策略使⽤不同的匹配条件和匹配模式选择路由和改变路由属性。
在特定的场景中,路由策略的6种过滤器也能单独使⽤,实现路由过滤。
若设备⽀持BGP to IGP功能,还能在IGP引⼊BGP路由时,使⽤BGP私有属性作为匹配条件。
图1 路由策略原理图如图1,⼀个路由策略中包含N(N>=1)个节点(Node)。
路由进⼊路由策略后,按节点序号从⼩到⼤依次检查各个节点是否匹配。
匹配条件由If-match⼦句定义,涉及路由信息的属性和路由策略的6种过滤器。
当路由与该节点的所有If-match⼦句都匹配成功后,进⼊匹配模式选择,不再匹配其他节点。
匹配模式分permit和deny两种:permit:路由将被允许通过,并且执⾏该节点的Apply⼦句对路由信息的⼀些属性进⾏设置。
.deny:路由将被拒绝通过。
当路由与该节点的任意⼀个If-match⼦句匹配失败后,进⼊下⼀节点。
如果和所有节点都匹配失败,路由信息将被拒绝通过。
过滤器路由策略中If-match⼦句中匹配的6种过滤器包括访问控制列表ACL(Access Control List)、地址前缀列表、AS路径过滤器、团体属性过滤器、扩展团体属性过滤器和RD属性过滤器。
community属性。这是不同于选路属性的一个属性。该属性具有以下几个特点: 1 community是一个任选可透明传送属性,它可以简化策略的执行。 2 它是cisco的一个专有属性,现在在RFC1997中已被标准化。 3 commnity属性标明一个目的地作为一些目的地团体中的一个成员,这些目的地共享一个或多个共同的特性。
NO_EXPORT:带有这一团体值的路由在收到后,不应把该路由通告给
一个联盟之外的对等体。 NO_ADVERTISE:带有这一团体值的路由在收到后,不应把该路由通告给任何的BGP对等体。 LOCAL-AS:带有这一团体值的路由在收到后,可以把该路由通告给它的IBGP对等体,但不应通告给任何的EBGP对等体(包括联盟内的EBGP对等体)。 INTERNET:带有这一团体值的路由在收到后,可以通告给所有的其他路由器。 4 community值可以自己定义,另外有几个已经定义好的团体属性: NO_ADVERTISE: 表示携带该值的路由不能公布给EBGP和 IBGP邻居 NO_EXPORT:表示携带该值的路由不能公布给EBGP邻居 LOCAL_AS:(NO_EXPORT_SUBCONFED)携带该值的路由可以公布给联盟内的其它子自治系统但不能在构成联盟的AS以外进行公布。 试验步骤如下: 配置BGP,在本实验中要建立联邦 我们顺便学习一下联邦 配置团体属性,让2.2.2.0网络只被R2学习到 配置团体属性,让22.22.22.0网络只被R2,R3学习到 配置团体属性,让222.222.222.0网络只被R2,R3,R4学习到 配置团体属性,让R1不传递2.2.2.0 这条路由
二 试验配置 配置BGP r1#sh run | b r b router bgp 100 no synchronization network 2.2.2.0 mask 255.255.255.0 network 22.22.22.0 mask 255.255.255.0 network 222.222.222.0 neighbor 12.0.0.2 remote-as 234 no auto-summary
r2#sh run | b r b router bgp 64512 no synchronization bgp confederation identifier 234 /指明联邦号是234 neighbor 12.0.0.1 remote-as 100 neighbor 23.0.0.3 remote-as 64512 /R3跟它处于联邦内同一个子AS中 neighbor 23.0.0.3 next-hop-self /指定下一跳是它自己 no auto-summary
r3#sh run | b r b router bgp 64512 no synchronization bgp confederation identifier 234 bgp confederation peers 64513 /指明该联邦内的另一个子AS neighbor 23.0.0.2 remote-as 64512 neighbor 34.0.0.4 remote-as 64513 /R4跟它处于联邦内不同子AS之间 no auto-summary
r4#sh run | b r b router bgp 64513 no synchronization bgp confederation identifier 234 bgp confederation peers 64512 neighbor 34.0.0.3 remote-as 64512 neighbor 45.0.0.5 remote-as 500 no auto-summary
r5#sh run | b r b router bgp 500 no synchronization neighbor 45.0.0.4 remote-as 234 no auto-summary
查看网络 r2#sh ip bgp Network Next Hop Metric LocPrf Weight Path *> 2.2.2.0/24 12.0.0.1 0 0 100 i *> 22.22.22.0/24 12.0.0.1 0 0 100 i *> 222.222.222.0 12.0.0.1 0 0 100 i r3#sh ip bgp Network Next Hop Metric LocPrf Weight Path *>i2.2.2.0/24 23.0.0.2 0 100 0 100 i *>i22.22.22.0/24 23.0.0.2 0 100 0 100 i *>i222.222.222.0 23.0.0.2 0 100 0 100 i 在R2上已经修改了下一跳,所以这时下一跳已经是R2自己了。 r4#sh ip bgp Network Next Hop Metric LocPrf Weight Path * 2.2.2.0/24 23.0.0.2 0 100 0 (64512) 100 i * 22.22.22.0/24 23.0.0.2 0 100 0 (64512) 100 i * 222.222.222.0 23.0.0.2 0 100 0 (64512) 100 i 注意在R4上看,下一跳依然是R2;为什么不是R3呢?因为R3,R4虽然在同一联邦内,但它们在不同的子AS之间,应该是EBGP关系。EBGP之间传递路由时,下一跳因该是EBGP邻居。但这里为什么不是呢。这就是联邦内EBGP与联邦外EBGP的不同之处。所以现在这些路由的下一跳对于R4来说是不可达的,所以现在路由无法优化,也就无法向R5传递。现在在R3上修改下一跳 r3(config)#router bgp 64512 r3(config-router)#neighbor 34.0.0.4 next-hop-self r4#sh ip bgp Network Next Hop Metric LocPrf Weight Path *> 2.2.2.0/24 34.0.0.3 0 100 0 (64512) 100 i *> 22.22.22.0/24 34.0.0.3 0 100 0 (64512) 100 i *> 222.222.222.0 34.0.0.3 0 100 0 (64512) 100 i 这时,在R4上看,下一跳已经变成了R3,路由可以优化。注意在AS路径中可以看到路由经过了子AS 64512 r5#sh ip bgp Network Next Hop Metric LocPrf Weight Path *> 2.2.2.0/24 45.0.0.4 0 234 100 i *> 22.22.22.0/24 45.0.0.4 0 234 100 i *> 222.222.222.0 45.0.0.4 0 234 100 i R5上也可以收到这些路由了,注意R5的AS路径看不到子AS ,只能看到联邦的总AS号。因此可以得出这样的结论:联邦内的子AS对于联邦外部来说是隐藏的,不可见的。
到现在为止,所有路由器都可以学习到路由,下面就要应用团体属性来控制路由的传递了。 三 配置团体属性,让2.2.2.0网络只被R2学习到 这里最合适的community属性应该是:no_advertise 因为它不会向任何EBGP IBGP邻居公布路由。 r1(config)#access-list 1 permit 2.2.2.0 0.0.0.255 /用ACL匹配该路由 r1(config)#route-map WY permit 10 r1(config-route-map)#match ip add 1 r1(config-route-map)#set community no-advertise /设定团体属性 r1(config)#route-map WY permit 20 /与ACL一样 route-map最后也隐藏了一句deny any ,所以在这里要允许所有,要不然其它两条路由会因为匹配不上而无法从R1传递出去。 r1(config)#router bgp 100 r1(config-router)#neighbor 12.0.0.2 route-map WY out /在进程下出方向调用route-map r1(config-router)#neighbor 12.0.0.2 send-community /让R2传递该社团属性
先在R2上进行查看; r2#sh ip bgp Network Next Hop Metric LocPrf Weight Path *> 2.2.2.0/24 12.0.0.1 0 0 100 i *> 22.22.22.0/24 12.0.0.1 0 0 100 i *> 222.222.222.0 12.0.0.1 0 0 100 i R2可以学习到该路由 在R3上查看 r3#sh ip bgp Network Next Hop Metric LocPrf Weight Path *>i22.22.22.0/24 23.0.0.2 0 100 0 100 i *>i222.222.222.0 23.0.0.2 0 100 0 100 i 可以看到R3已经收不到2.2.2.0这个网络了,往后的路由器也无法收到了。所以社团属性 No_advertise 满足了只让R2学到该路由的需求。
四 配置团体属性,让22.22.22.0网络只被R2,R3学习到 因为R2,R3处于联邦内同一个子AS,意思是该路由不能传递出这个子AS,所以可以用