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这一地址可以看到公网上的路由条目数
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建立邻居。
在上图中,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的。
但是如果用不是环回接口的地址,则不用。
14、EBGP-Multihop
15、BGP的network命令通告的是路由,而不是像IGP那样通告的是接口。
16、路由优化问题
关闭同步,next-hop-self
再看路由:
17、peer group
·BGP路由黑洞的解决方法:
1)物理线路的Full Mesh (成本高,不可取)
2)BGP重分布进IGP(不可取)
3)BGP's Full Mesh IGP内所有路由器都运行BGP(不可取)
4)BGP's Partial Mesh (路由反射器/联邦)
EBPG之间用直连接口来建邻居
IBGP中用环回口建邻居