当日总结
BGP协议原理与配置
BGP作为一种外部网关协议,用于在AS之间进行路由控制和优选
BGP协议特点:不需要自动建邻也不能自动建邻(手动建邻),跨跳数建邻,只能单播
224开头的组播只能传1跳
建立邻居的特点:凡是TCP 179 端口能够通信的路由器都可以建立BGP邻居,可以跨跳数,手动建立邻居
路由传输特点:传输的路由既不是链路状态信息也不是纯距离矢量信息,更多的是一种路径信息(BGP是通过属性来表达路径信息的),BGP也是通过不同属性来判断选路的
建立邻居
TCP的179手动建立,手动意味着需要配置建立邻居的对象(通信地址),首先三次握手,然后依次发送open、keeplife、update、notifaction包,建立邻居。
形成两种类型的邻居关系
建立邻居的配置
关于优化的原因:EBGP直连建立邻居的原因是直连不需要额外配置路由。
IBGP回环建立邻居的原因是:
1、一般情况下AS内有IGP可以使得全网互通
2、主要是如果用物理接口建立邻居会出现TCP双向通信源目地址不匹配的问题,还有物理接口不太稳定
注意:回环建立的邻居的时候必须手动指定源地址为回环接口否则会出现会话源目不匹配TCP无法建立的问题
BGP建立邻居的过程以及状态机
上述图中的open包会比对AS号、建邻地址、版本、认证、keeplive时间等信息,其中版本和keeplive参数是向下兼容的。
上图中如果出现connect状态没有建立TCP会话,会进入到一个特殊状态active,该状态可以让BGP持续建立TCP会话。
BGP路由的生成方式
BGP宣告是掩码精确宣告(不精确的宣告无效),该宣告不会像OSPF那样被宣告的接口会自动建立邻居。
BGP的宣告是针对路由表的,路由表有的路由都可以宣告(直连、静态、IGP)
EBGP非直连建立邻居
一般是为了增加链路的可靠性选择双线连接然后回环建立邻居
EBGP-MAX-HOP这条命令是因为BGPebgp默认跳数是1,非直连需要修改跳数
BGP传递路由原则之一:仅将自己最优的路由发布给邻居
优的路由BGP会为其打>标识,只有>标识的路由才能传递,上图路由器D对于100路由的学习也反映了BGP默认情况下不做负载均衡。-----原因是BGP负载均衡数被默认设置为1
BGP路由信息处理
原则三:IBGP邻居不中转路由----IBGP从其他IBGP邻居学到的路由不能传递给它其他的IBGP邻居。IBGP邻居之间传递路由时不会修改路由信息(不会修改下一跳,会导致IBGP邻居学到的路由信息下一跳不可达造成路由不优)
BGP属性
三种:内部宣告的为i,外部引入的为?,EGP来的为E 规则:i>?>E防环
1、Origin
2、AS_Path
3、Next_hop
4、Local_Preference
5、MED 只能在两个AS之间玩,不能出现第三者,med必须是相同来源才能比较,3个不可以