当前位置:文档之家› BGP

BGP

BGP
BGP

BGP

BGP简述:

BGP使用TCP连接的179号端口。默认版本4。

建立邻居不需要直连,只要双方指定的邻居地址可达。

使用Keepalive维持邻居关系。

只要是IGP路由表中存在的路由,都可以通过network命令宣告出去。

第一次更新完整的BGP路由表,之后是触发加增量更新。

只会将最优路由传递给邻居。

BGP支持的被路由协议:

1.IP Version 4 (IPv4)

2.IP Version 6 (IPv6)

3.Virtual Private Network Version 4 (VPNv4)

4.Connectionless Network Services (CLNS)

5.Layer 2 VPN (L2VPN)

除了IPv4,配置这些协议时需要进入address family模式。所有命令在address family 中配置独立生效,并且都拥有独立的数据库。而address family称为AFI模式,正常的BGP配置称为NLRI模式。在NLRI模式的配置只对IPv4生效。

什么是AS:

处于同一个管理机构控制之下的路由器和网络群组。

(例:电信是在一个AS 网通是在另一个AS)

AS号:

公有:1—64511。

私有:64512—65535。

BGP邻居关系分两种:

EBGP:邻居位于不同的AS中。

IBGP:邻居位于同一AS中。

BGP防环机制:

AS间:若从EBGP邻居收到的路由中有自己所在AS的AS号,BGP路由器就认为出现了环路。从而丢弃此路由。

AS内:从IBGP邻居收到的路由不会再传给自己的IBGP邻居。

BGP路由AD值:

从EBGP学习到的路由的AD是20。

从IBGP邻居学习到的路由的AD是200。

BGP建立邻居的必要条件:

1.双方指定的AS号码必须正确。

2.双方建立邻居的IP地址在单播路由表中有路由可达的。

3.自己的更新源地址必须和对方neighbor的地址相同(满足一边就可以了)。

4.在BGP中有路由不一定可达,还要数据包可达(EBGP默认TTL为1)。

说明:BGP的Router ID的选举规则和OSPF相同。也可手动指定。

BGP数据包的TTL:

若建立EBGP邻居,TTL默认是1。若建立IBGP邻居,TTL默认是255。

BGP消息类型:

Open:TCP会话建立起来以后,两个邻居都要发送一个Open消息。每个邻居都用该消息来标识自己和BGP运行参数。

Keepalive:如果路由器接受了它的邻居在Open消息中的参数,它就会应答一个Keepalive 消息。默认interval是60s,Hold Time是180s。若两边Hold Time不同则取最小值。

Update:用来发布可用及不可用路由。(每个Update包只描述一条路由,这是因为一个Update只能够描述一条路由的路径属性)

Notification:当检测到建立邻居关系发生错误的时候就会发送Notification。

BGP状态:

Idle:正在查找路由表,看neighbor的邻居地址是否在路由表中有匹配路由。如果没找到匹配路由就一直保持在此状态。

Connect:查完路由表,如果TCP连接建立成功,就会转入Open Sent。如果建立失败就会转入Active状态。

Active:代表正在试图建立TCP连接。如果连接重试计时器超时,就退回Connect状态。如果TCP连接成功就转入Open Sent状态。如果TCP连接建立失败,就继续保持在Active状态,并继续发起TCP连接。

Open Sent:TCP连接已建立。BGP也已经发送了第一个Open报文。并且对收到的Open报文进行参数协商。如果协商成功,BGP就会发送一个Keepalive报文,并复位Keepalive计时器,开始计时。同时转入Open Confirm状态。如果协商错误,就会发送一个Notification报文,并转回Idle状态。

Open Confirm:如果收到一个keepalive报文就转入Established状态。如果TCP连接断开转回Idle状态。

Established:邻居已建立。并相互交换update。同时复位保持计时器。

Origin(公认强制属性):

默认情况下,任何路由都不会自动进入BGP路由表,只能以手工导入。对于路由是如何进入BGP路由表的,BGP进程会记录在路由的Origin属性中。

BGP路由的获取方法有3种:

(1):通过network命令将IGP路由表中的路由导入BGP路由表。【i】

(2):从EGP路由协议学习到的。【e】

(3):通过重发布学习到的。【?】

AS Path(公认强制属性):

AS Path中包含了BGP路由器学习到的路由经过了哪些AS。

说明:如果AS Path中没有一个AS号,说明路由是从IBGP邻居学习过来的。因为只有路由在传给EBGP邻居的时候才会加上本地的AS号。

Next hop(公认强制属性):

如果路由是从本地IGP表中学习到的,那么下一跳就是0.0.0.0。如果是从邻居学习到的,那下一跳就是邻居的(如果路由是通过RR学习到的,其下一跳也不会是RR)。

Local pref(公认自选属性):

一条路由的Local_Pref属性只能在同一AS内部传递,在传给EBGP邻居时就会被还原成默认值。Local_Pref的默认值为100,值越大越优先。

说明:此处的EBGP邻居不包括联盟的EBGP邻居,传给联盟的EBGP邻居是不会还原成默认值的。Multi Exit Disc(可选不可传递属性):

MED就是BGP路由中的metric。MED默认值为0。越小越优先。当路由传给EBGP邻居时,此参数会被还原为默认值0。默认情况下,只有当去往目的地的多个下一跳EBGP邻居都在同一个AS时,才会比较MED值,如果多个EBGP邻居为不同AS时,是不会比较MED的。若是要强制在多个不同AS的EBGP邻居之间比较MED值,需要在BGP进程下输入命令:bgp always-compare-med。

Atomic Aggregate(公认自选属性):

在将多条明细路由汇总成一条汇总路由传给邻居时,如果汇总命令后面不携带AS-Set,汇总路由是不会继承所有明细路由的任何属性。而Atomic_Aggregate就是描述这条汇总路由的路径属性不完整。

Originator ID(可选非传递属性):

用于Cluster中路由发起者防止发生环路。该值是本地AS中路由发起者(第一个发起者)的Router ID。如果路由发起者发现其Router ID在所接收到的路由的Originator ID中,那么就知道已经出现了环路,因而忽略该路由。

Cluster list(可选非传递属性):

用于RR防止发生环路的。该属性记录了路由在传递过程中,所经过的所有Cluster中RR 的Cluster ID。如果RR发现其本地Cluster ID在所接收到的路由的Cluster List中,那么就知道已经出现了环路,因而丢弃该路由。

Community(可选可传递属性):

可分为标准团体和扩展团体。标准团体属性可分为私有和公有。

说明:扩展团体属性是用于MPLS VPN的。

私有团体属性:

由4个8位组的数值组成。前2个8位组的数值表示AS,后2个8位组表示出于管理目的自定义的标识符,格式为AA:NN。Cisco的格式默认是NN:AA。ip bgp community new-format命令可以更改格式为AA:NN。在Cisco路由器community属性值是以十进制数表示的。

公有团体属性:

internal:所有路由默认是此属性,无任何属性值。此属性的路由可以传给任何邻居。

no-export(4294967041):携带此属性的路由不会传给EBGP邻居。如果配置了BGP联盟,则不会传给联盟之外的EBGP邻居。(如果在路由器出方向修改路由属性发给EBGP邻居,邻居还是能收到的)

no-advertise(4294967042):携带此属性的路由不会传给任何BGP邻居。(如果在路由器出方向修改路由属性为no-export发给EBGP邻居,邻居收到的路径属性将是这种) local_as(4294967043):携带此属性的路由不会传出AS。在联盟中也不传出小AS。 Weight(Cisco私有属性):

路由的weight属性只在路由器本地起作用。默认为0。越大越优先。如果路由是从本地IGP 表学习到的,则weight值是32768;如果是从邻居学习到的,默认都是0。

说明:weight值在发送出去的时候都会被修改成0。

AS-Set:

当BGP路由器在创建一条汇总路由时,默认此路由会携带Atomic Aggregate属性。如果在此汇总路由上携带AS-Set属性,那么此汇总路由会携带所有明细路由的属性。同时也会删除Atomic Aggregate属性。

说明:AS-Set在进行选路规则时候只作为一个AS号。

路由阻尼:

由于BGP是使用触发更新的。如果由于管理员误操作导致路由频繁变动,或者由于物理原因以及软件原因导致路由多次翻动,那么这些变化的路由将在整个网络中不停传播,将带来严重影响。所以为了防止路由翻动而带来的大量路由更新,BGP采取抑制翻动路由的方法,来将不稳定的路由抑制住,而只有稳定后的路由才会被通告给邻居。

路由每次翻动,BGP都会给该路由加上一个惩罚值,如果翻动多次,惩罚值都会全部累加,当惩罚值累加到一定程度,也就是累加到最大抑制值,那么该路由就被认为是不稳定的,也就不再发给邻居,但是路由的惩罚值会随着时间而减少,当减到释放值时,该路由又可以重新发

给邻居。惩罚值的减少,是和某个时间有关系的,这个时间称为半衰期,每过一个半衰期的时间,惩罚值就减少到原来的一半。虽然路由每翻动一次,都会累加惩罚值,但惩罚值并不是无限累加的,是有一定限制的,这就是最大抑制值,无论路由翻动多少次,累加的惩罚值都不会超过最大抑制值。

Penalty(惩罚值):路由每翻动一次加1000。最大12000就不可加了。

Suppress limit(抑制门限):默认为2000,当路由的惩罚值累加到2000时,便会被抑

制而不发给邻居。

half-life(半衰期):默认为15分钟。每经过一个半衰期时间,惩罚值减到原来的一半。

Resume limit(释放门限):默认为750。当某条被抑制的路由的惩罚值减到释放值时,

就可以再次传给邻居。

Maximum suppress limit(最大抑制时间):60分钟或半衰期的4倍。

注意:

1.只有从EBGP收到的路由才能配置BGP Dampening。从IBGP收到的路由不可以。

2.BGP Dampening可以针对所有BGP路由配置,也可以针对特定路由配置,但无法针对特定邻居配置。

3.BGP Dampening所有值都可自定义,但有范围限制。

IBGP与IGP同步规则:

当BGP要将从IBGP邻居学习到的路由信息传递给其他邻居之前,这些路由必须在IGP路由表中也存在,否则BGP进程认为此路由无效而不能发给其他邻居。

说明:只有从IBGP邻居学习到的路由,才受IBGP与IGP路由同步规则的现在。如果路由是从EBGP邻居学习到的,则不受此规则限制。此规则可以手工开启或关闭。

BGP Peer Group:

在配置多个BGP邻居时,如果这些邻居的配置参数都相同,那么可以使用peer group来减少BGP的配置命令行。

说明:Peer Group名字注意大小写。

Router Reflector:

IBGP水平分割原则(从IBGP邻居学习到的路由不会再传给自己的IBGP邻居)而使用Router Reflector可以打破这个规则。Router Reflector分为Server/Client模式。Server就是RR。说明:Router Reflector也有自己的的一套规则。

1.从EBGP邻居学习到的路由会传给所有邻居。

2.从Client端学习到的路由会传给所有邻居。

3.从非Client端学习到的路由只会传给Client端和EBGP邻居。而不传给非Client端。

RR和自己的Client称为一个Cluster。而在配置时,只需要在RR上指明谁是Client,而Client不需做任何配置;一个Cluster的Client端,同样还可以配置成另一个Cluster的RR。如果将一个Client端配置成另一个Cluster的RR时,这个Client收到一条路由时,不会改变其路由的Originator属性,但是还是会添加自己的Cluster ID到Cluster List中,因为它是另一个Cluster中的RR。

一个Cluster拥有一个唯一的Cluster ID。这个Cluster ID默认就是RR的Router-ID,也可手动设置。 RR端在将路由反射出去时,都会写入自己的Cluster ID(也就是Router-ID)。在路由发送到其它Cluster后,其RR在写入自己的Cluster ID时,还会保留之前的Cluster ID,就像保留AS_Path一样。

说明: RR端传给Client端的路由,其下一跳地址无法改变(使用next-hop-self也无法改变)。说明:出了AS,路由的Cluster List和Originator都会被删除(包括出联盟AS也是会删除)。BGP联盟:

为了解决由于从IBGP邻居收到的路由不能转发给其它IBGP邻居的限制问题,除了可以创建全互联的IBGP邻居关系和使用BGP Reflector之外,还可以使用BGP联盟。

因为只有从IBGP邻居收到的路由才不能转发给其它IBGP邻居,而从EBGP邻居收到的路由可以转发给任何邻居,包括IBGP邻居,所以在拥有多个路由器的大型AS中,BGP Confederation 采用在AS内部建立多个子AS的方法,从而将一个大的AS分割成多个小型AS,让AS内部拥有足够数量的EBGP邻居关系来解决路由传递限制问题。

BGP会为联盟分配一个联盟ID(confederation ID),该联盟ID被联盟之外的BGP路由器视为整个联盟的AS号。外部BGP路由器无法看见联盟内部的AS结构。而与位于联盟中的BGP 路由器建立邻居时,外部AS的BGP路由器会指定联盟ID为邻居的AS号。

BGP条件路由:

BGP可以在BGP路由表中存在某条路由时,向邻居发送某些特定路由。

BGP默认路由:

BGP的默认路由只能创建,而不能通过静态重分布。创建默认路由,只可针对某个邻居发布默认路由。

BGP Auto-Summary:

BGP中的汇总只是针对通过重分布学习到的路由,而不是针对incomplete属性的路由。且在BGP邻居之间是没有自动汇总这个概念。

BGP认证:

BGP只支持MD5的证。

BGP负载均衡:

默认情况下BGP没有实现负载均衡。但也可实现负载均衡,最大支持16条路由的负载均衡。说明:BGP的负载均衡分为IBGP路由和EBGP路由的负载均衡。

BGP重分布:

在将OSPF路由重分布进BGP的时候,默认只有属于OSPF域内部路由才会进入BGP。而5类LSA路由和7类LSA路由是不会被重分布进BGP中的

在将EIGRP(RIP)路由重分布进BGP的时候,不区分内部和外部。如果不指定metric将使用EIGRP路由的metric。如果EIGRP路由是直连的MED将是0。

说明:在将BGP路由重分布进EIGRP和OSPF中时,会将路由的AS-Path最前面的一个号码作为Tag值重分布进去。

而在将BGP重分布进IGP协议的时候,默认只有从EBGP邻居学习到的路由和从本地IGP路由表中学习到的路由才会被重分布进入IGP协议。

说明:这里指的是做重分布的路由器从EBGP邻居学习到的路由。不包括从IBGP邻居学习到的AS外部路由。

BGP重定向:

在多路访问链路上,如果从此链路的接口上学习到一条路由,但此路由又从此接口发送出去,就会触发ICMP的重定向规则。

前面标为*的路由:

代表此路由可用。

前面标为I的路由:

代表此路由是从IBGP邻居学习到的。

前面标为 > 的路由:

代表此路由最优。可加入IGP路由表。

前面标为S的路由:

在做聚合时,被抑制掉了不向邻居发送。

前面标为D的路由:

因为路由惩罚值到了抑制门限规定的值。表明此路由已经被抑制掉了

前面标为r的路由:

代表此路由从IGP学习到了,也从BGP学习到了。但IGP学习到的路由 AD值要小于BGP的AD

值(不放进路由表,但会传给EBGP邻居)。

BGP路由最优的条件:

1.下一跳可达。

2.如果是从IBGP邻居学习的路由,则必须满足IGP与IBGP同步规则。或此规则已被关闭。

3.如果有多条到达相同目的地的路由,则要经过选路原则的比较。

说明:在BGP路由表中,只有最优路由才会被BGP使用,也只有最优路由才会传递给BGP邻居。BGP选路原则:

1.最高Weight值。如果没做策略,默认从邻居学习到的路由weight值为0;从本

地IGP路由表中学习到的是32768。

2.最高LOCAL_PREF值,默认100。

3.本地发起路由。

4.最短AS PATH。注意AS Set属性被认为是1个AS号。而联邦内部AS不被计算。

如果要忽略对AS Path的比较,可输入bgp bestpath as-path ignore。

5.Origin类型(IGP > EGP > ?)。

6.最小MED值。只有当多个下一跳EBGP邻居在同一AS时才比较MED值。如果要在

多个不同AS的下一跳中比较MED,可输入bgp always-compare-med。

7.EBGP邻居优于IBGP邻居。BGP联盟内部没有此规则。

8.如果多条路径的下一跳邻居同为EBGP或IBGP,则选最小IGP metric到达下一跳

的路由。

9.负载均衡(如果开启的话)。

10.如果下一跳都为EBGP,则选择最早学习到的路由(邻居建立时间最长的路由)。

如果要忽略此步,可输入bgp bestpath compare-routerid。

11.最低Router-ID下一跳。

12.最短cluster list(如同AS_PATH)。

13.如果Router ID相同,则选最小下一跳的邻居地址。

==============================命令演示==============================

Community的公有团体属性:

Router(config)#access-list 1 permit 1.1.1.0

Router(config)#route-map 1 permit 10

Router(config-route-map)#match ip address 1

Router(config-route-map)#set community no-export

Router(config-route-map)#exit

Router(config)#route-map 1 permit 20

Router(config-route-map)#exit

Router(config)#router bgp 1

Router(config-router)#neighbor 12.1.1.2 send-community

Router(config-router)#neighbor 12.1.1.2 route-map 1 out

说明:将1.1.1.0添加一个公有团体属性。并发送团体属性给12.1.1.2。(公有团体属性配置都差不多)

Community的私有团体属性:

R1(config)#ip bgp-community new-format

R1(config)#access-list 1 permit 1.1.1.0

R1(config)#route-map 1 permit 10

R1(config-route-map)#match ip address 1

R1(config-route-map)#set community 23:11

R1(config-route-map)#exit

R1(config)#route-map 1 permit 20

R1(config-route-map)#exit

R1(config)#router bgp 1

R1(config-router)#neighbor 12.1.1.2 send-community

R1(config-router)#neighbor 12.1.1.2 route-map 1 out

说明:R1将1.1.1.0添加一个私有团体属性。并发送团体属性给12.1.1.2。route-map末尾一定要写一个空语句,否则有个拒绝所有。

R2(config)#ip bgp-community new-format

R2(config)#ip community-list 1 permit 23:11

R2(config)#route-map 1 permit 10

R2(config-route-map)#match community 1

R2(config-route-map)#set weight 199

R2(config-route-map)#exit

R2(config)#route-map 1 permit 20

R2(config-route-map)#exit

R2(config)#router bgp 1

R2(config-router)#neighbor 12.1.1.1 route-map 1 out

说明:将从12.1.1.1收到的路由,weight全都改为199(只要AA:NN值是23:11的路由)。

注意:ip community-list支持标准、扩展和命名格式。这里只演示一种。

① 路由聚合:

Router(config)#router bgp 1

Router(config-router)#aggregate-address 1.1.0.0 255.255.252.0 as-set

说明:让这条汇总路由继承所有明细路由的属性(如:Community As-path Local-pref Origin)。

Router(config)#access-list 1 permit 1.1.1.0

Router(config)#route-map 1 permit 10

Router(config-route-map)#match ip address 1

Router(config-route-map)#exit

Router(config)#router bgp 1

Router(config-router)#aggregate-address 1.1.0.0 255.255.252.0 suppress-map 1

说明:宣告汇总路由时,匹配route-map 1的路由都会被抑制掉,且生成一个指向null 0的汇总路由。

Router(config)#access-list 1 permit 1.1.1.0

Router(config)#route-map 1 permit 10

Router(config-route-map)#match ip address 1

Router(config-route-map)#exit

Router(config)#router bgp 1

Router(config-router)#neighbor 2.2.2.2 unsuppress-map 1

说明:在宣告汇总时已经抑制掉了所有明细路由不向邻居发送,但现在在向邻居2.2.2.2发送路由时匹配route-map 1的路由不会被抑制掉。

Router(config)#router bgp 1

Router(config-router)#aggregate-address 1.1.0.0 255.255.252.0 summary-only 说明:只向邻居通告一条汇总路由。而抑制掉所有明细路由。抑制路由的标识是前面的s。

注意:这条路由没有携带As Set属性,所以此路由会回传到明细路由传播过来方向的路由器上。

② 路由聚合:

Router(config)#ip route 1.1.0.0 255.255.252.0 null 0

Router(config)#router bgp 1

Router(config-router)#net 1.1.0.0 ma 255.255.252.0

说明:先创建一条指向null 0口的静态汇总路由,再通过BGP宣告出去。

③ 路由聚合:

Router(config)#ip route 1.1.0.0 255.255.252.0 null 0

Router(config)#router bgp 1

Router(config-router)#re static

说明:创建一条指向null 0口的静态汇总路由,再通过重分布发布出去。 BGP Dampening:

Router(config)#router bgp 1

Router(config-router)#bgp dampening

说明:针对所有路由配置Bgp Dampening。

Router(config)#router bgp 1

Router(config-router)#bgp dampening 15 800 2100 60

说明:针对所有路由,配置Bgp Dampening的参数值。

Router#sh ip bgp dampening parameters

说明:查看BGP Dampening参数。

Router#sh ip bgp dampening dampened-paths

说明:查看因为触发抑制门限规定的值,已经被抑制掉的路由。

Router(config)#access-list 1 permit 1.1.1.0

Router(config)#route-map 1 permit 10

Router(config-route-map)#match ip address 20

Router(config-route-map)#set dampening 15 800 2100 60

Router(config-route-map)#exit

Router(config)#route-map 1 permit 20

Router(config-route-map)#exit

Router(config-route-map)#router bgp 1

Router(config-router)#bgp dampening route-map damp

说明:只对1.1.1.0配置BGP Dampening,并自定义Dampening值。

BGP Peer Group:

Router(config)#router bgp 1

Router(config-router)#neighbor 1 peer-group

Router(config-router)#neighbor 1 remote-as 1

Router(config-router)#neighbor 1 update-source loopback 0

Router(config-router)#neighbor 2.2.2.2 peer-group 1

Router(config-router)#neighbor 3.3.3.3 peer-group 1

说明:创建Peer Group(名子是1)。配置邻居AS为1、使用loopback0口的地址和对方建立TCP连接。然后再neighbor邻居2.2.2.2和3.3.3.3时调用peer group 1。

BGP Router Reflector:

Router(config)#router bgp 1

Router(config-router)#neighbor 1.1.1.1 route-reflector-client

说明:将自己配置为RR,1.1.1.1配置为Client端。

Router(config-router)#bgp cluster-id 256

说明:修改Router的cluster ID为0.0.1.255。

BGP联盟:

Router(config)#router bgp 12

说明:所有在联盟内部的路由器都使用子AS号。

Router(config)#router bgp 12

Router(config-router)#bgp confederation identifier 1234

说明:所有在联盟内部的路由器都要表明所在的大AS号(也就是联盟ID)。

Router(config)#router bgp 12

Router(config-router)#bgp confederation peer 34

说明:联盟内的子AS之间建立EBGP邻居的路由器,都要表明邻居所在的子AS号。

BGP条件路由:

Router(config)#access-list 1 permit 1.1.1.0

Router(config)#access-list 2 permit 2.2.2.0

Router(config)#route-map 1 permit 10

Router(config-route-map)#match ip address 1

Router(config-route-map)#exit

Router(config)#route-map 2 permit 10

Router(config-route-map)#match ip address 2

Router(config)#router bgp 1

Router(config-router)#neighbor 5.5.5.5 advertise-map 2 exist-map 1

说明:只有Route-map 1中的路由存在于BGP路由表的时候,才会向邻居5.5.5.5通告Route-map 2中的路由。(要重新建立邻居关系才看的到效果)

① 默认路由:

Router(config)#ip route 0.0.0.0 0.0.0.0 null 0

Router(config)#router bgp 1

Router(config-router)#redistribute static

说明:创建一条静态默认路由,下一跳指向null 0。再使用重分布进行宣告。这种方法会向所

有BGP邻居传递默认路由。

② 默认路由

Router(config)#ip route 0.0.0.0 0.0.0.0 null 0

Router(config)#router bgp 1

Router(config-router)#network 0.0.0.0

说明:创建一条静态默认路由,下一跳指向null 0口。再通过network宣告。这种方法会向所有BGP邻居传递默认路由。

③ 默认路由:

Router(config)#router bgp 1

Router(config-router)#neighbor 1.1.1.1 default-originate

说明:向邻居1.1.1.1通告一条默认路由。

BGP认证:

Router(config)#router bgp 1

Router(config-router)#neighbor 1.1.1.1 password cisco

说明:在与1.1.1.1建立BGP邻居时要进行MD5认证。

将BGP重分布进IGP协议中:

Router(config)#router bgp 1

Router(config-router)#bgp redistribute-internal

说明:默认情况下在将BGP路由重分布到IGP协议的时候,只会将从EBGP邻居学习到的路由和从本地IGP路由表中学习到的路由重分布到IGP路由协议中。若要将从IBGP邻居

学习到的路由也重分布到IGP协议中的时候就需要加上此命令。

将OSPF重分布进BGP协议中:

提示:可以将下面3种命令格式结合成一条命令使用

Router(config)#router bgp 1

Router(config-router)#redistribute ospf 1

说明:将OSPF 1的路由充分布进BGP。如果不指定路由类型,默认只会将O和O IA路由重分布到BGP中。

Router(config)#router bgp 1

Router(config-router)#redistribute ospf 1 match external

说明:将OSPF 1的路由充分布进BGP。如果不指定外部路由类型,默认是将O E1和O E2的路由都重分布进BGP。

Router(config)#router bgp 1

Router(config-router)#redistribute ospf 1 match nssa-external

说明:将OSPF 1的路由充分布进BGP。如果不指定外部路由类型,默认是将O N1和O N2的路由都重分布进BGP。

修改BGP的触发更新时间:

Router(config)#router bgp 1

Router(config-router)#neighbor 1.1.1.1 advertisement-interval 20

说明:修改触发更新时间为20s。如果邻居是EBGP就是修改EBGP的触发更新时间。EBGP 默认是30s。如果邻居是IBGP则修改IBGP的触发更新时间。IBGP默认5s。

BGP邻居Down掉的保持机制:

Router(config)#router bgp 1

Router(config-router)#no bgp fast-external-fallover

说明:此命令意思是如果邻居Down掉了,而邻居关系不会马上断开。而是等待保持时间超时。但bgp fast-external-fallover默认是开启的。

BGP后门路由:

Router(config)#router bgp 1

Router(config-router)#network 1.1.1.0 backdoor

说明:将从EBGP邻居学习到的路由(1.1.1.0)的AD变为200。该路由只在本地有效并不会传给其它BGP邻居。主要用于选路使用。

① 路由过滤:

Router(config)#access-list 1 deny 10.1.1.0

Router(config)#access-list 1 permit any

Router(config)#router bgp 1

Router(config-router)#neighbor 1.1.1.1 distribute-list 1 out

说明:向邻居1.1.1.1发送更新时,要先进行distribute-list操作。(建议用prefix-list)② 路由过滤:

Router(config)#ip prefix-list 1 seq 5 deny 1.1.1.1/32

Router(config)#ip prefix-list 1 seq 10 permit 0.0.0.0/0 le 32

Router(config)#router bgp 1

Router(config-router)#neighbor 1.1.1.1 prefix-list 1 out

说明:向邻居1.1.1.1发送更新时,要先进行prefix-list操作。

③ 路由过滤:

Router(config)#access-list 1 permit 10.1.1.0

Router(config)#route-map 1 deny 10

Router(config-route-map)#match ip address 1

Router(config-route-map)#exit

Router(config)#route-map 1 permit 20

Router(config-route-map)#exit

Router(config)#router bgp 1

Router(config-router)#neighbor 1.1.1.1 route-map 1 out

说明:将要操作的路由使用ACL(prefix-list)抓出来。再由Route-map调用进行过滤。 负载均衡:

Router(config)#router bgp 1

Router(config-router)#maximum-paths 2

说明:实现EBGP路由的负载均衡。只在路由表中才能看到效果。

Router(config)#router bgp 1

Router(config-router)#maximum-paths ibgp 2

说明:实现IBGP路由的负载均衡。只在路由表中才能看到效果。

小命令使用指南:

Router#show ip bgp summary

说明:查看BGP的邻居简要信息。

Router#show ip bgp community

说明:查看BGP的有community属性的路由。

Router#show ip bgp neighbors

说明:查看BGP所有邻居的详细信息。

Router#show ip bgp neighbors 1.1.1.1

说明:查看邻居1.1.1.1的详细信息。

Router#show ip bgp

说明:查看BGP路由表

Router#show ip bgp rib-failure

说明:查看前面标识为r的路由。

Router#show ip bgp neighbors 1.1.1.1 advertised-routes

说明:查看向邻居1.1.1.1传递了哪些路由。

Router#show ip bgp neighbors 1.1.1.1 routes

说明:查看从邻居1.1.1.1收到哪些路由。

Router(config)#router bgp 1

Router(config-router)#neighbor 1.1.1.1 soft-reconfiguration inbound Router#show ip bgp neighbors 1.1.1.1 received-routes

说明:查看从邻居1.1.1.1收到了哪些路由。

Router(config)#router bgp 1

Router(config-router)#neighbor 1.1.1.1 shutdown

说明:与1.1.1.1之间Down掉邻居关系。

Router#clear ip bgp * soft

说明:要求邻居重新传递路由更新。

Router#clear ip bgp *

说明:重置所有邻居的邻居关系。

BGP-community应用配置实例

BGP community属性 网友:怒咆的野狼发布于:2007.05.18 13:11(共有条评论) 查看评论| 我要评论 R1R2R3R4R5顺次互联 community属性。这是不同于选路属性的一个属性。该属性具有以下几个特点; 1 community是一个任选可透明传送属性,它可以简化策略的执行。 2 它是cisco的一个专有属性,现在在RFC1997中已被标准化。 3 commnity属性标明一个目的地作为一些目的地团体中的一个成员,这些目的地共享一个或多个共同的特性。 4 community值可以自己定义,另外有几个已经定义好的团体属性: NO_ADVERTISE:表示携带该值的路由不能公布给EBGP和IBGP邻居 NO_EXPORT:表示携带该值的路由不能公布给EBGP邻居 LOCAL_AS:(NO_EXPORT_SUBCONFED)携带该值的路由可以公布给联盟内的其它子自治系统但不能在构成联盟的AS以外进行公布。 试验步骤如下: 配置BGP,在本实验中要建立联邦我们顺便学习一下联邦 配置团体属性,让2.2.2.0网络只被R2学习到 配置团体属性,让22.22.22.0网络只被R2,R3学习到 配置团体属性,让222.222.222.0网络只被R2,R3,R4学习到 配置团体属性,让R1不传递2.2.2.0 这条路由 二试验配置 配置BGP r1#sh run | b r b

router bgp 100 no synchronization network 2.2.2.0 mask 255.255.255.0 network 22.22.22.0 mask 255.255.255.0 network 222.222.222.0 neighbor 12.0.0.2 remote-as 234 no auto-summary r2#sh run | b r b router bgp 64512 no synchronization bgp confederation identifier 234 /指明联邦号是234 neighbor 12.0.0.1 remote-as 100 neighbor 23.0.0.3 remote-as 64512 /R3跟它处于联邦内同一个子AS中neighbor 23.0.0.3 next-hop-self /指定下一跳是它自己 no auto-summary r3#sh run | b r b router bgp 64512 no synchronization bgp confederation identifier 234 bgp confederation peers 64513 /指明该联邦内的另一个子AS neighbor 23.0.0.2 remote-as 64512 neighbor 34.0.0.4 remote-as 64513 /R4跟它处于联邦内不同子AS之间no auto-summary

BGP的团体属性

BGP的团体属性 2012年12月2日BGP的团体属性有别于其它任何一个属性,团体不限于一个网络或一个自治系统,它没有物理边界,可以穿越多个AS。从实质上讲,团体属性其实就是对BGP路由更新的一种标记方法,携带了团体属性的BGP路由在传递过程中,沿途的路由器可以根据团体属性来对该路由进行相应的操作(如修改LP、MED等),而不需要再执行路由过滤,从而简化了路由策略的配置,增强了灵活性。 例如,一个ISP_A与ISP_B和ISP_C相连,其分配的IP地址很分散,但它欲向ISP_B 通告本AS内的路由时设置MED值为200,而向ISP_C通告本AS内的路由时设置MED值为100,则在ISP_A内的所有BGP路由器上要求注入到BGP的本地路由分配团体属性“A:N”,这样,两个出口路由器RTB和RTC分别向EBGP邻居发送路由时,直接根据路由携带的团体属性值进行相应的过滤和控制即可,不再依赖于繁琐的ACL或是IP Prefix列表一条路由一条路由的指定,从而简化了操作。 团体属性的Type Code是8,32比特长,有3种方式定义:十进制方式,取值范围是1-4294967295;十六进制方式,以AA:NN的格式表示,前面是本地自治系统号码,后面两个八位组是本地定义值(开头部分0x00000000-0x0000FFFF和结尾部分0xFFFF0000-0xFFFFFFFF被保留);第三种方式是使用名字,使用公认的BGP团体名字。默认情况下,Cisco IOS 软件使用较旧的十进制格式。要以AA:NN 格式进行配置和显示,则发出ip bgp-community new-format 全局配置命令。AA:NN 格式的第一部分表示AS 编号,第二部分表示 2 字节编号。 因为团体属性为可选传递属性,所以需要在每台传递途径路由器上向邻居send-community,保持其属性的正常传递。 RFC1997还规定了4种公认的团体属性,设备收到带有这4个公认的团体属性的路由,自动按照RFC规定来执行的,不需要再配置路由策略: (1)Internet 默认的团体属性,默认所有路由都属性该团体。 (2)No_Export 值为0xFFFFFF01或4294967041,携带该团体属性值的路由不向AS外的EBGP邻居发送,但可以向联盟内的EBGP邻居发送,即该路由只被限制在AS内部传递,如果配置了联盟,则只在联盟内传递。 该路由可以被传递到整个AS或联盟内。(注:为解决大型AS内的IBGP互连,可以将一个AS划分为若干个子AS,被划分的AS称为联盟。各AS内部采用IBGP全互连;各AS间采用EBGP连接,称为联盟内的EBGP连接;与联盟外的AS的连接称为联盟外的EBGP 连接) 例如某个运营商网络以省为单位划分成若干个私有AS,携带该团体属性值的路由可以在整个运营商网络中传递。 (3)Local_AS 值为0xFFFFFF03或4294967043,又称No_ Advertise_Subconfed,携带该团体属性值的路由不向任何EBGP邻居发送,包括联盟内的EBGP邻居,即该路由只被限制在AS内部传递,如果配置了联盟,则只在联盟内的子AS内部传递。 例如某个运营商网络以省为单位划分成若干个私有AS,携带该团体属性值的路由只能在运营商网络中的某个子AS内传递。 (4)No_Advertise 值为0xFFFFFF02或4294967042,携带该团体属性值的路由不向任何BGP邻居发送,

BGP路径属性之AS_PATH的四种类型浅析

BGP路径属性之AS_PATH的四种类型浅析 AS_PATH属性,公认必遵,描述到达目标网络所要经过的AS号序列。最重要的作用是防环,如果BGP router发现自己的AS号位于接收自外部对等体的路由,则忽略该路由 仅当update消息被发送给其他的AS时,BGP 路由器才会将其AS号追加在AS_PATH中。这句话也隐含了另一个意思,那就是如果要修改AS_PATH属性,则必须在AS边界路由器上执行策略。 有四种类型的AS_PATH: AS_SET:一个去往特定目的地所经路径上的无序AS号列表 AS_SEQENCE:一个有序的AS号列表 AS_CONFED_SEQUENCE 一个去往特定目的地所经路径上的有序AS 号列表,其用法与AS_SEQUENCE完全一样,区别在于该列表中的AS号属于本地联邦中的AS AS_CONFED_SET 一个去往特定目的地所经路径上的无序AS号列表,去用方法与AS_SET完全一样,区别在于列表中的AS号属于本地联邦中的AS 以上四种类型是通过AS_PATH属性中的类型代码进行区分。关于这两个联邦特有的AS_PATH 类型,详细内容请见本文档“联邦”一小节,对于前两种AS_PATH怎么理解呢?

如上图由于做了汇聚,可能会丢失AS号信息,而作为AS号本身,如果用于防环的目的,其实并不一定要求AS号排列有序,因此AS3113向上游通告汇总路由时,以AS_SEQENCE为起始,同时AS_SET仍然保留明细路由的AS号(无序)。 如果AS_PATH中包含了AS_SET,那么就不需要在聚合路由中包含ATOMIC_AGGREGATE了,这是因为,AS_SET不但可以向下行路由器通告已经发生了路由聚合,而且包含了比ATOMIC_AGGREGATE更多的信息 AS_PATH:类型 AS_SEQENCE 以下为UPDATE消息中的AS_PATH字段内容(AS_PATH类型为AS_SEQUENCE的情况,也就是一般情况) 上图仅做基本的BGP配置,在R1上发布1.0及2.0,不做汇总,R4收到的AS_PATH如下:

第七部分 BGP协议的属性

BGP 协议复习大纲 第七部分BGP协议的属性 引:BGP属性是了解BGP协议的一大重点,也可以称之为BGP路径选择的属性,在第四部分中已经介绍了BGP的路径属性位于Update 报文中,本部分将详细介绍BGP的属性及其应用。BGP的属性是施加在每一条路由上的,表达了路由的特征,这些属性可以分为过渡和非过渡的,还有一些是必遵的和可选的,且便于扩展和开发。从而才有路径的选择。 一、BGP度量值使用属性来判断 1、公认属性 & 公认属性 ——所有BGP 路由器都必须识别的属性 ——该属性传递给BGP邻居 & 公认必遵属性 ——在所有的更新消息中必须出现 & 公认自由决定属性 ——可以在更新消息中不出现 2、可选属性 & 可选属性 ——非公认属性被称为可选属性 ——可选属性并不要求BGP实现都支持。它可能是私有的属性。 & 可选传递属性 ——非公认属性,可选属性可以是传递的和非传递的。 ——对于不支持的可选传递属性,路由器将原封不动地传递给其他BGP路由器。在这种情况下,属性被标记为partial(部分的)。 & 可选非传递属性 ——路由器将其删除,而不将它传递给其他路由器 3、强制属性 4、自由决定属性 5、传递属性 6、非传递属性 7、部分属性 二、BGP属性组合包含以下几部分 1、公认强制属性 & AS路径(as-path) & 下一跳(next-hop) & 源头(origin) 2、公认自由决定属性 & 本地优先级 & 原子聚合

3、可选传递属性 & 聚合站 & 共同体 4、可选非传递属性 & 多出口鉴别器(MED) 三、BGP的所有路由属性(最多有256种属性,截止目前共有16种属性被使用) & *必遵属性(重点) *1、Origin(起点属性) *2、AS-Path(经过哪些自治系统) *3、Next hop(自治系统的下一跳) 4、MED(控制优先的线路) 5、Local-Prefernce(本地优先属性) 6、Community(团体属性) & 聚合属性(BGP在聚合时使用) 7、Atomic-Aggregate 8、Aggregate & 反射属性(配置BGP反射器时使用) 9、Originator – ID 10、Cluster – List & 厂家新增的(设备制造商增加的) 11、Destination Pref (MCI) 12、Advertiser(Baynet) 13、Rcid – Path(Baynet) & 被用在NPRS的MBGP上的(非重点) 14、MP _ Reach _ NLRI 15、MP _ Unreach _ NLRI 16、Extended _ Communities 四、起点属性(Origin) 起点(源)属性告诉所有的自治系统该路径的好或坏。起点属性是公认的必遵的和可传递的。 标志着一条路由怎样成为BGP路由,可能有下面三种属性: 1、 IGP属性 路由是用“network”命令注入到BGP路由表中的,则Origin属性为IGP 2、 Incomplete属性 路由是用“redistribute”命令注入到BGP路由表中的,则Origin属性为Incomplete 由于IGP比Incomplete人为操纵的程度更高,因此再选路时拥有较高的优先级 3、 EGP属性 指在早期的EGP协议时使用,由于BGP取代了EGP,所以这种EGP属性很少见,在实际中应用的也很少,此章不做重点探讨。

BGP origin属性

一试验说明: 在本实验中要分别建立IBGP邻居和EBGP邻居。然后研究一下BGP路由的origin属性。这个属性有3个值,分别为: 1 IGP:当使用bgp network 命令或将IGP路由重分布进BGP中。在BGP路由表中起源于IGP的路由用“i”表示 2 EGP:通过BGP学习到的路由。在BGP路由表中起源于EGP的路由用“e”表示 3 incomplete:当路由重分布进BGP时,即无法确定路由的始发者时,在BGP路由表中用“?”表示――――――――――――――――――――――――――――――――――――――― 配置IGP协议 要在AS 100中配置IGP协议,首先建立IGP的连通性,本实验选用EIGRP作为IGP协议,现在进行配置。 RTA RTA(config)#router eigrp 90 RTA(config-router)#no auto-summary RTA(config-router)#network 150.10.0.0 RTA(config-router)#passive-interface s1/0.23 RTC RTC(config)#router eigrp 90 RTC(config-router)#no auto-summary RTC(config-router)#network 150.10.0.0 RTC(config-router)#network 175.10.0.0 RTB RTB(config)#router eigrp 90 RTB(config-router)#no auto-summary

RTB(config-router)#net 175.10.0.0 RTB(config-router)#network 190.10.50.0 ―――――――――――――――――― RTA#sh ip route 170.10.0.0/24 is subnetted, 1 subnets C 170.10.20.0 is directly connected, Serial1/0.23 190.10.0.0/24 is subnetted, 1 subnets D 190.10.50.0 [90/2809856] via 150.10.30.2, 00:21:34, Serial1/0.21 D 175.10.0.0/16 [90/2681856] via 150.10.30.2, 00:23:10, Serial1/0.21 C 150.10.0.0/16 is directly connected, Serial1/0.21 EIGRP路由已经可以正常学习到。―――――――――――――――――――――――――――――――――――――――配置BGP RTA router bgp 100 no synchronization network 150.10.0.0 neighbor 170.10.20.2 remote-as 300 neighbor 175.10.40.2 remote-as 100 no auto-summary RTB router bgp 100 no synchronization network 190.10.50.0 mask 255.255.255.0 neighbor 150.10.30.1 remote-as 100 no auto-summary RTE router bgp 300 no synchronization network 170.10.0.0 mask 255.255.255.0 neighbor 170.10.20.1 remote-as 100 no auto-summary ――――――――――――――――――――――――――――――――――――― 配置静态路由 在RTA上配置一条静态路由,然后重分布到BGP中 RTA(config)#ip route 190.10.0.0 255.255.0.0 null 0 RTA(config)#router bgp 100 RTA(config-router)#redistribute static ――――――――――――――――――――――――――――――――――――――试验测试: 分别查看RTA和RTE的BGP路由表 RTA#sh ip bgp

BGP community属性

BGP community属性无敌详解文档(视频详解+配套文档) community属性是BGP众多路径属性中一个相对比较难理解的知识点,需要通过大量实验加深印象,为了帮助大家更清晰的了解这个路径属性,我特定编写了这份文档,希望对大家有所帮助。 本文档配套详解视频: 1、community的基本概念 可选传递,用于简化路由策略的执行。可以将某些路由分配一个特定的COMMUNITY 属性,之后就可以基于COMMUNITY值而不是每条路由进行BGP属性的设置了。COMMUNITY属性对邻居起作用,在设置后,同时需要向邻居发送(send community,默认是不会发送的)。 COMMUNITY属性是一组4个8位组的数值,RFC1997规定前2B表示AS号,后2B 表示基于管理目的设置的标示符,格式为AA:NN,而CISCO默认显示格式为NN:AA (CISCO IOS在显示community值时,默认是按10进制格式显示),可使用全局配置命令ip bgpcommunity new-format将CISCO默认格式改为RFC格式。 例如将AS12的某条路由COMM值改为10000,RFC采用十六进制表示COMMUNITY属性,而CISCO采用十进制。RFC格式为12:10000,十六进制为0x 000C2710,再转换为十进制796432(这就是CISCO IOS默认显示的值)。

抓个包看一下: 2、在route-map中设置community属性 route-map test permit 10 set community ? <1-4294967295> community number aa:nn community number in aa:nn format additive Add to the existing community 设置commu值为附加,否则为覆盖 internet Internet (well-known community) 默认所有路由都属于该团体 local-AS Do not send outside local AS (well-known community) no-advertise Do not advertise to any peer (well-known community) no-export Do not export to next AS (well-known community) none No community attribute 下边我们来看一下community的这几个众所周知值的本文为原创博文, no-advertise

BGP团体属性和策略

实验:BGP中路由策略的一些应用 要求: 192.168.20.1/24 COST 101 团体属性值200:100 21.1/24 过滤 22.1/24 COST100 R3的收到的20.1 附加一个AS号1000和团体属性100:100 AS100过滤AS200的流量不传给AS300 (r3没有2.2.2.2) 发送BGP更新报文时,可以携带私有自治系统号不携带私有自治系统号(peer 192.168.1.2 public-as-only ) 配置如下: AR1 # sysname r1 # interface Ethernet0/0/0 ip address 192.168.1.1 255.255.255.252 # interface Ethernet0/0/1 ip address 192.168.1.5 255.255.255.252 # interface LoopBack20 ip address 192.168.20.1 255.255.255.0 # interface LoopBack21 ip address 192.168.21.1 255.255.255.0 # interface LoopBack22 ip address 192.168.22.1 255.255.255.0

# bgp 100 peer 192.168.1.2 as-number 200 peer 192.168.1.6 as-number 300 # ipv4-family unicast undo synchronization import-route direct peer 192.168.1.2 enable peer 192.168.1.6 enable peer 192.168.1.6 route-policy a export peer 192.168.1.2 route-policy a export peer 192.168.1.6 advertise-community peer 192.168.1.2 advertise-community # route-policy a permit node 10 if-match ip-prefix a apply cost 101 apply community 200:100 # route-policy a deny node 20 if-match ip-prefix b # route-policy a permit node 30 if-match ip-prefix c apply cost 100 # route-policy a permit node 200 # ip ip-prefix a index 10 permit 192.168.20.0 24 greater-equal 24 less-equal 32 ip ip-prefix b index 10 permit 192.168.21.0 24 greater-equal 24 less-equal 32 ip ip-prefix c index 10 permit 192.168.22.0 24 greater-equal 24 less-equal 32 # return AR2 # sysname r2 # interface Ethernet0/0/0 ip address 192.168.1.2 255.255.255.252 # interface Serial0/0/3

BGP基础之origin属性

BGP基础之origin属性 [ 2007/1/24 2:45:18 | By: wangyang ] 一试验说明: 在本实验中我们要分别建立IBGP邻居和EBGP邻居。然后研究一下BGP路由的origin属性。这个属性有3个值,分别为: 1 IGP:当使用bgp network 命令或将IGP路由重分布进BGP中。在BGP路由表中起源于IGP的路由用“i”表示 2 EGP:通过BGP学习到的路由。在BGP路由表中起源于EGP的路由用“e”表示 3 incomplete:当路由重分布进BGP时,即无法确定路由的始发者时,在BGP 路由表中用“?”表示――――――――――――――――――――――――――――――――――――――― 二基本配置: 1 配置底层联通 由于我的底层拓扑是帧中继,所以先要把帧中继配通。下面是配置 RTA interface Serial1/0 no ip address encapsulation frame-relay no frame-relay inverse-arp frame-relay lmi-type ansi interface Serial1/0.21 point-to-point ip address 150.10.30.1 255.255.0.0 frame-relay interface-dlci 201 interface Serial1/0.23 point-to-point

ip address 170.10.20.1 255.255.0.0 frame-relay interface-dlci 203 ――――――――――――――― RTB interface Loopback1 ip address 190.10.50.1 255.255.255.0 interface Serial1/0 ip address 175.10.40.2 255.255.0.0 encapsulation frame-relay frame-relay map ip 175.10.40.1 401 broadcast no frame-relay inverse-arp frame-relay lmi-type ansi ―――――――――――――――――――― RTE interface Loopback1 ip address 170.10.0.1 255.255.255.0 interface Serial1/0 ip address 170.10.20.2 255.255.255.0 encapsulation frame-relay frame-relay map ip 170.10.20.1 302 broadcast no frame-relay inverse-arp frame-relay lmi-type ansi 经测试底层已经联通。――――――――――――――――――――――――――――――――――― 2 配置IGP协议 要在AS 100中配置IGP协议,首先建立IGP的连通性,本实验我们选用EIG RP作为IGP协议,现在进行配置。 RTA RTA(config)#router eigrp 90 RTA(config-router)#no auto-summary RTA(config-router)#network 150.10.0.0 RTA(config-router)#passive-interface s1/0.23 RTC RTC(config)#router eigrp 90 RTC(config-router)#no auto-summary RTC(config-router)#network 150.10.0.0 RTC(config-router)#network 175.10.0.0 RTB RTB(config)#router eigrp 90 RTB(config-router)#no auto-summary RTB(config-router)#net 175.10.0.0 RTB(config-router)#network 190.10.50.0――――――――――――――――――

BGP基础之community属性

BGP基础之community属性 一试验说明: 本实验我们来研究一下BGP的一个属性:community属性。这是不同于选路属性的一个属性。该属性具有以下几个特点; 1 community是一个任选可透明传送属性,它可以简化策略的执行。 2 它是cisco的一个专有属性,现在在RFC1997中已被标准化。 3 commnity属性标明一个目的地作为一些目的地团体中的一个成员,这些目的地共享一个或多个共同的特性。 4 community值可以自己定义,另外有几个已经定义好的团体属性: NO_ADVERTISE:表示携带该值的路由不能公布给EBGP和IBGP邻居NO_EXPORT:表示携带该值的路由不能公布给EBGP邻居 LOCAL_AS:(NO_EXPORT_SUBCONFED)携带该值的路由可以公布给联盟内的其它子自治系统但不能在构成联盟的AS以外进行公布。 在本实验中,我们就先来研究以下这几个已经定义好的团体属性。试验步骤如下: 1 底层配置 2 配置BGP,在本实验中要建立联邦我们顺便学习一下联邦 3 配置团体属性,让2.2.2.0网络只被R2学习到 4 配置团体属性,让22.22.22.0网络只被R2,R3学习到 5 配置团体属性,让222.222.222.0网络只被R2,R3,R4学习到 6 配置团体属性,让R1不传递2.2.2.0 这条路由 ********************************************************************* ********* 二试验配置

1 底层配置 ―――――――――――――――――――――――――― 2 配置BGP r1#sh run | b r b router bgp 100 no synchronization network 2.2.2.0 mask 255.255.255.0 network 22.22.22.0 mask 255.255.255.0 network 222.222.222.0 neighbor 12.0.0.2 remote-as 234 no auto-summary ―――――――――――――――――― r2#sh run | b r b router bgp 64512 no synchronization bgp confederation identifier 234 /指明联邦号是234 neighbor 12.0.0.1 remote-as 100 neighbor 23.0.0.3 remote-as 64512 /R3跟它处于联邦内同一个子AS中neighbor 23.0.0.3 next-hop-self /指定下一跳是它自己 no auto-summary ――――――――――――――――――― r3#sh run | b r b router bgp 64512 no synchronization bgp confederation identifier 234 bgp confederation peers 64513 /指明该联邦内的另一个子AS neighbor 23.0.0.2 remote-as 64512 neighbor 34.0.0.4 remote-as 64513 /R4跟它处于联邦内不同子AS之间no auto-summary ――――――――――――――――――― r4#sh run | b r b router bgp 64513 no synchronization bgp confederation identifier 234 bgp confederation peers 64512 neighbor 34.0.0.3 remote-as 64512 neighbor 45.0.0.5 remote-as 500 no auto-summary ――――――――――――――――――― r5#sh run | b r b router bgp 500 no synchronization neighbor 45.0.0.4 remote-as 234 no auto-summary

H3C-BGP属性实例

BGP路由属性实例 AS_path属性 * AS_PATH属性按一定次序记录了某条路由从本地到目的地址所要经过的所有AS号。当BGP将一条路由通告到其他AS时,便会把本地AS号添加在AS_PATH列表的最前面。收到此路由的BGP路由器根据AS_PATH属性就可以知道去目的地址所要经过的AS。离本地AS最近的相邻AS号排在前面,其他AS号按顺序依次排列。例如: * 通常BGP不会接受AS_PATH中已包含本地AS号的路由,从而避免形成环路的可能. Next_hop属性 BGP的下一跳属性和IGP的有所不同,不一定就是邻居路由器

的IP地址。主要分以下三种情况: ●BGP发言者把自己产生的路由发给所有邻居时,将把该路由信息 的下一跳属性设置为自己与对端连接的接口地址; 如图: ●BGP发言者把接收到的路由发送给EBGP对等体时,将把该路由 信息的下一跳属性设置为本地与对端连接的接口地址; 如图: ●BGP发言者把从EBGP邻居得到的路由发给IBGP邻居时,并不 改变路由信息的下一跳属性。

Local_pref属性 Local_pref属性仅在IBGP对等体之间交换,不通告给其他AS。它表明BGP路由器的优先级。Local_pref属性用于判断流量离开本AS时的最佳路由。当BGP的路由器通过不同的IBGP对等体得到目的地址相同但下一跳不同的多条路由时,将优先选择Local_pref属性值较高的路由。如图: Med属性 MED属性仅在相邻两个AS之间交换,收到此属性的AS一方不会再将其通告给任何其他第三方AS。 MED属性相当于IGP使用的度量值,它用于判断流量进入AS 时的最佳路由。当一个运行BGP的路由器通过不同的EBGP对等体得到目的地址相同但下一跳不同的多条路由时,在其它条件相同的情

BGP的各种属性配置

BGP的各种属性配置 Lab 31. Configuring BGP Summarization 实验目的: 1、掌握使用指向NULL0接口的静态路由的汇总配置方法。 2、掌握使用聚合属性的路由汇总配置方法。 R1(config)#ip route 172.16.0.0 255.25 5.252.0 null 0 R1(config)#router bgp 64512 R1(config-router)#aggregate-address 172.16.0.0 255.255.252.0 summary- only Lab 33. BGP Neighbor Authentication 实验目的: 1、掌握其于MD5的BGP对等体认证配置。 R1(config)#router bgp 64512 R1(config-router)#neighbor 10.1.255.2 password cisco123 R2(config)#router bgp 64513 R2(config-router)#neighbor 10.1.255.1 password cisco123 Lab 34. Configuring BGP Local Preference 实验目的: 1、理解掌握BGP的本地优选属性概念和配置方法。 2、本地优选的属性默认值为100,较高值的路径会被优先选择。 3、本地优先属性,决定离开本自治系统最佳的路径。 (BGP在选择最佳路由时,并不会考具体链路的带宽。为了解决这一问题,可以在本地配置“本地优先”来确定数据流如何流出本自治系统。BGP会优先选择本地优先属性值较高的路由。)

BGP属性总结

11月8日 BGP属性总结 AS_PATH有四类: 1.AS_SEQUENCE --有序AS号列表 2.AS_SET --无须AS号列表 3.AS_CONFED_SEQUENCE --联盟有序AS号列表 4.AS_CONFED_SET --联盟无须AS号列表 与as_sequence不同,as_set并不用来决定最短路径,它唯一的目的是恢复被聚合路由丢失掉的环路检测功能 当公布了as_set以后,聚合路由就继承了被聚合路由所有的属性 neighbor remove-private-as将路由公布给指定的邻居前,从他们的as_path中过滤掉私有as号 ip as-path access-list命令定义了访问列表的一个变量,该变量用来定义as号 neighbor filter-list命令可以引用as_path访问列表 在再发布路由的标记中恢复as_path信息的一种方法是通过set as-path tag r3(config-router)#neighbor 23.0.0.2 allowas-in 1 使用这个命令的作用是允许R3接收起源于本地AS的路由,后面的1表示允许的次数。 路由的origin属性。这个属性有3个值,分别为: 1 IGP:当使用 bgp network 命令或将IGP路由重分布进BGP中。在BGP路由表中起源于IGP的路由用“i”表示 2 EGP:通过BGP学习到的路由。在BGP路由表中起源于EGP的路由用“e”表示 3 incomplete:当将静态路由重分布进BGP时,在BGP路由表中用“?”表示 在一个多路访问网络中的路由器产生的一条路由通过多路网络的其它路由器传到另一个BGP AS中, 则在那个AS中的路由器通过这条路由的下一跳不是它的EBGP邻居而是产生这条路由的那个路由器。BGP有三种管理距离: 外部BGP的AD=20 (external distance) 内部BGP的AD=200 (internal distance) 本地BGP的AD=200 (local distance) RTA(config-router)#distance bgp 200 200 200 (这3个值分别为external internal local) weight属性的一些概念。 1 weight属性是cisco的私有属性,是一种选路属性,用来选择一条最优路径。 2 weight属性只对本地路由器有效。该属性不会被传递。 3 weight值的取值范围是0-65535。 对于本路由器产生的路由,weight的默认值=32768;对于所有学到的路由,weight的默认值=0。 4 对于到同一目的地的多条路径来说,weight值越高的路径越优先 LOCAL PRE也是一条选路属性,它有以下几个特点。 1 在到达同一目标网络的多条路径中,LOCAL PRE越大则越优先。 2 LOCAL PRE的默认值是100 3 与WEIGHT属性不同的是LOCAL PRE属性可以在同一个AS内传递。 一般来说有以下几种过滤方法。 1 基于路由信息进行过滤----neighbor distribute-list 2 基于路径信息进行过滤----ip as-path access-list & neighbor filter-list 3 基于community信息进行过滤。 community属性。这是不同于选路属性的一个属性。该属性具有以下几个特点; 1 community是一个任选可透明传送属性,它可以简化策略的执行。

BGP属性与路径选择1

场景: 公司的网络采用BGP协议接入了两个服务运营商,ISP1的AS为100,ISP2的AS 号为200,现在Internet上的部分用户反应访问公司网站的速度较慢,你通过BGP调整路由走向的目的。 步骤一:基础配置 system-view [Huawei]sysname R1 [R1]interface Serial 1/0/0 [R1-Serial1/0/0]ip address 10.0.12.1 255.255.255.0 [R1-Serial1/0/0]interface GigabitEthernet 0/0/2 [R1-GigabitEthernet 0/0/2]ip address 10.0.15.1 255.255.255.0 [R1-GigabitEthernet 0/0/2]interface GigabitEthernet 0/0/1 [R1-GigabitEthernet 0/0/1]ip address 10.0.111.1 255.255.255.0

[R1-GigabitEthernet 0/0/1]interface LoopBack 0 [R1-LoopBack0]ip address 10.0.1.1 255.255.255.255 system-view [Huawei]sysname R2 [R2]interface Serial 1/0/0 [R2-Serial1/0/0]ip address 10.0.12.2 255.255.255.0 [R2-Serial1/0/0]interface Serial 2/0/0 [R2-Serial 2/0/0]ip address 10.0.23.2 255.255.255.0 [R2-Serial 2/0/0]interface LoopBack 0 [R2-LoopBack0]ip address 10.0.2.2 255.255.255.255 system-view [Huawei]sysname R3 [R3]interface GigabitEthernet 0/0/2 [R3-GigabitEthernet 0/0/2]ip address 10.0.15.3 255.255.255.0 [R3-GigabitEthernet 0/0/2]interface Serial 2/0/0 [R3-Serial2/0/0]ip address 10.0.23.3 255.255.255.0 [R3-Serial2/0/0]interface Serial 3/0/0 [R3-Serial3/0/0]ip address 10.0.23.3 255.255.255.0 [R3-Serial3/0/0]interface loopback 0 [R3-LoopBack0]ip address 10.0.3.3 255.255.255.255

BGP的MED属性

BGP路由协议MED属性 多出口区分MED(Multi-Exit Discriminators)属性是一个可选非过渡属性。自治系统使用本地优先级属性(Local Preference)来进行出自治系统路由的选择;而MED属性用于判断进入该自治系统的最佳路由,当一个运行BGP的自治系统得到目的地址相同、下一跳不同的多条路由时,在其它条件相同的情况下,MED值较小的路由将被优先选作进入该自治系统的外部路由。 在缺省情况下,自治系统的MED值为0。 一般情况下,路由器只比较来自同一AS中各EBGP邻居路径的MED属性,不比较来自不同AS的MED值。若非得要比较的话,Quidway系列路由器提供的“bgp always-compare-med”命令,可实现用户的这一要求。 注:缺省情况下,不比较来自不同自治系统邻居的路径的MED属性值。除非能够确认不同的自治系统采用了同样的IGP和路由选择方式,否则不要使用该配置命令。 下面的例子就是一个这样的问题,教师在讲述BGP路由协议MED属性时,可以引用这个例子来说明。 相同路由比较为什么有时没有选择MED值小的路由? 1.组网: 2.配置: RTA# ! router bgp 500 neighbor 201.1.1.2 remote-as 700 neighbor 201.1.1.2 route-map SETMED out ! route-map SETMED permit 10 set metric 50 ! RTB#

router bgp 600 neighbor 160.1.1.2 remote-as 700 neighbor 160.1.1.2 route-map SETMED out ! route-map SETMED permit 10 set metric 100 ! RTC# ! router bgp 700 neighbor 160.1.1.1 remote-as 600 neighbor 160.1.1.1 filter-list 1 out neighbor 201.1.1.1 remote-as 500 neighbor 201.1.1.1 filter-list 1 out ! ip as-path access-list 1 permit ^$ ! ....... 3.现象描述:三台Quidway之间分别建立了EBGP邻居关系,其中RTC同时收到RTA和RTB 发来的因特网路由,从而可以通过两条链路到达因特网。根据RTC的要求,RTA将自己发送给RTC的路由设置MED值为50,而RTB将自己发送给RTC的MED设置为100。RTC希望选择MED小的路由作为最佳路由,从而对相同目的地来说,把通过RTA的链路作为主链路,而把通过RTB的链路作为备份链路。 现已知路由192.10.0.0/16同时由RTA和RTB传给RTC,但RTC选择了RTB传来的路由。 可见,RTC确实同时从RTA和RTB收到了路由192.10.0.0/16,它们的AS-PATH长度相同,并且MED值符合要求。 RTC#show ip route Routing Tables: Destination/Mask Proto Pre Metric Nexthop Interface ... 176.17.20.0/24 BGP 256 100 160.1.1.1 Serial0 192.10.0.0/16 BGP 256 100 160.1.1.1 Serial0 RTC#show ip bgp BGP local router ID is 200.1.7.2 Status codes: s suppressed, d damped, h history, * valid, > best, i internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Path *> 176.17.20.0/24 160.1.1.1 100 600 i *> 192.10.0.0/16 160.1.1.1 100 600 400 300 100 i * 201.1.1.1 50 500 400 300 100 i 问题:RTC为什么没有选择MED值最小的路由?

相关主题
文本预览
相关文档 最新文档