BGP学习总结并发
BGP是目前使用的惟一的自治系统间的路由协议,它是一种矢量路由协议,基于TCP的179号端口,它采用单播增量更新的方式更新路由,与其余的路由协议不一样的是,BGP只要TCP可达,就能够创建对等体关系,BGP须要手工显式的指定对等体关系。ide
常见术语学习
一、 BGP的发言者:发送BGP消息的路由器叫作BGP的发言者。spa
二、 BGP对等体:相互交换BGP消息的路由器叫作BGP的对等体。日志
三、 IBGP对等体:同一个自治系统内的对等体关系。orm
四、 EBGP对等体:不一样自治系统间的对等体关系。事件
BGP的通告原则:路由
一、 当多条路径存在时,BGP的发言者首选最优的路由供本身使用。同步
二、 BGP发言者只把本身使用的最优的路由通告给其余对等体。it
三、 BGP发言者从EBGP得到路由信息向它的EBGP和IBGP对等体通告。
四、 BGP发言者从IBGP对等体得到的路由信息不会再向它的IBGP邻居通告。
五、 BGP发言者从IBGP得到的路由信息是否通告给EBGP对等体,要依IBGP与EBGP同步状况而定。
六、 对等体关系创建后,BGP发言者将本身的全部的BGP路由通告给新想相邻体。
BGP的消息类型和功能
一、 open消息:用来创建BGP对等体间的关系并协商参数。
二、 keepalive消息:用来对open消息确认,周期性的发送keepalive消息向对等体通告本身的存在,保持对等体的关系。
三、 nitification:错误日志,当有错误发生的时候,会向对等体发送notification报文,而且断开TCP链接,并回到idle状态。
四、 update消息:用来更新路由条目。
五、 route-fresh消息:向对等体请发送求指定地址族的路由信息。
BGP的状态机制
一、 idle状态:初始状态,不接受任何BGP的链接,等待start事件的产生,start事件产生后,系统开启connectRetry定时器。
二、 connect状态:链接状态,系统等待TCP链接创建完成,若是创建成功后,系统拆除connectRetry定时器,并发送open消息,此时进入open-sent状态。
三、 Active状态:活跃状态,。若是有start事件的产生,可是TCP链接并无创建成功,此时系统进入Active状态。
四、 Open-sent:open消息发送状态,表示已经发送open消息,等待对等体的open消息。
五、 Open-confirm:open消息确认状态。收到对等体的open消息已经发送确认消息,等待对等体对本身的open消息确认的keepalive消息。
六、 Established:链接已创建,此时对等体能够发送update消息报文进行路由的更新了。
BGP的路由属性
一、 公认必遵属性:全部BGP路由器都可以识别这种属性,而且这种属性必须存在于update报文中,若是缺乏这种属性,路由会出错,主要包括:origin属性、as-path属性、next-hop属性。
二、 公承认选属性:全部的BGP路由都可以识别这种属性,可是这种属性不要求必定存在于update消息中,主要包括:Local_pref属性等。
三、 可选传递:在AS之间具备可传递的属性,BGP路由器均可以不支持此属性,但它仍会接受有此属性的路由,并通告给其余的路由器,主要包括:commutity属性等。
四、 可选非传递属性:若是BGP路由器不支持此属性,则此属性能够被忽略,主要包括MED、CLUESTER_LIST属性。
Origin属性:路由的源属性,BGP路由的来源主要有三种,第一:经过引入IGP路由实现,即Incomeplete,第二:经过network方式注入BGP,即IGP,经过EGP协议学习,这个能够忽略了。
As-path:指示出了该路由信息通过了哪些AS路径,主要做用是保证AS间无环路,通常当本自治系统的路由离开自治系统的时候会添加本自治系统的号码,BGP路由选路的时候,会优先选择AS-PATH短的路由。
Next-hop属性:下一跳属性,须要注意的是当边界设备学习到EGP对等体发布的路由的时候,传递给IBGP对等体的时候,不会修改路由的下一跳。
五、 local_pref:本地优先级,当一个AS有多条到达外部AS的路径的时候,BGP会优先选择本地优先级高的路由,本地优先级只在本AS内有效,只能影响进入本AS的流量,不会影响离开本AS的流量。
六、 MED属性:BGP的MED属性至关于IGP协议的度量值,当有多条路由进入本AS的时候,用来告知EBGP对等体哪条路由最优,默认的MED值为100,值越小越优。
须要注意的是med值仅在两个AS之间传递,不会传递到第三个AS。
七、 preferred-value值:首选值,为从不一样对等体接收的路由分配不一样的preferred-value值,从而能够改变指定对等体学到路由的优先级,这是h3c的私有属性,改属性仅在本地有效,不随路由信息传播。