07-BGP配置
本章节下载: 07-BGP配置 (3.76 MB)
目 录
2.1 搭建基本BGP网络配置任务简介(IPv4单播/IPv4组播)
2.2 搭建基本BGP网络配置任务简介(IPv6单播/IPv6组播)
2.4.8 配置BGP IPv4单播路由和BGP IPv4单播标签路由的引入功能
3.4.2 配置忽略BGP路由的ORIGINATOR_ID属性
3.4.3 配置不同VPN间转发路由时清除BGP路由的反射相关属性
4.5.5 配置允许比较来自同一联盟不同子自治系统邻居路由的MED属性值
4.7.2 配置BGP在选择最优路由时忽略AS_PATH属性
4.7.5 配置发送BGP更新消息时删除或替换AS_PATH属性的私有AS号
4.9 配置BGP在选择最优路由时忽略IGP Metric的比较
4.12.3 配置BGP路由的下一跳为隧道或IP地址时影响路由优选
5.2.1 开启BGP在新建TCP连接时的Path MTU探测功能
5.2.2 配置建立BGP TCP连接时使用的TCP最大报文段长度
5.5 配置系统进入二级内存门限告警状态后不断开EBGP对等体
5.8.3 禁止与指定对等体/对等体组建立会话(IPv4对等体)
5.8.4 禁止与指定对等体/对等体组建立会话(IPv6对等体)
5.9.2 通过Route-refresh功能实现BGP软复位(IPv4对等体)
5.9.3 通过Route-refresh功能实现BGP软复位(IPv6对等体)
5.9.4 通过将所有路由更新信息保存在本地实现BGP软复位
5.9.7 手工软复位BGP会话(IPv4单播/IPv4组播)
5.9.8 手工软复位BGP会话(IPv6单播/IPv6组播)
5.15 配置BGP路由进行下一跳路由迭代查找时采用最长匹配方式
5.17 配置不检查来自指定对等体/对等体组的EBGP路由的下一跳地址
5.25 配置关闭MPLS Local Ifnet隧道自动创建功能
6.6.5 配置向对等体/对等体组发送BGP RPKI验证结果
7.4.2 通过引用路由策略的方式开启BGP快速重路由功能(IPv4单播)
7.4.3 通过引用路由策略的方式开启BGP快速重路由功能(IPv6单播)
7.4.4 通过pic命令开启BGP快速重路由(IPv4单播)
7.4.5 通过pic命令开启BGP快速重路由(IPv6单播)
7.4.6 配置BGP快速重路由通过BFD会话检测主路由的下一跳是否可达
8.4.4 配置BGP LS信息的AS号和Router ID
8.4.6 手工软复位BGP LS或BGP-VPN LS地址族下的BGP会话
BGP(Border Gateway Protocol,边界网关协议)是一种既可以用于不同AS(Autonomous System,自治系统)之间,又可以用于同一AS内部的动态路由协议。当BGP运行于同一AS内部时,被称为IBGP(Internal BGP);当BGP运行于不同AS之间时,称为EBGP(External BGP)。AS是拥有同一选路策略,属于同一技术管理部门的一组路由器。当前使用的BGP版本是BGP-4。
BGP具有如下特点:
· BGP是一种EGP(Exterior Gateway Protocol,外部网关协议),与OSPF、RIP等IGP(Interior Gateway Protocol,内部网关协议)不同,其着眼点不在于发现和计算路由,而在于控制路由的传播和选择最佳路由。
· BGP使用TCP作为其传输层协议(端口号179),提高了协议的可靠性。
· BGP是一种路径矢量(Path-Vector)路由协议,它采用到达目的地址所经过的AS列表来衡量到达目的地址的距离。
· BGP支持CIDR(Classless Inter-Domain Routing,无类域间路由)。
· 路由更新时,BGP只发送更新的路由,大大减少了BGP传播路由所占用的带宽,适用于在Internet上传播大量的路由信息。
· BGP路由通过携带AS路径信息彻底解决路由环路问题。
· BGP提供了丰富的路由策略,能够对路由实现灵活的过滤和选择。
· BGP易于扩展,能够适应网络新的发展。
运行BGP协议的路由器称为BGP发言者。BGP发言者接收或产生路由信息,并将路由信息发布给其它BGP发言者。
相互之间存在TCP连接、相互交换路由信息的BGP发言者互为BGP对等体。
根据对等体所在的AS,可以将对等体分为以下两种:
· IBGP对等体:对等体与本地路由器位于同一AS。
· EBGP对等体:对等体与本地路由器位于不同AS。
根据对等体的IP地址类型,可以将对等体分为以下两种:
· IPv4对等体:通过IPv4地址创建的对等体。
· IPv6对等体:通过IPv6地址创建的对等体。
BGP定义了以下几种消息类型:
· Open:TCP连接建立后发送的第一个消息,用于在BGP对等体之间建立会话。
· Update:用于在对等体之间交换路由信息。一条Update消息可以发布具有相同路径属性的多条可达路由,也可以同时撤销多条不可达路由。
· Keepalive:BGP周期性地向对等体发送Keepalive消息,以保持会话的有效性。
· Route-refresh:用来要求对等体重新发送指定地址族的路由信息。
· Notification:当BGP检测到错误状态时,就向对等体发出Notification消息,之后BGP会话会立即中断。
BGP在会话建立过程中共具有六种状态,会话两端设备的BGP所处状态迁移过程如图1-1所示。
图1-1 BGP有限状态机变化过程
此状态是BGP的初始状态,在此状态下,BGP拒绝任何连接请求。只有收到Start事件时,设备才给BGP分配资源,并尝试进行TCP连接、转入Connect状态。
在其他的五种状态下,如果发生了TCP连接断开、报文错误、配置触发关闭连接或收到Notification消息等错误事件,BGP都会转入Idle状态。
在此状态下,BGP启动Connect Retry定时器,等待TCP完成连接:
· 如果在Connect Retry定时器超时前成功建立TCP连接,则BGP关闭Connect Retry定时器,向对等体发送Open消息,并转入OpenSent状态。
· 如果在Connect Retry定时器超时前建立TCP连接失败,则BGP转入Active状态。
· 如果Connect Retry定时器超时,BGP仍未收到对端的连接响应,则BGP重置Connect Retry定时器,再次尝试与对等体建立TCP连接,并保持Connect状态。
在此状态下,BGP不断尝试建立TCP连接:
· 如果TCP连接建立成功,则BGP关闭Connect Retry定时器,向对等体发送Open消息,并转入OpenSent状态。
· 如果TCP连接建立失败,则BGP重置Connect Retry定时器并保持Active状态。
· 如果Connect Retry定时器超时,BGP仍未收到对端的连接响应,则BGP重置Connect Retry定时器,并转入Connect状态。
在此状态下,BGP等待来自对等体的Open消息,并对Open消息中的BGP版本号、AS号等信息进行检查:
· 如果收到的Open消息正确,则BGP向对等体发送Keepalive消息,并转入OpenConfirm状态。
· 如果收到的Open消息错误,则BGP向对等体发送Notification消息,并转入Idle状态。
在此状态下如果TCP连接断开,则BGP重置Connect Retry定时器,并转入Active状态,重新尝试TCP连接的建立。
在此状态下,BGP等待Keepalive或Notification消息。如果BGP收到Keepalive消息,则转入Established状态,如果收到Notification消息,则转入Idle状态。
在此状态下,BGP可以和对等体交互Update、Keepalive、Route-refresh以及Notification消息:
· 收到正确的Update消息或Keepalive消息时,BGP保持Established状态。
· 收到错误的Update消息或Keepalive消息时,BGP向对等体发送Notification消息并转入Idle状态。
· Route-refresh消息不影响BGP状态。
· 收到Notification消息时,BGP转入Idle状态。
BGP路由属性是跟随路由一起发布出去的一组参数。它对特定的路由进行了进一步的描述,使得路由接收者能够根据路由属性值对路由进行过滤和选择。下面将介绍几种常见的路由属性。
ORIGIN属性定义了路由信息的来源,标记一条BGP路由是怎么生成的。它有以下三种类型:
· IGP:优先级最高,表示路由产生于本AS内。
· EGP:优先级次之,表示路由通过EGP学到。
· Incomplete:优先级最低,表示路由的来源无法确定。例如,从其它路由协议引入的路由信息。
AS_PATH属性记录了某条路由从本地到目的地址所要经过的所有AS号。当BGP路由器将一条路由通告到其他AS时,会把本地AS号添加在AS_PATH列表中。收到此路由的BGP路由器根据AS_PATH属性就可以知道到达目的地址所要经过的AS。
AS_PATH属性有以下两种类型:
· AS_SEQUENCE:AS号按照一定的顺序排列。如图1-2所示,离本地AS最近的相邻AS号排在前面,其他AS号按顺序依次排列。
· AS_SET:AS号只是经过的AS的简单罗列,没有顺序要求。
AS_PATH属性具有如下用途:
· 避免路由环路的形成:缺省情况下,如果BGP路由器接收到的路由的AS_PATH属性中已经包含了本地的AS号,则BGP路由器认为出现路由环路,不会接受该路由。
· 影响路由的选择:在其他因素相同的情况下,BGP会优先选择路径较短的路由。比如在图1-2中,AS 50中的BGP路由器会选择经过AS 40的路径作为到目的地址8.0.0.0的最优路由。用户可以使用路由策略来人为地增加AS路径的长度,以便更为灵活地控制BGP路径的选择。路由策略的详细介绍,请参见“三层技术-IP路由配置指导”中的“路由策略”。
· 对路由进行过滤:通过配置AS路径过滤列表,可以针对AS_PATH属性中所包含的AS号来对路由进行过滤。AS路径过滤列表的详细介绍,请参见“三层技术-IP路由配置指导”中的“路由策略”。
BGP的NEXT_HOP属性取值不一定是邻居路由器的IP地址。如图1-3所示,NEXT_HOP属性取值情况分为几种:
· BGP发言者把自己产生的路由发给所有邻居时,将该路由信息的NEXT_HOP属性设置为自己与对端连接的接口地址;
· BGP发言者把接收到的路由发送给EBGP对等体时,将该路由信息的NEXT_HOP属性设置为自己与对端连接的接口地址;
· BGP发言者把从EBGP邻居得到的路由发给IBGP邻居时,并不改变该路由信息的NEXT_HOP属性。如果配置了负载分担,等价路由被发给IBGP邻居时则会修改NEXT_HOP属性。关于“负载分担”的概念请参见“1.8 BGP负载分担”。
MED属性仅在相邻两个AS之间交换,收到此属性的AS不会再将其通告给其它AS。
MED属性相当于IGP使用的度量值(metric),它用于判断流量进入AS时的最佳路由。当一个BGP路由器通过不同的EBGP对等体得到目的地址相同但下一跳不同的多条路由时,在其它条件相同的情况下,将优先选择MED值较小者作为最佳路由。如图1-4所示,从AS 10到AS 20的流量将选择Router B作为入口。
图1-4 MED属性
通常情况下,BGP只比较来自同一个AS的路由的MED属性值。在某些特殊的应用中,用户也可以通过配置compare-different-as-med命令,强制BGP比较来自不同AS的路由的MED属性值。
LOCAL_PREF属性仅在IBGP对等体之间交换,不通告给其他AS。它表明BGP路由器的优先级。
LOCAL_PREF属性用于判断流量离开AS时的最佳路由。当BGP路由器通过不同的IBGP对等体得到目的地址相同但下一跳不同的多条路由时,将优先选择LOCAL_PREF属性值较高的路由。如图1-5所示,从AS 20到AS 10的流量将选择Router C作为出口。
BGP将具有相同特征的路由归为一组,称为一个团体,通过在路由中携带团体属性标识路由所属的团体。团体没有物理上的边界,不同AS的路由可以属于同一个团体。
根据需要,一条路由可以携带一个或多个团体属性值(每个团体属性值用一个四字节的整数表示)。接收到该路由的路由器可以通过比较团体属性值对路由作出适当的处理(比如决定是否发布该路由、在什么范围发布等),而不需要匹配复杂的过滤规则(如ACL),从而简化路由策略的应用和降低维护管理的难度。
公认的团体属性有:
· INTERNET:缺省情况下,所有的路由都属于INTERNET团体。具有此属性的路由可以被通告给所有的BGP对等体。
· NO_EXPORT:具有此属性的路由在收到后,不能被发布到本地AS之外。如果使用了联盟,则不能被发布到联盟之外,但可以发布给联盟中的其他子AS(关于联盟的定义请参见“1.9 7. 联盟”)。
· NO_ADVERTISE:具有此属性的路由被接收后,不能被通告给任何其他的BGP对等体。
· NO_EXPORT_SUBCONFED:具有此属性的路由被接收后,不能被发布到本地AS之外,也不能发布到联盟中的其他子AS。
除了公认的团体属性外,用户还可以使用团体属性列表自定义团体属性,以便更为灵活地控制路由策略。
团体属性仅能表示2字节的AS号,为了更加灵活地使用团体属性,BGP定义了一种新的格式的团体属性:Large团体属性。Large团体属性值长度为12字节,格式为Global Administration:LocalData1:LocalData2,每个字段均为4字节。用户可以自定义每个字段的含义,例如可以通过指定Large团体属性值使其代表ME:ACTION:YOU,或ASN:Function:Parameter。
Large团体属性可以完整地表示2字节或者4字节的AS号,且包含两个4字节的LocalData属性标识,使管理员可以更加灵活地应用策略、控制路由的发布和接收。Large团体属性可以和团体属性一起使用,作为对团体属性的补充。
随着团体属性的应用日益广泛,原有四字节的团体属性无法满足用户的需求。因此,BGP定义了新的路由属性——扩展团体属性。扩展团体属性与团体属性有如下不同:
· 扩展团体属性为八字节,提供了更多的属性值。
· 扩展团体属性可以划分类型。在不同的组网应用中,可以使用不同类型的扩展团体属性对路由进行过滤和控制。与不区分类型、统一使用同一个属性值空间的团体属性相比,扩展团体属性的配置和管理更为简单。
目前,设备支持的扩展团体属性有VPN Target属性、链路带宽属性、Color属性和SoO(Site of Origin,源站点)属性。VPN Target属性的详细介绍,请参见“MPLS配置指导”中的“MPLS L3VPN”。Color属性的详细介绍,请参见“三层技术-IP路由命令参考”中的“路由策略”。
链路带宽属性用来标识与EBGP建立邻居的接口带宽,该链路带宽属性会随着路由的发布传递给IBGP邻居。
SoO扩展团体属性用来标识路由的原始站点。路由器不会将带有SoO属性的路由发布给该SoO标识的站点,确保来自某个站点的路由不会再被发布到该站点,从而避免路由环路。在AS路径信息丢失时,可以通过SoO属性来避免发生环路。
SoO属性有五种格式:
· 16位自治系统号:32位用户自定义数,例如:101:3。
· 32位IP地址:16位用户自定义数,例如:192.168.122.15:1。
· 32位自治系统号:16位用户自定义数,其中的自治系统号最小值为65536。例如:65536:1。
· 32位IP地址/IPv4地址掩码:16位用户自定义数,例如:192.168.122.15/24:1。
· 32位自治系统号的点分方式:16位用户自定义数,例如:65535.65535:1。
BGP团体属性用来携带BGP路由中的附加信息,以实现简化的路由策略。由于BGP团体属性4字节长度的限制,BGP引入了许多新的属性来提供类似团体属性的功能,如Large团体属性、扩展团体属性等。这些属性都具有固定的长度,依旧无法满足日益增长的需求;并且这些属性均具有其独特的格式,想要处理这些属性,设备必须能够识别这些属性,提高了网络部署的难度,不利于网络的扩展。
团体容器属性可以用来解决上述问题。团体容器属性提供了一种类似团体属性功能的“通用化”解决方案,其作为类团体属性的“容器”,允许携带多种多样的类团体属性,并通过“团体容器公共头+类团体属性”的结构进行组织。类团体属性在团体容器属性中被称为团体容器,团体容器均为可变长度,不同的团体容器可以定义不同的属性值以实现不同的功能。除了协议标准中已经定义的团体容器外,用户还可以自行定义新的团体容器,以满足不断增长的需求,设备无需具有识别特定团体容器的能力即可转发团体容器属性。
目前,我司设备无法主动在BGP路由中添加团体容器属性,只能识别其他厂商设备向我司设备发送的BGP路由中携带的团体容器属性并转发该路由,且仅支持团体容器类型为Wide的团体容器属性、Wide团体容器定义的属性值仅能为“Download To FIB”。“Download To FIB”表示Flowspec路由不通知QoS模块执行相应的QoS策略,而是以匹配规则中的目的地址为IP路由的目的地址、以执行动作中的重定向下一跳为IP路由的下一跳地址,在IPv4/IPv6路由表中生成一条路由。如果不存在目的地址匹配规则或重定向下一跳动作,则不生成路由。通过使用“Download To FIB”,在Flowspec路由器无法通过其他方式获得路由信息时,控制器可以借助Flowspec路由的下发来实现IP路由信息的下发,并通过该路由信息指导流量的转发。
通过“Download To FIB”生成的路由所在的路由表取决于Flowspec路由的地址族,具体情况如表1-1所示。
表1-1 根据Flowspec路由生成的IP路由所在的路由表
|
Flowspec路由的地址族 |
生成的IP路由所在的路由表 |
|
BGP IPv4 Flowspec地址族 |
公网IPv4路由表 |
|
BGP IPv6 Flowspec地址族 |
公网IPv6路由表 |
|
BGP-VPN IPv4 Flowspec地址族 |
对应VPN实例的IPv4路由表 |
|
BGP-VPN IPv6 Flowspec地址族 |
对应VPN实例的IPv6路由表 |
|
BGP VPNv4 Flowspec地址族 |
Flowspec路由RD对应的VPN实例的IPv4路由表 |
|
BGP VPNv6 Flowspec地址族 |
Flowspec路由RD对应的VPN实例的IPv6路由表 |
有关Flowspec路由及Flowspec地址族的详细介绍,请参见“ACL和QoS配置指导”中的“Flowspec”。
目前,BGP选择路由的过程为:
(1) 丢弃下一跳(NEXT_HOP)不可达的路由;
(2) 优选首选值(Preferred-value)最大的路由;
(3) 优选本地优先级(LOCAL_PREF)最高的路由;
(4) 在BGP实例的VPN实例内,根据bestroute encap-type命令的配置优选SRv6封装或MPLS封装的路由;在BGP实例的公网实例内,本规则不生效;
(5) 依次选择network命令生成的路由、import-route命令引入的路由、聚合路由;
(6) 优选携带AIGP属性的路由,AIGP属性值越小优先级越高;
(7) 优选AS路径(AS_PATH)最短的路由;
(8) 依次选择ORIGIN类型为IGP、EGP、Incomplete的路由;
(9) 优选MED值最小的路由;
(10) 依次选择从EBGP、联盟EBGP、联盟IBGP、IBGP学来的路由;
(11) 优选到达下一跳的IGP路由的Metric值最小的路由;
(12) 优选迭代深度值小的路由;
(13) 如果当前的最优路由为EBGP路由,则BGP路由器收到来自不同的EBGP邻居的路由后,不会改变最优路由;
(14) 优选Router ID最小的路由器发布的路由。如果路由包含RR属性,那么在路由选择过程中,就用ORIGINATOR_ID来替代Router ID;
(15) 优选CLUSTER_LIST长度最短的路由;
(16) 优选IP地址最小的对等体发布的路由。
· CLUSTER_ID为路由反射器的集群ID,CLUSTER_LIST由CLUSTER_ID序列组成,路由反射器将自己的CLUSTER_ID加入CLUSTER_LIST中。若路由反射器收到路由中的CLUSTER_LIST包含自己的CLUSTER_ID,则丢弃该路由,从而避免集群内发生环路。
· 如果配置了负载分担,并且有多条到达同一目的地的路由,则根据配置的路由条数选择多条路由进行负载分担。
· 有关bestroute encap-type命令的详细参考,请参见“Segment Routing命令参考”中的“SRv6 TE Policy”。
BGP发布路由时采用如下策略:
· 存在多条有效路由时,BGP发言者只将最优路由发布给对等体。如果配置了advertise-rib-active命令,则BGP发布IP路由表中的最优路由;否则,发布BGP路由表中的最优路由。
· BGP发言者只把自己使用的路由发布给对等体。
· BGP发言者会将从EBGP获得的路由发布给它的所有BGP对等体(包括EBGP对等体和IBGP对等体)。
· BGP发言者会将从IBGP获得的路由发布给它的EBGP对等体,但不会发布给它的IBGP对等体。
· 会话一旦建立,BGP发言者将把满足上述条件的所有BGP路由发布给新对等体。之后,BGP发言者只在路由变化时,向对等体发布更新的路由。
BGP可以通过如下两种方式实现负载分担:
· 基于迭代路由实现负载分担
· 通过改变BGP选路规则实现负载分担
由于BGP协议本身的特殊性,它产生的路由的下一跳地址可能不是当前路由器直接相连的邻居。常见的一个原因是:IBGP之间发布路由信息时不改变下一跳。这种情况下,为了能够将报文正确转发出去,路由器必须先找到一个直接可达的地址(查找IGP建立的路由表项),通过这个地址到达路由表中指示的下一跳。在上述过程中,去往直接可达地址的路由被称为依赖路由,BGP路由依赖于这些路由指导报文转发。根据下一跳地址找到依赖路由的过程就是路由迭代。
目前系统支持基于迭代的BGP负载分担,即如果依赖路由本身是负载分担的(假设有三个下一跳地址),则BGP也会生成与依赖路由数量相同的下一跳地址来指导报文转发。需要说明的是,基于迭代的BGP负载分担并不需要命令配置,这一特性在系统上始终启用。
在实现方法上,BGP的负载分担与IGP的负载分担有所不同:
· IGP(如RIP、OSPF)是通过协议定义的路由算法,对到达同一目的地址的不同路由,根据计算结果,将度量值(metric)相等的路由进行负载分担,选择的标准很明确(按metric)。
· BGP本身并没有路由计算的算法,它只是一个选路的路由协议,因此,不能根据一个明确的度量值决定是否对路由进行负载分担,但BGP有丰富的选路规则,可以在对路由进行一定的选择后,有条件地进行负载分担,也就是将负载分担加入到BGP的选路规则中去。
采用本方式进行负载分担时,BGP不再按照“1.6 BGP的选路规则”中的规则选择路由,当路由同时满足如下条件时,即在这些路由间进行负载分担:
· ORIGIN属性、LOCAL_PREF属性、AIGP属性和MED属性完全相同。
· AS_PATH属性满足如下要求:
¡ 只要配置了balance as-path-neglect命令,则AS_PATH属性可以不同。
¡ 如果配置了balance as-path-relax命令,但未配置balance as-path-neglect命令,则AS_PATH属性内容不同但长度相同的路由之间能够形成BGP负载分担。
¡ 如果未配置balance as-path-neglect和balance as-path-relax命令,则要求AS_PATH属性也必须相同。
· 到达路由下一跳的IGP路由的Metric值满足如下要求:
¡ 若未配置bestroute igp-metric-ignore命令和balance igp-metric-ignore命令,则到达路由下一跳的IGP路由的Metric值必须相同。
¡ 配置了bestroute igp-metric-ignore命令或balance igp-metric-ignore命令后,到达路由下一跳的IGP路由的Metric值不同也能形成BGP负载分担。
· 同为标签路由(具有对应MPLS标签值的路由)或同为非标签路由。
图1-6 BGP负载分担示意图
在图1-6中,Router A和Router B是Router C的IBGP对等体。当Router D和Router E同时向Router C通告到达同一目的地的路由时,如果用户在Router C上配置了进行负载分担的BGP路由条数为2,则当这两条路由满足负载分担条件时,Router C就把这两条路由同时加入到转发表中,实现BGP路由的负载分担。Router C只向Router A和Router B转发一次该路由,该路由的属性按照如下方法确定:
· 如果未配置balance as-path-neglect和balance as-path-relax命令,形成负载分担的路由的AS_PATH属性相同,则发布路由的AS_PATH属性就为该值;如果配置了balance as-path-neglect或balance as-path-relax命令,形成负载分担的路由的AS_PATH属性不同,则发布路由的AS_PATH属性为最佳路由的AS_PATH属性。
· NEXT_HOP属性改变为Router C的地址,而不是原来的EBGP对等体地址。
· 其它的BGP路由属性为最佳路由的属性。
BGP负载分担特性适用于EBGP、IBGP以及联盟之间。
在大规模BGP网络中,对等体的数目众多,路由表庞大,配置和维护极为不便。通过如下方法,可以降低管理难度,提高路由发布效率。
在大规模的网络中,BGP路由表十分庞大,使用路由聚合(Routes Aggregation)可以大大减小BGP路由表的规模。
路由聚合实际上是将多条路由合并的过程。这样BGP在向对等体通告路由时,可以只通告聚合后的路由,而不是将所有的具体路由都通告出去。
目前系统支持自动聚合和手动聚合方式。使用后者还可以控制聚合路由的属性,以及决定是否发布具体路由。
路由发生变化时,路由协议会向邻居发布路由更新,收到路由更新的路由器需要重新计算路由并修改路由表。如果发生路由震荡,即路由不稳定,路由表中的某条路由反复消失和重现,则会消耗大量的带宽资源和CPU资源,严重时会影响到网络的正常工作。
在多数情况下,BGP协议都应用于复杂的网络环境中,路由变化十分频繁。为了防止持续的路由震荡带来的不利影响,BGP使用衰减来抑制不稳定的路由。
BGP衰减使用惩罚值来衡量一条路由的稳定性,惩罚值越高说明路由越不稳定。如图1-7所示,路由每次从可达状态变为不可达状态,或者可达路由的属性每次发生变化时,BGP给此路由增加一定的惩罚值(系统固定为1000,不可修改)。当惩罚值超过抑制阈值时,此路由被抑制,不参与路由选择。惩罚值达到设置的上限后,不再继续增加。
发生震荡的路由如果没有再次震荡,则路由的惩罚值会逐渐减少。每经过一段时间,惩罚值便会减少一半,这个时间称为半衰期(Half-life)。当惩罚值低于再使用阈值时,此路由变为可用路由,参与路由选择。
图1-7 BGP路由衰减示意图
在大规模BGP网络中,对等体的数量很多,其中很多对等体具有相同的策略,在配置时会重复使用一些命令。此时,将这些对等体加入一个对等体组,可以简化配置。
对等体组是具有某些相同属性的对等体的集合。当一个对等体加入对等体组时,此对等体将获得与所在对等体组相同的配置。当对等体组的配置改变时,组内成员的配置也相应改变。
在大规模的网络中,如果通过地址前缀列表、ACL、AS_PATH等实现对路由的控制,不仅配置复杂,而且不方便维护。利用团体属性、Large团体属性和扩展团体属性,可以提高路由策略配置的灵活度,简化路由策略的管理,从而降低维护管理的难度。团体属性、Large团体属性和扩展团体属性的介绍请参见“1.5 BGP的路由属性”。
为保证IBGP对等体之间的连通性,需要在IBGP对等体之间建立全连接关系。假设在一个AS内部有n台路由器,那么应该建立的IBGP连接数就为n(n-1)/2。当IBGP对等体数目很多时,对网络资源和CPU资源的消耗都很大。
利用路由反射可以解决这一问题。在一个AS内,其中一台路由器作为RR(Route Reflector,路由反射器),作为客户机(Client)的路由器与路由反射器之间建立IBGP连接。路由反射器从客户机接收到路由后,将其传递(反射)给所有其他的客户机,从而保证客户机之间不需要建立BGP连接,就可以学习到彼此的路由。
既不是路由反射器也不是客户机的BGP路由器被称为非客户机(Non-client)。非客户机与路由反射器之间,以及所有的非客户机之间仍然必须建立全连接关系。其示意图如图1-8所示。
路由反射器及其客户机形成了一个集群。通常情况下,一个集群中只有一个路由反射器,该反射器的Router ID就作为集群ID,用于识别该群。如图1-9所示,为了提高网络的可靠性、避免单点故障,一个集群中可以设置多个路由反射器。此时,集群中所有路由反射器上都需要配置相同的集群ID,以便集群具有统一的标识,避免路由环路的产生。
如果配置了路由反射器后,由于组网需要在路由反射器的客户机之间又建立了全连接,则客户机之间可以直接交换路由信息,客户机到客户机之间的路由反射是没有必要的。此时,不需要修改网络配置或改变网络拓扑,只需在路由反射器上通过相关命令禁止其在客户机之间反射路由,就可以避免路由反射,减少占用的带宽资源。
禁止客户机之间的路由反射后,客户机到非客户机之间的路由仍然可以被反射。
在某些特殊组网中,需要在不同AS域中的边界设备间建立EBGP对等体的全连接关系。当对等体数目很多时,全连接对网络资源和设备性能的消耗很大。
利用Route Server功能可以解决这一问题。如图1-10所示,配置一台设备作为Route Server,需要建立全连接的边界设备与Route Server建立对等体,这些边界设备将作为Route Server的客户机。Route Server设备向客户机发送路由时,不修改路由的AS_Path、Next_Hop和MED属性,使客户机之间不需要建立EBGP全连接也能学习到彼此的路由,客户机之间的流量转发也不需要经过Route Server设备。
图1-10 Route Server功能示意图
联盟(Confederation)是处理自治系统内部的IBGP网络连接激增的另一种方法,它将一个自治系统划分为若干个子自治系统,每个子自治系统内部的IBGP对等体建立全连接关系,子自治系统之间建立联盟内部EBGP连接关系。其示意图如图1-11所示。
在不属于联盟的BGP发言者看来,属于同一个联盟的多个子自治系统是一个整体,外界不需要了解内部的子自治系统情况,联盟ID就是标识联盟这一整体的自治系统号,如上图中的AS 200就是联盟ID。
联盟的缺陷是从非联盟方案向联盟方案转变时,要求路由器重新进行配置,逻辑拓扑也要改变。
在大型BGP网络中,路由反射器和联盟可以被同时使用。
BGP-4只能传递IPv4单播的路由信息,不能传递其它网络层协议(如IPv6等)的路由信息。
为了提供对多种网络层协议的支持,IETF对BGP-4进行了扩展,形成MP-BGP(Multiprotocol Border Gateway Protocol,多协议边界网关协议)。MP-BGP可以为多种网络层协议传递路由信息。
· IPv6单播
通过MP-BGP发布和维护IPv6单播路由前缀信息。
· IPv4组播/IPv6组播
组播路由协议PIM(Protocol Independent Multicast,协议无关组播)根据单播静态路由或者任意单播路由协议(包括RIP、OSPF、IS-IS、BGP等)所生成的单播路由表进行RPF(Reverse Path Forwarding,逆向路径转发)检查,以创建组播路由表项,从而进行组播报文的转发。组播转发路径与单播转发路径是一致的。但是,在某些情况下,组播网络拓扑和单播网络拓扑有可能不同;有些用户希望组播转发路径不同于单播转发路径,以便分别对组播流量和单播流量进行管理和控制。
MP-BGP对IPv4组播/IPv6组播的扩展,称为MBGP(Multicast BGP,组播BGP),它通过MP-BGP传递用于RPF检查的路由信息,并将该信息保存在独立的组播BGP路由表中,以实现单播转发和组播转发的隔离,使得组播转发路径可以不同于单播转发路径。
有关组播、PIM和RPF检查的详细介绍,请参见“IP组播配置指导”。
· VPNv4/VPNv6
通过MP-BGP发布和维护VPNv4/VPNv6路由前缀信息,详细介绍请参见“MPLS配置指导”中的“MPLS L3VPN”和“IPv6 MPLS L3VPN”。
· 带标签的IPv4单播/IPv6单播
通过MP-BGP发布和维护IPv4单播/IPv6单播路由前缀的同时,还发布为该路由前缀分配的MPLS标签。带标签的IPv4单播路由主要应用于MPLS L3VPN的跨域VPN-OptionC组网中;带标签的IPv6单播路由主要应用于6PE和MPLS L3VPN的跨域VPN-OptionC组网中。跨域VPN-OptionC组网的详细介绍,请参见“MPLS配置指导”中的“MPLS L3VPN”。
可通过如下两种方式发布带标签的IPv4单播路由:
¡ 在BGP IPv4单播地址族视图或BGP-VPN IPv4单播地址族视图下使能交换带标签路由能力。
¡ 创建BGP IPv4单播标签地址族或BGP-VPN IPv4单播标签地址族,并在该地址族下进行路由的转发和发布。
这两种方式的效果相同,需要注意的是:
¡ 这两种方式不能同时配置,即BGP IPv4单播地址族视图下使能交换带标签路由功能与创建BGP IPv4单播标签地址族互斥;BGP-VPN IPv4单播地址族视图下使能交换带标签路由功能与创建BGP-VPN IPv4单播标签地址族互斥。
¡ BGP IPv4单播标签地址族/BGP-VPN IPv4单播标签地址族中的BGP路由只有在配置了BGP IPv4单播路由和BGP IPv4单播标签路由的引入功能后,才能添加到IP路由表中,BGP IPv4单播地址族/BGP-VPN IPv4单播地址族中的带标签IPv4路由能够自动添加到IP路由表中。
¡ 设备需要具有MPLS标签分配能力,才能为BGP IPv4单播标签地址族/BGP-VPN IPv4单播标签地址族中的BGP路由分配标签,并发布这些路由。否则,设备不会向对等体发布BGP IPv4单播标签路由。具体配置请参见“MPLS配置指导”。
目前,设备仅支持通过在BGP IPv6单播地址族视图或BGP-VPN IPv6单播地址族视图下使能交换带标签路由能力,来发布带标签的IPv6单播路由。
· L2VPN
通过MP-BGP发布和维护标签块信息和远端邻居信息,详细介绍请参见“MPLS配置指导”中的“MPLS L2VPN”和“VPLS”。
· IPv4 MDT
通过MP-BGP发布和维护包含PE地址及PE所在的Default-group等信息的MDT信息,以便组播VPN根据MDT信息在公网上建立以PE为根(即组播源)的Default-MDT。详细介绍请参见“IP组播配置指导”中的“组播VPN”。
· MVPN
通过MP-BGP发布和维护MVPN路由信息。在组播VPN的RSVP-TE模式中,设备根据MVPN路由信息建立相容性隧道和选择性隧道,详细介绍请参见“IP组播配置指导”中的“组播VPN”。
· EVPN
通过MP-BGP发布和维护EVPN路由信息,以实现自动发现VTEP、自动建立和关联VXLAN隧道、通告MAC地址和ARP信息。详细介绍请参见“EVPN配置指导”中的“EVPN”。
路由信息中与网络层协议相关的关键信息包括路由前缀和下一跳地址。BGP-4通过Update消息中的NLRI(Network Layer Reachability Information,网络层可达性信息)字段携带可达路由的前缀信息,Withdrawn Routes字段携带不可达路由的前缀信息,NEXT_HOP属性携带下一跳地址信息。NLRI字段、Withdrawn Routes字段和NEXT_HOP属性不易于扩展,无法携带多种网络层协议的信息。
为实现对多种网络层协议的支持,MP-BGP定义了两个新的路径属性:
· MP_REACH_NLRI(Multiprotocol Reachable NLRI,多协议可达NLRI):用于携带多种网络层协议的可达路由前缀及下一跳地址信息,以便向邻居发布该路由。
· MP_UNREACH_NLRI(Multiprotocol Unreachable NLRI,多协议不可达NLRI):用于携带多种网络层协议的不可达路由前缀信息,以便撤销该路由。
MP-BGP通过上述两个路径属性传递不同网络层协议的可达路由和不可达路由信息。不支持MP-BGP的BGP发言者接收到带有这两个属性的Update消息后,忽略这两个属性,不把它们传递给其它邻居。
MP-BGP采用地址族(Address Family)和子地址族(Subsequent Address Family)来区分MP_REACH_NLRI属性、MP_UNREACH_NLRI属性中携带路由信息所属的网络层协议。例如,如果MP_REACH_NLRI属性中AFI(Address Family Identifier,地址族标识符)为2、SAFI(Subsequent Address Family Identifier,子地址族标识符)为1,则表示该属性中携带的是IPv6单播路由信息。关于地址族的一些取值可以参考RFC 1700。
MP-BGP支持IPvX(X可以为4或6)对等体之间交互IPv4和IPv6路由,即IPv4对等体之间除了交互IPv4路由以外还可以交互IPv6路由,IPv6对等体之间除了交互IPv6路由以外还可以交互IPv4路由:
· IPv6路由的下一跳为IPv4地址时,MP-BGP将此IPv4地址映射为IPv6地址封装在Update报文的Next-Hop属性中。此时,需要配置路由策略,将IPv6路由的下一跳地址修改为对端设备的IPv6地址,否则无法正常进行路由迭代。
· IPv4路由的下一跳为IPv6地址时,需要BGP会话协商支持扩展IPv6下一跳能力,将IPv4 NLRI封装在MP_REACH_NLRI属性中。此时,需要配置路由策略,将IPv4路由的下一跳地址修改为对端设备的IPv4地址,否则无法正常进行路由迭代。
图1-12 MP-BGP支持BGP IPvX会话承载IPv4和IPv6路由
以图1-12为例,Device B和Device C之间仅建立BGP IPv6会话,Device A和DeviceB、Device C和Device D之间同时建立BGP IPv4和BGP IPv6会话,Device A和Device D可以学习到对方的IPv4和IPv6路由并且两个地址族下的流量都能正常互通。当Device C收到Device B发布的IPv4路由时,下一跳为Device B的IPv6地址,需要在Device C上配置路由策略将这类路由的下一跳属性修改为Device B上出接口Port A的IPv4地址10.1.1.1/24,反之同理。
一台BGP路由器上可以同时启动多个BGP进程,每个BGP进程对应一个BGP实例。BGP为不同的BGP实例维护独立的路由表。
BGP对BGP多实例具有如下要求:
· 一个BGP实例下可以创建多个公网地址族,但不同BGP实例下不能创建相同的公网地址族(IPv4单播地址族、IPv6单播地址族、VPNv4地址族、VPNv6地址族、VPNv4 Flowspec地址族、VPNv6 Flowspec地址族、IPv4 RT-Filter地址族、IPv4 SR Policy地址族以及IPv6 SR Policy地址族除外)。
· 一个BGP实例下可以创建多个VPN实例,每个VPN实例下可以创建多个地址族,但不同BGP实例下不能创建相同的VPN实例。
· 不能通过公网内的不同BGP实例与相同地址的对等体建立BGP会话。
· IPv4组播与IPv6组播地址族同时配置时,只能配置在一个BGP实例下。
· 不同BGP实例对应的AS号可以相同,不同BGP实例的实例名称不能相同。
设备为BGP定义了多种视图,分别用来管理不同BGP实例、不同地址族及不同VPN实例的路由信息。BGP支持VPN多实例,可以为不同的VPN实例维护独立的路由表。
大多数BGP配置命令可以在多个视图下执行,不同视图下命令的作用范围有所不同,详细介绍如表1-2所示。
表1-2 BGP相关视图介绍
|
视图名称 |
进入视图方法 |
说明 |
|
BGP实例视图 |
执行bgp命令时,可以通过instance参数指定BGP实例名称,以便进入指定BGP实例的视图,该视图下有些配置对指定BGP实例的公网和所有VPN实例内所有地址族的路由和对等体生效(如联盟、GR、日志功能的配置等),有些配置只对指定BGP实例的公网内所有地址族的路由和对等体生效 |
|
|
BGP IPv4单播地址族视图 |
该视图下的配置对指定BGP实例的公网内的IPv4单播路由和对等体生效 |
|
|
BGP IPv6单播地址族视图 |
该视图下的配置对指定BGP实例的公网内的IPv6单播路由和对等体生效 |
|
|
BGP IPv4单播标签地址族视图 |
该视图下的配置对指定BGP实例的公网内的IPv4单播标签路由和对等体生效 |
|
|
BGP IPv4组播地址族视图 |
该视图下的配置对指定BGP实例的IPv4组播路由和对等体生效 |
|
|
BGP IPv6组播地址族视图 |
该视图下的配置对指定BGP实例的IPv6组播路由和对等体生效 |
|
|
BGP VPNv4地址族视图 |
该视图下的配置对指定BGP实例的VPNv4路由和对等体生效 BGP VPNv4地址族视图的配置请参见“MPLS配置指导”中的“MPLS L3VPN” |
|
|
BGP VPNv6地址族视图 |
该视图下的配置对指定BGP实例的VPNv6路由和对等体生效 BGP VPNv6地址族视图的配置请参见“MPLS配置指导”中的“IPv6 MPLS L3VPN” |
|
|
BGP L2VPN地址族视图 |
该视图下的配置对指定BGP实例的L2VPN对等体和L2VPN信息生效 BGP L2VPN地址族视图的配置请参见“MPLS配置指导”中的“MPLS L2VPN”和“VPLS” |
|
|
BGP EVPN地址族视图 |
该视图下的配置对指定BGP实例的EVPN路由和对等体生效 BGP EVPN地址族的配置请参见“EVPN配置指导”中的“EVPN” |
|
|
BGP-VPN实例视图 |
该视图下的配置对指定BGP实例的指定VPN实例内所有地址族的路由和对等体生效 VPN实例的详细介绍,请参见“MPLS配置指导”中的“MPLS L3VPN” |
|
|
BGP-VPN IPv4单播地址族视图 |
该视图下的配置对指定BGP实例的指定VPN实例内的IPv4单播路由和对等体生效 VPN实例的详细介绍,请参见“MPLS配置指导”中的“MPLS L3VPN” |
|
|
BGP-VPN IPv6单播地址族视图 |
该视图下的配置对指定BGP实例的指定VPN实例内的IPv6单播路由和对等体生效 VPN实例的详细介绍,请参见“MPLS配置指导”中的“MPLS L3VPN” |
|
|
BGP-VPN IPv4单播标签地址族视图 |
该视图下的配置对指定BGP实例的指定VPN实例内的IPv4单播标签路由和对等体生效 |
|
|
BGP-VPN VPNv4地址族视图 |
该视图下的配置对指定BGP实例的指定VPN实例内的VPNv4路由和对等体生效 BGP-VPN VPNv4地址族视图的配置请参见“MPLS配置指导”中的“MPLS L3VPN” |
|
|
BGP MDT地址族视图 |
该视图下的配置对指定BGP实例的MDT路由和对等体生效 BGP MDT地址族的配置请参见“IP组播配置指导”中的“组播VPN” |
|
|
BGP IPv4 MVPN地址族视图 |
该视图下的配置对指定BGP实例的MVPN路由和对等体生效 BGP IPv4 MVPN地址族的配置请参见“IP组播配置指导”中的“组播VPN” |
|
|
BGP IPv6 MVPN地址族视图 |
该视图下的配置对指定BGP实例的IPv6 MVPN路由和对等体生效 BGP IPv6 MVPN地址族的配置请参见“IP组播配置指导”中的“组播VPN” |
|
|
BGP LS地址族视图 |
该视图下的配置对指定BGP实例的公网LS信息和对等体生效 |
|
|
BGP-VPN LS地址族视图 |
该视图下的配置对指定BGP实例的私网LS信息和对等体生效 |
|
|
BGP IPv4 RT-Filter地址族视图 |
该视图下的配置对指定BGP实例的IPv4 RT-Filter路由和对等体生效 BGP IPv4 RT-Filter地址族视图的配置请参见“MPLS配置指导”中的“MPLS L3VPN” |
|
|
BGP IPv4 SR Policy地址族视图 |
该视图下的配置对指定BGP实例的IPv4 SR Policy路由和对等体生效 BGP IPv4 SR Policy地址族视图的配置请参见“Segment Routing配置指导”中的“SR-MPLS TE Policy” |
|
|
BGP IPv6 SR Policy地址族视图 |
该视图下的配置对指定BGP实例的IPv6 SR Policy路由和对等体生效 BGP IPv6 SR Policy地址族视图的配置请参见“Segment Routing配置指导”中的“SRv6 TE Policy” |
与BGP相关的协议规范有:
· RFC 1700:ASSIGNED NUMBERS
· RFC 1997:BGP Communities Attribute
· RFC 2439:BGP Route Flap Damping
· RFC 2545:Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain Routing
· RFC 2918:Route Refresh Capability for BGP-4
· RFC 3107:Carrying Label Information in BGP-4
· RFC 4271:A Border Gateway Protocol 4 (BGP-4)
· RFC 4275:BGP-4 MIB Implementation Survey
· RFC 4277:Experience with the BGP-4 Protocol
· RFC 4360:BGP Extended Communities Attribute
· RFC 4364:BGP/MPLS IP Virtual Private Networks (VPNs)
· RFC 4382:MPLS/BGP Layer 3 Virtual Private Network (VPN) Management
· RFC 4451:BGP MULTI_EXIT_DISC (MED) Considerations
· RFC 4456:BGP Route Reflection: An Alternative to Full Mesh Internal BGP
· RFC 4486:Subcodes for BGP Cease Notification Message
· RFC 4659:BGP-MPLS IP Virtual Private Network (VPN) Extension for IPv6 VPN
· RFC 4684:Constrained Route Distribution for Border Gateway Protocol/MultiProtocol Label Switching (BGP/MPLS) Internet Protocol (IP) Virtual Private Networks (VPNs)
· RFC 4724:Graceful Restart Mechanism for BGP
· RFC 4760:Multiprotocol Extensions for BGP-4
· RFC 4781:Graceful Restart Mechanism for BGP with MPLS
· RFC 5004:Avoid BGP Best Path Transitions from One External to Another
· RFC 5065:Autonomous System Confederations for BGP
· RFC 5082:The Generalized TTL Security Mechanism (GTSM)
· RFC 5291:Outbound Route Filtering Capability for BGP-4
· RFC 5292:Address-Prefix-Based Outbound Route Filter for BGP-4
· RFC 5492:Capabilities Advertisement with BGP-4
· RFC 5549:Advertising IPv4 Network Layer Reachability Information with an IPv6 Next Hop
· RFC 5668:4-Octet AS Specific BGP Extended Community
· RFC 6037:Cisco Systems' Solution for Multicast in BGP MPLS IP VPNs
· RFC 6198:Requirements for the Graceful Shutdown of BGP Sessions
· RFC 6368:Internal BGP as the Provider/Customer Edge Protocol for BGP/MPLS IP
· RFC 6513:Multicast in MPLS/BGP IP VPNs
· RFC 6514:BGP Encodings and Procedures for Multicast in MPLS/BGP IP VPNs
· RFC 6515:IPv4 and IPv6 Infrastructure Addresses in BGP Updates for Multicast VPN
· RFC 6608:Subcodes for BGP Finite State Machine Error
· RFC 6624:Layer 2 Virtual Private Networks Using BGP for Auto-Discovery and Signaling
· RFC 6793:BGP Support for Four-Octet Autonomous System (AS) Number Space
· RFC 6811:BGP Prefix Origin Validation
· RFC 7311:The Accumulated IGP Metric Attribute for BGP
· RFC 7432:BGP MPLS-Based Ethernet VPN
· RFC 7752:North-Bound Distribution of Link-State and Traffic Engineering (TE) Information Using BGP
· RFC 7854:BGP Monitoring Protocol (BMP)
· RFC 7911:Advertisement of Multiple Paths in BGP
· RFC 7947:Internet Exchange BGP Route Server
· RFC 8277:Using BGP to Bind MPLS Labels to Address Prefixes
IPv4单播/IPv4组播的BGP配置任务如下:
(1) 配置BGP基本功能
a. 启动BGP
b. 手工创建BGP对等体
c. 动态创建BGP对等体
d. 配置IBGP对等体组
在大规模的BGP网络中可通过配置BGP对等体组简化配置。
e. 配置EBGP对等体组
在大规模的BGP网络中可通过配置BGP对等体组简化配置。
f. (可选)配置建立TCP连接使用的源地址
配置BGP发布本地网段路由和配置BGP引入IGP路由协议的路由用于控制BGP路由信息的生成,请至少选择其中一项任务进行配置。
¡ (可选)配置BGP引入公网或VPN实例下的路由
¡ (可选)配置BGP路由聚合
¡ (可选)配置发布IP路由表中的最优路由
IPv4组播不支持配置发布IP路由表中的最优路由。
¡ (可选)配置向对等体/对等体组发送缺省路由
¡ (可选)限制从BGP对等体/对等体组接收的路由数量
¡ (可选)配置BGP IPv4单播路由和BGP IPv4单播标签路由的引入功能
¡ (可选)配置优先发送缺省路由的撤销消息
¡ (可选)配置优先发送指定路由的撤销消息
¡ (可选)配置BGP路由信息的发布策略
¡ (可选)配置BGP新增路由发布速率
仅对IPv4单播路由生效。
¡ (可选)配置BGP路由信息的接收策略
¡ (可选)配置BGP更新消息延迟发布
¡ (可选)配置设备启动时为BGP路由应用启动策略
¡ (可选)配置SoO属性
¡ (可选)配置链路带宽属性
(3) (可选)配置BGP定时器
(4) (可选)配置BGP日志和告警功能
IPv6单播/IPv6组播的BGP配置任务如下:
(1) 配置BGP基本功能
a. 启动BGP
b. 手工创建BGP对等体
c. 动态创建BGP对等体
d. 配置IBGP对等体组
在大规模的BGP网络中可通过配置BGP对等体组简化配置。
e. 配置EBGP对等体组
在大规模的BGP网络中可通过配置BGP对等体组简化配置。
f. (可选)配置建立TCP连接使用的源地址
配置BGP发布本地网段路由和配置BGP引入IGP路由协议的路由用于控制BGPl路由信息的生成,请至少选择其中一项任务进行配置。
¡ (可选)配置BGP路由聚合
¡ (可选)配置发布IP路由表中的最优路由
IPv6组播不支持配置发布IP路由表中的最优路由。
¡ (可选)配置向对等体/对等体组发送缺省路由
¡ (可选)限制从BGP对等体/对等体组接收的路由数量
¡ (可选)配置优先发送缺省路由的撤销消息
¡ (可选)配置优先发送指定路由的撤销消息
¡ (可选)配置BGP路由信息的发布策略
¡ (可选)配置BGP新增路由发布速率
仅对IPv6单播路由生效。
¡ (可选)配置BGP路由信息的接收策略
¡ (可选)配置BGP更新消息延迟发布
¡ (可选)配置设备启动时为BGP路由应用启动策略
¡ (可选)配置SoO属性
¡ (可选)配置链路带宽属性
(3) (可选)配置BGP定时器
(4) (可选)配置BGP日志和告警功能
如果要在BGP实例下运行BGP协议,则必须为BGP实例指定Router ID。Router ID用来在一个自治系统中唯一的标识一台路由器。
· 用户可以在启动BGP实例进入BGP实例视图后指定该实例的Router ID。不同BGP实例的Router ID可以相同。配置时,必须保证自治系统中任意两台路由器的Router ID都不相同。通常的做法是将路由器的Router ID配置为与该路由器某个接口的IP地址一致,为了增加网络的可靠性,建议将Router ID配置为Loopback接口的IP地址。
· 如果没有在BGP实例视图下配置Router ID,则该实例使用全局Router ID。
· BGP实例的Router ID一旦确定为非零值后不会随着系统视图下router id命令配置的改变而改变。只能在BGP实例视图下通过router-id命令改变BGP的Router ID。
· 如果是在BGP实例视图下配置的Router ID,则Router ID所在接口被删除时路由器不会重新选择Router ID,只有在BGP实例视图下使用undo router-id命令删除手工配置的Router ID后,路由器才会重新选择Router ID。
(1) 进入系统视图。
system-view
(2) 配置全局Router ID。
router id router-id
缺省情况下,未配置全局Router ID。
如果未配置全局Router ID,则按照下面的规则进行选择:
¡ 如果存在配置IP地址的Loopback接口,则选择Loopback接口地址中最大的作为Router ID。
¡ 如果所有Loopback接口都未配置IP地址,则从其他接口的IP地址中选择最大的作为Router ID(不考虑接口的up/down状态)。
(3) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
缺省情况下,没有运行BGP,不存在BGP实例。
(4) (可选)为指定的BGP实例配置路由器的Router ID。
router-id router-id
缺省情况下,未配置BGP路由器在BGP实例内的Router ID,此时BGP路由器的Router ID为系统视图下通过router id命令配置的全局Router ID。
(5) (可选)进入BGP-VPN实例视图。
ip vpn-instance vpn-instance-name
进入BGP-VPN实例视图时,指定的VPN实例必须已经创建,且VPN实例内必须配置RD(Route Distinguisher,路由标识符)。
(6) (可选)为指定的VPN实例配置路由器的Router ID。
router-id { router-id | auto-select }
缺省情况下,未配置BGP路由器在VPN实例内的Router ID。
如果在BGP实例视图下执行了router-id命令,则BGP路由器在VPN实例内的Router ID为该命令配置的Router ID;否则,为系统视图下由router id命令配置的全局Router ID。
当通过IPv6链路本地地址创建对等体或向对等体组中添加指定的对等体时,必须使用直连接口建立对等关系,且必须通过peer connect-interface命令将本地直连出接口指定为建立TCP连接使用的源接口。
配置IPv6对等体交互IPv4单播路由或IPv4对等体交互IPv6路由时,必须配置路由策略修改从对等体收到路由的下一跳:将从对等体收到的IPv4路由的下一跳修改为对端出接口的IPv4地址,IPv6路由的下一跳修改为对端出接口的IPv6地址,否则转发时不能迭代出正确的下一跳。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图或BGP-VPN实例视图。
¡ 进入BGP实例视图。
bgp as-number [ instance instance-name ]
¡ 请依次执行以下命令进入BGP-VPN实例视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
(3) 创建IPv4 BGP对等体,并指定对等体的AS号。
peer ipv4-address as-number as-number
(4) (可选)配置对等体的描述信息。
peer ipv4-address description text
缺省情况下,对等体没有描述信息。
(5) 创建BGP IPv4单播地址族或BGP-VPN IPv4单播地址族,并进入相应地址族视图。
address-family ipv4 [ unicast ]
(6) 允许本地路由器与指定对等体交换IPv4单播路由信息。
peer ipv4-address enable
缺省情况下,本地路由器不能与对等体交换IPv4单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建IPv4 BGP对等体,并指定对等体的AS号。
peer ipv4-address as-number as-number
(4) (可选)配置对等体的描述信息。
peer ipv4-address description text
缺省情况下,对等体没有描述信息。
(5) 创建BGP IPv6单播地址族,并进入相应地址族视图。
address-family ipv6 [ unicast ]
(6) 允许本地路由器与指定对等体交换IPv6单播路由信息。
peer ipv4-address enable
缺省情况下,本地路由器不能与对等体交换IPv6单播路由信息。
(7) 为IPv4对等体设置基于路由策略的路由修改下一跳策略。
peer ipv4-address route-policy route-policy-name import
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图或BGP-VPN实例视图。
¡ 进入BGP实例视图。
bgp as-number [ instance instance-name ]
¡ 请依次执行以下命令进入BGP-VPN实例视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
(3) 创建IPv6 BGP对等体,并指定对等体的AS号。
peer ipv6-address as-number as-number
(4) (可选)配置对等体的描述信息。
peer ipv6-address description text
缺省情况下,对等体没有描述信息。
(5) 创建BGP IPv6单播地址族或BGP-VPN IPv6单播地址族,并进入相应地址族视图。
address-family ipv6 [ unicast ]
(6) 允许本地路由器与指定对等体交换IPv6单播路由信息。
peer ipv6-address enable
缺省情况下,本地路由器不能与对等体/对等体组交换IPv6单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建IPv6 BGP对等体,并指定对等体的AS号。
peer ipv6-address as-number as-number
(4) (可选)配置对等体的描述信息。
peer ipv6-address description text
缺省情况下,对等体没有描述信息。
(5) 创建BGP IPv4单播地址族,并进入相应地址族视图。
address-family ipv4 [ unicast ]
(6) 允许本地路由器与指定对等体交换IPv4单播路由信息。
peer ipv6-address enable
缺省情况下,本地路由器不能与对等体交换IPv4单播路由信息。
(7) 为IPv6对等体设置基于路由策略的路由修改下一跳策略。
peer ipv6-address route-policy route-policy-name import
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图或BGP-VPN实例视图。
¡ 进入BGP实例视图。
bgp as-number [ instance instance-name ]
¡ 请依次执行以下命令进入BGP-VPN实例视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
(3) 创建IPv4 BGP对等体,并指定对等体的AS号。
peer ipv4-address as-number as-number
(4) (可选)配置对等体的描述信息。
peer ipv4-address mask-length description text
缺省情况下,动态对等体没有描述信息。
(5) 创建BGP IPv4单播标签地址族或BGP-VPN IPv4单播标签地址族,并进入相应地址族视图。
address-family ipv4 labeled-unicast
(6) 允许本地路由器与指定对等体交换IPv4单播标签路由信息。
peer ipv4-address enable
缺省情况下,本地路由器不能与对等体交换IPv4单播标签路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建IPv4 BGP对等体,并指定对等体的AS号。
peer ipv4-address as-number as-number
(4) (可选)配置对等体的描述信息。
peer ipv4-address description text
缺省情况下,对等体没有描述信息。
(5) 创建BGP IPv4组播地址族,并进入BGP IPv4组播地址族视图。
address-family ipv4 multicast
(6) 允许本地路由器与指定对等体交换用于RPF检查的IPv4单播路由信息。
peer ipv4-address enable
缺省情况下,本地路由器不能与对等体交换用于RPF检查的IPv4单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建IPv4 BGP对等体,并指定对等体的AS号。
peer ipv4-address as-number as-number
(4) (可选)配置对等体的描述信息。
peer ipv4-address description text
缺省情况下,对等体没有描述信息。
(5) 创建BGP IPv6组播地址族,并进入BGP IPv6组播地址族视图。
address-family ipv6 multicast
(6) 允许本地路由器与指定对等体交换用于RPF检查的IPv6单播路由信息。
peer ipv4-address enable
缺省情况下,本地路由器不能与对等体交换用于RPF检查的IPv6单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建IPv6 BGP对等体,并指定对等体的AS号。
peer ipv6-address as-number as-number
(4) (可选)配置对等体的描述信息。
peer ipv6-address description text
缺省情况下,对等体没有描述信息。
(5) 创建BGP IPv4组播地址族,并进入BGP IPv4组播地址族视图。
address-family ipv4 multicast
(6) 允许本地路由器与指定对等体交换用于RPF检查的IPv4单播路由信息。
peer ipv6-address enable
缺省情况下,本地路由器不能与对等体/对等体组交换用于RPF检查的IPv4单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建IPv6 BGP对等体,并指定对等体的AS号。
peer ipv6-address as-number as-number
(4) (可选)配置对等体的描述信息。
peer ipv6-address description text
缺省情况下,对等体没有描述信息。
(5) 创建BGP IPv6组播地址族,并进入BGP IPv6组播地址族视图。
address-family ipv6 multicast
(6) 允许本地路由器与指定对等体交换用于RPF检查的IPv6单播路由信息。
peer ipv6-address enable
缺省情况下,本地路由器不能与对等体/对等体组交换用于RPF检查的IPv6单播路由信息。
设备需要和大量的邻居建立对等体关系时,如果逐个配置对等体关系,则配置工作量大,新增或者删除对等体的维护、升级工作难度较大,且容易出错。
如果设备的邻居位于同一个网段内,则可以通过BGP动态对等体功能简化配置。在设备上简单地配置一个网段地址内的邻居作为动态对等体,就可以接受来自该网段内的所有邻居的连接请求,并与其建立对等体关系。只有当邻居发起连接请求时,本地才会维护与该邻居的对等体关系;否则,不维护对等体关系。BGP动态对等体功能既简化了配置,又大大降低了维护和升级成本。
配置动态对等体时,设备和邻居只能有一端配置网段地址,另一端必须配置实际IP地址。
当通过IPv6链路本地地址创建对等体或向对等体组中添加指定的对等体时,必须使用直连接口建立对等关系,且必须通过peer connect-interface命令将本地直连出接口指定为建立TCP连接使用的源接口。
配置IPv6对等体交互IPv4单播路由或IPv4对等体交互IPv6路由时,必须配置路由策略修改从对等体收到路由的下一跳:将从对等体收到的IPv4路由的下一跳修改为对端出接口的IPv4地址,IPv6路由的下一跳修改为对端出接口的IPv6地址,否则转发时不能迭代出正确的下一跳。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图或BGP-VPN实例视图。
¡ 进入BGP实例视图。
bgp as-number [ instance instance-name ]
¡ 请依次执行以下命令进入BGP-VPN实例视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
(3) 创建IPv4 BGP动态对等体,并指定对等体的AS号。
peer ipv4-address mask-length as-number as-number
(4) (可选)配置对等体的描述信息。
peer ipv4-address mask-length description text
缺省情况下,动态对等体没有描述信息。
(5) 创建BGP IPv4单播地址族或BGP-VPN IPv4单播地址族,并进入相应地址族视图。
address-family ipv4 [ unicast ]
(6) 允许本地路由器与指定动态对等体交换IPv4单播路由信息。
peer ipv4-address mask-length enable
缺省情况下,本地路由器不能与动态对等体交换IPv4单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图
bgp as-number [ instance instance-name ]
(3) 创建IPv4 BGP动态对等体,并指定对等体的AS号。
peer ipv4-address mask-length as-number as-number
(4) (可选)配置对等体的描述信息。
peer ipv4-address mask-length description text
缺省情况下,动态对等体没有描述信息。
(5) 创建BGP IPv6单播地址族,并进入相应地址族视图。
address-family ipv6 [ unicast ]
(6) 允许本地路由器与指定对等体交换IPv6单播路由信息。
peer ipv4-address mask-length enable
缺省情况下,本地路由器不能与动态对等体交换IPv6单播路由信息。
(7) 为BGP IPv4动态对等体设置基于路由策略的路由修改下一跳策略。
peer ipv4-address mask-length route-policy route-policy-name import
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图或BGP-VPN实例视图。
¡ 进入BGP实例视图。
bgp as-number [ instance instance-name ]
¡ 请依次执行以下命令进入BGP-VPN实例视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
(3) 创建IPv6 BGP动态对等体,并指定对等体的AS号。
peer ipv6-address prefix-length as-number as-number
(4) (可选)配置动态对等体的描述信息。
peer ipv6-address prefix-length description text
缺省情况下,动态对等体没有描述信息。
(5) 创建BGP IPv6单播地址族或BGP-VPN IPv6单播地址族,并进入相应地址族视图。
address-family ipv6 [ unicast ]
(6) 允许本地路由器与指定动态对等体交换IPv6单播路由信息。
peer ipv6-address prefix-length enable
缺省情况下,本地路由器不能与动态对等体交换IPv6单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建IPv6 BGP动态对等体,并指定对等体的AS号。
peer ipv6-address prefix-length as-number as-number
(4) (可选)配置动态对等体的描述信息。
peer ipv6-address prefix-length description text
缺省情况下,动态对等体没有描述信息。
(5) 创建BGP IPv4单播地址族,并进入相应地址族视图。
address-family ipv4 [ unicast ]
(6) 允许本地路由器与指定对等体交换IPv4单播路由信息。
peer ipv6-address prefix-length enable
缺省情况下,本地路由器不能与动态对等体交换IPv4单播路由信息。
(7) 为BGP IPv6动态对等体设置基于路由策略的路由修改下一跳策略。
peer ipv6-address prefix-length route-policy route-policy-name import
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图或BGP-VPN实例视图。
¡ 进入BGP实例视图。
bgp as-number [ instance instance-name ]
¡ 请依次执行以下命令进入BGP-VPN实例视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
(3) 创建IPv4 BGP动态对等体,并指定对等体的AS号。
peer ipv4-address mask-length as-number as-number
(4) (可选)配置对等体的描述信息。
peer ipv4-address mask-length description text
缺省情况下,动态对等体没有描述信息。
(5) 创建BGP IPv4单播标签地址族或BGP-VPN IPv4单播标签地址族,并进入相应地址族视图。
address-family ipv4 labeled-unicast
(6) 允许本地路由器与指定动态对等体交换IPv4单播标签路由信息。
peer ipv4-address mask-length enable
缺省情况下,本地路由器不能与动态对等体交换IPv4单播标签路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建IPv4 BGP动态对等体,并指定对等体的AS号。
peer ipv4-address mask-length as-number as-number
(4) (可选)配置动态对等体的描述信息。
peer ipv4-address mask-length description text
缺省情况下,对等体没有描述信息。
(5) 创建BGP IPv4组播地址族,并进入BGP IPv4组播地址族视图。
address-family ipv4 multicast
(6) 允许本地路由器与指定动态对等体交换用于RPF检查的IPv4单播路由信息。
peer ipv4-address mask-length enable
缺省情况下,本地路由器不能与动态对等体交换用于RPF检查的IPv4单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建IPv4 BGP动态对等体,并指定对等体的AS号。
peer ipv4-address mask-length as-number as-number
(4) (可选)配置动态对等体的描述信息。
peer ipv4-address mask-length description text
缺省情况下,对等体没有描述信息。
(5) 创建BGP IPv6组播地址族,并进入BGP IPv6组播地址族视图。
address-family ipv6 multicast
(6) 允许本地路由器与指定动态对等体交换用于RPF检查的IPv6单播路由信息。
peer ipv4-address mask-length enable
缺省情况下,本地路由器不能与动态对等体交换用于RPF检查的IPv6单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建IPv6 BGP动态对等体,并指定动态对等体的AS号。
peer ipv6-address prefix-length as-number as-number
(4) (可选)配置动态对等体的描述信息。
peer ipv6-address prefix-length description text
缺省情况下,对等体没有描述信息。
(5) 创建BGP IPv4组播地址族,并进入BGP IPv4组播地址族视图。
address-family ipv4 multicast
(6) 允许本地路由器与指定动态对等体交换用于RPF检查的IPv4单播路由信息。
peer ipv6-address prefix-length enable
缺省情况下,本地路由器不能与动态对等体/对等体组交换用于RPF检查的IPv4单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建IPv6 BGP动态对等体,并指定动态对等体的AS号。
peer ipv6-address prefix-length as-number as-number
(4) (可选)配置动态对等体的描述信息。
peer ipv6-address prefix-length description text
缺省情况下,对等体没有描述信息。
(5) 创建BGP IPv6组播地址族,并进入BGP IPv6组播地址族视图。
address-family ipv6 multicast
(6) 允许本地路由器与指定动态对等体交换用于RPF检查的IPv6单播路由信息。
peer ipv6-address prefix-length enable
缺省情况下,本地路由器不能与动态对等体/对等体组交换用于RPF检查的IPv6单播路由信息。
IBGP对等体组是指对等体组中的对等体与当前路由器位于同一AS。
创建IBGP对等体组后,系统在将对等体加入IBGP对等体组时,会自动在BGP实例视图下创建该对等体,并设置其AS号为本地AS号。
当通过IPv6链路本地地址创建对等体或向对等体组中添加指定的对等体时,必须使用直连接口建立对等关系,且必须通过peer connect-interface命令将本地直连出接口指定为建立TCP连接使用的源接口。
配置IPv6对等体交互IPv4单播路由或IPv4对等体交互IPv6路由时,必须配置路由策略修改从对等体收到路由的下一跳:将从对等体收到的IPv4路由的下一跳修改为对端出接口的IPv4地址,IPv6路由的下一跳修改为对端出接口的IPv6地址,否则转发时不能迭代出正确的下一跳。
如果分别对对等体组和对等体组中的对等体进行了某项BGP配置,则以最后一次配置为准。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图或BGP-VPN实例视图。
¡ 进入BGP实例视图。
bgp as-number [ instance instance-name ]
¡ 请依次执行以下命令进入BGP-VPN实例视图。
bgp as-number[ instance instance-name ]
ip vpn-instance vpn-instance-name
(3) 创建IBGP对等体组。
group group-name [ internal ]
(4) 向对等体组中添加指定的IPv4 BGP对等体。
peer ipv4-address [ mask-length ] group group-name [ as-number as-number ]
as-number as-number参数可选可不选,如果选择则必须和本地的AS号一致。
(5) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(6) 创建BGP IPv4单播地址族或BGP-VPN IPv4单播地址族,并进入相应地址族视图。
address-family ipv4 [ unicast ]
(7) 允许本地路由器与指定对等体组中的对等体交换IPv4单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换IPv4单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建IBGP对等体组。
group group-name [ internal ]
(4) 向对等体组中添加指定的IPv4 BGP对等体。
peer ipv4-address [ mask-length ] group group-name [ as-number as-number ]
as-number as-number参数可选可不选,如果选择则必须和本地的AS号一致。
(5) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(6) 创建BGP IPv6单播地址族,并进入相应地址族视图。
address-family ipv6 [ unicast ]
允许本地路由器与指定对等体组中的对等体交换IPv6单播路由信息。
(7) peer group-name enable
缺省情况下,本地路由器不能与对等体交换IPv6单播路由信息。
(8) 为BGP IPv4对等体组设置基于路由策略的路由修改下一跳策略。
peer group-name route-policy route-policy-name import
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图或BGP-VPN实例视图。
¡ 进入BGP实例视图。
bgp as-number [ instance instance-name ]
¡ 请依次执行以下命令进入BGP-VPN实例视图。
bgp as-number[ instance instance-name ]
ip vpn-instance vpn-instance-name
(3) 创建IBGP对等体组。
group group-name [ internal ]
(4) 向对等体组中添加指定的IPv4 BGP对等体。
peer ipv4-address [ mask-length ] group group-name [ as-number as-number ]
as-number as-number参数可选可不选,如果选择则必须和本地的AS号一致。
(5) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(6) 创建BGP IPv4单播标签地址族或BGP-VPN IPv4单播标签地址族,并进入相应地址族视图。
address-family ipv4 labeled-unicast
(7) 允许本地路由器与指定对等体组中的对等体交换IPv4单播标签路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换IPv4单播标签路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建IBGP对等体组。
group group-name [ internal ]
(4) 向对等体组中添加指定的IPv4 BGP对等体。
peer ipv4-address [ mask-length ] group group-name [ as-number as-number ]
as-number as-number参数可选可不选,如果选择则必须和本地的AS号一致。
(5) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(6) 创建BGP IPv4组播地址族,并进入BGP IPv4组播地址族视图。
address-family ipv4 multicast
(7) 允许本地路由器与指定对等体组中的对等体交换用于RPF检查的IPv4单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换用于RPF检查的IPv4单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建IBGP对等体组。
group group-name [ internal ]
(4) 向对等体组中添加指定的IPv4 BGP对等体。
peer ipv4-address [ mask-length ] group group-name [ as-number as-number ]
as-number as-number参数可选可不选,如果选择则必须和本地的AS号一致。
(5) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(6) 创建BGP IPv6组播地址族,并进入BGP IPv6组播地址族视图。
address-family ipv6 multicast
(7) 允许本地路由器与指定对等体组中的对等体交换用于RPF检查的IPv6单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换用于RPF检查的IPv6单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图或BGP-VPN实例视图。
¡ 进入BGP实例视图。
bgp as-number [ instance instance-name ]
¡ 请依次执行以下命令进入BGP-VPN实例视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
(3) 创建IBGP对等体组。
group group-name [ internal ]
(4) 向对等体组中添加指定的IPv6 BGP对等体。
peer ipv6-address [ prefix-length ] group group-name [ as-number as-number ]
as-number as-number参数可选可不选,如果选择则必须和本地的AS号一致。
(5) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(6) 创建BGP IPv6单播地址族或BGP-VPN IPv6单播地址族,并进入相应地址族视图。
address-family ipv6 [ unicast ]
(7) 允许本地路由器与指定对等体组中的对等体交换IPv6单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换IPv6单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建IBGP对等体组。
group group-name [ internal ]
(4) 向对等体组中添加指定的IPv6 BGP对等体。
peer ipv6-address [ prefix-length ] group group-name [ as-number as-number ]
as-number as-number参数可选可不选,如果选择则必须和本地的AS号一致。
(5) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(6) 创建BGP IPv4单播地址族,并进入相应地址族视图。
address-family ipv4 [ unicast ]
(7) 允许本地路由器与指定对等体组中的对等体交换IPv4单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换IPv4单播路由信息。
(8) 为BGP IPv6对等体组设置基于路由策略的路由修改下一跳策略。
peer group-name route-policy route-policy-name import
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建IBGP对等体组。
group group-name [ internal ]
(4) 向对等体组中添加指定的IPv6 BGP对等体。
peer ipv6-address [ prefix-length ] group group-name [ as-number as-number ]
as-number as-number参数可选可不选,如果选择则必须和本地的AS号一致。
(5) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(6) 创建BGP IPv4组播地址族,并进入BGP IPv4组播地址族视图。
address-family ipv4 multicast
(7) 允许本地路由器与指定对等体组中的对等体交换用于RPF检查的IPv4单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换用于RPF检查的IPv4单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建IBGP对等体组。
group group-name [ internal ]
(4) 向对等体组中添加指定的IPv6 BGP对等体。
peer ipv6-address [ prefix-length ] group group-name [ as-number as-number ]
as-number as-number参数可选可不选,如果选择则必须和本地的AS号一致。
(5) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(6) 创建BGP IPv6组播地址族,并进入BGP IPv6组播地址族视图。
address-family ipv6 multicast
(7) 允许本地路由器与指定对等体组中的对等体交换用于RPF检查的IPv6单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换用于RPF检查的IPv6单播路由信息。
EBGP对等体组是指对等体组中的对等体与当前路由器位于不同AS。
根据对等体组中的对等体是否属于同一个外部AS,EBGP对等体组又可以分为纯EBGP对等体组和混合EBGP对等体组。如果对等体组中的对等体属于同一个外部AS,该对等体组就是纯EBGP对等体组;如果对等体组中的对等体属于不同外部AS,该对等体组就是混合EBGP对等体组。
用户有三种方式配置EBGP对等体组:
· 第一种方式是创建对等体组后,先指定对等体组的AS号,再将对等体加入到对等体组中,该方式下加入的对等体具有相同的AS号,均为对等体组的AS号。对等体加入对等体组之前可以配置AS号,且为对等体配置的AS号必须与对等体组的AS号相同。
· 第二种方式是创建对等体组后,先配置对等体的AS号,再将对等体加入对等体组中。该方式下,对等体组中对等体的AS号可以相同也可以不同。
· 第三种方式是创建对等体组后,将对等体加入对等体组的同时指定AS号。该方式下,对等体组中对等体的AS号可以相同也可以不同。
配置IPv6对等体交互IPv4单播路由或IPv4对等体交互IPv6路由时,必须配置路由策略修改从对等体收到路由的下一跳:将从对等体收到的IPv4路由的下一跳修改为对端出接口的IPv4地址,IPv6路由的下一跳修改为对端出接口的IPv6地址,否则转发时不能迭代出正确的下一跳。
如果分别对对等体组和对等体组中的对等体进行了某项BGP配置,则以最后一次配置为准。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图或BGP-VPN实例视图。
¡ 进入BGP实例视图。
bgp as-number [ instance instance-name ]
¡ 请依次执行以下命令进入BGP-VPN实例视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
(3) 创建EBGP对等体组。
group group-name external
(4) 指定对等体组的AS号。
peer group-name as-number as-number
缺省情况下,未指定对等体组的AS号。
如果对等体组中已经存在对等体,则不能改变该对等体组的AS号,也不能使用undo命令删除已指定的AS号。
(5) 向对等体组中添加指定的IPv4 BGP对等体。
peer ipv4-address [ mask-length ] group group-name [ as-number as-number ]
as-number as-number参数可选可不选,如果选择则必须和peer group-name as-number as-number命令中配置的一致。
(6) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(7) 创建BGP IPv4单播地址族或BGP-VPN IPv4单播地址族,并进入相应地址族视图。
address-family ipv4 [ unicast ]
(8) 允许本地路由器与指定对等体组中的对等体交换IPv4单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换IPv4单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图或BGP-VPN实例视图。
¡ 进入BGP实例视图。
bgp as-number [ instance instance-name ]
¡ 请依次执行以下命令进入BGP-VPN实例视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
(3) 创建EBGP对等体组。
group group-name external
(4) 创建IPv4 BGP对等体,并指定对等体的AS号。
peer ipv4-address [ mask-length ] as-number as-number
(5) 向对等体组中添加指定的IPv4 BGP对等体。
peer ipv4-address [ mask-length ] group group-name [ as-number as-number ]
as-number as-number参数可选可不选,如果选择则必须和peer ipv4-address [ mask-length ] as-number as-number命令中配置的一致。
(6) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(7) 创建BGP IPv4单播地址族或BGP-VPN IPv4单播地址族,并进入相应地址族视图。
address-family ipv4 [ unicast ]
(8) 允许本地路由器与指定对等体组中的对等体交换IPv4单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换IPv4单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图或BGP-VPN实例视图。
¡ 进入BGP实例视图。
bgp as-number [ instance instance-name ]
¡ 请依次执行以下命令进入BGP-VPN实例视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
(3) 创建EBGP对等体组。
group group-name external
(4) 向对等体组中添加指定的对等体。
peer ipv4-address [ mask-length ] group group-name as-number as-number
(5) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(6) 创建BGP IPv4单播地址族或BGP-VPN IPv4单播地址族,并进入相应地址族视图。
address-family ipv4 [ unicast ]
(7) 允许本地路由器与指定对等体组中的对等体交换IPv4单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换IPv4单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图或BGP-VPN实例视图。
¡ 进入BGP实例视图。
bgp as-number [ instance instance-name ]
¡ 请依次执行以下命令进入BGP-VPN实例视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
(3) 创建EBGP对等体组。
group group-name external
(4) 指定对等体组的AS号。
peer group-name as-number as-number
缺省情况下,未指定对等体组的AS号。
如果对等体组中已经存在对等体,则不能改变该对等体组的AS号,也不能使用undo命令删除已指定的AS号。
(5) 向对等体组中添加指定的IPv4 BGP对等体。
peer ipv4-address [ mask-length ] group group-name [ as-number as-number ]
as-number as-number参数可选可不选,如果选择则必须和peer group-name as-number as-number命令中配置的一致。
(6) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(7) 创建BGP IPv4单播标签地址族或BGP-VPN IPv4单播标签地址族,并进入相应地址族视图。
address-family ipv4 labeled-unicast
(8) 允许本地路由器与指定对等体组中的对等体交换IPv4单播标签路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换IPv4单播标签路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图或BGP-VPN实例视图。
¡ 进入BGP实例视图。
bgp as-number [ instance instance-name ]
¡ 请依次执行以下命令进入BGP-VPN实例视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
(3) 创建EBGP对等体组。
group group-name external
(4) 创建IPv4 BGP对等体,并指定对等体的AS号。
peer ipv4-address [ mask-length ] as-number as-number
(5) 向对等体组中添加指定的IPv4 BGP对等体。
peer ipv4-address [ mask-length ] group group-name [ as-number as-number ]
as-number as-number参数可选可不选,如果选择则必须和peer ipv4-address [ mask-length ] as-number as-number命令中配置的一致。
(6) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(7) 创建BGP IPv4单播标签地址族或BGP-VPN IPv4单播标签地址族,并进入相应地址族视图。
address-family ipv4 labeled-unicast
(8) 允许本地路由器与指定对等体组中的对等体交换IPv4单播标签路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换IPv4单播标签路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图或BGP-VPN实例视图。
¡ 进入BGP实例视图。
bgp as-number [ instance instance-name ]
¡ 请依次执行以下命令进入BGP-VPN实例视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
(3) 创建EBGP对等体组。
group group-name external
(4) 向对等体组中添加指定的对等体。
peer ipv4-address [ mask-length ] group group-name as-number as-number
(5) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(6) 创建BGP IPv4单播标签地址族或BGP-VPN IPv4单播标签地址族,并进入相应地址族视图。
address-family ipv4 labeled-unicast
(7) 允许本地路由器与指定对等体组中的对等体交换IPv4单播标签路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换IPv4单播标签路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建EBGP对等体组。
group group-name external
(4) 指定对等体组的AS号。
peer group-name as-number as-number
缺省情况下,未指定对等体组的AS号。
如果对等体组中已经存在对等体,则不能改变该对等体组的AS号,也不能使用undo命令删除已指定的AS号。
(5) 向对等体组中添加指定的IPv4 BGP对等体。
peer ipv4-address [ mask-length ] group group-name [ as-number as-number ]
as-number as-number参数可选可不选,如果选择则必须和peer group-name as-number as-number命令中配置的一致。
(6) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(7) 创建BGP IPv6单播地址族,并进入相应地址族视图。
address-family ipv6 [ unicast ]
(8) 允许本地路由器与指定对等体组中的对等体交换IPv6单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换IPv6单播路由信息。
(9) 为BGP IPv4对等体组设置基于路由策略的路由修改下一跳策略。
peer group-name route-policy route-policy-name import
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建EBGP对等体组。
group group-name external
(4) 创建IPv4 BGP对等体,并指定对等体的AS号。
peer ipv4-address [ mask-length ] as-number as-number
(5) 向对等体组中添加指定的IPv4 BGP对等体。
peer ipv4-address [ mask-length ] group group-name [ as-number as-number ]
as-number as-number参数可选可不选,如果选择则必须和peer ipv4-address [ mask-length ] as-number as-number命令中配置的一致。
(6) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(7) 创建BGP IPv6单播地址族,并进入相应地址族视图。
address-family ipv6 [ unicast ]
(8) 允许本地路由器与指定对等体组中的对等体交换IPv6单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换IPv6单播路由信息。
(9) 为BGP IPv4对等体组设置基于路由策略的路由修改下一跳策略。
peer group-name route-policy route-policy-name import
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建EBGP对等体组。
group group-name external
(4) 向对等体组中添加指定的对等体。
peer ipv4-address [ mask-length ] group group-name as-number as-number
(5) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(6) 创建BGP IPv6单播地址族,并进入相应地址族视图。
address-family ipv6 [ unicast ]
(7) 允许本地路由器与指定对等体组中的对等体交换IPv6单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换IPv6单播路由信息。
(8) 为BGP IPv4对等体组设置基于路由策略的路由修改下一跳策略。
peer group-name route-policy route-policy-name import
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建EBGP对等体组。
group group-name external
(4) 指定对等体组的AS号。
peer group-name as-number as-number
缺省情况下,未指定对等体组的AS号。
如果对等体组中已经存在对等体,则不能改变该对等体组的AS号,也不能使用undo命令删除已指定的AS号。
(5) 向对等体组中添加指定的IPv4 BGP对等体。
peer ipv4-address [ mask-length ] group group-name [ as-number as-number ]
as-number as-number参数可选可不选,如果选择则必须和peer group-name as-number as-number命令中配置的一致。
(6) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(7) 创建BGP IPv4组播地址族,并进入BGP IPv4组播地址族视图。
address-family ipv4 multicast
(8) 允许本地路由器与指定对等体组中的对等体交换用于RPF检查的IPv4单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换用于RPF检查的IPv4单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建EBGP对等体组。
group group-name external
(4) 创建IPv4 BGP对等体,并指定对等体的AS号。
peer ipv4-address [ mask-length ] as-number as-number
(5) 向对等体组中添加指定的IPv4 BGP对等体。
peer ipv4-address [ mask-length ] group group-name [ as-number as-number ]
as-number as-number参数可选可不选,如果选择则必须和peer ipv4-address [ mask-length ] as-number as-number命令中配置的一致。
(6) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(7) 创建BGP IPv4组播地址族,并进入BGP IPv4组播地址族视图。
address-family ipv4 multicast
(8) 允许本地路由器与指定对等体组中的对等体交换用于RPF检查的IPv4单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换用于RPF检查的IPv4单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建EBGP对等体组。
group group-name external
(4) 向对等体组中添加指定的对等体。
peer ipv4-address [ mask-length ] group group-name as-number as-number
(5) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(6) 创建BGP IPv4组播地址族,并进入BGP IPv4组播地址族视图。
address-family ipv4 multicast
(7) 允许本地路由器与指定对等体组中的对等体交换用于RPF检查的IPv4单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换用于RPF检查的IPv4单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建EBGP对等体组。
group group-name external
(4) 指定对等体组的AS号。
peer group-name as-number as-number
缺省情况下,未指定对等体组的AS号。
如果对等体组中已经存在对等体,则不能改变该对等体组的AS号,也不能使用undo命令删除已指定的AS号。
(5) 向对等体组中添加指定的IPv4 BGP对等体。
peer ipv4-address [ mask-length ] group group-name [ as-number as-number ]
as-number as-number参数可选可不选,如果选择则必须和peer group-name as-number as-number命令中配置的一致。
(6) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(7) 创建BGP IPv6组播地址族,并进入BGP IPv6组播地址族视图。
address-family ipv6 multicast
(8) 允许本地路由器与指定对等体组中的对等体交换用于RPF检查的IPv6单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换用于RPF检查的IPv6单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建EBGP对等体组。
group group-name external
(4) 创建IPv4 BGP对等体,并指定对等体的AS号。
peer ipv4-address [ mask-length ] as-number as-number
(5) 向对等体组中添加指定的IPv4 BGP对等体。
peer ipv4-address [ mask-length ] group group-name [ as-number as-number ]
as-number as-number参数可选可不选,如果选择则必须和peer ipv4-address [ mask-length ] as-number as-number命令中配置的一致。
(6) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(7) 创建BGP IPv6组播地址族,并进入BGP IPv6组播地址族视图。
address-family ipv6 multicast
(8) 允许本地路由器与指定对等体组中的对等体交换用于RPF检查的IPv6单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换用于RPF检查的IPv6单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建EBGP对等体组。
group group-name external
(4) 向对等体组中添加指定的对等体。
peer ipv4-address [ mask-length ] group group-name as-number as-number
(5) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(6) 创建BGP IPv6组播地址族,并进入BGP IPv6组播地址族视图。
address-family ipv6 multicast
(7) 允许本地路由器与指定对等体组中的对等体交换用于RPF检查的IPv6单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换用于RPF检查的IPv6单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图或BGP-VPN实例视图。
¡ 进入BGP实例视图。
bgp as-number [ instance instance-name ]
¡ 请依次执行以下命令进入BGP-VPN实例视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
(3) 创建EBGP对等体组。
group group-name external
(4) 指定对等体组的AS号。
peer group-name as-number as-number
缺省情况下,未指定对等体组的AS号。
如果对等体组中已经存在对等体,则不能改变该对等体组的AS号,也不能使用undo命令删除已指定的AS号。
(5) 向对等体组中添加指定的IPv6 BGP对等体。
peer ipv6-address [ prefix-length ] group group-name [ as-number as-number ]
as-number as-number参数可选可不选,如果选择则必须和peer group-name as-number as-number命令中配置的一致。
(6) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(7) 创建BGP IPv6单播地址族或BGP-VPN IPv6单播地址族,并进入相应地址族视图。
address-family ipv6 [ unicast ]
(8) 允许本地路由器与指定对等体组中的对等体交换IPv6单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换IPv6单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图或BGP-VPN实例视图。
¡ 进入BGP实例视图。
bgp as-number [ instance instance-name ]
¡ 请依次执行以下命令进入BGP-VPN实例视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
(3) 创建EBGP对等体组。
group group-name external
(4) 创建IPv6 BGP对等体,并指定对等体的AS号。
peer ipv6-address [ prefix-length ] as-number as-number
(5) 向对等体组中添加指定的IPv6 BGP对等体。
peer ipv6-address [ prefix-length ] group group-name [ as-number as-number ]
as-number as-number参数可选可不选,如果选择则必须和peer ipv6-address [ prefix-length ] as-number as-number命令中配置的一致。
(6) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(7) 创建BGP IPv6单播地址族或BGP-VPN IPv6单播地址族,并进入相应地址族视图。
address-family ipv6 [ unicast ]
(8) 允许本地路由器与指定对等体组中的对等体交换IPv6单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换IPv6单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图或BGP-VPN实例视图。
¡ 进入BGP实例视图。
bgp as-number [ instance instance-name ]
¡ 请依次执行以下命令进入BGP-VPN实例视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
(3) 创建EBGP对等体组。
group group-name external
(4) 向对等体组中添加指定的IPv6 BGP对等体。
peer ipv6-address [ prefix-length ] group group-name as-number as-number
(5) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(6) 创建BGP IPv6单播地址族或BGP-VPN IPv6单播地址族,并进入相应地址族视图。
address-family ipv6 [ unicast ]
(7) 允许本地路由器与指定对等体组中的对等体交换IPv6单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换IPv6单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建EBGP对等体组。
group group-name external
(4) 指定对等体组的AS号。
peer group-name as-number as-number
缺省情况下,未指定对等体组的AS号。
如果对等体组中已经存在对等体,则不能改变该对等体组的AS号,也不能使用undo命令删除已指定的AS号。
(5) 向对等体组中添加指定的IPv6 BGP对等体。
peer ipv6-address [ prefix-length ] group group-name [ as-number as-number ]
as-number as-number参数可选可不选,如果选择则必须和peer group-name as-number as-number命令中配置的一致。
(6) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(7) 创建BGP IPv4单播地址族,并进入相应地址族视图。
address-family ipv4 [ unicast ]
(8) 允许本地路由器与指定对等体组中的对等体交换IPv4单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换IPv4单播路由信息。
(9) 为BGP IPv6对等体组设置基于路由策略的路由修改下一跳策略。
peer group-name route-policy route-policy-name import
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建EBGP对等体组。
group group-name external
(4) 创建IPv6 BGP对等体,并指定对等体的AS号。
peer ipv6-address [ prefix-length ] as-number as-number
(5) 向对等体组中添加指定的IPv6 BGP对等体。
peer ipv6-address [ prefix-length ] group group-name [ as-number as-number ]
as-number as-number参数可选可不选,如果选择则必须和peer ipv6-address [ prefix-length ] as-number as-number命令中配置的一致。
(6) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(7) 创建BGP IPv4单播地址族,并进入相应地址族视图。
address-family ipv4 [ unicast ]
(8) 允许本地路由器与指定对等体组中的对等体交换IPv4单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换IPv4单播路由信息。
(9) 为BGP IPv6对等体组设置基于路由策略的路由修改下一跳策略。
peer group-name route-policy route-policy-name import
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建EBGP对等体组。
group group-name external
(4) 向对等体组中添加指定的IPv6 BGP对等体。
peer ipv6-address [ prefix-length ] group group-name as-number as-number
(5) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(6) 创建BGP IPv4单播地址族,并进入相应地址族视图。
address-family ipv4 [ unicast ]
(7) 允许本地路由器与指定对等体组中的对等体交换IPv4单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换IPv4单播路由信息。
(8) 为BGP IPv6对等体组设置基于路由策略的路由修改下一跳策略。
peer group-name route-policy route-policy-name import
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建EBGP对等体组。
group group-name external
(4) 指定对等体组的AS号。
peer group-name as-number as-number
缺省情况下,未指定对等体组的AS号。
如果对等体组中已经存在对等体,则不能改变该对等体组的AS号,也不能使用undo命令删除已指定的AS号。
(5) 向对等体组中添加指定的IPv6 BGP对等体。
peer ipv6-address [ prefix-length ] group group-name [ as-number as-number ]
as-number as-number参数可选可不选,如果选择则必须和peer group-name as-number as-number命令中配置的一致。
(6) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(7) 创建BGP IPv4组播地址族,并进入BGP IPv4组播地址族视图。
address-family ipv4 multicast
(8) 允许本地路由器与指定对等体组中的对等体交换用于RPF检查的IPv4单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换用于RPF检查的IPv4单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建EBGP对等体组。
group group-name external
(4) 创建IPv6 BGP对等体,并指定对等体的AS号。
peer ipv6-address [ prefix-length ] as-number as-number
(5) 向对等体组中添加指定的IPv6 BGP对等体。
peer ipv6-address [ prefix-length ] group group-name [ as-number as-number ]
as-number as-number参数可选可不选,如果选择则必须和peer ipv6-address [ prefix-length ] as-number as-number命令中配置的一致。
(6) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(7) 创建BGP IPv4组播地址族,并进入BGP IPv4组播地址族视图。
address-family ipv4 multicast
(8) 允许本地路由器与指定对等体组中的对等体交换用于RPF检查的IPv4单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换用于RPF检查的IPv4单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建EBGP对等体组。
group group-name external
(4) 向对等体组中添加指定的IPv6 BGP对等体。
peer ipv6-address [ prefix-length ] group group-name as-number as-number
(5) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(6) 创建BGP IPv4组播地址族,并进入BGP IPv4组播地址族视图。
address-family ipv4 multicast
(7) 允许本地路由器与指定对等体组中的对等体交换用于RPF检查的IPv4单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换用于RPF检查的IPv4单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建EBGP对等体组。
group group-name external
(4) 指定对等体组的AS号。
peer group-name as-number as-number
缺省情况下,未指定对等体组的AS号。
如果对等体组中已经存在对等体,则不能改变该对等体组的AS号,也不能使用undo命令删除已指定的AS号。
(5) 向对等体组中添加指定的IPv6 BGP对等体。
peer ipv6-address [ prefix-length ] group group-name [ as-number as-number ]
as-number as-number参数可选可不选,如果选择则必须和peer group-name as-number as-number命令中配置的一致。
(6) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(7) 创建BGP IPv6组播地址族,并进入BGP IPv6组播地址族视图。
address-family ipv6 multicast
(8) 允许本地路由器与指定对等体组中的对等体交换用于RPF检查的IPv6单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换用于RPF检查的IPv6单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建EBGP对等体组。
group group-name external
(4) 创建IPv6 BGP对等体,并指定对等体的AS号。
peer ipv6-address [ prefix-length ] as-number as-number
(5) 向对等体组中添加指定的IPv6 BGP对等体。
peer ipv6-address [ prefix-length ] group group-name [ as-number as-number ]
as-number as-number参数可选可不选,如果选择则必须和peer ipv6-address [ prefix-length ] as-number as-number命令中配置的一致。
(6) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(7) 创建BGP IPv6组播地址族,并进入BGP IPv6组播地址族视图。
address-family ipv6 multicast
(8) 允许本地路由器与指定对等体组中的对等体交换用于RPF检查的IPv6单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换用于RPF检查的IPv6单播路由信息。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建EBGP对等体组。
group group-name external
(4) 向对等体组中添加指定的IPv6 BGP对等体。
peer ipv6-address [ prefix-length ] group group-name as-number as-number
(5) (可选)配置对等体组的描述信息。
peer group-name description text
缺省情况下,对等体组没有描述信息。
(6) 创建BGP IPv6组播地址族,并进入BGP IPv6组播地址族视图。
address-family ipv6 multicast
(7) 允许本地路由器与指定对等体组中的对等体交换用于RPF检查的IPv6单播路由信息。
peer group-name enable
缺省情况下,本地路由器不能与对等体交换用于RPF检查的IPv6单播路由信息。
BGP使用TCP作为其传输层协议。在如下场合需要通过本配置指定建立TCP连接使用的源地址或源接口(即采用指定源接口的IP地址/IPv6地址与对等体/对等体组建立TCP连接):
· 当指定对等体的IP地址/IPv6地址不是本地路由器与对等体之间直连接口的IP地址/IPv6地址时,需要在对等体上通过本配置指定建立TCP连接的源接口为对等体IP地址/IPv6地址所在的接口或者指定TCP连接的源地址为对等体IP地址/IPv6地址。
· 当通过IPv6链路本地地址创建对等体或向对等体组中添加指定的对等体时,必须使用直连接口建立对等关系,且必须通过peer connect-interface命令将本地直连出接口指定为建立TCP连接使用的源接口。
· 当建立BGP会话的路由器之间存在冗余链路时,如果路由器上的一个接口发生故障,链路状态变为down,建立TCP连接的源地址可能会随之发生变化,导致BGP需要重新建立TCP连接,造成网络震荡。为了避免该情况的发生,建议网络管理员将建立TCP连接所使用的源地址配置为Loopback接口的地址,或将源接口配置为Loopback接口,以提高TCP连接的可靠性和稳定性。
· 当BGP对等体之间同时建立多条BGP会话时,如果没有明确指定建立TCP连接的源地址,可能会导致根据最优路由选择TCP连接源地址错误,并影响BGP会话的建立。如果多条BGP会话基于不同接口的IP地址建立,则建议用户在配置BGP对等体时,通过配置源接口或源地址明确指定每个BGP会话的TCP连接源地址;如果多条BGP会话基于同一接口的不同IP地址建立,则建议用户通过配置源地址,明确指定每个BGP会话的TCP连接源地址。
· 当BGP会话的TCP连接源地址被其他接口借用时,需要使用peer connect-interface命令指定建立TCP连接使用的源接口为被借用地址的接口,BGP会话才能正确响应相关接口的状态变化。
对于IBGP邻居,如果通过peer connect-interface命令指定的接口为物理接口,则当该接口发生故障、链路状态变为down时,IBGP邻居关系会立即断开,从而加快路由收敛。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图或BGP-VPN实例视图。
¡ 进入BGP实例视图。
bgp as-number [ instance instance-name ]
¡ 请依次执行以下命令进入BGP-VPN实例视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
(3) 指定与IPv4对等体/对等体组创建BGP会话时建立TCP连接使用的源地址或源接口。
¡ 指定与IPv4对等体/对等体组创建BGP会话时建立TCP连接使用的源地址。
peer { group-name | ipv4-address [ mask-length ] } source-address source-ipv4-address
¡ 指定与IPv4对等体/对等体组创建BGP会话时建立TCP连接使用的源接口。
peer { group-name | ipv4-address [ mask-length ] } connect-interface interface-type interface-number
缺省情况下,BGP使用到达BGP对等体的最佳路由出接口的主IPv4地址与对等体/对等体组建立TCP连接。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图或BGP-VPN实例视图。
¡ 进入BGP实例视图。
bgp as-number [ instance instance-name ]
¡ 请依次执行以下命令进入BGP-VPN实例视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
(3) 指定与IPv6对等体/对等体组创建BGP会话时建立TCP连接使用的源地址或源接口。
¡ 指定与IPv6对等体/对等体组创建BGP会话时建立TCP连接使用的源地址。
peer { group-name | ipv6-address [ prefix-length ] } source-address source-ipv6-address
¡ 指定与IPv6对等体/对等体组创建BGP会话时建立TCP连接使用的源接口。
peer { group-name | ipv6-address [ prefix-length ] } connect-interface interface-type interface-number
缺省情况下,BGP使用到达BGP对等体的最佳路由出接口的IPv6地址与对等体/对等体组建立TCP连接。
通过本配置可以将本地路由表中指定网段的路由添加到BGP路由表中,以便通过BGP发布该网段路由。通过该种方式发布的路由的ORIGIN属性为IGP。网络管理员还可以通过使用路由策略更为灵活地控制所发布的路由。
本配置中指定的网段路由必须存在于本地的IP路由表中,且处于Active状态,否则无法将该网段路由添加到BGP路由表中。
(1) 进入系统视图。
system-view
(2) 进入BGP IPv4单播地址族视图、BGP-VPN IPv4单播地址族视图、BGP IPv4组播地址族视图、BGP IPv4单播标签地址族视图或BGP-VPN IPv4单播标签地址族视图。
¡ 请依次执行以下命令进入BGP IPv4单播地址族视图。
bgp as-number [ instance instance-name ]
address-family ipv4 [ unicast ]
¡ 请依次执行以下命令进入BGP-VPN IPv4单播地址族视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
address-family ipv4 [ unicast ]
¡ 请依次执行以下命令进入BGP IPv4组播地址族视图。
bgp as-number [ instance instance-name ]
address-family ipv4 multicast
¡ 请依次执行以下命令进入BGP IPv4单播标签地址族视图。
bgp as-number [ instance instance-name ]
address-family ipv4 labeled-unicast
¡ 请依次执行以下命令进入BGP-VPN IPv4单播标签地址族视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
address-family ipv4 labeled-unicast
(3) 配置BGP发布的本地网段路由。
network ipv4-address [ mask-length | mask ] [ route-policy route-policy-name ]
缺省情况下,BGP不发布本地的网段路由。
(1) 进入系统视图。
system-view
(2) 进入BGP IPv6单播地址族视图、BGP-VPN IPv6单播地址族视图或BGP IPv6组播地址族视图。
¡ 请依次执行以下命令进入BGP IPv6单播地址族视图。
bgp as-number [ instance instance-name ]
address-family ipv6 [ unicast ]
¡ 请依次执行以下命令进入BGP-VPN IPv6单播地址族视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
address-family ipv6 [ unicast ]
¡ 请依次执行以下命令进入BGP IPv6组播地址族视图。
bgp as-number [ instance instance-name ]
address-family ipv6 multicast
(3) 配置BGP发布的本地网段路由。
network ipv6-address prefix-length [ route-policy route-policy-name ]
缺省情况下,BGP不发布本地的网段路由。
BGP可以向邻居AS发送本地AS内部网络的路由信息,但BGP不是自己去发现AS内部的路由信息,而是将IGP路由协议的路由信息引入到BGP路由表中,并发布给对等体。在引入IGP路由协议的路由时,可以针对不同的路由协议来对路由信息进行过滤。
缺省情况下,BGP引入IGP路由协议的路由时,不会引入该协议的缺省路由。用户可以通过配置,指定BGP引入IGP路由协议的路由时,允许将缺省路由引入到BGP路由表中。
通过引入方式发布的路由的ORIGIN属性为Incomplete。
只能引入路由表中状态为active的路由,是否为active状态可以通过display ip routing-table protocol命令或display ipv6 routing-table protocol命令来查看。这两条命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“IP路由基础”。
针对同一协议进程重复执行import-route命令引入路由时,最后一次执行的命令生效。若要引入同一协议进程时不覆盖已存在配置,则可以通过import-route-append命令附加引入IGP路由。针对同一协议进程同时配置import-route与import-route-append命令时:
· 通过任意一条命令中路由策略过滤的路由将被引入到BGP路由表中,若引入的路由同时通过了两条命令中路由策略的过滤,则在被引入到BGP路由表中时,两条命令指定的路由策略包含的Apply子句在不冲突的情况下同时生效,否则仅import-route-append命令指定的路由策略中的Apply子句生效。
· 如果均指定了引入路由的MED度量值,以import-route-append命令的配置为准。
(1) 进入系统视图。
system-view
(2) 进入BGP IPv4单播地址族视图、BGP-VPN IPv4单播地址族视图、BGP IPv4组播地址族视图、BGP IPv4单播标签地址族视图或BGP-VPN IPv4单播标签地址族视图。
¡ 请依次执行以下命令进入BGP IPv4单播地址族视图。
bgp as-number [ instance instance-name ]
address-family ipv4 [ unicast ]
¡ 请依次执行以下命令进入BGP-VPN IPv4单播地址族视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
address-family ipv4 [ unicast ]
¡ 请依次执行以下命令进入BGP IPv4组播地址族视图。
bgp as-number [ instance instance-name ]
address-family ipv4 multicast
¡ 请依次执行以下命令进入BGP IPv4单播标签地址族视图。
bgp as-number [ instance instance-name ]
address-family ipv4 labeled-unicast
¡ 请依次执行以下命令进入BGP-VPN IPv4单播标签地址族视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
address-family ipv4 labeled-unicast
(3) 将IGP路由协议的路由信息引入到BGP路由表中。
¡ 引入IS-IS、OSPF、RIP协议的路由。
import-route { isis | ospf | rip } [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ]
¡ 引入直连或静态路由。
import-route { direct | static | unr } [ med med-value | route-policy route-policy-name ] *
¡ 引入EIGRP协议的路由。
import-route eigrp [ { eigrp-as | all-as } [ allow-direct | med med-value | route-policy route-policy-name ] * ]
缺省情况下,BGP不会引入IGP路由协议的路由信息。
(4) (可选)以附加的方式将IGP路由协议的路由信息引入到BGP路由表中。
¡ 引入IS-IS、OSPF、RIP协议的路由。
import-route-append { isis | ospf | rip } [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ]
¡ 引入直连或静态路由。
import-route-append { direct | static | unr } [ med med-value | route-policy route-policy-name ] *
¡ 引入EIGRP协议的路由。
import-route-append eigrp [ { eigrp-as | all-as } [ allow-direct | med med-value | route-policy route-policy-name ] * ]
缺省情况下,BGP不会引入IGP路由协议的路由信息。
(5) (可选)引入所有目的地址相同的路由。
import-route multipath
缺省情况下,BGP仅引入最优路由到BGP路由表中。
BGP IPv4组播地址族视图、BGP IPv4单播标签地址族视图和BGP-VPN IPv4单播标签地址族视图不支持本命令。
本命令仅对同一地址族下配置import-route或import-route-append命令后引入的路由生效。
(6) (可选)允许将缺省路由引入到BGP路由表中。
default-route imported
缺省情况下,BGP不允许将缺省路由引入到BGP路由表中。
(1) 进入系统视图。
system-view
(2) 进入BGP IPv6单播地址族视图、BGP-VPN IPv6单播地址族视图或BGP IPv6组播地址族视图。
¡ 请依次执行以下命令进入BGP IPv6单播地址族视图。
bgp as-number [ instance instance-name ]
address-family ipv6 [ unicast ]
¡ 请依次执行以下命令进入BGP-VPN IPv6单播地址族视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
address-family ipv6 [ unicast ]
¡ 请依次执行以下命令进入BGP IPv6组播地址族视图。
bgp as-number [ instance instance-name ]
address-family ipv6 multicast
(3) 将IGP路由协议的路由信息引入到IPv6 BGP路由表中。
¡ 引入IS-ISv6、OSPFv3、RIPng协议的路由。
import-route { isisv6 | ospfv3 | ripng } [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ]
¡ 引入直连或静态路由。
import-route { direct | static | unr } [ med med-value | route-policy route-policy-name ] *
缺省情况下,BGP不会引入IGP路由协议的路由信息。
(4) (可选)以附加的方式将IGP路由协议的路由信息引入到BGP路由表中。
¡ 引入IS-ISv6、OSPFv3、RIPng协议的路由。
import-route-append { isisv6 | ospfv3 | ripng } [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ]
¡ 引入直连或静态路由。
import-route-append { direct | static | unr } [ med med-value | route-policy route-policy-name ] *
缺省情况下,BGP不会引入IGP路由协议的路由信息。
(5) (可选)引入所有目的地址相同的路由。
import-route multipath
BGP IPv6组播地址族视图不支持本命令。
缺省情况下,BGP仅引入最优路由到BGP路由表中。
本命令仅对同一地址族下配置import-route或import-route-append命令后引入的路由生效。
(6) (可选)允许将缺省路由引入到IPv6 BGP路由表中。
default-route imported
缺省情况下,BGP不允许将缺省路由引入到IPv6 BGP路由表中。
通过本配置可以将公网或VPN实例发布的本地网段路由添加到BGP路由表中,以便通过BGP发布该网段路由。通过该种方式发布的路由的ORIGIN属性为IGP。
本配置中network命令指定的网段路由必须存在于公网或VPN实例的路由表中,且处于Active状态,BGP协议才能通过import-route local-aggregate命令引入该路由,并对外发布。
(1) 进入系统视图。
system-view
(2) 进入公网实例IPv4地址族视图或VPN实例IPv4地址族视图。
¡ 请依次执行以下命令进入公网实例IPv4地址族视图。
ip public-instance
address-family ipv4
¡ 请依次执行以下命令进入VPN实例IPv4地址族视图。
ip vpn-instance vpn-instance-name
address-family ipv4
(3) 配置公网或VPN实例发布的本地网段路由。
network ipv4-address [ mask-length | mask ]
缺省情况下,公网或者VPN实例不发布本地的网段路由。
有关本命令的详细介绍,请参见“MPLS命令参考”中的“MPLS L3VPN”。
(4) 依次执行以下命令退回系统视图。
a. quit
b. quit
(5) 进入BGP IPv4单播地址族视图、BGP-VPN IPv4单播地址族视图、BGP IPv4组播地址族、BGP IPv4单播标签地址族视图或BGP-VPN IPv4单播标签地址族视图。
¡ 请依次执行以下命令进入BGP IPv4单播地址族视图。
bgp as-number [ instance instance-name ]
address-family ipv4 [ unicast ]
¡ 请依次执行以下命令进入BGP-VPN IPv4单播地址族视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
address-family ipv4 [ unicast ]
¡ 请依次执行以下命令进入BGP IPv4组播地址族视图。
bgp as-number [ instance instance-name ]
address-family ipv4 multicast
¡ 请依次执行以下命令进入BGP IPv4单播标签地址族视图。
bgp as-number [ instance instance-name ]
address-family ipv4 labeled-unicast
¡ 请依次执行以下命令进入BGP-VPN IPv4单播标签地址族视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
address-family ipv4 labeled-unicast
(6) 配置BGP引入公网或者VPN实例发布的本地网段路由。
import-route local-aggregate [ route-policy route-policy-name ]
缺省情况下,BGP不会引入公网或VPN实例发布的本地网段路由。
在中型或大型BGP网络中,在向对等体发布路由信息时,可以配置路由聚合,减少发布的路由数量,并减小路由表的规模。IPv4 BGP支持自动聚合和手动聚合两种聚合方式,同时配置时,手动聚合的优先级高于自动聚合的优先级。IPv6 BGP只支持手动聚合。
配置自动聚合功能后,BGP将对通过import-route命令引入的IGP子网路由进行聚合,不再发布子网路由,而是发布聚合的自然网段的路由。
自动聚合是按照自然网段进行聚合,而且只能对IGP引入的子网路由进行聚合。通过配置手动聚合,用户可以同时对从IGP路由协议引入的子网路由和用network命令发布的路由进行聚合,而且还可以根据需要定义聚合路由的子网掩码长度。
BGP路由表中创建的聚合路由的出接口为Null0接口,聚合后可以减少向BGP对等体发布的路由数目。在使用中应注意不要使这条聚合路由成为本设备的优选路由,否则会导致报文转发失败。如果聚合路由的子网掩码长度和被聚合的某一条具体路由完全相同,且聚合路由优先级高于具体路由,则聚合路由会成为优选路由,这种情况下需要通过修改路由优先级等方式,来确保优选的路由为具体路由。
(1) 进入系统视图。
system-view
(2) 进入BGP IPv4单播地址族视图、BGP-VPN IPv4单播地址族视图或BGP IPv4组播地址族视图。
¡ 请依次执行以下命令进入BGP IPv4单播地址族视图。
bgp as-number [ instance instance-name ]
address-family ipv4 [ unicast ]
¡ 请依次执行以下命令进入BGP-VPN IPv4单播地址族视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
address-family ipv4 [ unicast ]
¡ 请依次执行以下命令进入BGP IPv4组播地址族视图。
bgp as-number [ instance instance-name ]
address-family ipv4 multicast
(3) 配置对引入的子网路由进行自动聚合。
summary automatic
缺省情况下,不对引入的子网路由进行自动聚合。
(1) 进入系统视图。
system-view
(2) 进入BGP IPv4单播地址族视图、BGP-VPN IPv4单播地址族视图或BGP IPv4组播地址族视图。
¡ 请依次执行以下命令进入BGP IPv4单播地址族视图。
bgp as-number [ instance instance-name ]
address-family ipv4 [ unicast ]
¡ 请依次执行以下命令进入BGP-VPN IPv4单播地址族视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
address-family ipv4 [ unicast ]
¡ 请依次执行以下命令进入BGP IPv4组播地址族视图。
bgp as-number [ instance instance-name ]
address-family ipv4 multicast
(3) 在BGP路由表中创建一条聚合路由。
aggregate ipv4-address { mask-length | mask } [ as-set | attribute-policy route-policy-name | detail-suppressed | origin-policy route-policy-name | suppress-policy route-policy-name ] *
缺省情况下,未配置聚合路由。
(1) 进入系统视图。
system-view
(2) 进入BGP IPv6单播地址族视图、BGP-VPN IPv6单播地址族视图或BGP IPv6组播地址族视图。
¡ 请依次执行以下命令进入BGP IPv6单播地址族视图。
bgp as-number [ instance instance-name ]
address-family ipv6 [ unicast ]
¡ 请依次执行以下命令进入BGP-VPN IPv6单播地址族视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
address-family ipv6 [ unicast ]
¡ 请依次执行以下命令进入BGP IPv6组播地址族视图。
bgp as-number [ instance instance-name ]
address-family ipv6 multicast
(3) 在IPv6 BGP路由表中创建一条聚合路由。
aggregate ipv6-address prefix-length [ as-set | attribute-policy route-policy-name | detail-suppressed | origin-policy route-policy-name | suppress-policy route-policy-name ] *
缺省情况下,未配置聚合路由。
缺省情况下,BGP发布BGP路由表中的最优路由,不管该路由在IP路由表中是否为最优路由。通过本配置可以保证BGP发送出去的路由是IP路由表中的最优路由,以减少BGP发送的路由数量。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 全局配置发布IP路由表中的最优路由。
advertise-rib-active
缺省情况下,BGP发布BGP路由表中的最优路由。
(4) 进入BGP IPv4单播地址族视图或BGP-VPN IPv4单播地址族视图。
¡ 请执行以下命令进入BGP IPv4单播地址族视图。
address-family ipv4 [ unicast ]
¡ 请依次执行以下命令进入BGP-VPN IPv4单播地址族视图。
ip vpn-instance vpn-instance-name
address-family ipv4 [ unicast ]
(5) 在指定地址族视图下,配置发布IP路由表中的最优路由。
advertise-rib-active
缺省情况下,与BGP实例视图下的配置保持一致。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 全局配置发布IPv6路由表中的最优路由。
advertise-rib-active
缺省情况下,BGP发布BGP路由表中的最优路由。
(4) 进入BGP IPv6单播地址族视图或BGP-VPN IPv6单播地址族视图。
¡ 进入BGP IPv6单播地址族视图。
address-family ipv6 [ unicast ]
¡ 请依次执行以下命令进入BGP-VPN IPv6单播地址族视图。
ip vpn-instance vpn-instance-name
address-family ipv6 [ unicast ]
(5) 在指定地址族视图下,配置发布IPv6路由表中的最优路由。
advertise-rib-active
缺省情况下,与BGP实例视图下的配置保持一致。
执行本配置后,设备将向指定对等体/对等体组发布一条下一跳地址为本地地址的缺省路由。
(1) 进入系统视图。
system-view
(2) 进入BGP IPv4单播地址族视图、BGP-VPN IPv4单播地址族视图、BGP IPv4组播地址族视图、BGP IPv4单播标签地址族视图或BGP-VPN IPv4单播标签地址族视图。
¡ 请依次执行以下命令进入BGP IPv4单播地址族视图。
bgp as-number [ instance instance-name ]
address-family ipv4 [ unicast ]
¡ 请依次执行以下命令进入BGP-VPN IPv4单播地址族视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
address-family ipv4 [ unicast ]
¡ 请依次执行以下命令进入BGP IPv4组播地址族视图。
bgp as-number [ instance instance-name ]
address-family ipv4 multicast
¡ 请依次执行以下命令进入BGP IPv4单播标签地址族视图。
bgp as-number [ instance instance-name ]
address-family ipv4 labeled-unicast
¡ 请依次执行以下命令进入BGP-VPN IPv4单播标签地址族视图。
bgp as-number [ instance instance-name ]
ip vpn-instance vpn-instance-name
address-family ipv4 labeled-unicast
(3) 向对等体/对等体组发送缺省路由。
peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } default-route-advertise [ route-policy route-policy-name ] [ conditional-policy route-policy-name ]
缺省情况下,不向对等体/对等体组发送缺省路由。
BGP IPv4单播标签地址族视图和BGP-VPN IPv4单播标签地址族视图下不支持IPv6参数。