数据网路由技术.docx
《数据网路由技术.docx》由会员分享,可在线阅读,更多相关《数据网路由技术.docx(68页珍藏版)》请在冰豆网上搜索。
数据网路由技术
数据网
—路由技术
目录
第1章路由策略与引入4
1.1路由策略的作用4
1.2五种过滤器4
1.3路由策略与过滤器的关系5
1.4路由策略配置6
1.5路由过滤11
1.6路由策略的监控和维护13
1.7路由策略的应用示例13
第2章ISIS协议19
2.1IS-IS协议概述19
2.1.1IS-IS协议发展史19
2.1.2IS-IS协议基本特点19
2.1.3IS-IS协议基本概念19
2.2IS-IS协议工作原理25
2.2.1IS-IS邻接关系的建立25
2.2.2IS-IS链路状态数据库的泛洪27
2.2.2IS-IS路由计算28
第3章OSPF协议30
3.1OSPF概述30
3.1.1OSPF基本特点30
3.1.2OSPF路由计算过程30
3.1.3OSPF基本概念31
3.1.4OSPF报文32
3.1.5LSA33
3.2OSPF链路状态34
3.2.1链路状态数据库34
3.2.2OSPF状态变化36
3.2.3区域间路由40
第4章BGP协议43
4.1BGP路由协议原理43
4.1.1BGP协议概述43
4.1.2BGP路由更新43
4.1.3BGP路由传递44
4.2BGP路由属性48
4.2.1BGP路由器属性分类48
4.2.2常见的BGP路由属性概述49
4.2.3起源(Origin)属性50
4.2.4AS路径(AS-Path)属性50
4.2.5下一跳(NextHop)属性51
4.2.6本地优先级属性(Local-preference)52
4.2.7MED(Multi-Exit-DISC)属性53
4.2.8团体(Community)属性53
4.2.9BGP路由选择过程54
第1章路由策略与引入
1.1路由策略的作用
路由策略是提供给路由协议实现路由信息过滤的手段。
路由协议在与对端路由器进行路由信息交换时,可能需要只接收或发布一部分满足给定条件的路由信息;路由协议在引入其它路由协议路由信息时,可能需要只引入一部分满足条件的路由信息,并对所引入的路由信息的某些属性进行设置以使其满足本协议的要求。
路由策略用以提供路由协议实现这些功能的手段。
路由策略由一系列的规则组成,这些规则大体上分为三类,分别作用于路由发布、路由接收和路由引入过程。
因为定义一条策略等同于定义一组过滤器,并在接收、发布一条路由信息或在不同协议间进行路由信息交换前应用这些过滤器,所以路由策略也常被称为路由过滤。
公共过滤器是路由策略实现的基础。
用户根据需要预先定义一些匹配条件,并在制定路由协议的策略规则时加以引用,将这些匹配条件作用于不同的对象,如路由信息的目的地址、发布路由信息的路由器地址等以实现路由信息过滤。
1.2五种过滤器
路由策略提供了routingpolicy、access-list、aspath-list、community-list和prefix-list五种过滤器供各路由协议引用来进行协议策略规则的制定。
如下所示:
1、路由策略(routingpolicy)
用于匹配给定路由信息的某些属性,并在这些条件匹配后对该路由信息的某些属性进行设置。
一个routingpolicy由一组if-match和apply子句组成,if-match子句定义匹配准则,也就是通过当前routingpolicy所需满足的过滤条件,匹配对象是所给路由信息的一些属性;apply子句指定动作,也就是在满足由if-match子句指定的过滤条件后所执行的一些配置命令,对路由信息的一些属性进行设置。
2、访问列表(access-list)
访问列表access-list分为标准型的访问列表Standardaccess-list和扩展型的访问列表extendedaccess-list,应用于路由信息的过滤时,一般使用标准型的访问列表,用户在定义访问列表时指定一个IP地址的网段范围,用于匹配路由信息的目的网段地址或下一跳地址,过滤不符合条件的路由信息。
如使用扩展access-list,则只用其源地址匹配域匹配路由信息的目的网段地址域而忽略扩展accesslist中指定的用于匹配数据包目的地址的IP地址范围。
access-list的定义与检查已经在防火墙的配置中实现,有关的配置请用户参考防火墙配置中的“acl”命令。
3、前缀列表(prefix-list)
前缀列表prefix-list的作用类似于access-list,当用于路由信息过滤时,access-list的命令行会让用户难以理解,因为它用的是包过滤的格式,而prefix-list比它更为灵活和易于为用户理解。
在应用于路由信息的过滤时,其匹配对象为路由信息的目的地址信息域;它的另一种应用直接作用于路由器对象(gateway),使本地路由协议只能接收某些特定路由器发布的路由信息,这些路由器的地址必须通过prefix-list的过滤,在这种情况下,prefix-list的匹配对象为路由信息包IP报头的源地址。
一个prefix-list由列表名标识,可以分为几个部分,由sequence-number指定这几个部分的匹配顺序,在每个部分中,用户可以独立指定一个网络前缀形式的匹配范围。
在匹配的过程中,不同sequence-number的各个部分之间的关系是“或”的关系,即路由信息依次匹配各个部分,通过prefix-list的某一部分,就意味着通过该prefix-list的过滤。
4、自治系统路径信息访问列表(aspath-list)
自治系统路径信息访问列表aspath-list仅用于BGP协议。
BGP协议的路由信息包中,包含一自治系统路径域,在BGP协议交换路由信息的过程中,路由信息经过的自治系统路径会记录在这个域中。
aspath-list由aspath-list-number标识,用户在定义aspath-list时指定一个用于匹配路由信息aspath域的aspath的正则表达式。
可以使用aspath-list匹配BGP路由信息的自治系统路径域,过滤掉不符合条件的路由信息。
对于相同的列表号,用户可以定义多条aspath-list,也即一个列表号代表一组aspath访问列表。
在匹配过程中,访问列表的成员aspath-list-number之间是一种“或”的关系,即路由信息通过这组列表中的一条就意味着通过由该列表号标识的这组aspath列表的过滤。
5、团体属性列表(community-list)
团体属性列表community-list仅用于BGP协议。
BGP协议的路由信息包中,包含一个community属性域,用来标识一个团体,实际上是一种根据路由信息包发往的目的地址将其分组的方法,分组之后就可以对整组路由信息进行发布、接收或重分配等操作。
团体属性列表是一种基于community信息的访问列表,用于BGP协议,其匹配对象是BGP路由信息的团体属性域。
1.3路由策略与过滤器的关系
路由策略在起作用时,分别作用于路由引入、路由发布和路由接收过程。
在路由引入时,使用的命令为:
import-routeprotocol[medmed][route-policypolicy-name]
在命令中使用路由策略来匹配和设置满足过滤条件的路由属性,在匹配AS-path时使用AS-pathlist-number,具体的内容要通过ipas-pathaclaspath-list-number命令来设置,团体属性Community的匹配也是一样,要通过ipcommunity-list命令来设置。
在匹配IPAddress时,可以使用Access-list和Prefix-list,在后面会有详细的介绍。
在路由发布和路由接收时,都可以应用Access-list和Prefix-list来进行路由信息的过滤,另外在路由接收时可以指定只接收特定路由器发送的路由信息。
在后面也会有详细的介绍。
1.4路由策略配置
路由策略的配置可以分为过滤列表的定义和过滤列表的应用两部分,过滤器的应用实际上是一个策略规则的定义过程,通过对过滤器的引用以实现路由过滤的功能。
各路由协议通用的策略配置任务列表如下所示:
Ø定义路由策略(routingpolicy)
Ø定义路由策略的if-match子句
Ø定义路由策略的apply子句
Ø引入其他协议的路由信息
Ø定义地址前缀列表prefix-list
Ø配置路由过滤
(一)定义路由策略(routingpolicy)
路由策略(routingpolicy)用于匹配路由信息的某些属性,并在这些属性匹配后执行某些动作。
对于一个routingpolicy,有if-match和apply子句与其配合使用。
if-match子句定义匹配准则,也就是需要通过当前routingpolicy的路由信息所需满足的过滤条件,匹配对象是这条路由信息的一些属性;apply子句指定动作,也就是满足由if-match子句指定的过滤条件后所执行的一些配置命令,对这条路由信息的一些属性进行修改。
一个routingpolicy可以分为几个部分,每个部分都有自己的if-match子句与apply子句,由sequence-number指定这几个部分的匹配顺序。
请在系统视图下进行下列配置。
操作
命令
定义路由策略节点,进入路由策略视图。
route-policypolicy-name{permit|deny}{seq-number}
删除路由策略节点
undoroute-policypolicy-name[permit|deny][seq-number]
缺省情况下,未定义路由策略。
permit指定所定义的路由策略节点的匹配模式为允许模式。
当路由项满足该节点的所有if-match子句时被允许通过该节点的过滤并执行该节点的apply子句,如路由项不满足该节点的if-match子句,该路由策略的下一个节点将被测试。
deny指定所定义的路由策略节点的匹配模式为拒绝模式,当路由项满足该节点的所有if-match子句时被拒绝通过该节点的过滤,并且不会进行下一个节点的测试。
seq-number标识路由策略中的一个节点,当该路由策略用于路由信息过滤时,seq-number小的节点先被测试。
需要注意的是:
不同seq-number各个部分之间的关系是“或”的关系,即路由信息依次匹配各个部分,通过routingpolicy的某一部分,就意味着通过该routingpolicy过滤。
(二)定义路由策略的if-match子句
if-match子句定义匹配准则,也就是需要通过当前routingpolicy的路由信息所需满足的过滤条件,匹配对象是这条路由信息的一些属性。
请在路由策略视图下进行下列配置。
操作
命令
指定Routingpolicy中匹配路由信息的原AS路径前的AS序号
if-matchas-pathaspath-list-number
取消Routingpolicy中匹配的路由信息原AS路径前的AS序号
undoif-matchas-path
指定Routingpolicy中匹配的路由信息BGP团体的属性
if-matchcommunity{standard-community-list-number[exact-match]|extended-community-list-number}
取消Routingpolicy中匹配的路由信息BGP团体的属性
undoif-matchcommunity
指定Routingpolicy中匹配的路由信息访问控制列表和前缀列表
if-matchipaddress{acl-number|ip-prefixprefix-list-name}
取消Routingpolicy中匹配的路由信息访问控制列表和前缀列表
undoif-matchipaddress[ip-prefix]
指定Routingpolicy中匹配的接口
if-matchinterface[typenumber]
取消Routingpolicy中匹配的接口
undoif-matchinterface
指定Routingpolicy中匹配的路由信息的下一跳
if-matchipnext-hop{acl-number|ip-prefixprefix-list-name}
取消Routingpolicy中匹配的路由信息的下一跳
undoif-matchipnext-hop[ip-prefix]
指定Routingpolicy中匹配的OSPF路由信息的花费
if-matchcostcost
取消Routingpolicy中匹配的OSPF路由信息的花费
undoif-matchcost
指定Routingpolicy中匹配的OSPF路由信息的标记域的值
if-matchtagtag-value
取消Routingpolicy中匹配的OSPF路由信息的标记域的值
undoif-matchtag
指定Routingpolicy中匹配的路由信息的路由类型
if-matchroute-type{internal|external}
取消Routingpolicy中匹配的路由信息的路由类型
undoif-matchroute-type
缺省情况下,不匹配AS正则表达式、团体列表、接口类型、IP地址范围、metric值、OSPF的标记域与OSPF路由信息的类型。
需要注意的是:
对于一个路由策略节点,在匹配的过程中,同一部分if-match子句之间的关系是“与”的关系,即路由信息必须通过该部分所有if-match子句的匹配才算通过routingpolicy该部分的过滤,可以执行apply子句的动作。
如不指定if-match子句,则所有路由信息都会通过该节点的过滤。
(三)定义路由策略的apply子句
apply子句指定动作,也就是在满足由if-match子句指定的过滤条件后所执行的一些配置命令,对这条路由信息的一些属性进行修改。
请在路由策略视图下进行下列配置。
指定Routingpolicy中原AS路径前的AS序号
applyas-pathaspath-list-number
取消设置Routingpolicy中原AS路径前的AS序号
undoapplyas-path
指定Routingpolicy中设置BGP团体的属性
applycommunity{{[aa:
nn][no-export-subconfed][no-advertise][no-export]}[additive]|none|additive}
取消Routingpolicy中设置BGP团体的属性
undoapplycommunity
设置BGP路由信息的下一跳地址
applyipnext-hopip-address
取消设置BGP路由信息的下一跳地址
undoapplyipnext-hop
设置BGP路由信息的本地优先级
applylocal-preferencelocal-preference
取消设置BGP路由信息的本地优先级
undoapplylocal-preference
设置路由信息的路由花费
applycostcost
取消设置路由信息的路由花费
undoapplycost
设置BGP路由信息的路由源
applyorigin{igp|egpas-number|incomplete}
取消设置BGP路由信息的路由源
undoapplyorigin
设置OSPF路由信息的标记域
applytagtag-value
取消设置OSPF路由信息的标记域
undoapplytag
指定Routingpolicy中原AS路径前的AS序号
applyas-pathaspath-list-number
缺省情况下,不设置AS号、BGP团体属性、下一跳、本地优先级、metric值、origin属性与路由信息标记域。
(四)路由策略的执行规则
一个routingpolicy可以分为几个部分,每个部分都有自己的if-match子句与apply子句,由sequence-number指定这几个部分的匹配顺序。
在匹配的过程中,同一部分if-match子句之间的关系是“与”的关系,即路由信息必须通过该部分所有if-match子句的匹配才算通过routingpolicy该部分的过滤,可以执行apply子句的动作;不同sequence-number的各个部分之间的关系是“或”的关系,即路由信息依次匹配各个部分,通过routingpolicy的某一部分,就意味着通过该routingpolicy的过滤。
(五)AS正则表达式
在定义AS-path列表时要用到AS正则表达式,表达式的语法如下所示。
例如:
"100200300"匹配_300$"AS300始发的路径"
"300400100"匹配^300_"AS300为相邻的AS自治区域"
所有AS路径匹配.*"所有AS路径"
"300100200400"匹配_100_"经过AS100的路径"
(六)引入其他协议路由
路由协议可以通过引入其他协议路由信息的方式来共享对方的路由信息,在引入其他协议路由信息时,可以通过对一个路由策略的引用过滤掉不期望的路由信息,实现有选择的引入。
进行引入操作的目的路由协议的路由权值与被引入的源路由协议的路由权值一般不能相互转换,这时就需要为引入的路由指定一个路由权值。
缺省情况下,不引入其它协议的路由信息。
目前有关路由的引入有三种方式,分别是在RIP协议视图下,OSPF协议视图下和BGP视图下。
下面分别进行介绍:
import-route(RIP协议配置)
import-routeprotocol[costcost][route-policyroute-policy-name]
protocol指定可引入的源路由协议,目前可为direct、static、rip、ospf、ospf-ase与bgp。
引入的协议是指除本路由协议以外的其它路由协议。
目前,路由策略支持引入如下协议发现的路由:
direct本机接口直接相连的网段(或主机)路由
Static静态路由
RipRIP协议发现的路由
OspfOSPF协议发现的路由
Ospf-aseOSPF协议发现的外部路由
BgpBGP协议发现的路由
costcost:
指定RIP引入路由的cost值。
route-policypolicy-name:
引入路由时使用的策略
import-route(OSPF协议配置)
import-routeprotocol[costcost][type1|2][tagtag-value][route-policypolicy-name]
protocol:
指定可引入的源路由协议,目前可为direct、static、rip与bgp。
tagtag-value:
是OSPF在引入其它协议路由时,设定引入路由标记域;
type:
指定OSFP在引入其它协议路由时的路由类型。
type1为自治系统第一类外部路由,type2为自治系统第二类外部路由。
import-route(BGP协议配置)
import-routeprotocol[medmed][route-policypolicy-name]
protocol:
指定可引入的源路由协议,目前可为direct、static、rip、ospf与ospfase。
medmed:
引入外部路由的MED值。
在同时指定了路由策略和metric关键字的情况下,通过路由策略过滤的路由信息将使用该路由策略节点中apply子句指定的路由权值。
(七)定义地址前缀列表
prefix-list-name:
指定地址前缀列表名,唯一标识一个地址前缀列表。
index-number:
标识地址前缀列表中的一条表项,index-number小的表项先被测试。
当不指定index-number时,自动取该地址前缀列表所有表项的最大值加10。
permit:
指定所定义的地址前缀列表表项的匹配模式为允许模式。
当指定为允许模式并且待过滤的IP地址在该表项指定的前缀范围内时,通过该表项的过滤,如待过滤的IP地址不在该表项指定的前缀范围内,则进行下一表项测试。
deny:
指定所定义的地址前缀列表表项的匹配模式为拒绝模式。
当指定为拒绝模式并且待过滤的IP地址在该表项指定的前缀范围内时,通不过该表项的过滤,并且不会进行下一个表项的测试。
network/len:
指定IP地址前缀范围(IP地址/掩码范围),例如35.0.0.0/8。
当指定为0.0.0.0/0时匹配所有IP地址。
ge-value、le-value:
指定匹配的地址前缀范围[ge-value,le-value]。
其取值范围规则为len<=ge-value<=le-value<=32,当只指定greater-equal时,表示前缀范围[ge-value,32],当只指定less-equal时,表示前缀范围[len,le-value]。
需要注意的是:
地址前缀列表用于IP地址的过滤。
一个地址前缀列表可以有若干条表项,每一表项指定一个地址前缀范围。
表项之间的过滤关系是“或”的关系,即通过一条表项的过滤就意味着通过该地址前缀列表的过滤。
若没有通过任一表项的过滤,则通不过该地址前缀列表的过滤。
地址前缀范围有两部分,分别由len与[greater-equalge-value][less-equalle-value]来确定。
若两部分前缀范围都被指定,则待过滤的IP必须匹配这两部分的前缀范围。
例如:
[Quidway]ipip-prefixp1permit10.0.192.0/8greater-equal17less-equal18
该条地址前缀列表表项表示,对待过滤IP地址的1~8位和17~18位与指定的IP网段10.0.192.0的1~8位和17~18位进行匹配。
1.5路由过滤
在某些情况下,可能要求只发布或引入某些满足条件的路由信息以阻止邻居路由器得知某些路由,可利用路由策略中对地址前缀列表或访问列表的引用来实现对路由信息的过滤。
1、配置对接收的路由进行过滤
定义一条策略规则,通过对一个访问控制列表或地址前缀列表的引用实现在接收路由过程中对不满足条件的路由信息进行过滤。
可以通过gateway关键字指定一个地址前缀列表,过滤信息路由器的地址以实现只接收来自特定邻居路由器的更新报文。
某些情况下,路由协议可能要求忽略所接收到的某些路由信息,可以定义filter-policy,通过对地址前缀列表或访问列表的引用来实现路由信息过滤的目的。
可通过gateway来指定一个地址前缀列表,过滤发布信息路由器的地址以实现只接收来自特定邻