【交换机在江湖】论剑BGP2--初练神功(二)
- 格式:docx
- 大小:324.48 KB
- 文档页数:6
上期问题:BGP联盟中,AS_PATH属性有以下2个规则:1)在联盟内部需要将成员AS的AS号加入到AS_PATH列表中,但这些AS号不能被宣告到联盟之外。
在默认情况下,成员AS号被列在AS_PATH中作为AS_PATH属性类型4,即AS_CONFED_SEQUENCE。
如果在联盟中使用了手动聚合命令(aggregate)并配置了关键字as_set,那么位于聚合点之后的成员AS号将被列在AS_PATH中作为AS_PATH属性类型3,即AS_CONFED_SET。
2)AS_PATH中的联盟AS号用于实现环路避免功能,但是在联盟内部进行BGP路由选路过程中,选择最短AS_PATH时,不考虑这些联盟AS号。
联盟内部AS号不能宣告到联盟之外,并且在选路中也不考虑这些AS号的长短,那么这些AS号应该如何记录呢?要弄清楚这个问题,我们来介绍一下4种类型的AS_PATH属性:1:AS_SET,一个无序的AS号列表。
2:AS_SEQENCE,一个有序的AS号列表。
3:AS_CONFED_SET,BGP联盟中特有的AS_PATH类型,类似AS_SET,其列表中含有的AS号均属于BGP联盟中的AS号。
4:AS_CONFED_SEQUENCE,BGP联盟中特有AS_PATH类型,类似AS_SEQENCE,其列表中含有的AS号均属于BGP联盟中的AS号。
大部分小伙伴是不是已经被绕晕了?没事,我们通过一个例子来说明一下,如下图:我们按照上图配置好BGP对等体之后,在R1上将两条Loopback接口的直连路由引入BGP,在R4上通过命令display bgp routing-table可以发现:172.16.1.0/24和72.16.2.0/24这两条路由已经被进入BGP路由表,并发送到R4。
两条路由的AS_PATH均为“3 2 1”。
这里,R4知道,要到达这两个目的地,需要经过AS3、AS2再经过AS1才能到达。
所以这里就是有序的AS_PATH,也就是这里的AS_PATH类型是AS_SEQENCE。
BGP路由协议讲解BGP(Border Gateway Protocol)是一种边界网关协议,用于在互联网中交换路由信息。
BGP是一种路径矢量协议,其目标是使自治系统(AS)之间的路由选择更加灵活和可靠。
本文将从BGP的背景、特点、工作原理、路由选择算法等方面进行详细讲解。
一、BGP的背景在互联网中,不同的自治系统之间需要相互交换路由信息,以实现跨网络的通信。
而为了确保网络的稳定和可扩展性,需要一个可靠且灵活的路由选择协议。
BGP应运而生,成为互联网中最常用的路由协议之一二、BGP的特点1.可靠性:BGP通过使用路由可达性信息(RFD)来确保网络的可靠性。
它可以检测并通告最优的路径,以保证数据的正常传输。
2.灵活性:BGP允许管理员根据实际需求进行路由策略的配置和调整。
它可以根据权重、AS路径长度、自治系统内部度量等因素进行灵活的路由选择。
3.可扩展性:BGP具有较好的可扩展性,可以支持大规模的网络环境。
它可以将路由信息进行聚合和汇总,减少路由表的大小,提高路由表的查询和更新效率。
三、BGP的工作原理1.BGP会话的建立:BGP通过TCP协议建立会话,使用TCP的可靠传输特性进行可靠的路由信息交换。
2.路由信息的传递:BGP通过UPDATE消息来传递路由信息,包括可达网络的前缀、下一跳的IP地址、AS路径等。
BGP通过交换UPDATE消息来更新路由表,以实现最优的路径选择。
3.路由信息的选择:BGP使用路径矢量算法来选择最优的路由。
它会考虑多个因素,如AS路径长度、自治系统内部度量、路由策略等,选择出最优的路径来进行路由转发。
4.路由信息的聚合和汇总:BGP可以将相邻自治系统的路由信息进行聚合和汇总,以减少路由表的大小和维护成本,并提高路由表的查询和更新效率。
四、BGP的路由选择算法1.AS路径长度:BGP会选择AS路径长度最短的路径作为最优路径。
这是BGP最基本的路由选择准则。
2. MED(Multi-Exit Discriminator)值:MED值是用来指示到达同一网络的不同出口之间的优先级。
BGP路由协议学习指引一、引言BGP(Border Gateway Protocol)是一种用于在互联网中交换路由信息的协议。
它是一种自治系统(AS)之间的外部路由协议,用于实现不同自治系统之间的路由选择和交换。
本学习指引旨在为初学者提供BGP路由协议的基础知识和学习方法,以帮助他们理解BGP的工作原理和应用场景。
二、BGP基础知识1. BGP的定义和作用:BGP是一种基于TCP的路由协议,用于在不同自治系统之间交换路由信息。
它的作用是实现自治系统之间的路由选择和交换,确保数据包能够从源自治系统传递到目标自治系统。
2. BGP的特点:BGP具有高度可靠性、可扩展性和灵活性的特点。
它能够根据网络的拓扑结构和策略要求,实现灵活的路由选择和控制。
3. BGP的基本术语:- 路径(Path):指的是一条从源自治系统到目标自治系统的路由路径,由一系列自治系统号(AS号)组成。
- 邻居(Neighbor):指的是相互连接的两个BGP路由器之间的关系,通过建立BGP邻居关系,它们可以交换路由信息。
- 路由器(Router):指的是支持BGP协议的网络设备,用于交换和处理BGP路由信息。
- 路由表(Routing Table):指的是存储BGP路由信息的数据结构,用于实现路由选择和转发功能。
三、学习BGP的步骤1. 理解BGP的基本原理和工作机制:学习者应该首先了解BGP的基本原理和工作机制,包括BGP的报文格式、邻居建立过程、路由信息交换过程等。
可以通过阅读相关的文档、书籍和在线教程来获得这方面的知识。
2. 搭建BGP实验环境:学习者可以在实验室或虚拟环境中搭建BGP实验环境,通过配置和操作真实的BGP路由器来加深对BGP的理解。
可以使用模拟器或虚拟机软件来模拟真实的网络环境。
3. 配置BGP邻居关系:学习者应该学习如何配置BGP邻居关系,包括设置邻居的IP地址、AS号、认证等参数。
通过配置邻居关系,可以使BGP路由器之间建立起相互通信的能力。
BGP路由协议全解BGP(Border Gateway Protocol)是一种用于互联网中自治系统(AS)之间的路由协议。
它负责交换和选择路由信息,使得网络中的数据包能够按照最佳路径从源地址到目的地址传递。
BGP广泛应用于大型企业、互联网服务提供商(ISP)和互联网交换点(IXP)等环境中。
下面是BGP路由协议的全面解读。
BGP协议是一种路径矢量协议,它通过交换自治系统之间的路由信息来构建一个全球性的路由表。
BGP路由表中存储着AS号码和对应的IP前缀,以及到达该前缀的下一跳信息。
BGP协议基于TCP连接,在AS之间建立稳定的通信管道。
BGP通过TCP建立连接后,可以交换路由信息、确认连接状态、保持连接活跃以及进行路由的收敛等操作。
BGP路由协议具有以下几个特点。
首先,BGP协议是一种可靠的协议,能够确保路由信息的可靠交换。
它使用可靠的连接,对路由信息进行校验,以确保在信息交换过程中不会丢失或损坏数据。
其次,BGP协议采用增量式更新,只发送发生变化的路由信息,减少了网络流量和CPU负载。
同时,BGP协议还支持拓扑状态更改(Topology Change)通知,实现了快速的收敛。
BGP协议中的路由选择是由路由策略决定的。
路由策略可以根据不同的需求进行配置,以满足网络运营商的不同要求。
BGP协议支持多种路由选择的属性,如AS路径长度、下一跳可达性、路由器的地理位置等。
这些属性可以在路由策略中进行配置和优化,以实现最佳路径的选择。
BGP协议的工作原理如下。
首先,当两个自治系统建立BGP邻居关系后,它们会互相交换本地的路由信息。
这种交换是通过发出Update消息来实现的,每个Update消息分为多个Update段,每个Update段包含一个或多个路由信息。
当对方收到Update消息时,会根据本地的路由策略进行路由选择,并将选择的路由信息添加到自己的路由表中。
这种更新过程是持续的,当网络拓扑或路由策略发生变化时,会发送Update消息进行更新。
bgp 路由聚合命令BGP(Border Gateway Protocol)是一种重要的动态路由协议,用于在互联网中实现路由选择和信息交换。
通过聚合多个路由条目,可以有效减少路由表的规模,提高网络效率和安全性。
本文将介绍一些常用的BGP路由聚合命令,帮助网络管理员实现BGP路由表的优化和管理。
1. 网络聚合命令网络聚合命令可用于将多个连续的IP地址聚合成一个更具有代表性的路由条目,减少路由表中的重复信息。
具体命令如下:aggregate-address <network-address> <mask> [summary-only] 其中,<network-address>是需要聚合的网络地址,<mask>是网络子网掩码。
通过加上可选参数[summary-only],可以仅在聚合路由表中显示摘要信息。
2. 累积聚合命令累积聚合命令可用于将多个非连续的IP地址聚合成一个更大的路由条目,减少路由表的规模。
具体命令如下:aggregate-address <network-address> <mask> [as-set]其中,<network-address>是需要聚合的网络地址,<mask>是网络子网掩码。
通过加上可选参数[as-set],可以将聚合的路由条目标记为一个自治系统集合。
3. 长度匹配聚合命令长度匹配聚合命令可用于将路由表中长度相同的路由聚合成一个更大的路由条目。
具体命令如下:aggregate-address <network-address> <length> [summary-only]其中,<network-address>是需要聚合的网络地址,<length>是子网前缀长度。
通过加上可选参数[summary-only],可以仅在聚合路由表中显示摘要信息。
bgp试题及答案1. BGP基本概念- 什么是BGP?A. 边界网关协议(Border Gateway Protocol)B. 内部网关协议(Interior Gateway Protocol)C. 外部网关协议(Exterior Gateway Protocol)D. 动态路由协议(Dynamic Routing Protocol) - 正确答案:A2. BGP属性- BGP中用于选择最佳路径的属性有哪些?A. AS_PATHB. NEXT_HOPC. LOCAL_PREFD. 以上都是- 正确答案:D3. BGP邻居- BGP邻居建立的前提条件是什么?A. 邻居的IP地址B. 邻居的AS号C. 邻居的BGP标识符D. 以上都是- 正确答案:D4. BGP路由传播- BGP如何传播路由信息?A. 通过IGPB. 通过静态路由C. 通过BGP更新消息D. 通过BGP会话- 正确答案:C5. BGP会话状态- BGP会话状态中,表示已经建立BGP会话的状态是什么?A. ActiveB. EstablishedC. IdleD. Connect- 正确答案:B6. BGP路由反射器- BGP路由反射器的作用是什么?A. 减少路由信息的传播B. 增加路由信息的传播C. 避免路由环路D. 简化BGP网络的拓扑结构- 正确答案:D7. BGP多路径- BGP多路径协议允许一个目的网络通过多少条等价路径进行路由?A. 1B. 2C. 3D. 任意数量- 正确答案:D8. BGP社区属性- BGP社区属性用于实现哪些功能?A. 路由过滤B. 路由聚合C. 路由重分配D. 以上都是- 正确答案:D9. BGP同步规则- BGP同步规则要求什么?A. 外部路由不能在IGP中传播B. 内部路由不能在IGP中传播C. 外部路由必须在IGP中传播D. 内部路由必须在IGP中传播- 正确答案:C10. BGP路由泄露- BGP路由泄露是指什么?A. 将BGP路由信息泄露给其他BGP邻居B. 将IGP路由信息泄露给BGP邻居C. 将BGP路由信息泄露给IGP邻居D. 将IGP路由信息泄露给其他IGP邻居 - 正确答案:A。
H3CBGP配置.1.14BGP典型配置举例1.14.1BGP基本配置1.组网需求2.组网图3.配置步骤(1)配置各接口的IP地址(略)(2)配置IBGP连接为了防止端口状态不稳定引起路由震荡,本举例使用Loopback接口来创建IBGP对等体。
使用Loopback接口创建IBGP对等体时,因为Loopback接口不是两对等体实际连接的接口,所以,必须使用peer connect-interface命令将Loopback接口配置为BGP连接的源接口。
在AS 65009内部,使用OSPF协议,保证Router B到Router C的Loopback接口路由可达。
# 配置Router B。
system-view [RouterB] bgp 65009[RouterB-bgp] router-id 2.2.2.2[RouterB-bgp] peer 3.3.3.3 as-number 65009[RouterB-bgp] peer 3.3.3.3 connect-interface loopback 0 [RouterB-bgp] quit [RouterB] ospf 1[RouterB-ospf-1] area 0[RouterB-ospf-1-area-0.0.0.0] network 2.2.2.2 0.0.0.0 [RouterB-ospf-1-area-0.0.0.0] network 9.1.1.1 0.0.0.255 [RouterB-ospf-1-area-0.0.0.0] quit [RouterB-ospf-1] quit # 配置Router C。
system-view1/18. [RouterC] bgp 65009[RouterC-bgp] router-id 3.3.3.3[RouterC-bgp] peer 2.2.2.2 as-number 65009[RouterC-bgp] peer 2.2.2.2 connect-interface loopback 0 [RouterC-bgp] quit [RouterC] ospf 1[RouterC-ospf-1] area 0[RouterC-ospf-1-area-0.0.0.0] network 3.3.3.3 0.0.0.0 [RouterC-ospf-1-area-0.0.0.0] network 9.1.1.0 0.0.0.255 [RouterC-ospf-1-area-0.0.0.0] quit [RouterC-ospf-1] quit [RouterC] display bgp peerBGP local router ID : 3.3.3.3 Local AS number : 65009Total number of peers : 1 Peers in established state : 1Peer AS MsgRcvd MsgSent OutQ PrefRcv Up/Down State2.2.2.2 65009 7 10 0 0 00:06:09 Established以上显示信息表明Router B和Router C之间的IBGP连接已经建立。
BGP基本配置引入本章介绍了BGP协议的配置步骤、BGP对等体和路由信息查看以及BGP的维护调试命令。
课程目标学习完本课程,您应该能够:⏹掌握BGP路由协议的基本功能配置⏹掌握BGP同步配置⏹掌握BGP路由协议的显示维护目录⏹配置BGP协议基本功能⏹配置BGP同步⏹BGP基本配置示例⏹BGP协议的基本显示和维护启动BGP并创建BGP连接●启动BGP[Router] bgp as-number●配置Router ID[Router bgp] router id router id[Router-bgp]router-id router-id●指定BGP对等体及AS号[Router bgp] peer ip address as number as number [Router-bgp]peer ip-address as-number as-number优化BGP连接●指定建立TCP连接使用的源接口[Router-bgp] peer ip-address connect-interface interface-type interface-number●配置允许同非直接相连网络上的邻居建立EBGP连接[Router-bgp] peer ip-address ebgp-max-hop[ hop-count ]count配置BGP生成路由●将本地路由发布到BGP路由表中[Router-bgp] network ip-address [ mask | mask-length ][route policy route policy name ]length[route-policy route-policy-name●引入其它路由协议的路由[Router-bgp] import-route protocol[ process-id|all-[Router-bgp]import-route[processes] [ med med-value| route-policy route-p y]policy-name目录⏹配置BGP协议基本功能⏹配置BGP同步⏹BGP基本配置示例⏹BGP协议的基本显示和维护配置BGP 同步●BGP [Router-bgp] synchronization 启用同步特性●关闭BGP 同步特性→MSR 路由器缺省关闭[Router-bgp] undo synchronization目录⏹配置BGP协议基本功能⏹配置BGP同步⏹BGP基本配置示例⏹BGP协议的基本显示和维护BGP 基本配置示例AS 65223AS 65101AS 65223RTDLoopback 04444/32Loopback 02222/32Loopback 01111/32OSPFOSPF 10.3.3.1/30RTARTBRTC10.3.3.2/304.4.4.4/322.2.2.2/321.1.1.1/32IBGP[RTB] bgp 65223[RTB-bgp]router-id 2.2.2.2[RTB-bgp]peer 10.3.3.1 as-number 65101[RTB-bgp]peer 4.4.4.4 as-number 65223[RTB-bgp]peer 4.4.4.4 connect-interface LoopBack 0[RTB-bgp]import-route ospf 1[RTB-ospf-1]import-route bgp[RTA] bgp 65101[RTA b ]t id 1111[RTB ospf 1]import route bgp [RTC] bgp 65223[RTC-bgp]router-id 4444[RTA-bgp]router-id 1.1.1.1[RTA-bgp]peer 10.3.3.2 as-number 65223 [RTA-bgp] network 10.3.3.0 255.255.255.252[RTA-bgp] network 1.1.1.1 255.255.255.255[RTC bgp]router id 4.4.4.4[RTC-bgp]peer 2.2.2.2 as-number 65223[RTC-bgp]peer 2.2.2.2 connect-interface LoopBack 0目录⏹配置BGP协议基本功能⏹配置BGP同步⏹BGP基本配置示例⏹BGP协议的基本显示和维护显示BGP 对等体的信息<RTB> display bgp peerBGP local router ID :172163130本地的路由器ID 本地自治系统号BGP local router ID : 172.16.3.130Local AS number : 65002Total number of peers : 2 Peers in established state : 2Peer V AS MsgRcvd MsgSent OutQ PrefRcv Up/Down State 1010101465001440000:02:23Established 10.10.10.1 4 65001 4 4 0 0 00:02:23 Established 10.10.10.6 4 65002 2 3 0 0 00:00:05 Established对等体有限状对等体的IP 地址对等体所在的AS 号会话已建立的时长/态机当状态(会话未建立时)当前状态的时长显示BGP 路由信息路由的AS_PATH/ORIGIN 属性值路由首选值<RTB> display bgp routing-table Total Number of Routes: 4BGP Local router ID is 172.16.3.130Status codes: * -valid, > -best, d -damped,h -history, i -internal, s -suppressed, S -Stale Origin : i -IGP , e -EGP , ? -incomplete g pNetwork NextHop MED LocPrf PrefVal Path/Ogn *> 1.1.1.1/32 10.10.10.1 0 0 65001i *>i 4.4.4.4/32 10.10.10.6 0 100 0 ?目的网络地址下跳地址MULTI EXIT DISC路由状态代码下一跳地址MULTI_EXIT_DISC 属性值本地优先级local-preference 属性值查看BGP 的debugging 信息BGP 有限状态机<Router>debugging bgp event*May 11 10:09:14:468 2009 H3C RM/6/RMDEBUG:BGP .: 10.10.10.2 State is changed from IDLE to CONNECT.*M 111009144682009H3C RM/6/RMDEBUG 状态切换*May 11 10:09:14:468 2009 H3C RM/6/RMDEBUG:BGP .: 10.10.10.2 State is changed from CONNECT to ACTIVE.*May 11 10:09:14:469 2009 H3C RM/6/RMDEBUG:BGP .: 10.10.10.2 State is changed from ACTIVE to OPENSENT.*M 111009144722009H3C RM/6/RMDEBUG *May 11 10:09:14:472 2009 H3C RM/6/RMDEBUG:BGP .: 10.10.10.2 Current event is ReceiveOpenMessage.*May 11 10:09:14:473 2009 H3C RM/6/RMDEBUG:BGP .: 10.10.10.2 State is changed from OPENSENT to OPENCONFIRM.%M 111009144752009H3C RM/3/RMLOG %May 11 10:09:14:475 2009 H3C RM/3/RMLOG:BGP .: 10.10.10.2 State is changed from OPENCONFIRM to ESTABLISHED.*May 11 10:09:14:617 2009 H3C RM/6/RMDEBUG:BGP .: 10.10.10.2 Current event is RecvKeepAliveMessage接收到的BGP 协议消息报文类型消报文类型本章总结⏹配置BGP建立连接⏹配置BGP协议生成路由协生路由⏹配置BGP同步⏹BGP对等体、路由信息查看。
BGP面试知识BGP(Border Gateway Protocol)是一种常用的路由协议,它用于在互联网中交换路由信息,实现不同自治系统(AS)之间的路由通信。
在网络工程师的面试中,BGP是一个重要的考点。
本文将介绍BGP的基本概念、原理和常见面试问题,以帮助读者更好地准备BGP面试。
一、BGP的基本概念1.BGP的定义:BGP是一种自治系统间的路由协议,用于在不同AS之间交换路由信息。
2.AS(Autonomous System):自治系统是一组具有相同路由策略的网络,由一个或多个IP前缀组成,并由一个或多个路由器控制。
AS内部使用内部网关协议(IGP)来交换路由信息,而AS之间使用BGP来交换路由信息。
3.BGP的特点:BGP具有很强的灵活性和可扩展性,能够适应复杂的网络环境,并支持多种路由策略。
二、BGP的工作原理BGP的工作原理可以简单概括为以下几个步骤:1.建立BGP邻居关系:BGP路由器之间通过TCP协议建立邻居关系,形成BGP会话。
2.交换路由信息:BGP邻居之间交换路由信息,使用UPDATE消息来传递路由信息。
BGP路由器会记录收到的路由信息,并根据自身的路由策略进行决策。
3.选择最优路由:BGP路由器会根据一定的路由选择算法选择最优的路由。
常见的路由选择算法包括AS路径长度、路由器的地理位置、BGP属性等。
4.更新路由表:BGP路由器根据选择的最优路由更新自己的路由表,并将最优路由通知给其他的BGP邻居。
三、BGP面试常见问题在BGP面试中,以下是一些常见的问题,供读者参考:1.BGP是什么?它有什么作用?2.BGP与其他路由协议有什么区别?3.BGP与OSPF之间的区别是什么?4.BGP的路由选择算法有哪些?请简要说明。
5.BGP邻居关系是如何建立的?6.BGP UPDATE消息的作用是什么?7.BGP的路由汇聚是什么?如何实现?8.BGP的路由策略有哪些?请举例说明。
9.BGP的常见问题有哪些?如何解决?以上问题只是BGP面试中的一部分,读者可以根据实际情况和面试要求进行更全面的准备。
BGP配置及路由注入实例讲解路由协议包括很多种,例如RIP、OSPF、IS-IS、BGP等等。
前面部分章节已看过OSPF和ISIS的实例。
今天我们来看看BGP路由协议。
首先我们通过下图先来回顾一下BGP在网络中的部署位置:简单地说:BGP属于外部网关协议,一般部署于自治系统之间(例如我们在两个运营商之间部署,或两个大企业网之间部署。
当然有些运营商内部使用了多种IGP协议,此时也在一个运营商内部使用,此种场景多见于城域网-省网-国网)。
说到BGP路由协议,必然会涉及到路由注入(有些人也叫做路由引入import-route XXX)。
举个简单例子,有A和B两个企业(或运营商),均部署了不同的IGP路由协议,中间使用BGP连接。
其中B企业(运营商)内部建设了一个http网站,此时A企业(运营商)的客户需要访问该网站,则需要涉及路由注入。
一、BGP配置实例讲解1、配置环境:(1)基本组网图:(2)组网说明:1、上图中左侧为A企业,配置了IS-IS路由协议,右侧为B企业,配置了OSPF协议。
2、目前A企业内各设备能够通过IS-IS协议通信,B企业内各设备能够通过OSPF协议通信。
3、分别查看部署BGP前A-R1和B-R1的IP路由表,如下:4、因前期部分章节已说明ISIS和OSPF的配置,本节不再说明。
如有需要,请从上下载(文件位置:网站→文件共享→BGP配置实验,压缩包里有“配置bgp 前网络拓扑及数据配置”)2、配置目标:在路由器A-R1和B-R1之间部署EBGP,使用对端的物理接口作为反射器的源接口。
3、数据规划:4、配置步骤:配置BGP(包括AS、peer)a.配置路由器A-R1的BGP。
命令如下:bgp 65001router-id 1.1.1.1peer 12.12.12.2 as-number 65002peer 12.12.12.2 connect-interface GigabitEthernet 0/0/0quitb.配置路由器B-R1的BGP。
【交换机在江湖】论剑BGP--略有小成(一)-自解决了路由黑洞的问题之后,交换机带着师弟师妹们日夜苦练BGP阵法。
要知路由老祖所授阵法虽只一图,其中却是千变万化,有时虽是极细微的变化,也需要调整行功方法,否则阵法运转便要滞涩。
这一日,路由老祖来到门下弟子练功处,只见交换机与S97和S77六掌相接,正练习阵法其中一变。
路由老祖驻足观望良久,却见交换机面色愈发凝重,额头汗流如雨,未几,身体竟已微微颤抖,再看S97和S77亦是如此。
老祖惊觉不妙,身形一晃,已至交换机身侧,出掌按住交换机头额正中,主血脉流行之心经大穴。
原来交换机行功不慎,内息业已紊乱,难以控制,若非老祖出手相助,此刻恐已走火入魔。
交换机只觉一股热力直通心脉,他本身本已疲乏脱力,得老祖内力相助,方渡过难关。
交换机拜倒老祖身前道:“多谢师父相助。
”老祖摆摆手,问道:“方才为何如此?”交换机回道:“弟子也不甚明白,方才弟子和S97、S77正演练那BGP阵法其中一变。
哪知运功还未多久,就觉得真气忽然变得枯涩起来,难以运转,初时还能已内力硬撑,越是往后,这压力却是越来越大,有如千斤重担压在身上,若非师父及时出手相助,弟子们恐怕已走火入魔了。
以弟子的内功修为,应不至有内力不足无法修习的问题,其中缘故,还请师父指点。
”交换机还未说完,老祖已然明了,以手指在地上画出一图:“你们练得是这一变吧?”图甚简单,如下:老祖道:“以你的描述来看,为师认为应该是遇到了路由环路的问题。
路由环路是每一个路由协议必须考虑的问题,而BGP是距离矢量协议,其防环机制你们考虑过么?”题外话:这里给大家简单介绍一下BGP的两种防环机制。
EBGP的路由环路:首先我们来看一下EBGP的路由环路是怎么形成的,如上图所示:三个AS通过3台设备两两建立EBGP进行连接。
假设在AS100中有一条路由192.168.16.0/24,S97把该路由通告给了交换机,交换机又通告给了S77,S77又重新通告给了S97。
bgp路由处理过程BGP路由处理过程BGP(Border Gateway Protocol,边界网关协议)是互联网中最常用的外部网关协议之一,用于实现不同自治系统(AS)之间的路由信息交换。
BGP路由处理过程涉及到路由的选择、交换和更新等环节,下面将详细介绍BGP路由处理的流程。
一、BGP会话建立BGP路由处理的第一步是建立BGP会话。
BGP会话的建立是通过TCP连接来实现的,需要在邻居之间建立可靠的TCP连接。
建立连接后,BGP会话进入建立状态,并开始进行BGP消息的交换。
二、路由选择在BGP会话建立后,每个BGP路由器都会从邻居接收到路由更新的BGP消息。
BGP路由器根据接收到的BGP消息中包含的路由属性进行路由选择。
常见的路由属性包括路由器的自治系统号、前缀长度、路径长度、AS路径等。
BGP路由器会根据这些属性对路由进行排序,选择最佳的路由。
三、路由交换在路由选择完成后,BGP路由器会将选择的路由信息发送给邻居。
BGP路由器通过向邻居发送Update消息来交换路由信息。
Update消息中包含了新增的路由、撤销的路由以及修改的路由等信息。
BGP路由器会根据需要发送不同类型的Update消息,以便邻居能够了解到自己的路由信息。
四、路由更新路由更新是BGP路由处理过程中的重要环节。
BGP路由器会定期向邻居发送Keepalive消息,以确保连接的可靠性。
同时,BGP路由器还会根据需要发送Update消息来更新路由信息。
当路由发生变化时,BGP路由器会发送Withdraw消息来撤销已有的路由。
路由更新的频率和内容取决于网络的实际情况和配置。
五、路由策略BGP路由处理还涉及到路由策略的制定和应用。
路由策略是指BGP 路由器根据自身需求对路由进行控制的一组规则。
通过路由策略,BGP路由器可以选择特定的路由、过滤不需要的路由、修改路由属性等。
路由策略的制定和应用需要根据特定的网络需求和策略要求进行配置。
六、路由监控和故障恢复在BGP路由处理过程中,路由监控和故障恢复是非常重要的环节。
BGP配置及路由注入实例讲解路由协议包括很多种,例如RIP、OSPF、IS-IS、BGP等等。
前面部分章节已看过OSPF和ISIS的实例。
今天我们来看看BGP路由协议。
首先我们通过下图先来回顾一下BGP在网络中的部署位置:简单地说:BGP属于外部网关协议,一般部署于自治系统之间(例如我们在两个运营商之间部署,或两个大企业网之间部署。
当然有些运营商内部使用了多种IGP协议,此时也在一个运营商内部使用,此种场景多见于城域网-省网-国网)。
说到BGP路由协议,必然会涉及到路由注入(有些人也叫做路由引入import-route XXX)。
举个简单例子,有A和B两个企业(或运营商),均部署了不同的IGP路由协议,中间使用BGP连接。
其中B企业(运营商)内部建设了一个http网站,此时A企业(运营商)的客户需要访问该网站,则需要涉及路由注入。
一、BGP配置实例讲解1、配置环境:(1)基本组网图:(2)组网说明:1、上图中左侧为A企业,配置了IS-IS路由协议,右侧为B企业,配置了OSPF协议。
2、目前A企业内各设备能够通过IS-IS协议通信,B企业内各设备能够通过OSPF协议通信。
3、分别查看部署BGP前A-R1和B-R1的IP路由表,如下:4、因前期部分章节已说明ISIS和OSPF的配置,本节不再说明。
如有需要,请从上下载(文件位置:网站→文件共享→BGP配置实验,压缩包里有“配置bgp 前网络拓扑及数据配置”)2、配置目标:在路由器A-R1和B-R1之间部署EBGP,使用对端的物理接口作为反射器的源接口。
3、数据规划:4、配置步骤:配置BGP(包括AS、peer)a.配置路由器A-R1的BGP。
命令如下:bgp 65001router-id 1.1.1.1peer 12.12.12.2 as-number 65002peer 12.12.12.2 connect-interface GigabitEthernet 0/0/0quitb.配置路由器B-R1的BGP。
关于bgp中路由反射器应用的描述BGP中路由反射器的应用在互联网中,BGP(边界网关协议)被广泛应用于路由选择和路由交换。
随着互联网规模的不断扩大,BGP的路由表也日益庞大,这给网络运营商的路由器带来了巨大的负担。
为了减轻这种负担,提高路由器的性能和可扩展性,BGP中引入了路由反射器(Route Reflector)的概念。
路由反射器是一种特殊的BGP路由器,它被用于在自治系统(AS)内部传播路由信息。
传统的BGP路由器在AS内部使用全互联模型,即每个BGP路由器都与其他所有BGP路由器建立BGP邻居关系,通过这种方式交换路由信息。
然而,当AS规模庞大时,这种全互联模型会导致路由器的邻居表和路由表急剧增长,给网络带来巨大的负担。
为了解决这个问题,引入了路由反射器的概念。
路由反射器作为一个集中式的BGP路由器,负责接收来自其他BGP路由器的路由信息,并将这些信息再分发给其他BGP路由器。
通过使用路由反射器,可以将BGP路由器之间的全互联模型转变为部分互联模型,大大减少了路由器之间的邻居关系和路由信息的交换。
这样一来,可以显著减轻BGP路由器的负担,提高网络的性能和可扩展性。
在部分互联模型中,路由反射器与其他BGP路由器建立BGP邻居关系,并将自己配置为路由反射器。
其他BGP路由器则将自己配置为路由反射器的客户端。
当一个BGP路由器成为路由反射器的客户端后,它就不再与其他BGP路由器建立全互联的邻居关系,而是只与路由反射器建立邻居关系。
这样,路由反射器就可以负责接收客户端发送过来的路由信息,并将这些信息再分发给其他客户端。
通过路由反射器的应用,BGP路由器之间的邻居关系大大减少,路由信息的交换也变得更加高效。
同时,路由反射器还具有一定的容错能力。
当一个路由反射器出现故障时,其他路由反射器可以接替它的工作,继续进行路由信息的传播,从而提高了网络的可靠性。
需要注意的是,使用路由反射器可能会引入一些问题。
上期问题:当我们把RIP的传输层协议改为TCP之后,发现和维护邻居的机制应该设计成怎样呢?
这个问题可以从以下几个方面来考虑:
一:TCP面向连接,基于TCP的协议必然有一个先建立连接的过程。
要先建立连接,两端的设备就必须先互相知道对方的IP地址,并且路由可达。
那么是采用静态配置的方式,还是动态建立连接的方式呢?BGP采用的是静态配置的方式,只要双方指定的地址路由可达,就可以建立连接。
这样做有以下好处:
1:可以与对端设备用任何IP地址建立邻居,而不限于某个固定接口的IP。
这样,我们就可以采用环回地址而非直连接口地址建立BGP邻居,两台设备之间如果主链路中断了,只要有备份链路存在,就可以把流量切换到备份链路上,保持邻居不断,增加了BGP连接的稳定性。
2:可以跨越多台设备建立邻居。
由于是静态配置的方式,不一定只有直连设备才能建立BGP 邻居,只要双方指定的地址路由可达(通过IGP或者静态路由),就可以建立邻居,这在AS 内部建立IBGP连接时,就不用所有设备之间都建立IBGP连接。
IBGP会在本期后面内容中提及。
二:知道对方IP地址后,BGP会通过发送open报文来进行邻居的建立。
如果连接不能建立,说明对端设备状态不正常,于是会等待一段时间再进行连接的建立,这个过程一直重复,直到建立连接。
三:连接建立后,就可以进行路由表的同步了,BGP通过发送update报文进行路由表的同步。
四:路由表同步完成后,并不是马上拆除这个连接,因为随时有可能会有路由的更新或者删除,建立TCP连接是一个非常耗费资源的过程,所以BGP通过定期发送keepalive报文进行TCP 连接的维持,这样就可以不用重新建立连接,立刻就可以进行路由更新。
五:如果经过一段时间(一般是3个keepalive报文发送周期)还没有收到对方的keepalive 报文时,我们就认为对方出现了问题,于是可以拆除该TCP连接,并且把从对方收到的路由全部删除。
自上回交换机初悟BGP神功后,一直潜心修炼。
交换机虽然所学IGP博杂,但都是基于UDP内功,乍换TCP,不免要花一番心思。
时光荏苒,一晃数月。
这日,路由老祖将门徒都唤至跟前,说道:“网络武林大会日期将近,我路由向为武林执牛耳者,此次武林大会定要有所作为。
为师苦思多日,得一阵法。
交换机,你是大师兄,就由你带着师弟师妹们把这个阵法演习熟练。
”说罢,将一纸阵图递给交换机。
交换机接过定睛一看,阵图如是:
题外话:这是一个典型的BGP应用组网。
图中,有3个AS,AS之间运行BGP协议。
AS65008域内运行OSPF协议。
R1和R5上只运行BGP协议,R2和R4上运行OSPF和BGP协议,R3上只运行OSPF协议。
这里先解释下EBGP和IBGP。
EBGP:运行于AS之间两台设备的BGP关系。
如图中R1和R2、R4和R5
IBGP:运行于AS内部两台设备的BGP关系。
如图中R2和R4
这里读者可能会问:AS内部不是有IGP么,为什么还要建立IBGP 关系?
这是因为如果R2和R4之间不建立BGP关系,那么如果R1要把路由传递给R5,经过AS65008时,就只能把BGP路由引入到IGP中,通过IGP进行传递。
而把数以10万计的BGP路由引入到IGP中的后果是灾难性的。
所以上图中,R2和R4之间建立了IBGP的关系。
值得一提的是,如上文所提及,由于BGP是通过静态配置的方式建立TCP连接,所以并非只能在两台直连的设备上建立BGP关系,如上图,R2和R4间通过OSPF路由可达,可以建立IBGP关系。
交换机看过阵图,暗忖:“这个阵法也并不见得有多高明嘛,就由我和师弟S97、S67、S57分别担任R1、R2、R4、R5四台BGP设备,小师妹S27功力尚浅,还不足以驾驭BGP,就让她做R3,只需要通过OSPF给我们师兄弟传递路由,如此这般,大功可成。
”想到这,不禁有些洋洋自得。
翌日,交换机带着师弟师妹们开始演练起BGP阵法。
交换机简单交待了几句后,五人各自归位,建立BGP连接,运行OSPF,有条不紊。
一切准备就绪后,交换机迫不及待的将自己的路由发了过去,未几,不远处传来S57兴奋的叫声:“收到了!”。
交换机内心一阵狂喜,表面却装作若无其事道:“S57,你发一个数据包过来试试。
”
“好!”
等待良久,还未有数据包到达,交换机有些奇怪:“S57,你多发几个数据包。
”
“一直在发。
”
S67在旁道:“我收到师弟发的数据包,也转发出去了。
”
众人目光一齐投向S97,S97赶忙分辨:“我完全没有收到啊,我是冤枉的。
”
交换机目光微转,却见小师妹S27一言不发,小脸涨的通红。
交换机赶忙收功起身,问道:“师妹,数据包是在你这里丢的么?”
S27有些委屈:“师兄,我是收到好多报文,但是不知道怎么转出去。
”
题外话:为什么控制面路由已经传递成功,但是数据包却无法发过来呢?
这里,我们对路由的传递过程和数据包的传递过程分别进行分析。
路由的传递过程:
路由传递过程
R1—R2:由于两台设备直连,并且建立EBGP关系,R1可以直接发送update报文至R2。
R2—R4:两台路由非直连,但是两台路由建立了IBGP关系,R2将update报文发送给R4。
即
该update报文的目的IP是R4,于是R2查询自己的路由表,由于域内运行了OSPF协议,通过OSPF,R2查询到去R4的下一跳是R3,于是将该update报文发给R3,R3收到该报文后,虽然没有运行BGP协议,但是根据报文的目的IP,将该update报文发送给R4。
R4—R5:同样,两台设备直连,并且建立EBGP关系,R4可以直接发送update报文至R5。
这样,路由的传递就完成了。
数据包的传递过程:
数据包传递过程
R5—R4:R5发送的数据包,源IP是R5,目的IP是R1,于是R5查询路由表,因为从R4收到一条R1的路由,该路由的下一跳标识为R4。
于是将数据包发送给R4。
R4—R2:当R4收到从R5发过来的数据包时,该数据包的源IP是R5,目的IP是R1。
于是,R4查询路由表,发现去往R1的路由下一跳是R2(我们假定R2上配置了peer next-hop-local命令),由于下一跳非直连,于是R4查询去R2的下一跳。
由于域内运行了OSPF,R4发现,去R2的下一跳是R3,于是将数据包发给了R3。
当R3收到该数据包时,由于数据包的目的IP是R1的IP,但是R3并没有运行BGP,所以R3上没有R1的路由。
于是R3将该数据包丢弃。
这就是经常说到的数据层面的“路由黑洞”。
交换机带着阵图找到路由老祖,将方才所发生之事告知老祖,老祖微微一笑道:“徒儿,这阵法看似平淡无奇,实则千变万化。
你墨守成规,太不知变通。
不过这也不能怪你,想当年这创立BGP神功的人,早已料想到这种情况。
”
老祖自旁拿出一本封面泛黄的古籍,赫然上书几个大字“BGP神功”。
翻开几页,一句心法映入眼帘。
“BGP同步心法:学习自IBGP邻居的路由在进入IGP路由表或宣告给BGP邻居之前,必须首先通过IGP来知晓该路由。
”
路由老祖道:“在创立这BGP神功之初,这个创立BGP的前辈就已料想到你遇到的情况,于是规定了这条心法,有了这条规则,在S67收到S97发来的路由时,发现OSPF路由表里并没有这条路由,就不会将该路由发送给S57。
反之,如果你将该路由引入到OSPF路由表中,那么在数据包从S57发给S27时,S27也能通过OSPF将数据包转发出去。
”
交换机若有所悟:“但是方才路由明明已经传递成功了啊。
”
老祖不急不忙道:“那是因为为师闯荡江湖多年,发现这条心法虽然可以解决路由黑洞的问题,但却必须将BGP路由引入到IGP中,不免非常不切实际。
于是为师对BGP心法做了改变,去掉了这条心法,而是用“物理全连接”和“逻辑全连接”来解决这个问题。
”
题外话:解决路由黑洞的几个方法:
1:根据BGP同步机制将BGP路由引入到IGP中。
(S系列交换机缺省不启用BGP同步机制,但可以通过命令synchronization命令启用),这个方案的弊端上文已经说明。
2:物理全连接:以上图为例,如果AS65008内三台设备均通过物理线路连接起来,则R4可以直接将数据包发送给R2,而不需要通过R3转发。
这个方案的弊端在于物理线路的铺设非常麻烦。
3:逻辑全连接:已上图为例,如果AS65008内三台设备均启用BGP进程,并且两两建立IBGP 连接,则R3上也有R1的路由。
可以成功转发数据。
这个方案的弊端在于如果设备数量非常多,大量IBGP的连接难于管理。
交换机思前想后,还是有些不情愿的采用逻辑全连接的方式,虽然管理麻烦,但是相比BGP 同步和物理全连接,还是方便不少。
殊不知,半载之后,武林大会之上,交换机邂逅了风华绝代的MPLS。
两人发现彼此武功神奇般契合,完美的解决了包括路由黑洞在内的各种问题。
于是二人自立门户,创下了一门震古烁今的武学。
一对神仙眷侣也被传为武林佳话。
此乃后话,暂且不表。
未完待续
本期问题:逻辑全连接的方案弊端在于数量众多的IBGP连接难于管理,有什么办法可以缓解这个问题呢?。