IPV6路由技术
OSPFV3
一、OSPFv3概述:协议号89
1、概念:
OSPFv3是ospf(开放式最短路径优先)版本3的简称,主要提供对IPV6的支持,遵循的标准为RFC2740(OSPF for IPv6),主要作用于IPV6路由功能,是IPv6网路中路由技术的主流协议。
2、OSPFv3和OSPFv2相同点:
- Router ID,Area ID仍然是32位
- 相同类型的报文:Hello报文,DD(数据库描述)报文,LSR(链路状态请求)报文,LSU(链路状态更新)报文和LSAck(链路状态确认)报文。
- 相同的邻居发现机制和领接形成机制
- 相同的LSA扩散机制和老化机制
- 路由计算方法
3、OSPFv3和OSPFv2的不同主要有:
- OSPFv3是基于链路运行,OSPFv2是基于网段运行
- 使用链路本地地址
- 认证变化
- stub区域的支持
- 报文的不同
- Option字段不同
- LSA的异同
- OSPFv3在同一条链路上可以运行多个实例
- ospfV3是通过Router ID来标识领接的邻居。OSPFv2则是通过IP地址来标识领接的邻居
(1).基于 链路的运行:OSPFv3不受网段限制,所以两个具有不同IPV6前缀的节点可以在同一条链路上建立邻居关系。
OSPFv2是基于网络运行的,两个路由器要形成邻居关系必须在同一网段
OSPFv3的实现是基于链路,一个链路可以划分为多个子网,节点即使不在同一个子网内,只要在同一链路上就可以直接通话
(2). 使用链路本地地址:OSPFv3的路由器使用链路本地地址作为发送报文的源地址。一个路由器可以学习到这个链路上所有其他路由器的链路本地地址,并使用链路本地地址作为下一跳转发报文。在虚链路上,必须使用全球范围地址或者站点本地地址作为OSPFv3协议报文的源地址。链路本地只在本链路上具有意义,只能在本链路上泛洪,因此链路本地地址只能出现在Link LSA中。
(3).链路支持多实例复用:
OSPFv3使用“Instance ID”标识不同实例,路由器子啊报文接收时对该字段进行判断,实例号和接口相匹配时报文才会处理,否则丢弃。
(4).通过Router ID唯一标识邻居:
在ospfv2中,当网络类型为点到点或虚连接与邻居相连时,通过Router id来标识邻居路由器,当网络类型为广播或NBMA时,通过邻居接口的IP地址来标识邻居路由器。
在OSPFv3中,无论是什么网络类型,都通过router-id来唯一标识邻居。
(5)认证的变化:
OSPFv3协议自身不在提供认证功能,而是通过使用IPV6提供的安全机制来保证自身报文的 合法性,所以,OSPFv2报文中的认证字段,在OSPFv3报文头中取消。
4.OSPFv3的协议报文:
和OSPFv2一样,OSPFv3也有五种报文,分别是 Hello、DD、LSR、LSU和LSAck报文。
这五种报文有相同的 报文头,但是它是OSPFv2的报文头有一些区别,其长度只有16字节,且没有认证字段。另外就是多了一个Instance ID字段,用来支持在同一条链路上运行多个实例。
- Version:ospf版本号。对于ospfv3,来说值为3.
- Type:OSPF报文的类型。其值1到5,分别对应Hello、DD、LSR、LSU、LSAck报文。
- Packet Lengeh:OSPF报文的总长度,包括报文 头在内,单位为字节
- Instance ID:同一条链路上的实例标识
- 0:保留位,必须为0.
5.OSPFv3的LSA类型:
LSA(链路状态通告)是OSPFV3协议计算和维护路由信息的主要来源。在RFC2740中定义了七类LSA,描述如下:
- 路由器LSA(Router-LSA):描述在特定区域内的路由器接口的链路状态及链路开销。该类型LSA仅在接口所在的区域内传播。该类型LSA还指示出产生该类型LSA的路由器是否是一台ABR或ASBR,以及路由器是否是虚链路的一端。类型1LSA也被用来通告端(stub)网络。
- 网络LSA(Network-LSA):由DR产生,用来描述DR所代表的网络的链路状态信息和链路开销信息。该LSA是BMA网络上的所有链路信息和链路开销信息的集合信息。
- 区域间前缀LSA(Inter-Area-Prefix-LSA):这种类型LSA在OSPFv2中叫做‘概括的网络链路状态条目(summary net link states)’。该类型LSA由ABR产生,用来把一个区域内的路由信息通告到另外一个区域。这种类型的LSA既可以描述一条具体的路由信息,也可以描述总结的路由信息。在OSPFv3中,地址是用前缀和前缀长度表达的,而不再使用地址和掩码的表达形式。缺省路由的前缀长度用0代表。
- 区域间路由器LSA(Inter-Area--Router-LSA):由ASBR产生,用以通告ASBR的位置。试图把数据送达外网的路由器使用该LSA确定通往下一跳的最佳路径。
- 自治系统外LSA(AS-External-LSA):用来携带自治系统外路由信息的LSA。例如,把其它AS的路由再发布到OSPF中的路由信息。在该类型的LSA中,地址用前缀和前缀长度表达,缺省路由的前缀长度用0表达。
- 类型7 LSA(Type-7 LSA):由NSSA中的ASBR产生,只在NSSA中传播。在ABR上它被转换成类型5并且被扩散到骨干区域。
- 链路LSA(Link-LSA):该类型LSA仅在本链路上传播,具有以下3种目的:向本链路上的其它路由器提供路由器的本链路地址;向本链路上的其它路由器通告IPv6地址前缀,使其与本链路相关联;允许路由器在该类型LSA中插入一些选项比特,与为本链路产生的网络LSA相关联。
- 区域内前缀LSA(Intra-Area-Prefix-LSA):该类型LSA在本区域内传播,具有以下两种功能之一:通过参考网络LSA把IPv6地址前缀与转递网络(transit network)相关联;或者通过参考路由器LSA把IPv6地址前缀与路由器相关联。一台路由器可以为给定的区域产生多个该类型的LSA,这些LSA使用链路状态ID字段(Link State ID)区分。DR为它所代表的链路产生一个或多个该类型的LSA,向整个区域内通告该链路的地址前缀。
6、ospfv3配置:
[RT1]ospfv3 1 //进入ospfv3视图
[RT1-ospfv3-1]router-id 1.1.1.1 //配置视图路由器的ID
- 与OSPFV2不同,OSPFV3的Router ID必须手工配置,如果没有配置ospfv3将无法运行
- 配置router ID时,必须保证自治系统中任意两台路由器的Router id都不相同。 如果在同一台路由器上运行了多个OSPFv3进程,必须为不同的进程设置不同的Router ID
[RT1-GigabitEthernet0/0] ospfv3 1 area 0.0.0.1 //指定的网络接口上使能OSPFv3
在配置接口链路本地地址时,在同一条本地链路上,两边地址不能一样。路由器之间只需要配置链路本地地址就可以建立邻居关系。
RIPng
一、概念
- RIPng(下一代rip协议):是针对IPV6的RIP协议。
- 与RIPV2一样是基于D-V(距离矢量)算法的路由协议,具有距离矢量路由协议的所有特点
RIPNG的特点:
- UDP端口号,使用UDP的521端口发送和接收路由信息
- 组播地址,使用FF02::9作为链路本地范围内的RIPng路由器组播地址
- 前缀长度。目的地址使用128比特的前缀长度
- 下一跳地址:使用128比特的IPV6地址
- 源地址:使用链路本地地址fe80::/10作为源地址发送RIPng路由信息更新报文
- RIPng工作机制与RIPv2基本相同。。
实验:
[RT1]ripng 1 //开启ripng进程
[RT1-GigabitEthernet0/0]ripng 1 enable //是RIPNG进程在接口上收发RIPng路由。
- 如果接口没有使能RIPng进程,既不发送也不接受RIPng路由
ISIS For IPv6
一、概述:
- 随着IPv6网络的建设,同样需要动态路由协议为IPv6报文的转发提供准确有效的路由信息。IS-IS路由协议结合自身具有良好的扩展性的特点,实现了对IPv6网络层协议的支持,可以发现和生成IPv6路由。支持IPv6协议的IS-IS路由协议又称为IS-ISv6动态路由协议。
- IS-ISV6新增CLV
- IETF( 国际互联网工程任务组)中规定了IS-IS为支持IPv6所新增的内容,主要是新增两个CLV,以及在支持协议CLV中的NLPID字段将有一个值为0x81标识其支持IS-ISv6功能
- IPv6可达性CLV:IS-ISv6中IPv6可达性CLV对应于IS-IS中普通可达性TLV和扩展可达性TLV
Code:取值为236,表示该CLV是IPV6可达性CLV。
Length:CLV长度。
Metric:度量值,使用扩展的Metric值
U:up/down状态标志位,用来防止路由环路
X:外部路由引入标识,取值1表示该路由是从其他协议引入的
S:当CLV中不携带Sub-CLV时,S位置“0”,否则置“1”,表示IPv6前缀后面跟随Sub-CLV信息。
Reserve:保留位。
Prefix Length:该路由器可以到达的IPv6路由前缀长度。
Prefix:该路由器可以到达的IPv6路由前缀
Sub-CLV/Sub-CLV Length:Sub-CLV字段以及Sub-CLV字段长度,该选项用于以后扩展用。
- IPv6接口地址CLV:IPv6接口地址CLV对应于IS-IS中IPV4接口地址CLV:
Code:取值232,表示该CLV类型是Ipv6接口地址CLV。
Length:CLV长度
Interface Address:使能IS-ISV6功能的接口IPv6地址,Hello报文中接口IPv6地址CLV中填入的是使能了IS-ISv6功能接口的IPv6链路本地地址,LSP报文中填入的是使能了IS-ISv6功能的非IPV6链路本地地址,即接口的IPv6全球单播地址。
*:表示该项可选。
- 支持协议CLV:用来指定报文的始发路由器所支持的协议,对于每一种支持的协议,CLV中的NLPID都会有一个相应的NLPID值。当路由器支持IS-ISv6功能时,该CLV中的NLPID将有一个值为0x81。
IS-ISv6领接关系:
- IS-IS使用Hello报文来发现同一条链路上的邻居路由器并建立邻接关系,当邻 接关系建立完成后,将继续周期性的发送Hello报文来维持邻接关系。为了支持IPv6路由,建立IPv6邻接关系,IS-ISv6对Hello报文进行了补充:
- 在支持协议CLV中增加一个8bit的NLPID,取值为0x81,表示当前路由器支持IS-ISv6功能。
- 在Hello报文中添加使能IS-ISv6功能的接口IPv6地址的CLV,Interface Address字段填入使能了IS-ISv6功能接口的IPv6链路本地地址。
IPV6路由技术的更多相关文章
- Cisco路由技术基础知识详解
第一部分 请写出568A的线序(接触网络第一天就应该会的,只要你掐过,想都能想出来) .网卡MAC地址长度是( )个二进制位(16进制与2进制的换算关系,只是换种方式问,不用你拿笔去算) A.12 ...
- 总结linux路由技术
Linux系统的route命令用于显示和操作IP路由表,要实现两个不同的网段之间的通信,需要一台连接两个网络的路由器,或者同时连接位于两个网络的网关来实现. 在Linux系统中,设置路由通常是为了解决 ...
- 第11章 拾遗4:IPv6(3)_配置IPv6路由
5. 配置IPv6路由 5.1 配置IPv6静态路由 (1)在路由器上配置静态路由(以R1路由器为例) //静态路由 R1#config t R1(config)#ipv6 unicast-routi ...
- 城域网IPv6过渡技术—NAT64+DNS64 Test for IPv6 DNS64/NAT64 Compatibility Regularly
城域网IPv6过渡技术—NAT64+DNS64 - 51CTO.COM http://network.51cto.com/art/201311/419623.htm Supporting IPv6 D ...
- PHP路由技术的原理与实践
0x00 路由实现原理 用户通过指定的URL范式对后台进行訪问.URL路由处理类进行处理后.转发到逻辑处理类,逻辑处理类将请求结果返回给用户. 约定URL范式和规则 约定一套自己喜欢的,对搜索引擎友好 ...
- BGP路由技术
BGP路由技术 目录 一.BGP概述 1.1.自治系统 1.2.动态路由分类 1.3.BGP概念 1.4.BGP的特征 1.5.BGP工作原理 二.命令配置 2.1.BGP配置思路 2.2.命令 一. ...
- 【自由谈】城域网IPv6过渡技术——MAP技术(4)
本节接着回答MAP技术的第三个问题:“MAP-BR的Pool是如何实现?可靠性如何提升?” 在MAP域中通过将多个MAP-BR放在同一个Pool内实现负载分担和保护倒换的.同一个Pool中的每个MAP ...
- 【自由谈】城域网IPv6过渡技术——4v6场景技术总结(1)
为什么会存在4v6应用场景?主要是从“云-管-端”的IPv6状态决定的,“云”侧IPv4类业务丰富,IPv6驱动力小,所以“云”在较长一段时间内还是以IPv4类业务为主.“管”侧的IPv6化程度高,设 ...
- IPv6 关于路由器配置静态IPv6路由的命令
今天在学习路由器配置ipv6 的时候遇到了一点疑惑 一条命令为:ipv6 route FE80:0202::/32 serail 0/1 201 一条命令为:ipv6 route FE80:0202: ...
随机推荐
- 【转】winrar命令行详解
从命令行也可以运行 WinRAR 命令,常规的命令行语法描述如下: WinRAR <命令> -<开关1> -<开关N> <压缩文件> <文件.. ...
- HTTP(一)
HTTP(一) http php http请求 HTTP请求:请求行.消息报头.请求正文.格式如下: Method Request-URI HTTP-Veraion CRLF 参数说明 Method ...
- ZT 为什么pthread_cond_t要和pthread_mutex_t同时使用 || pthread/Linux多线程编程
为什么线程同步的时候pthread_cond_t要和pthread_mutex_t同时使用 (2009-10-27 11:07:23) 转载▼ 标签: 杂谈 分类: 计算机 举一个例子(http:// ...
- 使用nodejs代码在SAP C4C里创建Individual customer
需求:使用nodejs代码在SAP Cloud for Customer里创建Individual customer实例. 代码: var createAndBind = require('../je ...
- 闲来无事,用javascript写了一个简单的轨迹动画
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- c#返回值的理解
我感觉没什么用...就是在别的地方用的时候可以直接以Add(a,b)这样的方式赋值就行,不用再用c这个中间变量去接收了,希望有一天有大佬能给我讲讲设置返回值有什么好处
- easyui分页的使用方法
使用: $("#tt").datagrid("getPager").pagination(option); 例子: $("#tb").dat ...
- HDU 2048 神、上帝以及老天爷(错排概率问题)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2048 神.上帝以及老天爷 Time Limit: 2000/1000 MS (Java/Others) ...
- HDU 1024 Max Sum Plus Plus(m个子段的最大子段和)
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1024 Max Sum Plus Plus Time Limit: 2000/1000 MS (Java/ ...
- HDU 2097 sky数 (进制转化)
传送门: Sky数 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...