1、BGP属于EGP,是高级DV协议,也被称为路径矢量协议,基于TCP 179端口。

2、现在使用版本BGP-4。

3、第一次做完整更新,以后就只增量更新

4、Autonomous Systems:运行同一种选路策略,由统一管理者管理。

1-64511 (公有)

64512-65535 (私有)

电信AS号:4134 网通AS号:9929

Bgp.potaroo.net 一个好的网站,可以了解到关于AS号的一些信息

5、Telnet route-server.ip.att.net这一地址可以看到公网上的路由条目数

BGP笔记1_BGP笔记

BGP笔记1_BGP笔记_02

6、为什么要用BGP

    1)IGP支持的路由条目有限。

2)利于管理。

3)做路由聚合、策略路由。

7、BGP路由器只能将其使用的路由通告给他的邻居。

8、BGP用Open报文建邻居,用keepalive报文做日常联系。

9、三张表

Neighbor table :List of BGP neighbors

BGP  table/forwarding  database

List of all networks learned from each neighbor

Can contain multiple pathways to destination networks

Database contains BGP attributes for each pathway

IP routing table:List of best paths to destination networks

BGP表和路由表是独立的,同样遵循AD小的进入路由表。

BGP默认不做负载均衡

Router-ID选举和OSPF一致。

10、四种报文:

Open报文:发现邻居,includes holdtime and BGP router ID

Keepalive报文:每隔60S发送一次。hold time=180S

Update报文

---information for one path only (could be to multiple networks)

---Includes path attributes and networks

   一个UPDATE 消息一次只能通告一条路由,但它可以携带多个属性。

一个UPDATE 消息一次也可通告多条路由,但它的属性必须相同。

一个UPDATE 消息可以同时撤消多条路由。

Notification报文:

---when error is detected

---BGP connection is closed after sent

11、IBGP和EBGP

IBGP 管理距离AD=200

EBGP 管理距离AD=20

peers=neighbors

IBGP建立的邻居不一定是直连的。

BGP没有组播地址,因为BGP是基于TCP的,TCP是可以点到点建立邻接关系的,所以得手动neighbor建立邻居。

BGP笔记1_BGP笔记_03

在上图中,C和D没有运行BGP,但是AS 65102有运行OSPF内部路由协议。B和E建立IBGP邻接关系。A到F的路由能传过去,但是F到A的数据包是不能传过来的。为什么呢?

因为控制层面传路由的时候,源地址和目标地址是在不断变化的。A到B,源地址A,目的地址B;B到E,源地址B,目的地址E,此时,C和D会用OSPF传输;E到F,源地址E,目的地址F。这样A到F的路由都是有的。但是从F传数据包到A的时候,源地址为F,目的地址为A,这是不会变的。数据包到C或D的时候,因为C和D都没有运行BGP,所以C和D是没有到A的路由的,所以就产生了路由黑洞。

那如何解决路由黑洞呢?

1、物理线路FULL MESH。B和E直接拉一条线,那就可以了,但是这个方法成本高一般不用。

2、BGP邻居FULL MESH。

3、BGP重分发到IGP。但是你要是这样做的话,IGP就挂了。

4、MPLS。C和D不看路由表,看标签就走了,这是最好的解决方案。

12、BGP防环(水平分割)

1、EBGP防环:不接受含有本AS号的BGP路由。

2、IBGP防环:从IBGP邻居收到的路由不再传给其他的IBGP邻居。

13、update-source

以环回接口配置neighbor命令时,必须在neighbor命令后面增加update-source才能起邻接关系。用环回接口可以起到冗余备份的作用,因为环回接口是一直UP的。

BGP笔记1_BGP笔记_04

BGP笔记1_BGP笔记_05 
 

BGP笔记1_BGP笔记_06

BGP笔记1_BGP笔记_07

BGP笔记1_BGP笔记_08

但是如果用不是环回接口的地址,则不用。

BGP笔记1_BGP笔记_09

BGP笔记1_BGP笔记_10

14、EBGP-Multihop

BGP笔记1_BGP笔记_11

BGP笔记1_BGP笔记_12

15、BGP的network命令通告的是路由,而不是像IGP那样通告的是接口。

16、路由优化问题

BGP笔记1_BGP笔记_13

BGP笔记1_BGP笔记_14

关闭同步,next-hop-self

BGP笔记1_BGP笔记_15

再看路由:

BGP笔记1_BGP笔记_16

17、peer group

BGP笔记1_BGP笔记_17

BGP笔记1_BGP笔记_18

BGP笔记1_BGP笔记_19

·BGP路由黑洞的解决方法:

1)物理线路的Full Mesh (成本高,不可取)

2)BGP重分布进IGP(不可取)

3)BGP's Full Mesh IGP内所有路由器都运行BGP(不可取)

4)BGP's Partial Mesh (路由反射器/联邦)

EBPG之间用直连接口来建邻居

IBGP中用环回口建邻居

本文出自 “梦想不远” 博客,请务必保留此出处http://zjskobe.blog.51cto.com/2772091/834641