BGP中文笔记整理闫文兴标记共享.doc_第1页
BGP中文笔记整理闫文兴标记共享.doc_第2页
BGP中文笔记整理闫文兴标记共享.doc_第3页
BGP中文笔记整理闫文兴标记共享.doc_第4页
BGP中文笔记整理闫文兴标记共享.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

CCIE: VICENT 全国首发 QQ群57447943目 录一.BGP和AS2二.BGP特性2三.BGP Message类型3四.BGP概念及术语4五.BGP的基本配置7六.BGP汇总13七.BGP属性14八.附录19一. BGP和ASIGP(内部网关协议)用于一个AS(自治系统)内部;CCNA路由部分及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一个属性,用于防止产生路由环路。几种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 用于帮助这些自治系统共享它们的路由信息,每个自治系统有一个16 比特的标识符,它由Internet注册机构或服务提供商分配,范围从165535,其中6451265535 的AS编号范围留作私有,因为AS号码有限,所以一个组织结构要想获得一个AS号码必须提供充分的理由。Internet 号码分配管理局(Internet Assigned Numbers Authority,IANA)使负责分配自治系统编号的最顶层管理机构。它规定,连接到单个服务提供商并共享该供应商路由策略的组织机构可以使用私有AS 号,从该网络外出时被供应商注册的AS 号码替换掉,这个过程与NAT相似。”二. BGP特性BGP它是Path-Vector Routing(路径矢量类的路由协议,和DVP距离矢量路由协议类似)。BGP适用于大型的网络(如Internet,据了解在国内的某些企业的全国性大型网络(非ISP)中也有使用BGP的)。BGP支持VLSM、CIDR和路由汇聚(这里叫Aggregation)。BGP是可靠的,基于TCP(Port Numer 179)进行连接。BGP使用复杂的度(BGP里叫Attribute属性)来评价一条路径的好坏。BGP它允许定义策略和规则,可以控制数据如何通过一个AS。PBR:也叫Policy-Based Routing。顾名思义就是基于策略(一跳一跳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.周期性的发送Keepalive 信息(有点像OSPF、EIGRP里的Hello报文)来验证TCP连接是否正常,以确保对方的路由器状态是正常的。3.丰富并且复杂的Metrics(BGP里叫属性,RIP用Hop,OSPF用Cost等等,而BGP有Very多的属性),BGP使用属性来判断一条路径的好坏。4.一般用于巨大的网络中使用。BGP在设计上就解决了避免环路产生的可能性。BGP的使用原则:来聊聊BGP的数据库这里有三个表。邻居表、BGP转发表(也叫转发库)、IP路由表。邻居表列出周围的邻居,邻居可以是直连也可以不直连,只要三层(IP)连通,可以建立TCP连接即可。转发表是从邻居学习来的,包含到达某个目的的多条路径,使用属性判断哪条路径最好,放入到路由表中。IP路由表里存放着到达目的的最好的路径。三. BGP Message类型1. Open :用于建立连接,包含Hold Time和Router-ID;2. KeepAlives:周期发送用于维护连接检查路径(这个包是不可靠的)3. Update:包括到达目的网络的路径和属性,更新路由信息用,一次更新只有一条路径,但可以有多条网络。属性包括(起点、AS路径、邻居、AS间的度等);Update可以删除(宣告不可达)和增加(宣告可达)路由。4. Notification:网络中出现错误,检测到后断开连接并发送通知给对方。四种类型大白话表示:四. BGP概念及术语这里主要讲讲邻居关系在BGP中,一个Peer就是邻居(Peers=Neighbors)。BGP通过TCP来建立邻居关系(不论是否在同一AS中),只要能建立TCP连接交换BGP信息就可以成本Peer。如图BGP和ISIS一样以链路为边界。EBGP的邻居是在不同的AS之间的路由器,并且要求EBGP的邻居(路由器)是直连的。如图:IBGP的邻居要求在同一AS中的路由器,不要求是直连的,只要能建立TCP连接即可。如图:IGP和再发布BGP路由一般不会注入(再发布)到IGP中去,但可以使用静态路由或默认路由。一般IGP会再发布到BGP中,以便告诉外部如何进入内部网络中。IBGP和水平分割在一个AS中,所有运行BGP的路由器我们通常要求是全互连。无类网络不要求是全互连。从IBGP学习到的路由绝不对再传播给其它的IBGP邻居。IGP是基于端口的水平分割;而IBGP是基于邻居的水平分割。水平分割的作用是避免产生路由环路。如上图,如果在一个网络中(BCDE)的路由器不是全互连,那么将发生丢包的现象。比如说B知道A的网络,E知道F的网络,B和E是IBGP邻居,如果E要包发送到A的网络,E会将包发送到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上用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可以走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中成为多条路径(路由)的条件是属性要相同的。下面讲讲为什么在实际网络环境中很少是全互连。BGP本身就应用于巨大的网络(按CISCO PressBSCI第三版上讲)中,试想在一个AS里N多个路由器上全互连,这需要巨高的成本,而且很有可能做不起来,因为路由器的端口有限。有个公式来计算多少台路由器需要多少共需要多少条连接N*(N-1)/2,这里的N是路由器的数量。五. BGP的基本配置主要有三块:基本操作、配置邻居、调试排错。1. 基本操作首先需要启用BGP路由命令:Router(config)# router BGP autonomous-system这里的AS不能任一指定(因为BGP的一边是您公司的网络,另一边是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地址或对等组名来指定。命令中的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后,邻居关系并没有被删除,而是暂时不可用,一般用于维护和更改策略,它防止路由散动(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上加条静态路由到C网络。或者在D上做静态路由(双向到B和C的)也可以解决。其实,就上图而言,实际网络环境下,如果在AS65101中只有这三个路由器的话倒用不着BGP了,但如果这个AS里的路由器不只这些路由器(A和B之间不只一台像D这样的路由器),那么如果按照讲座中所述再分布BGP到AS65101的EIGRP网络中,那么处理能力低的路由器将会Over,除非做BGP的过滤(ACL)。这本身就矛盾。刚才咨询了下,关于BGP中使用静态路由的情况,得知使用静态路由不好,原因未知。此问题欢迎大家共同讨论。BGP邻居源地址:邻居指定(Neighbor命令)的地址是目的地址,是邻居地址。默认情况下从哪个端口发送出数据库哪个端口就是源地址。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只要能够建立连接也就是能连通并建立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掉了,A和B的邻居关系依然保持,因为源地址没变。一般要求路由器与邻居之间至少有一条路径是可用的。这样邻居关系就不会出现问题。变更源地址一般常用于IBGP中,EBGP很少用,如果要在EBGP中使用,那么还需要额外的命令(因为EBGP要求邻居是直连的,使用Loopback端口,EBGP就不是直连的了)。这是一个使用Loopback的IBGP网络的例子:这是一个使用Loopback的EBGP网络的例子:在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在多路访问网络中的例子,如图:A和B的关系是EBGP,A和C的关系也是EBGP,B和C的关系是IBGP,C和D的关系是EBGP。当B学习到到达A时,B也会告诉C到达A怎么走,C也会从A学习到到达A怎么走,显然C的下一跳地址是A要比通过B再到A的路径更好。而D的下一跳是C。路由器也可以指定下一跳为自己,命令如下:Router(config-router)# neighbor ip-address | peer-group-name next-hop-self强制所有更新从这个邻居宣告为下一跳地址。一个实例:EBGP到IBGP的下一跳的地址是不会改变的。A的下一跳是B。IBGP到IBGP的下一跳可以改变。IBGP中也可以不改变下一跳地址,如:在B上不做下一跳是自己的命令,C的下一跳必须是可达的,也就是说C必须知道到达A怎么走,B必须宣告A给C到达A从B走。对等体组的概念:如果有一些路由器,它们都有一致的策略,就可以指定一个邻居组(对等组)创建组的命令:Router(config-router)# neighbor peer-group-name peer-group 添加成员的命令:Router(config-router)# neighbor ip-address peer-group peer-group-name这样的好处是简化配置。一个对等体组配置的实例。当有多个邻居时可以使用该命令。从图中的配置我们可以看到右边使用对等体组的配置简单多了。Network命令:Router(config-router)#network network-number mask network-mask和EIGRP路由协议的Network命令有所不同。这个是注入BGP网络路由的命令。无Mask的宣告将是有类网络(A、B、C),有Mask的则是无类网络。进行配置之前必须保证所宣告的网络是可用(可达)的。下面讲讲同步使用同步的目的是避免出现黑洞(接收到数据包后不知道给谁,而只能丢弃)。同步默认是打开的,全互连时(用于IBGP)需要关闭同步,命令是:Router(config-router)#no synchronization 同步主要是用于IBGP之间进行,EBGP不需要同步。只有两个IBGP,所以B和C是全互连状态,所以关闭同步。3. 调试排错BGP邻居建立会话的5种状态:1. Idle:查找路由表2. Connect:找到路由表后进行TCP三次握手3. Open Sent:握上手后发送Open message消息4. Open Confirm:收到对方发来的Open消息5. Established:会话建立,交换信息。查看建立过程的命令:Router(config-router)# debug ip BGP events当找不到路由表时,状态为Idle,一般情况下问题出在IGP。邻居关系建立了,状态为Established,可以用Router# Show IP BGP Summary来查看汇总的情况。Active状态:当路由器发送出OPEN包给邻居等待回应,如果长时间未接收到回应则超时,超时后状态更改为Idle,这是由于TCP链路上出现了问题所致。产生问题的原因主要有:1. 邻居的IP配置有误;2. 没有指定邻居语句(两边都要指定)3. 源地址不是指定邻居的地址,或者不可达。Router# show ip BGP summary邻居BGP AS 信息包 数据库 状态 经过版本 号接收 发送 版本路由器数量Router# show ip BGPBGP表的内容BGP Table Version is 23,版本(序)号是23,本地的RID是192.168.1.49*是有效的,是最好的,i是通过IBGP学习来的,Network是网络,Next Hop是下一跳(AS)的地址,Metric是度,Locprf是本地优先级(默认为100),Weight是权重(加权),Path是的i是起点是IGP(e为EGP,?为不完整),Path中的数字部分为AS号。关于这里所提到的属性(metric、Locprf、Weight)在下面BGP属性部分会进行讲解。清除BGP的会话,下面三种情况下需要:1. 策略更改时(ACL、Time、attributes)2. 策略需要立即生效。3. 策略需要立即执行(其实和第2点一样)。清除全部会话的命令:Router# clear ip BGP * 复位所有BGP连接,全部BGP路由表将被丢弃,BGP会话状态更改为Idle。清除单个会话的命令:Router# clear ip BGP ip-address仅复位单个BGP连接,BGP路由表将被丢弃,BGP会话状态更改为Idle。只需在一边执行此命令即可。如果想不复位连接,也就是会话不丢失(邻居关系不重建)来使变更策略生效的话,使用下面的命令:Router# clear ip BGP *|address soft out这个命令是应用于Outbound的策略。Inbound的策略的应用:首先要指定邻居关系在建立时要先保存Update信息(会保存在内存中),命令:Router(config-router)# neighbor ip-address soft-reconfiguration inbound这样才能在Inbound策略变更时使用下面的命令:Router# clear ip BGP *|address soft in使用Soft out/in这样命令的好处是邻居(会话)关系不用重新建立,节省了带宽,增加了收敛时间。邻居查看命令:Router# show ip BGP neighbors红色部分为BGP当前的状态。查看BGP update更新过程的命令:Router# debug ip BGP updates在一个稳定的网络,使用这条命令可能不能立即看到包,立即看到可以使用Clear ip BGP *,使之生效。Debug update是增量更新。一个Update包只包括一条路由(可以是多条路径)和一个(类)BGP属性,一个Update包可以删除多条路由(因为删除用不到属性)。六. BGP汇总讲解下1. BGP4(目前版本是4)是无类的路由协议(CIDR)2. BGP4如何进行路由汇总。BGP4支持VLSM,路由匹配规则是最长匹配。BGP4可以在任一一个AS中的任一一个路由器上进行汇总。BGP4默认是启用自动汇总的。一般建议关闭自动汇总(和EIGRP等路由一样,不然发布到Internet上就会出问题了。)。我们可以使用人工汇总。有两种方式:第一种:命令:Router(config-router)# network network-number mask network-mask和命令:Router(config)# ip route prefix mask null0Network命令是将已存在(和已由IGP汇总)的路由表宣告到BGP中。Ip route 命令是人工创建一条静态的汇总路由。Null 0是空端口,不是一个物理的端口,目的是告诉其它路由从我这个路由走,但具体怎么走,不是指定一个物理的端口。Network命令不仅宣告汇总路由,并且也将具体路由宣告出去。如果不想将具体路由宣告出去,需进行过滤(前面提到的Outbound策略)。Network宣告要求汇总后的网络(路由)必须是已存在的,Network命令本身不能做汇总,需要IP route命令配合。这种汇总比较麻烦,我们并不推荐。只当需要将已由IGP汇总(OSPF、EIGRP等)后的路由原封不动地发布到BGP里的情况下才使用。第二种:命令:Router(config-router)# aggregate-address ip-address mask summary-only as-setAggregate-address汇总命令它是创建一个汇总的路由并进行宣告。Summary-only参数是只宣告汇总路由,屏蔽具体路由(不发布具体路由)。AS-Set参数:不同路由经过的AS可能不一样,这条命令的作用在于汇总路由知道具体路由所经过的AS(的集合),以避免产生环路。这样汇总不须人工指定空端口,系统会自动产生。BGP中我们推荐使用第二种方法,我们用RouterC# show ip BGP来查看。*这条路由是汇总路由,下一跳是自己。S表示具体路由不会被传送,而是被抑制(镇压)。七. BGP属性BGP现有16种属性,在CCNP中我们只要求使用其中的6种属性,BGP最多的性可以达到256种。(关于属性的两种视频都要看看。)带*号部分为已知的、必遵的、可传递的属性,下面具体说明下:AS-Path:一条中由在BGP网络上传播所经过的AS。当一条路由有两条相同的AS号码说明有环路产生。图中B网络到达A网络所经过的AS是65500、64520。B经过这样一条AS-Path(路径)到达A网络。个人观点:觉得华为的BGP讲座中关于AS-Path讲的比较好,容易进行AS-Path最优的比较。Next-Hop:在IGP下一跳是直连的路由器,而在BGP中下一跳是下一个AS。图中所示A告诉B,A可以到达172.16.0.0网络,B的下一跳是10.10.10.3,B将这条路由告诉C,C的下一跳也是10.10.10.3,C也就知道到达172.16.0.0网络从10.10.10.3,但C必须要有能够到达10.10.10.0网络,B通过IGP路由告诉C,通过B可以到达10.10.10.0,这样就保证了C的下一跳是可达的。Origin:起源(也叫起点)属性。注入BGP路由表有三种方式(来源/起源):一种是用Network命令进行,在BGP路由表显示为i,另一种是再发布EGP获得的,在路由表中显示为E,最后一种是从IGP或静态路由再发布过来的,显示为?。Local Preference :本地优先控制在一个As内从哪一个IBGP离开这个AS。本地优先值仅在AS内部中使用。值越高优先级越高。默认值为100。Multiexit Discriminator (MED):作用是影响路由选择。值越小优先级越高。MED仅向EBGP邻居发送。它是可选的、非传递属性。在B和C上设置MED,以影响A的路由选择。Weight(Cisco Only):权重作用是影响路由选择,值越大优先级越高。不向BGP邻居发送,仅限本地路由器。CISCO私有的属性。在A上设置Weight,以影响A的路由选择。(要了解Weight和MED的区别。)BGP路由选择的决策:中、英文比较着看吧:)使用Route map命令控制路由的选择1.local preference 本地优先是在AS内部传递IBGP会话之间进行。作用是以决定从哪一个路由器离开本网络到达目标网络路径的好坏。默认值为100,更改值的命令是:Router(config-router)# BGP default local-preference value一个使用本地优先的例子:更改本地优先之前的路由表更改之后的路由表2.multi-exit discriminator (MED) 命令:Router(config-router)# default-metric numberMED有时又叫BGP的metrics值,默认为0,在AS之间有多条路径可达时使用,非传递属性。看下面这样一个例子,从而理解MED影响路径选择的设计思想(同时也可以结合本地优先扩展进行思考)。从C网络到达Z网络的路径选择。下面是运用MED影响路径选择的路由器配置及路由表。多宿主(多出口)情况下的网络设计1. 使用默认(缺省)路由;(在出口上应用)2. 使用默认路由和特定路上;(运行BGP或BGP再发布到IGP中,需过滤)3. 所有的路由器运行BGP,关闭BGP同步(会话全互连)。为什么要使用多宿主?1.可靠性高2.高性能另:关于路由反射以及联盟部分可以参考BSCI第三版中P615-621部分,详细可翻阅TCP/IP卷2)。八. 附录引用(侯湘婷的CCNP精华帖子中BGP部分):关于BGP 的几个问题?这几天学习BGP,感觉很累,有一些不懂,向大家请教1、IBGP 是起什么作用的,一个AS 中运行了IBGP 是否就不用运行IGP 呢?2、BGP 路由器中有一个BGP 表和一个路由表,两个表有什么区别?什么时候交互信息?BGP 表有什么用?还有命令show ip BGP paths 显示BGP 拓扑图,命令show ip BGP 显示BGP 路由表,这两个显示有什么区别?3、在配置BGP 时,是否一定要用network 命令向BGP 通告网络?为什么被通告的网络必须在路由表中呢?4、clear ip BGP 命令在什么时候使用?5、前缀列表能否用于其他路由协议(BGP 外),如果能够,怎么实现?6、对一条特定路由设置本地优先值用什么命令?7、将静态路由在发布到BGP 是为了通告聚合路由不是来自路由表,这样做有什么意义?还有什么是到null 0 的静态路由?我来给你回答吧,不是很准确,我也正在准备这门。1、一个AS 中可以不运行IGP,可以在full mesh 时使用IBGP 时。但很浪费资源,同时很耗CPU 资源和内存资源。2、BGP 表和ROUTE 表是并行的关系,不是在某个视频里那位老师讲的是素材关系。要同步时就互相交互信息。BGP 表的使用场合比如在对外的EBGP PEER 宣告时就使用。3、可以不用network 宣告网络,但如果不宣告,路由就不会注入BGP 表里。被通告的网络必须要在路由表里的原因就是由于必须要达到两者的同步。4、在配置完成后,必须要使用clear 命令,起着复位的作用,同时建立新的TCP 会话。5、我现在所看到的,只有在BGP 协议里使用。6、local prc 是BGP 的属性。这个不用多说。7、比如到某个AS 只有一条路径,那肯定使用静态路由要好得多,你说这样做有什么意义?!到null0 接口可以把一些不需要的路由给路由进黑洞里。1、IBGP 是起什么作用的,一个AS 中运行了IBGP 是否就不用运行IGP 呢?建立IBGP 对等的目的就是把BGP 路由发布给自治系统内的路由器,如果IBGP 不是直连的(IBGP 一般都不是的,而EBGP 通常是的),就需要用可达性来建立对等。而一个自治系统内部的可达性需要IGP 来提供,BGP 本身并不能发现路由。(有人可能会说,我用静态路由也可以的呀,当然这和用IGP 是一样的。)另外,如果把BGP 再分发给IGP,就不需要IBGP 了。However,需要IGP。2、1、IBGP 是起什么作用的,一个AS 中运行了IBGP 是否就不用运行IGP 呢?如果你只有一台设备,或者只有一个出口,ok 那么你不需要运行IBGP,IBGP 运行是为了更好的在AS 内运行BGP 控制选路策略而设。你去研究一下那些BGP 属性2、BGP 路由器中有一个BGP 表和一个路由表,两个表有什么区别?什么时候交互信息?BGP 表有什么用?还有命令show ip BGP pathsBGP 基于TCP 连接,请问在7 层模型中,TCP 是建立在什么的基础上?假如没有IGP 表的选路,TCP 能建立起来的么?数据报文文是如何从一台设备到达另一台设备的?什么叫递归查询?3、在配置BGP 时,是否一定要用network 命令向BGP 通告网络?为什么被通告的网络必须在路由表中呢?BGP 的路由属性中 i 和 ?代表的BGP 路由是怎么进入路由表的呢?他们的选路优先级谁高?如果使用network 通告的网络不在路由表中,那么BGP 使用TCP 连接IGP 使用ip 连接,7 层模型考虑了么?是否会出现路由黑洞?4、clear ip BGP 命令在什么时候使用?整个互联网都运行BGP 是否每个人员配置一下自己的设备,整个互联网都必须摆动一下呢?那还有完没完?5、前缀列表能否用于其他路由协议(BGP 外),如果能够,怎么实现?前缀列表比控制列表好在哪里,如果那么好为什么不全部使用前缀列表而仍要使用控制列表呢?6、对一条特定路由设置本地优先值用什么命令? (查书)7、将静态路由在发布到BGP 是为了通告聚合路由不是来自路由表,这样做有什么意义?还有什么是到null 0 的静态路由?EIGP,BGP 的聚合路由为什么都会自动产生一条到NUll0 的路由?路由表查路的规则是什么?干嘛为什么要放null0 这个垃圾桶在聚合路由中,什么时候会产生路由黑洞?管理距离从接口外出的静态路由0经下一跳的静态路由1EIGRP 归纳路由5EBGP(外部BGP) 20内部EIGRP 90IGRP 100OSPF 110IS-IS 115RIP(v1、v2) 120EGP 140外部EIGRP 170IBGP(内部BGP) 200未知255一个AS通常代表一个独立的组织结构,并应用它自己的路由和安全策略。EGP 用于帮助这些自治系统共享它们的路由信息,每个自治系统有一个16 比特的标识符,它由Internet注册机构或服务提供商分配,范围从165535,其中6451265535 的AS编号范围留作私有,因为AS号码有限,所以一个组织结构要想获得一个AS号码必须提供充分的理由。Internet 号码分配管理局(Internet Assigned Numbers Authority,IANA)使负责分配自治系统编号的最顶层管理机构。它规定,连接到单个服务提供商并共享该供应商路由策略的组织机构可以使用私有AS 号,从该网络外出时被供应商注册的AS 号码替换掉,这个过程与NAT相似。单宿主(Single-Homed)自治系统一个AS只有到外部网路的单一出口点,它就被认为是单宿主自治系统,往往被称为末节网络,只需使用一条缺省路由来处理所有去往外部网络的数据流。多宿主(Multihomed)非渡越自治系统一个AS有到外部网络的多个出口点,则它被认为是一个多宿主自治系统,一个非渡越型AS不允许渡越数据流(源与目的地都在本AS 之外),只通告自己的路由。多宿主渡越自治系统一个多宿主渡越型自治系统有到外面世界的多条连接,并可以被用于转接其他自治系统间的数据流。当BGP运行于一个AS内,它被称为内部BGP(IBGP),当BGP运行于AS之间,它被称为外部BGP(EBGP),如果一台BGP 转发IBGP 数据流,它被称为一台渡越路由器(transit router)。BGP 的基本操作BGP 更新由TCP 协议承载,使用端口号179。与之相对,RIP 更新使用UDP端口号520,而OSPF 不使用第4 层协议。有限状态机(FSM)用来描述BGP 邻居关系协商过程。四种BGP 消息类型:打开(open)、更新(update)、通知(notification)、keepalive。FSM1- 空闲(idle)该过程BGP对它的资源进行初始化,复位一个连接重试计时器,发起一条TCP 连接,并开始倾听远程对等体所发起的连接。2- 连接(connect)TCP 连接成功,则转到OpenSent状态,TCP连接失败,则转到active状态,将尝试再次连接3- 活跃(active)试图发起TCP连接获得对等体,成功转到OpenSent状态,连接重试计时器超时,退回连接状态。4- 打开消息已发送(OpenSent)等待其对等体发送打开消息,如果出错,则发送一条出错消息并退回空闲状态,如果无错,则开始发送Keepalive 并复位keepalive 计时器。5- 打开消息确认(OpenConfirm)如果收到keepalive 消息,BGP 就进入established状态,邻居关系协商完成,如果系统收到一条更新或keepalive 消息,它将重新启动保持计时器。如果收到通知消息,BGP 就退回到空闲状态。6- 连接已建立(established)邻居关系协商过程最终状态;这时BGP将开始与它的对等体交换路由更新数据包。四种消息类型1- 打开打开消息 包括版本(如BGP3/BGP4)、我的自治系统、保持时间(一般设为3 秒为宜)、路由器ID(如果由环回接口,则是最高的环回ip 地址)等2- 通知根据通知消息,我们可以找出失败的原因3- keepalive 消息keepalive 是个19 字节周期发送的BGP 消息头标,没有数据域4- Update消息包含了三个组件:网络层可达性消息(NLRI)、路径属性和被撤销的路由。基本BGP 配置配置一个BGP 进程:RTB(config)#router BGP as-number /IOS规定在同一时间内只允许运行一个BGP 进程network 命令用以告诉BGP 路由进程通告哪些本地所学网络:RTB(config-router)#network network-number mask network-mask建立两台路由器的邻居关系RTB(configrouter)#neighbor ip-address remote-as as-numberEBGP 会话发生在属于两个不同自治系统的路由器之间IBGP 会话发生在属于同一自治系统的路由器之间,被用来协调和同步AS域内的路由策略IBGP 不需要直连,EBGP 必须直连,除非我们使用CISCO 的EBGP多跳(Multihop)特性:RTA(config-router)neighbor ip-address eBGP-multihop hops强迫BGP 重清它的路由表并重置BGP 会话RTA#clear ip BGP * /还可以指定要清的特定网络核验BGP 的运行命令描述Show ip BGP 显示BGP 路由表中的条目Show ip BGP summary 显示所有BGP 连接的汇总信息Show ip BGP neighbors 显示每个BGP 连接的详细信息对等关系(Peering)BGP 不将从IBGP 对等体处学到的路由通告给其他IBGP 对等体。否则,AS 内的BGP 路由很可能会产生危险的潜在路由环路,因此如果要学到AS中所有BGP 路由,需要全网状互联,可以是逻辑上的。BGP 同步规则BGP 路由器不应该将从其内部BGP 邻居处学到的目的地网络通告给其外部邻居路由器,除非这些目的地网络是通过IGP 可达的。BGP 路由进程从对等体处收到的路由输入策略引擎路由判定过程(BGP 表)路由器所用的路由(IP 路由表)输出策略引擎通告给对等体的路由实施BGP 路由策略通过路由映射图(route map)定义:RTA(config)#route-map map-tagpermit|denysequence-number /首先会应用序号最低的实例路由判定过程中所用的关键属性下一跳(next_hop)在EBGP 会话,IBGP 会话及多路访问网络中,下一跳是不一样的。强迫路由器将自己作为下一跳:RTA(config-router)#neighbor IP-address next-hop-selfAS 路径(AS_PATH)BGP 使用AS 路径属性作为路由更新的一部分来确保在INTERNET 上的一个无环路拓扑结构,如果自己的AS出现在某接收到的路由AS 列表中,说明已经经由过,因此不接收。配置私有AS号码剥离:RTA(config)#router BGP 1RTA(config-router)#neighbor 172.16.20.2 2 remote-as 65001RTA(config-router)#neighbor 192.168.6.3 remote-as 7RTA(config-router)#neighbor 192.168.6.3 remove-private-as通过追加“虚”AS 号码以控制BGP 的路径选择原子聚合(ATOMIC_AGGREGATE)属性值:真|假,如果为真,则该属性通知BGP路由器:多个目的地已被合并在一条路由更新中了,说明发送该路由更新的BGP 路由器有到多个目的地地更具体路由,但却没有发送它们。聚合者(AGGREGATOR)我们可以配置路由器在超网路由中包含它们地路由器ID 和本地AS 号码。本地优先级(LOCAL_PREF)本地优先级属性值越高,路由的优选程度越高,该值仅在IBGP 对等体之间被交换权重(Weight)它也是将较高的优先级赋予权重较高的路由,权重只对路由器本地有效,它不在路由器之间被交换。我们可以在配置一个路由映射图用“set weight”命令来设置权重参数。多出口鉴别(MULTI_EXIT_DISC,MED)它用于向外部邻居路由器指示进入一个有多个入口点的AS的优先路径,一条路径的多出口鉴别属性值越低,则其优先级就越高。起源(ORIGIN)指示路由更新的起源:1-IGP;2-EGP;3-不完整,优先级123BGP 路由判定过程总结1 如果下一跳不可达,则不考虑它;2 BGP 路由器优先选用具有最高权重的路由;3 如果多条路由具有相同的权重,则BGP路由器将优先选用具有最高本地优先级值的路由;4 如果多条路由具有相同的本地优先级,则BGP 路由器将优先选用由本路由器始发的路由;5 如果多条路由具有相同的本地优先级,或者如果没有路由是本路由始发的,那么BGP

温馨提示

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

评论

0/150

提交评论