IPv6 技术
- 1. --------------------IPv6 概述--------------------
- 2. --------------------ICMPv6 与 NDP协议--------------------
- 3. --------------------IPv6 地址配置--------------------
- 4. --------------------IPv6 路由 --------------------
1. --------------------IPv6 概述--------------------
1.1 IPv4 和 IPv6
1.1.1 IPv4 的问题
-
总述
1. 地址空间不足 — 最大的问题; 32bit --- 43亿地址 --- 为全球互联网服务; -暂时的解决方法: 划分了公网地址和私网地址--通信时需要做NAT转换--破坏了端到端的完整性; 私网地址--所有人自己规划都可以使用 公网地址--IANA--RIR(5个)--国家/ISP--企业/个人 2. IPv4 没有基于安全性考虑; 没有机密性保障; 没有对数据源进行验证; 没有完整性校验。 ......
1.1.2 IPv6 的优势
-
总述
1. “无限”地址; 128bit; 2. 地址层次化分配; 方便后期做聚合; 3. 即插即用; IPv4 --静态/dhcp ; IPv6--静态/DHCPv6/无状态地址自动分配; 4. 简化的报文头部; IPv6 的报文---基本报文头+扩展的报文头(可选)+载荷; ----把一些可选功能放入扩展报文头,用的时候就带上,不用就不带; 5. IPv6 安全特性; IPv6协议本身支持AH和ESP两个安全协议 (放入扩展报文头); ----实现了 1、加密 ;2、对数据源进行验证 ;3、对完整性进行校验; 6. 保证端到端的完整性; IPv6地址足够使用,不需要做NAT转换; ......
1.2 IPv6 发展现状
-
IPv6 发展现状
1. 全球 IPv6 部署率显著提高; 2. 全球 IPv6 用户数量猛增; 3. 主流软件、服务 IPv6 支持度提高; 4. 全球网络及域名系统 IPv6 部署率极高;
-
IPv6 演进问题
1. 硬件和软件兼容性不够; 2. 许多老设备都还未老化,还能使用,如果直接更换支持 IPv6 的网络,成本极高; 3. IPv4 相关的协议使得 IPv4 还够使用。
1.3 IPv6 过渡技术
-
IPv4网络演变为IPv6网络主要有以下三种技术:
1. 双栈技术:在一台设备上同时启用 IPv4协议栈 和 IPv6协议栈 的技术。 2. 隧道技术:将一种协议的数据封装在另一种协议中的技术。 3. 转换技术:将 IPv6地址 和 IPv4地址 进行转换的一种技术。
1.4 IPv6 路由协议
1.4.1 OSPFv3
-
简介
1. 基于链路运行,单链路支持多实例。 2. 取消LSA头部IP地址信息,实现与网络层协议解耦。 3. LSA内新定义泛洪范围字段,支持未知LSA的处理。 4. 新增LSA支持IPv6路由发布。 OSPFv2 ---- IPv4; OSPFv3 ---- IPv6; v2和v3 是两个互不兼容的协议。
1.4.2 IS-IS for Ipv6
-
简介
1. 不是新协议或新版本,仅 是原有协议上做了简单扩展,IS-IS路由器和IS-IS路由器可以实现互通。 2. 新增1种NLPID(网络层协议标识):宣告自身支持IPv6。 3. 新增2种TLV:支持宣告IPv6网络可达性和接口IPv6地址信息。
1.4.3 BGP4+
-
简介
1. 不是新协议或新版本,只需在MP-BGP(BGP多协议)架构上支持IPv6地址族,BGP4+路由器和BGP4路由器可以实现互通。 2. 新添2种NLRI(网络层可达信息),支持发布IPv6可达路由及下一跳信息,支持撤销不可达路由
1.4.4 PIM
-
简介
1. PIM协议本义即为协议无关组播,PIM真正版本号仍为PIMv2。 2. 唯一区别在于协议报文地址及组播数据报文地址均使用IPv6地址。
1.5 IPv6 地址*
-
IPv6 地址概述
IPv6地址的长度为128bit; 一般用冒号分割为8段,每一段16bit,每一段内用十六进制表示。 IPv6地址中的 字母大小写不敏感 ,例如A等同于a;
-
与IPv4地址类似,IPv6也用 “IPv6地址/掩码长度” 的方式来表示 IPv6 地址。
-
为什么 IPv6 协议的地址长度是 128bit?
1. CPU处理字长发展至今分别经历了4bit、8bit、16bit、32bit、64bit等,当数据能用2的指数幂字长的二进制数表示时,CPU对数值的处理效率最高。 2. IPv4地址长度为32bit,原因之一就是当时互联网上的主机CPU字长为32bit。从处理效率和未来网络扩展性上考虑,将IPv6的地址长度定为128bit是十分合适的。
1.5.1 IPv6 地址格式
-
首选格式
- 冒号分割为8段,每一段16bit,每一段内用十六进制表示。 - 用“IPv6地址/掩码长度”的方式来表示。 例如:2001:0DB8:0000:0001:0000:0000:0000:45ff/64。
-
压缩格式
- 每段前导0可以省略,但是如果该段为全0,则至少保留一个“0”字符;拖尾的0不能被省略。 - 一个或多个连续的段为全0时,可用“::”表示,整个IPv6地址缩写中只允许有一个“::”。 例如:2001:DB8:0:1::45ff/64。
- 压缩规则总结就是两种:
- 连续为 0 的组,可以使用 :: 代替 ;
- 前导 0 可以省略;
- 压缩规则总结就是两种:
-
内嵌 IPv4 地址的格式 - 淘汰
- 地址的前96bit为IPv6地址格式,后32bit为IPv4地址格式。 - IPv6部分可采用首选或压缩格式,IPv4部分采用点分十进制格式。 例如:0:0:0:0:0:0:166.168.1.2/64。
1.5.2 IPv6 地址结构
-
一个IPv6地址可以分为如下两部分:
网络前缀:nbit,相当于IPv4地址中的网络ID。 接口标识:(128-n)bit,相当于IPv4地址中的主机ID。
1.5.3 IPv6 地址前缀
- 不同类型的IPv6地址被赋予不同的前缀
1.5.4 IPv6 地址接口标识
-
接口 ID 通过三种方式生成
1. 手工配置; 2. 系统自动生成; 3. 基于 IEEE EUI-64规范生成。
-
第三种方式最为常用,该方式将接口的MAC地址转换为IPv6接口标识。
做法: 1. 将第7bit位做反转; 2. 在 前24bit 和 后24bit中间添加固定值 --- FFFE(11111111 11111110)
1.6 IPv6 地址类型
-
地址分类
1. 单播地址:Unicast Address,标识一个接口; 2. 组播地址:Multicast Address,标识多个接口; 3. 任播地址:Anycast Address,任播地址标识一组网络接口;
1.6.1 单播地址
-
GUA:Global Unicast Address,全球单播地址
也被称为可聚合全球单播地址。 该类地址全球唯一,用于需要有互联网访问需求的主机,相当于IPv4的公网地址。
-
ULA :Unique Local Address,唯一本地地址
是IPv6私网地址,只能够在内网中使用。 该地址空间在IPv6公网中不可被路由,因此不能直接访问公网。
-
LLA:Link-Local Address,链路本地地址
是IPv6中另一种应用范围受限制的地址类型。 LLA的有效范围是本地链路,前缀为FE80::/10。
1.6.2 组播地址
-
组播地址:标识一组主机
-
组播地址由4部分组成:
8bit;4bit;4bit;80bit;32bit1. 前缀(FF::/8); 2. 标志(Flag)字段; 用来表示永久或临时组播地址; 0000 表示永久组播地址; 0001 表示临时; 3. 范围(Scope)字段; 用来表示组播组范围: 0:预留; 1:节点本地范围;单个接口有效,仅用于Loopback通讯 2:链路本地范围;例如FF02::1 5:站点本地范围; 8:组织本地范围; E:全球范围; F:预留。 4. 组播组ID(Group ID) 224.0.0.1 --链路范围内所有的节点 224.0.0.2--链路范围内所有的路由器 FF02::1 --链路范围内所有节点 FF02::2--链路范围内所有的路由器
-
组播 MAC
--ipv4 组播mac = 前 24bit 固定是 01005e,25bit固定0,后面23bit复制组播IP后的23bit; --IPv6组播mac = 前 16bit 固定是 3333,后面的 32bit 复制IPv6地址的后32bit;
-
被请求节点组播地址
当一个节点具有了单播或任播地址,就会对应生成一个被请求节点组播地址,并且加入这个组播组。 被请求节点组播地址:前104 bit固定(FF02::1:FF),后24bit从IPv6单播或任播地址拷贝。
1.6.3 任播地址
- 任播地址标识一组网络接口(通常属于不同的节点)
- 任播地址可以作为IPv6报文的源地址,也可以作为目的地址。
1.7 IPv4 地址和 IPv6 地址比较
- 地址比较
1.8 IPv6 报文
-
IPv4 固定20Byte 可以扩展到60Byte
-
IPv6 — 基本报文头部 + 扩展报文头部 + 载荷
基本报文头部 40Byte
Version --版本 Traffic class --流分类 FLOW label --流标签 --新增字段 ---为了更好的服务与QOS(服务质量保障) ---传统的IPv4 分类数据包 一般基于五元组(s.ip d.ip s.p d.p pro) ipv6可以基于流标签+S.IP/D.IP 唯一性定义一股数据流 Payload len--载荷长度 ---扩展报文头+载荷部分 Next header--下一个头部--相当于IPv4的pro字段--标识后面封装是什么协议 HOP LIMIT--跳数限制--相当于IPv4的TTL值 --防环 S.IP D.IP
1.9 IPv6 地址规划
- 地址规划举例
1.10 IPv6 配置介绍
-
配置命令
1. 使能设备的IPv6报文转发功能; [Huawei] ipv6 2. 使能接口的IPv6功能; [Huawei-GigabitEthernet1/0/0] ipv6 enable 3. 配置IPv6全球单播地址; [Huawei-GigabitEthernet1/0/0] ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length } 4. 使能设备OSPFv3功能; [Huawei] ospfv3 [ process-id ] 5. 配置OSPFv3的Router ID; [Huawei-ospfv3-1] router-id router-id 6. 在接口上使能OSPFv3的进程,并指定所属区域。 [Huawei] interface interface-type interface-number [Huawei-GigabitEthernet1/0/0] ospfv3 process-id area area-id
2. --------------------ICMPv6 与 NDP协议--------------------
2.1 ICMP
-
ICMP :Internet 控制消息协议
是 IP 协议的辅助协议。 ICMP协议用来在网络设备间传递各种差错和控制信息,对于收集各种网络信息、诊断和排除各种网络故障等方面起着至关重要的作用。
-
ICMP 报文
-
ICMP 差错检测 及 错误报告
ICMP Echo消息常用于诊断源和目的地之间的网络连通性,同时还可以提供其他信息,如报文往返时间等; ping 功能。 ICMP定义了各种错误消息,用于诊断网络连接性问题;根据这些错误消息,源设备可以判断出数据传输失败的原因; Tracert 功能。
2.2 ICMPv6
-
IPv4 中 ICMP
ICMP允许主机或设备报告差错情况; ICMP报文作为IP报文的数据部分,再封装上IP报文首部,组成完整的IP报文发送出去; 常用的Ping、Tracert等命令都是基于ICMP实现的。
-
IPv6 中 ICMPv6
除了提供类似ICMP的功能外,还有诸多扩展; 邻居发现协议(Neighbor Discovery Protocol,以下简称NDP)便是基于ICMPv6实现的,作为IPv6的关键协议,NDP提供了如前缀发现、重复地址检测、地址解析、重定向等功能。
2.2.1 ICMPv6 概述
-
概述
1. ICMPv6 是 IPv6 的基础协议; 2. 在IPv6报文头部中,Next Header字段值为58则对应为ICMPv6报文。 3. ICMPv6报文用于通告相关信息或错误。 4. ICMPv6报文被广泛应用于其它协议中,包括NDP、Path MTU发现机制等。 NDP:邻居发现协议----NDP 没有自己的报文---使用 ICMPv6 报文来实现相关的功能; 5. ICMPv6控制着IPv6中的地址自动配置、地址解析、地址冲突检测、路由选择、以及差错控制等关键环节。
2.2.2 ICMPv6 报文
-
ICMPv6 报文格式
ICMPv6 报文类型ICMPv6 报文分为两类: 差错报文 和 信息报文。
2.2.3 ICMPv6 差错报文应用 ---- Path MTU 发现
- 在 IPv6 中,报文的分片在源节点进行,中间转发设备不对 IPv6 报文进行分片;
- PMTU(Path MTU)就是路径上的最小接口 MTU;
- PMTUD(Path MTU发现机制)的主要目的是发现路径上的MTU,当数据包被从源转发到目的地的过程中避免分段。
2.2.4 ICMPv6 信息报文应用 ---- Ping
-
ping 是基于 ICMPv6 信息报文实现
Echo Request:用于发送到目标节点,以使目标节点立即发回一个Echo Reply应答报文。 Echo Request报文的Type字段值为128,Code字段的值为0。 Echo Reply:当收到一个Echo Request报文时,ICMPv6会用Echo Reply报文响应。 Echo Reply报文的Type字段的值为129,Code字段的值为0。
2.2.5 ICMPv6 其它常用的报文
- 邻居发现(RFC2461和RFC4861)
Type=133 路由器请求(Router Solicitation)
Type=134 路由器公告(Router Advertisement)
Type=135 邻居请求(Neighbor Solicitation)
Type=136 邻居公告(Neighbor Advertisement)
Type=137 重定向 (Redirect)
以上需要掌握。 - 组播侦听者发现协议(RFC2710和RFC3810)
Type=130 查询消息
Type=131 报告消息
Type=132 离开消息
Type=143 MLDv2报告消息
2.3 NDP 协议
- NDP 概述
- NDP 邻居发现协议
2.3.1 NDP 主要功能
-
NDP 主要功能 简介
1. 路由器发现 发现连路上的路由器,获得路由器通告的信息; -由RS和RA实现; RS 路由器请求; RA 路由器通告; 2. 无状态自动配置 通过路由器通告的前缀,终端自动生成 IPv6 地址; 1. 靠 EUI-64 规范 --- 得到接口标识; 2. 靠 RA 消息 --- 得到网络前缀; 3. 重复地址检测 获得地址后,进行地址重复检测,确保地址不冲突; -请求新获取的地址的mac地址: 收到响应---地址冲突; 未收到响应---地址唯一。 4. 地址解析 请求目的网络地址对应的数据链路层地址,类似 IPv4 是ARP; 5. 邻居状态跟踪 通过NDP发现链路上的邻居并跟踪邻居状态; 6. 前缀重编址 路由器对所通告的地址前缀进行灵活设置,实现网络重编制; 7. 重定向 告知其他设备,到达目标网络的更有下一跳;
2.3.2 NDP报文类型及功能
- 报文
2.3.3 路由器发现
-
路由器发现 概念
路由器发现是指主机发现本地链路上路由器和确定其配置信息的过程。
-
路由器发现 实现的功能
路由器发现 (Router Discovery):主机定位邻居路由器以及选择哪一个路由器作为缺省网关的过程。 前缀发现 (Prefix Discovery):主机发现本地链路上的一组IPv6前缀的过程,用于主机的地址自动配置。 参数发现 (Parameter Discovery):主机发现相关操作参数的过程,如输出报文的缺省跳数限制、地址配置方式等信息。
-
使用报文
RS 路由器请求 ; RA 路由器通告;
-
协议交互
主机发送RS触发路由器回应RA; 路由器周期发送RA;
-
主动请求触发
前提是:路由器开启了RA的功能:- 主机主动向本地链路范围内所有的路由器发送一个 RS 消息;
- 路由器响应 RA 报文;
-
路由器周期性发送
对于定期发送的 RA 报文,地址有要求:源地址必须是发送接口的链路本地地址;目的地址:FF02::1 为什么源地址不使用全球单播地址? RA - 一个很重要的功能,通告网络前缀; IPv6 中 一个接口下可以配置多个单播地址;
前提:路由器开启了RA的功能:
- 路由器周期性的发送 RA 消息(缺省的最大时间间隔是600s,最小时间是200s)。
-
2.3.4 RA 报文解析
- RA 报文中的 Flags 字段
- Option – 通告前缀信息 – 解析
- IPv6 地址生命周期
2.3.5 地址解析
- 地址解析分析
2.3.6 邻居状态跟踪
-
IPv6 邻居状态表
IPv6 邻居状态表中,缓存了 IPv6 地址与 MAC 地址的映射; 可以通过 display ipv6 neighbors 命令来查看;
-
IPv6邻居表:
不仅存储了邻居的IP和mac的映射,还通过 state 字段标识了邻居的状态。邻居状态跟踪功能。
-
IPv6 邻居的 5 个状态:
-
IPv6 邻居状态迁移:
2.3.7 DAD:重复地址检测
- DAD 检测概述
2.3.8 重定向
- 重定向消息
2.4 仿真实例讲解2.3的内容
-
位置
十一、2、视频2、50min位置;
3. --------------------IPv6 地址配置--------------------
3.1 IPv6 地址配置方式
-
分类
-
分类概述
静态:手工配置静态地址; 动态:无状态地址自动配置 SLAAC,基于NDP实现; 有状态地址自动配置 基于DHCPv6;
3.2 SLAAC:无状态地址自动配置
-
配置流程
-
流程详解
1.主机通过 EUI-64 规范生成接口标识,FE80+接口标识--获取了链路本地地址(LL地址); 2.新获取的 Link-Local 地址,DAD 检测; 3.主机开始发送RS消息--D.IP-LL地址 D.IP-FF02::2; 4.路由器开启RA消息,影响RA--(携带了网络前缀); 5.通过RA拿到网络前缀+EUI64规范生成接口标识--IPv6单播地址生成; 6.对新的地址进行DAD检测; 没有检测到冲突,则启用改地址。
-
整体过程
3.3 DHCPv6 概述
-
常用概念
-
DHCPv6 配置分类
DHCPv6 有状态自动配置 DHCPv6 无状态自动配置 DHCPv6 PD PD:Prefix Delegation 前缀代理
-
DHCPv6 网络构成
三个角色: DHCPv6 Client:DHCPv6客户端 DHCPv6 Server:DHCPv6服务器 DHCPv6 Relay:DHCPv6中继
3.3.1 DHCPv6 有状态自动配置
-
四步交互
四步交互是指DHCPv6客户端与服务器交互四次来完成前缀/地址等参数获取的过程。
-
两步交互
DHCPv6客户端可以在发送的Solicit消息中携带Rapid Commit选项,标识客户端希望服务器能够快速为其分配地址/前缀和网络配置参数。
-
地址/前缀租约更新
3.3.2 DHCPv6 无状态自动配置
-
概述
DHCPv6服务器为已经具有IPv6地址/前缀的客户端分配除地址/前缀以外的其他网络配置参数,该过程称为DHCPv6无状态自动配置。
3.3.3 DHCPv6 PD自动配置
-
概述
在一个层次化的网络结构中,不同层次的IPv6地址配置一般是手工指定的。手工配置IPv6地址扩展性不佳,不利于IPv6地址的统一规划管理。DHCPv6 PD可以解决这个问题。
DHCPv6 报文
- 报文总结
- 报文总结
3.4 地址自动配置比较
- 比较视图
4. --------------------IPv6 路由 --------------------
4.1 IPv6 静态路由
-
类似于 IPv4 地址,也需要管理员手工配置,适用于一些简单的IPv6网络。
-
在创建 IPv6 静态路由时
可以同时指定出接口和下一跳; 或者只指定出接口或只指定下一跳; 对于点对点接口:制定出借口 对于广播类型接口:指定下一跳
-
IPv6 静态路由负载分担和备份
在创建相同目的地址的多条IPv6静态路由时: - 如果指定相同优先级,则可实现负载分担 - 如果指定不同优先级,则可实现路由备份。
-
配置:
1. 默认优先级为60; 2. 如果将目的地址与前缀长度都配置为全0(:: 0),则表示配置的是缺省路由(::/0); 3. undo命令中配置参数permanent时,只能取消IPv6静态路由永久发布,不能删除IPv6静态路由。
4.2 OSPFv2 和 OSPFv3
4.2.1 OSPFv2
-
概念:
是一种基于链路状态算法的 IGP 协议 1. 链路 link :可以看作 路由器的接口 2. 链路状态 link state :路由器的接口的一些信息 ---- 如 IP地址、掩码、cost、链路类型、对端的邻居 3. LSA -link state advertisement ---- 链路状态通告信息 4. LSDB ---- 链路状态数据库--存放了自己产生的LSA和邻居们传递过来的LSA
-
IGP 和 EGP
IGP:内部网关协议--工作在一个AS内,保证AS内互联互通的协议--OSPF/ISIS/RIP; EGP:外部网关协议--工作在AS与AS之间,保证AS间互通的协议 --BGP;
-
区域划分:
为什么要支持区域划分? 1. 减少设备压力,减小 LSDB 规模; -- OSPF 支持划分多个区域,每个区域维护自己的LSDB; 2. 减小路由震荡影响;
-
ABR 和 ASBR
ABR:区域边界路由器 -- 至少有一个接口属于区域0; ASBR:自制系统边界路由器 -- 做了引入操作的设备 -- 将非本 OSPF 进程的路由引入进来;
-
支持的网络类型
1.广播网络 broadcast/BMA ---支持广播,是一个多路访问的网络 2.NBMA --非广播多路访问----不支持广播,也是一个多路访问网络 3.点到点 p2p ---只有两台设备 4.点到多点 p2mp---可以理解多个点到点的叠加
-
思考:不通的网络类型能否建立邻居关系?能否正常计算路由?
1. OSPF 的 hello 报文中没有描述网络类型的字段; 不需要协商网络类型; 2. 能够建立邻居关系主要看 hello 报文的发送间隔、holdtime 和 hello 报文的发送方式; P2P和广播就可以正常建立关系 4. 路由计算是否正常,主要看是否选举 DR。
OSPF 工作原理
-
Router ID
32bit的无符号整数 通常用点分十进制表示 ; 作用:唯一标识一台ospf的路由器; 特点: 1. 唯一性 2. 任意性 配置: 1.手工 系统视图下 协议视图下 2.自动选举 优选loop接口 物理接口里选择IP地址比较大的
-
报文
-
邻接关系建立过程
-
影响邻居关系建立的影响因素:
1. 区域ID不一致; 2. RID 冲突; 3. Auth 认证方式不一样可以建立,但秘钥不一样不能建立; 4. Time不一致:hello时间 和 route dead interval; 5. MTU 默认不检测,若通过命令让检测,那双方的MTU值就得保持一致; 6. 区域类型不一致:一端是普通区域、一段是stub区域,不行; 7. 网络类型不一致; 8. 掩码; 9. Pri = 0; 10. 静默接口了;
-
思考:
问题1:为什么选举主从关系?怎么选举DR/BDR?什么时候选举DR/BDR?基于什么报文选举? 1. 为了减少邻接关系的数量,减少LSA的泛洪,减少OSPF的协议流量; 2. 基于优先级+RID ↑,值越大越优先---默认不抢占; 选举是基于**网段**,基于接口选的。 3. Hello,从第一个Hello报文发出去到40s选举DR、BDR; 问题2:怎么保障LSDB同步的可靠性? 显示/隐式确认 问题3:为什么MA网络需要比较掩码? 问题4:为什么P2P网络不需要比较掩码?
LSA 内容
-
五类
1类;2类;区域内路由计算(1类2类属于路由加拓扑) 3类;区域间路由计算;4类;5类;区域外路由计算(纯路由信息)
-
报文格式 助记:3+3+2
3 Ls type /ls id/adv ---- 唯一标识一条LSA 3 Ls age /S N/ CK ---- 比较LSA的新旧 2 Options/lenth
-
LSA 新旧比较:
1. 比较Sequence Number,越大越新 2. 比较Checksum,越大越新 3. 比较Age,3600s最优 4. Age Time之差小于900s,不比较,先收到先放入LSDB数据库(保留旧的LSA) 5. Age Time之差大于900s,越小越优(保留新的LSA)
-
泛洪机制:
泛洪机制: 1.接收到一条未创建的LSA,存储并向其他邻居泛洪; 2.接收到比较新的LSA,替换旧的并泛洪; 3.接收到完全相同的LSA,忽略; 4.接收到旧的LSA,忽略; 5.接收到一条age=3600 的LSA,清空本地LSA,并泛洪; 6.接收到的一条坏的LSA(checksum error),忽略并返回新的LSA;
4.2.2 OSPFv3
4.2.2.1 OSPFv2 和 OSPFv3 异同
-
关系
虽然 OSPFv3 是基于 OSPFv2 基本原理并增强的; 但是* OSPFv3 和 v2 是相互独立的路由协议。
-
相同点
网络类型:广播、NBMA、点到点、点到多点; 状态机:down、init、2-way、exstart、exchange、loading、full。 路由计算:1. 建立邻居;2. 泛洪LSA,同步LSDB;3. 采用 SPF 算法,计算最优路由
-
不同点
1. OSPFv3基于link运行,OSPFv2基于子网; ----OSPFv3只要在相同链路,就可以建立邻居关系--不要求两边的IPv6地址在同一网段---原因:使用link-local地址作为hello报文源地址 ---OSPFv2要求邻居在一个网段,才可以建立邻居关系 2. OSPFv3使用了链路本地地址---作为报文发送的S.IP(V-LINK除外) OSPFv2使用的是接口的IP地址--作为报文发送的S,IP OSPFv3计算路由时,使用链路本地地址作为下一跳 OSPFv2计算路由时,下一跳一般下一跳设备的IP地址 3. OSPFv3支持多实例复用,一个接口可以同时工作在不同的进程中/VPN实例中---通过instance id区分不同的实例/进程 OSPFv2不支持多实例复用,一个接口只能工作在一个进程中/VPN实例 4. OSPFv3通过RID唯一标识邻居; OSPFv2标识邻居的方法并不统一 1.在广播网络产生的1类lsa中,通过DR的IP地址标识邻居 2.在点到点的网络产生的1类LSA中,通过对方的RID标识邻居
-
认证的变化
v2的报文头
v3的报文头
4.2.2.2 Stub 区域
-
概述
OSPFv3也有stub区域的概念,存在于1/2/3/8/9 Ospfv2的stub区域,收到未知类型LSA ---丢弃 OSPFv3的stub区域,收到未知类型的LSA --有选择的泛洪--(满足条件就泛洪)
条件:
4.2.2.3 收到未知类型的 LSA 的处理
-
OSPFv2
收得未知类型的LSA --- 直接丢弃;
-
OSPFv3
收得未知类型的LSA --- 按U-BIT的指示来处理;
4.2.2.4 报文的变化
-
报文头部的变化
--去掉了V2的认证部分,新增了instance id V2 V3
-
hello报文的变化
--去掉了v2的mask字段,新增了interface id
- option字段的变化-内容的变化
- option字段的变化-内容的变化
-
LSA 头部的变化
1.去掉了option字段 2.把ls type由8bit变成16bit V2 --3+3+2
00--链路 01--区域 10--本AS 11--保留
4.2.2.5 LS ID 的变化
---在ospfv3中ls iD不在包含地址信息
---在OSPFv3中ls id 只有2类和8类有实际意义--填充的是接口的interface id
![在这里插入图片描述](https://img-blog.csdnimg.cn/8292cac5f8e840c2a54e1de94fd26cc3.png)
4.2.2.6 LSA 的变化
-
8类–link lsa --链路lsa
路由器给运行OSPFv3的每段链路都生成一个link-lsa,用来描述自己在本链路上的接口地址信息--包括链路本地地址和全球单播地址
-
9类–intra-area prefix lsa --区域内前缀lsa–不能单独存在,需要作为1/2类lsa的附加信息存在
1.描述接口--loop接口--p2p接口---附加1类 2.描述网络--做为DR描述网络号和掩码--附加2类
4.2.2.7 前缀标识方法的变化
- 前缀标识方法的变化
4.2.2.8 LSA 的区别
-
1类LSA
--v2中1类描述了路由信息+拓扑信息 --v3中1类只描述了拓扑信息
- 1 类 LSA 中 type 字段
- 1 类 LSA 中 type 字段
-
2类lsa --network lsa
V2中2类lsa的作用--路由+拓扑 1.dr产生描述此网络的网络号和掩码 2.描述此网络连接了哪些设备(L3)
-V3中2类lsa的作用–拓扑
-
3类LSA—域间路由
-
4类LSA
-
5类LSA
-
新增了link -lsa
-
新增了9类lsa —intra-area-prefix lsa
4.3 IS-IS for IPv6
4.3.1 ISIS 简介
- 简介
4.3.2 ISIS 扩展了两个TLV、新增NLPID
- 236 232
- 236 TLV格式
- 232 TLV格式
- 新增 NLPID
- 单拓扑、多拓扑
- 新增 TLV 支持多拓扑
4.4 BGP4+
4.4.1 BGP4+简介
-
介绍
BGP是一个基于TLV编码的协议,扩展性非常强,可以扩展到多协议场景 --BGP4--IPv4 --传递的是IPv4的路由 --BGP4+ --IPv6 --传递的是IPv6的路由 ---MP-BGP(多协议-BGP)---传递如VPN的路由
-
扩展能力协商的内容
-
两台设备如果想支持BGP4+,传递IPv6路由,需要在open消息中,进行多协议扩展能力协商
AFI=2(ipv6) SAFI=1(单播)
-
BGP为了支持IPv6新增了两个属性(TLV编码)
Mp-reach-NLRI–传递IPv6的可达路由
MP-unreach-NLRI–撤销IPv6路由
-
MP-unreach-NLRI --撤销路由
4.4.2 总结
- BGP4–传递IPv4路由时,使用的是UPDATA消息
-Mp-bgp(可以传递IPv6路由,传递VPNv4/6路由)也是UPdate报文更新路由
–使用mp-reach-nlri属性 --传递可达路由
–使用mp-unreach-nlri属性–传递不可达路由