BGP

                          BGP
配置基本的 BGP
  拥有多条到 Internet 的连接是,应使用边界网关协议( BGP
来控制路径选择而不适用默认路由。
 BGP 是一种域间路由选择协议( IDRP ,也称 EGP ),最新版本 BGP4, RFC1771 中定义
  自治系统 AS RFC 中定义 ; 一组被统一管理的路由器,他们使用相同的内部网关协议,和统一的度量值在 AS 内部路由分组,并使用外部网关协议将分组路由到其他 AS
  AS 号由 Internet 地址授权委员会 IANA 分配,每个区域由一个组织分配,美国是 Internet 美洲注册局 ARIN ,亚太由亚太 NIC  AP-NIC 分配。自治系统号是一个 16 位的 2 进制数,范围是 1―65535 64512―65535 AS 号保留做私用
  BGP 的主旨是提供一种域间路由选择系统,确保 AS 只能无环路的交换路由选择信息, BGP 路由器交换有关前往目标网络的路径信息。
  BGP 路由器只能通告其使用的路由通告给临街自助系统的对等体,反映当前 Internet 采用的逐条路由选择模式。
   要使用 BGP 的的条件,至少满足其中之一。
1 AS 允许分组通过他前往其他 AS  例如服务提供商
2 AS 由多条到其他 AS 的连接
3 必须对数据流进入和离开 AS 的方式进行控制。
何时不使用 BGP ?满足下面条件之一时不使用 BGP ,应使用静态路由
1 只有一条到 Internet 或另一个 AS 的连接
2  路由器没有足够的 CPU 和内存来处理 BGP 更新
3 对路由过滤和 BGP 路径选择的过程了解有限
4  自主系统之间的链路的带宽较低
静态路由中的注意点:
  如果在使用的是多路访问介质如 LAN ,帧中继, X.25, 等,必须在命令中指定下一跳地址。 ISDN 命令用出接口
  ospf 中用 default-information originate always 将默认路由传输到 OSPF 路由选择域。
BGP 特征
BGP 是路径矢量协议,将 TCP 作为其传输层协议,包含在端口号为 179 tcp 数据段内。
BGP 对等体或 BGP 邻居: BGP 路由器之间建立 TCP 连接,并通 过交换信息来指出和确认连接参数。这就是 BGP 对等体
增量更新 :建立 TCP 连接后,交换的是 BGP 的整个路由表,在此之 后只发送增量更新,并采用触发更新。发送存活消息 keepalive
BGP AS 路径是无环路
BGP 邻接关系
运行 BGP 的路由器被称为 BGP 发言 speaker).
BGP 对等体 =BGP 邻居,邻居可位于 AS 内部或 AS 外部。
BGP 在不同 AS 之间的路由器上运行时,叫做 EBGP ,两路由器通常彼此相连, neighbor 后的 ip 地址必须是不通过 IGP 就能到达的,该 ip 必须是通过直连或者静态路由能够到达
BGP 在相同 AS 内部路由器上运行时,叫做 IBGP ,无需彼此相连只要能够彼此到达对方,完成 TCP 握手进而建立 BGP 邻接关系即可。在 AS 中通常有多条路径前网其他路由器,所以 neighbor 后的 ip 地址通常指定一个环回地址来建立 BGP 邻接。
BGP
对路由器进行配置,是他在 BGP 表和 ip 路由选择表之间共享信息。邻居表:包含与之建立了 BGP 连接的邻居。
BGP 拓扑数据库 ; 建立好邻居后,从与之建立邻接关系的路由器,将其加入到 BGP 拓扑数据库
Ip 路由选择表: 选择最佳路由放入到 ip 路由选择表中
 BGP 消息类型:
打开( open )消息:建立 TCP 连接后,首先发送打开消息,
存活( keepalive )消息:如果可接受则发送存活消息。为了确认 BGP 对等体之间的连接是否处于活动状态
更新( update )消息:建立后,可以交换更新,存活和通知消息。
通知( notification )消息:发送通知旨在相应错误或特殊状况。
BGP 属性
属性可以分为:
公认的 (well-known) :是所有 BGP 实现都必须能够识别的属
或可选的( options ),强制的( mandatory ),或自由决定的( discretionary )传递的( transitive 或非传递的( Nontransitive . 也可以是部分的。
路径属性分为 4 类:
  公认强制 :该属性必须出现在路由描述中,公认自由决定属性可以不出现在路由描述中。所有的 BGP 实现都必须能够识别的属性。这些被传递给 BGP 邻居
公认自由决定的,
可选传递的 ,对不支持的可选传递属性,路由器将其原封不动的传递给其他的 BGP 路由器,这时属性被标记为部分的。
可选非传递的 :路由器必须将其删除,而不将其传递给其他路由器
BGP 更新消息内容:包含描述路由的变长路径属性,由 3 个字段组成:属性类型 (包含一字节的属性标记字段和一字节的属性类型编码字段)   属性长度    属性值
属性标记 字段的第一位指出该属性是可选的还是公认的,第二位指出是可选属性是传递的还是非传递的,第 3 位指出传递的属性是部分的还是完整的,第 4 位指出了属性长度字段是一字节还是 2 字节,其他标记未使用全为 0
BGP 定义的属性:
   公认强制属性 1.AS 路径( AS-path ,编码为 2 ), 2 ,下一跳( next-hop ,编码为 3 ), 3. 源头( origin, 编码 1
   公认自由决定 的属性: 1. 本地优先级( local preference 5 2. 原子聚合( atomic aggregate 6
   可选传递 属性:聚合体( aggregator 7 共同体( community 8 cisco 定义)
可选非传递 属性: 1 多出口鉴别器( multi-exit-discriminator  MED ,编 码为 4
 AS 路径 属性确保无环路环境,仅当路由器将路由通告给 EBGP 邻居是才修改路径属性加上自己的 AS 号,通告给 IBGP 邻居是不会修改路径属性。
  下一跳属性   是公认强制属性,指出前往目的地的下一跳 ip 地址, EBGP 的下一跳是发送更新的邻居路由器的 ip 地址, igp 的跳是路由器,而 BGP 的跳是 AS ,指下一个 AS 的入口 ip 地址。 BGP 规定, EBGP 通告的下一跳应传输到 IBGP
   在多路访问网络中,运行 BGP 时, BGP 路由器将使用合适的地址作为下一跳地址,(通过修还下一跳属性)。以避免在网络中插入额外的跳,这种特性优势被称为第三方下一跳。( third-party next hop
源头 ,是公认强制属性,它定义路径信息的源头,源头属性可以是下列 3 个值之一:
IG P :路由在起始 AS 中,用 network 通告 BGP 消息,源头在 BGP 表中用 I 标识
EGP :在 bgp 表中用 e 标识,过时的路由选择协议,在 Internet 中不支持,支持分类路由选择,不支持 CIDR
不完全 :路由的源头未知或通过其他方法获得,咱 BGP 表中通常用 ? 标志
 
本地优先级: 是公认自由选择的属性他告诉 AS 中路由器。那条路径是离开 AS 的首选路径
  本地优先级越高,路径被选中的可能性越高。
本地优先级是在路由器上配置的一种属性,只在同一个 AS 中的路由器之间交换。 Cisco 路由器默认本地优先级值为 100.
共同体(团体) BGP 共同体是用于过滤入站、出站路由的一种方式 BGP 共同体让路由器能够用指示符(共同体)来标记路由。其他路由器根据该标记来做出决策。任何路由器都可以对入站和出站路由选择更新中的路由进行标记,也可以在重分布中做,任何 BGP 路由器都可以根据共同体来过滤入站和出站更新中的路由。
  BGP 共同体属性被用于具有某些相同特性的 i 一组目的地:这样路由器就是根据共同体而不是通过路由采取措施。共同体不被限制在单个网络或 AS ,他们没有物理边界
  共同体是可选传递属性,,如果路由器不识别共同体,将把他留给下一个路由器去处理。如果路由器能够识别共同体,必须对其进行配置,使之传播共同体。否则共同体属性将被丢弃。
MED: MED 属性也被称为度量值,是一种可选非传递属性。用于向外部邻居指出进入 AS 的首选路径,他是唯一一个可影响数据如何进入 AS 的属性。
      度量值越小,路径被选中的可能性越大。
MED 是在 AS 间交换的 MED 被传输到邻接 AS ,该 AS 使用他,但不将它再传递给下一个 AS ,将收到的更新传递给下一个 AS 是删除当中的度量值。
  MED 形象进入 AS 的数据流, ip 优先级形象离开 AS 的数据流。
默认情况下,进当路径来自统一 AS 的不同邻居时,才比较他们的 MED
要让路由器对不同自主系统中的邻居提供的度量值进行比较,必须用命令:
Bgp always-compare-med
权重( cisco 专有)
在路由器上配置每个路由器的权重。
权重属性提供本地路由选择策略,不会传递给任何 BGP 邻居。如果有多条路径前往目的地 ,将选择权重最高的路由器为下一条路由器。
  权重值范围 0―65536 ,通告的路径默认权重为 32768 ,其他路径为 0 。、
当路由器由多条路径离开 AS 的出口时,将根据权重属性来决定选择那个出口,而有多台路由器提供多个出口时,将根据本地优先级来决定选择那个出口。
 
 
BGP 的工作原理
BGP 全互联 bgp 邻居和水平分割。
BGP 水平分割:他禁止将通过 IBGP 获悉的路由传播给其他 ibgp 对等体(必须一全互联方式连接 IBGP 对等体)。
BGP 同步:仅当位于 AS 内部的中转路径(即边界路由器之间的路径)上的所有路由器都运行了 BGP 时,才可以关闭同步
 
路由选择过程:
对于特定的目的地, BGP 只选择一条最佳路径。
BGP 不执行负载均衡,他根据策略而不是带宽来选择路径。
BGP 选择最佳路由的步骤如下:
1 首选权重最高的路由,
2 如果权重相同,选择本地优先级最高的路由(本地优先级用于 AS 内部)
3 如果本地优先级相同,选择当前路由器通告的路由(在 BGP 表中,当前路由器通告的路由的下一跳为 0.0.0 .0
4 如果没有当前路由器通告的路由选择 AS 路径最短的路由
5 如果 AS 路径长度相同,选择源头编码( IGP<EGP< 不完全)最小的路径。
6 如果源头编码相同,选择 MED 最小的路径( MED 来自其他 AS
7 如果 MED 相同则外部路径( EBGP )优先于内部路径( IBGP
8 如果同步被关闭,使的只有内部路径,则选择经过最近的 IGP 邻居的路径,
9 对于 EBGP 路径,选择最老的路由,以最大限度的降低路由翻滚的影响
10 首选邻居 BGP 路由器 ID 最小的路由
11 如果 BGP 路由器 ID 相同,选择邻居 IP 地址最小的路由。
如果路由器有多条前往同一远程 AS 中不同路由器的路径,路由器配置命令, maximum-paths 将把两条路径都显示在路由选择表中。
 
对等体组 ; :在 BGP 中,很多邻居的更新策略相同。 cisco 路由器上可将更新策略相同的邻居话分到一个对等体组中 。以简化配置和提高更新效率(对于每个对等体组,更新至生成一次而不是为每个邻居分别生成)。对等体众多时强烈建议采用这种方法。
  对等体组:是一组采用相同更新策略的 BGP 邻居。(模板)
对等体组的成员继承对等体组的配置信息,也可以对某个成员进行配置。
对等体组的名称只在当前路由器上有意义,不会传递给其他路由器。
要创建 BGP 对等体课使用命令:
Neighbor peer-group-name peer-group
要把邻居加入对等体组可以使用路由器配置命令:
Neighbor ip-address   peer-group  peer-group-name
每个邻接路由器只能是一个对等体组的成员
删除所有成员和 BGP 对等体组的关联,可使用
  Clear ip bgp peer-group peer-group-name
要进入 BGP 配置模式
Router bgp
 
 
 
 
 
 
 
 

本文出自 “卖血上网的博客” 博客,谢绝转载!

你可能感兴趣的:(职场,休闲,BGP)