今日目标
01 OSPFV2和V3的相同点
02 OSPFV2和V3的不同点
03 OSPF双栈
04 OSPFv3的LSA类型
05 BGP4+
1 OSPFV2和V3的相同点
OSPFv3概述
- OSPF是IETF定义的一种基于链路状态的内部网关路由协议
√ 针对lPv4协议使用的是OSPF Version2(OSPFv2)
√ 针对lPv6协议使用OSPF Version3(OSPFv3)

OSPFv2
OSPFv3
IPv4
IPv6
数据链路层
OSPFv2与OSPFv3的相同点
- 基本概念:
√ 区域划分及路由器类型
√ 路由计算影响参数:优先级、度量值
√ 支持的网络类型:Broadcast、NBMA、P2P、P2MP
√ 报文类型:Hello报文、DD报文、LSR报文、LSU报文和LSAck报文 - 工作原理:
√ 邻居关系的建立及邻居状态的转换
√ DR与BDR的选举
√ LSA泛洪机制
√ 路由计算过程
OSPFv3路由器类型
- 路由器类型
√ 内部路由器:Internal Router
√ 骨干路由器:Backbone Router
√ 区域边界路由器:Area Border Router
√ AS边界路由器:AS Boundary Router
OSPFv3拓扑和路由器类型

OSPFv3的基本工作原理与OSPFv2相似

2 OSPFV2和V3的不同点
OSPFV22与OSPFv3的不同点
- OSPFv3基于链路运行以及拓扑计算,而不再是网段
- OSPFv3支持一个链路上多个实例
- OSPFv3报文和LSA中去掉了IP地址的意义,且重构了报文格式和LSA格式
√ OSPFv3报文和Router LSA/Network LSA中不包含IP地址
√ OSPFv3的LSA中定义了LSA的泛洪范围
√ OSPFv3中创建了新的LSA承载Pv6地址和前缀
√ OSPFv3邻居不再由IP地址标识,只由RouterID标识
唯一邻居标识:Router ID
- OSPFv3通过Router ID来标识网络设备
√ Router ID是唯一标识,如果没有指定Router ID,则OSPFv.3进程无法运行
√ 设置Router ID时,必须保证自治系统中任意两台设备的RouterID都不相同
√ Router ID长度32bit,本地标识符,与lPv6地址无关,用点分十进制表示法来表示

OSPFv3基于链路运行
- OSPFv3是基于链路运行的,设备只要在同一链路,就可以建立邻居关系。

链路支持多实例
- OSPFv3多实例
√ 一个OSPFv.3物理接口可以和多个实例绑定,并用不同的实例标识(Instance ID)区分,即OSPFv3的单个链路支持运行多个OSPFv3实例。
√ 这些运行在同一条物理链路上的多个OSPFv3实例,分别与链路对端设备建立邻居及发送报文,且互不干扰,这样可以充分共享同一链路资源。

OSPFv3对链路本地地址的使用
- OSPFv3使用链路本地地址
√ OSPFv3使用链路本地地址作为发送报文的源地址和路由的下一跳地址
√ 使用链路本地地址来维持邻居关系,同步LSA数据库 - 优势:
√ 不需要配置引PV6全球单播地址,就可以得到OSPFV3拓扑,实现拓扑与地址分离
√ OSPFv3报文不会被转发到始发链路范围之外,减少了报文的泛洪,节省了带宽
OSPFv3报文
- OSPFv2与OSPFv3有相同类型的报文:
√ Hello报文、DD报文、LSR报文、LSU报文和LSAck报文。 - OSPFv2与OSPFv.3使用相同的协议号89。
√ OSPFv2:IPv4报文头部中的协议号(Protocol)为89。
√ OSPFv3:IPv6报文头部中的下一报头号(Next Header)为89。 - OSPFV2与OSPFv3类以,使用组播地址作为OSPF报文目的地址。
√ OSPFv2使用IPV4组播地址: - OSPFIGP Routers:224.0.0.5;OSPFIGPDR:224.0.0.6.
√ OSPFv3使用IPv6组播地址: - OSPFIGP Routers:FF02:5;OSPFIGP DR:FF02:6
OSPFv3双栈
OSPFv3双栈
- OSPFv3双栈
√ 配置OSPFv2和OSPFv3实现IPV4全网互通、实现IPV6全网互通

配置步骤
- 配置步骤
√ 给接口配置1Pv4和IPv6地址
√ 配置OSPFv.2
√ 配置OSPFv3
√ 验证与测试
配置命令
- 配置0SPFv3-R1的配置
bash
[R1]ospfv3 1
[R1-ospfv3-1]router-id 1.1.1.1
[R1-ospfv3-1]quit
[R1]intg0/0/1
[R1-G0/0/1]ospfv3 1 area 12
[R1-G0/0/1]int g0/0/0
[R1-G0/0/0]ospfv3 1 area 12
- 配置0SPFv2-R1的配置
bash
[R1]ospf 1 router-id 1.1.1.1
[R1-ospf-1]area 12
[R1-ospf-1-area-0.0.0.12]network 192.168.12.0 0.0.0.255
[R1-ospf-1-area-0.0.0.12]network 192.168.1.0 0.0.0.255
- 配置0SPFV3-R2的配置
bash
[R2]ospfv3 1
[R2-ospfv3-1]router-id 2.2.2.2
R2-ospfv3-1]quit
[R2]int g0/0/0
[R2-G0/0/0]ospfv3 1 area 12
R2-G0/0/0]int g0/0/1
[R2-G0/0/1]ospfv3 1 area 0
- 配置OSPFv2-R2的配置
bash
[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]area 12
[R2-ospf-1-area-0.0.0.12]network 192.168.12.0 0.0.0.255
[R2-ospf-1-area-0.0.0.12]quit
[R2-ospf-1]area0
[R2-ospf-1-area-0.0.0.0]network 192.168.23.0 0.0.0.255
- 配置OSPFv3-R3的配置
bash
[R3]ospfv3 1
[R3-ospfv3-1]router-id 3.3.3.3
[R3-ospfv3-1]quit
[R3]int g0/0/0
[R3-G0/0/0]ospfv3 1 area 0
[R3-G0/0/0]int g0/0/1
[R3-G0/0/1]ospfv3 1 area 0
- 配置0SPFv2-R3的配置
bash
[R3]ospf 1 router-id 3.3.3.3
[R3-ospf-1]area 0
R3-ospf-1-area-0.0.0.0]network 192.168.23.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]network 192.168.34.0 0.0.0.255
- 配置0SPFv3-R4的配置
bash
[R4]ospfv31
[R4-ospfv3-1]router-id 4.4.4.4
[R4-ospfv3-1]quit
[R4]int g0/0/0
[R4-G0/0/0]ospfv3 1 area 0
[R4-G0/0/0]int g0/0/1
[R4-G0/0/1]ospfv3 1 area 0
- 配置0SPFv2-R4的配置
bash
[R4]ospf 1 router-id 4.4.4.4
[R4-ospf-1]area0
[R4-ospf-1-area-0.0.0.0]network 192.168.45.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network 192.168.34.0 0.0.0.255
- 配置0SPFv3-R5的配置
bash
[R5]ospfv3 1
[R5-ospfv3-1]router-id 5.5.5.5
[R5-ospfv3-1]quit
[R5]intg0/0/0
[R5-G0/0/0]ospfv3 1 area 0
[R5-G0/0/0]int g0/0/1
[R5-G0/0/1]ospfv3 1 area 56
- 配置0SPFv2-R5的配置
bash
[R5]ospf 1 router-id 5.5.5.5
[R5-ospf-1]area 0
[R5-ospf-1-area-0.0.0.0]network 192.168.45.0 0.0.0.255
[R5-ospf-1-area-0.0.0.0]quit
[R5-ospf-1]area 56
[R5-ospf-1-area-0.0.0.56]network192.168.56.0 0.0.0.255
- 配置OSPFv3-R6的配置
bash
[R6]ospfv3 1
[R6-ospfv3-1]router-id 6.6.6.6
[R6-ospfv3-1]quit
[R6]int g0/0/0
[R6-G0/0/0]ospfv3 1 area 56
[R6-G0/0/0]int g0/0/1
[R6-G0/0/1]ospfv3 1 area 56
- 配置0SPFv2-R6的配置
bash
[R6]ospf 1 router-id 6.6.6.6
[R6-ospf-1]area 56
[R6-ospf-1-area-0.0.0.56]network 192.168.2.0 0.0.0.255
[R6-ospf-1-area-0.0.0.56]network 192.168.56.0 0.0.0.255
- 验证
bash
<R1>display ospfv3 peer
<R1>display ospfv3 peer verbose
<R1>display ospfv3 Isdb
<R1>display ipv6 routing-table protocol ospfv3
4 OSPFv3的LSA类型
OSPFv3的LSA类型
- OSPFv3新增了两类LSA:链路LSA和区域内前缀LSA

1类LSA:Router-LSA
- Router-LSA(路由器LSA)
√ 设备会为每个运行OSPFV3接口所在的区域产生一个Router-LSA
√ 描述了设备的链路状态和开销,在所属的区域内传播
√ OSPFv3的1类LSA不包含IPv6地址信息
2类LSA:Network-LSA
- Network-LSA(网络LSA)
√ OSPFv:3的Network-LSA删除了网络掩码字段,仅用相连的路由器的RouterID来描述本网段的链路状态,由DR产生,在所属的区域内传播
3类LSA:Inter-Area-Prefix-LSA
- Inter-Area-Prefix-LSA(区域间前缀LSA)
√ Inter-Area-Prefix-LSA由ABR产生,描述区域内IPv6地址前缀的路由,并通告给其他相关区域
√ 每个IPv6地址前缀,ABR都会单独发送一个Inter-Area-Prefix-LSA
4类LSA:Inter-Area-Router-LSA
- Inter-Area-Router-LSA(区域间路由器LSA)
√ Inter-Area-Router-LSA由ABR产生,描述到ASBR的路由,通告给除ASBR所在区域的其他相关区域
√ 对于所描述的每一个ASBR,ABR都会单独发送一个Inter-Area-Router-LSA
5类LSA:AS-External-LSA
- AS-External--LSA(AS外部LSA)
√ AS-External-LSA由ASBR产生,描述到达AS外部路由,通告到所有的区域(除了Stub区域和NSSA区域)
新增8类LSA:Link-LSA
- Link-LSA(链路LSA)
√ 每个设备都会为每个链路产生一个Link-LSA,仅在始发链路内泛洪
√ Link-LSA作用:
√ 向该链路上其他路由器通告本接口的链路本地地址
√ 向该链路上其他路由器通告本接口的IPV6前缀列表
新增9类LSA:Intra-Area-Prefix-LSA
- Intra-Area-Prefix-LSA(区域内前缀LSA)
√ 在OSPFv.2中,可以通过1类LSA和2类的LSA来描述拓扑信息和网段信息
√ 而OSPFv3的此两类LSA仅包含拓扑信息,没有描述网段信息
√ OSPFv3利用9类LSA描述网段信息
√ 9类LSA描述的是网段信息,只在所属的区域内传播
√ 9类LSA需要依赖于拓扑信息,实现OSPFv3的路由计算。
√ 9类LSA分为两种:
√ 每台设备均产生描述与Router-LSA相关联的IPv6前缀地址的9类LSA
√ DR会产生描述与Network-LSA相关联的IPv6前缀地址的9类LSA
5 BGP4+
BGP4+概述
- BGP4+
√ 传统的BGP-4只能管理IPv4单播路由信息,BGP多协议扩展(MultiProtocol BGP,MPBGP)提供了对多种网络层协议的支持
√ MP-BGP对1PV6单播网络的支持特性称为BGP4+
√ BGP4+为IPV6单播网络建立独立的拓扑结构,并将路由信息储存在独立的路由表中,保持单播IPv4网络和单播IPv6网络之间路由信息相互隔离
BGP双栈配置举例

配置命令
- 配置BGP基本功能:建立EBGP对等体
bash
[R1]bgp 100
[R1-bgp]router-id 1.1.1.1
[R1-bgp]peer 192.168.12.2 as-number200
[R2]bgp 200
[R2-bgp]router-id 2.2.2.2
[R2-bgp]peer 192.168.12.1 as-number 100
- 配置BGP基本功能:建立EBGP对等体
bash
[R1-bgp]iPv4-family unicast
[R1-bgp-af-ipv4]network 10.1.1.1 32
[R2-bgp]iPv4-family unicast
[R2-bgp-af-ipv4]network 10.2.2.2 32
- 配置BGP4+基本功能:建立EBGP对等体
bash
[R1]bgp 100
[R1-bgp]peer 2001:12::2 as-number 200
[R1-bgp]iPv6-family unicast
[R1-bgp-af-ipv6]peer 2001:12::2 enable
[R2]bgp 200
[R2-bgp]peer 2001:12:1 as-number 100
[R2-bgp]iPv6-family unicast
[R2-bgp-af-ipv6]peer 2001:12:1 enable
- 配置BGP4+基本功能:建立EBGP对等体
bash
[R1-bgp]iPv6-family unicast
[R1-bgp-af-ipv6]network 2001:1:1 128
[R2-bgp]iPv6-family unicast
[R2-bgp-af-ipv4]network 2001:2:2 128
- 验证测试
bash
[R1]display bgp peer
[R1]display bgp ipv6 peer
[R1]display bgp routing-table
[R1]display bgp ipv6 routing-table
[R2]display bgp peer
[R2]display bgp ipv6 peer
[R2]display bgp routing-table
[R2]display bgp ipv6 routing-table