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页未读 继续免费阅读

下载本文档

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

文档简介

D041 BGP协议原理及配置,学习目标,叙述BGP路由协议的原理 配置BGP路由协议 调试和维护BGP协议 处理大规模网络中BGP的应用,学习完本课程,您应该能够:,课程内容,BGP路由协议的原理 BGP路由属性 配置BGP路由协议 处理大规模网络中BGP的应用,BGP 简介,BGP(Border Gateway Protocol)是一种自治系统间的动态路由发现协议,它的基本功能是在自治系统间自动交换无环路的路由信息,通过交换带有自治系统(AS)序列属性的路径可达信息,来构造自治系统的拓扑图,从而消除路由环路并实施用户配置的策略。BGP 协议经常用于ISP 之间 BGP协议从1989 年就开始使用。它最早发布的三个版本分别是RFC1105(BGP-1)、RFC1163(BGP-2)和RFC1267(BGP-3),当前使用的是RFC1771(BGP- 4)。它适用于分布式结构并支持无类域间路由CIDR(Classless InterDomain Routing),BGP协议概述,BGP是外部路由协议,用来在AS之间传递路由信息 是一种距离矢量的路由协议,从设计上避免了环路的发生 为路由附带属性信息 传送协议:TCP,端口号179 支持CIDR(无类别域间选路) 路由更新:只发送增量路由 丰富的路由过滤和路由策略,特性描述,BGP 是一种外部路由协议,与OSPF、RIP 等的内部路由协议不同,其着眼点不在于发现和计算路由,而在于控制路由的传播和选择最好的路通过携带AS 路径信息,可以彻底解决路由环路问题。 使用TCP 作为其传输层协议,提高了协议的可靠性。 BGP-4 支持无类域间路由CIDR(Classless InterDomain Routing)。这是较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(Autonomous System) :由同一个技术管理机构管理,使用统一选路策略的一些路由器的集合,每个自治系统都有唯一的自治系统编号,这个编号由因特网授权的管理机构分配的。 自治系统的编号范围是1到65535,其中1到65411只注册的因特网编号,65412到65535是专用网络编号。,BGP工作机制,发送BGP 消息的路由器称为BGP 发言人(Speaker),它不断的接收或产 生新路由信息,并将它广告(Advertise)给其它的BGP 发言人。当BGP 发 言人收到来自其它自治系统的新路由广告时,如果该路由比当前已知路由好、 或者当前还没有可接受路由,它就把这个路由广告给自治系统内所有其它的 BGP 发言人。一个BGP 发言人也将同它交换消息的其它的BGP 发言人称为 对等体(peer),若干相关的对等体可以构成对等体组(group),BGP两种邻居IBGP和EBGP,BGP 在路由器上以下列两种方式运行: IBGP(Internal BGP) EBGP(External BGP) 当BGP 运行于同一自治系统(AS)内部时,称为IBGP;当BGP 运行于不同自治系统之间时,称为EBGP 提示:一般要求EBGP对等体之间是有物理上的直接连接而IBGP对等体之间不一定有物理上的直接连接,但必须保证逻辑上全连接(TCP连接能够建立即可),BGP两种邻居IBGP和EBGP,EBGP,EBGP,RTB,RTC,IBGP,RTA,RTD,RTE,BGP路由通告原则,多条路径时,BGP Speaker只选最优的给自己使用 BGP Speaker只把自己使用的路由通告给相邻体 BGP Speaker从EBGP获得的路由会向它所有BGP相邻体通告(包括EBGP和IBGP) BGP Speaker从IBGP获得的路由不向它的IBGP相邻体通告 BGP Speaker 从IBGP获得的路由是否通告给它的EBGP相邻体要依IGP和BGP同步的情况来决定 连接一建立,BGP Speaker将把自己所有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 路由表交换路由信息,之后为了更新路由表只交换更新消息(Update Message)。系统在运行过程中,是通过接收和发送Keepalive Message 消息来检测相互之间的连接是否正常的。,BGP报文头,BGP报文的格式是一样的: 都是“报文头+报文体”的格式, 下面给出的是BGP报文头:,Open报文,Open报文是由报文头加如下结构构成的。,KeepAlive报文,KeepAlive报文只有报文头。,Update报文,Update报文由报文头加如下结构构成。,Notification报文,Notification报文由报文头加如下结构构成。,BGP协议的状态机,Active,Open-sent,Open-confirm,Established,Idle,Connect,Connect-Retry timer expiry,TCP connection fails,Connect-Retry timer expiry,Start,Others,TCP connection fails,Error,Error,Error,KeepAlive timer expiry,KeepAlive packet received,1. KeepAlive timer expiry 2. Update received 3. KeepAlive received,Correct OPEN packet received,TCP connection setup,TCP connection setup,Others,BGP协议中消息的应用,通过TCP建立BGP连接时,发送open消息 连接建立后,如果有路由需要发送或路由变化时,发送UPDATE消息通告对端路由信息 稳定后此时要定时发送KEEPALIVE消息以保持BGP连接的有效性 当本地BGP在运行中发现错误时,要发送NOTIFICATION消息通告BGP对端,课程内容,BGP路由协议的原理 BGP路由属性 配置BGP路由协议 处理大规模网络中BGP的应用,BGP的路由属性,表达了路由的特征 过渡和非过渡的 必遵和可选的 便于扩展 截至目前共16种属性,常见BGP路由属性,1、Origin 2、AS-Path 3、Next hop 4、MED 5、Local-Preference 6、Atomic-Aggregate 7、Aggregator 8、Community,9、Originator-ID 10、Cluster-List 11、Destination Pref (MCI) 12、Advertiser (Baynet) 13、Rcid-Path (Baynet) 14、MP_Reach_NLRI 15、MP_Unreach_NLRI 16、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,dl 400 300 200,D,d2 500 200,D,d1 400 300 200 D,d2 500 200,下一跳要点,(1)BGP在向IBGP通告从其它EBGP得到的路由时,不改变路由的下一跳属性,本地BGP将从EBGP得到的路由的下一跳属性直接传递给IBGP (2) BGP在向EBGP通告路由时,下一跳属性是本地BGP与对端连接的端口地址 (3)对于可以多路访问的网络(例如:以太网或FR),下一跳是连接目的网络的路由器的多路访问的接口,下一跳(Next Hop)属性,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上使用display bgp发现学到的路由为无效路由,BGP典型案例,故障现象: 在Router2上无法ping通Router3上的6.6.0.0/16网段 Router2上的BGP路由表中6.6.0.0/16网段为无效路由,EBGP peer,IBGP peer,Physical connection (EGP),Physical connection (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配置为: bgp 100 undo synchronization peer 150.1.1.2 as-number 100 peer 150.1.1.2 next-hop-local peer 12.110.150.2 as-number 200,解决问题,bgp 200 undo synchronization network 6.6.0.0 mask 255.255.0.0 peer 12.110.150.1 as-number 100,bgp 100 undo synchronization peer 150.1.1.2 as-number 100 peer 12.110.150.2 as-number 200,bgp 100 undo synchronization peer 150.1.1.1 as-number 100,Router2display bgp Network Next Hop Metric LocPrf Path i 6.6.0.0/16 12.110.150.2 100 200 i,peer 150.1.1.2 next-hop-local,Router2display bgp Network Next Hop Metric LocPrf Path i 6.6.0.0/16 150.1.1.1 100 200 i,本地优先属性,本地优先属性就是帮助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-pref1 100,D,local-pref2 200,D,local-pref1 100 D,local-pref2 200 RTA就会优先选择本地 优先级高的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,metric1 10 D,metric2 20,D,metric1 10,D,metric2 20,RTA会选择metric值较小 的metric1,IBGP,MED(Multi-Exit-DISC)属性,多出口区分MED(Multi-Exit Discriminators)属性是一个可选非过渡属性(类型码4),它是在自治系统之间交换路由外部度量。自治系统使用本地优先级属性(Local Preference)来进行出自治系统路由的选择;而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 bgp as-number 配置BGP邻居 Quidway-bgppeer peer-address as-number as-number BGP路由注入 network ip-address mask mask import-route protocol med med ,启动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-bgppeer peer-address version version-number 配置BGP定时器 Quidway-bgptimers keepalive-interval holdtime-interval 配置同伴发送update报文的时间间隔 Quidway-bgppeer peer-address route-update-interval seconds,配置/删除对等体的BGP 版本号,设置/取消指定对等体的 keepalive 时间间隔与保持定时器,设置对等体发送路由更新报文的时间间隔,配置BGP路由策略,配置对等体的前缀过滤器 Quidway-bgppeer group-name | peer-address filter-policy acl-number import | export 配置对等体的AS-Path过滤器 Quidway-bgppeer peer-address acl aspath-list-number import | export 配置对等体的路由映射 peer peer-address route-policy policy-name import | export ,路由过滤基于ACL,RTA: Quidway acl 1 Quidway-acl-1 rule deny 18.0.0.0 0.255.255.255 Quidway-acl-1 rule permit 0.0.0.0 255.255.255.255 RTA-bgppeer 10.0.0.1 filter-policy 1 export,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 ip as-path acl 1 permit $ RTA-bgp peer 10.0.0.1 acl 1 export RTD: RTD ip as-path acl 1 permit b100$ RTD-bgppeer 20.0.0.2 acl 1 import,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 始发的路由,补充:正则表达式的特殊字符表,路由过滤基于Route Policy,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 peer 1.1.1.2 route-policy deny18 export RTBroute-policy deny18 permit 10 RTB-route-policy if-match ip address 1 RTB-route-policy apply cost 888 RTBacl 1 RTB-acl-1 rule deny 18.0.0.0 0.255.255.255 RTB-acl-1 rule permit any,一个BGP路由器对路由的处理过程,从对等体 接受路由,输入 策略机,发送路由 给对等体,决策 过程,加入 路由表,输出 策略机,根据属性 过滤和设 置属性,路由 聚合,合并 具体 路由,路由表,输入 策略机,IGP路由,BGP 路由,安装 路由,选择 最佳 路由,查看BGP信息,显示BGP路由信息 Display bgp,Quidway-bgpdis bgp BGP local router ID is 1.1.1.1 Status codes: s suppressed, d damped, h history, * valid, best, i internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Path * 1.1.1.1/32 0.0.0.0 ? * 2.2.2.2/32 10.0.0.2 100 ? * 10.0.0.0/24 0.0.0.0 ? * 10.0.0.2 100 ? * 10.0.0.1/32 10.0.0.2 100 ? * 10.0.0.2/32 0.0.0.0 ?,查看BGP信息,显示BGP路由信息 Quidwaydisplay bgp summary,Neighbor V AS MsgRcvd MsgSent OutQ Up/Down State 160.1.48.2 4 100 4 11 0 00:03:38 Established 150.1.8.1 4 200 0 0 0 00:00:09 Active,BGP调试命令,all 表示所有的BGP调试开关 event 表示BGP事件调试信息开关 keepalive 表示Keepalive消息调试开关 open 表示Open消息调试开关 packet 表示所有BGP消息调试开关 update 表示Update消息调试开关,RTAundo debugging bgp 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/24 172.16.1.0/24 172.16.2.0/24 172.16.15.0/24,RTB,EBGP,172.16.0.0/20,172.16.0.0/20,RTA,RTA-bgp aggregate 172.16.0.0 255.255.240.0 detail-suppressed,BGP聚合通告聚合路由和具体路由,AS100,AS200,172.16.0.0/24 172.16.1.0/24 172.16.2.0/24 172.16.15.0/24,RTB,EBGP,172.16.0.0/20,172.16.0.0/20,RTA,RTA-bgp aggregate 172.16.0.0 255.255.240.0 RTB-bgp aggregate 172.16.0.0 255.255.240.0,172.16.0.0/24 172.16.1.0/24 172.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个的内部对话),建立全闭合网开销也很大。这就要求使用新的对等技术。这种技术需要把一个内部BGP peer 配置成为路由反射器,其他内部peers就不必要全网状相连,只需要和路由反射器建立IBGP 会话,仅通过路由反射器学习路由即可,BGP反射,路由反射器可如下图所示:Router A 从EBGP 对等体收到一个更新并把它传递到Router B。Router B 被配置成路由反射器,它有两个客户机:Router A和Router C。Router B 将把更新从客户机Router A 反射给客户机Router C。在这

温馨提示

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

评论

0/150

提交评论