【交换机在江湖】论剑BGP5略有小成(二)
BGP路由协议学习指引

BGP路由协议学习指引一、引言本协议旨在提供关于BGP(边界网关协议)路由协议的详细学习指引。
BGP是一种广泛应用于互联网的路由协议,它负责在不同自治系统(AS)之间交换路由信息,以实现互联网的可达性。
本指引将介绍BGP协议的基本概念、工作原理、配置和故障排除等方面的内容。
二、BGP基本概念1. BGP路由器:BGP路由器是指运行BGP协议的网络设备,它负责与其他BGP路由器交换路由信息。
2. AS号码:AS号码是唯一标识一个自治系统的数字,用于区分不同的网络。
3. 路由:路由是指决定数据包从源主机到目的主机的路径的规则。
4. 路由器:路由器是网络中负责转发数据包的设备,它根据路由表中的信息决定数据包的下一跳。
三、BGP工作原理1. BGP会话建立:BGP路由器之间通过TCP连接建立BGP会话,以交换路由信息。
2. 路由信息交换:BGP路由器通过BGP会话交换路由信息,包括网络前缀、AS路径、下一跳等。
3. 路由选择:BGP路由器根据收到的路由信息,使用一定的路由选择算法选择最佳路由。
4. 路由更新:当网络拓扑发生变化时,BGP路由器会发送路由更新消息,通知其他路由器更新路由表。
5. 路由策略控制:BGP路由器可以根据特定的策略控制路由的选择和传播。
四、BGP配置1. 路由器标识:每个BGP路由器都需要配置一个唯一的路由器标识,通常使用IP地址。
2. 邻居关系建立:BGP路由器需要配置邻居关系,包括邻居的IP地址、AS号码等信息。
3. 路由策略配置:BGP路由器可以配置路由策略,包括路由过滤、路由聚合等。
4. 路由重分发:BGP路由器可以将其他路由协议学习到的路由信息重分发给BGP邻居。
五、BGP故障排除1. 邻居关系故障:当BGP邻居关系无法建立时,可能是由于配置错误、网络问题等原因。
2. 路由选择问题:当BGP路由器选择了不正确的路由时,可能导致数据包无法正确转发。
3. 路由过滤问题:当BGP路由器配置了不正确的路由过滤策略时,可能导致某些路由无法传播或被拒绝。
【交换机在江湖】论剑BGP2--初练神功(二)

上期问题:当我们把RIP的传输层协议改为TCP之后,发现和维护邻居的机制应该设计成怎样呢?这个问题可以从以下几个方面来考虑:一:TCP面向连接,基于TCP的协议必然有一个先建立连接的过程。
要先建立连接,两端的设备就必须先互相知道对方的IP地址,并且路由可达。
那么是采用静态配置的方式,还是动态建立连接的方式呢?BGP采用的是静态配置的方式,只要双方指定的地址路由可达,就可以建立连接。
这样做有以下好处:1:可以与对端设备用任何IP地址建立邻居,而不限于某个固定接口的IP。
这样,我们就可以采用环回地址而非直连接口地址建立BGP邻居,两台设备之间如果主链路中断了,只要有备份链路存在,就可以把流量切换到备份链路上,保持邻居不断,增加了BGP连接的稳定性。
2:可以跨越多台设备建立邻居。
由于是静态配置的方式,不一定只有直连设备才能建立BGP 邻居,只要双方指定的地址路由可达(通过IGP或者静态路由),就可以建立邻居,这在AS 内部建立IBGP连接时,就不用所有设备之间都建立IBGP连接。
IBGP会在本期后面内容中提及。
二:知道对方IP地址后,BGP会通过发送open报文来进行邻居的建立。
如果连接不能建立,说明对端设备状态不正常,于是会等待一段时间再进行连接的建立,这个过程一直重复,直到建立连接。
三:连接建立后,就可以进行路由表的同步了,BGP通过发送update报文进行路由表的同步。
四:路由表同步完成后,并不是马上拆除这个连接,因为随时有可能会有路由的更新或者删除,建立TCP连接是一个非常耗费资源的过程,所以BGP通过定期发送keepalive报文进行TCP 连接的维持,这样就可以不用重新建立连接,立刻就可以进行路由更新。
五:如果经过一段时间(一般是3个keepalive报文发送周期)还没有收到对方的keepalive 报文时,我们就认为对方出现了问题,于是可以拆除该TCP连接,并且把从对方收到的路由全部删除。
BGP路由协议讲解

BGP路由协议讲解BGP(Border Gateway Protocol)是一种边界网关协议,用于在互联网中交换路由信息。
BGP是一种路径矢量协议,其目标是使自治系统(AS)之间的路由选择更加灵活和可靠。
本文将从BGP的背景、特点、工作原理、路由选择算法等方面进行详细讲解。
一、BGP的背景在互联网中,不同的自治系统之间需要相互交换路由信息,以实现跨网络的通信。
而为了确保网络的稳定和可扩展性,需要一个可靠且灵活的路由选择协议。
BGP应运而生,成为互联网中最常用的路由协议之一二、BGP的特点1.可靠性:BGP通过使用路由可达性信息(RFD)来确保网络的可靠性。
它可以检测并通告最优的路径,以保证数据的正常传输。
2.灵活性:BGP允许管理员根据实际需求进行路由策略的配置和调整。
它可以根据权重、AS路径长度、自治系统内部度量等因素进行灵活的路由选择。
3.可扩展性:BGP具有较好的可扩展性,可以支持大规模的网络环境。
它可以将路由信息进行聚合和汇总,减少路由表的大小,提高路由表的查询和更新效率。
三、BGP的工作原理1.BGP会话的建立:BGP通过TCP协议建立会话,使用TCP的可靠传输特性进行可靠的路由信息交换。
2.路由信息的传递:BGP通过UPDATE消息来传递路由信息,包括可达网络的前缀、下一跳的IP地址、AS路径等。
BGP通过交换UPDATE消息来更新路由表,以实现最优的路径选择。
3.路由信息的选择:BGP使用路径矢量算法来选择最优的路由。
它会考虑多个因素,如AS路径长度、自治系统内部度量、路由策略等,选择出最优的路径来进行路由转发。
4.路由信息的聚合和汇总:BGP可以将相邻自治系统的路由信息进行聚合和汇总,以减少路由表的大小和维护成本,并提高路由表的查询和更新效率。
四、BGP的路由选择算法1.AS路径长度:BGP会选择AS路径长度最短的路径作为最优路径。
这是BGP最基本的路由选择准则。
2. MED(Multi-Exit Discriminator)值:MED值是用来指示到达同一网络的不同出口之间的优先级。
bgp协议详解

bgp协议详解BGP协议详解。
BGP(Border Gateway Protocol)是一种用于在互联网中交换路由信息的协议。
它是一种路径矢量协议,具有高度的可扩展性和稳定性,被广泛应用于大型互联网服务提供商和企业网络中。
本文将对BGP协议进行详细解析,包括其工作原理、特点以及应用场景。
BGP协议的工作原理主要包括路由信息的交换和路由决策过程。
在BGP网络中,各个路由器通过BGP协议交换路由信息,每个路由器都维护着一张完整的路由表,其中包含了整个互联网的路由信息。
当某个路由器接收到新的路由信息时,会根据一定的路由决策规则,选择最优的路由,并更新本地路由表。
BGP协议使用的路由决策规则主要包括AS路径长度、前缀长度、路由器的出口策略等。
BGP协议具有以下几个特点,第一,BGP协议采用TCP连接来进行路由信息的交换,保证了路由信息的可靠传输。
第二,BGP协议支持CIDR(无分类域间路由),可以有效地减少路由表的大小,提高路由信息的传输效率。
第三,BGP协议具有很强的可扩展性,可以支持成千上万条路由信息的交换。
第四,BGP协议支持多种路由策略,可以根据实际需求进行灵活的路由控制。
BGP协议在互联网中具有广泛的应用场景。
首先,BGP协议被广泛应用于互联网服务提供商之间的路由交换,保证了整个互联网的连通性和稳定性。
其次,BGP协议也被广泛应用于企业网络中,可以实现企业内部网络与外部网络的连接,实现灵活的路由控制和流量管理。
此外,BGP协议还被应用于云计算、SDN(软件定义网络)等新兴网络技术中,为网络的可扩展性和灵活性提供了重要支持。
总之,BGP协议作为互联网中最重要的路由协议之一,具有高度的可靠性、可扩展性和灵活性,被广泛应用于互联网服务提供商和企业网络中。
通过深入理解BGP协议的工作原理和特点,可以更好地应用和管理BGP网络,为网络的稳定运行和高效管理提供重要支持。
BGP协议

介绍BGP协议的背景和作用背景在现代互联网中,网络设备需要通过路由选择协议来确定数据包的最佳路径,以实现数据的可靠传输和有效路由。
边界网关协议(Border Gateway Protocol,简称BGP)是一种广泛应用于互联网的路由选择协议。
BGP协议最初由互联网工程任务组(Internet Engineering Task Force,简称IETF)开发,并于1989年首次发布。
它是一种自治系统(Autonomous System,简称AS)间的外部路由协议,主要用于互联网中不同自治系统之间的路由信息交换和路由选择。
作用BGP协议在互联网中发挥着重要的作用,具有以下几个方面的功能和作用:1.路由选择:BGP协议允许不同自治系统之间交换路由信息,通过选择最佳的路径来实现数据包的转发。
它考虑了多个因素,如网络拓扑、链路质量、自治系统策略等,以确保数据能够按照最优的路径传输。
2.自治系统间连接:BGP协议允许不同自治系统之间建立连接,形成一个互联网的网络结构。
这种自治系统间的连接使得互联网能够实现全球范围内的数据传输和通信。
3.路由策略控制:BGP协议允许网络管理员通过配置路由策略来控制数据包的路由选择。
这样,网络管理员可以根据自身的需求和策略,对数据包的路由进行精确的控制,以满足不同的业务需求。
4.网络可靠性:BGP协议具有高度的可靠性和鲁棒性。
它通过建立多个邻居关系和使用路由更新消息来实现网络的冗余和容错。
这样,即使网络中的某些链路或节点发生故障,BGP协议能够自动调整路由,确保数据的连通性和可靠传输。
总之,BGP协议在互联网中扮演着关键的角色,通过自治系统之间的路由选择和信息交换,实现了互联网的连通性、可靠性和可扩展性。
它是构建稳定、高效互联网的重要组成部分。
解释BGP协议的基本原理和工作方式BGP(Border Gateway Protocol)协议是一种用于自治系统(AS)之间的路由选择协议。
bgp的路由优选规则

bgp的路由优选规则
BGP的路由优选规则,包括以下六个方面:
1.最长匹配原则:选择具有最长匹配前缀的路由。
BGP路由表中存储
的是由多个ASN组成的路径,因此如果有多个BGP路由表项可以到达同一
目的地,那么将选择具有最长匹配前缀的路由作为最优路由。
2.本地优先原则:如果有多个BGP路由表项匹配目的地址,那么首选
具有本地创建的路由,因为本地路由更可靠。
3.协议优先原则:当路由器可以使用不同的协议到达同一目的地时,BGP将优先选择特定的协议。
例如,在同一路由器上同时启用了BGP和IGP,当BGP路由表中存在与IGP的路由相冲突的路由时,BGP会优先选
择BGP路由表中的路由。
4.权重原则:BGP权重被视为BGP路由权重的第一选择标准。
在同一
路由器上有多个BGP路由时,具有最高权重的路由将被选择为最优路由。
5.路径属性原则:在同一目的地有多个可达路由时,BGP将优先选择
路径属性最佳的路由。
例如,在两个同样长的匹配前缀路由中,宽带更大
的路由将被选择为最优路由。
6.距离原则:路由器到达目的地的距离是BGP最后的路由选择标准。
缺省情况下,AS路径长度被认为是距离,AS路径长度最短的路由将被选
择为最优路由。
总之,BGP路由优选规则可以帮助网络管理员确定哪个路由是最优的,并确保网络中的数据流量始终沿着最优路径流动。
了解和遵守BGP路由优
先级是非常重要的,因为它可以提高网络的稳定性和性能。
bgp知识点总结

bgp知识点总结BGP(Border Gateway Protocol,边界网关协议)知识点总结。
一、BGP概述。
1. 定义与作用。
- BGP是一种用于在不同自治系统(AS)之间交换路由信息的外部网关协议(EGP)。
自治系统是由一个或多个网络组成的,在一个管理机构下运行并使用统一的内部路由策略。
- 其主要作用是实现不同自治系统之间的可达性,通过传递路由信息,使得不同AS中的网络能够相互通信。
2. BGP的特点。
- 路径矢量协议:BGP不像内部网关协议(如OSPF、RIP)那样基于链路状态或距离矢量,而是基于路径矢量。
它通告的是到达目的网络的完整路径(包括经过的自治系统序列)。
- 可靠性高:使用TCP作为传输协议(端口号179),这保证了BGP消息的可靠传输。
因为TCP具有确认、重传等机制,可以确保BGP对等体之间的消息准确无误地传递。
- 策略丰富:BGP允许网络管理员根据多种策略来控制路由的传播和选择。
例如,可以基于AS路径长度、路由的本地优先级等因素来决定选择哪条路由进入自己的路由表。
二、BGP的消息类型。
1. Open消息。
- 用于建立BGP对等体关系。
在Open消息中包含了BGP版本号、本地AS号、保持时间(Hold Time)、BGP标识符(通常是路由器的某个接口的IP地址)等信息。
- 当两个BGP路由器之间交换Open消息并且参数协商成功后,它们之间就建立了BGP对等体关系。
2. Update消息。
- 用于通告可达路由信息和撤销不可达路由信息。
Update消息包含网络层可达性信息(NLRI),即目的网络的前缀和掩码,以及到达这些目的网络的路径属性(如AS 路径、下一跳等)。
- 如果某个路由不再可达,BGP也会通过Update消息来撤销该路由的通告。
3. Notification消息。
- 用于报告错误信息。
当BGP对等体检测到错误时,会发送Notification消息给对等体,然后关闭BGP连接。
bgp 路由聚合命令

bgp 路由聚合命令BGP(Border Gateway Protocol)是一种重要的动态路由协议,用于在互联网中实现路由选择和信息交换。
通过聚合多个路由条目,可以有效减少路由表的规模,提高网络效率和安全性。
本文将介绍一些常用的BGP路由聚合命令,帮助网络管理员实现BGP路由表的优化和管理。
1. 网络聚合命令网络聚合命令可用于将多个连续的IP地址聚合成一个更具有代表性的路由条目,减少路由表中的重复信息。
具体命令如下:aggregate-address <network-address> <mask> [summary-only] 其中,<network-address>是需要聚合的网络地址,<mask>是网络子网掩码。
通过加上可选参数[summary-only],可以仅在聚合路由表中显示摘要信息。
2. 累积聚合命令累积聚合命令可用于将多个非连续的IP地址聚合成一个更大的路由条目,减少路由表的规模。
具体命令如下:aggregate-address <network-address> <mask> [as-set]其中,<network-address>是需要聚合的网络地址,<mask>是网络子网掩码。
通过加上可选参数[as-set],可以将聚合的路由条目标记为一个自治系统集合。
3. 长度匹配聚合命令长度匹配聚合命令可用于将路由表中长度相同的路由聚合成一个更大的路由条目。
具体命令如下:aggregate-address <network-address> <length> [summary-only]其中,<network-address>是需要聚合的网络地址,<length>是子网前缀长度。
通过加上可选参数[summary-only],可以仅在聚合路由表中显示摘要信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上期问题:BGP联盟中,AS_PATH属性有以下2个规则:1)在联盟内部需要将成员AS的AS号加入到AS_PATH列表中,但这些AS号不能被宣告到联盟之外。
在默认情况下,成员AS号被列在AS_PATH中作为AS_PATH属性类型4,即AS_CONFED_SEQUENCE。
如果在联盟中使用了手动聚合命令(aggregate)并配置了关键字as_set,那么位于聚合点之后的成员AS号将被列在AS_PATH中作为AS_PATH属性类型3,即AS_CONFED_SET。
2)AS_PATH中的联盟AS号用于实现环路避免功能,但是在联盟内部进行BGP路由选路过程中,选择最短AS_PATH时,不考虑这些联盟AS号。
联盟内部AS号不能宣告到联盟之外,并且在选路中也不考虑这些AS号的长短,那么这些AS号应该如何记录呢?要弄清楚这个问题,我们来介绍一下4种类型的AS_PATH属性:1:AS_SET,一个无序的AS号列表。
2:AS_SEQENCE,一个有序的AS号列表。
3:AS_CONFED_SET,BGP联盟中特有的AS_PATH类型,类似AS_SET,其列表中含有的AS号均属于BGP联盟中的AS号。
4:AS_CONFED_SEQUENCE,BGP联盟中特有AS_PATH类型,类似AS_SEQENCE,其列表中含有的AS号均属于BGP联盟中的AS号。
大部分小伙伴是不是已经被绕晕了?没事,我们通过一个例子来说明一下,如下图:我们按照上图配置好BGP对等体之后,在R1上将两条Loopback接口的直连路由引入BGP,在R4上通过命令display bgp routing-table可以发现:,并发送到R4。
两条路由的AS_PATH均为“3 2 1”。
这里,R4知道,要到达这两个目的地,需要经过AS3、AS2再经过AS1才能到达。
所以这里就是有序的AS_PATH,也就是这里的AS_PATH类型是AS_SEQENCE。
这时,我们对这个网络做一个小小的优化,我们在R3上做一个手动聚合,将,并且只将这条聚合路由传给R4。
在R3上配置命令:aggregate 16 detail-suppressed。
这里detail-suppressed关键字代表R3只会向R4发送聚合路由。
在R4上查看BGP路由表可以发现:可以发现,R4上只剩下,并且其AS_PATH只剩下AS3。
这是因为配置了路由聚合后,会丢失其下的明细路由的AS_PATH属性,所以当R3将聚合路由发送给R4时,只会携带自身的AS 号。
这是我们来看一种情况,假设如图所示,我们在R2和R4之间的链路上也配置了EBGP对等体,R4会将这条聚合路由再发给R2,而这时,这条聚合路由所携带的AS_PATH只有AS3。
R2所在的AS2并不在AS_PATH列表中,于是R2会接收这条路由。
如我们上一章中所述,路由环路就产生了。
EBGP本身依赖AS_PATH来进防止路由环路,但是在路由聚合的场景下,会丢失明细路由的AS_PATH,导致这种环路的产生,那么应该如何解决这个问题呢?我们可以思考一下,其实只需要R3在发送聚合路由的时候,也带上被聚合的明细路由的AS_PATH就可以了,这些明细路由的AS_PATH只作为防止路由环路的作用。
我们在将R3上的聚合路由命令修改一下,增加一个关键字:as-set。
在R3上配置命令:aggregate 16 detail-suppressed as-set。
这里as-set关键字代表,当R3发送聚合路由给R4时,会生成AS_SET类型的AS_PATH列表,这个AS_PATH会包含所有明细路由的AS号。
配置完以后,我们在R4上查看BGP路由表:可以看到,,所有明细路由的AS_PATH属性是一个有序列表(3 2 1),所以这里虽然生成了AS_SET 类型的AS_PATH属性,但是和AS_SEQENCE没有任何区别。
为了更明确的说明一下AS_SET类型的AS_PATH,我们再增加一台路由器R5:这里,我们增加了位于AS5中的路由器R5,并将R5上,在R4上查看BGP路由表可以发现:聚合路由的AS_PATH已经变成了“3 2 {5 1}”。
这里,明细路由包含的AS_PATH中,{5 1}就是无序的AS_SET类型,而“3 2”是AS_SEQENCE类型的AS_PATH。
注意:AS_SET类型的AS_PATH在设备上都是用“{}”符号表示,并且在在BGP路由选路中,所有AS_SET类型的AS_PATH都算作长度1。
.例如:“3 2 {5 1}”在选路中AS_PATH长度算做3。
.下面我们再把这个例子变动一下,把AS1、AS2、AS3、AS5都作为子AS加入到BGP联盟中,联盟AS号为100。
如下图:FR2R1AS1R3Loop0172.16.1.1/24Loop1172.16.2.1/24EBGPEBGPAS2AS3AS4EBGPR411.1.1.0/2412.1.1.0/2413.1.1.0/24FR5AS5Loop0172.16.3.1/24Loop1172.16.4.1/24EBGP14.1.1./24AS100这次我们.在R2上进行聚合,并只将聚合路由可以看到,如我们上面所说,有序的AS_PATH是2,而无序的AS_PATH是5和1,所以我们可以看到“(2)”就是AS_CONFED_SEQUENCE类型的AS_PATH,而“[5 1]”就是AS_CONFED_SET 类型的AS_PATH。
一般在设备上,AS_CONFED_SEQUENCE类型的AS_PATH用符号“()”表示,而AS_CONFED_SET类型的AS_PATH用符号“[]”表示。
我们在看一下R4的BGP路由表:可以看到,联盟子AS号是不会传到联盟之外,所以R4上,这条聚合的AS_PATH只有100。
注意:AS_CONFED_SEQUENCE类型的AS_PATH和AS_CONFED_SET类型的AS_PATH均只是为了防止路由环路而存在,在BGP选路中,不作为AS_PATH长度考虑在内。
这也解释了我们上期的问题。
上回说到交换机通过AS_PATH属性轻松解决了一个难题,不禁有些沾沾自喜。
和师弟师妹大谈练功之道,一时间唾沫横飞,脸上颇有自得之色。
路由老祖在旁微笑不语,随手几笔,将交换机之前所做阵图稍作修改,起身飘然而去。
交换机转头望去,脸上笑容顿敛,起身注视老祖所改阵图,沉吟半晌,脸色愈发凝重。
阵图如是:众师兄妹们也围了过来,小师妹S27不解道:“这有何难?为何师兄却好似碰到了极大的难题?”交换机道:“师父这张图看似和我刚才所画并无很大差异,其实难处在于对接者非本派弟子,本派对于外部情况也一无所知,如此一来,想要通过AS_PATH来控制流量路径,虽非不能,也不免非常麻烦。
看来路由一道,果然博大精深,师父是看我有自满之意,才出此难题。
”话未说完,身后传来哈哈一笑,众人回身,只见老祖不知何时,已至身后。
原来老祖本有心指点,所以并未走远。
老祖道:“武林大会,卧虎藏龙,各派高手尽出,徒儿你万不可有轻敌之意。
”老祖又道:“路由一道,变化繁复,举一隅,不以三隅反,则不复也。
如你刚才所说,只得其一,尚未窥其全貌,武林大会之上,必有不同门派同场竞技,不仅需要控制出方向流量路径,入方向流量路径也需要考虑。
为师之前说过,BGP神功之精髓,在于“属性”二字,此出入方向流量的路径控制,也落在这“属性”二字上了。
”交换机恍然:“师父说的是LOCAL_PRAF和MULTI_EXIT_DISC吧?”题外话:LOCAL_PRAF属性(以下简称LP)和MULTI_EXIT_DISC属性(以下简称MED)是BGP协议在控制AS出口流量路径时经常用到的两个属性。
LP属性被用于在去往同一目的地的多条路由中设置路由优先级,从名字就可以看出,LP属性只是应用于本地对等体之间,即,只能在IBGP对等体之间传递,不会应用于EBGP对等体之间。
LP属性常用于AS出口出方向流量的路径控制,LP属性值越大,路由越优。
通常情况下,MED属性的作用是在去往邻居AS存在多条链路时,允许AS为入站流量传达其优先级。
(一般来说,比较不同AS的MED属性没有太大意义,特殊场景除外。
)从MED属性的作用可以看出,MED属性只是作用于EBGP对等体,而IBGP对等体互相通告路由时,会忽略MED属性。
MED属性常用于AS出口入方向流量的路径控制,MED属性值越小,路由越优。
下面,我们以路由老祖所画阵图为参考,来说明一下两种属性的作用。
如图,要求AS1访问,访问具体实现方法是,在R2和R3上做路由策略,使R2在发送路由,会优选LP属性大的值。
对于路由R2的关键配置:#bgp 1peer as-number 2peer as-number 1#ipv4-family unicastundo synchronizationpeer enablepeer enablepeer route-policy LP export /对R4出方向使用路由策略LPpeer next-hop-local#route-policy LP permit node 5 /设置路由策略LP,如果匹配前缀LP,则LP置为200 if-match ip-prefix LPapply local-preference 200#route-policy LP permit node 10#ip ip-prefix LP index 10 permit 24 /配置前缀列表LP,匹配#R3的关键配置:#bgp 1peer as-number 2peer as-number 1#ipv4-family unicastundo synchronizationpeer enablepeer enablepeer route-policy LP export /对R4出方向使用路由策略LPpeer next-hop-local#route-policy LP permit node 5 /设置路由策略LP,如果匹配前缀LP,则LP置为200 if-match ip-prefix LPapply local-preference 200#route-policy LP permit node 10#ip ip-prefix LP index 10 permit 24 /配置前缀列表LP,匹配#配置完之后,我们在R4上查看BGP路由表:可以看到,在R4上,去到,但是下一跳为R2的路由的LP属性为200,而下一跳为R3的路由的LP属性为100,所以优选R2进行转发。
去到我们对上面的例子稍作修改,在R4上也发布两条路由要求,所有访问,而所有访问实现方式和LP基本一致,使用路由策略,使R2在将R2新增配置:#bgp 1#ipv4-family unicastpeer route-policy MED export /对R1出方向使用路由策略MED#route-policy MED permit node 5 /设置路由策略MED,如匹配前缀MED,则MED置为10 if-match ip-prefix MEDapply cost 10#route-policy MED permit node 10#ip ip-prefix MED index 10 permit 24 /配置前缀列表MED,匹配#R3新增配置:bgp 1#ipv4-family unicastpeer route-policy MED export /对R1出方向使用路由策略MED#route-policy MED permit node 5 /设置路由策略MED,如匹配前缀MED,则MED置为10 if-match ip-prefix MEDapply cost 10#route-policy MED permit node 10#ip ip-prefix MED index 10 permit 24 /配置前缀列表MED,匹配#配置完成后,查看R1的BGP路由表:可以看到去往,下一跳为R2的路由被优选,因为其MED值较小。