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

BGP4种消息类型:

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最好不同同一ASR-id必须不同。

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

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