《(本科)第5章 外部路由技术ppt课件.pptx》由会员分享,可在线阅读,更多相关《(本科)第5章 外部路由技术ppt课件.pptx(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、课程主讲人:第5章 外部路由技术第 5 章 外部路由技术计算机网络工程实践 课件桂学勤 主要内容5.1 BGP协议基础5.2 BGP工作原理5.3 BGP反射器5.4 BGP联盟5.5 BGP配置5.6 BGP配置示例5.1 BGP协议基础边界网关协议BGP是一种实现自治系统AS(Autonomous System)之间的路由可达,并选择最佳路由的距离矢量路由协议。早期发布的三个版本分别是BGP-1(RFC1105)、BGP-2(RFC1163)和BGP-3(RFC1267),1994年开始使用BGP-4(RFC1771),2006年之后单播IPv4网络使用的版本是BGP-4(RFC4271)
2、。BGP路由器之间的数据传输使用了TCP协议,端口号为179,并且指的是会话的目标端口号为179,而会话源端口号是随机的。5.1.1 自治系统AS自治系统AS:是指在一个实体管辖下的拥有相同选路策略的IP网络。BGP网络中的每个AS都被分配一个唯一的AS号,用于区分不同的AS。AS号分为2字节AS号和4字节AS号,支持4字节AS号的设备能够与支持2字节AS号的设备兼容。在2009年1月之前,只能使用最多2字节长度的AS号码,即1-65535,在2009年1月之后,IANA决定使用4字节长度AS,范围是65536 -4294967295。当前,通常还是使用2字节长度的AS,也就是1-65535。
3、AS号码划分为公有AS和私有AS,公有AS的范围是1-64511,私有AS范围是64512-65534;公有AS只能用于互联网,并且全球唯一,不可重复,而私有AS可以在得不到合法AS的企业网络使用,可以重复。5.1.2 BGP分类BGP按照运行方式分为外部BGP(External BGP,EBGP)和内部BGP(Internal BGP,IBGP)。(1)EBGP:运行于不同AS之间的BGP称为EBGP。为了防止AS间产生环路,当BGP设备接收EBGP对等体发送的路由时,会将带有本地AS号的路由丢弃。(2)IBGP:运行于同一AS内部的BGP称为IBGP。为了防止AS内产生环路,BGP设备不将
4、从IBGP对等体学到的路由通告给其他IBGP对等体,并与所有IBGP对等体建立全连接。为了解决IBGP对等体的连接数量太多的问题,BGP设计了路由反射器和BGP联盟。5.1.3 BGP报文交互中设备角色BGP报文交互中分为BGP发言者(BGP Speaker)和对等体(BGP Peer)两种角色。BGP发言者(BGP Speaker)发送BGP报文的设备称为BGP发言者(BGP Speaker),它接收或产生新的报文信息,并发布(Advertise)给其它BGP Speaker。BGP对等体(BGP Peer):相互交换报文的Speaker之间互称对等体(BGP Peer)。若干相关的对等体可
5、以构成对等体组(Peer Group)。根据BGP类别不同,BGP对等体(BGP Peer)分为IBGP对等体和EBGP对等体5.1.4 BGP的路由器IDBGP的Router ID是一个用于标识BGP设备的32位值,通常是IPv4地址的形式,在BGP会话建立时发送的Open报文中携带。对等体之间建立BGP会话时,每个BGP设备都必须有唯一的Router ID,否则对等体之间不能建立BGP连接。BGP的Router ID在BGP网络中必须是唯一的,可以采用手工配置,也可以让设备自动选取。缺省情况下,BGP选择设备上的Loopback接口的IPv4地址作为BGP的Router ID。5.1.5
6、BGP的报文类型BGP对等体间通过以下5种报文进行交互。Keepalive报文:用于保持BGP连接。Open报文:用于建立BGP对等体连接。Update报文:用于在对等体之间交换路由信息。Notification报文:用于中断BGP连接。Route-refresh报文:用于在改变路由策略后请求对等体重新发送路由信息。只有支持路由刷新(Route-refresh)能力的BGP设备会发送和响应此报文。前四种消息是在RFC4271中定义,而Route-refresh消息则是在RFC2918中定义。5.1.6 BGP属性分类及常用属性1. BGP属性分类公认必遵(Well-known mandator
7、y):所有BGP设备都可以识别此类属性,且必须存在于Update报文中。如果缺少这类属性,路由信息就会出错。公认任意(Well-known discretionary):所有BGP设备都可以识别此类属性,但不要求必须存在于Update报文中,即就算缺少这类属性,路由信息也不会出错。可选过渡(Optional transitive):BGP设备可以不识别此类属性,如果BGP设备不识别此类属性,但它仍然会接收这类属性,并通告给其他对等体。可选非过渡(Optional non-transitive):BGP设备可以不识别此类属性,如果BGP设备不识别此类属性,则会被忽略该属性,且不会通告给其他对等体
8、。 BGP属性分类及常用属性(续)2. BGP常见属性5.2 BGP工作原理配置了BGP进程的路由器只能称为BGP发言者,当和其它运行了BGP的路由器相互交换信息,就被称为BGP对等体。BGP路由器在和其它BGP路由器建立对等体时,如果对方路由器和自己属于相同AS,则对等体关系为IBGP对等体,如果属于不同AS,则对等体关系为EBGP对等体。BGP要求EBGP对等体必须直连,而IBGP对等体不一定要求物理直连,但一定要TCP可达。BGP对等体形成邻接关系,最开始会交换所有路由信息,路由信息达到一致之后采用增量更新,也就是只有在路由有变化时才更新,并且只更新有变化的路由。BGP建立对等体邻接关系
9、后,相互发送Keepalive数据包来维持对等体关系,默认每60秒发送一次,邻接关系保持时间hold timer为180秒。5.2.1 BGP对等体交互过程BGP对等体的交互过程中存在6种状态机:空闲(Idle)、连接(Connect)、活跃(Active)、Open报文已发送(OpenSent)、Open报文已确认(OpenConfirm)和连接已建立(Established)。在BGP对等体建立的过程中,通常可见的3个状态是:Idle、Active和Established。5.2.2 BGP路由选优原则在BGP路由表中,到达同一目的地可能存在多条路由。此时BGP会选择其中一条路由作为最佳路
10、由,并只把此路由发送给其对等体。当到达同一目的地存在多条路由时,BGP依下列属性来选择路由:5.2.3 BGP对等体交互原则BGP设备将最优路由加入BGP路由表,形成BGP路由。BGP设备与对等体建立邻居关系后,采取以下交互原则。5.2.4 BGP对等体交互环路避免BGP路由协议属于距离向量协议,会产生路由环路。5.2.5 BGP同步与路由黑洞BGP同步是指IBGP协议和IGP协议之间的路由同步。目的是为了防止在某些情况下“路由黑洞”的出现。华为路由器默认关闭BGP同步。BGP启动同步功能,BGP发言者在接收到IBGP邻居发布的路由时,会查看该路由是否已经在IGP路由表中,只有当IGP路由表中
11、有这条路由时,BGP路由表才会将这条路由置为有效并发布。所谓路由黑洞,是指由于中转路由域不存在转发数据需要的路由信息而导致数据包在中转域丢失的现象。开启BGP同步可以避免路由黑洞的情况发生。5.2.6 BGP路由衰减在大规模的BGP网络中,部署BGP不仅会遇到IBGP全连接的问题,还会遇到网络中BGP路由不稳定问题。路由不稳定的主要表现形式是路由振荡(Route Flaps),即路由表中的某条路由反复消失和重新。对于BGP路由不稳定的问题,可以通过配置BGP路由衰减(Route Dampening)来抑制不稳地路由。5.3 BGP路由反射器为了解决BGP路由环路问题和路由黑洞问题,最好方式是通
12、过在AS内部建立全连接的IBGP连接。随着网络规模的扩大,AS内部路由器越来越多,要保证AS内部全连接,IBGP连接将会大量增加。为保证IBGP对等体之间的连通性,需要在IBGP对等体之间建立全连接关系。假设在一个AS内部有n台设备,那么建立的IBGP连接数就为n(n-1)/2。当设备数目很多时,设备配置将十分复杂,而且配置后网络资源和CPU资源的消耗都很大。为解决这个问题,可以采取BGP路由器反射技术和BGP联盟技术来减少IBGP连接,实现IBGP的连通性问题。5.3.1路由反射器相关角色路由反射器RR(Route Reflector)客户机(Client)非客户机(Non-Client)始
13、发者(Originator)集群(Cluster)5.3.2 路由反射器原理路由反射器RR在它的客户机和非客户机之间传递路由的规则如下:路由反射器RR突破了“从IBGP对等体获得的BGP路由,BGP设备只发布给它的EBGP对等体”的限制,为了防止AS内部的路由环路,路由反射器使用了Originator_ID和Cluster_LIST两个属性防止路由环路。5.3.3备份路由反射器为增加网络可靠性,防止单点故障,有时需要在一个集群中配置一个以上的RR,形成备份路由反射器。RR打破了从IBGP对等体收到的路由不能传递给其他IBGP对等体的限制,所以同一集群内RR之间中可能存在环路。该集群中的所有RR
14、必须使用相同的Cluster ID,以避免RR之间的路由环路。5.3.4多集群路由反射器一个AS中可以存在多个集群(Cluster),各个集群的RR之间建立IBGP对等体。当RR所处的网络层不同时,可以将较低网络层次的RR配成客户机,形成分级RR。当RR所处的网络层相同时,可以将不同集群的RR全连接,形成同级RR。5.4 BGP联盟联盟将一个自治系统AS划分为若干个子自治系统AS。每个子自治系统AS内部建立IBGP全连接关系,子自治系统AS之间建立联盟EBGP连接关系,但联盟外部自治系统AS仍认为联盟是一个自治系统AS。联盟内各个子自治系统的AS号使用私有AS号,范围为6451265535,该
15、AS号仅在联盟内可见。一个联盟最多可包含32个子自治系统。联盟改变了标准的AS内部结构,BGP通过扩展AS_PATH属性来避免在联盟内部出现环路。对于M E D 、 N E X T _ H O P 、LOCAL_PREF属性的处理也与标准的BGP不同。BGP联盟(续)需要注意的是,联盟AS内仍然需要保证IGP的连通性,才能保证数据包的正确转发。由于整个联盟都被外界视为一个自治系统,因此在联盟内部应遵守以下规则:(1)联盟外部路由的NEXT-HOP在整个联盟中都是被保留的。(2)被宣告到联盟之内的路由的MED属性在整个联盟中都被保留。(3)路由的LOCAL_PREF属性在整个联盟中都被保留,而不
16、仅仅是在为它们赋值的成员AS之内。(4)在联盟内部需要将成员AS的AS号加入到AS_PATH列表中,但这些AS号不能被宣告到联盟之外。(5)AS_PATH中的联盟AS号用于实现环路避免功能,但是在联盟内部进行BGP路由选路过程中,选择最短AS_PATH时,不考虑这些联盟AS号。5.5 BGP路由配置5.5.1 BGP基本功能配置5.5.2 BGP路由选路配置5.5.3 BGP反射器配置5.5.4 BGP联盟配置5.5.1 BGP基本功能配置BGP基本功能配置包括创建BGP进程,配置BGP对等体,配置BGP对等体组,配置BGP引入路由等。1. 创建BGP进程bgp as-number-plain
17、 | as-number-dot 2. 配置BGP对等体peer ipv4-address as-number 3. 配置BGP协议Network方式的路由引入network ipv4-address mask |mask-length 5.5.2 BGP路由选路配置BGP具有很多路由属性,这些属性包括BGP的Preference、Next_Hop、PrefVal、Local_Pref、As_Path、MED、Community等1. 路由优先级配置:preference external internal local2. Next_Hop属性配置 peer ipv4-address next
18、-hop-local协议首选值属性配置:peer ipv4-address preferred-value value Local_Pref属性设置:default local-preference local-preference MED属性配置:default med medAS_Path属性配置:对路由AS_Path的配置,一般利用路由策略进行配置;apply as-path as-number-plain & Community属性配置:对路由Community属性的配置,一般利用路由策略进行配置BGP路由选路配置(续)8.BGP选路相关配置(1)BGP忽略下一跳IGP路由度量值配置b
19、estroute igp-metric-ignore命令(2)BGP负载分担配置maximum load-balancing ebgp| ibgp number5.5.3 BGP反射器配置在自治系统AS内部,当IBGP对等体数目很多时,建立全连接网络的开销很大。可以使用路由反射器RR(Route Reflector)。在一个自治系统AS内,RR主要有路由传递和流量转发两个作用。在BGP视图下,执行命令ipv4-family unicast,进入IPv4地址族视图。通过以下命令可以进行BGP反射器配置。执行命令peer group-name | ipv4-address reflect-clie
20、nt,配置路由反射器及其客户。缺省情况下,BGP未配置路由反射器及其客户。在路由反射器上执行命令reflector cluster-id cluster-id,配置路由反射器的集群ID。缺省情况下,每个路由反射器使用自己的Router ID作为集群ID。执行命令undo reflect between-clients,禁止客户机之间的路由反射。缺省情况下,客户机之间的路由反射是允许的。5.5.4 BGP联盟配置BGP联盟将一个自治系统划分为若干个子自治系统,每个子自治系统内部的IBGP对等体建立全连接关系或者配置反射器,子自治系统之间建立EBGP连接关系。执行命令bgp as-number-p
21、lain | as-number-dot ,启动BGP,进入BGP视图。在BGP视图下,执行命令confederation id as-number-plain | as-number-dot ,配置联盟ID。执行命令confederation peer-as as-number-plain | as-number-dot &,指定属于同一个联盟的子AS号。缺省情况下,联盟中未配置子自治系统号。5.6 BGP路由配置示例BGP路由协议配置示例采用与IS-IS协议配置、OSPF协议配置和RIP协议配置章节相同的拓扑图,如下图所示,AR8AR10组成AS100自治系统,AR6AR7做成AS300自
22、治系统,AR1AR2AR3AR4AR5AR9组成AS200自治系统。配置要求(1)自治系统AS100AS300,采用全连接方式配置BGP路由协议。(2)自治系统AS200,采用BGP联盟配置,联盟内自治系统包括AS65000、AS65001、AS65002,帧中继网络自治系统号为65000,采用路由反射器配置,AR3作为路由反射器(RR),AR1AR2作为客户端,要求配置cluster-id属性。(3)AS100中AR8AR10之间采用loopback0接口地址建立内部对等体,其他对等体采用直连接口地址建立对等体。(4)通过BGP路由配置,是整个网络互联网互通。具体配置(参考教材)1. BGP对等体配置2. BGP联盟配置3. 路由反射器配置4BGP路由引入5.BGP路由表信息分析(1)BGP路由表信息说明(2)路由表中存在问题分析6. BGP中Next_Hop属性配置(1)Next_Hop属性取值(2)问题分析与解决谢谢!