个人总结的BGP心得,包含大量实验环境和配置案例

时间:2019-05-12 14:25:28下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《个人总结的BGP心得,包含大量实验环境和配置案例》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《个人总结的BGP心得,包含大量实验环境和配置案例》。

第一篇:个人总结的BGP心得,包含大量实验环境和配置案例

<BGP(Border Gateway Protocol)理论部分>

·BGP属于EGP,是高级DV协议,也被称为路径矢量协议,基于TCP 179端口。·现在使用版本BGP4。

第一次做完整更新,以后就只增量更新

·Autonomous Systems:运行同一种选路策略,由统一管理者管理。

1-64511

(公有)

64512-65535(私有)

电信AS号:4134 网通AS号:9929 Bgp.potaroo.net 一个好的网站,可以了解到关于AS号的一些信息

Telnet route-server.ip.att.net这一地址可以看到公网上的路由条目数

·IGP支持的路由条目有限

运行IGP不利于管理,做路由聚合、选路。

·BGP路由器只能将其使用的路由通告给他的邻居。BGP用Open报文建邻居,用KL报文做日常联系

·Neighbor table :

List of BGP neighbors ·BGP forwarding table/database

List of all networks learned from each neighbor

Can contain multiple pathways to destination networks

Database contains BGP attributes for each pathway ·IP routing table

List of best paths to destination networks

BGP表和路由表是独立的,同样遵循AD小的进入路由表。BGP默认不做负载均衡

·Router-ID选举和OSPF一致。

四种报文:

Open---includes holdtime and BGP router ID(用于建立TCP连接后,发起BGP会话,每个邻居都用该消息来标识自己,并且规定自己的BGP运行参数)

Keepalive —

(用于保持BGP会话,每隔60秒发送一次,hold time为180S)

Update---information for one path only(could be to multiple networks)---Includes path attributes and networks ·一个UPDATE 消息一次只能通告一条路由,但它可以携带多个属性。

一个UPDATE 消息一次也可通告多条路由,但它的属性必须相同。

一个UPDATE 消息可以同时撤消多条路由。

BGP

Notification---when error is detected---BGP connection is closed after sent(当检测到错误的时候就会发起Notification消息。通常会导致BGP连接的终止)

1,空闲状态:

BGP通常以空闲状态开始。在该状态下,它拒绝接收所有入连接。当一个开始时间出现的时候,BGP过程初始化所有的BGP资源,打开重试连接计时器、初始化到邻居的TCP连接,接听来自邻居的TCP初始化消息并将它的状态转到接连状态。开始事件是又一个操作者配置BGP的一个过程。

2,连接状态:

在这种状态下,BGP过程会等到TCP连接完成以后再决定后续的动作。如果连接建立成功,BGP连接将ConnectRetry清零,完成初始化过程,给邻居发送一个Open消息并转移到发送Open消息状态。如果TCP连接失败,BGP过程会继续监听由邻居发起的连接,重置ConnectRetry计时器并转移到激活状态。

3,激活状态:

在这个状态下,BGP过程试图与邻居建立一个TCP连接。如果连接建立成功,BGP连接将ConnectRetry清零,完成初始化过程,给邻居发送一个Open消息并转移到发送Open消息状态。如果在激活状态时,ConnectRetry计时器超时,该过程回到连接状态。

4,发送Open消息状态:

在这种状态下,已经发送了Open消息,BGP正在等待从邻居发来的Open消息。当收到一个Open消息后,检查该消息所有的字段。如果发现了差错,会给它邻居发送一个Notification消息并且将状态转移到空闲。如果在接收到的Open消息中没有发现差错,BGP给邻居发送一个Keepalive消息并且将Keepalive计时器置位。邻居之间协商一个Hold时间,它们会选用较小的值。如果协商的Hold时间是0,则没有启动Hold和keepalive计时器。根据对等的AS号,决定该连接是内部的还是外部的,并且将状态转移到Open消息确认。

5,Open消息确认状态:

在这种状态下,BGP过程会等待一个Keepalive或者Notification消息。如果收到了Keepalive消息,转移到建立状态,如果收到了Notification消息或者TCP断开消息,转移到空闲状态。

6,建立状态:

在这种状态之下,BGP对等之间的连接完全建立起来了。对等之间可以交换Update,Keepalive和Notification消息。如果收到了Update或Keepalive消息,重新启动Hold计时器。如果收到Notification消息。状态会转移到空闲。

·ORIGIN属性

ORIGIN是一个公认必选的属性,它明确了路由更新消息的来源。当BGP有多条路由时,它会将ORIGIN当作一个决定较优路由的因素。它规定了以下几种源:

BGP ·IGP—一个IGP源会得到ORIGIN值中的最佳的选项。

·EGP—NLRI是从EGP学习到的。相对于IGP,EGP是第2选择。

·Incomplete—NLRI是通过其他手段学习到的。是ORIGIN最低的选择。

·AS-PATH属性

AS-PATH 是一个公认必选属性。它用AS号的顺序来描述AS间的路径或者到NLRI所明确的目的地的路由。AS-PATH属性的另外一个功能就是避免环路,如果BGP路由器从它的外部对端处收到了一条路由,而该路由的AS-PATH包含这个BGP路由器自己的AS号,于是该路由器就知道是条环路路由,从而将这样的路由丢弃掉。

R1(config)#route-map AS R1(config-route-map)#set as-path prepend 7 8 9 设置虚拟的AS号 通常都会这样加set as-path prepend 4 4 4 加自已的AS号,不易搞混

·NEXT_HOP属性

NEXT_HOP是一个公认必选属性。描述了公布目的地的路径下一跳路由器的IP地址。由BGP NEXT_HOP属性所描述的IP地址不经常是邻居路由器的IP地址。要遵循下面的规则:

·如果正在进行的路由宣告的路由器和接收的路由器在不同的AS中,NEXT_HOP地址为正在宣告路由的路由器接口IP地址。

·如果正在进行宣告路由的路由器和接收的路由器在同一个AS里,并且更新消息的NLRI指明目的地是同一个AS内,那么NEXT_HOP就是已经宣告路由的邻居的IP地址。

·如果正在宣告的路由器和接收的路由器是内部对等实体,并且更新消息的NLRI指明目的地在不同的AS内。NEXT_HOP是外部对等的接口地址。

·LOCAL_PREF属性

LOCAL_PREF是公认自选属性。只用在内部网关对端之间的更新消息中。它不会传递给其他的AS。如果一个内部运行BGP的路由器收到了一个目的地的多条路由。它将这些路由的LOCAL_PREF进行比较,选择具有最高优先级的路由。它只能影响离开AS的业务量。

R1(config)#route-map WE R1(config-route-map)#set local-preference 101

R1(config-router)#bgp default local-preference 101 会影响所有路由 打上这一命令后----·对“EBGP传过来的路由”“自己network的路由”起效,要show明细才能看到。·对“IBGP传过来的路由”不起效。

·MED属性

MED属性是一个任选非传递属性。这个任选非传递属性与EBGP的Update消息中携带,它允许一个AS将它的首选的入口点通知另外一个AS。如果其他参数都相同,则收到同一个目的地的多条路由的AS将这些路由的MED进行比较,具有最低MED值的路由为首选。这是因为将MED看成一个度量,并且最低的度量----最短的距离----是首选。

MED值只会传递给配置MED值的对端AS,从而使他们知道优先的路由,但是接收的AS不会在继续传递给下一个AS。

如果同一个目的地的两条路由来自两个不同的AS,也不进行MED值的比较。MED值只对单一的AS有意

BGP 义,当该AS有多个入口点时,它用来说明首选项的等级。R1(config)#route-map MED R1(config-route-map)#set metric 1 R1(config-router)#neighbor 24.1.1.4 route-map MED out

测试方法: 扩展ping / debug ip bgp updates

·默认比较从不同AS传来路由的MED。

R2(config-router)#bgp always-compare-med

·ATOMIC_AGGREGATE属性

ATOMIC_AGGREGATE属性是一个公认必选的属性,它用来警告下游路由器出现了路径信息丢失。当一个BGP路由器将更具体的路由聚合后,而且已经出现了路径信息丢失时,运行BGP的路由器必须将该属性附加到聚合路由中。任何一台下游路由器收到后,不能使这条NLRI信息更详细。并且当该路由公布给其他对端时,必须也附带该属性.·AGGREGATOR属性

当设置了ATOMIC_AGGREGATE属性,运行 BGP的路由器可以选择附加AGGREGATOR属性。这个任选可透明传递属性包括发起聚合路由的路由器的AS号以及IP地址,从而提供了执行聚合的地点的信息。

·Community属性

COMMUNITY是一个人选可透明传递的属性。COMMUNITY属性标明一个目的地作为一些目的地团体中的一个成员,这些目的地共享一个或者多个共同的属性。

“可选”:BGP的所有邻居都有可能不识别社团属性。(是可选的,路由器默认不认识)R2(config-router)#neighbor 1.1.1.1 send-community

“传递”:社团属性只会传给指定的邻居,并只在此邻居上起效。

比如上例:就只传给1.1.1.1这一邻居,并只在它上面起效,不会再向后传

·no-advertise:携带此属性的路由不会通告给任何BGP邻居。

·no-export: 携带此属性的路由不会传出本AS外,只会传给IGP。(联邦中的小AS会传递)。·local-AS: 携带此属性的路由不会传出小AS。

R1(config-route-map)#set community no-advertise/no-export/local-AS

·Weight属性

Weight属性是Cisco私有的属性。只适用于一台路由器中的路由。该参数不会传递给其他的路由器。Weight值越高,优先级就越高。当一个路由有多条路径的时候,路由器选择Weight值最高的那条路由。由本地路由器产生的所有路由Weight值都是32768。

修改Weight---R1同时从R3和R2学到同一条BGP路由,在R1上改: Neighbot 3.3.3.3 weight 1

BGP

R1(config)#route-map WE R1(config-route-map)# R1(config-route-map)#set weight 8

R1(config-router)#neighbor 2.2.2.2 weight 8

·AS-SET属性

AS-SET属性的作用是在当路由聚合以后,NRLI信心产生了丢失,通过使用AS-SET属性,可以修复原来丢失的属性。如聚合后,路由经过的AS号丢失,通过使用AS-SET,可以还原原来丢失的AS号。防止环路的产生。

·BGP路径抉择的过程:

1,首选具有最高Weight值的路由。

2,如果Weight相同,那么选择具有最高LOCAL_PREF值的路由。

3,如果LOCAL_PREF值相同,首选逻辑上在该路由器上发起的路由。也就是说,首选从同一个路由

器上起源于IGP学习到的路由。

4,如果LOCAL_PREF值相同,而且没有逻辑上发起的路由,首选具有最短AS-PATH的路由。5,如果AS-PATH相同,首选具有最低ORIGIN CODE的路由,IGP

7,如果MED相同值,在EBGP路由和联盟EBGP中,首选EBGP路由,在联盟EBGP路由和IBGP路由中首

选联盟EBGP路由。

8,如果路由相同,首选到BGP下一跳最短的路径。

9,如果路由相同,首选具有最低路由器ID的BGP路由。

10,如果路由器ID相同,首选具有最低IP地址的接口地址的路由。

·BGP路由黑洞的解决方法:

1)物理线路的Full Mesh(成本高,不可取)

2)BGP重分布进IGP(不可取)

3)BGP's Full Mesh IGP内所有路由器都运行BGP(不可取)

4)BGP's Partial Mesh(路由反射器/联邦)

·BGP's Split Horizon Rule:

IBGP:从IBGP邻居收到的路由不再传给其他的IBGP邻居。

EBGP:不接收携带本AS号的路由更新。

EBPG之间用直连接口来建邻居 IBGP中用环回口建邻居

<Synchronization>同步。只针对IBGP邻居

BGP 的同步仅限于IBGP的邻居,BGP同步的默认情况下,AS内的一个路由器从IBGP学到一条路由,不使用也不传,除非是从IGP也学习到该路由。如果这个时候关闭BGP同步规则,就会产生一个路由黑洞。

BGP

例如:

假如同步关闭的情况下,IGP并不知道AS100和AS300的路由,当R1从AS100学过来一条路由,并且使用next-hop-self命令将下一跳改成自己的接口(EBGP默认学习过来的下一跳是对端路由器的接口)发布给IBGP邻居R4时,R4因为下一跳可达(IGP知道),所以将该路由加入路由表,并且发布给AS300,当AS300要去这个目的地时,它会将数据传给R4,R4收到这个数据包后,查看目的地址发现是去AS100的,它查看自己的路由表发现下一跳是R1的接口地址,于是继续查看路由表发现要去R1首先得经过R3,于是它把数据传送给了R3,由于R3运行的是IGP,并且它不知道AS100里的路由情况,所以它没有到达这个目的地的路由表,它会丢弃该路由,这样就造成了一个路由黑洞。

如果同步开启的情况下,R1收到了来自AS100的路由后,由于R1没有将BGP重发布进IGP,所以R1的IGP并不知道AS100里的路由情况,所以R1不会使用这一条路由,也不会传递给其他邻居。所以路由黑洞不会产生。

解决IBGP路由器收到更新不会转发给其他IBGP邻居的方法:

<Reflector>

·打破IBGP的水平分割规则。

·如果路由是从非客户的IBGP对等学习到的,只将它反射给客户。

·如果路由是从客户处学习到的,将它反射给除了发起该路由的客户外的所有非客户及客户。·如果路由是从EBGP对等处学习到的,将它反射给所有的客户和非客户。

BGP <Confederation> 联邦

联盟是控制大型IBGP对等的另一条途径。在联盟内的运行BGP的路由器和在同一个联盟AS内的对端之间使用IBGP,和其他联盟对端之间使用EBGP。给每个联盟分配一个联盟ID。对外部联盟内的对端来讲,这个联盟ID代表整个联盟AD号,外部对端看不到联盟的内部结构,只看到这些联盟所在的AS。

·将大AS划分成若干个小AS,小AS之间是EBGP关系。

·

1、联邦中的所有路由器都必须用起小AS号。(Route bgp 小AS)R2#show ip bgp neighbor 12.1.1.1 adverised-routes ·

2、联邦中的所有路由器都必须声明大AS号

R1(config-router)#bgp confederation identifier 1

·

3、连接小AS的边界路由器要互相指peers:

联邦中的小AS号(64512)不算作比较,只算作一个

R1(config-router)#bgp confederation peers 64512

(对端小AS号)

·联邦外路由器和联邦的边界路由器建立邻居关系时,neighbor大AS号。在sh ip bgp中,小AS号会用括号括住,并且不算做一个进行路径比较的AS号

<BGP基础配置部份>

R4(config)#router bgp 64512 R4(config-router)#bgp router-id 94.4.4.4 R4(config-router)#neighbor 24.1.1.2 remote-as 64513(EBGP邻居)

R2(config)#router b 64513 R2(config-router)#neighbor 3.3.3.3 remote-as 64513(IBGP邻居)

R2(config-router)#neighbor 3.3.3.3 update-source loopback 0(更新源是环回口)

R3(config)#ip route 5.5.5.0 255.255.255.0 serial 0 R5(config)#ip route 3.3.3.0 255.255.255.0 serial 0 R5(config-router)#neighbor 3.3.3.3 update-source loopback 0 R3(config-router)#neighbor 5.5.5.5 ebgp-multihop 2(EBGP设置多跳,环回口才用得上)R5(config-router)#neighbor 3.3.3.3 ebgp-multihop(默认255)

R2#show ip bgp summary(摘要的邻居邻居信息)R2#show tcp brief R2#show ip bgp neighbors(详细的邻居信息)

R4(config-router)#network 4.4.4.0 mask 255.255.255.0(严格按照IP地址掩码通告)R4(config-router)#network 100.0.0.0

(在auto-summary时,也可以主类方式通告)

BGP 重发布BGP进入IGP 将BGP重发布进IGP的时候,只能发布EBGP学来的路由和自己宣告的路由进入IGP,从IBGP学来的路由不能发布进去,应为I BGP默认不转发给其他IBGP邻居,从发布进IGP的话就等于延长了传播,容易造成环路,而且IBGP的路由都在同一个AS类,推荐使用IGP来完成。如果要强行发布IBGP路由进入IGP,那么在BGP下打 Bgp redistribute-internal

<Peer-Group>

BGP为每个邻居都占用一个Buffer,使用Peer-Group可以使多个邻居共用一个Buffer。针对多的邻居关系,减少配置量。

R1(config-router)#neighbor WOLF peer-group R1(config-router)#neighbor WOLF remote-as 64513 R1(config-router)#neighbor WOLF update-source loopback 0

调用:neighbor 2.2.2.2 peer-group WOLF

R1,R2通过EIGRP 100和IBGP互联,EIGRP 100通告环回接口192.168.192-199段进入BGP。那么汇总的路由要发布给其他AS可以有下面的方法和问题。

1,使用静态路由聚合。

Ip route 192.168.192.0 255.255.248.0 null0

Router bgp 100 Network 192.168.192.0 mask 255.255.248.0

BGP

通过使用上面的配置来宣告汇总路由。这样不用将EIGRP重发布进BGP也能通告一个汇总路由给其他AS。

2,抑制更具体的路由。Router bgp 100 Aggregate-address 192.168.192.0 255.255.248.0 summary-only Redistribute eigrp 100

在R1,R2上重发布EIGRP 100 进入BGP,要使用aggregate-address命令前提是bgp路由表里面必须得有需要聚合的路由详细条目。通过配置aggregate-address命令可以代替用静态路由方法通告汇总路由,后面如果跟summary-only命令的话,那么就会抑制具体的路由,只发布汇总后的路由。如果不加上一个summary-only的话就会连具体路由一起通告出去,这样对方AS会更方便的控制路由。

s> 192.168.192.0 0.0.0.0 0 32768 ? *> 192.168.192.0/21 0.0.0.0 32768 i * i 60.1.1.2 0 100 0 i s> 192.168.193.0 0.0.0.0 0 32768 ? s> 192.168.194.0 0.0.0.0 0 32768 ? s> 192.168.195.0 0.0.0.0 0 32768 ? s> 192.168.196.0 60.1.1.2 2297856 32768 ? s> 192.168.197.0 60.1.1.2 2297856 32768 ? s> 192.168.198.0 60.1.1.2 2297856 32768 ? s> 192.168.199.0 60.1.1.2 2297856 32768 ?

加上summary-only之后,在show ip bgp时会显示出以上表格,前面的S代表抑制后的路由。不会发给对方AS。

3,公布具体地址以及聚合路由。

在上面拓扑中,要满足将聚合路由和具体的地址通告给AS200,方便AS200控制具体的路由,又要满足AS300只能收到聚合的路由,可以通过以下几种方法来满足。

在R1上配置: Router bgp 100 Aggregate-address 192.168.192.0 255.255.248.0 Neighbor 10.1.1.2 route-map community out Neighbor 10.1.1.2 send-community

access-list 101 permit ip host 192.168.192.0 host 255.255.248.0(精确匹配聚合路由)

route-map community permit 10 match ip add 101 route-map community permit 20 set community no-export

BGP 在R2上配置: Router bgp 100 Aggregate-address 192.168.192.0 255.255.248.0 Neighbor 20.1.1.2 route-map community out Neighbor 20.1.1.2 send-community

Ip prefix-list 101 permit 192.168.192.0/21

Route-map community permit 10 Match ip add prefix-list 101 Route-map community permit 20 Set community no-export

通过使用community no-export命令,将社团属性通告给AS200,该属性的作用是将收到附带该属性的路由不发送给下一个AS,故AS300只能收到没有附带该属性的聚合路由。

*> 50.0.0.0 10.1.1.1 2169856 0 100 ? * i 20.1.1.1 2169856 100 0 100 ? *> 50.1.1.0/24 10.1.1.1 0 0 100 ? * i 20.1.1.1 0 100 0 100 ? *> 192.168.192.0 10.1.1.1 0 0 100 ? * i 20.1.1.1 2297856 100 0 100 ? *> 192.168.192.0/21 10.1.1.1 0 0 100 i * i 20.1.1.1 0 100 0 100 i *> 192.168.193.0 10.1.1.1 0 0 100 ? * i 20.1.1.1 2297856 100 0 100 ? *> 192.168.194.0 10.1.1.1 0 0 100 ? * i 20.1.1.1 2297856 100 0 100 ? *> 192.168.195.0 10.1.1.1 0 0 100 ? * i 20.1.1.1 2297856 100 0 100 ? *> 192.168.196.0 10.1.1.1 2297856 0 100 ? * i 20.1.1.1 0 100 0 100 ? *> 192.168.197.0 10.1.1.1 2297856 0 100 ? * i 20.1.1.1 0 100 0 100 ? *> 192.168.198.0 10.1.1.1 2297856 0 100 ? * i 20.1.1.1 0 100 0 100 ? *> 192.168.199.0 10.1.1.1 2297856 0 100 ? * i 20.1.1.1 0 100 0 100 ?

以上为R3的路由表,包括了聚合和具体的路由。

Network Next Hop Metric LocPrf Weight Path * 192.168.192.0/21 30.1.1.1 0 200 100 i *> 40.1.1.1 0 200 100 i

在AS300的路由表里,仅仅能看到聚合路由。

BGP 10 4,公布聚合路由和挑选出来的路由。

现在AS100需要公布聚合后的路由,已经经过挑选出来的路由发布给AS200,除了195和199的路由不发布之外,其他所有路由都发布给AS200。通过配置suppress-map抑制列表来满足抑制相应的路由发布给其他AS。

在R1上配置:

Router bgp 100 Aggregate-address 192.168.192.0 255.255.248.0 suppress-map deny

Access-list 1 permit 192.168.195.0 0.0.0.255 Access-list 1 permit 192.168.199.0 0.0.0.255

Route-map deny permit 10 Match ip add 1

在R2上配置:

Router bgp 100 Aggregate-address 192.168.192.0 255.255.248.0 suppress-map deny

Ip prefix-list 1 permit 192.168.195.0/24 Ip prefix-list 1 permit 192.168.199.0/24

Route-map deny permit 10 Match ip add prefix-list 1

R2#show ip bgp

* i50.0.0.0 50.1.1.1 2169856 100 0 ? *> 0.0.0.0 2169856 32768 ? * i50.1.1.0/24 50.1.1.1 0 100 0 ? *> 0.0.0.0 0 32768 ? *> 192.168.192.0 50.1.1.1 2297856 32768 ? * i 50.1.1.1 0 100 0 ? *> 192.168.192.0/21 0.0.0.0 32768 i * i 50.1.1.1 0 100 0 i *> 192.168.193.0 50.1.1.1 2297856 32768 ? * i 50.1.1.1 0 100 0 ? *> 192.168.194.0 50.1.1.1 2297856 32768 ? * i 50.1.1.1 0 100 0 ? s> 192.168.195.0 50.1.1.1 2297856 32768 ? * i192.168.196.0 50.1.1.1 2297856 100 0 ? *> 0.0.0.0 0 32768 ? * i192.168.197.0 50.1.1.1 2297856 100 0 ?

BGP 11 *> 0.0.0.0 0 32768 ? * i192.168.198.0 50.1.1.1 2297856 100 0 ? *> 0.0.0.0 0 32768 ? s> 192.168.199.0 0.0.0.0 0 32768 ?

在R2上show ip bgp 我们可以看到192.168.195.0 和192.168.199.0的路由条目前面带有S,表示被抑制后的路由,在AS200已经看不到这2条路由了。

5,改变聚合的属性。

因为192.168.192.0/21段的路由是从EIGRP 100重发布进BGP的,所以所有更具体的路由都有一个incomplete的ORIGIN属性。但是聚合后的路由有一个IGP的ORIGIN属性,这是因为这条路由在R1,R2的BPG进程中发起的。假如我们希望把 R1,R3之间的链路用做主要的链路,R2,R4之前的链路用做备用的链路,那么可以通过attribute-map 命令来完成,也可以通过route-map 指定邻居来完成。

在R1上配置:

Router bgp 100 Aggregate-address 192.168.192.0 255.255.248.0 attribute-map att suppress-map deny

Route-map att permit 10 Set origin igp

在R2上配置:

Router bgp 100 Nei 20.1.1.2 route-map att out

Route-map att permit 10 Set origin incomplete

R3的路由表:

*> 50.0.0.0 10.1.1.1 2169856 0 100 i * i 20.1.1.1 2169856 100 0 100 ? *> 50.1.1.0/24 10.1.1.1 0 0 100 i * i 20.1.1.1 0 100 0 100 ? *> 192.168.192.0 10.1.1.1 0 0 100 i * i 20.1.1.1 2297856 100 0 100 ? *> 192.168.192.0/21 10.1.1.1 0 0 100 i * i 20.1.1.1 0 100 0 100 ? *> 192.168.193.0 10.1.1.1 0 0 100 i * i 20.1.1.1 2297856 100 0 100 ? *> 192.168.194.0 10.1.1.1 0 0 100 i * i 20.1.1.1 2297856 100 0 100 ? *> 192.168.196.0 10.1.1.1 2297856 0 100 i

BGP 12 * i 20.1.1.1 0 100 0 100 ? *> 192.168.197.0 10.1.1.1 2297856 0 100 i * i 20.1.1.1 0 100 0 100 ? *> 192.168.198.0 10.1.1.1 2297856 0 100 i Network Next Hop Metric LocPrf Weight Path * i 20.1.1.1 0 100 0 100 ?

所有的路由都从R1过去,来自R2的路由属性是?,代表未知属性,那么只有当与R1连接失效的时候才会使用。

R4的路由表:

Network Next Hop Metric LocPrf Weight Path *>i50.0.0.0 60.1.1.1 2169856 100 0 100 i * 20.1.1.1 2169856 0 100 ? *>i50.1.1.0/24 60.1.1.1 0 100 0 100 i * 20.1.1.1 0 0 100 ? *>i192.168.192.0 60.1.1.1 0 100 0 100 i * 20.1.1.1 2297856 0 100 ? *>i192.168.192.0/21 60.1.1.1 0 100 0 100 i * 20.1.1.1 0 0 100 ? *>i192.168.193.0 60.1.1.1 0 100 0 100 i * 20.1.1.1 2297856 0 100 ? *>i192.168.194.0 60.1.1.1 0 100 0 100 i * 20.1.1.1 2297856 0 100 ? *>i192.168.196.0 60.1.1.1 2297856 100 0 100 i * 20.1.1.1 0 0 100 ? *>i192.168.197.0 60.1.1.1 2297856 100 0 100 i * 20.1.1.1 0 0 100 ? *>i192.168.198.0 60.1.1.1 2297856 100 0 100 i * 20.1.1.1 0 0 100 ?

所有的路由都指向R3经过,R2与R4之间的链路作为备用链路。

BGP 13 6,和聚合一起使用AS_SET

图中AS100公布详细的地址给AS200,AS200公布详细的地址给另外2个AS,在AS300中配置聚合路由发送给AS400,同时在AS200里面配置路由过滤,拒绝掉AS400和AS300发回的聚合路由。在R4的路由表里显示如下:

* 50.1.1.0/24 40.1.1.2 0 300 200 100 ? *> 60.1.1.1 0 200 100 ? *> 192.168.192.0 60.1.1.1 0 200 100 ? *> 192.168.192.0/21 40.1.1.2 0 0 300 i *> 192.168.193.0 60.1.1.1 0 200 100 ? *> 192.168.194.0 60.1.1.1 0 200 100 ? *> 192.168.195.0 60.1.1.1 0 200 100 ? *> 192.168.196.0 60.1.1.1 0 200 100 ? *> 192.168.197.0 60.1.1.1 0 200 100 ? *> 192.168.198.0 60.1.1.1 0 200 100 ? *> 192.168.199.0 60.1.1.1 0 200 100 ?

在R4上可以看到192.168.192.0/21会聚路由后面的AS只有300,这条路由实际上是指向AS100里面的目的地,聚合路由导致了路由信息的丢失,如果不进行过滤或其他措施,那么就会导致该路由条目又被通告回原来经过的AS,BGP判断环路是靠AS号,该聚合路由导致了AS号丢失,那么经过的AS就认为该路由没有经过他自己。

为了改进这个问题,除了公布AS_PATH属性中的AS_SEQUENCE以外,R5可以通过在aggregate-address命令中加上as_set命令来解决这个问题,(但是加上AS-SET也会引发之前具体通告的路由如果附带属性的话,会将该属性继承到聚合路由上,需要小心使用)当将R5配置成他的AS_PATH属性中包含AS_SET时,聚合路由的AS-PATH属性中包括了聚合路由的路径上的所有AS号。以下为R4的路由表:

BGP 14

* 50.1.1.0/24 40.1.1.2 0 300 200 100 ? *> 60.1.1.1 0 200 100 ? *> 192.168.192.0 60.1.1.1 0 200 100 ? *> 192.168.192.0/21 40.1.1.2 0 0 300 200 100 ? *> 192.168.193.0 60.1.1.1 0 200 100 ? *> 192.168.194.0 60.1.1.1 0 200 100 ? *> 192.168.195.0 60.1.1.1 0 200 100 ? *> 192.168.196.0 60.1.1.1 0 200 100 ? *> 192.168.197.0 60.1.1.1 0 200 100 ? *> 192.168.198.0 60.1.1.1 0 200 100 ? *> 192.168.199.0 60.1.1.1 0 200 100 ?

7,基于选中的更具体路由的聚合路由。

在这个情况下,R2收到了来自AS100和AS400的所有路由同时它公布一条聚合路由给R3,R2公布了一个带有AS_SET属性的聚合路由,但是该聚合路由必须不能继承来自192.168.197.0/24的NO-EXPORT COMMUNITY属性。问题在于AS400公布了带有NO-EXPORT的团体属性192.168.197.0/24,当R2使用AS_SET选项时,聚合路由继承了NO-EXPORT属性,因为聚合路由中包括了192.168.197.0/24这条路由。通过在R2上show ip bgp community no-export命令可以看出:

Network Next Hop Metric LocPrf Weight Path *> 192.168.192.0/21 0.0.0.0 100 32768 {100,400} ? s> 192.168.197.0 60.1.1.2 0 0 400 i

BGP 15

为了解决这个问题,R2配置了如下命令:

Router bgp 200 Aggregate-address 192.168.192.0 255.255.248.0 as-set summary-only advertise-map allow-route

access-list 1 permit 192.168.197.0

route-map allow-route deny 10 match ip add 1 route-map allow-route permit 20

通过以上命令,R2在聚合路由的时候不会包括192.168.197.0/24这条路由,因此聚合的路由不会带有no-export属性,以下为R2 show ip bgp community no-export的输出:

Network Next Hop Metric LocPrf Weight Path s> 192.168.197.0 60.1.1.2 0 0 400

advertise-map name 命令的作用是在聚合路由的时候,可以详细的匹配哪些精确的路由条目需要被加入聚合列表中的。但是这样话可能会出现一些问题,假如R1和R2之间的链路出现故障,而聚合路由只是由来自AS100里的路由条目形成的,不包括192.168.197.0。于是该聚合路由不会再公布,结果是AS200以后的其他AS没有收到该聚合路由,也没有收到192.168.197.0的路由条目,导致无法到达。

AS300和AS400都是AS200的客户,并接收AS200分配的地址块。AS 300的前缀块是172.16.1.0/24 AS400的前缀块是172.16.2.0/24。当向AS100通告时,AS200的路由器把它们的地址空间汇总为172.16.0.0/16。

由于在AS100中可能因为没有具体的路由导致路由存在次优路径,为了优化出口点,inject-map被使用在R4和R5上。

使用的具体作用为,当R4和R5上存在路由172.16.0.0/16这条路由时,各自被注入 172.16.1.0/24和172.16.2.0/24两条精确的路由,以方便进行路由最优路径选举,同时为了防止路由被反通告回AS200,还将该路由属性设置为no-export。

BGP 16

R4配置:

Ip prefix-list inject permit 172.16.1.0/24 Ip prefix-list exist permit 172.16.0.0/24 Ip prefix-list source permit 40.1.1.1/32

Route-map inject permit 10 Set ip add prefix-list inject Set community no-export

Route-map exist permit 10 Match ip add prefix-list exist Match ip route-srouce source

Ip bgp-community new-format

BGP 17

Router bgp 100 Bgp inject-map inject exist-map exist Nei R6 send-community Nei R7 send-community

R5配置:

Ip prefix-list inject permit 172.16.2.0/24 Ip prefix-list exist permit 172.16.0.0/24 Ip prefix-list source permit 50.1.1.1/32

Route-map inject permit 10 Set ip add prefix-list inject Set community no-export

Route-map exist permit 10 Match ip add prefix-list exist Match ip route-srouce source

Ip bgp-community new-format

Router bgp 100 Bgp inject-map inject exist-map exist Nei R5 send-community Nei R7 send-community

通过AS_PATH过滤路由:

BGP 18

以上拓扑,R1会收到来自AS300和AS400的路由条目,分别通过AS200发送到AS100中,如果R1想拒绝某个AS发起的路由条目,但是路由条目数量又比较多,使用过滤列表非常麻烦,可以通过使用AS-PATH列表来完成。R1现在过滤从AS400来的路由,通过使用AS-PATH完成。

R1之前的show ip bgp 输出:

Network Next Hop Metric LocPrf Weight Path *> 192.168.192.0 0.0.0.0 0 32768 ? *> 192.168.193.0 0.0.0.0 0 32768 ? *> 192.168.194.0 0.0.0.0 0 32768 ? *> 192.168.195.0 0.0.0.0 0 32768 ? *> 192.168.196.0 10.1.1.2 0 200 400 i *> 192.168.197.0 10.1.1.2 0 200 400 i *> 192.168.198.0 10.1.1.2 0 200 300 i *> 192.168.199.0 10.1.1.2 0 200 300 i

R1配置:

Router bgp 100 Nei 10.1.1.2 remote-as 200 Nei 10.1.1.2 filter-list 100 in

Ip as-path access-list 100 deny _400$(拒绝AS起源为400的,并且前面有空格的,如200 400)Ip as-path access-list 100 permit.*(允许所有的)

用AS号过滤的路由

^ : 匹配输入字符的开头

BGP 19 $ : 匹配输入字符的结尾

_ : 匹配一个字符(空格/逗号/左括号/右括号等).: 匹配任何一个字符

* : 星号前的字符可重复0次或多次 100 : 只要AS中包括100都匹配 _100_ : 所有经过AS100的路由 _100$ : 起源于AS100的路由

^100_ : 进入本AS之前的AS必须是100 ^100$ : 起源于AS100,并直接传入本AS 100$:起源的AS号其最后三位一定是100,例如:100,1100,2100都可以.* : 所有路由

R1#show ip bgp regexp ^23$

当R1从2个路由器接收到同一个路由条目的时候,默认情况下,如果其他都相同,它会选择路由ID最小的邻居为下一跳,也就是说,会选择ID为R3为下一跳。那么为了控制R1的路由选路策略,可以通过使用WEIGHT值来让R1做出选择,WEIGHT值是BGP选路策略中的第1条,选择WEIGHT值大的那一条路由进行传递。

BGP 20 以下是R1默认的输出:

Network Next Hop Metric LocPrf Weight Path * 100.100.100.0/24 20.1.1.2 0 300 400 i *> 10.1.1.2 0 200 400 i

通过修改R1的WIGHT值,让R1通过R4走:

R1配置:

Router bgp 100 Nei 20.1.1.2 weight 100

Show ip bgp Network Next Hop Metric LocPrf Weight Path *> 100.100.100.0/24 20.1.1.2 100 300 400 i * 10.1.1.2 0 200 400 i

通过上面的输出,可以看到R4现在已经成为了R1的下一跳路由,应为R4的 weight值为100,而R3的Weight值为0。

<BackDoor>

·通过IGP学到某条路由,又从EBGP学到相同的路由。

由于EBGP AD=20,小于IGP的AD,所以会优先EBGP的路由,但实际路径从IGP走更优化。

BGP 21 例如:R1和R4之间通过EBGP和RIP交流信息,但是2个路由器之间希望通过RIP来发送信息而不优先使用BGP,但是R1从R4学到的192.168.199.0 或R4从R1学到的192.168.198.0两条路由都是通过EBGP和RIP同时学习过来,由于EBGP的管理距离为20,优于RIP,所以会通过EBGP发送,为了解决这个问题,可以将R1和R4使用后门路由将BGP学到的路由的AD值提高,从20提高到200

R1:

Router bgp 100 Net 192.168.199.0 mask 255.255.255.0 backdoor Net 192.168.198.0 mask 255.255.255.0 R4 Router bgp 400 Net 192.168.198.0 mask 255.255.255.0 backdoor Net 192.168.199.0 mask 255.255.255.0

因为R1和R4都会通过RIP学习来对方的路由,所以该两台路由器IGP路由表中都会有对方的路由,那么在该两台路由器上使用后门路由将路由以IBGP的形式发布,既不会通告给其他路由器,自己的路由表中该路由的管理距离又提高到了200。

当R1从2个路由器接收到同一个路由条目的时候,默认情况下,从IBGP学习来的路由本地优先级为100。如果没有IBGP,并且其他都相同,它会选择路由ID最小的邻居为下一跳,也就是说,会选择ID为R3为下

BGP 22 一跳。那么为了控制R1的路由选路策略,可以通过使用Local_prefrence值来让R1做出选择,Local_prefrence值是BGP选路策略中的第2条,选择Local_pref值大的那一条路由进行传递。

以下是R1默认的输出:

Network Next Hop Metric LocPrf Weight Path * 100.100.100.0/24 20.1.1.2 0 300 400 i *> 10.1.1.2 0 200 400 i

通过修改R1的local-prefrence值,让R1通过R4走:

R1配置:

Router bgp 100 Nei 20.1.1.2 route-map pref in

Access-list 1 permit 100.100.100.0

Route-map pref permit 10 Match ip add 1 Set local-prefrence 100

Route-map pref permit 20

Show ip bgp Network Next Hop Metric LocPrf Weight Path *> 100.100.100.0/24 20.1.1.2 100 0 100 300 400 i * 10.1.1.2 0 200 400 i

通过上面的输出,可以看到R4现在已经成为了R1的下一跳路由,因为从R4走的的 local-prefrence值为100,而R3的local-prefrence值为0。

〈BGP MED>

BGP 23

MED是一个相对优先级较弱的属性,在BGP路由决定过程中,到同一个目的地的多条路由的权直,本地优先级,AS-PATH长度以及ORIGIN属性都优先于MED。但是,如果这些变量值都相同,将选择具有最低MED的路由。

在上图中,AS100希望AS200访问网络199.168.198.0/24的时候,通过R1和R3之间的链路来发送,访问199.168.199.0/24的时候,通过R2和R4之间的链路来发送。这时候通过使用MED值可以实现:

R1: Access-list 1 permit 192.168.199.0

Route-map med permit 10 Match ip add 1 Set metric 200

Route-map med permit 20

Router bgp 100 Nei 10.1.1.2 route-map med out R2: Access-list 1 permit 192.168.198.0

Route-map med permit 10

BGP 24 Match ip add 1 Set metric 200

route-map med permit 20

router bgp 100 nei 20.1.1.2 route-map med out

以下为R3,R4的 show ip bgp 输出:

R3(config)#do show ip bgp BGP table version is 4, local router ID is 60.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, iIGP, eincomplete

Network Next Hop Metric LocPrf Weight Path * i192.168.198.0 20.1.1.1 0 100 0 100 i *> 10.1.1.1 0 0 100 i * 192.168.199.0 10.1.1.1 200 0 100 i *>i 20.1.1.1 0 100 0 100 i

R4(config)#do show ip bgp BGP table version is 4, local router ID is 60.1.1.2 Status codes: s suppressed, d damped, h history, * valid, > best, iIGP, eincomplete

Network Next Hop Metric LocPrf Weight Path * 192.168.198.0 20.1.1.1 200 0 100 i *>i 10.1.1.1 0 100 0 100 i *> 192.168.199.0 20.1.1.1 0 0 100 i

关于BGP MED属性:

在收到bgp对等体(ibgp和ebgp)发送来的路由后,再向ebgp对等体发送的时候,会清除MED值。若是存在本身路由器宣告的一段路由已带有MED值,直接发给bgp对等体时会有MED属性。

在route-map下使用此命令 set metric-type internal/set med igp-cost(CRS-1)将MED值设置为下一跳地址的IGPmetric值。

在使用network或redistribute将IGP路由引入BGP中时,MED值会继承IGP的metric值。若为直连则MED值为0

MED值只会传递给一个AS,如 A----B----C这个环境中,A上面宣告一些IGP学习的网段且有MED值发送给B,B会收到MED值,若B还有其他的IBGP邻居,这些IBGP邻居也会学习到此路由的MED属性,但B发送给C的时候,会设置MED值为0

BGP 25 BGP的MED值在重发布进入OSPF的时候,不能附带进入OSPF,路由条目使用的是OSPF重发布BGP路由默认的值,为1.

MED属性能够影响来自邻居的业务入流量,但是它不能影响更远的AS的路由决定。重复前面的拓扑图,通过使用AS-PATH prepend来将一条路由经过的AS增加,从而使该路由的优先选择降低。通过使用AS-PATH来完成让R3要到网络192.168.198.0/24的时候经过R1和R3,要到192.168.199.0/24的时候经过R4和R2。R4要到网络192.168.199.0/24的时候经过R4和R2,要到网络192.168.198.0/24的时候经过R1和R3。

R3: Access-list 1 permit 192.168.199.0

Route-map as permit 10 Match ip add Set as-path prepend 100 100 100

Route-map as permit 20

Router bgp 200 Nei 10.1.1.1 route-map as In

BGP 26 R4: Access-list 1 permit 192.168.198.0

Route-map as permit 10 Match ip add 1 Set as-path prepend 100 100 100

Route-map as permit 20

Router bgp 200 Nei 20.1.1.1 route-map as in

R3#show ip bgp BGP table version is 13, local router ID is 60.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, iIGP, eincomplete

Network Next Hop Metric LocPrf Weight Path *> 192.168.198.0 10.1.1.1 0 0 100 i * i 20.1.1.1 0 100 0 100 i * 192.168.199.0 10.1.1.1 0 100 100 100 100 i *>i 20.1.1.1 0 100 0 100 i

在以上的图中,R3 R4 R5 运行OSPF,其他3个AS分别将BGP路由信息发送给AS300中的3台路由器,然后重发布 进OSPF,然后再在边界路由器重发布进BGP传递给对方。但是由于OSPF不能理解BGP的路径属性,所以会造成属性丢失,比如从AS100 和AS200 重发布来的BGP路由,在AS400中,只会发现他起源于AS300,BGP 27

之前的路径属性已经丢失。

这个问题有可能会让AS400中的路由器在有其他路径的情况下做出不精确的路由选择,为了解决这个问题,通过在将OSPF路由重发布进BGP的时候使用set AS-PATH tag 命令匹配route-map 来让丢失的AS属性进行还原。

例如R5:

Router ospf 1 Redistribute bgp 300

Router bgp 300 Redistribute ospf 1 route-map TAG match internal external(BGP要重发布OSPF外部路由时需要添加)

Route-map TAG permit 10 Set as-path tag

在配置之前的R6的IP路由表:

net work nexthop metric locprf weight path *> 192.168.1.0 10.1.1.1 1 0 300 ? *> 192.168.2.0 10.1.1.1 1 0 300 ?

可以看到2条192.168的路由的发起AS信息已经丢失,R6可能会造成不精确的路由选择。

在配置之后的R6的IP路由表:

net work nexthop metric locprf weight path *> 192.168.1.0 10.1.1.1 1 0 300 100 ? *> 192.168.2.0 10.1.1.1 1 0 300 200 ?

Set as-path tag 命令在OSPF标记段中恢复AS-PATH信息,但是,自动加入到标记段的信息只有AS-PATH。在R6上,来自AS100和AS200的路由的ORIGIN为incomplete。根据R6是否有到AS100以及AS200的可替换的路由,ORIGIN是否会影响到BGP的决定过程,以上的情况可能是问题,也可能不是问题。可以通过 Set automatic-tag命令将BGP标记段加入了ORIGIN码。通过使用table-map 匹配使用。

例:R5 Router ospf 1 Redistribute bgp 300

Router bgp 300 Table-map TAG Redistribute ospf 1 route-map TAG

Route-map TAG permit 10

BGP 28 Set as-path tag

net work nexthop metric locprf weight path *> 192.168.1.0 10.1.1.1 1 0 300 100 i *> 192.168.2.0 10.1.1.1 1 0 300 200 i

〈BGP Advertise-map>

BGP条件通告有2种形式,当其他一些前缀不存在的时候通告某些前缀,或者当它们存在的时候通告某些前缀。可以通过一个被称为non-exist-map的路由映射来定义不存在的条件,或者通过一个被称为exist-map的路由映射来定义存在的条件。

例:当通过某些前缀不存在的时候才通告一些前缀给邻居:

AS200多宿主到AS300和AS400,与AS300的链路作为主链路,AS400备用。AS200的地址块是从AS300分配的,除非到AS300的链路中断,否则地址块200.200.200.200/32是不会被通告给AS400的。AS300发送100.100.100.100给AS200,该前缀被R3的non-exist-map跟踪。

BGP 29

R3配置:

Router bgp 200 Net 200.200.200.200 mask 255.255.255.255 Nei R4 route-map as300 in Nei R5 advertise-map 200 non-exist-map 100

Ip prefix-list 100 permit 100.100.100.100/32 Ip prefix-list 200 permit 200.200.200.200/32

Route-map as300 permit 10 Set community 300:1

Route-map 200 permit 10 Match ip add prefix 200

Route-map 100 permit 10 Match ip add prefix 100 Match community 300:1

BGP 30

加上一个community是为了保证100.100.100.100/32前缀是从AS300收到的。当100.100.100.100失效的时候,通过debug ip bgp update看到输出:

*Mar 1 00:39:38.931: BGP(0): net 200.200.200.200/32 matches ADV MAP 200: bump version to 8 *Mar 1 00:39:39.251: BGP(0): nettable_walker 200.200.200.200/32 route sourced locally *Mar 1 00:40:07.031: BGP(0): 10.1.1.1 200.200.200.200/32 matches advertise map 200, state: Advertise *Mar 1 00:40:07.039: BGP(0): 10.1.1.1 send UPDATE(format)200.200.200.200/32, next 10.1.1.2, metric 0, path Local *Mar 1 00:40:07.043: BGP(0): 20.1.1.2 skip UPDATE 200.200.200.200/32(chgflags: 0x0), next 0.0.0.0, path

当100.100.100.100/32恢复的时候,我们可以看到以下输出:

*Mar 1 00:43:39.047: BGP(0): net 200.200.200.200/32 matches ADV MAP 200: bump version to 10 *Mar 1 00:43:39.375: BGP(0): nettable_walker 200.200.200.200/32 route sourced locally *Mar 1 00:43:48.047: BGP(0): 10.1.1.1 200.200.200.200/32 matches advertise map 200, state: Withdraw *Mar 1 00:43:48.051: BGP(0): 10.1.1.1 send unreachable 200.200.200.200/32 *Mar 1 00:43:48.055: BGP(0): 10.1.1.1 send UPDATE 200.200.200.200/32--unreachable *Mar 1 00:43:48.055: BGP(0): 20.1.1.2 skip UPDATE 200.200.200.200/32(chgflags: 0x0), next 0.0.0.0, path

例:当通过某些前缀存在的时候才通告一些前缀给邻居:

Router bgp 200 Net 200.200.200.200 mask 255.255.255.255 Nei R4 route-map as300 in Nei R5 advertise-map 200 exist-map 100

Ip prefix-list 100 permit 100.100.100.100/32 Ip prefix-list 200 permit 200.200.200.200/32

Route-map as300 permit 10 Set community 300:1

Route-map 200 permit 10 Match ip add prefix 200

Route-map 100 permit 10 Match ip add prefix 100 Match community 300:1

BGP dampening主要用于有多个邻居相连的路由器上,当某个邻居的一条路由出现了摆动,那么这个路

BGP 31 由器就必须得想其他所有邻居公布这个变化,会给网络造成很大的负担,如果在这个路由器上配置了BGP Dampening,那么他会对摆动的路由进行抑制,这样就不会对其他路由邻居公布这个消息。

Router bgp 100 Bgp dampening 10 1000 3000 15

以上命令的意思是说 dampening的半衰期为10分钟,也就是说路由每摆动一次,那么它的惩罚值就增加1000,直到增加到3000的时候,路由会被抑制,10分钟后,会自动降为1500,当降到1000的时候就恢复。如果惩罚值过大一直无法降至1000,那么在15分钟的最大抑制时间之后会自动恢复。

NO-EXPORT属性:该属性允许路由器将一个路由公布给一个EBGP对等路由器,但是不允许那个AS里的路由器将该路由公布给其他AS。

NO-ADVERTISE属性:该属性不允许对任何对端公布这条路由。

LOCAL-AS属性:该属性允许路由器在联盟中将一个路由公布给它的邻居,并允许这个邻居将这个路由公布给联盟AS内的邻居,但是不允许公布给联盟AS以外的其他联盟AS。如果没有联盟存在,那么该属性被看成和NO-EXPORT属性一样来对待。

None属性:该属性允许当路由器从邻居收到一条带属性的路由的时候,可以将该属性取消。

另外可以配置只具有自己定义的团体属性: 十进制格式:使用1---4294967200之间的数字

AA:NN格式:AA是1-65535之间的16比特的AS号,NN是1-65440之间的任意一个数。

自定义团体属性方便管理团体路由,使用方法如下:(AA:NN使用例子)

R1配置:

Ip access-list 1 permit 100.1.1.0 Ip access-list 2 permit 100.2.1.0

Route-map community permit 10 Match ip add 1 Set community 100:1

Route-map community permit 20 Match ip add 2 Set community 100:2

Router bgp 100 Nei 10.1.1.2 route-map community out Nei 10.1.1.2 send-community

Ip bgp community new-format(使用AA:NN格式的时候必须打这条命令让路由器新格式)

BGP 32 R2配置:

Ip community-list 100 permit 100:1

Ip community-list 101 permit 100:2

Route-map community permit 10 Match community-list 100 Set local-pre 150

Route-map community permit 20 Match community-list 101 Set local-pre 200

Ip bgp community new-format(使用AA:NN格式的时候必须打这条命令让路由器新格式)

以上社团列表用于将之前路由器以定义的社团区分开来精确的控制。

社团列表:社团列表也分为标准的和扩展的两种格式,标准的号码为1-99,扩展的号码为100-199,两者之间的区别就是扩展的社团列表允许匹配新格式的社团列表(AA:NN)。

社团列表的用法:

Ip bgp community-list 101 permit *:50(匹配前面是任意数字,后面为50的)

Ip bgp community-list 101 permit 100:50(精确匹配100:50的)

Ip bgp community-list 1 permit 10(标准的社团列表只允许匹配十进制的)

Ip bgp community-list 101 permit 100:50 200:50(匹配这2个种的任意一个或2个全都含有的)

BGP 33

BGP联盟使大型AS分割成子自治系统,从而使大型AS更容易管理。BGP联盟根本上解决的问题是当一个EBGP路由器收到一个来自外部的路由条目后转发给它所有的IBGP邻居,但是这些IBGP邻居却不再将路由继续转发给它的IBGP邻居,通过使用联盟将这些IBGP邻居分割成一个一个小的AS,原来的不转发的IBGP邻居就变成了联盟EBGP邻居,从而打破了BPG水平分割的问题。

BGP联盟的配置:

R3:

Router bgp 65534(BGP联盟AS号)Bgp confederation identifier 100(自治系统AS号)Bgp confederation peer 65535(BGP联盟对等AS号,只有在联盟EBGP路由器上才会配置)Nei R1 remote-as 65535(使用联盟AS指定邻居)Nei R4 remote-as 65534 Nei R5 remote-as 300

联盟BGP的一些特性:

·在联盟内部保留联盟外部路由的NEXT-HOP属性。

·公布给联盟的路由的MED属性在整个联盟范围内予以保留。(将BGP联盟的AS看成单独的AS)

·路由的LOCAL-PREF属性在整个联盟范围内予以保留,(将BGP联盟的AS看成单独的AS)

·在联盟范围内,将成员自治系统的AS号加入到AS-PATH中,但是并不将它们公布到联盟的范围以外。AS-PATH中的联盟AS号用于避免环路,但是当在联盟内选择一个最短的AS-PATH时,可以不用考虑联盟AS号。例如当一个路由器到达一个目的地有2条路由(65534)(65533)100和(65533)100,他会忽

BGP 34 略联盟AS号,将这条路由看成同样的路径。在存在普通EBGP和联盟EBGP的情况下,BGP会优先选择普通E BGP,在存在联盟EBGP和联盟IBGP的情况下,BGP会优先选择联盟EBGP。如果两者都相同,那么会执行普通的BGP选择路由策略。

补充命令:

Bgp deterministic-med:让路由器使用具有最低值的路径而不管该路径对于成员AS来讲是内部的还是外部的。

Bgp always-compare-med :会比较到同一个目的地的路径的MED,而不考虑这些MED是否是同一个AS公布的。

〈BGP Router-reflector>

BGP路由反射器的作用和BGP联盟的作用相同,当一个EBGP路由器收到一个来自外部的路由条目后转发给它所有的IBGP邻居,但是这些IBGP邻居却不再将路由继续转发给它的IBGP邻居。使用路由反射器之后将邻居路由器配置为该路由器的反射客户端,路由器便会将这个路由转发给它的客户端邻居。

路由反射器配置: R1:

Router bgp 100 Bgp cluster-id 10 Nei 10.1.1.2 remote-as 100 Nei 20.1.1.2 remote-as 100 Nei 30.1.1.2 remote-as 100 Nei 10.1.1.2 router-reflector-client Nei 20.1.1.2 router-reflector-client Nei 30.1.1.2 router-reflector-client

配置R1路由反射簇为10并将3个邻居作为它自己的BGP 路由反射客户端。

<Auto-Summary>

·当其他协议重分布进BGP时,默认会进行自动汇总。

·将IGP重分布BGP中,会携带IGP中的Metric和Next-hop。

·当从BGP邻居收到一条路由,发现下一跳是自己的直连接口地址,则拒收此路由。

在auto-summary情况下,将IGP重分布进BGP,不会携带原有的METRIC值 在no auto-summary情况下,会携带原有的METRIC值

R1(config-router)#no auto-summary(高版本IOS默认开启)

R4(config-router)#network 4.4.4.0 mask 255.255.255.0

BGP 35(在no auto-summary时,必须严格按照IP地址掩码通告)

在BGP中,network的特点是:

1、必须精确宣告路由和掩码

2、只起到宣告作用,不建邻居

3、可宣告IGP学到的路由,并携带Metric和Next-hop

Show ip bgp neighbors __ip___ advertised-routers查看我给这个邻居发了哪些路由

<BGP用loopback口建邻居,不要再通告此loopback>

·通过IGP(OSPF)学到对方loopback,用looback建EBGP邻居 ·又在BGP中通告此loopback。

此时路由表中会出B和O翻动的现象。因为EBGP AD=20,所以路由表中会显示

但路由是2.2.2.2/32 Next-hop 2.2.2.2,路由表会有环路检测机制

将路由的网络位与下一跳的相应网络位比较,如果相同,就删除此路由。把这条路由删除,所以又变成打O的。

<local-as>

如果在EBGP中,邻居指错了R2的AS号,可以在本地用以下方法解决: R2(config-router)#neighbor 12.1.1.1 local-as 3(对方指错的AS号)

Network Next Hop Metric LocPrf Weight Path *> 1.1.1.0/24 12.1.1.1 0 0 3 1 i

(加入了指错的AS号)

R2(config-router)#neighbor 12.1.1.1 local-as 3 no-prepend

(在AS-path中去掉指错的AS号)

<Dampening>

·为了防止路由频繁抖动。BGP利用Dampening机制,将这种频繁抖动的路由有条件的加以抑制。·BGP默认不启用Dampening,而且仅对EBGP邻居传来的路由启效。

·一条路由up->down,默认惩罚1000,当达到start suppress值时,被抑制。被抑制的路由不会传给本地,也不会传给其他EBGP邻居 ·Half-life Time : 15 m 半衰期

·Reuse

: 750 降到这个值以下,重新开始启用路由 ·Start Suppress : 2000 升到这个值以上,开始抑制 ·Max Suppress Time : 60 m(4×15)最大抑制时间

R2(config-router)#bgp dampening(对所有从EBGP收到的路由启用Dampening)

BGP 36 R2#show ip bgp 1.1.1.0/24 可查Dampening明细

1,(suppressed due to dampening)12.1.1.1 from 12.1.1.1(1.1.1.1)Origin IGP, metric 0, localpref 100, valid, external Dampinfo: penalty 2450, flapped 3 times in 00:11:40, reuse in 00:03:49

被惩罚的路由前面会打上 h *d 1.1.1.0/24(打d的路由,不会进入本地路由表,也不会传给其他BGP邻居)

R2#cle ip bgp dampening

针对一个邻居单独做dampening,针对一个邻居单独做了,就不要再在全局下做 R2(config)#ip prefix-list 1 permit 1.1.1.0/24 R2(config)#route-map DAMP R2(config-route-map)#match ip address prefix-list 1 R2(config-route-map)#set dampening 15 750 2000 60

<Next-hop-unchange>

·都用loopback建邻居

解法1:

R3(config-router)#neighbor 1.1.1.1 next-hop-unchanged

当EBGP用直连接口建邻居时,或者IOS不支持unchaged命令时,%BGP: Can propagate the nexthop only to multi-hop EBGP neighbor

解法2:

R1(config)#route-map NH R1(config-route-map)#set ip next-hop 12.1.1.2

R1(config-router)#neighbor 13.1.1.3 route-map NH in

<Maximum-Prefix>

neighbor 1.1.1.1 maximum-prefix 10

(1)neighbor 1.1.1.1 maximum-prefix 10 80

(2)neighbor 1.1.1.1 maximum-prefix 10 80 warning-only(3)neighbor 1.1.1.1 maximum-prefix 10 80 restart 20(4)

10后面跟的数字是百分数,默认值为75(1)针对Neighbor 1.1.1.1传过来的BGP路由,如果>7条,则报警;如果>10条,则断开BGP连接。Idle(PfxCt)(2)如果>8条,则报警;如果>10条,则断开BGP连接。

(3)如果>8条,则报警;如果>10条,也只报警,不断开BGP连接。(4)如果>8条,则报警;如果>10条,则断开BGP连接。

BGP 37

20分钟后重新连接,如果≤10条,则连接;如果仍然>10条,还是断开,(Neighbor会Up,然后Down).<Regular Expression>

<1> R1(config)#ip as-path access-list 1 permit _1$ R1(config-router)#neighbor 13.1.1.1 filter-list 1 in

(只允许起源于AS1的路由进入)

<2> R1(config)#ip as-path access-list 1 permit _1$ R1(config)#route-map AS R1(config-route-map)#match as-path 1 R1(config-router)#neighbor 13.1.1.1 route-map AS in

<Remove-Private-AS>

R1(config-router)#neighbor 13.1.1.3 remove-private-AS

Network Next Hop Metric LocPrf Weight Path *> 2.2.2.0/24 13.1.1.1 0 1 i

BGP 38

BGP-multipath命令

基于上面的拓扑图,AS100,AS300,AS200都通告前缀到AS200中,在R3和R4上,去往AS100通告的前缀条目会有相同的选择结果,唯一能够区别出Best路径的条目就是拥有最小的下一跳Router ID.除非使用BGP multipath 特性被激活,那么R3和R4将在2条链路上分担流量。同样,在R8上也会出现这样的情况。

R3和R4把这些接收到的前缀通告给整个AS200,AS200里的IBGP路由器上的路径选择都是基于到下一跳的IGP的度量的,这些下一跳是指建立BGP会话的接口。

set metric-type internal命令

AS300的情况有些复杂,R9接受到2条路径,看上去来自R6和R7的路径都是相同的,区别是Router ID 不同,这样会导致最后假设R6的Router ID最小,R9将R6作为Best下一跳,那么这时候可能出现一些情况。

R9将R6作为Best下一跳,假如这时候R9要去AS400中的一个目的地,流量会顺着R6然后经过R7再到达AS400,造成了次优路径。为了解决这个问题,如果通过使用BGP multipath命令的话,流量会成R6和R7分担,但是也不是非常完美的办法。通过提供每条前缀关联的拓扑信息给R9,可以解决这个问题,在R6和R7上配置 Route-map med permit 10 Set metric-type internal

Router BGP 200 Nei R9 route-map med out

这样使得R9能智能的选择哪些流量发送到特定的出口路由器上,为流量提供了优化路由选择。这个解决方法可以同样用在AS100上,R1和R2去往AS200或者其他区域的路由通过在EBGP路由中加入IGP的MED直可以帮助EBGP路由器选择更优化的路径。

BGP 39

1,EBGP多跳解决办法,根据以上的图,在2台路由器之间使用单个EBGP会话,这个会话基于环回口地址,对每个接口都配置了一条指向对方环回口地址的静态路由,通过BGP递归查找来负载均衡分担流量。

R1配置: Router bgp 100 Nei 2.2.2.2 remote-as 200 Nei 2.2.2.2 update lo 0 Nei 2.2.2.2 ebgp-multihop 2

Ip route 2.2.2.2 255.255.255.255 f0/0 Ip route 2.2.2.2 255.255.255.255 f1/0 Ip route 2.2.2.2 255.255.255.255 f2/0

R2配置

Router bgp 100 Nei 1.1.1.1 remote-as 100 Nei 1.1.1.1 update lo 0 Nei 1.1.1.1 ebgp-multihop 2

BGP 40

Ip route 1.1.1.1 255.255.255.255 f0/0 Ip route 1.1.1.1 255.255.255.255 f1/0 Ip route 1.1.1.1 255.255.255.255 f2/0

下面显示了R1的路由输出,可以看到去往AS200的路由经过3个接口负载均衡分担。

Router#show ip route 100.100.100.100 Routing entry for 100.100.100.100/32

Known via “bgp 100”, distance 20, metric 0

Tag 200, type external

Last update from 2.2.2.2 02:19:07 ago

Routing Descriptor Blocks:

* 2.2.2.2, from 2.2.2.2, 02:19:07 ago

Route metric is 0, traffic share count is 1

AS Hops 1

Router#show ip route 2.2.2.2 Routing entry for 2.2.2.2/32

Known via “static”, distance 1, metric 0

Routing Descriptor Blocks:

* 10.1.1.2

Route metric is 0, traffic share count is 1

20.1.1.2

Route metric is 0, traffic share count is 1

30.1.1.2

Route metric is 0, traffic share count is 1 2,EBGP multipath解决办法,EBGP multipath提供了另一种在多条链路上负载分担流量的解决办法。两台路由器之间的每一条链路都被配置了一个EBGP会话。这些EBGP会话通过接口物理地址建立,结果就是2台路由器接收到多条路径信息,每一条链路一条路径信息。除了路径是从不同的邻居地址接收到的以外,这些路径信息都是相同的。

R1配置: Router bgp 100 Nei 10.1.1.2 remote-as 200 Nei 20.1.1.2 remote-as 200 Nei 30.1.1.2 remote-as 200 Maximum-paths 3

R2配置: Router bgp 100 Nei 10.1.1.1 remote-as 100 Nei 20.1.1.1 remote-as 100 Nei 30.1.1.1remote-as 100 Maximum-paths 3

BGP 41

通过show ip route 可以看到2台路由器的负载均衡情况:

Router(config-router)#do show ip route 100.100.100.100 Routing entry for 100.100.100.100/32

Known via “bgp 100”, distance 20, metric 0

Tag 200, type external

Last update from 30.1.1.2 00:03:00 ago

Routing Descriptor Blocks:

* 10.1.1.2, from 10.1.1.2, 00:03:46 ago

Route metric is 0, traffic share count is 1

AS Hops 1

20.1.1.2, from 20.1.1.2, 00:03:20 ago

Route metric is 0, traffic share count is 1

AS Hops 1

30.1.1.2, from 30.1.1.2, 00:03:00 ago

Route metric is 0, traffic share count is 1

AS Hops 1

BGP 42

提供商A给企业分配了一个100.16.0.0/20。企业通过BGP把这条路由通告给提供商A和B,提供商A把这条路由汇总成了100.16.0.0/16,而提供商B由于没有这条路由,进而不执行汇总。把 100.16.0.0/20直接通告给internet,这样结果就会导致internet中的路由器执行最长掩码的匹配,因此除了提供商A里的路由器会选择提供商A到达企业,其他的路由都会经过提供商B到达企业。

这个问题的解决方法就是在提供商A里将100.16.0.0/20这条路由和 100.16.0.0/16一起通告。这样就给企业提供了平衡的入境流量。

1,流量流向需求

大部分流量应该把R1到AS100的OC-3链路作用首要链路。只有当R1的OC-3链路失效时候才能使用R2的DS3链路。到AS200的流量应该使用到AS200的DS3链路,而不是穿越任何可能存在于AS100和AS200之间的直接的或间接的对等连接。2,失效的情况

如果OC-3链路失效,流量应该相当均匀地被分布到两条DS3链路上。流量应该被优化地路由到某种程度,即去往AS200的流量不被发送到AS100,反之亦然。如果某一条DS3链路失效,流量应该被继续发送到OC-3链路上,只有当AS100的OC-3链路失效的时候才使用AS100的DS3链路,如果到AS200的DS3链路失效,流量应该被切换到OC-3链路上。

入境流量策略:

初始配置没有提供入境流量的任何优先级。在决定使用AS100还是AS200的时候,流量根据AS_PATH属性来采取优化的路径进入企业网络。这可能导致AS200来的DS3链路过载,根据到下一跳地址的IGP度量,进入AS100的流量既可能采取DS3链路,也可能采取OC-3链路,这可能过载从AS100来的DS3链路。

R2通过在到AS100的DS3链路上使用set as-path prepend 方法来转换入境流量模式,使得从AS100来的流量只使用OC-3链路。

R3通过在到AS100的DS3链路上使用set as-path prepend 方法来转换入境流量模式,使得从AS200来的流量只使用OC-3链路。

现在所有的流量都经过OC-3链路进入,没有任何流量穿越DS3链路,这不是完全所期望的策略,源自AS200的流量应该从那条DS3的链路进入。查看了AS200的上游提供商之后,发现它与AS100有直接的对等连接并正在接收AS-PATH为300 100(R1发起的)的172.160.0.0/16前缀,这是优于AS-PATH 300 300 300(R2 R3发起的)。

这时候可以在R3上设置从R3出去的前缀为团体200:120,并且通告团体属性给AS200里的路由器,AS200在对该属性的前缀设置本地优先级为120,这样AS200在接收到从R3来的前缀的时候会优先选择通过R3的DS3链路进入AS300,而不会选择从R1通告的前缀进入。

现在这时候网络基本已经达到预期的效果,现在检查链路失效时候会产生的情况: 因为没有流量沿着从R2的DS3链路上流进来,因此拆除这条链路不会产生任何影响。

BGP 43

关闭R3的DS3链路就会造成从R1的OC-3路径是唯一的,这也不影响网络

最后失效情况就是关闭R1的OC-3链路的时候,有可能会使某一条DS3链路负载,期望出现的行为就是流量经过两条DS3链路负载。在关闭了OC-3链路后,R3的DS3链路流量大约在35M左右,而R1的DS3链路上流量在12M左右。由于该2台路由器有相同的策略(都是set as-path prepend 300 300,对外路由器看到的都是 as-path 300 300 300)除了AS200里来的流量,但是由于AS200里的local-pref属性不会影响到其他的AS网络,排除该原因,看来是AS200比AS100有更好的internet连接造成的结果,意味着internet上大多网络到达AS200有着比到AS100更短的AS-PATH。根据这种假设我们把R2的set as-path prepend减少一次,然后让BGP策略重新生效。结果就是更多的流量从R2的DS3链路进入企业AS,从AS100来的大约有25M,AS200来的大约有22M。R1的配置:

Router bgp 300 Network 172.160.0.0 Nei 172.160.1.2 remote-as 300 Nei 172.160.1.2 update lo 0 Nei 172.160.1.3 remote-as 300 Nei 172.160.1.3 update lo 0 Nei 100.100.100.1 remote-as 100 No auto-summary

R2的配置: Router bgp 300 Network 172.160.0.0 Nei 172.160.1.1 remote-as 300 Nei 172.160.1.1 update lo 0 Nei 172.160.1.3 remote-as 300 Nei 172.160.1.3 update lo 0 Nei 100.100.150.1 remote-as 100 Nei 100.100.150.1 route-map AS100_OUT out

Route-map AS100_OUT permit 10 Set as-path prepend 300

R3的配置: Router bgp 300 Network 172.160.0.0 Nei 172.160.1.1 remote-as 300 Nei 172.160.1.1 update lo 0 Nei 172.160.1.2 remote-as 300 Nei 172.160.1.2 update lo 0 Nei 200.200.200.1 remote-as 200 Nei 200.200.200.1 send-community Nei 200.200.200.1 route-map AS200_OUT out

Route-map AS200_OUT permit 10

BGP 44 Set as-path prepend 300 300 Set community 200:120

〈在路由反射环境中使用可比较的AS间度量〉

MED值是可以用来影响AS间路径选择的BGP度量,默认条件下,只在从同一个毗邻的AS来的路径中比较,因此,从不同AS来的MED是不可比较的。

默认条件下,路径被接收的顺序可能会影响最佳路径选择的结果。

1、不可比较的AS间度量。

前缀172.16.0.0/16被AS400通告给AS200和AS300,当前缀从R5到达AS100中的R2时,MED为10。在AS300中,R6把发送给R3和R4的前缀分别设为5和6。R1是路由反射,R2,R3和R4是它的客户。

R2,R3和R4分别对R1使用了Next-hop-self命令。

BGP 45 当更新开始后,最新接收到的路由条目被列在路由信息库中的最上面,最早接收到的被列在最下面,假设R3来的路径是最早接收到的,接着是从R2和R4来的。如:

一、这时候R1开始进行最佳路由比较,首先比较路径1和2。由于来自于不同的AS,所以不比较MED值,那么路径1的RID最小被选择为最佳路径。

二、接着比较路径1和3,由于来自于相同的AS,在MED的比较过程中,路径3被选择为最佳路径。

三、因为最佳路径是通过R3的,这时候R1向R3撤回从R2和R4接收到的路由条目反射,并且只把最佳路径反射给R2和R4。

四、当R4收到R1反射的最佳路有条目更新之后,他的路有表就有了2条路径,如:

通过比较,由于从第1条路由信息有更低的MED值,所以R4将第1条路由选择为最佳路径,并且撤回之前通告给R1的来自R6的路由条目。

五、当R1接收到撤回消息后,R1清楚了从R4来的路径条目,这时候R1只剩下2条路径,如:

因为被清除的路径不是最佳路径,所以BGP不会重新计算最佳路径。因此,路径2仍然是最佳路径。当BGP扫描器运行时,它启动了路径选择进程。因为R2具有更低的RID,所以路径1被选择为最佳路径。R1这时候向R2发送了撤回消息,并且将最佳路径通告给了R3和R4。

六、当从R1接收到新的更新消息后,R4就有了新的BGP RIB,如:

BGP 46 因为路径2是EBGP邻居,所以它被选择为最佳路径,接着R4向R1发送了新的路径信息。

七、当R1收到R4通告的新的信息后,R1现在在它BGP RIB中有了3条路径,如:

于是R1进行最佳路径选择,然后把路径3选择为最佳路径,这时候就产生了一个路径选择僵持的收敛问题。导致了以下问题:

·BGP表的版本持续增加,只要最佳路径改变,BGP表的版本就会被增加。

·IP RIB中,去往目的地的下一跳不断地改变。当BGP最佳路径改变时,新的下一跳就更新了RIB。

解决办法:

1,使用全互联的IBGP。2,打开always-compare-MED 3,打开deterministic-MED比较 4,把MED值重置为0 5,使用团体属性

<使用全互联的IBGP> 当使用全互联结构的IBGP时,所有的路由器就有了完整的路由选择信息,收敛环路也不会形成。然而,如果一开始就选择RR来增强扩展性,那么该选择也许不能被接受。

<打开always-compare-MED> 当在所有的邻接AS比较MED时,具有最低的MED值的路径总是胜出。以上同样的例子,R3总是胜出。不过这个选择有一些争议:

·从不同的AS来的MED值也许不总是可以比较的。做比较时需要紧密地协调所有的对等AS,以便用一致的和有意义的度量来与MED关联。

·总是优选具有最低的MED值的路径也许并非最优化的,因为没有把AS间的拓扑考虑进去。比如,R4需要通过R1到R3转发去往172.16.0.0的流量,而不是直接发送给R6。

<打开deterministic-MED比较> 如果配置bgp deterministic-med,所有路径都将基于邻近的AS进行编组。在每个AS编组内,根据MED的大小对路径进行排序,最小的是该组的最佳路径。在不同编组的最佳路径再比较时,MED不在考虑之内。

以上的同样例子,1和3会被编在同一组,先进行比较,3优于1(MED值低),然后3和2(其它组)比较,由于不同邻居AS,MED不作比较,2的RID比较低而胜出。最佳路径是2.如果同时也激活了bgp always-compare-med,那么对所有路径都比较MED,而不考虑是否来自同一个相邻的AS。由于deterministic-med配置了,所以会在上面的例子中编组后,每组的最佳路径再进行比较(这时MED被考虑)。所以3是最佳路径(MED低)。

BGP 47

<把MED值重置为0> 在路径选择中把MED的影响全部清除掉的一种常用的办法就是把入境的MED值重置为0。典型地,一般在网络的边缘做这些配置,这些配置会在从其他AS接收到更新消息的时候起作用。当在R2,R3和R4上将MED值重置为0的时候,R1有了一致的MED值,那么最小的RID将会胜出,在以上例子中,R4有着最小的ID。

R1会选择通过R4去往172.16.0.0,而R2和R3则因为从R4来的路由为IBGP路由而优先选择与自己相邻的EBGP路由。

<使用团体属性>

<在路由反射环境中使用不适当的IGP度量> 在IBGP最佳路径选择过程中,IGP度量经常是打破平局的因素之一。在多簇RR的架构下应该以这样的方式来设置IGP度量,即簇内的度量要比簇间的度量更低,这使得RR可以优先选择簇内路径而不是簇间路径。不适当地设置IGP度量可能会导致僵持的收敛环路。

<不适当的IGP度量>

BGP 48

一、AS100内的3台边界路由器使用next-hop-self通告了前缀172.16.0.0/16,一开始R1在它的BGP RIB中有两条路径,如图:

在接收到R8发来的更新消息后,R1有了3条路径,为了确定最佳路径,R1比较路径

BGP 49 1和路径2,路径1胜出是因为它有更低的IGP度量。然后路径1和路径3比较,路径3胜出是因为它有更低的MED。

二、R1向R3发出了撤回消息,并且将最佳路径通告给所有邻居。R8的BGP RIB中,这时候有2条信息,如图:

路径2为最佳路径,因为它具有最低的MED值。这时候R8向R1发送了撤回消息,撤回从R4接收到的路由通告。并且将最佳路由通告给R4。

三、R4接收到从R8通告来的最佳路由,它将进行一个最佳路径比较,如图:

Next-hop

As-path

MED

IGP metric 1

R3

300 400

2

R6

300 400

路径1被选择为最佳路径,因为它具有最低的MED值,这时候R4向R8发送了撤回消息,撤回从R6学习来的路由通告,R8接着向R1撤回该路由条目,这时候R1的BGP RIB信息只剩下从R2和R3学习来的信息,如图:

路径1被选择为最佳路径,因为它具有最小的IGP度量,这时候R1向R2发送撤回路由,并且将最新的消息通告给R3和R8,R3由于自己从EBGP学到一条路由更新,所以选择EBGP路由条目,R8将该最佳路由条目发送给R4,这时候R4的BGP RIB如下:

路径2被选择为最佳路径,这时候R4又向R8通告最佳路由条目,R8将该路由条目通告给R1,由此产生了一个IGP度量引起的收敛僵持问题。

BGP 50

第二篇:bgp综合实验总结

——————————————

BGP综合实验1

拓扑图

袁 月

拓扑说明:

如图,有R1-R5五台路由器

R1,R3,R4的S0/0、S0/

1、S0/2口通过FR连接,R1为hub,帧中继链路ip为10.10.134.0/24 R1,R2的F1/0口通过以太网连接,链路ip为10.10.12.0/24 R4,R5的s0/1口直连,网段10.10.45.0/24 每台路由器的环回0口ip为x.x.x.x/32 R1上有lo1-lo5,ip地址为192.168.1.1/24---192.168.5.1/24 R5上有lo1-lo5,ip地址为172.16.1.1/24---172.16.5.1/24 实验要求: 1.配置底层:

配置每台设备的接口ip,配置完成后确保直连可达 每个路由器的环回口是X.X.X.X/32 2.配置IGP 全网运行OSPF area0,仅宣告lo0口和链路ip进入ospf,NBMA区域任意处理

3.建立BGP邻居

BGP AS区域划分如图,按照如下规则建立对等关系.使用回环口建立邻居.R1 peer R2 R2 peer R1,R3 R3 peer R2,R4

R4 peer R5 R5 peer R4 4.BGP 路由宣告

邻居建立完成后,将R1和R5的lo0口宣告进入BGP,使用network命令

要求R1,R5使用适当的方式宣告各自的lo1-lo5 宣告完成后要求每台设备的bgp转发表可见这些路由 5.BGP路由控制

要求做出适当控制,达成下列条件,具体方法不限

1、使下列条目出现在R1的bgp表中

*> 172.16.1.0/24

2.2.2.2

0 255 2 3 i *> 172.16.2.0/24

2.2.2.2

255 10 20 2 3 ? *> 172.16.3.0/24

2.2.2.2

0

i *> 172.16.4.0/24

2.2.2.2

255 2 3 i *> 172.16.5.0/24

2.2.2.2

0 255 2 3 i

2、使下列条目出现在R5的bgp表中

*> 192.168.0.0/21

0.0.0.0

32768 2 1 i *> 192.168.1.0

4.4.4.4

0 2 1 i *> 192.168.2.0

4.4.4.4

0 2 1 i s> 192.168.3.0

4.4.4.4

0 2 1 i s> 192.168.4.0

4.4.4.4

0 2 1 i *> 192.168.5.0

4.4.4.4

0 2 1 i

3、完成后,R1,R5互相可PING通对方宣告的这些bgp路由

实验效果: R1上查看BGP表

R5上查看BGP表

BGP综合实验2

拓扑图

实验要求如下: R1与R2为EBGP

R2与R3、R4为EBGP

R3与R4为IBGP

R3与R4、R5为EBGP 每台路由器都有X.X.X.XX/32作为router-id

全网底层跑EIGRP 100 2 3

实验效果:

R3和R4上查看BGP表 R3、R4学到R1上的bgp路由下一跳必须为AS100的,R5上学到的R1和R3的路由,优走R3 在R1和R5上的回环口分别是20.20.20.0/24和30.30.30.0/24,都重分布到BGP中,使其相互学到并互相连通!

R5上查看路由表

R1和R5上的lo0互相ping通

BGP综合实验3

拓扑图

实验要求如下: 1 2 3 4 5 R4上有192.168.1.0/

24、192.168.2.0/

24、192.168.3.0/

24、192.168.4.0/24和100.100.100.0/24网段,R5上有172.16.1.0/

24、172.16.2.0/

24、172.16.3.0/

24、172.16.4.0/24和50.50.50.1/32网段 R1为DR,R2和R3不参与DR选举

每台路由器都有x.x.x.x/24做为router-id Ospf学到的是192.168汇总和172.16的汇总以及100.100的明细路由 EIGRP不能学到192.168的路由,能学到100.100的路由 R4为AS100 R2为AS200 R5为AS300 R4只与R2建立EBGP,R5只与R2建立EBGP,R4能学到50.50.50.1/32的路由,且可达!

第三篇:ccna实验配置个人总结

------------------基本配置-----

01.路由器的基本配置:

Router>用户模式

Router>enable用户进入特权模式

Router#特权模式

Router#configure terminal特权进入全局配置模式

Router(config)#全局配置模式

Router(config)#hostname R1命名

R1(config)#no ip domain-lookup 关闭域名解析模式

R1(config)#line console 0进入控制台口

R1(config-line)#logging synchronous日志信息同步

R1(config)#interface fastethernet 0/0进入不同的接口

R1(config-if)#ip address 192.168.1.1 255.255.255.0配置IP

R1(config-if)#no shutdown开启接口

R1(config-if)#clock rate 64000DCE端时钟配置

show命令都是在特权模式下的R1(config)#show ip route查看路由表

R1(config)#show running-config查看当前配置

R1(config)#show ip interface brief查看端口配置

R1(config)#copy running-config startup-config当前配置保存为启动配置

R1(config)#write memory保存

---------------

02.路由协议:

Static routes/Default Static routes

RIP

Eigrp

ospf

---------------

Default Static routes

R1(config)#ip route 0.0.0.0 0.0.0.0 192.1.12.2缺省路由

R1(config)#ip route 0.0.0.0 0.0.0.0 192.1.21.2 10浮动静态路由10是管理距离 管理距离应用于协议之间的比较,metric值应用于协议内部之间的比较

Static routes

R1(config)#ip route 192.1.2.0 255.255.255.0 192.1.12.2下一跳地址(直连对端地址)

R1(config)#ip route 192.1.2.0 255.255.255.0 fastethernet0/0出站接口----------------

03.RIP

R1(config)#router rip开启rip

R1(config-router)#version 2 版本号

R1(config-router)#no auto-summary关闭自动汇总

R1(config-router)#network 11.1.1.1宣告自己loopback端的ip(网段号也可以)R1(config-router)#network 192.1.12.1宣告自己路由器的ip(网段号也可以)

自动汇总和手工汇总都会抑制明细路由,做手工汇总必须先关闭自动汇总。

R1(config)#no router rip删除rip协议

R1#show ip protocol 查看ip协议

R1#clear ip route * 清空路由表

----------------

04.Erigp

R1(config)#router eigrp 1

R1(config-router)#no auto-s

R1(config-router)#network 1.0.0.0宣告loopback的ip网段号(ip地址也可以)R1(config-router)#network 192.1.12.0宣告路由器ip网段号(ip地址也可以)R1#show ip eigrp neighbors查看邻居表

R1#show ip rigrp topolgy查看拓扑表

R1#show ip route eigrp通过eigrp学习到得路由

DUAL算法:后继,可行距离FD,通告距离AD,可行性条件FC(FD>AD),可行后继 Eigrp的邻居表,拓扑表,路由表。

---------------

05.OSPF

R1#show ip neighbor查看邻居表

R1#show ip ospf datebase查看数据库

R1#show ip ospf interface ethernet1/0查看接口配置

priority优先级0-255默认为1

R1#(config-if)#ip ospf priority 10 修改优先级为10

R1(config-router)#router-id 11.11.11.11修改id

配置:

R1(config)#router ospf 1

R1(config-router)#network 1.1.1.0 0.0.0.255 area 1

R1(config-router)#network 192.1.12.0 0.0.0.255 area 0

R2(config)#router ospf 1

R2(config-router)#network 2.2.2.0 0.0.0.255 area 2

R2(config-router)#network 192.1.12.0 0.0.0.255 area 0

这个配置具体还不清楚

R1(config)#int e1/0

R1(config-if)#ip ospf hello-interval 5修改hello时间

R1(config-if)#ip ospf dead-interval 10修改dead时间

--------------

06.ACL 访问控制列表

--------

telnet设置:

R1(config)#line vty 0

R1(config-line)#password yangkaichun

--------

R1(config)#access-list 1 deny 1.1.1.1 0.0.0.0拒绝1.1.1.1访问

R1(config)#access-list 1 premit any允许其它的R1(config)#int e1/0进入端口调用

R1(config-if)#ip access-group 1 in调用ACL

R1(config)#access-list 100 deny tcp any any eq telnet 不允许telnet登陆 R1(config)#access-list 100 permit ip any any 允许其它的R1(config)#int e 1/0进入端口调用

R1(config-if)#ip access-group 100 in

R1(config)#access-list 100 deny icmp host 192.1.12.2 host 1.1.1.1 echo拒绝ICMP包

R1(config)#access-list 100 deny tcp any any eq 80(不允许HTTP的进入)把80换成?就可查看端口编号了

第四篇:总结实验基本EIGRP配置

基本 EIGRP 配置实验

学习目标

在路由器上进行基本配置任务

配置并激活接口。

在所有路由器上配置 EIGRP 路由。

使用 show 命令检验 EIGRP 路由。

禁用自动总结。

配置手动总结。

记录 EIGRP 配置。

场景

在本实验练习中,您将学习如何使用拓扑图中所示的网络配置路由协议 EIGRP。将在路由器 R2 上使用一个环回地址来模拟通向 ISP 的连接,所有发往本地网络外的通信都将被发送到该地址。某些网段使用 VLSM 划分了子网。EIGRP 是一种无类路由协议,可用于在路由更新中提供子网掩码信息。这将使 VLSM 子网信息可传播到整个网络。

任务 1:准备网络。

步骤 1:根据拓扑图所示完成网络电缆连接。

任务 2:进行基本路由器配置。

根据下列指导原则在路由器 R1、R2 和 R3 上进行基本配置:

配置路由器主机名。

配置执行模式口令。

任务 3:配置并激活串行地址和以太网地址。

步骤 1:配置路由器 R1、R2 和 R3 的接口。

使用拓扑图下方的表中的 IP 地址在路由器 R1、R2 和 R3 上配置接口。

步骤 2:检验 IP 地址和接口。

使用 show ip interface brief 命令检验 IP 地址是否正确以及接口是否已激活。

完成后,确保将运行配置保存到路由器的 NVRAM 中。

步骤 3:配置 PC1、PC2 和 PC3 的以太网接口。

使用拓扑图下方的表格中的 IP 地址和默认网关配置 PC1、PC2 和 PC3 的以太网接口。

任务 4:在路由器 R1 上配置 EIGRP。

步骤 1:启用 EIGRP。在路由器 R1 上,在全局配置模式下使用 router eigrp 命令启用 EIGRP。输入进程 ID 1 作为 autonomous-system 参数值。

R1(config)#router eigrp 1

步骤 2:配置有类网络 172.16.0.0。

一旦您处于 EIGRP 配置子模式后,请将有类网络 172.16.0.0 配置为包括在从 R1 发出的 EIGRP 更新中。

R1(config-router)#network 172.16.0.0

该路由器将开始通过属于网络 172.16.0.0 的每个接口发出 EIGRP 更新消息。EIGRP 更新将通过 FastEthernet0/0 和 Serial0/0/0 接口发出,因为这些接口都处于网络 172.16.0.0 的子网内。

步骤 3:配置该路由器,使其通告 Serial0/0/1 接口所连接的网络 192.168.10.4/30。

在 network 命令中使用 wildcard-mask 选项,这样可只通告该子网而非整个有类网络 192.168.10.0。注意:将通配符掩码看作子网掩码的反掩码。子网掩码 255.255.255.252 的反掩码为 0.0.0.3。要计算子网掩码的反掩码,请用 255.255.255.255 减去该子网掩码:

255.255.255.255

– 255.255.255.252 减去子网掩码-------------------0.0.0.3 通配符掩码

R1(config-router)# network 192.168.10.4 0.0.0.3

当您完成 R1 的 EIGRP 配置后,返回到特权执行模式,然后将当前配置保存到 NVRAM。

任务 5:在路由器 R2 和 R3 上配置 EIGRP。

步骤 1:使用 router eigrp 命令在路由器 R2 上启用 EIGRP 路由。使用 1 作为进程 ID。

R2(config)#router eigrp 1

步骤 2:使用有类地址 172.16.0.0 以包括 FastEthernet0/0 接口的网络。

R2(config-router)#network 172.16.0.0

请注意,DUAL 会向控制台发送一条通知消息,说明已与另一台 EIGRP 路由器建立相邻关系。

该 EIGRP 相邻路由器的 IP 地址是什么?

________________________________________ 路由器 R2 上的什么接口通向该邻居?

________________________________________

步骤 3:配置路由器 R2,使其通告 Serial0/0/1 接口所连接的网络 192.168.10.8/30。

1.在 network 命令中使用 wildcard-mask 选项,这样可只通告该子网而非整个有类网络 192.168.10.0。

2.完成后,返回到特权执行模式。

R2(config-router)#network 192.168.10.8 0.0.0.3 R2(config-router)#end

步骤 4:在路由器 R3 上使用 router eigrp 和 network 命令配置 EIGRP。1.使用 1 作为进程 ID。

2.将该有类网络地址分配给连接到 FastEthernet0/0 接口的网络。

3.为连接到 Serial0/0/0 和 Serial 0/0/1 接口的子网使用通配符掩码。

4.完成后,返回到特权执行模式。R3(config)#router eigrp 1 R3(config-router)#network 192.168.1.0 R3(config-router)#network 192.168.10.4 0.0.0.3 R3(config-router)#

请注意,当将从 R3 到 R1 以及从 R3 到 R2 的串行链路添加到 EIGRP 配置时,DUAL 会向控制台发送一条通知消息,声明已与另一台 EIGRP 路由器建立相邻关系。

任务 6:检验 EIGRP 运行情况。步骤 1:查看邻居。

在路由器 R1 上,使用 show ip eigrp neighbors 命令查看邻居表并检验 EIGRP 是否已与路由器 R2 以及 R3 建立相邻关系。您应该能够看到每台相邻路由器的 IP 地址以及 R1 用于连接该 EIGRP 邻居的接口。R1#show ip eigrp neighbors

步骤 2:查看路由协议信息。

在路由器 R1 上使用 show ip protocols 命令查看与该路由协议运行情况相关的信息。请注意,输出中会显示在任务 5 中所配置的信息,例如协议、进程 ID 和网络。还会显示邻居的 IP 地址。R1#show ip protocols

请注意,输出指出了 EIGRP 所用的进程 ID。请记住,所有路由器上的进程 ID 必须相同,EIGRP 才能建立相邻关系并共享路由信息。

任务 7:检查路由表中的 EIGRP 路由。

步骤 1:在路由器 R1 上查看路由表。

在路由表中,EIGRP 路由标有字母 D,该字母代表 DUAL(扩散更新算法),该算法是 EIGRP 所用的路由算法。R1#show ip route

请注意,父网 172.16.0.0/16 被以可变方式使用 /24 或 /30 掩码划分为三个子路由。另请注意,EIGRP 自动为网络 172.16.0.0/16 包括了一条通向 Null0 的总结路由。路由 172.16.0.0/16 实际上并不代表通向父网的路由,如果发往 172.16.0.0/16 的数据包与二级子路由中的所有路由均不匹配,则会被发送到 Null0 接口。

网络 192.168.10.0/24 也被以可变方式划分了子网,并包括了一条 Null0 路由。

步骤 2:在路由器 R3 上查看路由表。

如 R3 的路由表所示,R1 和 R2 都自动总结了 172.16.0.0/16 网络并将其作为一条路由更新发送。因为自动总结的关系,R1 和 R2 未独立传播该子网。因为 R3 分别从 R1 和 R2 收到了通向 172.16.0.0/16 的路由,且该两条路由开销相等,所以它们都被加入到路由表中。

任务 8:配置 EIGRP 度量。

步骤 1:查看 EIGRP 度量信息。

使用 show ip interface 命令查看路由器 R1 的 Serial0/0/0 接口的 EIGRP 度量信息。请注意所显示的用于带宽、延时、可靠性和负载的值。

R1#show interface serial0/0/0 步骤 2:修改串行接口的带宽。

在大多数串行链路上,带宽度量默认为 1544 Kbit。如果这不是该串行链路的实际带宽,则需要更改带宽值以正确计算 EIGRP 开销。

在本练习中,R1 和 R2 之间的链路带宽将被配置为 64 kbps,R2 和 R3 之间的链路带宽将被配置为 1024 kbps。使用 bandwidth 命令修改每台路由器的串行接口的带宽。

路由器 R1: R1(config)#interface serial0/0/0 R1(config-if)#bandwidth 64

路由器 R2:

R2(config)#interface serial0/0/0 R2(config-if)#bandwidth 64 R2(config)#interface serial0/0/1 R2(config-if)#bandwidth 1024

路由器 R3:

R3(config)#interface serial0/0/1 R3(config-if)#bandwidth 1024

注意:带宽命令只会修改路由协议所用的带宽度量,而不会修改链路的物理带宽。

步骤 3:检验带宽修改情况。

使用 show ip interface 命令检验是否已修改每条链路的带宽值。

注意:使用接口配置命令 no bandwidth 将带宽恢复到其默认值。

任务 9:检查后继路由器和可行距离。

步骤 1:在 R2 的路由表中检查后继路由器和可行距离。R2#show ip route

步骤 2:回答下列问题:

通向 PC1 的最佳路径是什么?

____________________________________________________________________________________

后继路由器是当前用于转发数据包的一个相邻路由器。后继路由器是通向目标网络的最低开销路由。后继路由器的 IP 地址显示在路由表条目中,紧随单词“via”。

在本路由中,后继路由器的 IP 地址和名称是什么?

________________________________________

Feasible distance(FD)是算得的通向目标网络的最低度量。FD 是路由表条目中所列的度量,就是括号内的第二个数字。

通向 PC1 所在网络的可行距离是多少? ________________________________________

任务 10:确定 R1 是不是从 R2 到网络 192.168.1.0 的路由的可行后继路由器。

可行后继路由器是一个邻居,它具有一条通向后继路由器所连通的同一个目标网络的可行备用路径。R1 要成为可行后继路由器,必须满足可行性条件。当邻居通向一个网络的报告距离(RD)比本地路由器通向同一个目标网络的可行距离短时,即符合了可行性条件(FC)。

步骤 1:在 R1 上检查路由表。

通向网络 192.168.1.0 的报告距离是多少? ________________________________________

步骤 2:在 R2 上检查路由表。

通向网络 192.168.1.0 的可行距离是多少?

________________________________________

R2 会讲 R1 视为通向网络 192.168.1.0 的可行后继路由器吗?_______

任务 11:检查 EIGRP 拓扑表。

步骤 1:查看 EIGRP 拓扑表。

在 R2 上使用 show ip eigrp topology 命令查看 EIGRP 拓扑表。

步骤 2: 查看详细的 EIGRP 拓扑信息。

在 show ip eigrp topology 命令中使用 [network] 参数查看网络 192.16.0.0 的详细 EIGRP 拓扑信息。

R2#show ip eigrp topology 192.168.1.0

此网络具有几个后继路由器?

________________________________________ 通向此网络的可行距离是多少?

________________________________________ 可行后继路由器的 IP 地址是多少?

________________________________________

从可行后继路由器通向 192.168.1.0 的报告距离是多少?

________________________________________

如果 R1 成为后继路由器,则通向 192.168.1.0 的可行距离将是多少?

________________________________________

任务 12:禁用 EIGRP 自动总结。

步骤 1:在路由器 R3 上检查路由表。

请注意 R3 未收到子网 172.16.1.0/

24、172.16.2.0/24 和 172.16.3.0/24 的单个路由。取而代之的是,路由表中仅具有一条经过路由器 R1 通向有类网络地址 172.16.0.0/16 的总结路由。这将使发往网络 172.16.2.0/24 的数据包经过路由器 R1 而非直接经过路由器 R2。

为什么路由器 R1(192.168.10.5)是通向网络 172.16.0.0/16 的路由的唯一后继路由器? ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________

请注意,R2 的报告距离高于 R1 的可行距离。R3#show ip eigrp topology

步骤 3:使用 no auto-summary 命令在所有三台路由器上禁用自动总结。R1(config)#router eigrp 1 R1(config-router)#no auto-summary

R2(config)#router eigrp 1 R2(config-router)#no auto-summary

R3(config)#router eigrp 1 R3(config-router)#no auto-summary

步骤 4: 再次在 R1 上查看路由表。

请注意,表中列出了子网 172.16.1.0/

24、172.16.2.0/24 和 172.16.3.0/24 的独立路由,而未再列出总结 Null 路由。

任务 13:配置手动总结。

步骤 1:为路由器 R3 添加环回地址。

为路由器 R3 添加两个环回地址 192.168.2.1/24 和 192.168.3.1/24。这些虚拟接口将用于代表要与 LAN 192.168.1.0/24 一起手动总结的网络。R3(config)#interface loopback1 R3(config-if)#ip address 192.168.2.1 255.255.255.0 R3(config-if)#interface loopback2

R3(config-if)#ip address 192.168.3.1 255.255.255.0

步骤 2:将网络 192.168.2.0 和 192.168.3.0 添加到 R3 的 EIGRP 配置中。R3(config)#router eigrp 1 R3(config-router)#network 192.168.2.0 R3(config-router)#network 192.168.3.0 步骤 3:检验新路由。

查看路由器 R1 的路由表以检验新路由是否包含在由 R3 发出的 EIGRP 更新中。

步骤 4:对传出接口应用手动总结。

通向网络 192.168.1.0/

24、192.168.2.0/24 和 192.168.3.0/24 的路由可被总结到一个网络 192.168.0.0/22 中。使用 ip summary-address eigrp as-number network-address subnet-mask 命令在连接到 EIGRP 邻居的每个传出接口上配置手动总结。

R3(config)#interface serial0/0/0 R3(config-if)#ip summary-address eigrp 1 192.168.0.0 255.255.252.0 R3(config-if)#interface serial0/0/1 R3(config-if)#ip summary-address eigrp 1 192.168.0.0 255.255.252.0 R3(config-if)#

步骤 5:检验总结路由。

查看路由器 R1 的路由表以检验总结路由是否包含在由 R3 发出的 EIGRP 更新中。

第五篇:环境化学实验心得

实验心得

短短八天的实验已经结束了,通过这次实验我明白,化学是实践性较强的一门课程,环境化学更贴近我们的生活,进行环境化学实验的训练,掌握必要的环境化学实验技能可以加强我们对环境化学基础知识和理论的理解和认识,为将来的实际工作打下更好的基础。

我认为化学源自实验,实验是化学的精髓。如果只学习理论知识,而忽略了实验的重要性,必定不会有创新和发展,同样,没有扎实的理论知识指导,实验便没有了灵魂。唯有理论联系实际才是做好实验的根本所在。

经过这次的实验,我得到了不少的收获,一方面加深了我对课本理论知识的认识,另一方面也提高了实验操作能力。现在我总结了以下的体会和经验。

这次的实验跟我以前做的实验大有不同,因为只有这次是完完全全的自己亲自去完成,就连试剂都是自己亲自动手配的,虽然占用了很长一段时间,但是我觉得这次实验最深刻,最难忘的就是配试剂了,以前一直不敢接触浓硫酸等高腐蚀性物质,现今都不得不亲手配制,做完这个实验我再也不畏惧浓硫酸了。没有老师额外的指导,我们就必须要自己查资料,弄懂实验的原理,步骤及所用的试剂和仪器。在查资料的过程中,我深深感受到了网络资源的便利。

除此之外,这次实验还让我明白了欲速不达。刚开始,我们小组为了尽快完成实验,不去认真思考就按着网上查到的方案去做,结果做到最后才发现方案不完全对,实验失败,这样不仅浪费了时间,也

浪费了精力。后来,每做一步,我都问自己为什么,不懂的及时向同学请教。这样下来,我发现自己明白了很多以前不懂的问题,而且实验速度并不比以前慢。我想,实验的结果并不是最重要的,重要的是实验过程遇到的问题,并能及时想出解决问题的有效方法,这样才能提高。同时,我也深深体会到弄懂实验原理,自己亲自动手,开动脑筋的重要性。

其次,组员之间的团结协作是这次实验成功完成的保障。我们知道在这短短八天的时间里,要想每个人都把实验做一遍是不可能的,于是,我们有了明确的分工,每两个人为一小组,自己的实验自己负责,遇到不懂的问题,组员一起讨论,讨论未果的就去上网查找,都说“三个臭皮匠赛过诸葛亮”,组员们团结协作,最终战胜困难,这样不仅增强了团队凝聚力,每个人都收获颇丰。

再者,做实验时不要人云亦云,要有自己独到的见解。都说“真理只掌握在少数人手里”,但真正做起实验来,大家往往会跟随和模仿做得最快的同学,如果做得最快的同学做错了,那么大家都面临着重新做起。在做总N的测定时,我忙了一上午终于把试剂配好,下午做实验时,有同学见我已经配好试剂就向我借用。等我做最后一步时,测得的吸光度出现负值,才发现原来是试剂的配制有问题,而那个同学的实验也快做完了,于是,我们两个一下午的时光都白费了,都要重做。所以,做实验时不要贪图省力而想走捷径,要知道,实验是没有捷径可走的!每一步都要亲力亲为,都要思考,付出努力才有收获,想走捷径的人往往是在绕远路。

最后,通过这次实验我觉得,我国的环境保护迫在眉睫。这次实验比想象中的复杂,考验了我们的耐心与毅力,但学到的知识与复杂程度是成正比的

下载个人总结的BGP心得,包含大量实验环境和配置案例word格式文档
下载个人总结的BGP心得,包含大量实验环境和配置案例.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    开放性实验个人心得(范文模版)

    开放性实验个人心得 此次开放性实验,给了我一个开阔视野和实践的机会,虽然这段时间真的很忙,一方面,要为期末考试的各种科目复习,另一方面,又要准备考察实验,但忙碌的时间总让我感......

    实验个人总结

    实 验 室 总 结 xx小学 在本学期,实验室的工作仍旧在以往的基础上,继续以中心小学的标准来严格要求。本学期,实验室能做好各项工作:能按实验的要求规范存放各类仪器,并对实验器材......

    个人实验总结

    个人实验总结 “科学实验是科学理论的源泉,是自然科学的根本,是工程技术的基础”。正所谓“实践是检验真理的唯一标准”不管是多么伟大的理论,经不起实践的考验也是枉然,因此实......

    实验个人总结[模版]

    个人总结 在这一年多的时间里,我们在指导老师的指导带领下,从理论研究到动手操作,学习到了很多东西,自身能力也得到了极大地提高。 1.本人在项目研究中承担的工作及发挥的作用......

    环境基础实验课程总结2013

    环境工程基础实验课程总结一、课程简介 本课程所确定的内容主要是面向环境科学和环境工程专业学生的实验教学。实验内容是在参考国内外最新的研究与应用成果并结合多年的科......

    沙盘实验个人总结

    沙盘实验个人总结 刚听说沙盘时很茫然,根本就不知道是什么意思,再加上看了一下有关知识的word文档更是一头雾水。初识沙盘,我们只看到桌上有一张图,不知道这些东西是干什么用的,......

    沙盘推演实验个人总结

    2013-2014-2《企业行为模拟-沙盘推演与ERP应用》 ERP沙盘推演实验----个人总结 在失败中寻找教训 ——ERP沙盘推演实验个人总结 实 验 班 E 班 第 26 组 姓名 何一冰学号......

    创新实验个人总结

    创新实验个人总结 在大二的下半学期,我和我们班的四个同学接受了一项光荣而又艰巨的任务——参加大学生创新课题研究。我们都希望能抓住这次机会来接近我们的专业,锻炼自己,提......