【超详解】IPv6静态路由课堂知识(一)
IPv6静态路由
IPv6静态路由与IPv4静态路由类似,也需要管理员手工配置,适合于一些结构比较简单的IPv6网络。
在创建IPv6静态路由时,可以同时指定出接口和下一跳,或者只指定出接口或只指定下一跳。
对于点到点接口:指定出接口。
对于广播类型接口:指定下一跳。
3. IPv6静态路由负载分担和备份:
在创建相同目的地址的多条IPv6静态路由时,如果指定相同优先级,则可实现负载分担,如果指定不同优先级,则可实现路由备份。
IPv6静态路由与IPv4静态路由之间的主要区别是目的地址和下一跳地址有所不同,IPv6静态路由使用的是IPv6地址,而IPv4静态路由使用IPv4地址。
IPv6静态路由的基础配置命令
1.在公网上配置IPv6静态路由。
2.在VPN实例下配置IPv6静态路由。
注意事项:
★静态路由如果不配置优先级,默认优先级为60。
★如果将目的地址与前缀长度都配置为全0(:: 0), 则表示配置的是缺省路由(::/0)。
★undo命令中配置参数permanent时,只能取消IPv6静态路由永久发布,不能删除IPv6静态路由。
[Huawei] ipv6 route-static dest-ipv6-address prefix-length { interface-type interface-number [ nexthop-ipv6-address ] | nexthop-ipv6-address | vpn-instance vpn-destination-name nexthop-ipv6-address } [ preference preference][ permanent | inherit-cost ] [ description text ]
★preference preference:指定路由优先级。整数形式,取值范围为1~255。缺省值是60。
★permanent:指定IPv6静态路由永久发布。
★inherit-cost:指定IPv6静态路由继承迭代路由的开销值。
★description text:指定静态路由的描述信息。字符串形式,支持空格,长度范围是1~80。
[Huawei] ipv6 route-static vpn-instance vpn-instance-name dest-ipv6-address prefix-length { [ interface-type interface-number [ nexthop-ipv6-address ] ] | nexthop-ipv6-address [ public ] | vpn-instance vpn-destination-name nexthop-ipv6-address } [ preference preference ] [ permanent | inherit-cost ] [ description text ]
★public:指定nexthop-ipv6-address是公网地址,而不是源VPN中的地址。
IPv6静态路由配置举例
场景描述:
某公司网络部署了IPv6网络进行业务测试,在部署初期,通过静态路由实现IPv6网络的互联互通。
实现R1和R2的Loopback0接口地址互通。
1、配置各路由器接口的IPv6地址。(略)
2、配置IPv6静态路由。
3、测试IPv6网络连通性。
OSPFv3概述
OSPF是IETF定义的一种基于链路状态的内部网关路由协议。目前针对IPv4协议使用的是OSPF Version 2(OSPFv2),针对IPv6协议使用OSPF Version 3(OSPFv3)。
OSPFv3的主要目的是开发一种独立于任何具体网络层的路由协议。为实现这一目的,OSPFv3的内部路由器信息被重新进行了设计。
OSPFv2是运行在IPv4上的IGP路由协议;OSPFv3是运行在IPv6上的IGP路由协议。两者并不兼容。
OSPFv3与OSPFv2的相同点
OSPF的基本运行机制没有改变,包括:
▷ 基本概念:
◆ 区域划分及路由器类型
◆ 路由计算影响参数:优先级、度量值
◆ 支持的网络类型:Broadcast(广播类型)、NBMA、P2P(点到点类型)、P2MP(点到多点类型)
◆ 报文类型:Hello报文、DD报文、LSR报文、LSU报文和LSAck报文
▷ 工作原理:
邻居关系的建立及邻居状态的转换
◆ DR与BDR的选举
◆ LSA泛洪机制
◆ 路由计算过程
相同点还包括:对特殊区域、虚连接、多进程的支持等。
OSPFv3拓扑和路由器类型
OSPFv3的基本工作原理与OSPFv2相似
OSPFv3与OSPFv2的不同点
OSPFv3基于链路运行以及拓扑计算,而不再是网段。
OSPFv3支持一个链路上多个实例。
OSPFv3报文和LSA中去掉了IP地址的意义,且重构了报文格式和LSA格式。
OSPFv3报文和Router LSA/Network LSA中不包含IP地址。
OSPFv3的LSA中定义了LSA的泛洪范围。
OSPFv3中创建了新的LSA承载IPv6地址和前缀。
OSPFv3邻居不再由IP地址标识,只由Router ID标识。
唯一邻居标识:Router ID
OSPFv3通过Router ID来标识网络设备。
Router ID是一个OSPFv3设备在自治系统中的唯一标识。如果用户没有指定Router ID,则OSPFv3进程无法运行。
设置Router ID时,必须保证自治系统中任意两台设备的Router ID都不相同。
Router ID长度32bit,本地标识符,与IPv6地址无关,用点分十进制表示法来表示。
OSPFv2在Broadcast、NBMA、P2P和P2MP网络中是通过IPv4接口地址来标识邻居,而在虚连接网络中是通过Router ID来标识邻居。
OSPFv3基于链路运行
OSPFv3是基于链路运行的,设备只要在同一链路,就可以建立邻居关系。
R1与R2之间运行OSPFv2。
R1的GE0/0/1接口与R2的GE0/0/1接口地址在同一网段,R1与R2才可以建立OSPFv2邻居关系。
OSPFv2运行时,邻居双方必须处于相同网段。
R1与R2之间运行OSPFv3。
R1的GE0/0/1接口与R2的GE0/0/1接口地址不在同一网段,但是R1与R2仍然可以建立OSPFv3邻居关系
OSPFv3运行时,仅需邻居双方处于相同直连链路即可
IPv6中重点强调了链路的概念,在IPv6中,一个链路上可以分配多个IP子网,也就是IPv6前缀。和IPv4不同的是,同一个链路上的两个节点即使不具有相同的IPv6前缀,也可以直接通过这个链路通信。这一点极大地改变了OSPF的行为。
在OSPFv3中我们更多的是使用“链路”和“前缀”这两个术语。但这两个概念是分离的,没有必然的对应关系,所以在讨论路由协议时,OSPFv2的术语“网络”和“子网”在这里应该用“链路”替换掉。
链路支持多实例
·一个OSPFv3物理接口可以和多个实例绑定,并用不同的实例标识(Instance ID)区分,即OSPFv3的单个链路支持运行多个OSPFv3实例。·这些运行在同一条物理链路上的多个OSPFv3实例,分别与链路对端设备建立邻居及发送报文,且互不干扰,这样可以充分共享同一链路资源。
多实例通过在OSPFv3报文头部增加一个Instance ID区别不同的实例来实现。一个分配了给定Instance ID的实例,将会丢弃那些与该Instance ID不匹配的OSPFv3报文。
OSPFv3对链路本地地址的使用
OSPFv3使用链路本地(FE80::/10)地址作为发送报文的源地址和路由的下一跳地址。
*使用链路本地地址来维持邻居关系,同步LSA数据库。
*在虚连接上,必须使用全球单播地址或者站点本地地址作为OSPFv3协议报文的源地址。
优势:
*不需要配置IPv6全球单播地址,就可以得到OSPFv3拓扑,实现拓扑与地址分离。
*OSPFv3报文不会被转发到始发链路范围之外,减少了报文不必要的泛洪,节省了带宽。
IPv6使用链路本地(Link-Local)地址在同一链路上发现邻居及自动配置。运行IPv6的路由器不转发目的地址为链路本地地址的IPv6报文,此类报文只在同一链路有效。
OSPFv3是运行在IPv6上的路由协议,使用链路本地地址来发送OSPFv3报文。
* OSPFv3假定每个路由器在每个连接的链路上都已被分配链路本地地址,在除虚连接外的所有OSPFv3接口上使用接口关联的链路本地地址作为源地址发送OSPFv3报文。
* 路由器学习所有其他连接到该链路上的路由器的链路本地地址,并且使用这些地址作为下一跳进行报文转发。
* 注意:关于链路本地地址的描述仅出现在Link-LSA(链路LSA,OSPFv3新增LSA)中。
OSPFv3报文
OSPFv3与OSPFv2有相同类型的报文:
* Hello报文、DD报文、LSR报文、LSU报文和LSAck报文。
OSPFv3与OSPFv2使用相同的协议号89。* OSPFv2:IPv4报文头部中的协议号(Protocol)为89。
* OSPFv3:IPv6报文头部中的下一报头号(Next Header)为89。
OSPFv3与OSPFv2类似,使用组播地址作为OSPF报文目的地址。
* OSPFv2使用IPv4组播地址:
▪OSPF IGP Routers:224.0.0.5;OSPF IGP DR :224.0.0.6。
* OSPFv3使用IPv6组播地址:
▪OSPF IGP Routers:FF02::5;OSPF IGP DR:FF02::6。
OSPFv3报文作用:
* Hello报文:周期性发送,用来发现、建立和维持OSPFv3邻居关系。
* DD报文:描述了本地LSDB的摘要信息,用于两台设备进行数据库同步。
* LSR报文:用于向对方请求所需的LSA。设备只有在OSPFv3邻居双方成功交换DD报文后,才会向对方发出LSR报文。
* LSU报文:向对方发送其所需的LSA。
* LSAck报文:用来对收到的LSA进行确认。
OSPFv3报文头部
与OSPFv2一样,OSPFv3的五种报文都有同样的报文头,只是报文中的字段有些不同。
变化点:
* Instance ID:1Byte,缺省值为0。允许在一个链路上运行多个OSPFv3的实例。每个实例具有唯一的Instance ID。Instance ID只在本地链路上有意义。
* OSPFv3报文头部移除了所有的认证字段:OSPFv3的认证可以使用IPv6的认证及安全处理,也可以通过OSPFv3自身机制来完成报文认证。
Version:1Byte,版本,OSPF的版本号。对于OSPFv3来说,其值为3。
Type:1Byte,类型,OSPFv3报文的类型,有下面几种类型:
1:Hello报文;
2:DD报文;
3:LSR报文;
4:LSU报文;
5:LSAck报文。
Packet length:2Byte,OSPFv3报文的总长度,包括报文头在内,单位为字节。
Router ID:4Byte,始发此报文的路由器的Router ID。
Area ID:4Byte,发送该报文的所属区域。
Checksum:2Byte,使用IPv6标准16位校验和。
0:1Byte,保留字段,必须填0。
Hello报文
与OSPFv2的Hello报文相比,OSPFv3的Hello报文去掉了Network Mask字段,增加了Interface ID字段,用来标识发送该Hello报文的接口ID。
变化点:
Interface ID:4Byte,唯一标识了建立连接的(发送Hello报文的)接口。
Options:扩展到3Byte,可选项。与OSPFv2相比,增加了R位和V6位。
* R:指明始发路由器是否具备转发能力。设置R位为0时,描述该始发节点的路由信息将不参与路由计算。
* V6:如果V6位为0,表示该路由器或链路不会参与IPv6路由计算。
Rtr Pri:1Byte,Router Priority,DR优先级。默认为1。如果设置为0,则路由器不能参与DR或BDR的选举。
Options:3Byte,可选项。
AT:1bit,表示是否支持OSPFv3认证。若AT=1,则在OSPFv3报文后增加认证尾部字段,包含认证信息。
DC:1bit,表示是否具有支持按需电路的能力。 R:1bit,指明始发路由器是否是一台有效的路由器。
NP:1bit,表示是否为NSSA区域。
MC:1bit,表示是否支持转发组播数据报文。E:1bit,表示是否支持外部路由。
V6:1bit,表示是否参与IPv6路由计算。如果该位为0,表示该路由器或链路不参与IPv6路由计算。
HelloInterval:2Byte,发送Hello报文的时间间隔。
RouterDeadInterval :2Byte,失效时间。如果在此时间内未收到邻居发来的Hello报文,则认为邻居失效。
Designated Router ID:4Byte,DR的Router ID。
Backup Designated Router ID :4Byte,BDR的Router ID。 ·Neighbor ID:4Byte,邻居,以Router ID标识。
说明:DD报文、LSR报文、LSU报文和LSAck报文格式与OSPFv2相比变化不大,本课程不再赘述。