1.BGP特点

BGP属于EGP外部网关路由协议,基于TCP目的端口179工作的。目前使用的版本是BGP版本4。

2.AS号

自治系统编号,由国际组织IANA分配。

公有:1~64511

私有:64512~65535

3.BGP更新机制

3.1 触发更新(增量更新)只更新变化的内容。

3.2 管理员手动更新(全量更新)import和export两个方向

import代表重新从所有邻居接收一份最新的路由

export代表从本地推送一个最新的路由给所有邻居

BGP没有周期更新!

4.BGP的邻居

相同的AS号的路由器建立IBGP邻居

不同的AS号的路由器建立EBGP邻居

5.router-id

用来描述唯一的一台BGP路由器

5.1 管理员手动配置

5.2 自动选取,使用路由器全局router-id作为BGP的router-id

6.BGP路由如何产生

强调:BGP是不会自己产生、计算路由的,他只是用来传递路由的

6.1 network 宣告路由表中已存在的路由条目

6.2 import 引入的路由(引入的路由也需要在路由表中存在)

6.3 自动聚合产生的路由条目(只能自动聚合import的路由条目)

命令:summary automatic

      6.4 手动聚合 aggregate 172.16.0.0 16

*当BGP表中存在多条相同的路由条目时,会根据BGP选路原则选出best,然后将最优的路由传递给邻居。

7.BGP路由的交互原则

7.1 本地始发的路由既传递给IBGP邻居,又传递给EBGP邻居

7.2 从IBGP收到的路由,会传递给EBGP邻居,不会传递给IBGP邻居

7.3 从EBGP收到的路由,既会传递给IBGP邻居,又会传递给EBGP邻居

8.BGP的防环机制

IBGP:从IBGP收到的路由不会在传递给IBGP邻居,这叫IBGP水平分割。

            解释:从同一个AS收到的路由不会再传递给同一个AS

EBGP:使用AS-PATH属性来防环

            解释:当BGP设备收到EBGP邻居发来的路由中包含本地AS号时,将拒绝接收这        条路由。

9.建立BGP邻居的习惯

IBGP邻居习惯性使用环回接口建立IBGP邻居

EBGP邻居习惯使用直连接口建立EBGP邻居

注意:

IBGP邻居在发送报文时:TTL默认255

EBGP邻居在发送报文时:TTL默认1

10.BGP同步问题

undo synchronization 在BGP中,同步是默认关闭的,且不可以人为打开,这样做的意义是,从IBGP收到的路由,如果在IGP路由表中不存在,则认为不同步,将不会传递给EBGP邻居

11.如何解决路由黑洞问题

11.1 AS内部采用全互联模式(fullmesh)

11.2 在边界路由器上将BGP路由引入IGP协议中(但是已经被淘汰了)

11.3 在边界路由器上做GRE隧道

11.4 通过LSP隧道解决路由黑洞问题(MPLS)

12.BGP相关报文

12.1 open报文

用于建立BGP邻居的连接,协商BGP参数的报文

12.2 update报文

用于在BGP邻居之间交互路由信息的

12.3 notification报文

差错报文,用于报错,且中断邻居的报文

12.4 keepalive报文(基于TCP的报文)

用于保持邻居连接的报文,保活。

12.5 route-refresh报文

用于在策略改变之后,请求邻居重新发送路由信息,并且只有支持路由刷新能力         的设备才会响应这个报文

=================================================================

#

bgp 8

peer 9.9.9.9 as-number 9

1、指定了邻居的AS号

2、指定了发送报文的目的IP地址

3、指定了接收邻居发送报文的源地址

peer 9.9.9.9 ebgp-max-hop 255

修改EBGP邻居报文TTL默认值

peer 9.9.9.9 connect-interface LoopBack0

修改发送报文的源地址

peer X.X.X.X next-hop-local

当本路由器是一台边界路由器时(有EBGP邻居)指向IBGP的对等体要写这条命令,用来修改下一跳


#

ipv4-family unicast   //ipv4地址协议簇

undo synchronization  BGP同步

peer 9.9.9.9 enable   邻居使能


BGP支持TLV编码,可以通过TLV来携带各种属性