BGP协议原理及配置(中文版3.0)-3.ppt_第1页
BGP协议原理及配置(中文版3.0)-3.ppt_第2页
BGP协议原理及配置(中文版3.0)-3.ppt_第3页
BGP协议原理及配置(中文版3.0)-3.ppt_第4页
BGP协议原理及配置(中文版3.0)-3.ppt_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

D041BGP协议原理及配置 学习目标 叙述BGP路由协议的原理配置BGP路由协议调试和维护BGP协议处理大规模网络中BGP的应用 学习完本课程 您应该能够 课程内容 BGP路由协议的原理BGP路由属性配置BGP路由协议处理大规模网络中BGP的应用 BGP简介 BGP BorderGatewayProtocol 是一种自治系统间的动态路由发现协议 它的基本功能是在自治系统间自动交换无环路的路由信息 通过交换带有自治系统 AS 序列属性的路径可达信息 来构造自治系统的拓扑图 从而消除路由环路并实施用户配置的策略 BGP协议经常用于ISP之间BGP协议从1989年就开始使用 它最早发布的三个版本分别是RFC1105 BGP 1 RFC1163 BGP 2 和RFC1267 BGP 3 当前使用的是RFC1771 BGP 4 它适用于分布式结构并支持无类域间路由CIDR ClasslessInterDomainRouting BGP协议概述 BGP是外部路由协议 用来在AS之间传递路由信息是一种距离矢量的路由协议 从设计上避免了环路的发生为路由附带属性信息传送协议 TCP 端口号179支持CIDR 无类别域间选路 路由更新 只发送增量路由丰富的路由过滤和路由策略 特性描述 BGP是一种外部路由协议 与OSPF RIP等的内部路由协议不同 其着眼点不在于发现和计算路由 而在于控制路由的传播和选择最好的路通过携带AS路径信息 可以彻底解决路由环路问题 使用TCP作为其传输层协议 提高了协议的可靠性 BGP 4支持无类域间路由CIDR ClasslessInterDomainRouting 这是较BGP 3的一个重要改进 CIDR以一种全新的方法看待IP地址 不再区分A类网 B类网及C类网 例如一个非法的C类网络地址192 213 0 0 255 255 0 0 采用CIDR表示法192 213 0 0 16就成为一个合法的超级网络 其中 16表示子网掩码由从地址左端开始的16比特构成 路由更新时 BGP只发送增量路由 大大减少了BGP传播路由所占用的带宽 适用于在Internet上传播大量的路由信息 BGP协议基本概念 什么是自治系统 AS 为什么引入自治系统这一概念自治系统内部的路由协议自治系统之间的路由协议 BGP 自治系统 自治系统AS AutonomousSystem 由同一个技术管理机构管理 使用统一选路策略的一些路由器的集合 每个自治系统都有唯一的自治系统编号 这个编号由因特网授权的管理机构分配的 自治系统的编号范围是1到65535 其中1到65411只注册的因特网编号 65412到65535是专用网络编号 BGP工作机制 发送BGP消息的路由器称为BGP发言人 Speaker 它不断的接收或产生新路由信息 并将它广告 Advertise 给其它的BGP发言人 当BGP发言人收到来自其它自治系统的新路由广告时 如果该路由比当前已知路由好 或者当前还没有可接受路由 它就把这个路由广告给自治系统内所有其它的BGP发言人 一个BGP发言人也将同它交换消息的其它的BGP发言人称为对等体 peer 若干相关的对等体可以构成对等体组 group BGP两种邻居 IBGP和EBGP BGP在路由器上以下列两种方式运行 IBGP InternalBGP EBGP ExternalBGP 当BGP运行于同一自治系统 AS 内部时 称为IBGP 当BGP运行于不同自治系统之间时 称为EBGP提示 一般要求EBGP对等体之间是有物理上的直接连接而IBGP对等体之间不一定有物理上的直接连接 但必须保证逻辑上全连接 TCP连接能够建立即可 BGP两种邻居 IBGP和EBGP EBGP EBGP RTB RTC IBGP RTA RTD RTE BGP路由通告原则 多条路径时 BGPSpeaker只选最优的给自己使用BGPSpeaker只把自己使用的路由通告给相邻体BGPSpeaker从EBGP获得的路由会向它所有BGP相邻体通告 包括EBGP和IBGP BGPSpeaker从IBGP获得的路由不向它的IBGP相邻体通告BGPSpeaker从IBGP获得的路由是否通告给它的EBGP相邻体要依IGP和BGP同步的情况来决定连接一建立 BGPSpeaker将把自己所有BGP路由通告给新相邻体 BGP与IGP同步 BGP协议规定 一个BGP路由器不将从内部BGP对等体得知的目的地通告给外部对等体 除非该目的地也能通过IGP得知的 若一个路由器能通过IGP得知该目的地 则可认为路由能在AS中传播 内部通达已有了保证 BGP同步 BGP的主要任务之一就是向其它自治系统发布该自治系统的网络可达信息 因此 BGP必须与IGP 如RIP OSPF等 同步来通告路由 同步是指BGP必须等待直到IGP在其所在自治系统中成功传播该选路信息 才向其它自治系统通告过渡信息 也就是说 当一个路由器从IBGP对等体收到一个关于目的地的更新信息 在把它通告给其它EBGP对等体之前 要试图验证该目的地通过自治系统内部能否到达 即验证该目的地是否存在于IGP 非BGP路由器是否可传递业务量到该目的地 若IGP认识这个目的地 才通告其它的EBGP对等体 否则将把这个路由当作与IGP不同步来 不进行通告 BGP同步 EBGP EBGP RTB RTC IBGP RTA RTD RTE RTF S0 1 1 1 2 24 E0 10 1 1 1 24 S0 1 1 1 1 24 S1 2 1 1 2 24 S0 2 1 1 1 24 AS100 AS200 AS300 使BGP与IGP同步的简单方法是将BGP发现的网络路由全部引入到IGP路由表中 再由BGP发布出去 成为BGP路由的途径之一 纯动态注入 18 0 0 1 8 OSPF RTB AS200 OSPF发现路由18 0 0 1 8把IGP OSPF 发现的路由纯动态地注入到RTB的BGP路由表中 纯动态注入 路由器将通过IGP路由协议动态获得的路由信息直接注入到BGP中去 成为BGP路由的途径之一 半动态注入 18 0 0 1 8 RTB AS200 OSPF OSPF发现路由18 0 0 1 8把IGP OSPF 发现的路由半动态地注入到RTB的BGP路由表中 半纯动态注入 路由器有选择的将IGP路由协议动态获得的路由信息注入到BGP中去 成为BGP路由的途径之三 静态注入 18 0 0 1 8 AS200 人为配置静态路由18 0 0 1 8把人为配置的静态路由注入到RTB的BGP路由表中 RTB 静态注入 路由器将静态配制的某条路由信息注入到BGP中去 BGP报文种类 BGP报文有四种类型 Open 打招呼 你好 跟我交个朋友吧 KeepAlive 我还活着呢 别不理我Update 有新闻 Notification 我不跟你玩了 BGP系统作为高层协议运行在一个特定的路由器上 系统初启时通过发送整个BGP路由表交换路由信息 之后为了更新路由表只交换更新消息 UpdateMessage 系统在运行过程中 是通过接收和发送KeepaliveMessage消息来检测相互之间的连接是否正常的 BGP报文头 BGP报文的格式是一样的 都是 报文头 报文体 的格式 下面给出的是BGP报文头 Open报文 Open报文是由报文头加如下结构构成的 KeepAlive报文 KeepAlive报文只有报文头 Update报文 Update报文由报文头加如下结构构成 Notification报文 Notification报文由报文头加如下结构构成 BGP协议的状态机 Active Open sent Open confirm Established Idle Connect Connect Retrytimerexpiry TCPconnectionfails Connect Retrytimerexpiry Start Others TCPconnectionfails Error Error Error KeepAlivetimerexpiry KeepAlivepacketreceived 1 KeepAlivetimerexpiry2 Updatereceived3 KeepAlivereceived CorrectOPENpacketreceived TCPconnectionsetup TCPconnectionsetup Others BGP协议中消息的应用 通过TCP建立BGP连接时 发送open消息连接建立后 如果有路由需要发送或路由变化时 发送UPDATE消息通告对端路由信息稳定后此时要定时发送KEEPALIVE消息以保持BGP连接的有效性当本地BGP在运行中发现错误时 要发送NOTIFICATION消息通告BGP对端 课程内容 BGP路由协议的原理BGP路由属性配置BGP路由协议处理大规模网络中BGP的应用 BGP的路由属性 表达了路由的特征过渡和非过渡的必遵和可选的便于扩展截至目前共16种属性 常见BGP路由属性 1 Origin2 AS Path3 Nexthop4 MED5 Local Preference6 Atomic Aggregate7 Aggregator8 Community 9 Originator ID10 Cluster List11 DestinationPref MCI 12 Advertiser Baynet 13 Rcid Path Baynet 14 MP Reach NLRI15 MP Unreach NLRI16 Extended Communities 起点 Origin 属性 一般的 具体的实现按如下方式决定一条路由的Origin属性某条路由是直接而具体的注入到BGP路由表中的 则origin属性为IGP路由是通过EGP得到的 则origin属性为EGP其他情形下 Origin属性都为Incomplete优先值 IGP 0 EGP 1 Incomplete 2 BGP首先选择优先值最小的 AS路径 AS Path 属性 D 18 0 0 0 8 AS200 AS300 AS400 AS100 AS500 RTA RTB 30 0 0 1 30 0 0 2 D dl400300200 D d2500200 D d1400300200 D d2500200 下一跳要点 1 BGP在向IBGP通告从其它EBGP得到的路由时 不改变路由的下一跳属性 本地BGP将从EBGP得到的路由的下一跳属性直接传递给IBGP 2 BGP在向EBGP通告路由时 下一跳属性是本地BGP与对端连接的端口地址 3 对于可以多路访问的网络 例如 以太网或FR 下一跳是连接目的网络的路由器的多路访问的接口 下一跳 NextHop 属性 18 0 0 0 8 20 0 0 0 8 RTA RTC RTB RTD 19 0 0 0 8 21 0 0 2 21 0 0 1 10 0 0 2 10 0 0 3 10 0 0 1 AS100 AS200 IBGP IBGP EBGP RTB可经下一跳10 0 0 2到达18 0 0 0 8可经下一跳10 0 0 3到达20 0 0 0 8 RTA可经下一跳10 0 0 2到达18 0 0 0 8可经下一跳10 0 0 3到达20 0 0 0 8可经下一跳21 0 0 1到达19 0 0 0 8 RTC可经下一跳10 0 0 1到达19 0 0 0 8可经下一跳10 0 0 3到达20 0 0 0 8 BGP典型案例直连EBGP邻居发布下一跳非直接可达路由时路由失效 在下面的BGP组网应用中 Router1和Router2之间建立IBGP邻居关系 Router1和Router3之间建立EBGP邻居关系 Router3发布路由6 6 0 0 16给Router1 Router1把从EBGP邻居学来的路由发布给IBGP邻居Router2 但在Router2上使用displaybgp发现学到的路由为无效路由 BGP典型案例 故障现象 在Router2上无法ping通Router3上的6 6 0 0 16网段Router2上的BGP路由表中6 6 0 0 16网段为无效路由 EBGPpeer IBGPpeer Physicalconnection EGP Physicalconnection IGP Loopback 解决问题 通过观察Route2的路由表 可以发现6 6 0 0 16的下一跳不能通过IGP到达 所以导致该路由为无效路由 在BGP中 对于从IBGP和EBGP学来的路由的下一跳的处理是不同的 从IBGP邻居学来的路由 在发送给其IBGP邻居的时候 next hop均改为该路由器的出口IP地址 而对于从EBGP邻居学来的路由 在发送给其IBGP邻居 即在AS内传播 的时候 next hop是不变的 AS内部的路由器不需要知道AS之间的路由情况 否则会增加AS内部路由器的负担 所以不推荐采用通过IGP学到AS之间的路由情况的方法解决问题 比较好的解决方案是配置next hop local 这时Router1的BGP配置为 bgp100undosynchronizationpeer150 1 1 2as number100peer150 1 1 2next hop localpeer12 110 150 2as number200 解决问题 bgp200undosynchronizationnetwork6 6 0 0mask255 255 0 0peer12 110 150 1as number100 bgp100undosynchronizationpeer150 1 1 2as number100peer12 110 150 2as number200 bgp100undosynchronizationpeer150 1 1 1as number100 Router2 displaybgp NetworkNextHopMetricLocPrfPathi6 6 0 0 1612 110 150 2100200i peer150 1 1 2next hop local Router2 displaybgp NetworkNextHopMetricLocPrfPathi6 6 0 0 16150 1 1 1100200i 本地优先属性 本地优先属性就是帮助AS区域内部路由器选择到AS区域外部使用较好的出口 即选择本地优先级较高的出口 本地优先属性 AS400 AS100 AS300 AS200 RTA RTB RTC RTD RTE RTF D 18 0 0 0 8 30 0 0 1 30 0 0 2 20 0 0 1 20 0 0 2 D local pref1100 D local pref2200 D local pref1100 D local pref2200RTA就会优先选择本地优先级高的local pref2 本地优先属性 当一个运行BGP的路由器通过不同邻居得到了目的地相同 下一跳不同的多条路由时 将选取本地优先级最高的一条路由作为到达目的地的路由 可用配置不同本地优先级的方法来影响BGP的路由选择 需要注意的是 配置本地优先级值仅仅会影响离开该AS的业务量 不影响进入该AS的业务量 补充 MED Multi Exit DISC 属性 MED Multi Exit DISC 属性是用于向外部邻居路由器指示进入某个具有多个入口的AS的优先路径 选择一个较好的入口 即选择MED较小的入口 MED Multi Exit DISC 属性 D 18 0 0 0 8 RTA RTB RTC 30 0 0 1 30 0 0 2 20 0 0 1 20 0 0 2 AS100 AS200 D metric110D metric220 D metric110 D metric220 RTA会选择metric值较小的metric1 IBGP MED Multi Exit DISC 属性 多出口区分MED Multi ExitDiscriminators 属性是一个可选非过渡属性 类型码4 它是在自治系统之间交换路由外部度量 自治系统使用本地优先级属性 LocalPreference 来进行出自治系统路由的选择 而MED属性用于判断进入该自治系统的最佳路由 当一个运行BGP的自治系统得到目的地址相同 下一跳不同的多条路由时 在其它条件相同的情况下 MED值较小的路由将被优先选作进入该自治系统的外部路由 补充 团体 Community 属性 团体是一组有相同性质的目的地的路由 一个团体不限于一个网络或一个自治系统 它没有物理边界 公认的团体 no export不通告给联盟 AS外的BGP相邻体no advertise不通告给任何BGP相邻体local AS不通告给EBGP相邻体Internet通告给所有其他路由器 BGP路由选择过程 综合起来 本地BGP路由选择的过程为 1 如果此路由的下一跳不可达 忽略此路由 2 选择本地优先级较大的路由 3 选择本地路由器始发的路由 本地优先级相同 4 选择AS路径较短的路由 5 依次选择起点类型为IGP EGP Incomplete类型的路由 6 选择MED较小的路由 7 选择RouterID较小的路由 课程内容 BGP路由协议的原理BGP路由属性配置BGP路由协议处理大规模网络中BGP的应用 BGP基本配置 启动BGP Quidway bgpas number配置BGP邻居 Quidway bgp peerpeer addressas numberas numberBGP路由注入networkip address maskmask import routeprotocol medmed 启动BGP 配置 删除指定对等体的AS号 指定BGP发送网络 BGP基本配置举例 EBGP EBGP RTB RTC IBGP RTA RTD RTE RTF S0 1 1 1 2 24 E0 10 1 1 1 24 S0 1 1 1 1 24 S1 2 1 1 2 24 S0 2 1 1 1 24 AS100 AS200 AS300 配置BGP参数 配置同伴的BGP版本号 Quidway bgp peerpeer addressversionversion number配置BGP定时器 Quidway bgp timerskeepalive intervalholdtime interval配置同伴发送update报文的时间间隔 Quidway bgp peerpeer addressroute update intervalseconds 配置 删除对等体的BGP版本号 设置 取消指定对等体的keepalive时间间隔与保持定时器 设置对等体发送路由更新报文的时间间隔 配置BGP路由策略 配置对等体的前缀过滤器 Quidway bgp peer group name peer address filter policyacl number import export 配置对等体的AS Path过滤器 Quidway bgp peerpeer addressaclaspath list number import export 配置对等体的路由映射peerpeer addressroute policypolicy name import export 路由过滤 基于ACL RTA Quidway acl1 Quidway acl 1 ruledeny18 0 0 00 255 255 255 Quidway acl 1 rulepermit0 0 0 0255 255 255 255 RTA bgp peer10 0 0 1filter policy1export 30 0 0 1 30 0 0 2 10 0 0 2 10 0 0 1 20 0 0 1 20 0 0 2 18 0 0 0 8 AS200 RTA AS100 RTD RTB RTC 18 0 0 0 8 18 0 0 0 8 19 0 0 0 8 AS300 要求RTA不转发来自AS200的路由 18 0 0 0 8 给AS100 路由过滤 基于AS Path RTA RTA ipas pathacl1permit RTA bgp peer10 0 0 1acl1exportRTD RTD ipas pathacl1permit b100 RTD bgp peer20 0 0 2acl1import 30 0 0 1 30 0 0 2 10 0 0 2 10 0 0 1 20 0 0 1 20 0 0 2 AS200 RTA AS100 RTD RTB RTC 仅发送本AS的路由 仅接受从AS100始发的路由 AS300 要求RTA不转发来自AS200的路由给AS100而只发送AS300内部产生的路由 要求RTD仅接受从AS100始发的路由 拒绝从AS300始发的路由 补充 正则表达式的特殊字符表 路由过滤 基于RoutePolicy 1 1 1 1 1 1 1 2 RTA RTC AS200 AS100 18 0 0 0 8 19 0 0 0 8 OSPF RTB 不允许RTB向AS外通告路由18 0 0 0 8 且所有通告出去的路由的metric值必须为888 RTB bgp peer1 1 1 2route policydeny18export RTB route policydeny18permit10 RTB route policy if matchipaddress1 RTB route policy applycost888 RTB acl1 RTB acl 1 ruledeny18 0 0 00 255 255 255 RTB acl 1 rulepermitany 一个BGP路由器对路由的处理过程 从对等体接受路由 输入策略机 发送路由给对等体 决策过程 加入路由表 输出策略机 根据属性过滤和设置属性 路由聚合 合并具体路由 路由表 输入策略机 IGP路由 BGP路由 安装路由 选择最佳路由 查看BGP信息 显示BGP路由信息Displaybgp Quidway bgp disbgpBGPlocalrouterIDis1 1 1 1Statuscodes ssuppressed ddamped hhistory valid best iinternalOrigincodes i IGP e EGP incompleteNetworkNextHopMetricLocPrfPath 1 1 1 1 320 0 0 0 2 2 2 2 3210 0 0 2100 10 0 0 0 240 0 0 0 10 0 0 2100 10 0 0 1 3210 0 0 2100 10 0 0 2 320 0 0 0 查看BGP信息 显示BGP路由信息 Quidway displaybgpsummary NeighborVASMsgRcvdMsgSentOutQUp DownState160 1 48 24100411000 03 38Established150 1 8 1420000000 00 09Active BGP调试命令 all表示所有的BGP调试开关event表示BGP事件调试信息开关keepalive表示Keepalive消息调试开关open表示Open消息调试开关packet表示所有BGP消息调试开关update表示Update消息调试开关 RTA undo debuggingbgp all event keepalive open packet update receive send verbose 补充 补充 补充 课程内容 BGP路由协议的原理BGP路由属性配置BGP路由协议处理大规模网络中BGP的应用 BGP在大规模网络中遇到的问题 BGP路由表庞大BGP聚合IBGP相邻体过多 逻辑全连接不易现实BGP联盟BGP反射在复杂网络环境中路由的变化过于频繁BGP衰减 BGP聚合 BGP支持路由的手动聚合 手动聚合aggregate是对BGP本地路由进行的聚合 在配置手动路由聚合的同时 还可进行一系列参数的配置 BGP聚合 只通告聚合路由 AS100 AS200 172 16 0 0 24172 16 1 0 24172 16 2 0 24 172 16 15 0 24 RTB EBGP 172 16 0 0 20 172 16 0 0 20 RTA RTA bgp aggregate172 16 0 0255 255 240 0detail suppressed BGP聚合 通告聚合路由和具体路由 AS100 AS200 172 16 0 0 24172 16 1 0 24172 16 2 0 24 172 16 15 0 24 RTB EBGP 172 16 0 0 20 172 16 0 0 20 RTA RTA bgp aggregate172 16 0 0255 255 240 0 RTB bgp aggregate172 16 0 0255 255 240 0 172 16 0 0 24172 16 1 0 24172 16 2 0 24 172 16 15 0 24 172 16 0 0 20 BGP反射 为了避免在AS内产生选路循环 BGP不通告内部BGP对等体通过其它IBGP对等体得知的路由 因此 在AS内保持一个完整的IBGP闭合网是很重要的 也就是说 AS中的每个BGP路由器必须与AS中所有其它路由器建立BGP对话 这样在某些网络中 由于内部BGP网络非常大 每个路由器有多于100个的内部对话 建立全闭合网开销也很大 这就要求使用新的对等技术 这种技术需要把一个内部BGPpeer配置成为路由反射器 其他内部peers就不必要全网状相连 只需要和路由反射器建立IBGP会话 仅通过路由反射器学习路由即可 BGP反射 路由反射器可如下图所示 RouterA从EBGP对等体收到一个更新并把它传递到RouterB RouterB被配置成路由反射器 它有两个客户机 RouterA和RouterC RouterB将把更新从客户机RouterA反射给客户机RouterC 在这种情况下 不需要建立RouterA和RouterC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论