12-IPv6路由操作
本章节下载 (815.22 KB)
& 说明:
l 本章所指的路由器代表了运行路由协议的三层交换机。为提高可读性,在手册的描述中将不另行说明。
l 目前S7500E系列以太网交换机中的LSQ1GP12EA单板不支持IPv6功能。
静态路由是一种特殊的路由,它由管理员手工配置。当网络结构比较简单时,只需配置静态路由就可以使网络正常工作。恰当地设置和使用静态路由可以改进网络的性能,并可为重要的应用保证带宽。
静态路由的缺点在于:当网络发生故障或者拓扑发生变化后,可能会出现路由不可达,导致网络中断,此时必须由网络管理员手工修改静态路由的配置。
IPv6静态路由与IPv4静态路由类似,适合于一些结构比较简单的IPv6网络。
它们之间的主要区别是目的地址和下一跳地址有所不同,IPv6静态路由使用的是IPv6地址,而IPv4静态路由使用IPv4地址。
在配置IPv6静态路由时,如果指定的目的地址为::/0(前缀长度为0),则表示配置了一条IPv6缺省路由。如果报文的目的地址无法匹配路由表中的任何一项,路由器将选择IPv6缺省路由来转发IPv6报文。
在小型IPv6网络中,可以通过配置IPv6静态路由达到网络互连的目的。相对使用动态路由来说,可以节省带宽。
在配置IPv6静态路由之前,需完成以下任务:
l 使能IPv6报文转发能力
l 相邻节点网络层(IPv6)可达
表1-1 配置IPv6静态路由
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置IPv6静态路由 |
ipv6 route-static ipv6-address prefix-length [ interface-type interface-number ] nexthop-address [ preference preference-value ] |
必选 缺省情况下,IPv6静态路由的优先级为60 |
在完成上述配置后,在任意视图下执行display命令查看IPv6静态路由配置的运行情况并检验配置结果。
在系统视图下执行delete命令可以删除所有静态路由。
表1-2 IPv6静态路由显示和维护
操作 |
命令 |
查看IPv6静态路由表信息 |
display ipv6 routing-table protocol static [ inactive | verbose ] |
删除所有IPv6静态路由 |
delete ipv6 static-routes all |
& 说明:
使用undo ipv6 route-static命令可以删除一条IPv6静态路由,而使用delete ipv6 static-routes all命令可以删除包括缺省路由在内的所有IPv6静态路由。
要求各交换机之间配置IPv6静态路由协议后,可以使所有主机和交换机之间互通。
图1-1 静态路由配置示例的组网图
(1) 配置各VLAN虚接口的IPv6地址(略)
(2) 配置IPv6静态路由
# 在Switch A上配置IPv6缺省路由。
<SwitchA> system-view
[SwitchA] ipv6
[SwitchA] ipv6 route-static :: 0 4::2
# 在Switch B上配置两条IPv6静态路由。
<SwitchB> system-view
[SwitchB] ipv6
[SwitchB] ipv6 route-static 1:: 64 4::1
[SwitchB] ipv6 route-static 3:: 64 5::1
# 在Switch C上配置IPv6缺省路由。
<SwitchC> system-view
[SwitchC] ipv6
[SwitchC] ipv6 route-static :: 0 5::2
(3) 配置主机地址和网关
根据组网图配置好各主机的IPv6地址,并将Host A的缺省网关配置为1::1,Host B的缺省网关配置为2::1,Host C的缺省网关配置为3::1。
(4) 查看配置结果
# 查看Switch A的IPv6路由表。
[SwitchA] display ipv6 routing-table
Routing Table :
Destinations : 7 Routes : 7
Destination: ::/0 Protocol : Static
NextHop : 4::2 Preference: 60
Interface : Vlan200 Cost : 0
Destination: ::1/128 Protocol : Direct
NextHop : ::1 Preference: 0
Interface : InLoop0 Cost : 0
Destination: 1::/64 Protocol : Direct
NextHop : 1::1 Preference: 0
Interface : Vlan100 Cost : 0
Destination: 1::1/128 Protocol : Direct
NextHop : ::1 Preference: 0
Interface : InLoop0 Cost : 0
Destination: 4::/64 Protocol : Direct
NextHop : 4::1 Preference: 0
Interface : Vlan200 Cost : 0
Destination: 4::1/128 Protocol : Direct
NextHop : ::1 Preference: 0
Interface : InLoop0 Cost : 0
Destination: FE80::/10 Protocol : Direct
NextHop : :: Preference: 0
Interface : NULL0 Cost : 0
# 使用Ping进行验证。
[SwitchA] ping ipv6 3::1
PING 3::1 : 56 data bytes, press CTRL_C to break
Reply from 3::1
bytes=56 Sequence=1 hop limit=254 time = 63 ms
Reply from 3::1
bytes=56 Sequence=2 hop limit=254 time = 62 ms
Reply from 3::1
bytes=56 Sequence=3 hop limit=254 time = 62 ms
Reply from 3::1
bytes=56 Sequence=4 hop limit=254 time = 63 ms
Reply from 3::1
bytes=56 Sequence=5 hop limit=254 time = 63 ms
--- 3::1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 62/62/63 ms
& 说明:
l 在以下路由协议的介绍中所指的路由器及路由器图标,代表了运行路由协议的三层交换机。为提高可读性,在手册的描述中将不另行说明。
l 目前S7500E系列以太网交换机中的LSQ1GP12EA单板不支持IPv6功能。
RIPng又称为下一代RIP协议(RIP next generation),它是对原来的IPv4网络中RIP-2协议的扩展。大多数RIP的概念都可以用于RIPng。
为了在IPv6网络中应用,RIPng对原有的RIP协议进行了如下修改:
l UDP端口号:使用UDP的521端口发送和接收路由信息。
l 组播地址:使用FF02::9作为链路本地范围内的RIPng路由器组播地址。
l 前缀长度:目的地址使用128比特的前缀长度。
l 下一跳地址:使用128比特的IPv6地址。
l 源地址:使用链路本地地址FE80::/10作为源地址发送RIPng路由信息更新报文。
RIPng协议是基于距离矢量(Distance-Vector)算法的协议。它通过UDP报文交换路由信息,使用的端口号为521。
RIPng使用跳数来衡量到达目的地址的距离(也称为度量值或开销)。在RIPng中,从一个路由器到其直连网络的跳数为0,通过与其相连的路由器到达另一个网络的跳数为1,其余以此类推。当跳数大于或等于16时,目的网络或主机就被定义为不可达。
RIPng每30秒发送一次路由更新报文。如果在180秒内没有收到网络邻居的路由更新报文,RIPng将从邻居学到的所有路由标识为不可达。如果再过120秒内仍没有收到邻居的路由更新报文,RIPng将从路由表中删除这些路由。
为了提高性能并避免形成路由环路,RIPng既支持水平分割也支持毒性逆转。此外,RIPng还可以从其它的路由协议引入路由。
每个运行RIPng的路由器都管理一个路由数据库,该路由数据库包含了到所有可达目的地的路由项,这些路由项包含下列信息:
l 目的地址:主机或网络的IPv6地址。
l 下一跳地址:为到达目的地,需要经过的相邻路由器的接口IPv6地址。
l 出接口:转发IPv6报文通过的出接口。
l 度量值:本路由器到达目的地的开销。
l 路由时间:从路由项最后一次被更新到现在所经过的时间,路由项每次被更新时,路由时间重置为0。
l 路由标记(Route Tag):用于标识外部路由,以便在路由策略中根据Tag对路由进行灵活的控制。
RIPng报文由头部(Header)和多个路由表项(RTEs)组成。在同一个RIPng报文中,RTE的最大条数与发送接口设置的IPv6 MTU有关。
RIPng报文基本格式如下图所示。
图2-1 RIPng报文基本格式
各字段的含义如下:
l Command:定义报文的类型。0x01表示Request报文,0x02表示Response报文。
l Version:RIPng的版本,目前其值只能为0x01。
l RTE(Route Table Entry):路由表项,每项的长度为20字节。
在RIPng里有两类RTE,分别是:
l 下一跳RTE:位于一组具有相同下一跳的“IPv6前缀RTE”的前面,它定义了下一跳的IPv6地址。
l IPv6前缀RTE:位于某个“下一跳RTE”的后面。同一个“下一跳RTE”的后面可以有多个不同的“IPv6前缀RTE”。它描述了RIPng路由表中的目的IPv6地址、路由标记、前缀长度以及度量值。
下一跳RTE的格式如下图所示。
其中,IPv6 next hop address表示下一跳的IPv6地址。
IPv6前缀RTE的格式如下图所示。
图2-3 IPv6前缀RTE格式
各字段的解释如下:
l IPv6 prefix:目的IPv6地址的前缀。
l route tag:路由标记。
l prefix len:IPv6地址的前缀长度。
l metric:路由的度量值。
当RIPng路由器启动后或者需要更新部分路由表项时,便会发出Request报文,向邻居请求需要的路由信息。通常情况下以组播方式发送Request报文。
收到Request报文的RIPng路由器会对其中的RTE进行处理。如果Request报文中只有一项RTE,且IPv6前缀和前缀长度都为0,度量值为16,则表示请求邻居发送全部路由信息,被请求路由器收到后会把当前路由表中的全部路由信息,以Response报文形式发回给请求路由器。如果Request报文中有多项RTE,被请求路由器将对RTE逐项处理,更新每条路由的度量值,最后以Response报文形式返回给请求路由器。
Response报文包含本地路由表的信息,一般在下列情况下产生:
l 对某个Request报文进行响应
l 作为更新报文周期性地发出
l 在路由发生变化时触发更新
收到Response报文的路由器会更新自己的RIPng路由表。为了保证路由的准确性,RIPng路由器会对收到的Response报文进行有效性检查,比如源IPv6地址是否是链路本地地址,端口号是否正确等,没有通过检查的报文会被忽略。
与RIPng相关的规范有:
l RFC 2080:RIPng for IPv6
l RFC 2081:RIPng Protocol Applicability Statement
RIPng基本功能的配置任务包括RIPng特性配置中涉及的基本配置,完成本节的配置就可以使用RIPng特性。
在RIPng的配置中,应该最先使能RIPng。但是与RIPng功能特性相关的接口配置不受是否启动了RIPng的限制,比如说给接口配置一个IPv6地址。
在配置RIPng基本功能之前,需完成以下任务:
l 启动IPv6报文转发功能
l 配置接口的网络层地址,使相邻节点的网络层可达
表2-1 配置RIPng的基本功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建RIPng进程并进入RIPng视图 |
ripng [ process-id ] |
必选 缺省情况下,没有RIPng进程在运行 |
退回系统视图 |
quit |
- |
进入接口视图 |
interface interface-type interface-number |
- |
在指定的网络接口上使能RIPng |
ripng process-id enable |
必选 缺省情况下,接口禁用RIPng |
& 说明:
如果接口没有使能RIPng,那么RIPng进程在该接口上既不发送也不接收RIPng路由。
在配置RIPng的路由特性之前,需完成以下任务:
l 配置接口的网络层地址
l 配置RIPng基本功能
l 如果使用IPv6 ACL进行路由过滤,需要定义IPv6 ACL,相关配置请参见“ACL操作”。
l 如果使用IPv6地址前缀列表进行路由过滤,需要定义IPv6地址前缀列表,相关配置请参见“6.2.2 配置IPv6地址前缀列表”。
附加度量值是附加在RIPng路由上的输入输出度量值,包括发送附加度量值和接收附加度量值。发送附加度量值不会改变路由表中的路由度量值,仅当接口发送RIPng路由信息时才会添加到发送路由上;接收附加度量值会影响接收到的路由度量值,接口接收到一条合法的RIPng路由时,在将其加入路由表前会把附加度量值加到该路由上。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
设置接口接收RIPng路由时的附加度量值 |
ripng metricin value |
可选 缺省情况下,接口接收RIPng路由时的附加度量值为0 |
设置接口发送RIPng路由时的附加度量值 |
ripng metricout value |
可选 缺省情况下,接口发送RIPng路由时的附加度量值为1 |
表2-3 配置RIPng路由聚合
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置RIPng在接口发布聚合的IPv6前缀 |
ripng summary-address ipv6-address prefix-length |
必选 |
表2-4 配置RIPng发布缺省路由
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置RIPng发布缺省路由 |
ripng default-route { only | originate } [ cost cost ] |
必选 缺省情况下,RIPng进程不发布缺省路由 |
& 说明:
缺省路由将被强制通过指定接口的路由更新报文发布出去,该路由的发布不考虑其是否已经存在于本设备的IPv6路由表中。
用户可通过使用IPv6 ACL和IPv6前缀列表对接收到的路由信息进行过滤,只有通过过滤的路由才能被加入到RIPng路由表;此外,还可对本机所有要发布的路由进行过滤,包括从其它路由协议引入的路由和从邻居学到的RIPng路由,只有通过过滤的路由才能被发布给RIPng邻居。
表2-5 配置RIPng对接收/发布的路由进行过滤
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RIPng视图 |
ripng [ process-id ] |
- |
对接收的路由信息进行过滤 |
filter-policy { acl6-number | ipv6-prefix ipv6-prefix-name } import |
必选 缺省情况下,RIPng不对接收的路由信息进行过滤 |
对发布的路由信息进行过滤 |
filter-policy { acl6-number | ipv6-prefix ipv6-prefix-name } export [ protocol [ process-id ] ] |
必选 缺省情况下,RIPng不对发布的路由信息进行过滤 |
任何路由协议都具备特有的协议优先级,在设备进行路由选择时能够在不同的协议中选择最佳路由。可以手工设置RIPng协议的优先级,设置的值越小,其优先级越高。
表2-6 配置RIPng协议优先级
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RIPng视图 |
ripng [ process-id ] |
- |
配置RIPng路由的优先级 |
preference [ route-policy route-policy-name ] preference |
可选 缺省情况下,RIPng路由的优先级为100 |
表2-7 配置RIPng引入外部路由
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RIPng视图 |
ripng [ process-id ] |
- |
配置引入路由的缺省度量值 |
default cost cost |
可选 缺省情况下,引入路由的缺省度量值为0 |
引入外部路由 |
import-route protocol [ process-id ] [ allow-ibgp ] [ cost cost | route-policy route-policy-name ] * |
必选 缺省情况下,RIPng不引入其它路由 |
本节将介绍如何调整和优化RIPng网络的性能,以及在特殊网络环境中某些RIPng特性的应用,在调整和优化RIPng网络之前,需完成以下任务:
l 配置接口的网络层地址
l 配置RIPng基本功能
用户可通过调节RIPng定时器来调整RIPng路由协议的性能,以满足网络需要
表2-8 配置RIPng定时器
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RIPng视图 |
ripng [ process-id ] |
- |
配置RIPng定时器的值 |
timers { garbage-collect garbage-collect-value | suppress suppress-value | timeout timeout-value | update update-value } * |
可选 缺省情况下,Update定时器的值为30秒,Timeout定时器的值为180秒,Suppress定时器的值为120秒,Garbage-collect定时器的值为120秒 |
& 说明:
在配置RIPng定时器时需要注意,定时器值的调整应考虑网络的性能,并在所有运行RIPng的路由器上进行统一配置,避免增加不必要的网络流量。
& 说明:
如果同时配置了水平分割和毒性逆转,则只有毒性逆转功能生效。
配置水平分割可以使得从一个接口学到的路由不能通过此接口向外发布,用于避免相邻路由器间的路由环路。
表2-9 配置水平分割
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
使能水平分割功能 |
ripng split-horizon |
可选 缺省情况下,水平分割功能处于使能状态 |
& 说明:
通常情况下,为了防止路由环路的出现,水平分割都是必要的,因此,建议不要关闭水平分割。
配置毒性逆转可以使得从一个接口学到的路由还可以从这个接口向外发布,但此时这些路由的度量值已设置为16,即不可达。
表2-10 配置毒性逆转
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
使能毒性逆转功能 |
ripng poison-reverse |
必选 缺省情况下,毒性逆转功能处于关闭状态 |
RIPng报文头部中的一些字段必须配置为0,也称为零域。使能RIPng报文的零域检查功能后,如果报文头部零域中的值不为零,这些报文将被丢弃,不做处理。如果能确保所有报文都是可信任的,则不需要进行该项检查,以节省CPU处理时间。
表2-11 配置RIPng报文的零域检查
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RIPng视图 |
ripng [ process-id ] |
- |
使能对RIPng报文头部的零域检查操作 |
checkzero |
可选 缺省情况下,RIPng进行零域检查操作 |
表2-12 配置最大等价路由条数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RIPng视图 |
ripng [ process-id ] |
- |
配置RIPng最大等价路由条数 |
maximum load-balancing number |
可选 缺省情况下,RIPng支持的最大等价路由条数为4 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后RIPng的运行情况,通过查看显示信息验证配置的效果。
表2-13 RIPng显示和维护
操作 |
命令 |
显示RIPng进程的配置信息 |
display ripng [ process-id ] |
显示RIPng发布数据库中的路由 |
display ripng process-id database |
显示指定RIPng进程的路由信息 |
display ripng process-id route |
显示RIPng的接口信息 |
display ripng process-id interface [ interface-type interface-number ] |
l Switch A、Switch B和Switch C相连并通过RIPng来学习网络中的IPv6路由信息;
l 在Switch B上对接收的Switch C的路由(3::/64)进行过滤,使其不加入到Switch B的RIPng进程的路由表中,也不发布给Switch A。
图2-4 RIPng配置举例组网图
(1) 配置各接口的IPv6地址(略)
(2) 配置RIPng的基本功能
# 配置Switch A。
<SwitchA> system-view
[SwitchA] ipv6
[SwitchA] ripng 1
[SwitchA-ripng-1] quit
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] ripng 1 enable
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 400
[SwitchA-Vlan-interface400] ripng 1 enable
[SwitchA-Vlan-interface400] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] ipv6
[SwitchB] ripng 1
[SwitchB-ripng-1] quit
[SwitchB] interface vlan-interface 200
[SwitchB-Vlan-interface200] ripng 1 enable
[SwitchB-Vlan-interface200] quit
[SwitchB] interface vlan-interface 100
[SwitchB-Vlan-interface100] ripng 1 enable
[SwitchB-Vlan-interface100] quit
# 配置Switch C。
<SwitchC> system-view
[SwitchC] ipv6
[SwitchC] ripng 1
[SwitchC-ripng-1] quit
[SwitchC] interface vlan-interface 200
[SwitchC-Vlan-interface200] ripng 1 enable
[SwitchC-Vlan-interface200] quit
[SwitchC] interface vlan-interface 500
[SwitchC-Vlan-interface500] ripng 1 enable
[SwitchC-Vlan-interface500] quit
[SwitchC] interface vlan-interface 600
[SwitchC-Vlan-interface600] ripng 1 enable
[SwitchC-Vlan-interface600] quit
# 查看Switch B的RIPng路由表。
[SwitchB] display ripng 1 route
Route Flags: A - Aging, S - Suppressed, G - Garbage-collect
----------------------------------------------------------------
Peer FE80::20F:E2FF:FE23:82F5 on Vlan-interface100
Dest 1::/64,
via FE80::20F:E2FF:FE23:82F5, cost 1, tag 0, A, 6 Sec
Dest 2::/64,
via FE80::20F:E2FF:FE23:82F5, cost 1, tag 0, A, 6 Sec
Peer FE80::20F:E2FF:FE00:100 on Vlan-interface200
Dest 3::/64,
via FE80::20F:E2FF:FE00:100, cost 1, tag 0, A, 11 Sec
Dest 4::/64,
via FE80::20F:E2FF:FE00:100, cost 1, tag 0, A, 11 Sec
Dest 5::/64,
via FE80::20F:E2FF:FE00:100, cost 1, tag 0, A, 11 Sec
# 查看Switch A的RIPng路由表。
[SwitchA] display ripng 1 route
Route Flags: A - Aging, S - Suppressed, G - Garbage-collect
----------------------------------------------------------------
Peer FE80::200:2FF:FE64:8904 on Vlan-interface100
Dest 1::/64,
via FE80::200:2FF:FE64:8904, cost 1, tag 0, A, 31 Sec
Dest 4::/64,
via FE80::200:2FF:FE64:8904, cost 2, tag 0, A, 31 Sec
Dest 5::/64,
via FE80::200:2FF:FE64:8904, cost 2, tag 0, A, 31 Sec
Dest 3::/64,
via FE80::200:2FF:FE64:8904, cost 1, tag 0, A, 31 Sec
(3) 配置Switch B对接收和发布的路由进行过滤
[SwitchB] acl ipv6 number 2000
[SwitchB-acl6-basic-2000] rule deny source 3::/64
[SwitchB-acl6-basic-2000] rule permit
[SwitchB-acl6-basic-2000] quit
[SwitchB] ripng 1
[SwitchB-ripng-1] filter-policy 2000 import
[SwitchB-ripng-1] filter-policy 2000 export
[SwitchB-ripng-1] quit
# 查看Switch B和Switch A的RIPng路由表。
[SwitchB] display ripng 1 route
Route Flags: A - Aging, S - Suppressed, G - Garbage-collect
----------------------------------------------------------------
Peer FE80::20F:E2FF:FE23:82F5 on Vlan-interface100
Dest 1::/64,
via FE80::20F:E2FF:FE23:82F5, cost 1, tag 0, A, 2 Sec
Dest 2::/64,
via FE80::20F:E2FF:FE23:82F5, cost 1, tag 0, A, 2 Sec
Peer FE80::20F:E2FF:FE00:100 on Vlan-interface200
Dest 4::/64,
via FE80::20F:E2FF:FE00:100, cost 1, tag 0, A, 5 Sec
Dest 5::/64,
via FE80::20F:E2FF:FE00:100, cost 1, tag 0, A, 5 Sec
[SwitchA] display ripng 1 route
Route Flags: A - Aging, S - Suppressed, G - Garbage-collect
----------------------------------------------------------------
Peer FE80::20F:E2FF:FE00:1235 on Vlan-interface100
Dest 1::/64,
via FE80::20F:E2FF:FE00:1235, cost 1, tag 0, A, 2 Sec
Dest 4::/64,
via FE80::20F:E2FF:FE00:1235, cost 2, tag 0, A, 2 Sec
Dest 5::/64,
via FE80::20F:E2FF:FE00:1235, cost 2, tag 0, A, 2 Sec
& 说明:
l 在以下路由协议的介绍中所指的路由器及路由器图标,代表了运行路由协议的三层交换机。为提高可读性,在手册的描述中将不另行说明。
l 目前S7500E系列以太网交换机中的LSQ1GP12EA单板不支持IPv6功能。
OSPFv3是OSPF(Open Shortest Path First,开放式最短路径优先)版本3的简称,主要提供对IPv6的支持,遵循的标准为RFC 2740(OSPF for IPv6)。
OSPFv3和OSPFv2在很多方面是相同的:
l Router ID,Area ID仍然是32位的。
l 相同类型的报文:Hello报文,DD(Database Description,数据库描述)报文,LSR(Link State Request,链路状态请求)报文,LSU(Link State Update,链路状态更新)报文和LSAck(Link State Acknowledgment,链路状态确认)报文。
l 相同的邻居发现机制和邻接形成机制。
l 相同的LSA扩散机制和老化机制。
OSPFv3和OSPFv2的不同主要有:
l OSPFv3是基于链路(Link)运行,OSPFv2是基于网段(Network)运行。
l OSPFv3在同一条链路上可以运行多个实例。
l OPSFv3是通过Router ID来标识邻接的邻居。OSPFv2则是通过IP地址来标识邻接的邻居。
和OSPFv2一样,OSPFv3也有五种报文类型,分别是Hello报文、DD报文、LSR报文、LSU报文和LSAck报文。
这五种报文有相同的报文头,但是它和OSPFv2的报文头有一些区别,其长度只有16字节,且没有认证字段。另外就是多了一个Instance ID字段,用来支持在同一条链路上运行多个实例。
OSPFv3的报文头如图3-1所示。
图3-1 OSPFv3 报文头示意图
l Version #:OSPF的版本号。对于OSPFv3来说,其值为3。
l Type:OSPF报文的类型。数值从1到5,分别对应Hello报文、DD报文、LSR报文、LSU报文和LSAck报文。
l Packet Length:OSPF报文的总长度,包括报文头在内,单位为字节。
l Instance ID:同一条链路上的实例标识。
l 0:保留位,必须为0。
LSA(Link State Advertisement,链路状态通告)是OSPFv3协议计算和维护路由信息的主要来源。在RFC2740中定义了七类LSA,描述如下:
l Router-LSAs:由每个路由器生成,描述本路由器的链路状态和开销,只在路由器所处区域内传播。
l Network-LSAs:由广播网络和NBMA(Non-Broadcast Multi-Access)网络的DR(Designated Router,指定路由器)生成,描述本网段接口的链路状态,只在DR所处区域内传播。
l Inter-Area-Prefix-LSAs:和OSPFv2中的Type-3 LSA类似,该LSA由ABR(Area Border Router,区域边界路由器)生成,在与该LSA相关的区域内传播。每一条Inter-Area-Prefix-LSA描述了一条到达本自治系统内其他区域的IPv6地址前缀(IPv6 Address Prefix)的路由。
l Inter-Area-Router-LSAs:和OSPFv2中的Type-4 LSA类似,该LSA由ABR生成,在与该LSA相关的区域内传播。每一条Inter-Area-Router-LSA描述了一条到达本自治系统内的ASBR(Autonomous System Border Router,自治系统边界路由器)的路由。
l AS-external-LSAs:由ASBR生成,描述到达其它AS(Autonomous System,自治系统)的路由,传播到整个AS(Stub区域除外)。缺省路由也可以用AS-external-LSAs来描述。
l Link-LSAs:路由器为每一条链路生成一个Link-LSA,在本地链路范围内传播。每一个Link-LSA描述了该链路上所连接的IPv6地址前缀及路由器的Link-local地址。
l Intra-Area-Prefix-LSAs:每个Intra-Area-Prefix-LSA包含路由器上的IPv6前缀信息,Stub区域信息或穿越区域(Transit Area)的网段信息,该LSA在区域内传播。由于Router-LSA和Network-LSA不再包含地址信息,导致了Intra-Area-Prefix-LSAs的引入。
OSPFv3的定时器包括:
l OSPFv3的报文定时器。
l LSA的延迟时间。
l SPF定时器。
Hello报文周期性地被发送至邻居路由器,用于发现与维持邻居关系、选举DR与BDR。需要注意的是,网络邻居间的Hello时间间隔必须一致,并且Hello时钟的值与路由收敛速度、网络负荷大小成反比。
在一定时间间隔内,如果路由器未收到对方的Hello报文,则认为对端路由器失效,这个时间间隔被称为相邻路由器间的失效时间。
当一台路由器向它的邻接发送一条LSA后,需要等到对方的确认报文。若在设定的重传间隔时间内没有收到对方的确认报文,就会向邻接重传这条LSA。重传间隔的值必须大于一个报文在两台路由器之间传送一个来回的时间。
由于LSA在本路由器的LSDB(Link State Database,链路状态数据库)中会随时间老化(每秒加1),但在网络的传输过程中却不会随时间老化,所以有必要在发送之前就将LSA的老化时间增加上传送延迟时间。对于低速网络,该项配置尤为重要。
当OSPFv3的LSDB发生改变时,需要重新计算最短路径,如果每次改变都立即计算最短路径,将占用大量资源,并会影响路由器的效率,通过调节SPF(Shortest Path First,最短路径优先)的计算延迟时间和间隔时间,可以避免在网络频繁变化时过多的占用资源。
在目前的实现中,支持以下OSPFv3特性:
l RFC2740规定的基本特性;
l OSPFv3 Stub区域;
l OSPFv3多进程(Multi-Process),可以在一台路由器上运行多个OSPFv3进程。
与OSPFv3相关的协议规范有:
l RFC 2740:OSPF for IPv6
l RFC 2328:OSPF Version 2
表3-1 OSPFv3配置任务简介
配置任务 |
说明 |
详细配置 |
|
配置OSPFv3基本功能 |
必选 |
||
配置OSPFv3的区域属性 |
配置OSPFv3的Stub区域 |
可选 |
|
配置OSPFv3的虚连接 |
可选 |
||
配置OSPFv3的路由信息控制 |
配置OSPFv3的路由聚合 |
可选 |
|
配置OSPFv3对接收的路由进行过滤 |
可选 |
||
配置OSPFv3接口的开销值 |
可选 |
||
配置OSPFv3最大等价路由条数 |
可选 |
||
配置OSPFv3协议的优先级 |
可选 |
||
配置OSPFv3引入外部路由 |
可选 |
||
调整和优化OSPFv3网络 |
配置OSPFv3定时器 |
可选 |
|
配置接口的DR优先级 |
可选 |
||
忽略DD报文中的MTU检查 |
可选 |
||
禁止接口收发OSPFv3报文 |
可选 |
||
配置邻接状态变化输出开关 |
可选 |
在配置OSPFv3基本功能之前,需完成以下任务:
l 各相邻节点网络层可达
l 使能IPv6报文转发功能
表3-2 配置OSPFv3基本功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动OSPFv3进程,进入OSPFv3视图 |
ospfv3 [ process-id ] |
必选 缺省情况下,系统不运行OSPFv3进程 |
配置路由器的ID |
router-id router-id |
必选 |
进入接口视图 |
interface interface-type interface-number |
- |
在接口上使能OSPFv3协议 |
ospfv3 process-id area area-id [ instance instance-id ] |
必选 缺省情况下,接口上没有使能OSPFv3协议 |
& 说明:
l OSPFv3进程号在启动OSPFv3时进行设置,它只在本地有效,不影响与其它路由器之间的报文交互。
l 配置Router ID时,必须保证自治系统中任意两台路由器的Router ID都不相同。如果在同一台路由器上运行了多个OSPFv3进程,必须为不同的进程指定不同的Router ID。
l OSPFv3的Router ID必须手工配置,如果没有配置Router ID,OSPFv3无法正常运行。
OSPFv3支持Stub区域和虚连接的配置,其原理及应用环境与OSPFv2相同。
OSPFv3划分区域后,可以减少网络中LSA的数量,OSPFv3的扩展性也得以增强。对于位于AS边缘的一些非骨干区域,为了更多的缩减其路由表规模和降低LSA的数量,可以将它们配置为Stub区域。
在划分区域之后,非骨干区域之间的OSPFv3路由更新是通过骨干区域来交换完成的。对此,OSPFv3要求所有非骨干区域必须与骨干区域保持连通,并且骨干区域自身也要保持连通。但在实际应用中,可能会因为各方面条件的限制,无法满足这个要求。这时可以通过配置OSPFv3虚连接予以解决。
在配置OSPFv3的区域属性之前,需完成以下任务:
l 使能IPv6报文转发功能
l 配置OSPFv3基本功能
表3-3 配置OSPFv3的Stub区域
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id ] |
- |
进入OSPFv3区域视图 |
area area-id |
- |
配置一个区域为Stub区域 |
stub [ no-summary ] |
必选 缺省情况下,没有区域被配置为Stub区域 |
配置发送到Stub区域的缺省路由的开销值 |
default-cost value |
可选 缺省情况下,发送到Stub区域的缺省路由的开销值为1 |
& 说明:
l 在配置同一区域内的OSPFv3路由器时,配置数据应该对同一区域内的路由器统一考虑,否则可能会导致相邻路由器之间无法形成邻居关系。
l OSPFv3的区域不能直接删除,只有区域视图下的所有配置都删除后,且该区域中相关接口的状态都为down,此区域才会自动删除。
l 对于位于Stub区域中的所有路由器都必须配置stub命令,参数no-summary只能在ABR上配置。
l 如果ABR使用了stub命令中的参数no-summary,则此ABR只向区域内发布一条缺省路由的Summary-LSA,不生成Inter-Area-Prefix-LSA、Inter-Area-Router-LSA。这种既没有AS-external-LSAs,也没有Inter-Area-Prefix-LSAs、Inter-Area-Router-LSAs的Stub区域,又称为Totally Stub区域。
对于没有和骨干区域直接相连的非骨干区域,或者不连续的骨干区域,可以使用该配置建立逻辑上的连通性。
表3-4 配置OSPFv3的虚连接
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id ] |
- |
进入OSPFv3区域视图 |
area area-id |
- |
创建并配置虚连接 |
vlink-peer router-id [ hello seconds | retransmit seconds | trans-delay seconds | dead seconds | instance instance-id ] * |
必选 |
& 说明:
虚连接的两端必须是ABR,而且必须在两端同时配置才可生效。
通过这部分的配置,可以控制OSPFv3的路由信息的发布与接收,并引入外部路由。
在配置OSPFv3的路由信息控制之前,需完成以下任务:
l 使能IPv6报文转发功能
l 配置OSPFv3基本功能
表3-5 配置OSPFv3的路由聚合
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id ] |
- |
进入OSPFv3区域视图 |
area area-id |
- |
配置OSPFv3区域路由聚合 |
abr-summary ipv6-address prefix-length [ not-advertise ] |
必选 缺省情况下,ABR没有对路由进行聚合 |
& 说明:
abr-summary命令只对ABR有效。如果该区域中存在多个连续的网段,则可以使用该命令将它们聚合成一个网段,ABR只发送一条聚合后的LSA,所有落入本命令指定的聚合网段范围的LSA将不再会被单独发送出去,这样可减小其它区域中LSDB的规模。
OSPFv3接收到LSAs后,可以根据一定的过滤条件来决定是否将计算后得到的路由信息加入到本地路由表中。
表3-6 配置OSPFv3对接收的路由进行过滤
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id ] |
- |
配置对接收的路由信息进行过滤 |
filter-policy { acl6-number | ipv6-prefix ipv6-prefix-name } import |
必选 缺省情况下,没有对接收的路由信息过滤 |
& 说明:
filter-policy import命令只对OSPFv3计算出来的路由进行过滤,没有通过过滤的路由将不被加入到本地路由表中,从而不能用于转发报文。
用户可以在不同接口上配置OSPFv3的链路开销值,从而影响路由的计算。
表3-7 配置OSPFv3接口的开销值
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
设置OSPFv3接口的开销值 |
ospfv3 cost value [ instance instance-id ] |
可选 缺省情况下,缺省值为1 |
如果到一个目的地有几条开销相同的路径,可以实现等价路由负载分担,IPv6报文在这几个链路上轮流发送,以提高链路利用率。该配置用以设置OSPFv3协议的最大等价路由条数。
表3-8 配置OSPFv3最大等价路由条数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id ] |
- |
配置最大等价路由条数 |
maximum load-balancing maximum |
可选 缺省情况下,OSPFv3支持的最大等价路由条数为4 |
由于路由器上可能同时运行多个动态路由协议,就存在各个路由协议之间路由信息共享和选择的问题。系统为每一种路由协议设置一个优先级,在不同协议发现同一条路由时,优先级高的路由将被优选。
表3-9 配置OSPFv3协议的优先级
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id | |
- |
配置OSPFv3协议的优先级 |
preference [ ase ] [ route-policy route-policy-name ] preference |
可选 缺省情况下,OSPFv3内部路由的优先级为10,OSPFv3 外部路由的优先级为150 |
表3-10 配置OSPFv3引入外部路由
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id ] |
- |
配置外部路由的缺省开销值 |
default cost value |
可选 缺省情况下,缺省开销值为1 |
引入外部路由信息 |
import-route { isisv6 process-id | ospfv3 process-id | ripng process-id | bgp4+ [ allow-ibgp ] | direct | static } [ cost value | type type | route-policy route-policy-name ] * |
必选 缺省情况下,没有引入外部路由信息 |
对引入的外部路由信息进行过滤 |
filter-policy { acl6-number | ipv6-prefix ipv6-prefix-name } export [ isisv6 process-id | ospfv3 process-id | ripng process-id | bgp4+ | direct | static ] |
可选 缺省情况下,没有对引入的路由信息过滤 |
& 说明:
l 在OSPFv3路由器上配置import-route命令后,这台OSPFv3路由器就成为ASBR。
l 由于OSPFv3是基于链路状态的路由协议,不能直接对发布的LSA进行过滤,所以只能在OSPFv3引入路由时进行过滤,只有符合条件的路由才能转换成LSA发布出去。
l filter-policy export命令只对本设备使用import-route引入的路由起作用。如果没有配置import-route命令来引入其它外部路由(包括不同进程的OSPFv3路由),则filter-policy export命令失效。
本节主要介绍配置OSPFv3定时器、配置接口的DR优先级、忽略DD报文中的MTU检查和禁止接口收发OSPFv3报文。
OSPFv3包括如下定时器:
l OSPFv3的报文定时器,可以调整OSPFv3网络的收敛速度以及协议报文带来的网络负荷。
l LSA的延迟时间:在一些低速链路上,需要考虑接口传送LSA的延迟时间。
l SPF定时器:通过调整SPF计算间隔时间,可以抑制由于网络频繁变化带来的资源消耗问题。
对于广播网,通过配置接口的DR优先级来影响DR/BDR的选择。
如果要使OSPFv3路由信息不被某一网络中的路由器获得,可禁止在与该网络相连的接口上发送OSPFv3报文。
在调整和优化OSPFv3网络之前,需完成以下任务:
l 使能IPv6报文转发功能
l 配置OSPFv3基本功能
表3-11 配置OSPF定时器
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置接口发送hello报文的时间间隔 |
ospfv3 timer hello seconds [ instance instance-id ] |
可选 缺省情况下,接口发送Hello报文的时间间隔的值为10秒 |
配置相邻路由器间失效时间 |
ospfv3 timer dead seconds [ instance instance-id ] |
可选 缺省情况下,接口的OSPFv3邻居失效时间为40秒 |
配置相邻路由器重传LSA的时间间隔 |
ospfv3 timer retransmit interval [ instance instance-id ] |
可选 缺省情况下,LSA的重传时间间隔为5秒 |
配置接口的LSA传输延迟时间 |
ospfv3 trans-delay seconds [ instance instance-id ] |
可选 缺省情况下,接口的LSA传输延迟时间为1秒 |
退回系统视图 |
quit |
- |
进入OSPFv3视图 |
ospfv3 [ process-id ] |
- |
设置SPF定时器 |
spf timers delay-interval hold-interval |
可选 缺省情况下,delay-interval值为5秒,hold-interval值为10秒 |
& 说明:
l 相邻路由器间失效时间间隔的值不要设置得太小,否则邻居很容易失效。
l 相邻路由器重传LSA时间间隔的值不要设置得太小,否则将会引起不必要的重传。
表3-12 配置接口的DR优先级
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置接口的DR优先级 |
ospfv3 dr-priority priority [ instance instance-id ] |
可选 缺省情况下,接口的DR优先级为1 |
& 说明:
路由器接口的DR优先级将影响接口在选举DR时所具有的资格,优先级为0的路由器不会被选举为DR或BDR。
在LSA数量不多的情况下,没有必要去检查MTU大小,可以设置忽略DD报文中的MTU检查,从而提高性能。
表3-13 忽略DD报文中的MTU检查
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
忽略DD报文中的MTU检查 |
ospfv3 mtu-ignore [ instance instance-id ] |
必选 缺省情况下,不忽略MTU检查 |
表3-14 禁止接口收发OSPFv3报文
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id ] |
- |
禁止接口发送OSPFv3报文 |
silent-interface { interface-type interface-number | all } |
必选 缺省情况下,允许接口发送OSPFv3报文 |
& 说明:
l 不同的进程可以对同一接口禁止发送OSPFv3报文,但silent-interface命令只对本进程已经使能的OSPFv3接口起作用,不对其它进程的接口起作用。
l 当运行OSPFv3协议的接口被配置为Silent状态后,该接口的直连路由仍可以由同一路由器的其他接口通过Intra-Area-Prefix-LSA发布,但OSPFv3报文将被阻塞,接口上不会建立OSPFv3邻居关系。这一特性可以增强OSPFv3的组网适应能力。
表3-15 配置邻接状态变化输出开关
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入OSPFv3视图 |
ospfv3 [ process-id ] |
- |
配置邻接状态变化输出开关 |
log-peer-change |
必选 缺省情况下,邻接状态变化输出开关处于打开状态 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后OSPFv3的运行情况,通过查看显示信息验证配置的效果。
表3-16 OSPFv3显示和维护
操作 |
命令 |
显示OSPFv3的调试信息开关状态 |
display debugging ospfv3 |
显示OSPFv3进程的概要信息 |
display ospfv3 [ process-id ] |
显示OSPFv3接口信息 |
display ospfv3 interface [ interface-type interface-number | statistic ] |
显示OSPFv3的LSDB信息 |
display ospfv3 [ process-id ] lsdb [ [ external | inter-prefix | inter-router | intra-prefix | link | network | router ] [ link-state-id ] [ originate-router router-id ] | total ] |
显示OSPFv3 LSDB中LSA的统计信息 |
display ospfv3 lsdb statistic |
显示OSPFv3邻居信息 |
display ospfv3 [ process-id ] [ area area-id ] peer [ [ interface-type interface-number ] [ verbose ] | peer-router-id ] |
显示OSPFv3邻居的统计信息 |
display ospfv3 peer statistic |
显示OSPFv3路由表信息 |
display ospfv3 [ process-id ] routing [ ipv6-address prefix-length | ipv6-address/prefix-length | abr-routes | asbr-routes | all | statistics ] |
显示OSPFv3区域拓扑信息 |
display ospfv3 [ process-id ] topology [ area area-id ] |
显示OSPFv3虚连接信息 |
display ospfv3 [ process-id ] vlink |
显示OSPFv3下一跳信息 |
display ospfv3 [ process-id ] next-hop |
显示OSPFv3链路状态请求列表信息 |
display ospfv3 [ process-id ] request-list [ { external | inter-prefix | inter-router | intra-prefix | link | network | router } [ link-state-id ] [ originate-router ip-address ] | statistics ] |
显示OSPFv3链路状态重传列表信息 |
display ospfv3 [ process-id ] retrans-list [ { external | inter-prefix | inter-router | intra-prefix | link | network | router } [ link-state-id ] [ originate-router ip-address ] | statistics ] |
显示接口收发OSPFv3报文的统计信息 |
display ospfv3 statistic |
l 所有的交换机都运行OSPFv3,整个自治系统划分为3个区域。其中Switch B和Switch C作为ABR来转发区域之间的路由。
l 要求将Area2配置为Stub区域,减少通告到此区域内的LSA数量,但不影响路由的可达性。
图3-2 配置OSPFv3区域组网图
(1) 配置各接口的IPv6地址(略)
(2) 配置OSPFv3基本功能
# 配置Switch A。
<SwitchA> system-view
[SwitchA] ipv6
[SwitchA] ospfv3
[SwitchA-ospfv3-1] router-id 1.1.1.1
[SwitchA-ospfv3-1] quit
[SwitchA] interface vlan-interface 300
[SwitchA-Vlan-interface300] ospfv3 1 area 1
[SwitchA-Vlan-interface300] quit
[SwitchA] interface vlan-interface 200
[SwitchA-Vlan-interface200] ospfv3 1 area 1
[SwitchA-Vlan-interface200] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] ipv6
[SwitchB] ospfv3
[SwitchB-ospf-1] router-id 2.2.2.2
[SwitchB-ospf-1] quit
[SwitchB] interface vlan-interface 100
[SwitchB-Vlan-interface100] ospfv3 1 area 0
[SwitchB-Vlan-interface100] quit
[SwitchB] interface vlan-interface 200
[SwitchB-Vlan-interface200] ospfv3 1 area 1
[SwitchB-Vlan-interface200] quit
# 配置Switch C。
<SwitchC> system-view
[SwitchC] ipv6
[SwitchC] ospfv3
[SwitchC-ospfv3-1] router-id 3.3.3.3
[SwitchC-ospfv3-1] quit
[SwitchC] interface vlan-interface 100
[SwitchC-Vlan-interface100] ospfv3 1 area 0
[SwitchC-Vlan-interface100] quit
[SwitchC] interface vlan-interface 400
[SwitchC-Vlan-interface400] ospfv3 1 area 2
[SwitchC-Vlan-interface400] quit
# 配置Switch D。
<SwitchD> system-view
[SwitchD] ipv6
[SwitchD] ospfv3
[SwitchD-ospfv3-1] router-id 4.4.4.4
[SwitchD-ospfv3-1] quit
[SwitchD] interface vlan-interface 400
[SwitchD-Vlan-interface400] ospfv3 1 area 2
[SwitchD-Vlan-interface400] quit
# 查看Switch B的OSPFv3邻居状态。
[SwitchB] display ospfv3 peer
OSPFv3 Area ID 0.0.0.0 (Process 1)
----------------------------------------------------------------------
Neighbor ID Pri State Dead Time Interface Instance ID
3.3.3.3 1 Full/DR 00:00:39 Vlan100 0
OSPFv3 Area ID 0.0.0.1 (Process 1)
----------------------------------------------------------------------
Neighbor ID Pri State Dead Time Interface Instance ID
1.1.1.1 1 Full/Backup 00:00:38 Vlan200 0
# 查看Switch C的OSPFv3邻居状态。
[SwitchC] display ospfv3 peer
OSPFv3 Area ID 0.0.0.0 (Process 1)
----------------------------------------------------------------------
Neighbor ID Pri State Dead Time Interface Instance ID
2.2.2.2 1 Full/Backup 00:00:39 Vlan100 0
OSPFv3 Area ID 0.0.0.2 (Process 1)
----------------------------------------------------------------------
Neighbor ID Pri State Dead Time Interface Instance ID
4.4.4.4 1 Full/DR 00:00:38 Vlan400 0
# 查看Switch D的OSPFv3路由表信息。
[SwitchD] display ospfv3 routing
E1 - Type 1 external route, IA - Inter area route, I - Intra area route
E2 - Type 2 external route, * - Seleted route
OSPFv3 Router with ID (4.4.4.4) (Process 1)
------------------------------------------------------------------------
*Destination: 2001::/64
Type : IA Cost : 2
NextHop : FE80::F40D:0:93D0:1 Interface: Vlan400
*Destination: 2001:1::/64
Type : IA Cost : 3
NextHop : FE80::F40D:0:93D0:1 Interface: Vlan400
*Destination: 2001:2::/64
Type : I Cost : 1
NextHop : directly-connected Interface: Vlan400
*Destination: 2001:3::/64
Type : IA Cost : 4
NextHop : FE80::F40D:0:93D0:1 Interface: Vlan400
(3) 配置Stub区域
# 配置Switch D的Stub区域。
[SwitchD] ospfv3
[SwitchD-ospfv3-1] area 2
[SwitchD-ospfv3-1-area-0.0.0.2] stub
# 配置Switch C的Stub区域,设置发送到Stub区域的缺省路由的开销为10。
[SwitchC] ospfv3
[SwitchC-ospfv3-1] area 2
[SwitchC-ospfv3-1-area-0.0.0.2] stub
[SwitchC-ospfv3-1-area-0.0.0.2] default-cost 10
# 查看Switch D的OSPFv3路由表信息,可以看到路由表中多了一条缺省路由,它的开销值为直连路由的开销和所配置的开销值之和。
[SwitchD] display ospfv3 routing
E1 - Type 1 external route, IA - Inter area route, I - Intra area route
E2 - Type 2 external route, * - Seleted route
OSPFv3 Router with ID (4.4.4.4) (Process 1)
------------------------------------------------------------------------
*Destination: ::/0
Type : IA Cost : 11
NextHop : FE80::F40D:0:93D0:1 Interface: Vlan400
*Destination: 2001::/64
Type : IA Cost : 2
NextHop : FE80::F40D:0:93D0:1 Interface: Vlan400
*Destination: 2001:1::/64
Type : IA Cost : 3
NextHop : FE80::F40D:0:93D0:1 Interface: Vlan400
*Destination: 2001:2::/64
Type : I Cost : 1
NextHop : directly-connected Interface: Vlan400
*Destination: 2001:3::/64
Type : IA Cost : 4
NextHop : FE80::F40D:0:93D0:1 Interface: Vlan400
(4) 配置Totally Stub区域
# 配置Switch C,设置Area2为Totally Stub区域。
[SwitchC-ospfv3-1-area-0.0.0.2] stub no-summary
# 查看Switch D的OSPFv3路由表,可以发现路由表项数目减少了,其他非直连路由都被抑制,只有缺省路由被保留。
[SwitchD] display ospfv3 routing
E1 - Type 1 external route, IA - Inter area route, I - Intra area route
E2 - Type 2 external route, * - Seleted route
OSPFv3 Router with ID (4.4.4.4) (Process 1)
------------------------------------------------------------------------
*Destination: ::/0
Type : IA Cost : 11
NextHop : FE80::F40D:0:93D0:1 Interface: Vlan400
*Destination: 2001:2::/64
Type : I Cost : 1
NextHop : directly-connected Interface: Vlan400
l Switch A的优先级为100,它是网络上的最高优先级,所以Switch A被选为DR;
l Switch C的优先级为2,它是优先级次高的,被选为BDR;
l Switch B的优先级为0,这意味着它将无法成为DR;
l Switch D没有配置优先级,取缺省值1。
图3-3 配置OSPFv3的DR选择组网图
(1) 配置各接口的IPv6地址(略)
(2) 配置OSPFv3基本功能
# 配置Switch A,启动OSPFv3,并设置其Router ID为1.1.1.1。
<SwitchA> system-view
[SwitchA] ipv6
[SwitchA] ospfv3
[SwitchA-ospfv3-1] router-id 1.1.1.1
[SwitchA-ospfv3-1] quit
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] ospfv3 1 area 0
[SwitchA-Vlan-interface100] quit
# 配置Switch B,启动OSPFv3,并设置其Router ID为2.2.2.2。
<SwitchB> system-view
[SwitchB] ipv6
[SwitchB] ospfv3
[SwitchB-ospfv3-1] router-id 2.2.2.2
[SwitchB-ospfv3-1] quit
[SwitchB] interface vlan-interface 200
[SwitchB-Vlan-interface200] ospfv3 1 area 0
[SwitchB-Vlan-interface200] quit
# 配置Switch C,启动OSPFv3,并设置其Router ID为3.3.3.3。
<SwitchC> system-view
[SwitchC] ipv6
[SwitchC] ospfv3
[SwitchC-ospfv3-1] router-id 3.3.3.3
[SwitchC-ospfv3-1] quit
[SwitchC] interface vlan-interface 100
[SwitchC-Vlan-interface100] ospfv3 1 area 0
[SwitchC-Vlan-interface100] quit
# 配置Switch D,启动OSPFv3,并设置其Router ID为4.4.4.4。
<SwitchD> system-view
[SwitchD] ipv6
[SwitchD] ospfv3
[SwitchD-ospfv3-1] router-id 4.4.4.4
[SwitchD-ospfv3-1] quit
[SwitchD] interface vlan-interface 200
[SwitchD-Vlan-interface200] ospfv3 1 area 0
[SwitchD-Vlan-interface200] quit
# 查看Switch A的邻居信息,可以看到DR优先级(缺省为1)以及邻居状态,此时优先级相等,Router ID大者被选为DR,可以看到Switch D为DR,Switch C为BDR。
[SwitchA] display ospfv3 peer
OSPFv3 Area ID 0.0.0.0 (Process 1)
----------------------------------------------------------------------
Neighbor ID Pri State Dead Time Interface Instance ID
2.2.2.2 1 2-Way/DROther 00:00:36 Vlan200 0
3.3.3.3 1 Full/Backup 00:00:35 Vlan100 0
4.4.4.4 1 Full/DR 00:00:33 Vlan200 0
# 查看Switch D的邻居信息,可以看到Switch D和其他邻居之间的邻居状态都为Full。
[SwitchD] display ospfv3 peer
OSPFv3 Area ID 0.0.0.0 (Process 1)
----------------------------------------------------------------------
Neighbor ID Pri State Dead Time Interface Instance ID
1.1.1.1 1 Full/DROther 00:00:30 Vlan100 0
2.2.2.2 1 Full/DROther 00:00:37 Vlan200 0
3.3.3.3 1 Full/Backup 00:00:31 Vlan100 0
(3) 配置接口的DR优先级
# 配置Switch A的接口Vlan-interface100的DR优先级为100。
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] ospfv3 dr-priority 100
[SwitchA-Vlan-interface100] quit
# 配置Switch B的接口Vlan-interface200的DR优先级为0。
[SwitchB] interface vlan-interface 200
[SwitchB-Vlan-interface200] ospfv3 dr-priority 0
[SwitchB-Vlan-interface200] quit
# 配置Switch C的接口Vlan-interface100的DR优先级为2。
[SwitchC] interface vlan-interface 100
[SwitchC-Vlan-interface100] ospfv3 dr-priority 2
[SwitchC-Vlan-interface100] quit
# 显示Switch A的邻居信息,可以看到DR优先级已经更新,但DR/BDR并未改变。
[SwitchA] display ospfv3 peer
OSPFv3 Area ID 0.0.0.0 (Process 1)
----------------------------------------------------------------------
Neighbor ID Pri State Dead Time Interface Instance ID
2.2.2.2 0 2-Way/DROther 00:00:38 Vlan200 0
3.3.3.3 2 Full/Backup 00:00:32 Vlan100 0
4.4.4.4 1 Full/DR 00:00:36 Vlan200 0
# 显示Switch D的邻居信息,可以看到Switch D仍然为DR。
[SwitchD] display ospfv3 peer
OSPFv3 Area ID 0.0.0.0 (Process 1)
----------------------------------------------------------------------
Neighbor ID Pri State Dead Time Interface Instance ID
1.1.1.1 100 Full/DROther 00:00:33 Vlan100 0
2.2.2.2 0 Full/DROther 00:00:36 Vlan200 0
3.3.3.3 2 Full/Backup 00:00:40 Vlan100 0
(4) 重新进行DR/BDR选择
# 将所有接口一次shutdown和undo shutdown,使OSPFv3进行DR/BDR的重新选举。
# 查看Switch A的邻居信息,可以看到Switch C为BDR。
[SwitchA] display ospfv3 peer
OSPFv3 Area ID 0.0.0.0 (Process 1)
----------------------------------------------------------------------
Neighbor ID Pri State Dead Time Interface Instance ID
2.2.2.2 0 Full/DROther 00:00:31 Vlan200 0
3.3.3.3 2 Full/Backup 00:00:39 Vlan100 0
4.4.4.4 1 Full/DROther 00:00:37 Vlan200 0
# 查看Switch D的邻居信息,可以看到Switch A为DR。
[SwitchD] display ospfv3 peer
OSPFv3 Area ID 0.0.0.0 (Process 1)
----------------------------------------------------------------------
Neighbor ID Pri State Dead Time Interface Instance ID
1.1.1.1 100 Full/DR 00:00:34 Vlan100 0
2.2.2.2 0 2-Way/DROther 00:00:34 Vlan200 0
3.3.3.3 2 Full/Backup 00:00:32 Vlan100 0
OSPFv3邻居无法建立
如果物理连接和下层协议正常,则检查接口上配置的OSPFv3参数,必须保证与相邻路由器的参数一致,区域号相同。
相邻的两台路由器接口的网络类型必须一致。若网络类型为广播网,则至少有一个接口的DR优先级应大于零。
(1) 使用display ospfv3 peer命令查看OSPFv3邻居状态。
(2) 使用display ospfv3 interface命令查看OSPFv3接口的信息。
(3) 检查物理连接及下层协议是否正常运行,可通过Ping命令测试。若从本地路由器Ping对端路由器不通,则表明物理连接和下层协议有问题。
(4) 检查OSPFv3定时器,在同一接口上失效时间应至少为Hello间隔时间的4倍。
(5) 如果网络类型为广播网,则至少有一个接口的DR优先级大于零。
OSPFv3不能发现其他区域的路由
应保证骨干区域与所有的区域相连接。若一台路由器配置了两个以上的区域,则至少有一个区域应与骨干区域相连。骨干区域不能配置成Stub区域。
在Stub区域内的路由器不能接收外部AS的路由。如果一个区域配置成Stub区域,则与这个区域相连的所有路由器都应将此区域配置成Stub区域。
(1) 使用display ospfv3 peer命令查看OSPFv3邻居状态。
(2) 使用display ospfv3 interface命令查看OSPFv3接口的信息。
(3) 使用display ospfv3 lsdb查看LSDB的信息是否完整。
(4) 使用display current-configuration configuration命令查看区域是否配置正确。若配置了两个以上的区域,则至少有一个区域与骨干区域相连。
(5) 如果某区域是Stub区域,则该区域中的所有路由器都要配置stub命令。
(6) 如果配置了虚连接,使用display ospf vlink命令查看邻居状态是否正常。
& 说明:
l IPv6 IS-IS实现了IPv4 IS-IS的所有功能,与IPv4 IS-IS的区别在于发布的是IPv6路由信息,本章只列出了IPv6 IS-IS专有的配置任务,其他相关配置任务请参见“IPv4路由”。
l 在以下路由协议的介绍中所指的路由器及路由器图标,代表了运行路由协议的三层交换机。为提高可读性,在手册的描述中将不另行说明。
l 目前S7500E系列以太网交换机中的LSQ1GP12EA单板不支持IPv6功能。
IS-IS(Intermediate System-to-Intermediate System intra-domain routing information exchange protocol,IS-IS路由协议)支持多种网络层协议,其中包括IPv6协议,支持IPv6协议的IS-IS路由协议又称为IPv6 IS-IS动态路由协议。IETF的draft-ietf-isis-ipv6-05中规定了IS-IS为支持IPv6所新增的内容,主要是新添加的支持IPv6协议的两个TLVs(Type-Length-Values)和一个新的NLPID(Network Layer Protocol Identifier,网络层协议标识符)。
TLV是LSP(Link State PDU或Link State Packet)中的一个可变长字段值。新增的两个TLV分别是:
l IPv6 Reachability:类型值为236(0xEC),通过定义路由信息前缀、度量值等信息来说明网络的可达性。
l IPv6 Interface Address:类型值为232(0xE8),它对应于IPv4中的“IP Interface Address”TLV,只不过把原来的32比特的IPv4地址改为128比特的IPv6地址。
NLPID是标识网络层协议报文的一个8比特字段,IPv6的NLPID值为142(0x8E)。如果IS-IS路由器支持IPv6,那么它必须以这个NLPID值向外发布路由信息。
& 说明:
在IPv6网络环境中,可以通过配置IPv6 IS-IS路由协议来实现IPv6网络的互连。
在配置之前,需完成以下任务:
l 全局使能IPv6能力
l 配置接口的网络层地址,使各相邻节点网络层可达
l 启动IS-IS
表4-1 配置IS-IS的IPv6基本特性
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动IS-IS路由进程,进入IS-IS视图 |
isis [ process-id ] |
必选 缺省情况下,系统没有运行IS-IS |
设置IS-IS路由进程的网络实体名称(NET) |
network-entity net |
必选 缺省情况下,没有配置NET |
使能IS-IS进程的IPv6能力 |
ipv6 enable |
必选 缺省情况下,没有使能IS-IS路由进程的IPv6能力 |
退回到系统视图 |
quit |
- |
进入接口视图 |
interface interface-type interface-number |
- |
使能接口IS-IS路由进程的IPv6能力并指定要关联的IS-IS进程号 |
isis ipv6 enable [ process-id ] |
必选 缺省情况下,接口上没有使能IS-IS路由进程的IPv6能力 |
在进行IPv6 IS-IS的路由特性配置之前,需完成IPv6 IS-IS基本配置。
表4-2 配置IPv6 IS-IS的路由信息控制
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入IS-IS视图 |
isis [ process-id ] |
- |
配置IPv6 IS-IS路由的优先级 |
ipv6 preference { route-policy route-policy-name | preference } * |
可选 缺省情况下,IPv6 IS-IS路由的优先级为15 |
配置IPv6 IS-IS聚合路由 |
ipv6 summary ipv6-prefix prefix-length [ avoid-feedback | generate_null0_route | [ level-1 | level-1-2 | level-2 ] | tag tag ] * |
可选 缺省情况下,没有IPv6聚合路由 |
配置生成IPv6 IS-IS缺省路由 |
ipv6 default-route-advertise [ [ level-1 | level-2 | level-1-2 ] | route-policy route-policy-name ] * |
可选 缺省情况下,不生成IPv6 IS-IS缺省路由 |
配置IPv6 IS-IS对接收的路由进行过滤 |
ipv6 filter-policy { acl6-number | ipv6-prefix ipv6-prefix-name | route-policy route-policy-name } import |
可选 缺省情况下,IPv6 IS-IS不对接收的路由信息进行过滤 |
配置IPv6 IS-IS引入其他协议的路由信息 |
ipv6 import-route protocol [ process-id ] [ allow-ibgp ] [ cost cost | [ level-1 | level-2 | level-1-2 ] | route-policy route-policy-name | tag tag ] * |
可选 缺省情况下,IPv6 IS-IS不引入其他协议的路由信息 |
配置IPv6 IS-IS对引入的路由进行过滤 |
ipv6 filter-policy { acl6-number | ipv6-prefix ipv6-prefix-name | route-policy route-policy-name } export [ protocol [ process-id ] ] |
可选 缺省情况下,IPv6 IS-IS不对引入的路由进行过滤 |
使能IPv6 IS-IS路由渗透功能 |
ipv6 import-route isisv6 level-2 into level-1 [ filter-policy { acl6-number | ipv6-prefix ipv6-prefix-name | route-policy route-policy-name } | tag tag ] * |
可选 缺省情况下,禁止IPv6 IS-IS路由渗透功能 |
配置在负载分担方式下IPv6 IS-IS等价路由的最大数量 |
ipv6 maximum load-balancing number |
可选 缺省情况下,最大等价路由条数为4 |
& 说明:
ipv6 filter-policy export命令一般和ipv6 import-route命令结合使用,它只对已引入的路由在发布给其他路由器时进行过滤。如果没有指定protocol参数,将对所有协议引入的路由进行过滤;如果指定了protocol参数,则只对特定协议引入的路由进行过滤。
在完成上述配置后,在任意视图下执行display命令可以显示配置后IPv6 IS-IS的运行情况,用户可以通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除IPv6 IS-IS的数据库信息,或者复位特定邻居的数据信息。
表4-3 IPv6 IS-IS显示和维护
命令 |
|
显示IS-IS的摘要信息 |
display isis brief |
显示IS-IS当前debug开关的状态 |
display isis debug-switches process-id |
显示使能了IS-IS的接口信息 |
display isis interface [ verbose ] process-id |
显示IS-IS的许可证信息 |
display isis license |
显示IS-IS的链路状态数据库 |
display isis lsdb [ [ l1 | l2 | level-1 | level-2 ] | [ [ lsp-id lsp-id | lsp-name lspname | local ] | verbose ] * ] * [ process-id ] |
显示IS-IS的mesh-group |
display isis mesh-group [ process-id ] |
显示本地路由器名称到系统ID的映射关系表 |
display isis name-table [ process-id ] |
显示IS-IS的邻居信息 |
display isis peer [ verbose ] [ process-id ] |
显示IPv6 IS-IS路由信息 |
display isis route ipv6 [ [ level-1 | level-2 ] | verbose ] * [ process-id ] |
显示IS-IS的SPF计算日志记录 |
display isis spf-log [ process-id ] |
显示IS-IS进程的统计信息 |
display isis statistics [ level-1 | level-2 | level-1-2 ] [ process-id ] |
清除所有IS-IS的数据结构信息 |
reset isis all [ process-id ] |
清除IS-IS特定邻居的数据信息 |
reset isis peer system-id [ process-id ] |
如下图所示,Switch A、Switch B、Switch C和Switch D属于同一自治系统,所有交换机已使能了IPv6能力,要求他们之间通过IPv6 IS-IS协议达到IPv6网络互连的目的。
其中Switch A和Switch B是Level-1交换机,Switch D是Level-2交换机,Switch C是Level-1-2交换机。Switch A、Switch B和Switch C属于区域10,而Switch D属于区域20。
图4-1 IPv6 IS-IS基本配置组网图
(1) 配置各接口的IPv6地址(略)
(2) 配置IPv6 IS-IS
# 配置Switch A。
<SwitchA> system-view
[SwitchA] isis 1
[SwitchA-isis-1] is-level level-1
[SwitchA-isis-1] network-entity 10.0000.0000.0001.00
[SwitchA-isis-1] ipv6 enable
[SwitchA-isis-1] quit
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] isis ipv6 enable 1
[SwitchA-Vlan-interface100] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] isis 1
[SwitchB-isis-1] is-level level-1
[SwitchB-isis-1] network-entity 10.0000.0000.0002.00
[SwitchB-isis-1] ipv6 enable
[SwitchB-isis-1] quit
[SwitchB] interface vlan-interface 200
[SwitchB-Vlan-interface200] isis ipv6 enable 1
[SwitchB-Vlan-interface200] quit
# 配置Switch C。
<SwitchC> system-view
[SwitchC] isis 1
[SwitchC-isis-1] network-entity 10.0000.0000.0003.00
[SwitchC-isis-1] ipv6 enable
[SwitchC-isis-1] quit
[SwitchC] interface vlan-interface 100
[SwitchC-Vlan-interface100] isis ipv6 enable 1
[SwitchC-Vlan-interface100] quit
[SwitchC] interface vlan-interface 200
[SwitchC-Vlan-interface200] isis ipv6 enable 1
[SwitchC-Vlan-interface200] quit
[SwitchC] interface vlan-interface 300
[SwitchC-Vlan-interface300] isis ipv6 enable 1
[SwitchC-Vlan-interface300] quit
# 配置Switch D。
<SwitchD> system-view
[SwitchD] isis 1
[SwitchD-isis-1] is-level level-2
[SwitchD-isis-1] network-entity 20.0000.0000.0004.00
[SwitchD-isis-1] ipv6 enable
[SwitchD-isis-1] quit
[SwitchD] interface vlan-interface 300
[SwitchD-Vlan-interface300] isis ipv6 enable 1
[SwitchD-Vlan-interface300] quit
[SwitchD] interface vlan-interface 301
[SwitchD-Vlan-interface301] isis ipv6 enable 1
[SwitchD-Vlan-interface301] quit
& 说明:
l 本章只列出了IPv6 BGP专有的配置与操作,其他相关内容请参见“IPv4路由”。
l 目前S7500E系列以太网交换机中的LSQ1GP12EA单板不支持IPv6功能。
传统的BGP-4只能管理IPv4的路由信息,对于使用其它网络层协议(如IPv6等)的应用,在跨自治系统传播时就受到一定限制。
为了提供对多种网络层协议的支持,IETF对BGP-4进行了扩展,形成IPv6 BGP,目前的IPv6 BGP标准是RFC 2858(Multiprotocol Extensions for BGP-4,BGP-4多协议扩展)。
为了实现对IPv6协议的支持,IPv6 BGP需要将IPv6网络层协议的信息反映到NLRI(Network Layer Reachable Information,网络层可达信息)及NEXT_HOP属性中。
IPv6 BGP中引入的两个NLRI属性分别是:
l MP_REACH_NLRI:Multiprotocol Reachable NLRI,多协议可达NLRI。用于发布可达路由及下一跳信息。
l MP_UNREACH_NLRI:Multiprotocol Unreachable NLRI,多协议不可达NLRI。用于撤销不可达路由。
IPv6 BGP中的NEXT_HOP属性用IPv6地址来表示,可以是IPv6全球单播地址或者链路本地地址。
IPv6 BGP是利用BGP的多协议扩展属性,来达到在IPv6网络中应用的目的,BGP协议原有的消息机制和路由机制并没有改变。
表5-1 配置任务简介
配置任务 |
说明 |
详细配置 |
|
配置IPv6 BGP基本功能 |
配置IPv6对等体 |
必选 |
|
配置IPv6 BGP发布本地IPv6路由 |
可选 |
||
配置路由首选值 |
可选 |
||
配置IPv6 BGP连接所使用的本地接口 |
可选 |
||
配置EBGP连接的最大跳数 |
可选 |
||
配置对等体/对等体组的描述信息 |
可选 |
||
禁止与对等体/对等体组建立会话 |
可选 |
||
记录指定对等体/对等体组的会话状态和事件信息 |
可选 |
||
控制路由信息的发布与接收 |
配置IPv6 BGP引入其他路由 |
可选 |
|
配置向对等体/对等体组发送缺省路由 |
可选 |
||
配置路由信息的发布策略 |
可选 |
||
配置路由信息的接收策略 |
可选 |
||
配置IPv6 BGP与IGP路由同步 |
可选 |
||
配置路由衰减 |
可选 |
||
配置IPv6 BGP的路由属性 |
配置IPv6 BGP路由管理的优先级、缺省LOCAL_PREF及NEXT_HOP属性 |
可选 |
|
配置MED属性 |
可选 |
||
配置AS_PATH属性 |
可选 |
||
调整和优化IPv6 BGP网络 |
配置IPv6 BGP的时钟 |
可选 |
|
配置IPv6 BGP软复位 |
可选 |
||
配置最大等价路由的条数 |
可选 |
||
组建大型IPv6 BGP网络 |
配置IPv6 BGP对等体组 |
可选 |
|
配置IPv6 BGP团体 |
可选 |
||
配置IPv6 BGP路由反射器 |
可选 |
在配置IPv6 BGP基本功能之前,需完成以下任务:
l 配置接口的网络层地址
l 使能IPv6功能
& 说明:
必须首先创建对等体组,才能配置对等体组的基本功能。关于对等体组的创建请参见“5.7.2 配置IPv6 BGP对等体组”。
表5-2 配置IPv6对等体
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动BGP,进入BGP视图 |
bgp as-number |
必选 缺省情况下,系统没有运行BGP |
为路由器指定ID |
router-id router-id |
可选 如果Loopback和其它接口没有配置IP地址,则该任务为必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
配置对等体的AS号 |
peer ipv6-address as-number as-number |
必选 缺省情况下,对等体无AS号 |
表5-3 配置IPv6 BGP发布本地IPv6路由
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
将路由通告到IPv6 BGP路由表中 |
network ipv6-address prefix-length [ short-cut | route-policy route-policy-name ] |
必选 缺省情况下,IPv6 BGP不通告任何路由 |
表5-4 配置路由首选值
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入BGP视图 |
bgp as-number |
必选 |
|
进入IPv6地址族视图 |
ipv6-family |
- |
|
为从对等体/对等体组接收的路由分配首选值 |
peer { ipv6-group-name | ipv6-address } preferred-value value |
可选 缺省情况下,从对等体/对等体组接收的路由的首选值为0 |
|
注意:
如果同时通过路由策略和peer { ipv6-group-name | ipv6-address } preferred-value value命令为从对等体组接收的IPv6路由设置首选值,通过路由策略过滤的IPv6路由的首选值将取路由策略中设置的首选值而不是peer { ipv6-group-name | ipv6-address } preferred-value value命令里设置的首选值,只有当路由策略里设置的首选值为0时,IPv6路由的首选值才会取peer { ipv6-group-name | ipv6-address } preferred-value value命令里设置的值;没有通过路由策略过滤的IPv6路由的首选值仍取peer { ipv6-group-name | ipv6-address } preferred-value value命令里设置的首选值。通过路由策略配置BGP IPv6路由信息首选值的相关配置可参考命令peer { ipv6-group-name | ipv6-address } route-policy route-policy-name { import | export }和apply preferred-value preferred-value。
表5-5 配置IPv6 BGP连接所使用的本地接口
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
指定与对等体/对等体组创建BGP会话时建立TCP连接使用的源接口 |
peer { ipv6-group-name | ipv6-address } connect-interface interface-type interface-number |
必选 缺省情况下,IPv6 BGP使用到达BGP对等体的最佳路由的出接口作为与对等体/对等体组创建BGP会话时建立TCP连接的源接口 |
& 说明:
l 为了提高IPv6 BGP连接的可靠性和稳定性,可将IPv6 BGP连接所使用的本地接口配置成Loopback接口,这样当网络中存在冗余链路时,不会因为其中某个接口或链路的故障而使IPv6 BGP连接中断。
l 当BGP对等体之间同时建立多条BGP连接时,如果没有明确指定建立TCP连接的源接口,可能会由于无法根据到达BGP对等体的最优路由确定TCP连接源接口从而导致无法建立TCP连接,因此建议用户在此情况下配置BGP对等体时明确配置BGP会话建立TCP连接的源接口为指定接口。
表5-6 配置非直接相连的邻居建立EBGP连接
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
配置允许同非直接相连网络上的邻居建立EBGP连接 |
peer { ipv6-group-name | ipv6-address } ebgp-max-hop [ hop-count ] |
必选 缺省情况下,不允许同非直接相连网络上的邻居建立EBGP连接 |
通常情况下,EBGP对等体之间必须具有直连的物理链路,如果不满足这一要求,则必须使用peer ebgp-max-hop命令允许它们之间经过多跳建立TCP连接。但是,对于直连EBGP使用Loopback接口建立邻居关系,不需要peer ebgp-max-hop命令的配置。
表5-7 配置对等体/对等体组的描述信息
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
配置对等体/对等体组的描述信息 |
peer { ipv6-group-name | ipv6-address } description description-text |
可选 缺省情况下,对等体/对等体组无描述信息 |
& 说明:
如果配置对等体组的描述信息,需要先创建对等体组。
表5-8 禁止与对等体/对等体组建立会话
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
禁止与对等体/对等体组建立会话 |
peer { ipv6-group-name | ipv6-address } ignore |
可选 缺省情况下,允许与IPv6 BGP对等体/对等体组建立会话 |
表5-9 记录指定对等体/对等体组的会话状态和事件信息
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
全局使能BGP日志记录功能 |
log-peer-change |
可选 缺省情况下,使能BGP日志记录功能 |
进入IPv6地址族视图 |
ipv6-family |
- |
记录指定对等体/对等体组的会话状态和事件信息 |
peer { ipv6-group-name | ipv6-address } log-change |
可选 缺省情况下,记录对等体/对等体组的会话状态和事件信息 |
& 说明:
有关log-peer-change命令的详细信息请参见“IPv4路由命令”。
控制IPv6 BGP的路由信息的发布和接收,包括对路由信息进行过滤,应用路由策略,路由衰减。
在控制路由信息的发布与接收之前,需完成以下任务:
l 使能IPv6功能
l 配置IPv6 BGP基本功能
表5-10 配置IPv6 BGP引入和过滤外部路由
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
允许将缺省路由引入到IPv6 BGP路由表中 |
default-route imported |
可选 缺省情况下,IPv6 BGP不允许将缺省路由引入到IPv6 BGP路由表中 |
配置引入其它协议路由信息并通告 |
import-route protocol [ process-id ] [ med med-value | route-policy route-policy-name ] * |
必选 缺省情况下,IPv6 BGP不引入且不通告其它协议的路由 |
& 说明:
如果没有配置default-route imported命令,则使用import-route命令引入IGP路由时,不能引入IGP的缺省路由。
表5-11 配置向对等体/对等体组发送缺省路由
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
配置向对等体/对等体组发送缺省路由 |
peer { ipv6-group-name | ipv6-address } default-route-advertise [ route-policy route-policy-name ] |
必选 缺省情况下,不向对等体/对等体组发布缺省路由 |
& 说明:
执行peer default-route-advertise命令后,不论本地路由表中是否存在缺省路由,都将向指定对等体/对等体组发布一条下一跳地址为本地地址的缺省路由。
表5-12 配置路由信息的发布策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
对发布的路由进行过滤 |
filter-policy { acl6-number | ipv6-prefix ipv6-prefix-name } export [ protocol process-id ] |
必选 缺省情况下,没有对发布的路由信息进行过滤 |
配置出方向路由策略 |
peer { ipv6-group-name | ipv6-address } route-policy route-policy-name export |
必选 缺省情况下,没有指定对等体/对等体组的路由策略 |
配置基于IPv6 ACL的路由过滤策略 |
peer { ipv6-group-name | ipv6-address } filter-policy acl6-number export |
必选 缺省情况下,没有为对等体/对等体组配置基于IPv6 ACL的过滤策略 |
配置基于AS路径过滤列表的IPv6 BGP路由过滤策略 |
peer { ipv6-group-name | ipv6-address } as-path-acl as-path-acl-number export |
必选 缺省情况下,没有为对等体/对等体组配置基于AS路径过滤列表的IPv6 BGP路由过滤策略 |
配置基于IPv6地址前缀列表的路由过滤策略 |
peer { ipv6-group-name | ipv6-address } ipv6-prefix ipv6-prefix-name export |
必选 缺省情况下,没有指定对等体/对等体组基于IPv6前缀列表的过滤策略 |
& 说明:
IPv6 BGP对引入的路由信息进行过滤后,会将符合条件的路由信息发布给IPv6 BGP对等体(Export)。指定protocol参数可以只对特定路由协议的信息进行过滤,如果没有指定此参数,则对所有要发布的IPv6 BGP路由信息进行过滤,包括引入的路由和使用network命令发布的路由。
表5-13 配置路由信息的接收策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
对接收的路由信息进行过滤 |
filter-policy { acl6-number | ipv6-prefix ipv6-prefix-name } import |
必选 缺省情况下,不对接收的路由信息进行过滤 |
对接收的路由信息应用路由策略 |
peer { ipv6-group-name | ipv6-address } route-policy route-policy-name import |
必选 缺省情况下,没有指定对等体/对等体组的路由策略 |
配置基于IPv6 ACL的路由过滤策略 |
peer { ipv6-group-name | ipv6-address } filter-policy acl6-number import |
必选 缺省情况下,没有为对等体/对等体组设置基于IPv6 ACL的路由过滤策略 |
配置基于AS路径过滤列表的IPv6 BGP路由过滤策略 |
peer { ipv6-group-name | ipv6-address } as-path-acl as-path-acl-number import |
必选 缺省情况下,没有为对等体/对等体组设置基于AS路径过滤列表的IPv6 BGP路由过滤策略 |
配置基于IPv6地址前缀列表的路由过滤策略 |
peer { ipv6-group-name | ipv6-address } ipv6-prefix ipv6-prefix-name import |
必选 缺省情况下,没有为对等体/对等体组设置基于IPv6前缀列表的路由过滤策略 |
配置允许从对等体/对等体组接收的最大IPv6地址前缀数 |
peer { ipv6-group-name | ipv6-address } route-limit limit [ percentage ] |
可选 缺省情况下,允许从对等体/对等体组接收的IPv6地址最大地址前缀数无限制 |
& 说明:
l 对IPv6 BGP接收的路由进行过滤,只有满足某些条件的路由才能被IPv6 BGP接收,并加到路由表中。
l 对等体组的成员可以与所在的组使用不同的入方向路由策略,即接收路由时,各对等体可以选择自己的策略。
使能同步特性后,如果一个AS由一个非IPv6 BGP路由器提供转发服务,那么该AS中的IPv6 BGP发言者不能对外部AS发布路由信息,除非该AS中的所有路由器都知道更新的路由信息。
IPv6 BGP路由器收到一条IBGP路由,缺省只检查该路由的下一跳是否可达。如果设置了同步特性,该IBGP路由只有在IGP也发布了这条路由时才会被同步并发布给EBGP对等体。
表5-14 配置IPv6 BGP与IGP路由同步
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
配置IPv6 BGP与IGP路由同步 |
synchronization |
必选 缺省情况下,IPv6 BGP和IGP路由不同步 |
表5-15 配置路由衰减
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
配置IPv6 BGP路由衰减 |
dampening [ half-life-reachable half-life-unreachable reuse suppress ceiling | route-policy route-policy-name ]* |
可选 缺省情况下,没有配置路由衰减 |
本节主要介绍使用各类路由属性来改变IPv6 BGP的选路策略。包括如下属性:
l IPv6 BGP协议的优先级
l 缺省LOCAL_PREF属性值
l MED属性
l NEXT_HOP属性
l AS_PATH属性
在配置IPv6 BGP的路由属性之前,需完成以下任务:
l 使能IPv6功能
l 配置IPv6 BGP基本功能
表5-16 配置IPv6 BGP协议的优先级、缺省LOCAL_PREF及NEXT_HOP属性
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
设定IPv6 BGP路由管理的优先级 |
preference { external-preference internal-preference local-preference | route-policy route-policy-name } |
可选 缺省情况下,EBGP路由的管理优先级为255,IBGP路由的管理优先级为255,本地产生的IPv6 BGP路由的管理优先级为130 |
配置本地优先级的缺省值 |
default local-preference value |
可选 缺省情况下,本地优先级的缺省值为100 |
配置发布路由时将自身地址作为下一跳 |
peer { ipv6-group-name | ipv6-address } next-hop-local |
可选 缺省情况下,向EBGP对等体/对等体组发布路由时,将自身地址作为下一跳;向IBGP对等体/对等体发布路由时,不将自身地址作为下一跳 |
& 说明:
l 在某些组网环境中,为保证IBGP邻居能够找到正确的下一跳,可以配置在向IBGP对等体/对等体组发布路由时,改变下一跳地址为自身地址。如果配置了IPv6 BGP负载分担,则不论是否配置了peer next-hop-local命令,本地路由器向IBGP对等体/对等体组发布路由时都先将下一跳地址改变为自身地址。
l 在第三方下一跳(即两个BGP连接在同一网段的广播网)这种特殊的组网环境中,缺省情况下,向EBGP对等体/对等体组发布路由时,不将自身地址作为下一跳;只有配置了peer next-hop-local命令,才将自身地址作为下一跳。
表5-17 配置MED属性
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
配置系统的缺省MED值 |
default med med-value |
可选 缺省情况下,系统缺省的MED值为0 |
配置允许比较来自不同AS邻居的路由的MED属性值 |
compare-different-as-med |
可选 缺省情况下,不允许比较来自不同AS邻居的路由的MED属性值 |
配置根据路由来自的AS进行分组对MED排序优选 |
bestroute compare-med |
可选 缺省情况下,不根据路由来自的AS进行分组对MED排序优选 |
配置允许比较联盟对等体的路由按MED值进行优选 |
bestroute med-confederation |
可选 缺省情况下,比较联盟对等体的路由时不考虑MED值 |
表5-18 配置AS_PATH属性
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
配置允许本地AS号在所接收的路由的AS_PATH属性中出现,并可同时配置允许重复的次数 |
peer { ipv6-group-name | ipv6-address } allow-as-loop [ number ] |
可选 缺省情况下,不允许本地AS号重复 |
为对等体/对等体组配置一个虚拟的本地自治系统号 |
peer { ipv6-group-name | ipv6-address } fake-as as-nmber |
可选 缺省情况下,没有为对等体/对等体组配置虚拟的本地自治系统号 |
禁止路由器将AS_PATH当作选路算法中的一个因素 |
bestroute as-path-neglect |
可选 缺省情况下,路由器可以将AS_PATH当作选路算法中的一个因素 |
配置发送IPv6 BGP更新报文时不携带私有AS编号 |
peer { ipv6-group-name | ipv6-address } public-as-only |
可选 缺省情况下,发送IPv6 BGP更新报文时携带私有自治系统号 |
配置用本地AS号替换AS_PATH属性中指定对等体/对等体组的AS号 |
peer { ipv6-group-name | ipv6-address } substitute-as |
可选 缺省情况下,没有用本地AS号替换AS_PATH属性中指定对等体/对等体组的AS号 |
本节主要介绍配置IPv6 BGP时钟、软复位IPv6 BGP连接和配置最大等价路由的条数。
(1) IPv6 BGP时钟
当对等体间建立了IPv6 BGP连接后,它们定时向对端发送Keepalive消息,以防止路由器认为IPv6 BGP连接已中断。若路由器在设定的连接保持时间(Holdtime)内未收到对端的Keepalive消息或任何其它类型的报文,则认为此IPv6 BGP连接已中断,从而退出此IPv6 BGP连接。
路由器在与对等体建立IPv6 BGP连接时,将比较双方保持时间,以数值较小者做为协商后的保持时间。如果协商结果为0,则不发送Keepalive消息,且不检测Holdtime是否超时。
(2) 软复位IPv6 BGP连接
IPv6 BGP的选路策略改变后,为了使新的策略生效,必须复位IPv6 BGP连接,但这样会造成短暂的IPv6 BGP连接中断。在目前的实现中,IPv6 BGP支持Route-refresh功能。当策略改变后,系统可以在不中断IPv6 BGP连接的情况下,自动对IPv6 BGP路由表进行动态刷新。
在所有IPv6 BGP路由器使能Route-refresh功能的情况下,如果IPv6 BGP的路由策略发生了变化,本地路由器会向对等体发布Router-refresh消息,收到此消息的对等体会将其路由信息重新发给本地IPv6 BGP路由器。这样,在不中断IPv6 BGP连接的情况下,就可以对IPv6 BGP路由表进行动态更新,并应用新的策略。
如果网络中存在有不支持Route-refresh的路由器,则需要配置peer keep-all-routes命令,将其所有路由更新保存在本地,并通过执行refresh bgp ipv6命令手工对IPv6 BGP连接进行软复位。
在调整IPv6 BGP的时钟之前,需完成以下任务:
l 使能IPv6能力
l 配置IPv6 BGP基本功能
表5-19 配置IPv6 BGP的时钟
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入BGP视图 |
bgp as-number |
必选 |
|
进入IPv6地址族视图 |
ipv6-family |
- |
|
配置IPv6 BGP定时器 |
配置IPv6 BGP的存活时间间隔与保持时间 |
timer keepalive keepalive hold holdtime |
可选 缺省情况下,存活时间间隔为60秒,保持时间为180秒 |
peer { ipv6-group-name | ipv6-address } timer keepalive keepalive hold holdtime |
|||
配置对等体/对等体组的发送同一路由更新报文的时间间隔 |
peer { ipv6-group-name | ipv6-address } route-update-interval seconds |
可选 缺省情况下,向IBGP对等体发送同一路由更新的时间间隔为15秒,向EBGP对等体发送同一路由更新的时间间隔为30秒 |
& 说明:
l 使用timer命令配置的定时器比使用peer timer命令配置的定时器优先级要低。
l 设置的保持时间应该至少为存活时间间隔的三倍。
表5-20 使能Route-refresh功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
使能IPv6 BGP路由刷新功能 |
peer { ipv6-group-name | ipv6-address } capability-advertise route-refresh |
可选 缺省情况下,使能IPv6 BGP路由刷新功能 |
表5-21 手工软复位IPv6 BGP
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
保存所有来自对等体/对等体组的原始路由信息,即使这些路由没有通过已配置的入口策略 |
peer { ipv6-group-name | ipv6-address } keep-all-routes |
可选 缺省情况下,不保存对等体/对等体组的原始路由信息 |
返回用户视图 |
return |
- |
手工对IPv6 BGP连接进行软复位 |
refresh bgp ipv6 { all | ipv6-address | group ipv6-group-name | external | internal } { export | import } |
必选 |
& 说明:
配置命令peer keep-all-routes后,不论是否使用了过滤策略,都将保存指定对等体发来的所有路由更新。当软复位IPv6 BGP连接时,这些信息可以用来重新生成IPv6 BGP路由。
表5-22 配置最大等价路由的条数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
配置进行IPv6 BGP负载分担的路由条数 |
balance number |
必选 缺省情况下,不进行负载分担 |
为方便管理,减少重复配置操作,管理员将一些享有相同更新策略的IPv6 BGP对等体划分到一个逻辑组织,这些组织就称为对等体组。只须对一个等体组配置策略,该策略对组内所有成员都有效。
当对等体组的配置变化时,每个组员的配置也相应变化。对某些属性可以指定组员的IPv6地址进行配置,从而使指定组员在这些属性上不受对等体组配置的影响。
通常将同一自治系统的对等体配置为一个对等体组,当然,也可以将其它自治系统的对等体加入到该组。所有IBGP对等体可配置为另一个对等体组。根据业务逻辑创建对等体组。
对等体组可以使一组对等体共享相同的策略,而利用团体可以使多个AS中的一组IPv6 BGP路由器共享相同的策略。团体是一个路由属性,在IPv6 BGP对等体之间传播,它并不受到AS范围的限制。
为保证IBGP对等体之间的连通性,需要在IBGP对等体之间建立全连接关系。当IBGP对等体数目很多时,建立全连接网的开销很大。路由反射器和联盟是解决这个问题的两种方法。
IPv6 BGP联盟的配置方式与BGP相同,这里不再赘述。以下主要介绍:
l 配置IPv6 BGP对等体组
l 配置IPv6 BGP团体
l 配置IPv6 BGP路由反射器
在配置IPv6 BGP对等体组之前,需完成以下任务:
l 相邻节点网络层互通
l 启动BGP,配置Router ID
表5-23 创建IBGP对等体组
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动BGP,进入BGP视图 |
bgp as-number |
必选 缺省情况下,系统没有运行BGP |
进入IPv6地址族视图 |
ipv6-family |
- |
创建IBGP对等体组 |
group ipv6-group-name [ internal ] |
必选 |
将对等体加入已存在的对等体组 |
peer ipv6-address group ipv6-group-name [ as-number as-number ] |
必选 缺省情况下,对等体不属于任何对等体组 |
表5-24 创建纯EBGP对等体组
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动BGP,进入BGP视图 |
bgp as-number |
必选 缺省情况下,系统没有运行BGP |
进入IPv6地址族视图 |
ipv6-family |
- |
创建EBGP对等体组 |
group ipv6-group-name external |
必选 |
配置对等体组的AS号 |
peer ipv6-group-name as-number as-number |
必选 缺省情况下,对等体组无AS号 |
在已创建的对等体组中加入IPv6对等体 |
peer ipv6-address group ipv6-group-name |
必选 缺省情况下,对等体不属于任何对等体组 |
& 说明:
l 在创建纯EBGP对等体时,需要指定对等体组的自治系统号。
l 如果对等体组中已经加入了对等体,那么不能够为该对等体组指定自治系统号。
表5-25 创建混合EBGP对等体组
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动BGP,进入BGP视图 |
bgp as-number |
必选 缺省情况下,系统没有运行BGP |
进入IPv6地址族视图 |
ipv6-family |
- |
创建EBGP对等体组 |
group ipv6-group-name external |
必选 |
设置IPv6对等体的AS号 |
peer ipv6-address as-number as-number |
必选 缺省情况下,对等体/对等体组无AS号 |
加入已创建的IPv6对等体 |
peer ipv6-address group ipv6-group-name |
必选 缺省情况下,对等体不属于任何对等体组 |
& 说明:
在创建混合EBGP对等体组时,需要单独创建对等体,并可设置不同的自治系统号,但不能设置对等体组的自治系统号。
表5-26 配置向对等体/对等体组发布团体属性
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
启动BGP,进入BGP视图 |
bgp as-number |
必选 缺省情况下,系统没有运行BGP |
进入IPv6地址族视图 |
ipv6-family |
- |
配置将团体属性传给对等体/对等体组 |
peer { ipv6-group-name | ipv6-address } advertise-community |
必选 缺省情况下,不将团体属性发布给任何对等体/对等体组 |
配置将扩展团体属性传给对等体/对等体组 |
peer { ipv6-group-name | ipv6-address } advertise-ext-community |
必选 缺省情况下,不将扩展团体属性发布给任何对等体/对等体组 |
表5-27 对发布的路由信息应用路由策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
配置出方向路由策略 |
peer { ipv6-group-name | ipv6-address } route-policy route-policy-name export |
必选 缺省情况下,不指定对等体/对等体组的路由策略 |
& 说明:
配置IPv6 BGP团体时,必须使用路由策略来定义具体的团体属性,然后在发布路由信息时应用此路由策略。
表5-28 配置IPv6 BGP路由反射器
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
必选 |
进入IPv6地址族视图 |
ipv6-family |
- |
配置将本机作为路由反射器,并将对等体/对等体组作为路由反射器的客户 |
peer { ipv6-group-name | ipv6-address } reflect-client |
必选 缺省情况下,没有配置路由反射器及其客户 |
使能客户机之间的路由反射 |
reflect between-clients |
可选 缺省情况下,允许客户到客户的路由反射 |
配置路由反射器的集群ID |
reflector cluster-id cluster-id |
可选 缺省情况下,每个路由反射器是使用自己的Router ID作为集群ID |
& 说明:
l 通常情况下,路由反射器的客户之间不要求是全连接的,路由缺省通过反射器从一个客户反射到其它客户;如果客户之间是全连接的,可以禁止客户间的反射,以便减少开销。
l 当一个集群里有多个路由反射器时,需要给所有位于同一个集群内的路由反射器配置相同的Cluster_ID,以避免路由循环。
在完成上述配置后,在任意视图下执行display命令可以显示配置后IPv6 BGP的运行情况,通过查看显示信息验证配置的效果。
表5-29 显示IPv6 BGP的运行状态
操作 |
命令 |
显示对等体组信息 |
display bgp ipv6 group [ ipv6-group-name ] |
显示IPv6 BGP发布的IPv6路由信息 |
display bgp ipv6 network |
显示AS路径信息 |
display bgp ipv6 paths [ as-regular-expression ] |
显示对等体/对等体组信息 |
display bgp ipv6 peer [ ipv6-group-name log-info | ipv6-address { log-info | verbose } | verbose ] |
显示IPv6 BGP路由信息 |
display bgp ipv6 routing-table [ ipv6-address prefix-length ] |
显示匹配指定AS路径过滤列表的路由 |
display bgp ipv6 routing-table as-path-acl as-path-acl-number |
显示指定IPv6 BGP团体的路由信息 |
display bgp ipv6 routing-table community [ aa:nn<1-13> ] [ no-advertise | no-export | no-export-subconfed ]* [ whole-match ] |
显示匹配指定IPv6 BGP团体列表的路由信息 |
display bgp ipv6 routing-table community-list { basic-community-list-number [ whole-match ] | adv-community-list-number }&<1-16> |
显示IPv6 BGP衰减的路由 |
|
显示IPv6 BGP路由衰减参数 |
display bgp ipv6 routing-table dampening parameter |
显示来自不同自治系统的IPv6 BGP路由 |
display bgp ipv6 routing-table different-origin-as |
显示IPv6 BGP路由振荡统计信息 |
display bgp ipv6 routing-table flap-info [ regular-expression as-regular-expression | as-path-acl as-path-acl-number | network-address [ prefix-length [ longer-match ] ] ] |
显示向指定的IPv6 BGP对等体发送或者从指定的IPv6 BGP对等体收到的路由信息 |
display bgp ipv6 routing-table peer ipv6-address { advertised-routes | received-routes } [ network-address prefix-length | statistic ] |
显示匹配AS正则表达式的IPv6路由信息 |
display bgp ipv6 routing-table regular-expression as-regular-expression |
显示IPv6 BGP的路由统计信息 |
display bgp ipv6 routing-table statistic |
当BGP路由策略或协议发生变化后,如果需要通过复位IPv6 BGP连接使新的配置生效,请在用户视图下进行下列配置。
操作 |
命令 |
手工软复位IPv6 BGP连接 |
refresh bgp ipv6 { ipv6-address | all | external | group ipv6-group-name | internal } { export | import } |
复位所有IPv6 BGP连接 |
reset bgp ipv6 { as-number | ipv6-address [ flap-info ] | all | group ipv6-group-name | external | internal } |
在用户视图下执行reset命令可清除IPv6 BGP路由的统计信息。
操作 |
命令 |
清除IPv6 BGP路由的衰减信息并释放被抑制的路由 |
reset bgp ipv6 dampening [ ipv6-address prefix-length ] |
清除IPv6 BGP路由的振荡统计信息 |
reset bgp ipv6 flap-info [ ipv6-address/prefix-length | regexp as-path-regexp | as-path-acl as-path-acl-number ] |
& 说明:
IPv6 BGP的配置举例多数与BGP4的配置举例相似,本节不再一一列出。其他配置例请参见“IPv4路由”中的BGP部分。
如图5-1所示,所有交换机运行IPv6 BGP协议,Switch A和Switch B之间建立EBGP连接,Switch B、Switch C和Switch D之间建立IBGP全连接。
图5-1 IPv6 BGP基本配置组网图
(1) 配置各VLAN接口的IPv6地址(略)
(2) 配置IBGP连接
# 配置Switch B。
<SwitchB> system-view
[SwitchB] ipv6
[SwitchB] bgp 65009
[SwitchB-bgp] router-id 2.2.2.2
[SwitchB-bgp] ipv6-family
[SwitchB-bgp-af-ipv6] peer 9:1::2 as-number 65009
[SwitchB-bgp-af-ipv6] peer 9:3::2 as-number 65009
[SwitchB-bgp-af-ipv6] quit
[SwitchB-bgp] quit
# 配置Switch C。
<SwitchC> system-view
[SwitchC] ipv6
[SwitchC] bgp 65009
[SwitchC-bgp] router-id 3.3.3.3
[SwitchC-bgp] ipv6-family
[SwitchC-bgp-af-ipv6] peer 9:3::1 as-number 65009
[SwitchC-bgp-af-ipv6] peer 9:2::2 as-number 65009
[SwitchC-bgp-af-ipv6] quit
[SwitchC-bgp] quit
# 配置Switch D。
<SwitchD> system-view
[SwitchD] ipv6
[SwitchD] bgp 65009
[SwitchD-bgp] router-id 4.4.4.4
[SwitchD-bgp] ipv6-family
[SwitchD-bgp-af-ipv6] peer 9:1::1 as-number 65009
[SwitchD-bgp-af-ipv6] peer 9:2::1 as-number 65009
[SwitchD-bgp-af-ipv6] quit
[SwitchD-bgp] quit
(3) 配置EBGP连接
# 配置Switch A。
<SwitchA> system-view
[SwitchA] ipv6
[SwitchA] bgp 65008
[SwitchA-bgp] router-id 1.1.1.1
[SwitchA-bgp] ipv6-family
[SwitchA-bgp-af-ipv6] peer 10::1 as-number 65009
[SwitchA-bgp-af-ipv6] quit
[SwitchA-bgp] quit
# 配置Switch B。
[SwitchB] bgp 65009
[SwitchB-bgp] ipv6-family
[SwitchB-bgp-af-ipv6] peer 10::2 as-number 65008
# 查看Switch B的对等体信息。
[SwitchB] display bgp ipv6 peer
BGP local router ID : 2.2.2.2
Local AS number : 65009
Total number of peers : 3 Peers in established state : 3
Peer V AS MsgRcvd MsgSent OutQ PrefRcv Up/Down State
10::2 4 65008 3 3 0 0 00:01:16 Established
9:3::2 4 65009 2 3 0 0 00:00:40 Established
9:1::2 4 65009 2 4 0 0 00:00:19 Established
# 查看Switch C的对等体信息。
[SwitchC] display bgp ipv6 peer
BGP local router ID : 3.3.3.3
Local AS number : 65009
Total number of peers : 2 Peers in established state : 2
Peer V AS MsgRcvd MsgSent OutQ PrefRcv Up/Down State
9:3::1 4 65009 4 4 0 0 00:02:18 Established
9:2::2 4 65009 4 5 0 0 00:01:52 Established
可以看出,Switch A和Switch B之间建立的EBGP连接,Switch B、Switch C和Switch D之间建立了IBGP连接。
Switch B接收了一个经过EBGP的更新报文并将之传给Switch C。Switch C被配置为路由反射器,它有两个客户机:Switch B和Switch D。
SwitchB和Switch D间不需要建立IBGP连接,当Switch C接收了来自Switch B的路由更新时,它将此信息反射给Switch D;反之,接收到的Switch D的路由信息也会被反射给Switch B。
图5-2 配置IPv6 BGP路由反射器组网图
(1) 配置各VLAN接口的IPv6地址(略)
(2) 配置IPv6 BGP基本功能
# 配置Switch A。
<SwitchA> system-view
[SwitchA] ipv6
[SwitchA] bgp 100
[SwitchA-bgp] router-id 1.1.1.1
[SwitchA-bgp] ipv6-family
[SwitchA-bgp-af-ipv6] peer 100::2 as-number 200
[SwitchA-bgp-af-ipv6] network 1:: 64
# 配置Switch B。
<SwitchB> system-view
[SwitchB] ipv6
[SwitchB] bgp 200
[SwitchB-bgp] router-id 2.2.2.2
[SwitchB-bgp] ipv6-family
[SwitchB-bgp-af-ipv6] peer 100::1 as-number 100
[SwitchB-bgp-af-ipv6] peer 101::1 as-number 200
[SwitchB-bgp-af-ipv6] peer 101::1 next-hop-local
# 配置Switch C。
<SwitchC> system-view
[SwitchC] ipv6
[SwitchC] bgp 200
[SwitchC-bgp] router-id 3.3.3.3
[SwitchC-bgp] ipv6-family
[SwitchC-bgp-af-ipv6] peer 101::2 as-number 200
[SwitchC-bgp-af-ipv6] peer 102::2 as-number 200
# 配置Switch D。
<SwitchD> system-view
[SwitchD] ipv6
[SwitchD] bgp 200
[SwitchD-bgp] router-id 4.4.4.4
[SwitchD-bgp] ipv6-family
[SwitchD-bgp-af-ipv6] peer 102::1 as-number 200
(3) 配置路由反射器
# 配置Switch C作为路由反射器,Switch B和Switch D是它的两个客户机。
[SwitchC-bgp-af-ipv6] peer 101::2 reflect-client
[SwitchC-bgp-af-ipv6] peer 102::2 reflect-client
在Switch B上用命令display bgp ipv6 routing-table,可以看到Switch B已知道网络1::/64的存在。
在Switch D上用命令display bgp ipv6 routing-table,可以看到Switch D也知道网络1::/64的存在。
使用display bgp ipv6 peer命令查看IPv6 BGP对等体的信息,发现与对端的连接无法进入Established状态。
IPv6 BGP邻居的建立需要能够使用179端口建立TCP会话,以及能够正确交换Open消息。
(1) 用display current-configuration命令检查邻居的AS号配置是否正确。
(2) 用display bgp ipv6 peer命令检查邻居的IPv6地址是否正确。
(3) 如果使用Loopback接口,检查是否配置了peer connect-interface命令。
(4) 如果是物理上非直连的EBGP邻居,检查是否配置了peer ebgp-max-hop命令。
(5) 检查路由表中是否存在到邻居的可用路由。
(6) 使用ping命令检查链路是否畅通。
(7) 使用display tcp ipv6 status命令检查TCP连接是否正常。
(8) 检查是否配置了禁止TCP端口179的ACL。
& 说明:
目前S7500E系列以太网交换机中的LSQ1GP12EA单板不支持IPv6功能。
路由策略(Routing Policy)是为了改变网络流量所经过的途径而修改路由信息的技术,主要通过改变路由属性(包括可达性)来实现。
路由器在发布与接收路由信息时,可能需要实施一些策略,以便对路由信息进行过滤,例如只接收或发布满足一定条件的路由信息。一种路由协议可能需要引入其它的路由协议发现的路由信息,路由器在引入其它路由协议的路由信息时,可能只需要引入一部分满足条件的路由信息,并控制所引入的路由信息的某些属性,以使其满足本协议的要求。
为实现路由策略,首先要定义将要实施路由策略的路由信息的特征,即定义一组匹配规则。可以以路由信息中的不同属性作为匹配依据进行设置,如目的地址、发布路由信息的路由器地址等。匹配规则可以预先设置好,然后再将它们应用于路由的发布、接收和引入等过程的路由策略中。
路由协议可以引用访问控制列表、地址前缀列表、AS路径访问列表、团体属性列表、扩展团体属性列表和Route-policy几种过滤器。下面对各种过滤器逐一进行介绍。
用户在定义ACL时可以指定IP(v6)地址和子网范围,用于匹配路由信息的目的网段地址或下一跳地址。ACL的有关配置请参见“ACL操作”。
地址前缀列表的作用类似于ACL,但比它更为灵活,且更易于用户理解。使用地址前缀列表过滤路由信息时,其匹配对象为路由信息的目的地址信息域。
一个地址前缀列表由前缀列表名标识。每个前缀列表可以包含多个表项,每个表项可以独立指定一个网络前缀形式的匹配范围,并用一个索引号来标识,索引号指明了在地址前缀列表中进行匹配检查的顺序。
每个表项之间是“或”的关系,在匹配的过程中,路由器按升序依次检查由索引号标识的各个表项,只要有某一表项满足条件,就意味着通过该地址前缀列表的过滤(不再进入下一个表项的测试)。
as-path仅用于IPv6 BGP。IPv6 BGP的路由信息中,包含有自治系统路径域。as-path就是针对自治系统路径域指定匹配条件。
community-list仅用于IPv6 BGP。IPv6 BGP的路由信息包中,包含一个community属性域,用来标识一个团体。community-list就是针对团体属性域指定匹配条件。
extcommunity-list仅用于IPv6 BGP,IPv6 BGP扩展团体属性是用于VPN的Route-Target(路由目标)扩展团体。
路由策略是一种比较复杂的过滤器,它不仅可以匹配路由信息的某些属性,还可以在条件满足时改变路由信息的属性。路由策略可以使用前面几种过滤器定义自己的匹配规则。
一个路由策略可以由多个节点(node)构成,每个节点是匹配检查的一个单元,在匹配过程中,系统按节点序号升序依次检查各个节点。
每个节点可以由一组if-match和apply子句组成。if-match子句定义匹配规则,匹配对象是路由信息的一些属性。同一节点中的不同if-match子句是“与”的关系,只有满足节点内所有if-match子句指定的匹配条件,才能通过该节点的匹配测试。apply子句指定动作,也就是在通过节点的匹配后,对路由信息的一些属性进行设置。
一个路由策略的不同节点间是“或”的关系,如果通过了其中一节点,就意味着通过该路由策略,不再对其他节点进行匹配测试。
路由策略主要有两种应用方式:
l 路由协议在引入其它路由协议发现的路由时,通过路由策略只引入满足条件的路由信息。
l 路由协议在发布或接收路由信息时,通过路由策略对路由信息进行过滤,只接收或发布满足给定条件的路由信息。
在配置过滤列表之前,需要准备以下数据:
l 前缀列表名称
l 匹配的地址范围
l 扩展团体属性列表序号
IPv6地址前缀列表由列表名标识,每个前缀列表可以包含多个表项。各表项可以独立指定一个网络前缀形式的匹配范围,并使用索引号标识。
在匹配的过程中,系统按索引号升序依次检查各个表项,只要路由信息满足一个表项,就认为通过该过滤列表,不再去匹配其他表项。
表6-1 配置IPv6地址前缀列表
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置IPv6地址前缀列表 |
ip ipv6-prefix ipv6-prefix-name [ index index-number ] { deny | permit } ipv6-address prefix-length [ greater-equal min-prefix-length ] [ less-equal max-prefix-length ] |
必选 缺省情况下,没有配置IPv6地址前缀列表 |
& 说明:
如果所有表项都是deny模式,则任何路由都不能通过该过滤列表。这种情况下,需要在多条deny模式的表项后定义一条permit :: 0 less-equal 128的表项,以允许其它所有IPv6路由信息通过
例如,按如下配置可以保证仅过滤掉2000:1::/48、2000:2::/48、2000:3::/48三个网段的路由,而其它网段的路由信息可以通过。
<Sysname> system-view
[Sysname] ip ipv6-prefix abc index 10 deny 2000:1:: 48
[Sysname] ip ipv6-prefix abc index 20 deny 2000:2:: 48
[Sysname] ip ipv6-prefix abc index 30 deny 2000:3:: 48
[Sysname] ip ipv6-prefix abc index 40 permit :: 0 less-equal 128
一个AS过滤列表可以包含多个表项。在匹配过程中,各表项之间是“或”的关系,即只要路由信息通过该列表中的一条表项,就认为通过该AS路径过滤列表。
表6-2 配置AS路径过滤列表
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置AS路径过滤列表 |
ip as-path as-path-number { deny | permit } regular-expression |
必选 缺省情况下,没有配置AS路径过滤列表 |
一个团体属性列表可以定义多个表项。在匹配过程中,各表项之间是“或”的关系,即只要路由信息通过该列表中的一条表项,就认为通过该团体属性列表。
表6-3 配置团体属性列表
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
配置团体属性列表 |
配置基本团体属性列表 |
ip community-list basic-comm-list-num { deny | permit } [ community-number-list ] [ internet | no-advertise | no-export | no-export-subconfed ] * |
二者必选其一 缺省情况下,没有配置团体属性列表 |
配置高级团体属性列表 |
ip community-list adv-comm-list-num { deny | permit } regular-expression |
一个扩展团体属性列表可以定义多个表项。在匹配过程中,各表项之间是“或”的关系,即只要路由信息通过该列表中的一条表项,就认为通过该扩展团体属性列表。
ip extcommunity-list ext-comm-list-number { deny | permit } { rt route-target }&<1-16> |
路由策略用来根据路由信息的某些属性过滤路由信息,并改变与路由策略规则匹配的路由信息的属性。匹配条件可以使用前面几种过滤列表。
一个路由策略可由多个节点构成,每个节点又分为:
l if-match子句:定义匹配规则,即路由信息通过当前Route-policy所需满足的条件,匹配对象是路由信息的某些属性。
l apply子句:指定动作,也就是在满足由if-match子句指定的过滤条件后所执行的一些配置命令,对路由的某些属性进行修改。
在配置路由策略之前,需完成以下任务:
l 配置过滤列表
l 配置路由协议
在配置之前,需要准备以下数据:
l 路由策略的名称、节点序号
l 匹配条件
l 要修改的路由属性值
表6-5 创建一个路由策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建路由策略并进入该路由策略视图 |
route-policy route-policy-name { permit | deny } node node-number |
必选 缺省情况下,没有创建路由策略 |
& 说明:
l permit指定节点的匹配模式为允许模式。当路由信息通过该节点的过滤后,将执行该节点的apply子句,不进入下一个节点的测试;如果路由信息没有通过该节点过滤,将进入下一个节点继续测试。
l deny指定节点的匹配模式为拒绝模式(此模式下apply子句不会被执行)。当路由项满足该节点的所有if-match子句时,将被拒绝通过该节点,不进入下一个节点的测试;如果路由项不满足该节点的if-match子句,将进入下一个节点继续测试。
l 如果路由策略中定义了一个以上的节点,则各节点中至少应该有一个节点的匹配模式是permit。当路由策略用于路由信息过滤时,如果某路由信息没有通过任一节点,则认为该路由信息没有通过该路由策略。如果路由策略的所有节点都是deny模式,则没有路由信息能通过该路由策略。
表6-6 配置if-match子句
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入路由策略视图 |
route-policy route-policy-name { permit | deny } node node-number |
必选 |
配置IPv6的路由信息的匹配条件 |
if-match ipv6 { address | next-hop | route-source } { acl acl-number | prefix-list ipv6-prefix-name } |
可选 缺省情况下,没有配置IPv6的路由信息的匹配条件 |
配置IPv6 BGP路由信息的AS路径域的匹配条件 |
if-match as-path as-path-number&<1-16> |
可选 缺省情况下,没有配置IPv6 BGP路由信息的AS路径域的匹配条件 |
匹配IPv6 BGP路由信息的团体属性 |
if-match community { basic-community-list-number [ whole-match ] | adv-community-list-number }&<1-16> |
可选 缺省情况下,不匹配IPv6 BGP路由信息的团体属性。 |
配置路由信息的路由开销的匹配条件 |
if-match cost value |
可选 缺省情况下,没有配置路由信息的路由开销的匹配条件 |
配置IPv6 BGP扩展团体属性的匹配条件 |
if-match extcommunity ext-comm-list-number&<1-16> |
可选 缺省情况下,没有配置IPv6 BGP扩展团体属性的匹配条件 |
配置路由信息的出接口的匹配条件 |
if-match interface { interface-type interface-number }&<1-16> |
可选 缺省情况下,没有配置路由信息的出接口的匹配条件 |
配置路由信息的类型的匹配条件 |
if-match route-type { internal | external-type1 | external-type2 | external-type1or2 | is-is-level-1 | is-is-level-2 | nssa-external-type1 | nssa-external-type2 | nssa-external-type1or2 } * |
可选 缺省情况下,没有配置路由信息的类型的匹配条件 |
配置路由信息的标记域的匹配条件 |
if-match tag value |
可选 缺省情况下,没有配置路由信息的标记域的匹配条件 |
& 说明:
l 对于同一个Route-policy节点,在匹配的过程中,各个if-match子句间是“与”的关系,即路由信息必须同时满足所有匹配条件,才可以执行apply子句的动作。
l 在一个节点中,可以没有if-math子句,也可以有多个if-match子句。当不指定if-match子句时,如果该节点的匹配模式为允许模式,则所有路由信息都会通过该节点的过滤;如果该节点的匹配模式为拒绝模式,则所有路由信息都会被拒绝。
表6-7 配置apply子句
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建路由策略并进入该路由策略视图 |
route-policy route-policy-name { permit | deny } node node-number |
必选 缺省情况下,不创建路由策略 |
配置IPv6 BGP路由信息的AS_PATH属性 |
可选 缺省情况下,没有配置IPv6 BGP路由信息的AS_PATH属性 |
|
删除指定的IPv6 BGP团体属性 |
apply comm-list comm-list-number delete |
可选 缺省情况下,不删除路由团体属性 |
配置IPv6 BGP路由信息的团体属性 |
apply community { none | additive | { community-number&<1-16> | aa:nn&<1-16> | internet | no-export-subconfed | no-export | no-advertise }* [ additive ] } |
可选 缺省情况下,没有配置IPv6 BGP路由信息的团体属性 |
配置路由信息的路由开销 |
apply cost [ + | - ] value |
可选 缺省情况下,没有配置路由信息的路由开销 |
配置路由信息的开销类型 |
apply cost-type { external | internal | type-1 | type-2 } |
可选 缺省情况下,没有配置路由开销类型 |
配置IPv6 BGP扩展团体属性 |
apply extcommunity { rt { as-number:nn | ip-address:nn } }&<1-16> [ additive ] |
可选 缺省情况下,没有配置IPv6 BGP扩展团体属性。 |
配置IPv6路由信息的下一跳地址 |
apply ipv6 next-hop ipv6-address |
可选 缺省情况下,没有配置IPv6路由信息的下一跳地址 |
配置引入路由到IS-IS某个级别的区域 |
apply isis { level-1 | level-1-2 | level-2 } |
可选 缺省情况下,没有配置引入路由到IS-IS某个级别的区域 |
配置IPv6 BGP路由信息的本地优先级 |
apply local-preference preference |
可选 缺省情况下,没有配置IPv6 BGP路由信息的本地优先级 |
配置IPv6 BGP路由信息的ORIGIN属性 |
apply origin { igp | egp as-number | incomplete } |
可选 缺省情况下,没有配置IPv6 BGP路由信息的ORIGIN属性 |
配置路由协议的优先级 |
apply preference preference |
可选 缺省情况下,没有配置路由协议的优先级 |
配置IPv6 BGP路由信息的首选值 |
apply preferred-value preferred-value |
可选 缺省情况下,没有配置IPv6 BGP路由信息的首选值 |
配置路由信息的标记域 |
apply tag value |
可选 缺省情况下,没有配置路由信息的标记域 |
& 说明:
对于引入的IPv6路由,使用apply ipv6 next-hop命令设置下一跳地址无效。
在完成上述配置后,在任意视图下执行display命令可以显示配置后路由策略的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除路由策略的统计信息。
操作 |
命令 |
显示IPv6 BGP AS路径过滤列表信息 |
display ip as-path [ as-path-number ] |
显示IPv6 BGP团体属性列表信息 |
display ip community-list [ basic-community-list-number | adv-community-list-number ] |
显示IPv6 BGP扩展团体属性列表信息 |
display ip extcommunity-list [ ext-comm-list-number ] |
显示IPv6地址前缀列表的统计信息 |
display ip ipv6-prefix [ ipv6-prefix-name ] |
显示路由策略信息 |
display route-policy [ route-policy-name ] |
清除IPv6地址前缀列表的统计信息 |
reset ip ipv6-prefix [ ipv6-prefix-name ] |
l 在Switch A和Switch B上使能RIPng协议。
l 在Switch A上配置三条静态路由,并设置在引入静态路由时应用路由策略,使三条静态路由部分引入、部分被屏蔽掉——20::/32和40::/32网段的路由是可见的,30::/32网段的路由则被屏蔽。
l 通过在Switch B上查看RIPng路由表,验证路由策略是否生效。
图6-1 在IPv6路由引入中应用路由策略组网图
(1) 配置Switch A
# 配置接口Vlan-interface100和Vlan-interface200的IPv6地址。
<SwitchA> system-view
[SwitchA] ipv6
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] ipv6 address 10::1 32
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 200
[SwitchA-Vlan-interface200] ipv6 address 11::1 32
[SwitchA-Vlan-interface200] quit
# 在接口下使能RIPng。
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] ripng 1 enable
[SwitchA-Vlan-interface100] quit
# 配置三条静态路由。
[SwitchA] ipv6 route-static 20:: 32 11::2
[SwitchA] ipv6 route-static 30:: 32 11::2
[SwitchA] ipv6 route-static 40:: 32 11::2
# 配置路由策略。
[SwitchA] ip ipv6-prefix a index 10 permit 30:: 32
[SwitchA] route-policy static2ripng deny node 0
[SwitchA-route-policy] if-match ipv6 address prefix-list a
[SwitchA-route-policy] quit
[SwitchA] route-policy static2ripng permit node 10
[SwitchA-route-policy] quit
# 启动RIPng协议并引入静态路由。
[SwitchA] ripng
[SwitchA-ripng-1] import-route static route-policy static2ripng
(2) 配置Switch B
# 配置接口Vlan-interface100的IPv6地址。
[SwitchB] ipv6
[SwitchB] interface vlan-interface 100
[SwitchB-Vlan-interface100] ipv6 address 10::2 32
# 在接口下使能RIPng。
[SwitchB-Vlan-interface100] ripng 1 enable
[SwitchB-Vlan-interface100] quit
# 启动RIPng协议。
[SwitchB] ripng
# 查看RIPng路由表。
[SwitchB-ripng-1] display ripng 1 route
Route Flags: A - Aging, S - Suppressed, G - Garbage-collect
----------------------------------------------------------------
Peer FE80::7D58:0:CA03:1 on Vlan-interface 100
Dest 10::/32,
via FE80::7D58:0:CA03:1, cost 1, tag 0, A, 18 Sec
Dest 20::/32,
via FE80::7D58:0:CA03:1, cost 1, tag 0, A, 8 Sec
Dest 40::/32,
via FE80::7D58:0:CA03:1, cost 1, tag 0, A, 3 Sec
路由协议运行正常的情况下无法实现路由信息过滤。
地址前缀列表的各个表项中至少应该有一个表项的匹配模式是permit模式。Route-policy的各个节点中至少应该有一个节点的匹配模式是permit模式。
(1) 使用display ip ipv6-prefix命令查看前缀列表的配置。
(2) 使用display route-policy命令查看路由策略的配置。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!