网站页面背景,基金会网站建设方案,展示型网站,巢湖做网站的公司技术背景#xff1a; 在只有IGP#xff08;诸如OSPF、IS-IS、RIP等协议#xff0c;因为最初是被设计在一个单域中进行一个路由操纵#xff0c;因此被统一称为Interior Gateway Protocol#xff0c;内部网关协议#xff09;的时代#xff0c;域间路由无法实现一个全局路由…技术背景 在只有IGP诸如OSPF、IS-IS、RIP等协议因为最初是被设计在一个单域中进行一个路由操纵因此被统一称为Interior Gateway Protocol内部网关协议的时代域间路由无法实现一个全局路由控制如精细的操纵一个路由在不同域之间的一个流量路径或产生次优路径由于IGP只能看到自己域内的一个路由这种情况通常发生在两个路由协议之间的一个双点双向引入 后面发明了EGP一个具体的协议而现在我们常说的EGP则是一类协议统称外部网关协议被用于实现在AS之间动态交换路由信息。但是EGP设计得比较简单只发布网络可达的路由信息而不对路由信息进行优选同时也没有考虑环路避免等问题很快就无法满足网络管理的要求 BGP是为取代当初的EGP而设计的另一种外部网关协议。不同于最初的EGPBGP能够进行路由优选、避免路由环路、更高效率的传递路由和维护大量的路由信息
1、AS的基本概念
OSPF、IS-IS等IGP在组织机构网络内部广泛应用随着网络规模扩大网络中路由数量不断增长IGP已无法管理大规模网络ASAutonomous System自治系统的概念由此0诞生。
AS是指在同一机构管理下使用同一个选路策略的设备集合
AS之间需要直连链路或通过VPN协议构造逻辑直连例如GRE Tunnel进行邻居建立
AS之间可能是不同的机构、公司相互之间无法完全信任使用IGP可能存在暴露AS内部的网络信息的风险。
2、BGP概述
整个网络规模扩大路由数量进一步增加路由表与LSDB规模变大路由收敛变慢设备性能消耗加大
为此在AS之间专门使用BGP协议进行路由传递相较于传统的IGP路由协议 BGP基于TCP只要能够建立TCP连接即可建立BGP 只传递路由信息不会暴露AS内的拓扑 3、BGP报文格式与报文概述
报文格式
L2 Header | IP Header | TCP Header | BGP Packet | CRC
BGP PacketBGP报文
1.Open在TCP连接建立成功之后协商BGP对等体参数建立对等体关系
2.Keepalive在BGP对等体建立完成之后以60秒为周期轮询发送以维护BGP对等体关系——拓展HoldTime时间默认为Keepalive时间的3倍
3.Update在BGP对等体关系建立完成之后若有路由需要发送或路由发生变化时则发送BGP路由更新报文
4.NotificationBGP在运行中发现错误时向BGP对等体通告错误信息然后中止对等体关系
5.Route-refresh用于改变路由策略后请求BGP对等体重新发送路由信息只有支持路由刷新能力的设备会发送和响应此报文
4、BGP对等体关系概述
说明
BGP存在两种对等体EBGP与IBGP
IBGP概述
位于相同自治系统的BGP SpeakerBGP发言者之间的BGP对等体关系通常用环回口配置IBGP邻居关系
EBGP概述
位于不同自治系统的BGP Speaker之间的BGP对等体关系并且两台EBGP路由器之间peer所指定的对等体地址必须路由可达
EBGP与IBGP的BGP路由传递
EBGP之间传递路由时通常会改变下一跳但若是本端EBGP设备收到对端发来的EBGP路由然后再传递给IBGP则下一跳不会改变下一跳仍然在与EBGP建邻的直连口。因此通常需要修改下一跳为本设备建立IBGP关系的源地址
5、TCP连接源地址
1缺省情况下BGP采用报文出接口作为TCP连接的源地址
2但是在部署IBGP的时候建议使用环回口Loopback作为TCP连接的源地址又叫更新源地址因为环回口是逻辑口因此它更稳定不会因为物理接口down掉而导致对等体关系挂掉而是会走冗余路径来继续维持对等体关系因为AS内的冗余设计也是非常有必要的保证了topo的一个网络运行可靠性
3在部署EBGP对等体关系时通常使用直连接口的IP地址作为源地址若使用环回口建立EBGP对等体关系则应多注意EBGP多跳问题EBGP的TTL缺省1需配置ebgp-max-hop是在peer [ip-addr]后面加上ebgp-max-hop [num若不填则缺省为255]。
6、BGP六大状态机
1.Idle开始准备TCP的连接并监视远程对等体
2.ConnectBGP发起第一个TCP连接连接重试计时器超时后重新发起TCP连接TCP连接失败转入Active状态
3.ActiveBGP不断发起TCP连接建立如果连接重试计时器超时就回退到Connect状态TCP连接失败就继续保持在Active状态并继续发起TCP连接。
4.OpenSentTCP连接已建立成功开始发送Open包Open包携带参数协商对等体建立
5.OpenConfirm参数、能力特性协商成功自己发送Keepalive包等待对方的Keepalive包
6.Established已经收到对方的Keepalive包双方能力特性经协商发现一致开始使用Update消息通告路由信息
7、BGP路径属性
简介
任何一条BGP路由都拥有多个路径属性Path Attributes,这些属性描述了BGP路由的各项特征同时也会影响BGP路由的一个选路决策
BGP选路四大原则
1公认必遵必须包含在每个Update消息里
1.Origin起源
2.AS_Path所经过的AS号从左到右按需排列
3.Next_hop下一跳地址
2公认任意可能包含在某些Updata消息里
1.Local_Preference(出站选路通常用于在AS内的选路控制可以理解为IBGP之间的开销值Cost
2.Atomic_Aggregate(原子聚合)
3可选过渡BGP不识别此类属性依然会接收该类属性并通告给其它对等体
1.Aggregater聚合者
2.Community团体属性
4可选非过渡BGP不识别此类属性会忽略该属性且不通告给其它对等体
1.MED入站选路用于EBGP之间的路由控制可以理解为EBGP之间的开销值Cost
2.Cluster-List集群列表
3.Originator起源者
8、路由反射器Route Reflector概述:
技术背景
IBGP水平分割规则用于防止AS内部产生环路在很大程度上杜绝了IBGP路由产生环路的可能性但是同时也带来了新的问题BGP路由在AS内部只能传递一跳如果建立IBGP对等体全互联模型又会加重设备的负担。
中转AS的IBGP问题BGP路由黑洞 由于水平分割的原因为了保证中转AS200所有的BGP路由器都能学习到完整的BGP路由就必须在AS内实现IBGP全互联。然而实现IBGP全互联存在诸多短板 1.路由器需维护大量的TCP及BGP连接尤其在路由器数量较多时 2.AS内BGP网络的可扩展性较差 3.为此可以采用路由反射器技术 而路由反射器RR正是作为该问题的一个最优解决方案横空出世简单、高效、好用
角色
引入路由反射器之后存在两种角色 RR(Route Reflector)路由反射器 ClientRR客户端
RR会将学习的路由反射出去从而使得IBGP路由在AS内传播无需建立IBGP全互联
AS内传播无需建立IBGP全互联
将一台BGP SpeakerBGP发言者指定为RR的同时还需要指定其Client。至于Client本身无需做任何配置它并不知晓网络中存在RR
路由反射规则 RRRoute Reflector在接收BGP路由时 1如果路由反射器从自己的非客户对等体学习到IBGP路由则它会将路由反射给所有客户 2如果路由反射器从自己的客户学习到一条IBGP路由则它会将该路由反射给所有非客户以及除了该客户之外的其他所有客户 3如果路由学习自EBGP对等体则发送给所有客户、非客户IBGP对等体 4非非之间不会传递
路由反射器Route Reflector的防环机制
RR反射出的路由会增加两个属性防环 1Originator发起人发送源的出口地址——针对RR客户端的防环 2Cluster list集群列表记录了经过的所有路由反射器集群ID——针对RR的防环 1.路由反射簇包括反射器RR及其Client。一个AS内允许存在多个路由反射簇 2.当一条路由被反射器反射后该RR的Cluster就会被添加至路由的Cluster_list属性 3.当RR收到一条携带Cluster_list属性的BGP路由且该属性值中包含该簇的Cluster时RR认为该条路由存在环路因此将忽略关于该条路由的更新
配置
peer x.x.x.x reflect-client //配置本端为RR并指定peer x.x.x.x为它的反射客户端聚合路由
简介
与众多IGP协议相同BGP同样支持路由的手工聚合在BGP配置视图中使用aggregate命令可以执行BGP路由手工聚合在BGP已经学习到相应的明细路由情况下设备会向BGP注入指定的聚合路由
BGP支持手工或者自动的路由汇总一般情况下不用自动因为自动只能汇总成主类网络路由
配置
手动汇总
在bgp视图下aggregate 抑制明细在aggregate末尾加关键字 detail-suppressed翻译过来为明细-抑制更好理解即抑制明细路由
自动汇总 在BGP进程下summary automatic