首页 经典BGP学习笔记

经典BGP学习笔记

举报
开通vip

经典BGP学习笔记 www.315safe.com CCIEnote by[Ka\(^oo^)/Ka] 第 1 页 共 32 页 Border Gateway Protocol Who needs BGP BGP 是一种路径矢量路由协议,用于传输自治系统间的路由信息,BGP 在启动的时候传播整张路由表,以后只传播网络变化的部分,触发更 它采用 TCP 连接传送信息,端口号为 179 在 Internet 上,BGP 需要通告的路由数目极大,由于 TCP 提供了可靠的传送机制,同时 TCP 使用滑动窗口...

经典BGP学习笔记
www.315safe.com CCIEnote by[Ka\(^oo^)/Ka] 第 1 页 共 32 页 Border Gateway Protocol Who needs BGP BGP 是一种路径矢量路由 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 ,用于传输自治系统间的路由信息,BGP 在启动的时候传播整张路由表,以后只传播网络变化的部分,触发更 它采用 TCP 连接传送信息,端口号为 179 在 Internet 上,BGP 需要通告的路由数目极大,由于 TCP 提供了可靠的传送机制,同时 TCP 使用滑动窗口机制,使得 BGP 可以不断地 发送分组,而无需像 OSPF 或 EIGRP 那样停止发送并等待确认。 使用 BGP 一般有如下情况: 1. 一个 AS 允许包穿越它,到达其他的 AS 2. 一个 AS 连接多个 AS 3. 必须对数据流进入和离开 AS 进行控制 不使用 BGP 一般有如下情况: 1. AS 只有一个出口 2. AS 的所有出口均为 1个 ASP 3. 路由性能不高,内存较小,CPU 较慢,带宽不大 对于如右图的多 ISP 连接,需要注意: 1. 必须劝说最初供应商通告将他的 CIDR 块打一个洞,通告一条更 精细的路由 2. 必须劝说第二个供应商公布属于不同供应商的地址空间 3. 两个供应商必须在用户公布这块地址上愿意紧密合作 4. 如果用户地址空间小于/19 一些骨干 ISP 不会接受此路由 注:一般前缀小于/19 的地址称为全球路由可达地址,因为骨干 ISP 通常为了控制骨干级路由表大小,仅接受/19 或更 小的前缀。但由于用户的抱怨,此限制逐渐放松 BGP Basic BGP 是路径矢量协议,它使用一个 AS 号列表,数据包必须通过这些 AS 才能到达目的,同时对产生的 AS-path 做一定的策略。 AS-Path 对于路由环路非常容易检测到,如果路由器接受到一条含有本地 AS 号的 AS-path,说明出现环路。 BGP 没有给出每个 AS 域内的拓扑结构,因此 BGP 只能看到 AS 树,而 IGP 只能看到 AS 域内拓扑结构, 下图是一个典型的 BGP 路由表 route-server>show ip bgp BGP table version is 4639209, local router ID is 12.0.1.28 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path * 3.0.0.0 192.205.31.225 0 7018 701 80 i * 192.205.31.161 0 7018 701 80 i *> 192.205.31.33 0 7018 701 80 i * 192.205.31.97 0 7018 701 80 i * 4.0.0.0 192.205.31.225 0 7018 1 i * 192.205.31.161 0 7018 1 i *> 192.205.31.33 0 7018 1 i * 192.205.31.97 0 7018 1 i * 6.0.0.0 192.205.31.226 0 7018 568 721 1455 i * 192.205.31.225 0 7018 568 721 1455 i * 192.205.31.161 0 7018 701 6113 568 721 1455 i *> 192.205.31.34 0 7018 568 721 1455 i * 192.205.31.33 0 7018 568 721 1455 i * 192.205.31.97 0 7018 1239 568 721 1455 i * 9.2.0.0/16 192.205.31.225 0 7018 1 1673 1675 i * 192.205.31.161 0 7018 701 1673 1675 i --More-- 当某个特殊目的网络有并列的,等开销的路径时,Cisco 缺省执行 EBGP 只选择一条路径,但可以使用 maximum-paths 改变并行路径缺省的最大数目,但仅对 EBGP 有效。 BGP Message Types BGP 具有 4种消息类型 1. Open 2. Keepalive 3. Update 4. Notification 华中315安全网 www.315safe.com www.315safe.com CCIEnote by[Ka\(^oo^)/Ka] 第 2 页 共 32 页 Open Message TCP 对话建立以后,两个邻居都要发送一个 Open 消息,每个邻居都用该消息来标示自己,并规定自己的 BGP 运行参数 BGP version 它明确了发起者正在运行的 BGP 版本号(2,3,4),可以通过 neighbor version 修改,缺省版本号为 4。如果版 本号不相同,路由器将自动降低版本号重发 Open 消息,直到版本一致 AS number 发起会话路由器的 AS 号,用于确认 EBGP 或者 IBGP 会话 Hold time 路由器必须收到一个 keepalive 或者更新消息之前允许经过的最大秒数。 Holdtime 必须是 0(在这种情况下,必须是没有发送 Keepalive)或者至少 3s Cisco 默认的 holdtime 为 180s,如果两个邻居间 holdtime 不一致,选较短的那个做为两者可接受的时间 BGP router-ID 选取方式和 OSPF 相同,使用数值最大的 loopback 口地址,没有 loopback 则使用物理接口上数值最大的地址 Optional parameters 用于一些可选功能的支持.例如鉴别,多协议支持及路由刷新等 Keepalive Message 如果路由器接受了他在邻居的 Open 消息中的参数,它就会发送一个应答的 Keepalive 消息。 默认情况 Keepalive 间隔 60s,或者是达成一致的保持时间的 1/3 Update Message Update message 用来公布可用的路由,撤销的路由或者两者兼顾 Network Layer Reachability Information (NLRI) 用来公布 IP 地址前缀和前缀长度的字节组,例如<19,198.24.160.0> Path Attributes 该属性为 BGP 提供了选择最短路径,检查到路由环路以及决定路由策略的信息 Withdrawn Routes 用来描述已经变成不可达并正从业务中撤销的目的地址字节组(长度和前缀) 注:虽然 NLRI 字段可以包含多个前缀,但每一个更新消息只描述一条 BGP 路由(因为路径属性只描述一条路 径,但该路径可能会到达多个目的地) Notification Message 当检测到差错的时候就会发送 Notification 消息,通常会导致 BGP 连接终止 例如使用 Notification 消息进行 BGP 版本的协商 The BGP Finite State Machine IE 描 述 1 BGP 开始 2 BGP 结束 3 BGP 传输连接打开 4 BGP 传输连接终止 5 BGP 传输连接打开失败 6 BGP 传输致命差错 7 重试连接计时器超时 8 持续时间终止 9 Keepalive 计时器终止 10 收到 Open 消息 11 收到 Keepalive 消息 12 收到 Update 消息 13 收到 Notification 消息 Idle State a) BGP 通常以 Idle State 开始(此时拒绝接收所有入连接)。当一个开始事件出现,BGP 过程初始化所有 BGP 资源 打开重试连接(ConnectRetry)计时器,初始化到邻居的 TCP 连接,接听来自邻居的 TCP 初始化消息并将它的状态 转到 Connect 状态. b) 开始事件是由一个操作者配置一个 BGP 过程,或者重置一个已经存在的过程或者路由器软件重置 BGP 过程引起 c) 一个差错的出现会将 BGP 过程的状态转为 Idle.路由器可能会试图发起另外一个开始事件.为了防止在持续差错条件 下导致的摆动,在第一次转回到空闲状态后,路由器会自动开启重试连接计时器,当计时器终止后,路由器就会放弃重 新开始 BGP.重试计时器第一次的时间为 60s,下一次为前一次的 2倍 120s,成指数形式增加 华中315安全网 www.315safe.com www.315safe.com CCIEnote by[Ka\(^oo^)/Ka] 第 3 页 共 32 页 Connect State 此状态下 BGP 过程会等到 TCP 连接完成以后再决定后续的动作. 1. 如果 TCP 连接建立成功,BGP 连接将 ConnectRetry 清零,完成初始化并给邻居发送一个 Open 消息,转移到 Open 状态 2. 如果 TCP 连接建立失败,BGP 继续监听由邻居发起的连接,重置 ConnectRetry 计时器并转移到 Active 状态 3. 如果在连接状态下,ConnectRetry 超时,计时器将重新开始,并再一次试图与邻居建立 TCP 连接,BGP 保持 Connect 状态,此时如果有任何其他输入事件,转入 Idle 状态 Active State 在此状态,BGP 过程试图与邻居建立一个 TCP 连接 1. 如果连接成功,BGP过程将ConnectRetry计时器清零,完成初始化,给邻居发送一个Open消息并转移到发送Open 消息状态,Hold 计时器设置为 4mins 2. 如果在激活状态,ConnectRelay 计时器超时,将回到 ConnectState 并且重置 ConnectRelay 计时器.也发起一个 到对等的 TCP 连接并继续监听来自对等体的连接. 3. 如果邻居试图与一个未知 IP 建立 TCP 会话,同时 ConnectRelay 计时器重置,连接被拒绝并保持在 Active 状态 4. 任何一个事件(除开始事件)都回导致状态转向 idle Open send State 在此状态下,已经发送了 Open 消息,BGP 等待邻居发来的 Open 消息, 1. 当收到一个 Open 消息,如果发现差错,将给邻居发一个 Notification 消息并转入 Idle 状态 2. 如果收到的 Open 消息没有差错,将给邻居发送一个 Keepalive 消息并将 Keepalive 计时器清零,此时协商一 个较短的 holdtime,如果为 0,则没有启动 Hold 和 keepalive 计时器,根据 AS 号选择 IBGP 或者 EBGP,同时 将状态转移到 OpenConfirm 状态 3. 如果收到一个 TCP 断开消息,本地断开 BGP 连接,重置 ConnectRetry 计时器,并转入 Active 状态 Open Confirm State 此状态下 BGP 会等待一个 Keepalive 消息或者 Notification 消息 1. 如果收到一个 Keepalive 消息,转移到 Establish 状态 2. 如果收到一个 Notification 消息,转入 Idle 状态,并断开 TCP 连接 3. 如果 Hold 计时器超时,检测到一个差错或出现 stop 事件,BGP 将给邻居发送一个 Notification 并断开连接 转入 Idle 状态 Establish State 此状态下,BGP 对等体间的连接已经完全建立,可以交换 Update Keepalive 和 Notification 消息,如果收到 Notification 自动转入 Idle,并中断连接 Path-Attributers BGP 路径属性分为 4类 1. Well-known mandatory 公认必遵 – 所有的 BGP 路由器必须识别 (Update 消息必须包含该属性) 2. Well-known discretionary 公认可遵 – 所有的 BGP 路由器都能识别,但是不是一定需要 (Update 消息可以不包含该属性或者该属性任选) 3. Optional transitive 可选传递 – 不是所有的 BGP 路由器都能识别,但所有 BGP 路由器都能传递它 (此属性即使 BGP 路由器不接受也可以传递) 4. Optional nontransitive 可选非传递– 不是所有的 BGP 路由器都能识别,不能识别 BGP 路由器丢弃它 (此属性如果 BGP 路由器不接受则立即丢弃此消息,不再传递) ORIGIN 属于公认必选属性,明确了路由更新的来源,用于判断路由可信 度,当 BGP 有多条路由来源时,路由器会将 ORIGIN 做为路由决 策的参考 来源有如下几类: IGP---从 AS 内部学到,ORIGIN 为 0 EGP---NLRI 从 EGP 学到,ORIGIN 为 1 Incomplete---NLRI 通过其他手段获得,ORIGIN 为 3 一般来说具有较低 ORIGIN 值得前缀被优先选取, IGP>BGP>重分布 例如通过重分布进入 BGP,ORIGIN 属性为 3,通过 Network 命令注入其 ORIGIN 为 0 TYPE Attribute Class 1 ORIGIN Well-known mandatory 2 AS_PATH Well-known mandatory 3 NEXT_HOP Well-known mandatory 4 LOCAL_PREF Well-known discretionary 5 ATOMIC_AGGREGATE Well-known discretionary 6 AGGREGATOR Optional transitive 7 COMMUNITY Optional transitive 8 MULTI_EXIT_DISC (MED) Optional nontransitive 9 ORIGINATOR_ID Optional nontransitive 10 CLUSTER_LIST Optional nontransitive 华中315安全网 www.315safe.com www.315safe.com CCIEnote by[Ka\(^oo^)/Ka] 第 4 页 共 32 页 AS_PATH 描述一个路由传递过程中经过那一些 AS(不算自己,从离自己最近的 AS 开始,以目的网段的 AS 结束),为了避免 AS 环路,如果从外部收到一条包含自己 AS 的路由,就说明有环路,此时 BGP 将丢弃该路由 通常一条 AS_PATH 含有多个同一 AS 号,用于加长 AS_PATH,提供策略选路,如下图 AS500 为主要流量提供商, 通过修改 AS100 到 AS300 通告的 AS_PATh,让流量走 AS500, 此方法亦保证 AS300 做为备份可用 Next_Hop 该属性描述了到公布目的地址的路径的下一跳路由器的 IP 地址 1. 如果正在进行路由通告的路由器和接收的路由器在不同 的 AS 中,Next_Hop 为正在宣告的路由器接口的 ip 2. 如果正在宣告的路由器和接收的路由器在同一个 AS 内,并且更新消息中 NLRI 目的地也在同一个 AS 中, 则 next_hop 为一宣告的路由的邻居的 ip 3. 如果正在宣告的路由器和接收的路由器是内部对等体,并且更新消息的 NLRI 指向不同 AS,则 Next_hop 为学习到路由的外部对等实体的 ip Local_Pref 仅用在本地 AS,不会传到其他 AS,具有较高 Local_pref 的路由将被优先考虑,默认值 100 如右图,优先考虑 ISP1 的路由 华中315安全网 www.315safe.com www.315safe.com CCIEnote by[Ka\(^oo^)/Ka] 第 5 页 共 32 页 Multi_Exit_Disc(MED) Local_Pref 仅影响离开 AS的业务量,而 MED 用于影响流入 AS 的业务量,它允许一个 AS 将其首选入口通知给另一个 AS,具有最低 MED 值的路由作为首选 Atomic_Aggregate and Aggregator BGP 支持向另一个 BGP 路由器传递重叠的路由,BGP 有如下重叠处理选项 1. 同时公布精细和初略的路由 2. 只公布精细路由 3. 之公布路由中没有重叠的部分 4. 聚合两条路由并公布聚合后的路由 5. 两者都不公布 如右图即为在进行聚合时导致了路由信息丢失 Atomic_Aggregate 属性即是用来警告下游路由器聚合时 产生路径信息丢失,可设置附加属性 Aggregate 来通告汇 聚点,Cisco 采用 BGP-RID 来作为 Aggregator 地址,如下 图 Weight Cisco 专有,对于离开 AS 的报文,从多条路径中选择哪一条。它是不 传递的。缺省下从对等体学到的所有路由器的权重值是 0,由本地路 由器产生的所有路由的权重值是 32768 选路时优先选用权值最高的路径 Comunity 使可以向一组源路由使用相同的策略,即一个目的地作为一些目的地团体中的一个成员,这些目的地共享一个或多 个共同特性。它有 4个字节 – 前面两个字节的 AS 号,后面两个字节的管理上定义表示符,而 Cisco 正好反过来, 用 ip bgpcommuity new-format 改过来 当对团体路由进行聚合时,聚合路由继承了所有路由的全部团体属性 NO_EXPORT 的团体属性,携带该属性的路由允许在邻居 AS 内公布但不允许邻居 AS把路由公布其他 AS NONE 属性删除现存的团体属性 NO_ADVERTISE 属性指不在 IBGP 邻居间传递带有该属性的路由 DELETE 属性用于只删除匹配特定团体列表的属性 ORIGINATOR_ID 由路由反射器(RR)使用,它是有路由发起者产生的一个 32 比特的值,该值是本地 AS里路由发起者的 RID,如果路由 器发起者从该属性值中看到了自己的 RID,就说明有环路,该路由忽略 Cluster_LIST 由路由反射器使用,它是路由经过反射器簇 ID 的一个序号。如果路由反射器在该属性值中发现自己的本地簇 ID,就 说明有环路,忽略掉。如果一个簇里不止一个 RR,要在进程下用 bgp cluster-id 手工指定簇 ID,因为默认 RR 将自己 的 RID 当成 cluster-id 华中315安全网 www.315safe.com www.315safe.com CCIEnote by[Ka\(^oo^)/Ka] 第 6 页 共 32 页 AS_SET AS_PATH 有 4 种类型 1. AS_SEQUENCE ---路径上 AS 号是有序的 2. AS_SET ---路径上 AS 号是无规则的 3. AS_CONFED_SEQUENCE 4. AS_CONFED_SET ---用于联盟的有规则和无规则 AS 号序列(亦称为子有序和子无序 PATH) 由于聚合时 AS_PATH 中数据丢失,导致产生环路的潜在因素增加,因此加入 AS_SET 字段,通告汇聚时包含的 AS 号 AS_PATH 替代了 ATOMIC_AGGREGATE 的功能, 但也有其缺点:如聚合的网络出现故障,AS_SET 的改变将通告到 聚合点以外 BGP Dscision Process BGP 路由信息库(RIB)包括 Adj-RIBs-In: 储存未经处理的路由信息,来自对等接收到的更新消息,所包含的路由是可用的 Loc-RIB: 包含的路由是运行 BGP 的路由器通过对 Adj-RIBs-In 中的路由使用他的本地路由策略而选择的路由 Adj-RIBs-Out:包含运行 BGP 的路由器向其对等公布的路由 3 个数据库间的处理方法如下 1. 为每一条可用路由计算优先级,并对 BGP update 消息中包含的路由信息变更作出处理 2. 将最优路由放入 Loc-RIB 3. 将适合的路由放入 Adj-RIBs-out(调用仅在上一步完成后) BGP 路径选择顺序: 1, Weight---权重(越大越优先) 2, Local_Pref---本地优先(越大越优先) 3, 所传递路由的本地起源优先,即下一跳是 0.0.0.0(在 BGP 表中,当前路由器通告的路由的下一跳为 0.0.0.0) 4, AS-Path(越短越优先) 5, 起源(优先:IGP > EGP > Incomplete) 6, MED(越小越优先) 7, 首选 EBGP 的路由,在联盟 EBGP 和 IBGP 中首选联盟 EBGP 路由 8, BGP 优先选择到 BGP 下一跳的 IGP 度量最低的路径 9, 如果有多条来自相同相邻 AS 的路由并通过 Maximum-paths 使多条路径可用,则将所有开销相同的路由加入 Loc-RIB 10, BGP 优先选择最老的路径,降低滚翻的影响 11, BGP 邻居的 RID(越小越优先) 12, 如果多条路径始发路由器 ID 或路由器 ID 相同,那么优选 Cluster-List 最短的路径 13, 选择邻居 ip 地址最小的路由 14, Route Dampening 路由抑制可以阻止公布不稳定的路由,它为每条路由分配一个动态的度量数字用来反映稳定程度,当一条路由出现摆动,就给 他分配一个惩罚值,摆动得越多,惩罚值越大。当一段时间不摆动,惩罚值降低,在一个半衰期后,降到原来的一半。如果惩 罚值超过抑制上限,该路由就被抑制,只有当一个半衰期后惩罚值降低到重新使用界限时,才重新使用。 缺省下, 惩罚值 – 每次摆动 1000 抑制界限 – 2000 重新使用界限 – 750 半衰期 – 15 分钟 最大抑制时间 – 60 分钟,或者半衰期的 4 倍 华中315安全网 www.315safe.com www.315safe.com CCIEnote by[Ka\(^oo^)/Ka] 第 7 页 共 32 页 IBGP and IGP Synchronization 在某些情况下将 IGBP 当 IGP 使用,但是每个 IBGP 路由器必须与其它每一个 IBGP 路由器建立对等,即必须保证 AS 内 IBGP 全互连, 全互连可以防止 AS 内产生 BGP 环路,同时保证 BGP 路由上的所有路由器都知道如何转发数据包到目的地 IBGP 和 IGP 同步规则 一条从 IBGP 邻居学习到的路由在进入 IGP 路由表或者公布给一个 BGP 对端之前,通过 IGP 必须知道该路由. 同步可以防止没有足够信息的 IGP 造成路由黑洞.但也会带来很多缺陷,为了使 IBGP 工作正常,可以采用 2种方法: 1. 将外部路由重分发到 IGP 中从而保证 IGP 和 BGP 同步,但对于 IGP 路由器一般无法承受巨大的 internet 路由条 目,在几个大型的中断事故中,多数是 BGP 无意中被分发到了 OSPF 或者 IS-IS 中 2. IBGP为逻辑上全网状连接,且关闭同步功能,所有路由器通过BGP知道外部路由,且不用通知IGP就能将路由加入 到路由表中,但如果一个 AS 中有多个 IBGP 路由器,一个路由器将于其他每个路由器建立对等,十分耗时,故常采 用联盟或者路由反射器来控制 IBGP 逻辑上的全互连. 同步是一个较老的 BGP 特性,在新版的 IOS 中,同步默认被关闭 下图为关闭同步前后的区别,前者为同步打开,后者为同步关闭 Seattle#show ip bgp BGP table version is 7, local router ID is 206.25.193.1 Status codes: s suppressed, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 192.168.1.0 0.0.0.0 0 32768 i * i 192.168.1.1 0 100 0 i *>i192.168.2.0 192.168.1.1 0 100 0 i *>i206.25.161.0 192.168.1.1 0 100 0 i *> 206.25.193.0 0.0.0.0 0 32768 i Seattle#show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default Gateway of last resort is not set C 206.25.193.0 is directly connected, Loopback0 C 192.168.1.0 is directly connected, Serial0 Seattle# 关闭同步以后 Seattle#show ip bgp BGP table version is 11, local router ID is 206.25.193.1 Status codes: s suppressed, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 192.168.1.0 0.0.0.0 0 32768 i * i 192.168.1.1 0 100 0 i *>i192.168.2.0 192.168.1.1 0 100 0 i * i 192.168.2.1 0 100 0 i *>i206.25.129.0 192.168.2.1 0 100 0 i *>i206.25.161.0 192.168.1.1 0 100 0 i *> 206.25.193.0 0.0.0.0 0 32768 i Seattle#show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default Gateway of last resort is not set C 206.25.193.0 is directly connected, Loopback0 B 206.25.129.0 [200/0] via 192.168.2.1, 00:07:34 C 192.168.1.0 is directly connected, Serial0 B 192.168.2.0 [200/0] via 192.168.1.1, 00:07:42 B 206.25.161.0 [200/0] via 192.168.1.1, 00:07:43 Seattle#ping 206.25.129.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 206.25.129.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 4/5/8 ms Seattle# 华中315安全网 www.315safe.com www.315safe.com CCIEnote by[Ka\(^oo^)/Ka] 第 8 页 共 32 页 Managing Large-Scale BGP Peering 在一个较大规模的 AS 中试图生成全互连的 IBGP 对等关系是一个规模庞大的工作,同时对于 BGP 对等关系的管理也十分复杂。 BGP 设计了如下 4种方式对对等关系进行管理 Peer groups 在大型互联网络中,一个路由器的策略会应用到多个对等关系,在 Cisco 路由器中可以使用一个名字和一系列的路由策略 来定义一个对等组(Peer Groups),任何对等策略对整个 group 生效,对等组提高了路由器性能,只需访问一次策略数据库, 生成一个 Update 消息,并将副本发给所有的对等体即可。 Communities 相对于 PeerGroups 是对一组路由器使用策略,而团体(Communities)是对一组路由是用策略,团体可设置成为一个公用的 值或者管理员定义的特有团体,一条路由可以属于多个团体,路由聚合可以继承所有路由的全部团体属性 Route reflectors 在大型的 AS 中,全互连带来极大的工作量,通过路由反射器(RR)可以建立一种 C/S 结构,如一个含有 N个路由器的 AS 内, 全互连将使用对等会话数目为(N-2)N/2,如果选取一个 RR,则对等会话数目将降为 N-1。对一个 C/S 结构称其为一个 RR-Cluster。RR 公布路由的规则: 1,如果路由是从非客户的 IBGP 对等学习到的,只将它反射给客户 2,如果路由是从客户处学习到的,将它反射给除了发起该路由的客户外所有的客户以及非客户 3,如果路由是从 EBGP 邻居学来的,将它反射给所有的客户和非客户 将一个路由器配置成路由反射器(RR),用 neigbhor route-reflect-client 把自己配成反射器,由该命令所定义的 IBGP 邻 居路由器当成客户机,这些客户机只与 RR 建立对等关系。RR 不能改动它从客户处收到的路由的属性。在一个 AS 内可以 做 RR 冗余,因为客户并不知道自己是客户,所有一个 RR 可以是另一个路由反射器的客户。只需要 RR 支持路由反射,客 户不需要支持 RR 使用了 2 个 BGP 路径属性: ORIGINATOR_ID 由路由反射器(RR)使用,它是有路由发起者产生的一个 32 比特的值,该值是本地 AS 里路由发起者的 RID,如果路由器发起者从该属性值中看到了自己的 RID,就 说明有环路,该路由忽略 Cluster_LIST 由路由反射器使用,它是路由经过反射器簇 ID 的一个序号。如果路由反射器在该 属性值中发现自己的本地簇 ID,就说明有环路,忽略掉。如果一个簇里不止一个 RR,要在进程下用 bgp cluster-id 手工指定簇 ID,因为默认 RR 将自己的 RID 当成 cluster-id Confederations 联盟(confederations)是一组分成子自治系统组的 AS 如右图 1. 每一个联盟分配一个联盟ID,对于外端而言,此联盟ID代表的是 整个联盟的 AS 号.联盟其实质是对自治系统的再次细分. 2. AS_PATH 中加入了 AS_CONFED_SEQUENCE 和 AS_CONFED_SET 用法 和 AS_SEQUENCE 及 AS_SET 完全相同, 3. 在联盟环境下,所有路由器必须支持联盟 4. 用预留 AS(64512~65535)作为联盟中的 AS 编号是一中通用做法 5. 选路优先级:联盟的外部 EBGP〉AS 成员的 EBGP〉IBGP 6. 联盟相对于标准的 AS,Next_hops MED 可以不加修改的公布给联 盟中的其他 AS 成员的 EBGP 对端,而且可以发送 Local_Pref 属 性 7. 大型系统中,联盟和 RR 同时使用可以更好的控制 IBGP 对等关系 BGP Message Formats BGP Message Header BGP 消息信头包含了标记,长度和类型 3个字段 Code Type 1 Open 2 Update 3 Notification 4 Keepalive 华中315安全网 www.315safe.com www.315safe.com CCIEnote by[Ka\(^oo^)/Ka] 第 9 页 共 32 页 Open Message Update Message Notification Message Error Code Error Error Subcode Subcode Detail 1 连接不同步 2 错误的消息长度 1 Message Header Error 3 错误的消息格式 1 不支持的版本号 2 错误的对等 AS(peer AS) 3 错误的 BGP 标识符(BGP-RID) 4 错误的可选字段 5 鉴别失败(Authentication failure) 2 Open Message Error 6 不可接受的 Holdtime 1 畸形的属性列表 2 不可识别的公认(well-known) 属性 3 丢失的公认属性 4 属性标志错误 5 属性长度错误 6 非法的 ORIGIN 属性 7 AS 路由环路 8 非法的下一跳属性 9 可选属性错误 10 非法的网段(invalid network) 3 Update Message Error 11 畸形的 AS_Path 4 Hold 计时器超时 0 — 5 有限状态机错误 0 — 6 终止 0 — 华中315安全网 www.315safe.com www.315safe.com CCIEnote by[Ka\(^oo^)/Ka] 第 10 页 共 32 页 Basic BGP Configuration Case Study: Peering BGP Routers Vail router bgp 100 neighbor 192.168.1.225 remote-as 200 Taos router bgp 200 neighbor 192.168.1.226 remote-as 100 Vail#show ip bgp neighbors BGP neighbor is 192.168.1.225, remote AS 200, external link Index 1, Offset 0, Mask 0x2 BGP version 4, remote router ID 192.168.1.225 BGP state = Established, table version = 1, up for 19:32:02 Last read 00:00:03, hold time is 180, keepalive interval is 60 seconds Minimum time between advertisement runs is 30 seconds Received 1175 messages, 0 notifications, 0 in queue Sent 1175 messages, 0 notifications, 0 in queue Prefix advertised 0, suppressed 0, withdrawn 0 Connections established 1; dropped 0 Last reset never 0 accepted prefixes consume 0 bytes 0 history paths consume 0 bytes Connection state is ESTAB, I/O status: 1, unread input bytes: 0 Local host: 192.168.1.226, Local port: 11025 Foreign host: 192.168.1.225, Foreign port: 179 Enqueued packets for retransmit: 0, input: 0 mis-ordered: 0 (0 bytes) Event Timers (current time is 0x45FDF2C): Timer Starts Wakeups Next Retrans 1176 0 0x0 TimeWait 0 0 0x0 AckHold 1175 885 0x0 SendWnd 0 0 0x0 KeepAlive 0 0 0x0 GiveUp 0 0 0x0 PmtuAger 0 0 0x0 DeadWait 0 0 0x0 iss: 4072889888 snduna: 4072912224 sndnxt: 4072912224 sndwnd: 16004 irs: 4121607729 rcvnxt: 4121630065 rcvwnd: 16004 delrcvwnd: 380 SRTT: 300 ms, RTTO: 607 ms, RTV: 3 ms, KRTT: 0 ms minRTT: 4 ms, maxRTT: 340 ms, ACK hold: 200 ms Flags: higher precedence, nagle Datagrams (max data segment is 1460 bytes): Rcvd: 2220 (out of order: 0), with data: 1175, total data bytes: 22335 Sent: 2077 (retransmit: 0), with data: 1175, total data bytes: 22335 Vail# 华中315安全网 www.315safe.com www.315safe.com CCIEnote by[Ka\(^oo^)/Ka] 第 11 页 共 32 页 Vail 的配置 router bgp 100 bgp router-id 1.1.3.2 //routerid 更改需要重启 BGP 进程 clear ip bgp neighbor 192.168.1.222 remote-as 100 neighbor 192.168.1.225 remote-as 200 Aspen(config)#router bgp 100 Aspen(config-router)#neighbor 192.168.1.221 remote-as 100 Aspen(config-router)#^Z Aspen# 18:24:13: %SYS-5-CONFIG_I: Configured from console by console Aspen# //debug bgp events 18:24:33: BGP: 192.168.1.221 went from Idle to Active 18:24:41: BGP: 192.168.1.221 went from Active to OpenSent 18:24:42: BGP: 192.168.1.221 went from OpenSent to OpenConfirm 18:24:42: BGP: 192.168.1.221 went from OpenConfirm to Established 18:24:43: BGP: 192.168.1.221 computing updates, neighbor version 0, table version n 1, starting at 0.0.0.0 18:24:43: BGP: 192.168.1.221 update run completed, ran for 0ms, neighbor version 0, start version 1, throttled to 1, check point net 0.0.0.0 Case Study: BGP and IGP redistributions 通过在 BGP 路由进程模式下 redistribute eigrp 300 可将 IGP
本文档为【经典BGP学习笔记】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_766662
暂无简介~
格式:pdf
大小:1MB
软件:PDF阅读器
页数:32
分类:互联网
上传时间:2013-04-16
浏览量:54