在互联网产品中,我们经常会听BGP这个词,今天汇总下BGP知识点,希望可以帮助大家了解BGP.
1.有两种路由协议,一种是IGP,另一种是EGP.
2.IGP路由协议有RIP、EIGRP、OSPF、IS-IS.
3.BGP目标端口为TCP的179端口,源端口号是随机的。
4.BGP建立邻居后,会每60秒发送一次keepalive包,如果hold timer为180秒后,认为邻居丢包,则断开与邻居的连接。
5.BGP能够传递的协议有IPv4、IPv6、VPNv4、CLNS、L2VPN.
6.两个路由器同属相同的AS,则邻居关系为iBGP,如果属于不同AS,则邻居关系为eBGP.BGP要求eBGP邻居一定要直连,而iBGP邻居可以任意距离。
7.两台BGP路由器正常的建立邻居,一定要有一台收到目标IP地址是自己的BGP源地址,任意一个邻居满足条件即可。即A的目标IP地址是B的源IP地址。
8.每台BGP路由器都拥有多条链路的BGP邻居保持连接,路由器的loopback口是BGP路由器系统的接口,不会像某个物理接口断连了,整个BGP邻居失去正常工作状态,因为还有通畅的链路让BGP邻居仍然可以保持连接;实现了连接的冗余性和稳定性。
9.iBGP发出的数据包的TTL值最大为255,而eBGP邻居时发出的数据包的TTL值限制为1,就限制了eBGP邻居一定要直连;对于建立eBGP数据包的TTL值可以随意修改,甚至改为最大值255都行。
10.BGP将路由发给eBGP邻居时,会将自己的AS号码添加到AS-path中,所以可以以此来防止环路;而在iBGP之间传递路由时,强制将BGP路由在AS内部只传一跳来防止环路的机制。
11.在IGP协议当中,路由协议分成两大类:距离矢量路由协议和路径矢量路由协议,路径矢量算法结合了距离矢量特性与AS-path防环特性。
12.BGP路由的从eBGP学习到的默认AD(管理距离)值为20,iBGP学习到的路由默认AD值为200.顺便提一下其它路由协议的默认AD值:直连接口为0、静态路由为1、EIGRP汇总路由为5、EIGRP为90、IGRP为100、OSPF为110、IS-IS为115、RIP(V1&V2)为120、EGP为140、ODR为160、ExEIGRP(外部EIGRP)为170,未知为255.
13.BGP路由器有两张路由表,一张普通路由表:show ip route,一张BGP路由表:show ip bgp.
14.当iBGP路由需要跨越N个没有BGP路由,只有IGP路由时,需要在iBGP路由起用BGP Synchronization,否则认为此路由无效而不能发给其它邻居。
15.IGP路由协议和BGP路由协议在有多条路径可以到达同一目的地时,IGP则根据最小metric值来选择最优路径,而BGP则比较路由条目中的Path Attributes,即路径属性。
16.BGP路径属性可划分以下四类:公认强制、公认自选、可选可传递、可选不可传递
17.任何一台运行BGP的路由器,一定要支持公认强制属性。BGP路由携带的公认强制属性有三个:Origin、Next_Hop、AS-path.
18.一些常用BGP属性:Origin(公认强制属性)、AS_Path(公认强制属性)、Next_Hop(公认强制属性)、Local_Pref(公认自选属性)、MULTI——EXIT——DISC(MED,可选不可传递属性)
19.AS是一个16位的数字,范围为1-65535.1-65411是公有AS;65412-65535共1024个是保留私有AS.
20.重分布进BGP的路由的Origin属性为Incomplete.
21.BGP路由表中到达同一目的地存在多条路径时,会通过比较路由的Origin属性来选择最优路径,它们的优先级顺序为IGP>EGP>Incomplete.
22.当BGP路由表中达到同一目的地存在多条路径时,会优选AS-Path最短的路径。
23.BGP路由器将路由传递给eBGP邻居时,会将Next-hop属性改为自己的地址,而在将路由传递给iBGP邻居时,不会改变Next-hop属性。本地发起路由的Next-hop属性为0.0.0.0.
24.Local_Pref属性只能在同一AS内部传递,出了AS后会被还原成默认值。Local_Pref默认值为100.当BGP路由表到达同一目的地存在多条路径时,会比较Local_Pref值的大小,本地优先级越高,路由优先级越高。
25.MED是BGP路由中的metric,是被设计用来影响多个下一跳为eBGP邻居时,如何选择最优路径,拥有最小MED值的路径会被优先使用。MED默认值为0.
26.默认情况下,只有当去往目的地的多个下一跳eBGP邻居都为相同AS时,才会比较MED值,如果多个eBGP邻居为不同AS时,是不会比较MED的,若是要强制在多个不同的eBGP邻居之间比较MED值,需要在BGP进程下输入命令:bgp always-compare-med.
27.Weight属性为Cisco私有属性,Weight值的范围为0〜65535,默认为0;BGP本地路由,则Weight值为32768.手工修改路由的Weight值,只能对本地起作用,不会传递给邻居。当BGP路由表中到达同一目的地下存在多条路径时,会优选Weight值最的的路径。
28.如果某BGP路由的状态为RIB-Failure,则不能被使用,原因有:1.该路由在IGP中拥有比BGP更高优先级的AD值。2.内容错误。3.超出VRF中路由限制数。
29.BGP建立邻居的条件有1.双方需要建立邻居的IP地址在网络上是互通的,可以建立TCP会话。2.双方指定的AS号码一定要匹配。3.双方BGP数据包一定要可达(eBGP默认TTL为1,需要注意)。4.对方BGP数据包的目的IP和自己的源IP一定要相同(单向满足即可)
30.BGP最优路径选择如下:
1)最高Weight值。默认Weight值为0,本地发起路由为32768.
2)最高LOCAL_PREF值,如果Weight值相同,则选择拥有最高LOCAL_PREF值的路由,默认为100.)
3)本地发起路由,用network命令导入,或将其它路由协议重分布进BGP路由表,最后是汇总路由表。
4)最短AS_PATH.如果本地发起路由无法比出最优路径,则选择拥有最短AS_PATH路由,但可忽略对AS_PATH的比较,而直接比较下一属性,输入命令:bgp bestpath as-path ignore.
5)最低Origin类型。如果AS_PATH无法比出最优路径,则选择拥有最低Origin类型的路由,从IGP导入,从EGP学习,以及重分布,它们的优先级为IGP优先EGP,EGP优于Incomplete,即IGP>EGP>Incomplete.
6)最小MED值。如果Origin类型无法比出最优路径,则选择拥有最小MED值的路由,并且只有当多个下一跳邻居在同一AS时才比较MED值。如果要在多个不同AS的下一跳中比较MED,可在BGP进程中输入命令bgp always-compare-med,注意须保证此命令在整个AS的路由器上输入,否则可能产生路由环路。默认的MED值为0,如果收到一条没有MED的路由,也认为是0.
7)eBGP优于iBGP
8)最小IGP metric到达下一跳的路由。如果多条路径的下一跳邻居同为eBGP或iBGP,则选择拥有最小IGP metric到达下一跳的路由。)
9)负载均衡。如果开启的话。maximum-paths n--多条路径的下一跳邻居都为eBGP时,输入此命令。maximum-paths ibgp n--多条路径的下一跳邻居都为ibgp时,输入此命令。n为执行负载均衡的路径数量,最大值为6,默认为1.
10)如果下一跳都为eBGP,则选择最早学习到的路由(即时间最长的路由)。如果要忽略比较路由学习到的时间长短,可在BGP进程下输入命令bgp best path compare-routerid.
11)最低Router-ID下一跳。BGP的Router-ID选举如同OSPF,在此步,拥有最低Router-ID的下一跳路由将被选为最优路径。
12)最短cluster list.cluster list只在BGP reflector(RR)的环境下才有,功能如同AS_PATH.
13)最小下一跳的邻居地址。如果比较之前的所有属性都无法选出最优路径,最终选择下一跳的邻居地址最小的路由,这个地址就是在建立邻居时所指的地址。
如果你想了解更多IDC机房中的BGP知识,可以给我们留言,我们会给你更好的建议。
TikTok千粉号购买平台:https://tiktokusername.com/
TOP