属于EGP协议,用于管理AS之间的路由传递
距离矢量型协议,采用分布式计算
用TCP来传递路由信息,端口为179,保证可开行,无法主动建立邻居,只能手动建立邻居
BGP是用来管理AS间的路由信息的,使用不同的AS号来标识不同的路由,该AS号需要具有唯一性(1-65535),可以用扩展32位(65536-4294967295),用于解决AS不够用的情况
BGP以路由器为使用单位,所以一个路由器只能拥有一个BGP进程
BGP管理的路由信息非常多,不能够使用周期更新,只能使用触发更新,并且BGP认为一条路由存在的时间越久越稳定,在这种情况下,
BGP不会使用复杂的算法来处理收到的路由信息,又由于每个AS情况不一样,管理范围也有限,所以它就需要丰富的管理参数。综上所述,BGP需要多种参数来管理路由信息,不能单一地使用某种算法,只能针对性的对某一条路由进行管理,不能全盘考虑,只能依赖AS管理员手工配置
BGP路径优先协议,通过给某一条路由设置大量的属性参数来进行灵活的管理或者选路,需要AS管理员进行手工配置
1、neighbor 10.1.1.1 //代表向该地址发送tcp端口为179的数据,并且自己也需要在发出地址上打开tcp179监听,该配置可以指定源地址也可以不指定源地址,不指定就是出接口地址
本端指的地址是对方的源地址,对方指的地址是本端的源地址
2、neighbor 10.1.1.1 remote-as xx
对端建立邻居的as号必须和本端remote-as xx一致
3、建立双方保障tcp 179能够发送,不丢失不被拦截
邻居之间路由传递规则
1、IBGP邻居关系 //相同as路由器建立的邻居关系
2、EBGP邻居关系 //不同as路由器建立的邻居关系
1、BGP不管什么邻居关系只传递最优路由(不优不传,用符号>标识优的路由)
2、EBGP邻居间的路由传递—只要不违背环路原则或人工策略,EBGP邻居传递无限制,只对优的路径有效,EIGRP之间传递路由会更新下一跳为自己的更新源地址
3、IBGP邻居间的路由传递—IBGP自己产生的路由(自己宣告的和自己重发布进来的)和EBGP邻居传递给的路由都可以传递给他的IBGP邻居,但不可以传递给IBGP邻居的IBGP邻居
IBGP邻居间传递路由不会更新下一跳,只有下一跳为0.0.0.0
这条规则的优点:避免了IBGP之间出现环路(IBGP水平分割)
缺点:IBGP必须直连建邻
1、分类
公认必尊—所有BGP路由器都必须识别并且遵守:origin、as-push、next-hop
公认可尊—所有BGP路由器都能识别但不一定遵守:local-pref、atomic-aggregate
可选传递—不是所有BGP路由器都能识别,但都能传递:aggregator、community
可选非传递—不是所有BGP路由器都能识别,不识别就丢弃:MED、originator、cluster-id、weight
2、内容
1)weigth 选路属性,当本路由器有多个到达目标的邻居时选择weigth值大的一方到达(默认为空,约大越好)。并且weigth的选路只影响本路由器,其他路由器不识别该属性会丢弃该属性。
2)2.origin 选路属性,可以识别路由起源,network宣告的路由起源标识i,重发布的路由起源标识为 ? ebgp给的路由的路由起源为 e i>e>?
3)next-hop 用于提供可达性 IBGP 传递的next-hop不会被修改 EBGP 传递的next-hop会被修改
4)AS-PATH 用于记录路由的经过的AS路径号,防环,选路。
5)local-pref 用于选路(越大越好,用于在俩个或者俩个以上AS出口的选择)。只能在IBGP之间传递
6)MED 可选非传递,用于选路,一般用于as有俩个或者俩个以上入口时,其他AS选择哪个入口进入本AS 注意:med只能用于俩个AS之间的选路,超过俩个AS该参数无效 可以打开多AS的med比较 always-compare-med
7)atomic-aggregate BGP路由汇总后,明细和粗略路由都在as-set继承属性 summary-only 删除明细路由
8)aggregator 来通告谁做了汇总