BGP的内外之道
一、核心关系:对外“外交” vs 对内“传达”
eBGP(外部BGP):如同国家间的外交官。
工作:在不同自治系统(即不同公司或运营商网络)之间建立连接,交换路由信息。
场景:你的网络连接电信、联通;你的公司与合作伙伴通过专线互联。
iBGP(内部BGP):如同国家内部的中央政府。
工作:在同一自治系统内部建立连接,确保eBGP学来的外部路由信息能被内部所有核心路由器共享。
场景:你的网络有多个出口路由器,需要让内部路由器知道从哪个出口走最优。
二、工作流程的关键区别
防环机制不同
eBGP:发现收到的路由信息中AS_Path属性包含自己的AS号,就拒绝接收,防止环路。
iBGP:遵守一个核心规则:从一台iBGP邻居学来的路由,绝不会传给另一台iBGP邻居。这直接导致了下一个区别。
邻居关系要求不同
eBGP:直接与外部邻居建立连接即可。
iBGP:为防止路由在AS内部“断传”,要求所有iBGP路由器之间必须建立全互联的邻居关系(任何两台都要直接连接),或者使用路由反射器 来中继路由。
下一跳处理不同
eBGP:将下一跳IP地址改为自己的接口地址。
iBGP:默认不修改从eBGP学来路由的下一跳IP。因此,iBGP路由器必须通过OSPF等IGP协议,先学会如何到达这个下一跳地址,否则路由无效。
三、一句话总结用法
用eBGP来从外部学习路由(接入互联网、与合作伙伴互联)。
用iBGP来在内部同步路由(确保所有核心路由器知道eBGP学来的路怎么走)。