AS自治系统 一个AS是一组共享相似的路由策略并在单一管理域中运行的路由器 AS 的范围:1-65535 其中私用范围为64512-65535 BGP发展过程 路径矢量路由 EGP3 BGP4 AS 类型: 1 单宿主自治系统 配置 使用静态配置 使用IGP 使用BGP 注:这三种方法并不需要用户与其服务提供商运行BGP 2 多宿主非渡越自治系统 优点,对路由传播和过滤的高度控制能力 3 多宿主渡越自治系统 IBGP概念 当BGP在一个AS中运行 EBGP概念 当BGP在AS之间运行 渡越路由器概念 边界路由器概念 BGP更新 TCP协议 端口号179 RIP更新 UDP协议 端口号520 OSPF不使用4层协议 BGP继承了TCP的可靠性和面向连接性。 为了确保无环,BGP根据BGP邻居之间交换的信息来建立一张自治系统图。 BGP概念:边界网关协议 自治系统之内使用IGP IGP宣告网络的可达性及链路的开销 自治系统之间使用EGP BGP宣告可达的AS的路径信息 什么情况下使用BGP 允许某个AS做穿越AS,允许数据包穿越到别的AS 一个AS有多条连接到达另一个AS. 需要对进入和离开某AS的流量进行路由策略 什么情况下不使用BGP 只有单个到达INTERNET或别的AS的连接(建议使用默认路由) 路由器内存和CPU 资源过低(现在世界上大概的BGP条目有12万条,占资源很大,占内存110多M) 缺乏对BGP路由策略的理解 AS之间的链路带宽过低(BGP更新数据比较大,现实情况中AS之间链路不会过低) BGP特性 增强型的路径矢量路由协议 1 可靠的路由更新机制,BGP运行于TCP,使用TCP端口号179 (OSPF通过LSACK,RSS中利用PSNP或者SNP来保证可靠性) 2 触发式增量更新(有变化才更新,而且增量只是变化的部分) 3 周期性的KEEPALIVE信息保证TCP的连接是否存活. IBGP 5S EBGP 60S 4 更强大的METRIC标准属性. 5 使用于大型网络 BGP的三张表 邻居表 列举BGP邻居信息 BGP转发表 列举从每个BGP中学来的路径,可能有多条路径,每条路径都有属性 IP路由表 列举到达网络的最佳路径 BGP信息类型 1 OPEN包 包括holdtime和BGP的RID(ospf中有也RID) 2 KEEPALIVE 3 UPDATE (路由更新TCP 179) 每条路径信息 包含BGP属性和网络信息 4 NOTIFICATION 当检测到错误后发出;当notification信息发送后,BGP关闭 BGP术语 对等体(PEER) (OSPF两两连接关系叫链接) BGP对等体,也叫BGP邻居,代表和本地BGP路由器建立了邻居关系的BGP路由器。 BGP分为两种(私有64512-65535) 1 EBGP (外部BGP)当形成邻居关系的两台路由器分别位于不同的AS,这种BGP就叫EBGP EBGP对等体之间默认需要直连 2 IBGP (内部BGP)当形成邻居关系的两台路由器分别位于相同的AS IBGP对等体之间不是必须直连 IBGP的水平分割原则 IBGP防止环路 默认情况下,通过IBGP邻居学到的路由不会再传给别的IBGP邻居(IBGP路由信息只传一跳) BGP同步 如果一个AS要提供到达别的AS的穿越服务的话,BGP是不会宣告路由的,除非 BGP路由器不会把那些通过IBG邻居学到的BGP路由宣告给自己的EBGP邻居,除非自己的IGP路由表中存在这些路由,才可以向EBGP邻居宣告这些路由。 如下情况中可以关闭同步 1 不想让某个AS提供到别的AS的穿越服务 2 AS内的所有穿越路由器都运行BGP BGP下一跳属性(NEXT_HOP) 描述了宣告到达某个目标地址的路径上,下一跳路由器的IP地址 在一般的网络环境中,对于EBGP而言,下一跳为它的EBGP邻居的IP地址 对于多路访问网络环境中,必须注意 对于NBMA网络环境中,必须注意 BGP ORIGIN(起源)属性 1 IGP 网络层路由信息(NLRI)是通过IGP学到的 优先级最高 通过NETWORK发布的 2 EGP NLRI通过EGP学习到的,优先级次高 3 INCOMPLETE NLRI通过别的方式学习到的,比如路由的再发布,优先级最低 BGP AS_PATH属性 使用AS号的顺序组合来决定AS间的路径。 EBGP通过AS号来防止路由环路。 只有EBGP的AS号才会被加入AS_PATH中 BGP 下一跳属性(NEXT_HOP) 需要注意多路访问网络环境和NBMA网络环境 BGP LOCAL_PREE属性(多个出口在相同个AS之中,与源也在同一个AS中) 只是用于IBGP之间 包含在路由更新中,默认为100 只是在本地AS之间,不会传输到EBGP中去。 BGP MED属性(多个出口在相同的AS之中,与源不在同一个AS中,值越低越优先) 定义到达相同目标网络,AS之间的多条路由的优先级(值越低的优先级越高)值默认为0。 与本地优先级不同的是MED属性是在AS之间交换的,但是进入一个AS里的MED属性,是不会再离开该AS的,既带有一个特定MED属性的BGP路由更新,要发送到其它的AS的时候,MED属性值就被重置为默认的值0,除非使用BGP ALWAYS-COMPARE-MED. BGP管理权重(CISCO私有的属性管理权重)私有属性 (值越高的优先级越高) 只对本地BGP路由器生效,本地BGP路由器产生的路由管理权重默认为32768,从其它路由器所产生的路由管理权重默认值为0 BGP选路策略 1 管理权重 cisco私有属性 越高越优先 2 本地优先级属性 越高越优先 3 AS PATH属性 路径越短越优先 4 ORIGIN属性 IGP最高 EBGP茨高 重分发最低 5 MED属性 越低越优先 6 离自己最近的IGP邻居 7 选择RID 越低越优先 BGP基本配置 1启动BGP进程 router(config)#route bgp {AS-number} 一台路由器只能指定一个AS 2指定BGP邻居(通常为对方接口地址) router(config-router)#neighbor{ip-address}remote-a s{AS-number} 3定义要宣告的网络 router(config-router)#network{network-number}[mask ] 关闭BGP同步特性 router(config-router)#no synchronization 使用回环接口建立BGP邻居关系 1定制跳数TTL,默认为255 router(config-router)#neighbor{ip-address}ebgp-mul tihop [ttl] 2使用回环接口建立TCP会话 router(config-router)#neighbor{ip-address}update-s ource loopback{number} 注意静态路由配置,因为下一跳是否可达不确认,需要通过静态路由来确认 使用回环接口建立BGP邻居关系注意事项: 1使用回环接口建立BGP邻居关系,对于EBGP,要指定多跳关系ebgp-multihop 2要确保本地BGP路由器的IGP路由表中有到达邻居回环接口的路由(必须下一条可达) 3为了防止路由环路,如果到达多条对等体的路由是默认路由,邻居关系是不会建立。 更改BGP的下一跳 router(config-router)#neighbor{ip-address} next-hop-self 注意:不是在本机上该,而且在下一跳的机器上指定我是你的下一跳。 BGP的路由汇总 1关闭BGP路由的自动汇总特性 router(config-router)#no auto-summary 2BGP手动的路由汇总,当使用了关键字summary-only后,本地BGP的细致路由全部被抑制,并且在BGP表中以S进行标记; router(config-router)Eggregate-address {ip-address}{mask}[summary-only][route-map map-name] BGP的管理权重 越高越优先 router(config-router)#neighbor{ip-address}weight{w eight} neighbor 1.1.1.1 weight 100 neighbor 2.2.2.2 weight 200 这时候会选2.2.2.2 配置BGP的本地优先级 同一个AS多个出口 越高越优先 router(config-router)#bgp default local-perference number 配置BGP的MED属性(值越低越优先) 同一个AS有不同AS的出口, router(config-router)#default-metric{metric} router(config-router)#bgp always-compare-med 在不同AS之中比较MED,必须加上这句 BGP对等体组 一组享有相同路由策略的邻居的结合 router(config-router)#neighbor name peer-group router(config-router)#neighbor{ip-address} peer-group name 验证BGP对等体信息 show ip bgp summary show ip bgp show ip bgp neighbors 关注 Bgp state=established IBGP keepalive 5s EBGP keepalive 60s |
|