CCNP 认证-BSCI课程BGP部分笔记.doc

上传人:创****公 文档编号:3721872 上传时间:2019-07-09 格式:DOC 页数:24 大小:2.04MB
下载 相关 举报
CCNP 认证-BSCI课程BGP部分笔记.doc_第1页
第1页 / 共24页
CCNP 认证-BSCI课程BGP部分笔记.doc_第2页
第2页 / 共24页
CCNP 认证-BSCI课程BGP部分笔记.doc_第3页
第3页 / 共24页
CCNP 认证-BSCI课程BGP部分笔记.doc_第4页
第4页 / 共24页
CCNP 认证-BSCI课程BGP部分笔记.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、CCNP 认证BSCI 课程BGP 中文笔记本笔记结合 www.C 视频录像及其培训 PPT,以及华为技术讲座(魏伟)的 BGP 视频和CISCO Press BSCI 第三版(英文电子版)等内容进行编写。(本文仅供参考、讨论使用。 )CCNP BSCI 第三版认证考试手册图书封皮1目 录一. BGP 和 AS.2二. BGP 特性 .2三. BGP Message 类型 .3四. BGP 概念及术语 .4五. BGP 的基本配置 .7六. BGP 汇总 .13七. BGP 属性 .14八. 附录 .192一. BGP 和 ASIGP(内部网关协议)用于一个 AS(自治系统)内部;CCNA 路

2、由部分及 BSCI 前面部分我们所学的都是关于IGP 的,在 IGP 里一般都是在一个 AS 内进行路由的选择,而 BGP 是在 AS 与 AS 之间进行路径的选择。EGP(外部网关协议)用于 AS 和 AS 之间;IGP 典型的例子为:RIP、IGRP、EIGRP、OSPF、ISIS 等;EGP 典型的例子为:BGP(目前 BGP 的版本是 4,即 BGP-4,以下简称 BGP)BGP(边界网关协议)可以保证路由不会产生环路;IBGP:内部 BGPEBGP:外部 BGPAggregation:路由汇聚Attribute:属性Originator-ID:组织 ID。是BGP一个属性,用于防止产

3、生路由环路。几种 AS:1.Stub AS 是单出入口的 AS2.传输(传递)AS 是 StubAS 经过这个 AS 才能到达其它的 AS。3.多出口 AS(在实际网络环境中,此类最常用) 。还有一些术语,在下面涉及到的部分中会体现出来。引用(侯湘婷的CCNP精华帖子中BGP部分):“当BGP 运行于一个 AS内,它被称为内部 BGP(IBGP) ,当 BGP运行于AS之间,它被称为外部BGP(EBGP),如果一台BGP 转发IBGP 数据流,它被称为一台渡越路由器(transit router ) ”“一个 AS 通常代表一个独立的组织结构,并应用它自己的路由和安全策略。EGP 用于帮助这些

4、自治系统共享它们的路由信息,每个自治系统有一个 16 比特的标识符,它由 Internet 注册机构或服务提供商分配,范围从 165535,其中 6451265535 的 AS 编号范围留作私有,因为 AS 号码有限,所以一个组织结构要想获得一个 AS 号码必须提供充分的理由。Internet 号码分配管理局(Internet Assigned Numbers Authority,IANA )使负责分配自治系统编号的最顶层管理机构。它规定,连接到单个服务提供商并共享该供应商路由策略的组织机构可以使用私有 AS 号,从该网络外出时被供应商注册的 AS 号码替换掉,这个过程与 NAT 相似。 ”二

5、. BGP 特性BGP 它是 Path-Vector Routing(路径矢量类的路由协议,和 DVP 距离矢量路由协议类似) 。BGP 适用于大型的网络(如 Internet,据了解在国内的某些企业的全国性大型网络(非 ISP)中也有使用 BGP的) 。BGP 支持 VLSM、CIDR 和路由汇聚(这里叫 Aggregation) 。BGP 是可靠的,基于 TCP(Port Numer 179)进行连接。BGP 使用复杂的度(BGP 里叫 Attribute属性)来评价一条路径的好坏。3BGP 它允许定义策略和规则,可以控制数据如何通过一个 AS。PBR:也叫Policy-Based Rou

6、ting。顾名思义就是基于策略(一跳一跳Hop by Hop)的路由。那啥时用 BGP 啥时不用 BGP 呢?何时可以使用:1.允许数据穿越一个 AS 到另一个 AS;2.一个 AS 有多个连接到其它的 AS;3.有数据进入或离开 AS 时需要进行(策略)控制。何时不使用:1.连接到互联网或其它 AS 只有一个出口;2.路由器等网络设备的内存容量有限、CPU 速度不快、带宽很窄;3.技术人员(网络管理者)了解 BGP 但不了解 BGP 路由如何过滤、路径如何选择;4.AS 之间带宽比较低(窄)时。继续介绍 BGP 的特性:1.BGP 是增量更新,同时也是触发更新;2.周期性的发送 Keepal

7、ive 信息(有点像 OSPF、EIGRP 里的 Hello 报文)来验证 TCP 连接是否正常,以确保对方的路由器状态是正常的。3.丰富并且复杂的 Metrics(BGP 里叫属性,RIP 用 Hop,OSPF 用 Cost 等等,而 BGP 有 Very 多的属性) ,BGP 使用属性来判断一条路径的好坏。4.一般用于巨大的网络中使用。BGP 在设计上就解决了避免环路产生的可能性。BGP 的使用原则:来聊聊 BGP 的数据库这里有三个表。邻居表、BGP 转发表(也叫转发库) 、IP 路由表。邻居表列出周围的邻居,邻居可以是直连也可以不直连,只要三层(IP)连通,可以建立 TCP 连接即可。

8、转发表是从邻居学习来的,包含到达某个目的的多条路径,使用属性判断哪条路径最好,放入到路由表中。IP 路由表里存放着到达目的的最好的路径。三. BGP Message 类型41. Open :用于建立连接,包含 Hold Time 和 Router-ID;2. KeepAlives:周期发送用于维护连接检查路径(这个包是不可靠的)3. Update:包括到达目的网络的路径和属性,更新路由信息用,一次更新只有一条路径,但可以有多条网络。属性包括(起点、AS 路径、邻居、AS 间的度等) ;Update 可以删除(宣告不可达)和增加(宣告可达)路由。4. Notification:网络中出现错误,检

9、测到后断开连接并发送通知给对方。四种类型大白话表示:四. BGP 概念及术语这里主要讲讲邻居关系在 BGP 中,一个 Peer 就是邻居( Peers=Neighbors) 。BGP 通过 TCP 来建立邻居关系(不论是否在同一 AS 中) ,只要能建立 TCP 连接交换 BGP 信息就可以成本 Peer。如图5BGP 和 ISIS 一样以链路为边界。EBGP 的邻居是在不同的 AS 之间的路由器,并且要求 EBGP 的邻居(路由器)是直连的。如图:IBGP 的邻居要求在同一 AS 中的路由器,不要求是直连的,只要能建立 TCP 连接即可。如图:IGP 和再发布BGP 路由一般不会注入(再发布

10、)到 IGP 中去,但可以使用静态路由或默认路由。一般 IGP 会再发布到 BGP中,以便告诉外部如何进入内部网络中。IBGP 和水平分割6在一个 AS 中,所有运行 BGP 的路由器我们通常要求是全互连。无类网络不要求是全互连。从 IBGP 学习到的路由绝不对再传播给其它的 IBGP 邻居。IGP 是基于端口的水平分割;而 IBGP 是基于邻居的水平分割。水平分割的作用是避免产生路由环路。如上图,如果在一个网络中(BCDE)的路由器不是全互连,那么将发生丢包的现象。比如说 B 知道 A 的网络,E 知道 F 的网络,B 和 E 是 IBGP 邻居,如果 E 要包发送到 A 的网络,E 会将包

11、发送到 C(或 D)上,但 C 和 D 并没有运行 BGP,所以 C 和 D 看不懂 BGP 路上器 E 发送过来的数据包,并且不知道要到达 A 的网络怎么走,虽然 B 知道,但 C 不会将包发送给 B。因为 C 不知道怎么到达 A 的网络。解决的办法是做 BGP 的再发布(也就是说把 A 的网络再发布到 AS65102 的 OSPF 网络中) ,虽然一般情况下我们不会这么做。在 B 和 E 上做再分布。这样 C 和 D 就知道到达 A 的网络如何走。个人观点:还有一个办法也可以解决该问题。在现有配置不变的情况下(B 和 E 上启用 BGP) ,在 B 和E 各加一条静态路由(例:在 B 上用

12、 Route A 网络 从 B 的哪个接口或地址走) ,并做该静态路由的再分布即可。这样 C 和 D 就可以学到到达 A、F 网络的路由了。当然也会说在 C 和 D 上做静态路由到达 A、F 网络,可是这样需要在 C 和 D 上各加两条静态路由,总共需要四条,如果 B 和 E 之间有多台像 C 和 D 的路由器,那很显然这样的方法比较麻烦。最好的方法就是在 B 和 E 上各做一条静态路由,然后再分布。B 和 E 需要同步。也就是说 B 要知道如何到达 E(E 到 B 同理)IBGP 如何能够通讯(连通) ,B 和 E 之间的也要知道 IGP 如何到达。例:IBGP 里,B 知道到达 E 可以走

13、 C、D;IGP 里 C 和 D 要知道到达 A、F 网络如何走(从 B、E 学到到达 A、F 网络的路由) 。这样就是同步。当 BCDE 是全互连状态时,就不需要使用同步。非全互连时需要使用同步。同步是指 BGP 和 IGP 进行同步,也就是说 AS 内的所有路由器都要知道到达另一个网络(AS)如何走(路径) 。IGP 路由表中的路由成为 BGP 路由的方式:1. 使用再发布路由协议2. 使用 Network 命令部分发布(有选择的)路由协议3. 使用静态路由加 Network 命令指定。HoldTime 一般情况下是 6 倍于 KeepAlive 时间。BGP 中成为多条路径(路由)的条件

14、是属性要相同的。下面讲讲为什么在实际网络环境中很少是全互连。BGP 本身就应用于巨大的网络(按 CISCO PressBSCI 第三版上讲)中,试想在一个 AS 里 N 多个路由器7上全互连,这需要巨高的成本,而且很有可能做不起来,因为路由器的端口有限。有个公式来计算多少台路由器需要多少共需要多少条连接 N*(N-1)/2,这里的 N 是路由器的数量。五. BGP 的基本配置主要有三块:基本操作、配置邻居、调试排错。1. 基本操作首先需要启用 BGP 路由命令:Router(config)# router BGP autonomous-system这里的 AS 不能任一指定(因为 BGP 的一

15、边是您公司的网络,另一边是 Internet) 。一台路由器只能有一个 BGP 实例,不会把一个路由器放到多个 BGP(AS)中。AS 号是否一样,来判断邻居是 IBGP 还是 EBGP,如果是同一 AS,那么是 IBGP。2. 配置邻居命令:Router(config-router)#neighbor ip-address | peer-group-name remote-as autonomous-system这个命令是用于指定邻居的,BGP 的邻居需要手动指定,这不像 RIP、OSPF 、EIGRP 那样。只有指定了邻居,才能激活 BGP 会话。可以用 IP 地址或对等组名来指定。命令中

16、的 IP 地址是邻居(对方)的 IP。EBGP 情况下,这个 IP 地址应该是与你这个路由器直连的 IP,而IBGP 情况下,这个 IP 地址可以是对方路由器上任何一个 IP 地址,当然要求两个路由器通过通(Ping 通) 。IBGP 的邻居 IP 一般情况下使用 Loopback 端口的 IP 地址进行邻居的指定。同步和 Shutdown 命令命令:Router(config-router)#neighbor ip-address | peer-group-name shutdown 这里使用 Shutdown 后,邻居关系并没有被删除,而是暂时不可用,一般用于维护和更改策略,它防止路由散动

17、(Route Flapping) 。启用的命令是 Router(config-router)# no neighbor ip-address | peer-group-name shutdownA 和 C 的关系是 EBGP,A 和 B 的关系是 IBGP,当流量从 B 发起到达 D 的时候,虽然 A 知道如何到达 C 网络,但 D 并不知道,解决的办法是在 A 和 B 上做 BGP 的再分布,这样 D 就知道如何到达 C 网络了。实现 B 到 C 网络通的两个条件:一是 IBGP 和 EBGP 连通,另一个是 AS65101 中 IGP 同样也是连通的(有点废话,呵呵) 。个人观点:在 A

18、上加条静态路由到 C 网络。或者在 D 上做静态路由(双向到 B 和 C 的)也可以解决。其实,就上图而言,实际网络环境下,如果在 AS65101 中只有这三个路由器的话倒用不着 BGP 了,但如果这个 AS 里的路由器不只这些路由器(A 和 B 之间不只一台像 D 这样的路由器) ,那么如果按照讲座中所述再分布 BGP 到 AS65101 的 EIGRP 网络中,那么处理能力低的路由器将会 Over,除非做 BGP 的过滤(ACL) 。这8本身就矛盾。刚才咨询了下,关于 BGP 中使用静态路由的情况,得知使用静态路由不好,原因未知。此问题欢迎大家共同讨论。BGP 邻居源地址:邻居指定(Nei

19、ghbor 命令)的地址是目的地址,是邻居地址。默认情况下从哪个端口发送出数据库哪个端口就是源地址。BGP 里要求,源地址必须匹配,如果不匹配,数据包将会被丢弃。下面看看什么情况下会出现源地址不匹配的现象。在 A 上指定邻居 B,那么 A 的源地址就是 10.1.1.1,邻居指定的目的地址就是 B 上的 10.1.1.2,C、D 同理,在这样的一个网络状态都是连通的情况下没有什么问题,但在网络断路情况下问题就出来了。比如说,当 A和 B 之间的链路 Down 时,A 和 B 的源地址就不一致了,A 的源地址是 10.3.3.1 而 B 的源地址是10.2.2.2(BGP 只要能够建立连接也就是

20、能连通并建立 TCP 会话就可以通,A 和 B 通过 A-C-D-B 通) 。如何确保路由器的源地址是稳定、一致不变?一般情况下我们使用 Loopback 地址。为此,在配置 BGP 邻居时我们需要更改路由器的源地址。命令:Router(config-router)# neighbor ip-address | peer-group-name update-source interface-type interface-number命令里的参数 update-source 指定的是自己路由器的 Loopback 口。在路由器上配置了 Loopback 地址后,当 A 和 B 的链路 Down

21、掉了,A 和 B 的邻居关系依然保持,因为源地址没变。一般要求路由器与邻居之间至少有一条路径是可用的。这样邻居关系就不会出现问题。变更源地址一般常用于 IBGP 中,EBGP 很少用,如果要在 EBGP 中使用,那么还需要额外的命令(因为EBGP 要求邻居是直连的,使用 Loopback 端口,EBGP 就不是直连的了) 。这是一个使用 Loopback 的 IBGP 网络的例子:这是一个使用 Loopback 的 EBGP 网络的例子:9在 EBGP 中使用 Loopback 端口,需要使用命令(前面提到过,需使用额外的命令,就是这个)Neighbor ip eBGP-multihop x,X 为跳数。这个命令只能使用在 EBGP 情况下。如图例。BGP 中 Next-hop(下一跳)不是指下一个路由器,而是指到达目标网络的下一个 AS。A 和 B 是 EBGP 邻居,C 和 B 是 IBGP 邻居。B 的下一跳是 A,地址为 10.10.10.3,C 的下一跳也是10.10.10.3(因为 BGP 的下一跳地址是下一个 AS 的地址) ,路由器 C 必须知道到达 10.10.10.3 怎么走,路径由B 告诉 C。BGP 在多路访问网络中的例子,如图:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 课件讲义

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。