当有多条到Internet连接时应该使用边界网关协议BGP来控制路径选择
自治系统:一组被统一管理的路由器,他们使用相同的内部网关协议和统一的度量值来决定如何在自治系统内部来分组,并使用自治系统之间的路由协议来决定如何将分组路由到其他自治系统
自治系统号:16位整数 1-65535 私有的64512-65535
内部网关路由协议IGP:rip,ospf,isis,eigrp
外部网关协议EGP:BGP
通常一个自治系统作为一个节点
BGP与其他路由协议对比
BGP得工作原理不同于IGP,确定最佳路径时考虑得不是速度。BGP是一种基于策略的路由协议,让自治系统能够根据多种BGP属性来控制数据流的传输
ISP:互联网服务提供商
企业网到ISP连接的需求
公有IP地址空间
链路类型和可用带宽
路由选择
冗余连接
企业网独立于ISP
公有IP地址空间
公有自治系统号
第二层电路模拟,静态路由,MPLS VPN,BGP
Internet的连接通常使用静态路由和BGP实现
使用电路模拟
通过运营商常见得三层基础设施,为客户提供二层的连接服务
使用MPLS VPN
通过运营商的三层基础设施,将客户端的多个站点连接起来
单宿ISP连接
链路故障将导致无法连接Internet
方案1:使用静态路由
企业网使用默认路由,ISP使用静态路由到客户端网络
方案2:使用BGP
客户端向ISP通告其公有网络,ISP只想客户通告一条默认路由
双向ISP连接
特点:到同一个ISP有两条链路连接,可以使用一个或者两个边界路由器,可以使用静态路由或者BGP
多宿ISP连接
特点:连接到两个或俩个以上不同的互联网服务供应商,可使用单个或者多个边缘路由器,使用BGP动态路由协议
双多宿ISP连接
特点:一家公司连接多个ISP,并且到每家ISP都使用两条链路,通常使用多个边缘路由器(每家运营商一个),使用BGP动态路由协议
在企业网中使用BGP时:
一条到ISP的连接,不需要使用BGP,默认路由即可
多条连接使用BGP,运行路径属性的操纵,选择最佳路径
不同自治系统之间运行BGP时,成为外部BGP(EBGP)
同一个自治系统内路由器之间运行BGP,成为内部BGP(IBGP)
BGP通告
路径
网络可达的路径
路径通过一些属性来描述
管理员可以定义穿越AS的数据流
路径矢量信息中可以包含一个自治系统号的列表,列表中会列出前往目的地网络必须经过的自治系统号,还有下一个自治系统路由器IP地址,下一跳属性
BGP提供一种域间路由系统
BGP保证无环路的路由信息交换
BGP与IGP不同
BGP是基于策略的路由协议
通过操作BGP的路径属性来控制数据流转发
BGP路由器不能接受路径列表中包含了自己自治系统号的路由更新,因此百分百无环路
BGP路由策略
65010发往65060的路径取决于65020和65040给65010发的路径
当满足下述条件之一时使用BGP:
BGP时路径矢量路由协议,拥有以下属性:
可靠更新:BGP将TCP用作传输层协议,端口号179
增量促发更新
使用存活消息来检查连接
丰富的度量值(路径矢量或者属性)
设计规模庞大的互联网络(Internet)
BGP是一种特殊的距离矢量协议–路径矢量协议
BGP邻居表
列出所有BGP连接的邻居(对等体)
BGP表
列出从邻居学习到的所有网络
可以显示到同一个目的网络的多个网络
每条路径都携带BGP属性
最佳的BGP路由将传播到其他BGP路由器
IP路由表
列出到目的网络的最佳路径用来转发数据流
相同的路由条目比较AD值:EBGP 20,IBGP 200
打开消息(open):包含AS,保持时间和BGP路由器ID
如果打开消息可接受则会发送存活消息已确认打开
存活消息(keepalive):默认60s发送一次
打开消息得到确认则证明BGP连接确立,则会交换更新消息存活消息和通知消息
更新消息(update):
只有一条路径消息,包含路径属性和网络
通知消息(notification):
当检测到故障时,相应错误或者特殊情况,消息发送完毕关闭连接
空闲(idle)搜索路由表看能否前往邻居;
连接(connect)找到邻居的路由并且完成了TCP三次握手;
打开发送(open sent)发送打开消息,包含BGP会话参数
打开确认(open confirm)收到相应进入打开确认状态,如果5s内没有响应,进入活动状态
已建立(establed)扫描路由表,确定发送给其他邻居的路径,进入已建立状态,开始在邻居之间路由分组,只有established才代表建立连接
BGP邻居也称为BGP对等体,TCP连接
EBGP邻居是位于当前自治系统外部的路由器
通常情况下运行EBGP协议的路由器由于无法配置IBGP协议则将物理相连
建立EBGP邻居需要满足条件:
自治系统号不同,定义邻居:建立TCP会话,可达性:neighbor指定的IP地址必须可达
内部BGP邻居:
同一个自治系统内的BGP邻居,满足条件:自治系统号相同,定义邻居,可达
中转路径的IBGP
中转自治系统的IBGP,为两个外部自治系统中转数据流
不建议将BGP路由重分发进IGP,因为Internet中路由表数量过于庞大,应该在AS内的所有路由器上配置IBGP
非中转路径中的IBGP
如两家ISP,自治系统内部仍然必须获悉传入的所有BGP路由
为了避免环路,BGP规定不将通过IBGP获悉的路由传播给其他的IBGP对等体
全互联环境中IBGP
全互联的BGP会话必须在任何两台路由器之间都配置IBGP邻接关系
非全互联IBGP导致的问题
TCP和全互联
BGP路由器不应该使用通过IBGP获悉的路由或将其通告给外部邻居,除非该路由是本地的或者通过IGP获悉的,换句话说,使用从IBGP邻居那里获悉的路由之前,BGP和IGP必须同步,为了避免路由黑洞