BGP 学习笔记 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

一、         BGP 协议基本概念

AS: 自治系统

   AN as is a collection of networks under a single technical administation.

一个自治系统通常是一个有着单一管理技术的网络集体

IGP:

包括 RIP/IGRP/EIGRP/ODR/OSPF/ISIS    运行在同一个 AS

IGP是通过cost/metric判断路由的优,约小越好

IGP的主要任务:

更快/更好的正确描述路由信息,尽快地将数据包送到目的地

强调收敛速率

BGP:(v4)

运行在不同的AS之间,用于对路由的控制/策略

BGP的主要任务:网管的人为意图的集中体现,强调策略控制,不强调收敛

BGP是通过BGP属性/attributes,判断路径的优劣,从中进行选择

BGP可以通过网管所定义的策略,实现根据路由的操纵
1BGP是自治系统间的路由协议。
2BGP的网络可达性信息提供了足够的信息来检测路
     由回路。
3、根据性能优先和策略约来对路由进行决策
4BGP交换包含全部AS path的网络可达性信息,按照
     配置信息执行路由策略。
AS: 独立的技术 / 管理域 , 通常是一个大型公司 , 或者组织 , 或者国家

 

BGP本身就是一种策略路由/PBR

实现网管的人为的集中体现

 

BGP是一种AS BY AS 的高级的路径向量/DV协议

BGP认为:每经过一个AS就是一跳

RIP认为:每经过一个router是一跳

 

BGP号:1~65535  (64K)BGP区域号,其中64512~65535为私有号 ( 理解时为 63k-64k 这1K之间 ) .

BGP的宿主:视SP为宿,自己为主,接多个SP为多宿主。

 

应该使用 BGP 的情况 :

1.ISP

当允许AS 1 的数据包穿越AS 2,但是不允许AS 1 的用户访问AS 2内部的时候

 

2.Multihome/多宿主

对于一个用户的AS,如果他同时连接到多个AS/ISP

 

3.PBR

当需要对BGP路由/数据,进行人为控制/操纵的时候

 

不该使用 BGP 的情况 :

1.与ISP只有单连接,没有同时连接到多个ISP

2.如果网络硬件设备的档次不够(内存/CPU)

3.对BGP路由操纵理解有限,无法预计启动BGP的后果

4.链路带宽不足

 

BGP 特征 :

1.BGP是高级DV协议

2.BGP工作在TCP/IP协议栈的4层:TCP 179 端口

3.BGP是触发/增量更新的协议

4.BGP通过周期性的发送keepalive消息,保证TCP连接的可靠性

5.BGP使用多种"BGP属性/Attribute"来衡量路径的优劣

6.BGP是为巨型网络设计的,意味着这种路由协议,可能带来海量的路由和数据

 

BGP 协议的三张表 :

1.BGP的邻居表:

  BGP的邻居可以直接相连,也可以凌空建立

2.BGP转发表

  2-1:一个BGP路由器,可能从它的多个BGP neighbor那里,学到到达同一个目标网络的多条可能路径

  2-2:但是,BGP这种路由协议,默认情况下,是不 进行负载均衡的 ,也就是说,到达一个目标网络, 只允许有一条 可用

      路径

  2-3:BGP路由器通过"BGP属性",从多条候选路由中,优选出一条,它自己认为最好/最优/的路径,作为到达这个

      目标网络的"最佳路由",这条路由也会被称之为"优化"了("优化"的路由,会标上">")

  2-4:只有优化了的路由,才能作为BGP选送出的,最佳的,去参加,到达这个目标网络的"AD竞争/竞选"

3.路由表:

  上面BGP提交的"优化"路由,在经过"AD竞选"之后,如果获胜,才能成功地送进路由表

 

各路由协议的管理距离:

直联       0

static:    1

EIGRP :    5     汇总

EBGP:     20

EIGRP:    90

IGRP:    100

OSPF:    110

IS-IS:   115

RIP:     120

ODR:     160

EIGRP(EX):170

IBGP:     200

BGP 4 种消息类型 :

1.open     相当于 Hello  ( 版本、自治系统号、保持时间、BGP标识符)

2.keepalive   保持  (长度:19BIT,间隔60秒)

3.update      CNLRI 网络层可达信息 (撤销路由信息、可达路由信息)

4.notification    ( 发生错误时 就发送一个 notification )

     1When error is detecte

     2BGP connection is closed after sent

BGP states( 状态 )

Idle       初始状态

Active TCP 三次握手

Open sent     open

Open confirm  open包确认状态

Established       邻居建立成功

 

Peers=neighbor 对等体=邻居

EBGP peer 不同AS之间的邻居

IBGP peer 相同AS之间的邻居

any two routers that have formed a tcp connection to exchange bgp routing information are

called bgp peers or neighor

1.EBGP neighbor

两个 BGP neighbor 分别属于两个不同的 AS,EBGP neighbor 通常是直接相连的

 

2.IBGP neighbor

  两个 BGP neighbor 同时属于一个相同的 AS.

  一个 IBGP 邻居可以是直接的 , 也可以是非直连的

Router-id 作用 选路、同步、防止回路。各路由器中 R-id 最好不同 同一 AS R-id 必须不同。

BGP的更新源就是TCP连接的源地址。

BGP水平分割
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
通过IBGP学习到的路径从来不会公告给其他IBGP.
上图的BE若没有邻居关系的话,DC不会将从B学来的路径公告给E