当前位置:文档之家› 个人总结的BGP心得包含大量实验环境和配置案例

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

<BGP(Border Gateway Protocol)理论部分>·BGP属于EGP,是高级DV协议,也被称为路径矢量协议,基于TCP 179端口。

·现在使用版本BGP4。

第一次做完整更新,以后就只增量更新·Autonomous Systems:运行同一种选路策略,由统一管理者管理。

1-64511 (公有)64512-65535 (私有)电信AS号:4134 网通AS号:9929 一个好的网站,可以了解到关于AS号的一些信息Telnet 这一地址可以看到公网上的路由条目数·IGP支持的路由条目有限运行IGP不利于管理,做路由聚合、选路。

·BGP路由器只能将其使用的路由通告给他的邻居。

BGP用Open报文建邻居,用KL报文做日常联系·Neighbor table :List of BGP neighbors·BGP forwarding table/databaseList of all networks learned from each neighborCan contain multiple pathways to destination networksDatabase contains BGP attributes for each pathway·IP routing tableList of best paths to destination networksBGP表和路由表是独立的,同样遵循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 消息可以同时撤消多条路由。

Notification---when error is detected---BGP connection is closed after sent(当检测到错误的时候就会发起Notification消息。

通常会导致BGP连接的终止)<BGP建立一个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 消息。

状态会转移到空闲。

<BGP’s attribute>·ORIGIN属性ORIGIN是一个公认必选的属性,它明确了路由更新消息的来源。

当BGP有多条路由时,它会将ORIGIN 当作一个决定较优路由的因素。

它规定了以下几种源:·IGP—一个IGP源会得到ORIGIN值中的最佳的选项。

·Incomplete—NLRI是通过其他手段学习到的。

是ORIGIN最低的选择。

·AS-PATH属性AS-PATH 是一个公认必选属性。

它用AS号的顺序来描述AS间的路径或者到NLRI所明确的目的地的路由。

AS-PATH属性的另外一个功能就是避免环路,如果BGP路由器从它的外部对端处收到了一条路由,而该路由的AS-PATH包含这个BGP路由器自己的AS号,于是该路由器就知道是条环路路由,从而将这样的路由丢弃掉。

R1(config)#route-map ASR1(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 WER1(config-route-map)#set local-preference 101R1(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有意义,当该AS有多个入口点时,它用来说明首选项的等级。

R1(config)#route-map MEDR1(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邻居。

相关主题