同步:
难点:
全网状IBGP的原因:
防止环路,保证BGP上所有的路由器都知道将数据包转发到目的的。
由于IBGP不改变aspath,所以IBGP不会将对端的路由宣告给邻居。
BGP想正确的工作作方法:
1,将外部路由再分发到IGP中保证IGP和BGP同步,(外部分发进来会导致大量无用的路由)2,全网连接,关闭同步功能,因为关闭了同步功能,就可不用通知将EBGP写入IGP的提前将路由写入路由表.根据规则。
但是全网连接负担较重
2.5管理大型BGP对等关系
BGP四个特色工具:
对等组,团体,路由反射器,联盟
对等组:
将一个公共策略应用到一个对等组中,一组路由器使用策略
团体:
对一对路由使用策略。
为团体设置一个值表时这是团体的一个成员,从而为预先配置的团体加入一条路由。
路由反射器:
避免路由环路,路由反射器不能改动从客户那接收到的路由
三个规则:
从非客户的IBGP对等体学习到,只将反射给客户;从客户处学习到,反射给发起者以外的所有非客户及客户;如果路由是从EBGP,,将反射给所有的客户和非客户。
两个属性防止路由环路,originator_id本地as内路由发起者的ID,RR不会将一条路由公布给路由的发起者。
簇ID,每一个RR配置一个ID,RR不会收到自己的ID,否则丢弃,以上两个属性都是任选非传递属性。
联盟暂时略过吧。
难度太大,应用太小。
BGP消息格式:
使用端口179几个字段:
标记,长度,类型,openupdate等
消息过程:
TCP建立起来---发OPEN消息----回送keepalive证实---BGP处于连接状态,
Open带的几个字段:
版本,自治系统,保持时间(以小的为准),BGP标识符
Update消息:
包含字段:
不可用路由长度,0代表没有路由撤消。
撤销的路由,用长度和前来描述,如果是0则代表所由的路由。
全部路径属性长度,路径属性.那些任选,公选,可传,不可传,等属性
Keeplive:
保持时间的1/3
Notification消息:
差错编码具体看书,差错子码详细,数据字段,诊断差错内容
BGP的配置及应用:
Showipbgpneighbor可以显示使用BGP的版本及咱由器ID,状态机,当BGP路由表发生变化时,表的版本会加1,showipbgpevenets
在正在工作的BGP路由器上配置lookpack接口不会改变路由器ID,必须用clearipbgp清除,手工指定ID命令bgprouter-id
案例研究:
向BGP中注入IGP路由
BGPV4是无类。
当IGP向BGP注入时会自动在边界上汇总,加一个noauto-summary就可以了。
还可以改变度量加一个deafault-metric
优点:
内部变化不会影响到BGP的配置,如果多了一条路由,会自动加到BGP中
缺点:
公布每一条路由也是IGP向BGP再分发的毛病,可采用路由策略
还有另外一种方法:
采用network与IGP下不同之处再于:
IGP要是接口的地址。
而BGP不用。
只要路由表中与netword前缀一致就可以了。
但是这种情况下不使用noauto-summary命令,跟再分发比起来,这种优点对路由的公布有更多的控制权,灵活。
案例研究:
向IGP注入BGP
缺点:
是大量的BGP路由表公布到IGP中,形成阻塞可使用distribute-list过滤.
3.14:
案例研究:
没有IGP和IBGP,
记住:
全网IBGP连接,同时要关闭同步功能
3.15;案例研究:
IGP上的IBGP,开启了同步,配置了IGP,可以正常转发路由,同时将需要转发的外部EBGP路由分发到IGP中,使得IGP有外部EBGP路由可以正常转发.
但同时分发的也有危险。
外面大量的路由导致拥塞,所以最安全的方法就是:
配置全网状的IBGP连接,用三个lookpack接口建立全网头IBGP连接。
此时直接转发
3.16:
多跳。
暂时不去研究,感觉没什么用
3.17:
聚合路由:
1,用静态路由加上空接口指向然后用network通告出去
2:
summary-only关键词,加上了只公布聚合路由,不加公布聚合路由的同时公布明细路由
3,涉及到跨多个as时。
可用团体属性的no_export区分明细路由和聚合路由neighborIP,route-mapcommunityout其实是结合路由图。
在路由图中给不同的路由加上不同的团体属性
4,通过加上一个参数attribute-map选项改变聚合路由的属性。
作用在到同一个目的聚合路由时,可用这个选项去改变属性,比如说一个改成IGP,一个改成imcomplte?
造成不同的路由选路不同。
3。
2路由策略
3.2.2通过NLRI过滤路由
这是一个双向重分发的案例,其实这样分发容易形成次优路由。
最简单的方法就distribute-list发应该发了,过滤掉不应该发的。
不过这样麻烦了点。
。
3.2.3通过as-PATH过滤路由
Aspath访问列表。
功能强大,例如^S表示一个不包含aspath的内部路由,其实这样配置就是只公布自己的路由。
因为自己的路由肯定是空的啦。
不会成为转接AS
实例总结:
as可进可出,只是过滤时所处的接口不一样,灵活应用aspath
可在对端配OUT,也可以在本端配IN.很灵活
.*表示所有的AS_PATH路由_50_包含50的路由注意:
与普通访问列表一样也是最后拒绝了所有路由
3.2.4使用路由图去调用不同的路由。
。
使用路由图的主要原因是:
因为它们不仅能通过match命令来明确特殊的路由,而且还可以通过set命令来更改它们的属性。
五大例子
第一个weight,通过neighborweight命令来为不同的邻居公布的路由分配权值。
可利用互为主备。
Neighborfilter_listweight命令:
为不同的路由分配不同的weight过滤。
Neighborfilistout/in不同:
记住在哪个路由器上配置。
。
影响到哪个路由的路由选择,这一点很重要!
!
!
!
第二个例子:
3.2.7使用local_pref属性
用于多条到同一个目的地的路由之间设置优选项项,与管理权值不同的是,此属性不限于单一的路由器。
而且,它是和IBGP的对端进行通信,不与EBGP对端通信,影响整个内部IBGP的选路
在IBGP边界入站的路由器上配置不同的路由设置不同的属性性。
大的优选!
3.2.8MED属性
用于相邻的AS之间,不传递;MED属性较弱。
弱于其它属性.
在哪里配置,是影响入的业务量。
所以在出的的路由器上配置,入和出是分开的这一点很重要啊,明白了!
在路由图中用setmetric的命令去配置
还有来自不同的as比较时,可以用bgpalways-cmpare-med加一句
3.2.9附加as_path
主要跟MED的功能不一样,是可以跨多个as,影响远程的as选路
Prepend增加as,改变长度,选择较短的as路由
3.2.10路由标记,不想看了。
累了。
休息
还有一些没有看。
团体,反射器,一直看BGP很头疼。
。
休息P207-P247先pass
实验心得
实验总结:
配置IBGP的情况下要先配置IGP,因BGP只是选路协议?
默认情况下一个AS边界路由器从一个EBGP邻居学习到一条路由,然后将这条路由转发给它的一个IBGP邻居,在它的邻居上看这条路由的下一跳依然是它的那个EBGP邻居。
注意:
配置next-host-self时在传递next(相对于接收者上)的路由器上,由他去改变下下一路属性,和那个接收者就可以了,
设置那些weith,localpre,MED,都在路由图里set设置属性对应的路由,然后再发布路由图出去记住:
weight只针对邻居学到的路由,只针对邻居,没有具体针对哪条路由(结合路由图就可以针对不同的路由)
Ping包注意接口出去的,所以目的地的路由器回来一定要有接口地址的路由,路由器要能可达到接口整个ping包才能通!
!
!
!
Weight只在影响邻居neightIPweight值,只是影响本地的路由选路属性
Wight可以跟route-map结合起来使用,比如说针对不同的as(利用aspath属性)在路由图中设置不同的weight这样功能更高了
实验说明:
1。
路由过滤使BGP路由器能选择预期任何一个BGP对等体交换路由。
路由过滤使策略路由的基础,AS可以通过过滤它向外通告的路由信息来确定它想接收的入方向的数据流,还可以通过指定它想从EBGP邻居路由器那里接收的路由来控制其外出数据流将使用的路由。
2.入方向和出方向的过滤器都既可以用于对等体之间又可以用于同一个路由器上运行的不同协议之间。
在对等体层面上,入方向的过滤器表明该BGP会过滤来自其他对等体的路由更新,出方向的过滤器限制该BGP路由器想其他对等体通告的路由更新
在协议层面上,入方向的过滤器限制被重分布到本协议的路由更新,出方向的
neighbor192.168.1.1route-reflector-client
IPprefixtlist研究一下?
修改R1上的BGP配置和,使其只允许聚合前缀172.16.0.0/22
R1(config-router)#neighbor10.1.1.2prefix-listAGGREGATEin
R1(config)#ipprefix-listAGGREGATEseq5permit172.16.0.0/22
R1#clearipbgp*soft
R1#shoipbgp
NetworkNextHopMetricLocPrfWeightPath
*>172.16.0.0/2210.1.1.2002i
前缀列表详述:
前缀列表于路由映射相似.前缀列表是经过命名的,并且,前缀列表中的每一个说明都有一个序列号.前缀列表中的元素按序列号的顺序执行,并且,当发生一个匹配时,进程就停止.
在继续向下进行以前,我们将讨论IP前缀列表可以使用的命令:
Ipprefix-list{sequence-number}default
Noipprefix-list{sequence-number}
默认情况下,配置中包含序列号.使用这个命令的no形式排除序列号.如果列出R1上的配置,将看到序列号也包含在配置中.默认情况下,序列号从5开始,并且以5为单位递增:
Ipprefix-listaggregateseq5permit172.16.0.0/22
使用这个命令的no形式,可以使用showipprefix-list 命令看到序列号:
R1#shoipprefix-list
ipprefix-listAGGREGATE:
1entries
seq5permit172.16.0.0/22
使用permit和deny说明决定当收到从一个邻居来的前缀时,是接收还是拒绝.如果有很多前缀列表,使用description 选项是很有用的.我们可以用下面的方法给我门的配置增加一个描述:
Ipprefix-listaggregatededcriptionFILTERSPECIFICroutesof172.16.0.0/22
使用seq(序列号)选项,可以把自己的序列号应用于每个permit或deny说明.如果不使用这个选项,就使用默认序列号.
在permit和dengy说明之后,是前缀/长度条目.
在这个列子中,我们使用:
Ipprefix-listaggregateseq5permit172.16.0.0/22
这样就可以允许从R2接收到的聚合广播.最后,可以使用可选参数大于等于{ge}或者小于等于{le}.
进一步指定匹配前缀长度的号码的长度:
小于等于几位数字:
Ipprefix-listAGGREGATEpermit172.16.0.0/22le24
大于几位数字:
Ipprefix-listAGGREGATEpermit172.16.0.0/22ge23
大于一个值,并且小于等于另外一个值:
R1(config-route)#Ipprefix-listAGGREGATEpermit172.16.0.0/22ge23le24使用这种形式可以允许更明确的路由,并且阻塞聚合前缀:
以上输出表明路由器R2并没有将路由器R3通告的路由通告给路由器R1,这也证明了IBGP水平分割的基本原理:
通过IBGP学到的路由不能通告给相同AS内的其他的IBGP邻居
Wight优先于本地优先级。
。
。
wight只针对本地路由,而local可以在igp内传递本质差别,,,
试验说明:
在本实验中我们分别在RTA与RTC之间起EBGP邻居,在RTC与RTB之间起EBGP邻居。
在RTA与RTB之间起IGP协议。
BGP有三种管理距离。
外部BGP的AD=20(externaldistance);内部BGP的AD=200(internaldistance);本地BGP的AD=200(localdistance)
所以从本图来看,RTA可以分别通过BGP和IGP两种协议学习到160.10.0.0网络。
我们在这里选OSPF作为IGP协议。
RTA可以从RTC通过EBGP学习到该网络,也可以从RTB通过OSPF学习到该网络,但由于OSPF的AD=110EBGP的AD=20;因此RTA会选用EBGP传来的路由。
也就是说默认情况下,RTA会通过RTC来学习160.10.0.0网络。
如果我们向让RTA直接从RTB学习该网络可以有两种方法。
1修改EBGP的AD大于110
2将160.10.0.0网络配置成backdoor网络
distancebgp200200200(这3个值分别为externalinternallocal)
WEIGHT值最高的路径优先。
WEIGHT是CISCO专有的参数,且只对配置该参数的本地路由器有效,不能传递。
缺省条件下,本地始发的路径具有相同的WEIGHT值(32768),所有其它的路径的WEIGHT值为0。
LOCAL-PREF值(本地优先级)。
CISCOIOS中,LOCAL-PREF缺省值为100。
该属性只能在本AS内传递。
I> e是吧
BGP在路由选定时ASPATH属性优于ORING属性
IGP:
当使用bgpnetwork命令或将IGP路由重分布进BGP中。
在BGP路由表中起源于IGP的路由用“i”表示
2EGP:
通过BGP学习到的路由。
在BGP路由表中起源于EGP的路由用“e”表示
3incomplete:
当路由重分布进BGP时,即无法确定路由的始发者时,在BGP路由表中用“?
”表示
II>
联邦的配置就是()内显示联邦的成员,对联邦内显示(),对整个联邦来说对外不显示(0
Local-as团体属性只传递给本AS内的成员(仅指联邦内的成员,联邦内的对等体也不传递)对外的联邦更是不传递了
以上输出表明携带团体no-export属性的条目4.4.4.0/24传递给路由器R3和R1,因为路由器R1R3和R4都在联邦AS100内,并没有传递给路由器R2。
由此可见你no-export团体属性能在联邦的大AS内传递,如果没有联邦,只能再本AS内传递
以上输出表明携带团体属性no-adv属性条目4.4.4.0/24只传递给路由器R3,并没有传递给路由器R2和R1.由此可见,携带no-adv团体属性的条目被收到后,将不通告给任何BGP对等体。
redistributeospf1matchexternal2route-mapLJF
route-mapLJFpermit10
setas-pathtag
BGP会自动在BGP向IGP重分布时打上路由标记,我们只需要在IGP向BGP重分布时进行配置让它恢复AS-PATH信息就可以了。
这里R3配置类似。
不要忘记使用neighborsend-community命令.没有这个命令,就不会广播我们设置的社区值.路由映射中的最后一部分是默认值.把它应用与路由映射的前四部分不匹配的所有没有更新的路由上.
注意:
查看路由条目中,最后的AS号就是该路由的起始AS.为了基于AS路径信息设置路由权重.需要使用AS路径过滤器和BGP filter-list 命令相结合.AS路径过滤器使用正则表达式匹配AS路径列表的模式.用于匹配从AS3出发的任何前缀的正则表达式是_3$.下划线可以匹配空格,也可以匹配起始串字符在AS路径中的AS号码间总是有一个空格。
3$必须匹配一个3,然后是一个终止串字符。
所以,正则表达式
_3$匹配从AS3出发的任何路径,而不管AS路径的长度。
现在,修改R2上的BGP配置,过滤从AS3出发的路由。
R2(config-router)#neighbor10.1.1.1filter-list1out
R2(config)#ipas-pathaccess-list1deny_3$
R2(config)#ipas-pathaccess-list1permit.*
R1(config)#access-list100permitip172.16.0.00.0.3.255255.255.252.00.0.0.0这句的意思是什么研究一下?
设置MED。
。
有点怪
route-mapMED_50permit10
matchipaddress1
setmetric50
5:
IP多播组的路由的介绍
1.多播地址:
D类地址前四位是1110224.0.0.0~239.255.255.255不使用子网例如常用的多播组ospfother向drbdr发送224.0.0.6,反过来是224.0.0.5
以太网的多播mac由IP地址的后23Bit连接在前面固定的位组成,前面固定是是25
bit所以还空出5bit来。
所以可以得出2的5次方是灵活的,即有32
5.2组成员的概念:
哪些可以加入,如何加入
5.2.1源并不要知道组什么时候加入,加入方法,向224.0.0.1所有的系统发送包询问,哪个是组员,把数据前转到正确的子网中。