CCNP认证-BSCI课程
BGP中文笔记
By Coldbj(幼儿园iT)
本笔记结合https://www.wendangku.net/doc/3115390490.html,视频录像及其培训PPT,以及华为技术讲座(魏伟)的BGP视频和CISCO Press BSCI第三版(英文电子版)等内容进行编写。
(本文仅供参考、讨论使用。)
CCNP BSCI第三版认证考试手册图书封皮
目录
一.BGP和AS (2)
二.BGP特性 (2)
三.BGP Message类型 (3)
四.BGP概念及术语 (4)
五.BGP的基本配置 (7)
六.BGP汇总 (13)
七.BGP属性 (14)
八.附录 (19)
一.BGP和AS
IGP(内部网关协议)用于一个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:内部BGP
EBGP:外部BGP
Aggregation:路由汇聚
Attribute:属性
Originator-ID:组织ID。是BGP一个属性,用于防止产生路由环路。
几种AS:1.Stub AS是单出入口的AS
2.传输(传递)AS是StubAS经过这个AS才能到达其它的AS。
3.多出口AS(在实际网络环境中,此类最常用)。
还有一些术语,在下面涉及到的部分中会体现出来。
引用(侯湘婷的CCNP精华帖子中BGP部分):
“当BGP运行于一个AS内,它被称为内部BGP(IBGP),当BGP运行于AS之间,它被称为外部BGP(EBGP),如果一台BGP转发IBGP数据流,它被称为一台渡越路由器(transit router)”
“一个AS通常代表一个独立的组织结构,并应用它自己的路由和安全策略。EGP用于帮助这些自治系统共享它们的路由信息,每个自治系统有一个16比特的标识符,它由Internet注册机构或服务提供商分配,范围从1~65535,其中64512~65535的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 Numer179)进行连接。
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}shutdown
A和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 BGP
BGP表的内容
BGP Table Version is23,版本(序)号是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 null0
Network命令是将已存在(和已由IGP汇总)的路由表宣告到BGP中。
Ip route命令是人工创建一条静态的汇总路由。
Null0是空端口,不是一个物理的端口,目的是告诉其它路由从我这个路由走,但具体怎么走,不是指定一个物理的端口。
Network命令不仅宣告汇总路由,并且也将具体路由宣告出去。如果不想将具体路由宣告出去,需进行过滤(前面提到的Outbound策略)。
Network宣告要求汇总后的网络(路由)必须是已存在的,Network命令本身不能做汇总,需要IP route命令配合。这种汇总比较麻烦,我们并不推荐。只当需要将已由IGP汇总(OSPF、EIGRP等)后的路由原封不动地发布到BGP里的情况下才使用。
第二种:命令:Router(config-router)#aggregate-address ip-address mask[summary-only][as-set]
Aggregate-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 number
MED有时又叫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是为了通告聚合路由不是来自路由表,这样做有什么意义?还有什么是到null0的静态路由?
我来给你回答吧,不是很准确,我也正在准备这门。
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是为了通告聚合路由不是来自路由表,这样做有什么意义?还有什么是到null0的静态路由?EIGP,BGP的聚合路由为什么都会自动产生一条到NUll0的路由?路由表查路的规则是什么?干嘛为什么要放null0这个垃圾桶在聚合路由中,什么时候会产生路由黑洞????