OSPFv3 和OSPFv2的大致比较 admin 2023-05-24 10:36:02 篇首语:本文由小编为大家整理,主要介绍了OSPFv3 和OSPFv2的大致比较相关的知识,希望对你有一定的参考价值。 Technorati 标签: CCIE,OSPFv3,IPV6,RFC2328 OSPFv2(IPv4)简要回顾(RFC2328): --可支持大规模的路由 --路由变化快速收敛 --无路由环路 --支持等价负载均衡(LSA链路状态路由协议,仅仅支持等价,非等价的是EIGRP和BGP可以支持) --支持区域分级管理 --支持路由分级管理 --支持验证(明文验证和MD5的验证) --支持以组播发送协议报文(224.0.0.5和224.0.0.6) OSPFv2的协议号是89. Router-ID是一个32位的无符号的整数, 是一个路由器的唯一标示,所以一般用环回来表示.在整个AS内唯一. 区域内的路由器(IAR)------该路由器所有接口都属于同一个ospf区域. 区域边界路由器(ABR)-----负责传递不同区域间的路由信息.该路由器同时属于两个以上的区域(其中一个区域一定是area0) 自治系统边界路由器(ASBR)-----负责引入其他自治系统的路由信息,该路由器引入了其他路由协议(重分发). PS.路由器的各种类型是可以相互切换的(除了不能同时是IAR和ABR) 所有类型的路由器用一个图表示的话: 650) this.width=650;" title="clip_image002" border="0" src="/attachment/info/202305/51froql1vzf23.jpg" "244" height="147" /> OSPFv2把所有的网络拓扑抽象成三种情况: --Stub网络 , 该网络所连接的只有自己的路由. --Point-to-point网络, 该路由器通过点到点的网络与另一台路由器相连. --广播(broadcast)或者NBMA网络: 该路由器通过广播网络或NBMA网络与多台路由器相连接. 接口类型:(OSPF的接口有五种类型) -->点到点(P2P)接口 -->点到多点(P2MP)接口 -->点到多点非广播(P2MP non-broadcast)接口 -->广播(Broadcast)接口 -->NMBA(Non-broadcast Multi-access)接口 ~~~~~~Virtual link接口是一种特殊的P2P接口类型.(建立一个虚拟隧道) OSPF的洪泛与链路状态数据库 在OSPF的一个区域里面,LSA会泛红到所有路由器,最终让该区域的所有路由器进行数据库统一. 通过大家交换LSA.(Type-1,type-2的泛洪) 650) this.width=650;" title="clip_image004" border="0" src="/attachment/info/202305/zkrfxdd4i3224.jpg" "244" height="132" /> OSPF数据报文有五种: -->Hello 报文,发现及维持邻居关系,选举DR,BDR -->DBD报文,描述本地LSDB的情况 -->LSR报文,向对端请求自己没有的LSA -->LSU报文,向对方更新LSA -->LSAck报文,收到LSU后,进行确认 ■所有报文使用同样的报文头 ■除了Vlink,在其他链路上传播距离为一跳. OSPFv3协议介绍 ----运行于IPv6的OSPF路由协议(RFC2740) ---基于OSPFv2基本原理并且增强,是一个独立的路由协议。协议号依然是89,Router-id依然是一个32位的无符号整数.[这里的Router-ID在IPv6中不是一个IP地址的格式了,而是32位无符号整数] 650) this.width=650;" title="clip_image006" border="0" src="/attachment/info/202305/kojdfsjsexs25.jpg" "244" height="147" /> 虽然OSPFv3和V2很多概念是一样的,但是相互并不兼容. OSPFv3和OSPFv2的不同点: 1, 基于连接(Link),而不是网络(subnet)运行 OSPFv3的拓扑描述依赖于IPv6的link-local地址,又脱离于IPv6的任何地址. 其实也就是说,在链路上面就算没有OSPF的单播地址,也照样能形成邻居关系.因为源是link-local地址,目的是组播地址,这样就能完成ospf的交互. 这里有两个例子: OSPFv2,是基于链路运行的.例如下面,在同一个MA网络中,一定是大家要子网网段一直,掩码一致,才能建立邻居关系. 650) this.width=650;" title="clip_image008" border="0" src="/attachment/info/202305/5skzyal5nsq26.jpg" "244" height="239" /> 而OSPFv3如下,每个路由器连接到MA网络中,子网都是不同的. RTA=5f00.1111::1/32 RTB=5f00.2222::1/32 RTC=5f00.3333::1/32 即使是这样,他们一样的能建立起来OSPF邻居关系,因为使用的是link-local为源地址. 因为拓扑数据库要描述的东西完全和地址没有关系,数据库需要描述的是RTA/B/C在同一个子网,cost是多少就够了.(具体的网段和数据库没有多大关系) 650) this.width=650;" title="clip_image010" border="0" src="/attachment/info/202305/lhffn1jppxp27.jpg" "244" height="243" /> 2,IPv6地址语义和协议设计分离 OSPFv3的拓扑描述依赖于IPv6的link-local地址,又脱离于IPv6的任何地址. 其实也就是说,在链路上面就算没有OSPF的单播地址,也照样能形成邻居关系.因为源是link-local地址,目的是组播地址,这样就能完成ospf的交互. 具体在哪里体现出语义和协议设计分离呢? 1,利用IPv6的link-local地址来传递网络拓扑信息,但是拓扑信息里不包括IPv6地址. 2,Router-LSA和Network-LSA只反映网络拓扑信息; 3,采用专门的LSA来传递IPv6的前缀信息(Intra-area prefix LSA) 4,Router-ID,Area ID和LSA link state ID依然是IPv4的格式(32bit),而不是IPv6地址 5,邻居由于邻居Router ID来标示. 3,明确LSA洪泛范围并且增加link-local洪泛范围 IPv4中,router-LSA和network-LSA在本区域内进行泛洪.Type-3 summary LSA是在区域间泛洪,type-4是区域间,type-5是全网泛洪.....但是这个范围不外乎都是区域内或者区域间进行泛洪. 但是对于OSPFv3来说,还增加了一个链路范围进行泛洪. 1, 新增加了Type-8的LSA,仅仅在本地链路范围内进行洪泛.泛洪范围:链路本地(link-local scope) 2, 区域范围(Area Scope): Router-LSA, Network LSA, Inter-area-Prefix-LSA Inter-Area-Router-LSA, AS-NSSA-LSA(仅仅存在于NSSA区域) Intra-Area-prefix-LSA(新增) 3, 自治系统范围(AS Scope): AS-External-LSA 泛洪范围 链路本地泛洪 Link-LSA(Link-local Scope) Type-8 区域内泛洪 Router-LSA(Type-1) Network-LSA(Type-2) Intra-Area-Prefix-LSA(承载区域内IPv6的前缀) Type-9 NSSA区域内 AS-NSSA-LSA(Type-7) 区域间泛洪 Inter-Area-Prefix-LSA Inter-Area-Router-LSA AS内泛洪 AS-External-LSA(type-5) 4,连接(Link)多实例化 多实例的应用. 场景1:这里A/B/C/D都在同一个子网中,预期的结果是: A--D形成邻居/邻接关系. B--C形成邻居/邻接关系. A-X-C没有任何关系. B-X-D也没有任何关系. 在IPv4中是不行的,但是在IPv6中,在Hello包中增加一个叫Instance-ID的字段.也作为一个必须匹配字段,不同就不能建立邻居. 650) this.width=650;" title="clip_image012" border="0" src="/attachment/info/202305/evwerl02m1028.jpg" "241" height="244" /> 5,使用链路本地(link-local)地址 除了Virtual link以外(虚链路实际上是一个隧道技术,已经超出了链路范围),其他的链路上发送的报文源地址都是link-local地址,目的地址为link-local地址或者是组播地址.[实际上就是根本不会用单播地址进行协商] 6,验证与效验和变化 OSPFv3报文中不再包含AuType和Authentication,而依赖IPv6的扩展验证包头来进行认证. 效验和checksum变化: OSPFv3使用IPv6标准的check sum. IPv6的效验和覆盖范围比较IPv4,将会覆盖IPv6的包头. 650) this.width=650;" title="clip_image014" border="0" src="/attachment/info/202305/wpvrobosoya29.jpg" "244" height="98" /> 7,报文格式变化 下面是OSPFv2和V3的包头的变化: 在V2中,认证有很多字段,到了V3以后就没有了. 但是V3多增加了一个Instance ID,这样就可以做多实例的邻居关系了。 650) this.width=650;" title="clip_image016" border="0" src="/attachment/info/202305/ma4m2fbt50p210.jpg" "244" height="111" /> OSPFv3包头字段的描述: --Version:版本,对于OSPFv2,该值=2,OSPFv3=3. --Type: 1-Hello,2-DD,3-LSR,4-LSU,5-LSAck --Packet Length: OSPFv3报文长度 --Router ID:路由器ID,全网唯一. --Area ID:区域ID,除了虚连接以外.其他的都需要和骨干区域相连接. --Checksum:效验和 --Instance ID:链路实例ID.建立邻居的时候必须匹配,否则2way都建立不起来.V3新增加字段. 8,LSA类型和格式的变化 除了第六是从来没有启用过的,8和9和新增加的. 650) this.width=650;" title="clip_image018" border="0" src="/attachment/info/202305/0kzcoeyefij211.jpg" "244" height="153" />以上是关于OSPFv3 和OSPFv2的大致比较的主要内容,如果未能解决你的问题,请参考以下文章 POSTGRESQL的连接的端口号是多少 IDEA复制多行及对多行代码上下左右移动 您可能还会对下面的文章感兴趣: 相关文章 浏览器打不开网址提示“ERR_CONNECTION_TIMED_OUT”错误代码的解决方法 如何安装ocx控件 VMware的虚拟机为啥ip地址老是自动变化 vbyone和EDP区别 linux/debian到底怎么重启和关机 苹果平板键盘被弄到上方去了,如何调回正常? 机器学习常用距离度量 如何查看kindle型号