BGP协议详解(一)

当有多条到Internet连接时应该使用边界网关协议BGP来控制路径选择

自治系统

自治系统:一组被统一管理的路由器,他们使用相同的内部网关协议和统一的度量值来决定如何在自治系统内部来分组,并使用自治系统之间的路由协议来决定如何将分组路由到其他自治系统
自治系统号:16位整数 1-65535 私有的64512-65535
内部网关路由协议IGP:rip,ospf,isis,eigrp
外部网关协议EGP:BGP
通常一个自治系统作为一个节点
BGP协议详解(一)_第1张图片
BGP与其他路由协议对比
BGP协议详解(一)_第2张图片
BGP得工作原理不同于IGP,确定最佳路径时考虑得不是速度。BGP是一种基于策略的路由协议,让自治系统能够根据多种BGP属性来控制数据流的传输

将企业网连接到ISP

ISP:互联网服务提供商

BGP协议详解(一)_第3张图片
企业网到ISP连接的需求
公有IP地址空间
链路类型和可用带宽
路由选择
冗余连接
企业网独立于ISP
公有IP地址空间
公有自治系统号

可达性

第二层电路模拟,静态路由,MPLS VPN,BGP
Internet的连接通常使用静态路由和BGP实现

使用电路模拟
通过运营商常见得三层基础设施,为客户提供二层的连接服务

  • 包括以太网,帧中继,PPP,HDLC,ATM
  • ISP与企业网之间不交换路由信息
    BGP协议详解(一)_第4张图片

使用MPLS VPN
通过运营商的三层基础设施,将客户端的多个站点连接起来

  • 使用专用得VPN提供Internet连接
  • 营运商决定采用静态路由或者是动态路由
  • 客户端路由器连接到营运商的PE路由器
    BGP协议详解(一)_第5张图片
    使用静态路由
  • 客户端使用默认路由前往ISP
  • ISP部署涵盖客户所有公有网络的静态路由
  • 不能自适应网络的拓扑变化
    BGP协议详解(一)_第6张图片
    使用BGP
  • 客户端部署BGP来通告所有网络
  • ISP通告默认路由,Internet子网或者全部网络的路由表
  • 通常情况下用于自治系统之间的互联
    BGP协议详解(一)_第7张图片

企业到运营商连接选项

  • 单宿:只到一家运营商且没有荣誉的链路
  • 双宿:到一家运营商有两条链路链接
  • 多宿:连接到多家运营商
  • 双多宿:多家运营商多条链路

单宿ISP连接
链路故障将导致无法连接Internet
方案1:使用静态路由
企业网使用默认路由,ISP使用静态路由到客户端网络
方案2:使用BGP
客户端向ISP通告其公有网络,ISP只想客户通告一条默认路由
BGP协议详解(一)_第8张图片
双向ISP连接
特点:到同一个ISP有两条链路连接,可以使用一个或者两个边界路由器,可以使用静态路由或者BGP
BGP协议详解(一)_第9张图片
多宿ISP连接
特点:连接到两个或俩个以上不同的互联网服务供应商,可使用单个或者多个边缘路由器,使用BGP动态路由协议
BGP协议详解(一)_第10张图片
双多宿ISP连接
特点:一家公司连接多个ISP,并且到每家ISP都使用两条链路,通常使用多个边缘路由器(每家运营商一个),使用BGP动态路由协议
BGP协议详解(一)_第11张图片
在企业网中使用BGP时:
一条到ISP的连接,不需要使用BGP,默认路由即可
多条连接使用BGP,运行路径属性的操纵,选择最佳路径
不同自治系统之间运行BGP时,成为外部BGP(EBGP)
同一个自治系统内路由器之间运行BGP,成为内部BGP(IBGP)

BGP多宿主方案

  • Multihoming options in regards to connections
    每个独立的ISP只有一条链路连接
    每个独立的ISP有多条链路连接
  • Multihoming options in regards to routing
    每家ISP都只将一条默认路由传递给自治系统
    客户A从每家ISP那里接收到一条默认路由
    占用自治系统资源最少
    容易导致次优路由
    BGP协议详解(一)_第12张图片
    每家ISP都将一条默认路由和提供商的具体路由传递给自治系统
    客户A从每家ISP那里接收到一条默认路由
    客户A从每家ISP那里即受到外部的部分路由
    一定程度上解决次优路径
    如果目的地部分路由表中不存在,则通过其中的一条默认路由转发数据流也可能导致次优路径
    BGP协议详解(一)_第13张图片
    每家ISP都将所有路由传递给自治系统
    客户A将接收到来自运营商的全部路由
    需要足够的内存和CPU资源
    不需要通告默认路由
    BGP协议详解(一)_第14张图片

路径矢量功能

BGP通告
路径
网络可达的路径
路径通过一些属性来描述
管理员可以定义穿越AS的数据流

路径矢量信息中可以包含一个自治系统号的列表,列表中会列出前往目的地网络必须经过的自治系统号,还有下一个自治系统路由器IP地址,下一跳属性

自治系统间的BGP路由

BGP提供一种域间路由系统
BGP保证无环路的路由信息交换
BGP与IGP不同
BGP是基于策略的路由协议
通过操作BGP的路径属性来控制数据流转发
BGP协议详解(一)_第15张图片
BGP路由器不能接受路径列表中包含了自己自治系统号的路由更新,因此百分百无环路

BGP路由策略
BGP协议详解(一)_第16张图片
65010发往65060的路径取决于65020和65040给65010发的路径

使用BGP场景

当满足下述条件之一时使用BGP:

  • 自治系统是一个中转自治系统
  • 自治系统是多宿主
  • 必须对自治系统间的路由进行控制
    何时不使用BGP:
  • 自治系统是单宿主
  • 没有足够的内存和处理器资源来处理BGP
  • 对路由过滤和BGP路径过程的了解有限

BGP特征

BGP时路径矢量路由协议,拥有以下属性:
可靠更新:BGP将TCP用作传输层协议,端口号179
增量促发更新
使用存活消息来检查连接
丰富的度量值(路径矢量或者属性)
设计规模庞大的互联网络(Internet)
BGP是一种特殊的距离矢量协议–路径矢量协议

BGP数据库

BGP邻居表
列出所有BGP连接的邻居(对等体)
BGP表
列出从邻居学习到的所有网络
可以显示到同一个目的网络的多个网络
每条路径都携带BGP属性
最佳的BGP路由将传播到其他BGP路由器
IP路由表
列出到目的网络的最佳路径用来转发数据流
相同的路由条目比较AD值:EBGP 20,IBGP 200

BGP消息类型

打开消息(open):包含AS,保持时间和BGP路由器ID
如果打开消息可接受则会发送存活消息已确认打开
存活消息(keepalive):默认60s发送一次
打开消息得到确认则证明BGP连接确立,则会交换更新消息存活消息和通知消息
更新消息(update):
只有一条路径消息,包含路径属性和网络
通知消息(notification):
当检测到故障时,相应错误或者特殊情况,消息发送完毕关闭连接

BGP状态机

空闲(idle)搜索路由表看能否前往邻居;
连接(connect)找到邻居的路由并且完成了TCP三次握手;
打开发送(open sent)发送打开消息,包含BGP会话参数
打开确认(open confirm)收到相应进入打开确认状态,如果5s内没有响应,进入活动状态
已建立(establed)扫描路由表,确定发送给其他邻居的路径,进入已建立状态,开始在邻居之间路由分组,只有established才代表建立连接

BGP邻接关系

BGP邻居也称为BGP对等体,TCP连接

EBGP邻居是位于当前自治系统外部的路由器
BGP协议详解(一)_第17张图片
通常情况下运行EBGP协议的路由器由于无法配置IBGP协议则将物理相连

建立EBGP邻居需要满足条件:
自治系统号不同,定义邻居:建立TCP会话,可达性:neighbor指定的IP地址必须可达

内部BGP邻居:
同一个自治系统内的BGP邻居,满足条件:自治系统号相同,定义邻居,可达

中转路径的IBGP
中转自治系统的IBGP,为两个外部自治系统中转数据流
BGP协议详解(一)_第18张图片
不建议将BGP路由重分发进IGP,因为Internet中路由表数量过于庞大,应该在AS内的所有路由器上配置IBGP

非中转路径中的IBGP
如两家ISP,自治系统内部仍然必须获悉传入的所有BGP路由
BGP协议详解(一)_第19张图片
为了避免环路,BGP规定不将通过IBGP获悉的路由传播给其他的IBGP对等体

部分互联环境中的IBGP更新行为
BGP协议详解(一)_第20张图片

全互联环境中IBGP
BGP协议详解(一)_第21张图片
全互联的BGP会话必须在任何两台路由器之间都配置IBGP邻接关系

非全互联IBGP导致的问题
TCP和全互联

  • 采用TCP传输机制实现可靠传输
  • TCP会话不是多播或者广播,因此BGP也不是
  • 由于不能使用广播,所以必须以全互联的方式建立BGP会话
    部分互联导致路由黑洞
    BGP协议详解(一)_第22张图片
    BGP协议详解(一)_第23张图片

BGP同步

BGP路由器不应该使用通过IBGP获悉的路由或将其通告给外部邻居,除非该路由是本地的或者通过IGP获悉的,换句话说,使用从IBGP邻居那里获悉的路由之前,BGP和IGP必须同步,为了避免路由黑洞
BGP协议详解(一)_第24张图片

你可能感兴趣的:(BGP协议详解(一))