设为首页 收藏本站
查看: 2355|回复: 1

[经验分享] Juniper-R&S-BGP:一些写在前头的基础知识

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-3-2 08:51:48 | 显示全部楼层 |阅读模式
AS (autonomous system)自治系统
BGP提供环路防护机制(使用AS-Path属性)
一个AS,实际上就是路由器设置的一个控制和管理域。一个单独的管理域可以使用一个AS号来定义,并且只能赋予一个AS号。
应为BGP使用AS这个属性来标示路线,所以BGP又叫路径矢量路由协议Path-Vector Protocols。





BGP路由协议的特性(待补充)
  • BGP路由协议由很强的操控性
  • 可靠传输:BGP使用TCP协议(TCP 179端口),TCP本身的特性(三次握手、ACK、序列号、校验和、流控等)保证了BGP的可靠性。
  • 路由表的可扩展性:BGP对等体建立连接后,初始通告是整张路由表,然后就是根据需要发送路由更新了。





BGP的对等体Peer
BGP的对等体分为两种 IBGP和EBGP。

EBGP:当两个BGP路由器在不同AS网络时,他们之间的Session就是使用EBGP连接。
默认一个EBGP连接的Peer必须是直连:也就是IP头部TTL值被置为1.因此中间不允许存在其他三层设备。


IBGP:当两个NBGP路由器在相同的AS网络,他们之间的Session就是成为IBGP连接。
IBGP邻居不需要物理直连,BGP数据包的IP首部TTL值被设置为64 ,只要TCP的179端口可达,IBGP邻居关系就能建立,IBGP连接的建立依赖于AS网络中的IGP(静态、直连也算在内)产生的路由。
IBGP邻居有个重要的特性:IBGP邻居不会把从IBGP邻居学到的路由再发给一个IBGP邻居,但是会把从EBGP邻居处学到的路由发给IBGP邻居。



BGP 连接
BGP是增量(incremental)更新
不会定期的刷新全部路由信息




解决路由黑洞的方法。。
(详见专题)



BGP邻居状态

BGP邻居状态一共6种
----------------前三种属于TCP连接部分
  • Idle :这是邻居的初始化状态,在这个状态路由器将拒绝所有进入的TCP会话请求,当BGP进程启动后,路由器会向对等体发送TCP请求,然后本地路由器切换到Connect状态,并监听远程路由器的初始连接请求。
  • Connect:在Connect状态,本地路由器等待TCP会话建立完成。
  • Active

----------------后三种属于BGP连接部分
  • OpenSent
  • OpenConfirm
  • Established





基本的路由信息


各个BGP路由器使用本地内存来存放路由信息,这总的来说称为 RIB(Routing Information Base),一个BGP对等体维持三种类型的RIBs
  • Adjacency-RIB-in
  • Local-RIB
  • Adjacency-RIB-out



Adjacency-RIB-in


adjacency-RIB-in 是本地路由为每一个BGP对等体创建的。从对等体接收到的所有路由都被存在合适的内存列表里。
--在这里需要注意:本地路由器会丢弃包含 AS Path环路的路由。



Local-RIB
到达每个目的地的最佳路由被存放在Local-RIB列表里,这些路由是本地路由器用来转发数据流量的。在这个RIB里,基于每个目的地,只有单一的路径通告(最优的)



Adjacency-RIB-out

每个BGP对等体同样创建一个属于自己的Adjacency-RIB-out表为outbound路由通告(所有outbound路由通告被存放在adjacency-RIB-out列表)。只有在Local-RIB 里面的路由才有资格被放进outbound数据库,换句话说,一个BGP路由器通告最佳路由(被用作流量转发的路由)



默认所有Local-RIB路由都被放置到adjacency-RIB-out列表。当然,你可以通过export路由策略修改这个默认的行为,一个策略可以添加、修改或者移除各个路由的属性,此外,一个策略可以防止某些路由别通告到指定的对等体。






BGP 路由选择进程
本地路由器会基于Adjacency-RIB-in 列表的路由信息,使用一个路由选择算法确定到达各个目的地的最佳路由。这个路由选择算法的主要依据是各种BGP属性值

  • 如果在Inbound中只有单条到达某一目的地的路由,那么该路由会直接放到Local-RIB列表,同时被用于数据包的转发。
  • 当到达同一目的地有多条路由时,就需要比较他们的属性值,在选择算法的每个步骤里,都是为了淘汰到达目的地的次优路由,如果还是存在多条路由,那么选择一个算法再进入到下一个步骤,一直到选出最优路由。






BGP选择算法步骤
  • 各个路由的Next-Hop属性在本地路由表中必须可达的,如果不可达,本地路由器会丢弃该路由。
  • 路由器会选择最佳(Local-Preference属性值得路由。
  • 路由器会选择具有最AS Path 长度的路由。
  • 路由器会选择具有最Origin属性的路由。(Origin属性值有三种,IGP,EGP,Incomplete,优先顺序是IGP(i)>EGP(e)>Incomplete(?))。
  • 路由器会选择具有最小 MED(Multiple Exit Discriminator)属性值的路由。
  • 路由器会优选基于EBGP对等体学习到的路由(相比从IBGP对等体学习到的路由)。
  • 路由器会选择到达BGP Next Hop具有最小 IGP Metric值得路由。
  • 如果在IBGP对等体使用RR(路由反射器),那么路由器会选择具有最短Cluster-List长度的路由。
  • 路由器会选择具有最小RID(BGP对等体)通告的路由。
  • 路由器会选择具有最小对等体地址(BGP对等体)通告的路由。






BGP的属性

1、Next Hop属性

属性代码 3
公认强制属性
BGP路由器学习到的到达目的地的下一跳
0.0.0.0 代表 是自己产生的路由,其他代表是别人产生的路由(自己产生的路由优先)
Juniper路由器将标记出来的路由隐藏起来,可以使用show route hidden查看


利用BGP Next Hop有五种可行的方法。
  • 设置下一跳属性。许多人认为这是一个IBGP Peer会话的最佳实现方式,这个方法允许通过路由器改变下一跳属性。
  • 使用一个IGP被动接口。在这个方式,EBGP对等体连接接口被配置为AS里IGP的被动接口,这允许IGP通告外部子网像内部路由一样在EBGP邻居还没有建立时。在AS的所有路由器就能找到通过下一跳的EBGP-speaking router.
  • 配置一个export policy,使用export 策略配置将直连路由通告给IGP,这样内部AS路由器就知道EBGP-Speaker路由器在哪里(Next-Hop
  • 建立一个IGP邻接。
  • 利用静态路由。




2、Local-Preference 本地优先级
属性类型代码 5

公认自决属性
所有BGP路由器必须识别本地优先级属性。
本地优先级用于AS内部(常被用于选择出口路由器)
默认本地优先级值为100
取值范围 1- 4294967295




3、AS-Path
属性代码2

公认强制属性
防止路由环路
路由经过一个AS时,会自动添加这个AS号到BGP的路由AS列表中
只有在EBGP邻居之间通告的时候,AS号才会被添加,IBGP邻居通告时不会添加




4、Origin 起源属性
属性代码 1

公认强制属性
起源属性描述了BGP路由的起源


BGP路由的起源有三种
  • IGP有IGP路由学来的,      使用“I”标识,并且编码值设置为0。
  • EGP                                   使用“E”标示,编码值设置为1。
  • Incomplete 路由源未知的 使用“?”标识,并且编码值设置为2。

IGP最优,EGP其次,?最差(重分布过来的路由标示就是“?”)
JunOS软件总是设置一个Origin值给所有使用export策略通告的IGP路由。



5、MED属性
属性代码 4

相当于IGP的metric值
JunOS软件解释不存在的MED值为0。


6、Community 团体属性
属性代码 8
可选的可传递的属性
该属性为4字节格式是 65001:1001 (前面是AS号,后面为属性值)


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-42877-1-1.html 上篇帖子: juniper EX8200 系列交换机配置常用命令 下篇帖子: Juniper Technical CD-ROM Documentation 下载
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表