BGPv4协议

路由协议汇总

 

Interior Gateway Protocol

Exterior Gateway Protocols

 

Distance Vector

Link-State

Path Vector

IPv4

RIPv2

EIGRP

OSPFv2

IS-IS

BGP-4

IPv6

RIPng

EIGRP for IPv6

OSPFv3

IS-IS For IPv6

BGP-MP

 

1. BGP简介(RFC 1771,4271)

BGP前身是EGP, EGP 具有以下不足

(1) 没有发现路由环路的能力,必须运行在一个设计无环的拓扑这上

(2) 不支持基于策略的复杂路由

(3) 不能够很好的与IGP合作

(4) 收敛时间非常长

 

http://bgp.potaroo.net/  全网BGP图

BGP forms a unique, unicast-based connection to each of its BGP-speaking peers. 
BGP runs over a reliable transport protocol. BGP uses TCP port 179.

以上两个是公网查看BGP路由的路由器

route-server.ip.att.net

route-views3.routeviews.org  

 

BGP 与 IGP的不同

RIP/OSPF

BGP

需要建立邻居关系

一样

邻居关系通过组播或广播自动发现。

需要手工建立

工作在网络层

工作在传输层

无类

一样

Metric为度量值

使用 Path Attribute

快速收敛

强调可扩展性

Distance Vector 或者 Link State

Path Vector

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. 什么场景下使用BGP?

外部网关路由协议用来在自治系统之间路由。

A Single-Homed Autonomous System (1 link per ISP, 1 ISP)

有三种方法与ISP连接:

(1) 静态路由

(2) IGP

(3) EGP

 

什么是 multihomed?

Multihoming 指当一个AS域有超过一条以上链路去往因特网。可以增加 可靠性 与 网络性能 。

 

 

 

以下情况不要使用BGP

  • AS域只有一条去往因特网的链路。
  • 路由策略或者选路不是特别重要。
  • 路由器性能不强。
  • 对BGP选路过程不熟。
  • AS自治域间带宽较低。

 

2. BGP 基本概念 (RFC 1772)

2.1 BGP数据库:

* 邻居表        //show ip bgp neighbor

        显示所有BGP邻居

* BGP 表(forwarding database)   // show ip bgp 

        List of all networks learned from each neighbor

        can contain multiple paths to destination netwroks

        Contains BGP attributes for each path

* 路由表  // show ip route   //  bgp_route.c 文件

        List of best paths to destination netwroks

 

总体而言,BGP启动过程如下

第一步:BGP使用open 和 keepalive包建立和维持邻居关系 

第二步:邻居建立完成后,BGP交换路由表中信息,其他BGP邻居收到消息后,

              放入BGP表。

第三步:根据BGP表中的路由条目与管理距离值,选择最优路径,放入路由表。

 

2.2 Autonomous System(自治系统) RFC 5398 (16-bit)

a set of routers under a single technical administration,

using an interior gateway protocol and common metrics to route packets within the AS,

and using an exterior gateway protocol to route packets to other AS.  

值域范围

用途

0

保留

1 - 64495

IANA可分配给公用

64496 - 64511

保留供文档中使用

64512 - 65534

私用

65535

保留

 

 

 

 

2.3 BGP 消息类型 (助记符:OKNU)

  • Open 消息 - 用来建立邻居关系包括 BGP version number, the AS number, hold time(180s), and RID.
  • Keepalive 消息 - This message type is sent periodically between peers to maintain connections and verify paths held by the router sending the keepalive. if the periodic timmer is set to a value of zero, no keepalives are sent. the recommended keepalive interval(60s) is one third of the hold timer interval. The keepalive message is a 19-byte BGP message header with no data following it.
  • Notification 消息 - This message is used to inform the receiving router of errors. this message includes a fileld for error codes that can be used to troubleshoot BGP connections.
  • Update 消息 - The update messages contain all the information BGP uses to construct a loop free picture of the internetwork. There are three basic components of an update message. They are network-layer reachability information (NLRI), path attributes, and withdrawn routes

 

2.4 BGP 邻居协商过程 (idle -> Connnect -> OpenSent -> OpenConfirm -> Established)

 

1. 第一个状态是idle状态,当有事件触发后,进入Connect状态

2. 若TCP连接成功建立,则由Connect进入OpenSent

    若TCP链接建立失败,则由Connect进入Active状态

3. 若进入Active状态,则BGP会尝试重新建立TCP连接

    如果成功,进入OpenSent状态

    如果在建立连接的时间内还是失败,进入Connect状态,如果收到停止信息,进入idle状态

4. 在OpenSent状态,BGP路由器等待收到Open消息

      检查Open消息中格式BGP版本号、AS号、保持时间与RID是否匹配,若匹配,开始发送Keepalive消息

      若不匹配,发送notification消息,则进入idle状态

     如果TCP连接断开,则会由OpenSent状态返回Active状态

     对于任何错误,会发送notification消息,进入idle状态

5. OpenConfirm状态,如果BGP邻居收到KeepAlive消息,状态进入Established.

    如果收到的是notification消息,则进入idle状态

6. Established状态,BGP邻居开始发送Update消息

    如果收到notification消息,则从Established进入Idle状态,如果holdtimer时间到达,也会进入idle状态

 

BGP 状态机代码流程:

bgp_fsm.c 文件          bgp_start函数

  调用 bgp_network.c 文件      bgp_connect 函数, 返回连接状态

  添加邻居事件 TCP_connection_open

bgp_fsm.c             bgp_connect_success 函数

                 bgp_open_send(peer) 发送open包

bgp_fsm.c             bgp_fsm_open 函数 发送 keepalive包

bgp_fsm.c             bgp_establish

 

 

没有一台BGP路由器可以与所有启用BGP进程的路由器建立邻居关系 ,BGP路由器只能和一定的路由器建立直接的关系。

有两种BGP邻居关系:

eBGP: BGP在不同AS域,一般情况下都是直连。 TTL = 1  disable-connected-check 关闭直连检测

iBGP: BGP在相同AS域, 一般不需要直连.   TTL = 255

Note: 如果eBGP 非直连建立邻居,可在路由器上打 neighbor x.x.x.x ebgp-multihop 20 增加TTL值

 

eBGP-multihop (负载平衡)

 

RTA:
interface loopback 0
  ip address 150.10.1.1 255.255.255.0

router bgp 100
 neighbor 160.10.1.1 remote-as 200
 neighbor 160.10.1.1 update-source loopback 0
 neighbor 160.10.1.1 ebgp-multihop 1
 network 150.10.0.0


ip route 160.10.0.0 255.255.0.0 1.1.1.2
ip route 160.10.0.0 255.255.0.0 2.2.2.2

 

RTB:
interface loopback 0
 ip address 160.10.1.1 255.255.255.0

router bgp 200
 neighbor 150.10.1.1 remote-as 100
 neighbor 150.10.1.1 update-source loopback 0
 neighbor 150.10.1.1 ebgp-multihop 1
 network 160.10.0.0

ip route 150.10.0.0 255.255.0.0 1.1.1.1
ip route 150.10.0.0 255.255.0.0 2.2.2.1

 

此示例演示环回接口、update-source 和 ebgp-multihop 多跳的使用。 此示例是使两个 eBGP 扬声器在并行串联线路上实现负载平衡的一种变通方法。 在正常情况下,BGP 选取某一条线路发送数据包,此时负载不会平衡。 引入环回接口之后,eBGP 的下一跳为环回接口。 使用静态路由或 IGP 引入两个开销相等的路径来到达目标。 RTA 有两种选择可到达下一跳 160.10.1.1: 一条路径是通过 1.1.1.2,另一条路径是通过 2.2.2.2。 RTB 同样有两种选择。

 

BGP 路由映射示例:

示例 1
假设 RTA 和 RTB 运行路由信息协议 (RIP),RTA 和 RTC 运行 BGP。 RTA 通过 BGP 获取更新并将更新重分配到 RIP。 假设 RTA希望将度量 2 重分配给地址为 170.10.0.0 的 RTB 路由,将度量 5 重分配给所有其他路由。

RTA#
router rip
 network 3.0.0.0
 network 2.0.0.0
 network 150.10.0.0
 passive-interface Serial0
 redistribute bgp 100 route-map SETMETRIC

router bgp
100 neighbor 2.2.2.3 remote-as 300 network 150.10.0.0
route
-map SETMETRIC permit 10 match ip-address 1 set metric 2
route
-map SETMETRIC permit 20 set metric 5
access
-list 1 permit 170.10.0.0 0.0.255.255

 

在本示例中,如果路由与 IP 地址 170.10.0.0 相匹配,则该路由将具有度量 2。 然后跳出路由映射列表。 如果没有匹配项,则继续检查路由映射列表,从而将所有其他路由都设置为度量 5。如果一个都不匹配则丢弃。

 

假设在示例 1 中,您不希望 AS100 接受有关 170.10.0.0 的更新。 当根据 IP 地址进行匹配时,无法针对入站更新应用路由映射。 因此,必须对 RTC 使用出站路由映射:

RTC#
router bgp 300
 network 170.10.0.0
 neighbor 2.2.2.2 remote-as 100
 neighbor 2.2.2.2 route-map STOPUPDATES out

route
-map STOPUPDATES permit 10 match ip address 1
access
-list 1 deny 170.10.0.0 0.0.255.255 access-list 1 permit 0.0.0.0 255.255.255.255

 

3. BGP链路属性 (OAN LA AC MOC)

BGP 属性分以下四种

  • Well-Known mandatory - An attribute that must exist in the BGP update packet.
  • Well-known discretionary - an attribute that is recognized by all BGP implementations, but may or may not be sent in the BGP update message.
  • Optional Transivtive
  • Optional nontransitive

 

PA Table 助词符:OAN LA AC MOC

Attribute

Class

1 - ORIGIN

Well-known mandatory

2 - AS_PATH

Well-known mandatory

3 - NEXT_HOP 

Well-known mandatory

5 - LOCAL_PREF

Well-known discretionary

6 - ATOMIC_AGGREGATE

Well-known discretionary

AGGREGATOR

Optional transitive

COMMUNITY

Optional transitive

MULTI_EXIT_DISC (MED)

Optional nontransitive

ORIGINATOR_ID

Optional nontransitive

CLUSTER_LIST

Optional nontransitive

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

The ORIGIN 属性 (IGP > EGP > Incomplete)

specifies the origin of the routing update. When BGP has multiple routes, it uses the ORIGIN as one factor in determining the preferred route. It specifies one of the following origins:

IGP(0) --- the Network Layer Reachability Information (NLRI) was learned from a protocol internal to the originating AS. An IGP origin gets the highest preference of the ORIGIN values.

EGP(1) --- the NLRI was learned form the Exterior Gateway Protocol. EGP is preferred second to IGP.

Incomplete(?)(2) --- the lowest - preferred ORIGIN value. Incomplete does not imply that the route is in any way faulty, only that the information for determining the origin of the route is incomplete. Routes that BGP learns through redistribution carry the incomplete origin attribute, because there is no way to determine the original source of the route. 

 

AS_PATH 属性

uses a sequence of AS numbers to describe the inter-AS path, or route, to the destination specified by the NLRI.

The AS_PATH describes all the AS it has passed through, beginning with the most recent AS and ending with the originating AS.[recent AS, originating AS]

NOTE: BGP router adds its AS number to the AS_PATH only when an Update is sent to a neighbor in another AS. That is, an AS number is prepended to the AS_PATH only when the route is being advertised between EBGP peers.  If the route is being advertised between IBGP peers (peers within the same autonomous system, no AS number is added. )

(1)选择最优路径

(2) 防止环路

Note: You can remove private AS use this command: neighbor x.x.x.x remove-private-as or you can use AS-path access-list to filter route. 

http://www.cisco.com/en/US/docs/ios/12_2/termserv/configuration/guide/tcfaapre_ps1835_TSD_Products_Configuration_Guide_Chapter.html

实验一 使用 AS_PATH 属性.

 

Next_HOP 属性

Describes the IP address of the next-hop router on the path to the advertised destination. The IP address described by the BGP NEXT_HOP attribute is not always the address of a neighbor router. The following rules apply:

  • If the advertising router and receiving router are in different autonomous systems (external peers), the NEXT_HOP is the IP address of the advertising router's interface .

  • If the advertising router and the receiving router are in the same AS (internal peers), and the NLRI of the update refers to a destination within the same AS, the NEXT_HOP is the IP address of the neighbor that advertised the route.

  • If the advertising router and the receiving router are internal peers and the NLRI of the update refers to a destination in a different AS, the NEXT_HOP is the IP address of the external peer from which the route was learned.

The first solution is to ensure that the external network linking the two autonomous systems is known to the internal routers.

第一种解决方法是将外部所有路由器都宣告。

第二种是使用NEXT_HOP属性,next-hop-self

 

LOCAL_PRE 属性 (Only Route-map in)  [influence out traffic]

只在iBGP邻居内宣告; 不会将值传递给其他AS域. 这个属性用来找出最适合的出口路由器. 

如果一个iBGP邻居收到多条去往相同目的的路由,则会比较Local_PREF值,越大的优先。

只影响流量流出AS域. 

Feature Description
PA? Yes
Purpose Identifies the best exit point from the AS to reach a given prefix
Scope Throughout the AS in which it was set; not advertised to eBGP peers
Range 0 - 4294967295 (2^32 -1)
Which is best? Higher values are better
Default 100
Changing the default Using the bgp default local-preference <0-4294967295> BGP subcommand
Configuration neighbor route-map command; in option is required for updates from an eBGP peer

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Setting the BGP Local_Pref Using a Route Map

ip prefix-list match-184 seq 5 permit 184.0.0.0/8

ip prefix-list match-185 seq 5 permit 185.0.0.0/8

route-map set-LP permit 10

 match ip address prefix-list match-185

 set local-preferece 150

!

route-map set-LP permit 15

 match ip address prefix-list math-184

 set local-preference 50

!

route-map set-LP permit 20

router bgp 100

 neighbor 1.1.1.1 route-map set-LP in

 

Rotuer#clear ip bgp 1.1.1.1 soft

Router#show ip bgp 172.16.0.0/4 longer-prefixes

  

The ATOMIC_AGGREGATE and AGGREGATOR Attributes

A BGP-speaking router can transmit overlapping routes to another BGP speaker. Overlapping routes are nonidentical routes that point to the same destination.

When making a best-path decision, a router always chooses the more-specific path. When advertising routes, however, the BGP speaker has several options for dealing with overlapping routes:

  • Advertise both the more-specific and the less-specific route
  • Advertise only the more-specific route
  • Advertise only the nonoverlapping part of the route
  • Aggregate the two routes and advertise the aggregate
  • Advertise the less-specific route only
  • Advertise neither route

 

ATOMIC_AGGREGATE is a well-known discretionary attribute that is used to alert downstream routers that a loss of path information has occurred. Any time a BGP speaker summarizes more-specific routes into a less-specific aggregate (the fifth option in the preceding list), and path information is lost, the BGP speaker must attach the ATOMIC_AGGREGATE attribute to the aggregate route. Any downstream BGP speaker that receives a route with the ATOMIC_AGGREGATE attribute cannot make any NLRI information of that route more specific, and when advertising the route to other peers, the ATOMIC_AGGREGATE attribute must remain attached.

 

When the ATOMIC_AGGREGATE attribute is set, the BGP speaker has the option of also attaching the AGGREGATOR attribute. This optional transitive attribute provides information about where the aggregation was performed by including the AS number and the IP address of the router that originated the aggregate route. Cisco's implementation of BGP inserts the BGP router ID as the IP address in the attribute.

 

The COMMUNITY Attribute  (RFC 1997)

Optional transitive attribute that is designed to simplify policy enforcement. The COMMUNITY attribute identifies a destination as a member of some community of destinations that share one or more common properties.

The COMMUNITY attribute is a set of four octet values. RFC 1997 specifies that the first two octets are the autonomous system and the last  two octets are an administratively defined identifier, giving a format of AA:NN.    The default Cisco format, on the other hand, is NN:AA. You can change this default to the RFC 1997 format with the command ip bgp-community new-format

 

For example, a route from AS 625 has a COMMUNITY identifier of 70. The COMMUNITY attribute, in the AA:NN format is 625:70 and is represented in hex as a concatenation of the two numbers: 0x02710046, where 635=0x0271 and 70=0x0046.   

 

The RFC use the hex representation, but COMMUNITY attribute values are represented on Cisco routers in decimal. For example, 625:70 is 40960070

 

The community values from 0 (0x00000000) to 65535 (0x0000FFFF) and from 4294901760 (0xFFFF0000) to 4294967295 (0xFFFFFFFF) are reserved. Out of this reserved range, several well-known communities are defined:

  • INTERNET ---The Internet community does not have a value; all routes belong to this community by default. Received routes belonging to this community are advertised freely.
  • NO_EXPORT (4294967041, or 0xFFFFFF01)— Routes received carrying this value cannot be advertised to EBGP peers or, if a confederation is configured, the routes cannot be advertised outside of the confederation.
  • NO_ADVERTISE (4294967042, or 0xFFFFFF02)— Routes received carrying this value cannot be advertised at all, to either EBGP or IBGP peers.
  • LOCAL_AS (4294967043, or 0xFFFFFF03)— RFC 1997 calls this attribute NO_EXPORT_SUBCONFED. Routes received carrying this value cannot be advertised to EBGP peers, including peers in other autonomous systems within a confederation.

 

The MULTI_EXIT_DISC 属性(MED=metric) [influence incoming traffic]

为了影响入向流量, 当另一个AS传来的流量可以选择最好的入口,如果其他都相同, 去往相同目的地会比较MED值. 最小值优先.

(because MED is considered a metric, and with a metric the lowest value, the lowest distance, is preferred)

 

Note:

  • MED only to influence traffic between two directly connected autonomous systems; to influence route preferences beyond the neighboring AS, the AS_PATH attribute must be manipulated.
  • MED also are not compared if two routes to the same destination are received from two different autonomous system.  MED are meant only for a single AS to demonstrate a degree of preference when it has multiple ingress points.

 

Key Features of MED
Feature Description
is it a PA? Yes
Purpose Allows an AS to tell a neighboring AS the best way to forward packets into the first AS.
Scope Advertised by one AS into another, propagated inside the AS, but not sent to any other AS
Range 0-4294967295 (2^32 -1)
which is best?  smaller is better
Default 0
Configuration

via neighbor route-map out, using the set metric command inside the route map. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MED Configuration

ip prefix-list only-public permit 128.0.0.0/8

!

route-map set-med-to-R1 permit 10

 match ip address prefix only-public

 set metric 10

!

route-map set-med-to-R2 permit 10

 match ip address prefix only-public

 set metic 20

!

router bgp 100

 neighbor 1.1.1.1 route-map set-med-to-R1 out

 neighbor 2.2.2.2 route-map set-med-to-R2 out

 

The ORIGINATOR_ID and CLUSTER_LIST Attributes

Optional, nontransitive attributes used by route reflectors. Both attributes are used to prevent routing loops. 

 

BGP path Attribute tht affect the BGP Best path Algorithm
PA Description Enterprise Route Direction(Typically)
NEXT_HOP List the next-hop IP address used to reach a prefix. N/A
Weight A numeric value, range 0-2^16 -1. set by a router when receiving updates, influencing that one ruter's route for a prefix. Not advertised to any BGP peers. Outbound
Local preference(LOCAL_PREF) A numeric value, range 0-2^32 -1, set and communicated throught a single AS for the purpose of influencing the choice of best route for all routers in that AS. Outbound
AS_PATH(length) The number of ASNs in the AS_Path PA. Outbound, Inbound
ORIGIN Value implying the route was injected into BGP; I(IGP), E(EGP), or ?(incomplete information). Outbound
Multi Exit Discriminator(MED) set and advertised by routers in one AS, impacting the BGP decision of routers in the other AS. Smaller is better. Inbound

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

show ip bgp or show ip bgp prefix/length

 

6. BGP best path algorithm

BGP Decison Process + Mnemonic: N WLLA OMNI
Step  Mnemonic Letter Short Phrease Which is Better?
0 N Next Hop: reachable? If no route to reach Next_Hop, router cannot use this route.
1 W Weight Bigger
2 L LOCAL_PREF Bigger
3 L Locally injected routes Locally injected is better than iBGP/eBGP learned.
4 A AS_PATH length Smaller
5 O ORIGIN

I > E > ?

6 M MED (metric) Smaller
7 N Neighbor Type eBGP > iBGP
8 I IGP metric to NEXT_HOP smaller
9   Oldest (longest-known) eBGP route  
10   Lowest neighbor BGP RID  
11   Lowest neighbor IP address  

 

 Note: 思科官网的BGP-Route-Select-Path 一共13条 :

http://www.cisco.com/c/en/us/support/docs/ip/border-gateway-protocol-bgp/13753-25.html

 

Weight 

Key Features of Administrative Weight
Feature Description
Is it a PA? No; Cisco proprietary feature
purpose identifies a single router's best route
scope set on inbound route Update; influences only that one router's choice
Range 0 through 65535 (2^16 -1)
which is best? Bigger values are better
Default  0 for learned routes, 32768 for locally injected routes
Defining a new default Not supported
Configuration

neighbor route-map (per prefix)

neighbor weight (all routes learned from this neighbor)

 

Setting the BGP Administrative Weight Using a Route Map

Router(config)#ip prefix-list match-181 permit 181.0.0.0/8

Router(config)#route-map set-weight-50 permit 10

Router(config-route-map)#match ip address prefix-list match-181

Router(config-route-map)#set weight 50

Router(config-route-map)#route-map set-weight-50 permit 20

Router(config)#router bgp 100

Router(config-router)#neighbor 192.168.1.2 router-map set-weight-50 in

 

Router#clear ip bgp 192.168.1.2 soft

Router#show ip bgp x.x.x.x/x longer-prefixs

 

Setting Weight Using the neighbor weight Command

Router(config)#router bgp 100

Router(config-router)#neighbor 1.1.1.1 weight 60

 

Router#clear ip bgp 1.1.1.1 soft

Router#show ip bgp x.x.x.x/x longer-prefixes

 

 

Part 3:IGP and BGP Synchronization

关于BGP路由黑洞:

method 1: 开启同步,把BGP同步进IGP

Method 2: BGP full mesh, 注意iBGP具有水平分割

method3: 把AS划分细属于大的联邦 (confederation)

Router(config-router)#bgp confiederation identifier 234

Router(config-router)#bgp peers 64512

 

Managing Large-Scale BGP Peering

BGP features four tools that can simplify the management of large numbers of BGP peers:

  • Peer groups
  • Communities
  • Route Reflectors
  • Confederations

The first two tools help simplify the management of routing policies between multiple peers, either internal or external. The second two tools simplify the management of IBGP among large numbers of peers.

 

1. Peer Groups

Often in large BGP internetworks, policies on a router apply to multiple peers. The same attributes might be set in the updates going to several peers, for example, or the same filter might be used on routes coming from several peers. In such cases, you can simplify configuration and management by adding peers that share common policies to a peer group.

 

2. Communities

A router adds a route to a preconfigured community by setting its COMMUNITY attribute to some value that identifies it as a member of the community. Neighboring routers can then apply their policies, such as filtering or redistribution policies, to the routes based on the value of the COMMUNITY attribute.

 

3. Route Reflectors(RR   RFC 1996)

Route reflectors are useful when an AS contains a large number of IBGP peers.Route reflectors are useful when an AS contains a large number of IBGP peers. A router is configured as a route reflector (RR), and other IBGP routers, known as clients, peer with the RR only, rather than with every other IBGP router. As a result, the number of peering sessions is reduced from n(n – 1)/2 to n – 1. A router reflector and its clients are known collectively as a cluster.

 

Route reflectors work by relaxing the rule that IBGP peers cannot advertise routes learned from other IBGP peers.

 

RFC 1966 defines three rules that the RR uses to determine who the route is advertised to, depending on how the route was learned:

  • If the route was learned from a nonclient IBGP peer, it is reflected to clients only.
  • If the route was learned from a client, it is reflected to all nonclients and clients, except for the originating client.
  • If the route was learned from an EBGP peer, it is reflected to all clients and nonclients.

 

NOTE: however, that a route reflector is a BGP router in which this rule has been relaxed. To prevent routing loops, route reflectors use two BGP path attributes: ORIGINATOR_ID and CLUSTER_LIST.

 

 

ORIGINATOR_ID is an optional, nontransitive attribute that is created by the route reflector. The ORIGINATOR_ID is the router ID of the originator of a route within the local AS. A route reflector does not advertise a route back to the originator of the route; nonetheless, if the originator receives an update with its own RID, the update is ignored.

 

Each cluster within an AS must be identified with a unique 4-octet cluster ID. If the cluster contains a single route reflector, the cluster ID is the router ID of the route reflector. If the cluster contains multiple route reflectors, each RR must be manually configured with a cluster ID.

 

CLUSTER_LIST is an optional, nontransitive attribute that tracks cluster IDs the same way that the AS_PATH attribute tracks AS numbers. When an RR reflects a route from a client to a nonclient, it appends its cluster ID to the CLUSTER_LIST. If the CLUSTER_LIST is empty, the RR creates one. When an RR receives an update, it checks the CLUSTER_LIST. If it sees its own cluster ID in the list, it knows that a routing loop has occurred and ignores the update.

 

4. Confederations

confederation is an AS that has been subdivided into a group of subautonomous systems, known as member autonomous systems.  The confederation is assigned a confederation ID, which is represented to peers outside of the confederation as the AS number of the entire confederation.

 

Confederations add two more types to the AS_PATH:

  • AS_CONFED_SEQUENCE— This is an ordered list of AS numbers along a path to a destination. It is used in exactly the same way as the AS_SEQUENCE, except that the AS numbers in the list belong to autonomous systems within the local confederation.
  • AS_CONFED_SET— This is an unordered list of AS numbers along a path to a destination. It is used in exactly the
  • same way as the AS_SET, except that the AS numbers in the list belong to autonomous systems within the local confederation.

 

 

实验:

LAB - CCNP Using the BGP AS_PATH Attribute

LAB - CCNP Configuring iBGP and eBGP Local Preference, and MED

CCNP - LAB BGP Route Reflectors and Route Filters

LAB - CCNP BGP Case Study

posted @ 2015-07-12 11:37  elewei  阅读(1842)  评论(0编辑  收藏  举报