1989BGPV1、BGPV2、BGPV3、BGPV4
BGP是外部路由协议,用来在AS之间传递路由信息
是一种距离矢量的路由协议,从设计上避免了环路的发送
传送协议:tcp,端口号179、工作在应用层
支持CIDR(无类别域间路由)
路由更新:只发送增量路由
丰富的路由过滤和路由策略
AS的概念:
路由策略在BGP中起到很大作用
数据包的源IP和自己转发时的吓一跳IP地址是同一网段是
路由器用来和邻居建立邻居关系的地址,我们称之为更新源地址。
注意:
在BGP建邻居过程中,neighbor命令所指定的邻居的IP地址,也必须是邻居用来和本路由器建立TCP连接的地址。如果不匹配,两端建立不起邻居关系。
Peer-Group对等体组,类似于建立一个批处理文件
BGP中,建立邻居关系的时候,有可能要对邻居指上多条命令,peer-group可以将多条命令组合在一起,用来在建邻居关系的时候一次性调用。减少了配置量。
bgp邻居建立的含义:
bgp实际上是互相建立邻居,互相备份
只要一个方向上建立的邻居,邻居就会up起来。
邻居建立的含义:在邻居各接口路由互通的前提下,允许对方的更新源地址访问本地的179端口。
BGP中的通告:
注意:本命令只会宣告路由,不会激活一个接口进入BGP域
在BGP中,network的特点是:
1、能够通告路由表中的所有非BGP路由量、只要是路由表中有的路由,它都可以宣告,直连的,静态的,即使从IGP学到的也可以
2、默认情况下必须精确宣告网络和掩码
3、只起到宣告作用,不建邻居
4、可宣告IGP学到的路由,并携带Metric和Next-hop
注意,BGP宣告有方向性,不会把从一个方向宣告过来的路由在发回去;
Auto-summary对于network的影响:
1、可以是主类方式宣告(如:network 3.0.0.0),条件是:在路由表中必须有子网路由;
2、也可以是明细方式宣告,必须带mask(如:network 3.3.3.0 mask 255.255.255.0),条件是:必须和IGP表的路由精确匹配。
3、当其他IGP协议重分布进BGP时,默认会进行自动汇总,不会携带原有的METRIC值值和掩码,next-hop
No Auto-summary关闭自动汇总
1、如果是用no auto-summary,那么network只能用明细方式宣告(除非是主类网络)
2.当其他IGP协议重分布进BGP时,携带原有的METRIC值和掩码,next-hop
ip route 2.2.2.0 255.255.255.0 24.1.1.2 //先确保有去邻居的路由
router bgp 4
no auto-summary //关闭自动汇总
no synchronization //关闭同步,高版本IOS默认开启
bgp router-id 4.4.4.4
neighbor 2.2.2.2 remote-as 123 //指定EBGP邻居
neighbor 2.2.2.2 update-source lo0 //指定自已的更新源
neighbor 2.2.2.2 ebgp-multihop 2 //设置EBGP的多跳
neighbor 3.3.3.3 next-hop-self
network 172.16.1.0 mask 255.255.255.0 //宣告网络时要说明掩码
neighbor 3.3.3.3 soft-reconfiguration inbound //开启查看接收到的路由信息的功能
neighbor 3.3.3.3 peer-group WOLF //在邻居上调用
各类显示命令:
show ip bgp summary //摘要的邻居邻居信息
show ip bgp 2.2.2.0/24 //显示明细路由的详细信息
show tcp brief //可以看到是谁发起的TCP链接
show ip bgp neighbors //详细的邻居信息
show ip bgp rib-failure //可以看到提示有更高AD的路由
show ip bgp neighbors 2.2.2.2 advertised-routes //看向这个邻居发了哪些路由信息
show ip bgp neighbors 3.3.3.3 received-routes //看这个邻居给我发了哪些路由信息,必须在本路由器上用下面这条命令开启
show ip bgp nei x.x.x.x advertised-router 查看向邻居通告的路由器有哪些
show ip bgp nei x.x.x.x received-router 查看邻居向本地通告的路由有哪些,前提开启入站配置
clear ip bgp * //来硬的,会DOWN掉邻居关系
clear ip bgp nei xxxxx //具体清楚掉某一个邻居
clear ip bgp * soft //软清,不会down掉邻居关系
clear ip bgp * soft in/out //在in或out方向软清,不会down掉邻居关系
BGP路由不优的2个原因:
1、同步问题
2、下一跳是否可达
BGP的下一跳机制
BGP是一个AS-by-AS的路由协议,而不是一个router-by-router的路由协议。
BGP路由的下一跳并不是指下一个路由器的IP地址,而是指到达下一个AS的IP地址。
所以,默认情况下,从EBGP邻居学到的路由再向其它的IBGP邻居传递的时候,下一跳不改变。