Presentation is loading. Please wait.

Presentation is loading. Please wait.

IPv6原理与应用 技术培训中心 2010-03.

Similar presentations


Presentation on theme: "IPv6原理与应用 技术培训中心 2010-03."— Presentation transcript:

1 IPv6原理与应用 技术培训中心

2 课程内容 一、IPv6概述 二、IPv6寻址 三、 IPv6报文结构 四、IPv6基本协议 五、IPv6路由协议 六、IPv6过渡技术

3 课程议题 一、IPv6概述

4 需要升级IPv4吗? 以IPv4为核心技术的Internet获得巨大成功 IPv4地址资源紧张 移动和宽带技术的发展要求更多的IP地址
CIDR, VLSM , NAT, 混合地址等技术只能暂时缓解IPv4地址紧张,但无法根本解决地址问题

5 为什么要升级到IPv6? IETF在20世纪90年代提出下一代互联网协议-IPv6 IPv6成为公认的IPv4的升级版本
最本质的改进——几乎无限的地址空间 其他(锦上添花): 简单是美——简化固定的基本报头,提高处理效率 扩展为先——引入灵活的扩展报头,协议易扩展 即插即用——地址配置简化,自动配置 贴身安全——网络层的IPSec认证与加密,端到端安全 Qos 考虑——新增流标记域 .。。。。。 由于具有几乎无限的地址空间,IPv6已经成为公认的IPv4的升级版本。 在改进地址空间的同时,IPv6相对于IPv4,还做了其他的改进 。。。。。。 IPv6拥有十分丰富的地址资源。汲取了IPv4地址资源不足的教训,IPv6的一下 子将地址长度扩大了4倍,即从IPv4的32bit地址,扩展到了IPv6的128bit地址。 IPv6的地址空间采用了层次化的地址结构,利于路由快速查找,同时可以借助 路由聚合,有效缩减IPv6路由表尺寸 利用扩展IP地址空间的机会,对IP协议其他部分也作一些优化,将IP协议全面 的升级: IPv6对报头作了简化,以提高处理效率,如取消了IP头的校验和域 IPv6定义了多种扩展报头,这极大增加了IPv6的灵活性,同时为以后支持新的 应用提供了良好的扩展性 IPv6引入自动配置以及重配置技术,对于地址等信息实现自动增删更新配置, 提高IPv6的易管理性 IPSec最初就是为IPv6设计, IPv6将IPSec作为IPv6的标准扩展头实现,提供了 端到端的安全特性 为提高IP在Qos的先天不足,IPv6报头中增加流标签域,便于映射流概念 利用IPv6本身特点,Mobile IPv6更好的解决IP移动性,相比Mobile IPv4有较大 改进

6 课程议题 二、IPV6寻址

7 IPv6地址表示 2001:3700:1100:0001:d9e6:0b9d:14c6:45ee 192.168.1.10 128位
通过8个由冒号分开的分段来表示 以16进制书写每个分段 实例: 2001:3700:1100:0001:d9e6:0b9d:14c6:45ee IPv6与IPv4地址

8 IPv6地址压缩 Fe80:0210:1100:0006:0030:a4ff:000c:0097
每个16-位分段中的开头的零都可以压缩 实例: 成为: Fe80:0210:1100:0006:0030:a4ff:000c:0097 Fe80:210:1100:6:30:a4ff:c:97

9 IPv6地址压缩 Ff02:0000:0000:0000:0000:0000:0000:0001 Ff02::1
一个或者多个临近的16-位分段中所有零的都可以用双冒号表示(::) 实例: 成为: 但是… Ff02:0000:0000:0000:0000:0000:0000:0001 Ff02::1

10 IPv6地址压缩 2001:0000:0000:0013:0000:0000:0b0c:3701 2001::13:0:0:b0c:3701
双冒号只能使用一次 实例: 可以变为: 或: 但是不能变成: 2001:0000:0000:0013:0000:0000:0b0c:3701 2001::13:0:0:b0c:3701 2001:0:0:13::b0c:3701 2001::13::b0c:3701

11 嵌入的IPv4地址 ::13.1.68.3 ::ffff:129.144.52.38 fe08::5efe:172.24.240.30
一些转换机制将IPv4地址嵌入到IPv6地址中 嵌入的IPv4地址以带点的十进制数表示 实例: :: 内嵌IPv4地址的IPv6地址 这是在IPv4向IPv6过渡机制中特有的IPv6表示方法,分为两类: 1、 IPv4兼容的IPv6地址: 用于在IPv4网络上面建立自动隧道,以传输IPv6数据包。 该地址高96bits为0,后32bits为IPv4地址。 例如:0:0:0:0:0:0: 或者 :: 由于应用IPv4兼容的IPv6地址的自动隧道技术已经废除,所以该地址已经没有实际应用意义。 2、 映射IPv4的IPv6地址: 仅用于拥有IPv4和IPv6双栈节点本地范围,仅在节点内部使用,不会出现在节点外部。该地址高80bits为0,接着16bits为1,后32bits为IPv4地 址,例如:0:0:0:0:0:FFFF: 或者::FFFF: isatap隧道 ::ffff: fe08::5efe:

12 IPv6地址组成 192.168.1.10/24 IPv6地址 = 前缀 + 接口标识 前缀:相当于IP v4地址中的网络ID
前缀长度用“/xx”来表示 2001:410:0:1::45ff /60 /24

13 接口ID生成 接口ID可以根据IEEE EUI-64规范将48比特的MAC地址转化为64比特的接口ID
设备自动生成,不需人为干预 接口ID也可由设备随机生成(RFC3041) 手工配置

14 MAC到EUI-64转换实例 MAC 地址:0000:0b0a:2d51 二进制: 在公司-ID和节点-ID之间插入fffe:
设置U/L 位为1: 生成EUI-64地址:0200:0bff:fe0a:2d51

15 IPv6地址类型 单播地址(Unicast Address) 标识一个接口,目的为单播地址的报文会被送到被标识的接口
组播地址(Multicast Address) 标识多个接口,目的为组播地址的报文会被送到被标识的所有接口 任播地址(Anycast Address) 标识多个接口,目的为任播地址的报文会被送到最近的一个被标识接口,最近节点是由路由协议来定义的 IP V6没有定义广播地址 IPv6使用所有节点的组播 IPv6单播地址分类(根据地址范围): 1)可聚集全局单播地址:全球唯一 2)链路本地地址:链路范围内唯一,用于单链路上自动地址配置和邻居发现,以及无路由器的LAN内部通信 3)网点本地地址:网点范围内唯一,用于那些尚未与Internet连接的组织内部网,这些地址不需要注册,而且它们的格式使得在连接到全球Internet时,用可聚集的全球单播传送地址替换非常简单 4)自环地址:0:0:0:0:0:0:0: 相当于IPv4中的 5)IPv4兼容的IPv6地址: 0:0:0:0:0:0:a.b.c.d (96位0+IPv4地址),用于自动隧道;IPv4映射的IPv6地址: 0:0:0:0:0:FFFF:a.b.c.d ,用于SIIT 全局单播地址分配过程是:首先由世界范围地址分配组织把地址分块,不同地址块分配给骨干网上不同的ISP,各ISP再对其进行进一步划分。 IPV6组播地址:组播地址空间更大,有组播地址范围的概念 标志字段(Flgs)的4位为000T,其中T=0表示永久分配(公认)的组播传送地址,由全球Internet地址编号权威机构(IANA)进行分配;T=1表示非永久临时分配的组播传送地址。 flags:代表该多播组是否永久分配 scope:1 节点本地范围 2 链路本地范围 3 网点本地范围 E 全球范围 所有节点的组播传送地址:FF01:0:0:0:0:0:0:1 FF02:0:0:0:0:0:0:1 所有路由器的组播传送地址:FF01:0:0:0:0:0:0:2 FF02:0:0:0:0:0:0:2 FF05:0:0:0:0:0:0:2 请求节点的组播传送地址: FF02:0:0:0:0:1:FFXX:XXXX 邻居发现协议使用

16 单播地址 IPv6单播地址分类: 全局单播地址 例 2001:A304:6101:1::E0:F726:4E58
站点本地地址 例 FEC0::E0:F726:4E58 以FEC0::/10为前缀,应用范围局限在一个站点内使用,类似于IP v4中的私有地址(RFC1918) 链路本地地址 例 FE80::E0:F726:4E58 以FE80::/10为前缀,用在单一链路上,只能在连接到同一链路的节点之间使用,不能跨路由器。 由设备自动生成。 IPv6单播地址包括,: 全局单播地址 (Aggregatable global unicast address) 站点本地地址 (Site-local address) 以FEC0::/10为前缀,接口id可由EUI-64生成。 链路本地地址 (Link-local address) 当一个节点启动IPv6协议栈时,节点的每个接口会自动配置一个链路本地地址。这种机制使得两个连接到同一链路的IPv6节点不需要做任何配置就可以通信 。链路本地地址有一个固定的前缀FE80::/10,这解决了前缀部分的问题,获取IPv6接口ID的最常用的方法,是使用EUI-64地址。邻居发现、无状态地址自动配置就使用了链路本地地址。 未指定地址:全0地址 :: :0:0:0:0:0/128 或者 :/128 该地址可以表示某个接口或者节点还没有IP地址,可以作为某些报文的源IP地址(比如作为DAD报文的源IP)。源IP地址是 : : 的报文不能做3层转 回环地址::: :0:0:0:0:1/128 或者::1/128 该地址不属于分配给任何物理接口。通常用来作为一个虚接口的地址(loopback接口)。实际发送的数据包中不能使用环回地址作为源IP或者目的IP。 兼容ipv4地址:主要用在IPv4向IPv6的迁移过渡期,一般有IPv4兼容地址、IPv4映射地址、6to4地址三类。 IPv4兼容地址:可表示为0:0:0:0:0:0:w.x.y.z或::w.x.y.z(前面96位为零,w.x.y.z是以点分十进制表示的IPv4地址),用于运行IPv4和IPv6两种协议的节点进行通信。Ipv6 over ipv4隧道基本没用了。Nat-pt中也用该地址。已经停止使用。 IPv4映射地址:又一种内嵌IPv4地址的IPv6地址,可表示为0:0:0:0:0:FFFF:w.x.y.z或::FFFF:w.x.y.z。这种地址被IPv6网络中的节点用来标示IPv4网络中的节点。 6to4地址:用于运行IPv4和IPv6两种协议的节点在IPv4路由架构中进行通信。6to4是通过IPv4路由方式在主机和路由器之间传递IPv6分组的动态隧道技术 唯一本地地址 由于本地站点地址的废除,引入了新的本地站点范围地址作为替代,Unique Local Address,简称为 Local IPv6 address (RFC4193)。 Fc00::/7

17 可聚合全局单播地址 使用类似CIDR的分级体系,有利于路由聚合 全球路由前缀使用类似CIDR的分级体系 每个人从公司到居民都得到48-位前缀
每个人都得到16-位子网空间 也有例外规模非常大的用户及移动节点

18 全局单播地址 前缀2001::/16 公有地址 前缀2002::/16用于过渡机制(6to4隧道)的地址 。。。。。中间未指定 前缀3ffe::/16用于6bone测试

19 组播地址 组播地址有特定的前缀来标识,其最高位前8位为1 FF00::/8 Flag 为0 永久分配的 1临时分配的
范围(scop)用来限制组播数据流在网络中发送的范围。该字段占4比特 0:预留; l:节点本地范围; 2:链路本地范围; 5:站点本地范围; 8:组织本地范围; E:全球范围; F:预留。 最重要的字段是最后的组ID(group-ID)字段。该字段长度为112位,用来标识组播组,而112位最多可以生成2112个组ID . RFC2373并没有将所有的112位都定义成组标识,而是建议仅使用该112位的最低32位组ID,将剩余的80位都置0。 IPv6有一些特殊的组播地址,这些地址有特别的含义 FF01::1(节点本地范围所有节点组播地址); FF02::1(链路本地范围所有节点组播地址); FFOl::2(节点本地范围所有路由器组播地址); FF02::2(链路本地范围所有路由器组播地址); FF05::2(站点本地范围所有路由器组播地址)。 在IPv6组播地址中,有一种特别的组播地址,叫做Solicited-node地址(请求节点组播地址)。Solicited-node地址是一种特殊用途的地址.主要用于重复地址检测和获取邻居节点的链路层地址。 Solicited-node地址由前缀FF02::1:FF00:0/l04和单播地址的最后24位组成。一个单播地址对应一个Solicited-node地址。Solicited-node地址受限范围为本地链路范围。

20 一些众所周知的组播地址

21 Solicited-Node组播地址 IPv6中特有的组播地址 Solicited-Node组播地址生成过程 被请求节点组播地址
用于DAD(重复地址检测)和获取本地链路上邻居节点的链路层地址(地址解析)等 Solicited-Node组播地址生成过程 配置了单播地址后会自动生成 前缀FF02:0:0:0:0:1:FF 104位固定 接口ID的后24位:XX:XXXX 24位哪里来? FF02:0:0:0:0:1:FFXX:XXXX 24位由单播地址的后24位自动生成, 一个设备配置了单播地址就自动加入这个组

22 IPv6组播MAC FF02::1 33:33:00:00:00:01 IPv6组播对应MAC地址有两部分组成:
固定的组播MAC前缀:33:33 + 组播IP地址后32bits。 实例: FF02::1 33:33:00:00:00:01

23 任播地址 用于标识一组接口 目标地址为任播地址的数据报将发送给最近的一个接口 用来在多个主机或者节点提供相同服务时提供冗余和负载分担功能
并没有特定的任播地址,它是从单播地址中来的 除ff以外的地址都是单播地址 适合于One-to-One-of-Many(一对一组中的一个)的通信场合。接收方只需要是一组接口中的一个即可,如移动用户上网就需要因地理位置的不同而接入离用户最近的一个接收站,这样才可以使移动用户在地理位置上不受太多的限制。 并没有特定的任播地址,它是从单播地址中来的。 IPv4中MSDP的Anycast RP应用就是一种任播模型。 IPv4广播地址:全网(255。255。255。255),网段广播(10。255。255。255) IPv6中没有广播地址的类型。但可用组播地址实现在不同范围广播FF0X:0:0:0:0:0:0:1 IPv6引入新的类型——泛播地址: IPv6任播地址是被分配给一组接口(这些接口可以属于不同的节点)。发往一个任播地址的分组通过寻路被发往一个具有该地址的“最近”接口。这里的“最近”指的是寻路协议意义上的最近。 任播地址取自单播地址空间,配置时需要明确指明 任播地址可用于标识特定ISP的路由器集合;标识特定子网相连的路由器的集合 ;或者标识能到达特定寻路区域的路由器集合 IPv4为缓解地址短缺,使用私有地址,保留指定前缀作为私有地址,如 私有地址和公有地址实际是属于不同范围的地址 IPv6赋予地址范围的概念。每个单播地址可以属于三种范围的一种: Link-local scope ,Site-local scope , Global scope。 其中site-local地址类似于IPv4的私网地址。在IPv6网络初期,可以使用site-local地址建立IPv6岛屿,以后需要的话可以平滑升级到global地址 组播地址的范围除了三种之外,还有interface-local, subnet,admin, organization范围 为了区分同一范围的不同区域,需要额外的区域索引来唯一标识接口,类似VPN ID 如: fe80::1234% fec0::5678% ff02::9abc% ff08::def0% 或fe80::1234%ne fec0::5678%ether2 IPv6地址只能在本范围内用,不能跨范围

24 IPv6地址分类 单播地址 组播地址 任播地址 -全球单播地址 -本地站点地址,格式为FEC0::/10
以FF开头 与单播地址使用相同的地址空间,

25 主机具有的IPv6地址 接口的link-local地址 被分配的单播/任播地址 环回地址 ::1/128
环回地址 ::1/128 All-node组播地址 FF01::1 单播/任播对应的被请求节点组播地址 主机申请加入的其他组播组地址

26 三层接口具有的IPv6地址 路由器接口除了具有主机的IPv6地址外,还具有: All-routers 组播地址 FF01::2
其他路由器需要加入的组播组地址 子网-路由器任播地址 其他配置的任播地址

27 IPv6地址在锐捷交换机上的配置 interface GigabitEthernet 2/1 no switchport ipv6 enable ipv6 address 2001:250:4000:4000:1::1/64 Show ipv6 interface 接口编号 查看接口的IPv6地址 IPv6 enable 使能接口的IPv6协议,可选,配置了IPv6地址后会自动使能

28 IPv6地址分配 一般我们获取的IPv6地址为48位,假设我们分配到如下一个IPv6前缀: 2001:DA8:23A::/48
2001:DA8:23A:XXXX::/64 XXXX=0000~~FFFF 如果划分为/64位的IPv6地址,则可以有2^16=65536个子网 每个业务网或者互联链路都可以分配/64位的前缀

29 IPv6地址分配 终端主机一般用无状态地址自动配置技术来进行地址配置,无须DHCP服务器分配IPv6地址
根据EUI-64规范,主机ID只能是64位,所以把路由器连接主机的业务地址网段都规划为64位前缀 为便于扩展及统一,一般把路由器之间的互联地址也规划为64位前缀 网段地址要连续,便于聚合,并尽量使IPv6地址与原来的IPv4地址有一定对应关系,要预留做为Loopback地址的网段

30 课程议题 三、IPV6报文结构

31 IPv4与IPv6 报头结构 相对于IP V4,IP V6报头更为简洁。直观上来说,ipv4头部缺省20个字节,ipv6头部40个字节。Ipv6头部的字段更少。 版本:该字段规定了IP协议的版本,其值为6。 流量类型:该字段功能和IPv4中的服务类型功能类似,表示IPv6数据包的类或优先级。 流标签:该字段是新增的。用来标识这个数据包属于源节点和目标节点之间的一个特定数据流。提供设备的效率。 有效载荷长度:该字段表示IPv6数据包有效载荷的长度。有效载荷是指紧跟IPv6报头的数据包的其他部分(即扩展报头和上层协议数据单元)。该字段长度为16位。那么该字段能表示最大长度为65535字节的有效载荷。 下一个报头(Next Header):该字段定义了紧跟在IPv6报头后面的第一个扩展报头(如果存在)的类型,或者上层协议数据单元中的协议类型。相对于IPV4,IPV6取消了选项,而是用更为灵活的扩展报头来实现一些可选功能。 跳限制(Hop Limit):类似于IPv4中的Time to Live字段。它定义了IP数据包所能经过的最大跳数。每经过一个路由器,该数值减去1,当该字段的值为0时,数据包将被丢弃。该字段长度为8位。 源地址(Source Address):表示发送方的地址,长度为128位。 目的地址(Destination Address):表示接收方的地址,长度为128位。 相对于ipv4 ,IPv6中去掉了几个在IPv4中存在的字段:报头长度、标识、标志、分段偏移量、报头校验和、选项和填充。 IPv6不使用选项字段,而是用扩展字段,基本IPv6报头长度是固定的40个字节 在IPv6网络中,中间路由器不再处理分片,而只在产生数据包的源节点进行分片。去掉分片相关的字段也就省却了中间路由器为处理分片而耗费的大量CPU资源。 第2层、第4层都有校验和,因此第3层校验和是冗余的,浪费中间路由器的资源

32 IPv4与IPv6报文结构

33 IPv6报文结构 IPv6数据包由一个基本报头加上0个或多个扩展报头再加上上层协议单元构成。

34 IPv6扩展报头 IPv6将一些IP层的可选功能放在IPv6的扩展头部中 主要的扩展报头:
Hop-by-Hop Options header Destination Options header Routing header Fragment header Authentication header Encapsulating Security Payload header 在典型的IPv6数据包中,并不是每一个数据包都包括所有的扩展报头。只有需要该扩展报头对应的功能,发送主机才会添加相应扩展报头 逐跳选项报头(Hop-by—Hop Options Header) 目标选项报头(Destination Options Header) 路由报头(Routing Header) 分段报头(Fragment Header) 认证报头(Authentication Header) 封装安全有效载荷报头(Encapsulating Security Payload Header)

35 IPv6扩展报头的优势 IPv4 选项缺点 IPv6扩展报头的优势 IPv4选项对路由器转发性能产生负面影响 很少使用
路由器可以不考虑这些选项(逐跳选项除外) 对路由器转发性能无负面影响 易于通过新的扩展报头进行功能扩展 把ipv4的option功能转变为由扩展头部实现 如果在IPv4的报头中包含了选项,每个中间路由器都必须检查这些选项是否存在,如果存在,就必须处理它们。这种设计方法会降低路由器转发IPv4数据包的效率。为了解决这个问题,在IPv6中,相关选项被移到了扩展报头中。中间路由器就不需要处理每一个可能出现的选项(在IPv6中,每一个中间路由器必须处理惟一的扩展报头是逐跳选项扩展报头),这种处理方式提高了路由器处理数据包的速度,也提高了其转发性能。

36 IPv6扩展包头处理 扩展报头不由数据包传输路径上的任何节点检查或处理 只有逐跳扩展报头由数据包传输路径(包括源和目的)上的每个节点处理
扩展报头严格根据它们在数据包中出现的顺序处理

37 IPv6扩展报头

38 课程议题 四、IPV6基本协议

39 小节内容 一、ICMPv6 二、无状态地址自动获得 三、 DAD 重复地址检测 四、邻居发现协议

40 一、ICMPv6协议 ICMPv6 是IPv6的基础协议之一 融合了IPv4中ICMP、IGMP、ARP协议的功能
邻居发现、PathMTU发现机制、无状态地址自动配置、重复地址检测均是基于ICMPv6协议报文实现的 ICMPv6的Next Header值为58 ICMPv6由ICMPv4而来,做了一部分的改动,但报文基本格式和用法是一样的

41 ICMPv6协议——报文格式 ICMPv6 报文格式 (RFC 2463) Type:ICMPv6消息的类型
Code:代码,取决于Type值,可将某一类型的ICMPv6消息细分为更具体的用途 Checksum:校验和,校验的部分包括了ICMPv6数据和IPv6的包头部分(IPv6包头不含校验) Data:ICMPv6数据 ICMPv6消息具备统一的格式,根据消息中的Type字段来区分消息类型,根据Code区分消息扩展内容。ICMPv6消息共分为2类: 1、错误类消息,类型字段最高位为0,取值范围从0到127,用于诊断通信中遇到的错误; 2、信息类消息,类型字段最高位为1,取值范围从128到255,用于基本的网络管理。

42 ICMPv6协议——报文类型 报文类型 ICMPv6 Type ICMPv6 错误消息,RFC2463 ICMPv6通告消息,RFC2463
1 目的地不可达 2 数据包过大 3 超时(包括Hop Limit超时,和分片重组超时) 4 参数问题 ICMPv6通告消息,RFC2463 128 Echo Request 129 Echo Reply ICMPv6 Type

43 ICMPv6协议——报文类型 报文类型 用于邻居发现的ICMPv6 消息,RFC2461
路由器请求 路由器公告 邻居请求 邻居公告 重定向 用于多播侦听发现协议(MLDv1-RFC2710,v2-RFC3810) 多播侦听查询 多播侦听报告 多播侦听退出 多播侦听报告v2 Ra rs -----无状态地址自动获得 Na ns ----重复地址检测 邻居发现

44 二、IPv6地址配置方法 手工配置 自动配置 有状态地址自动配置(DHCPv6) 无状态地址自动配置
Ipv6过长,强调自动配置,尤其是主机。由IPv6协议栈自动生成本地链路地址 这里的地址配置指的是全球单播地址之类的 Ipv6地址指定给接口(链路)而不是节点,每个接口可以同时拥有多个ipv6地址。 Ipv6地址配置对象:主机和网络设备 网络设备和服务器手工配置 主机地址希望能够实现自动配置,两种自动配置技术:有状态自动配置与无状态自动配置。由ra决定是有状态还是无状态 地址配置要解决如何获得前缀和接口ID

45 无状态地址自动配置协议——其他地址 非Link-local地址的自动配置,应用于主机 主机需要从路由器公告获取前缀信息
接口ID通常使用EUI-64格式生成 需要作重复地址检测 让路由器自己自动配置一个全球单播地址?前缀从哪来呢?

46 无状态自动配置—前缀获得 主机和路由器在接口初始化时都会自动生成 Link-local地址
主机发送router Solicitation报文 路由器回应Router Advertisement报文 主机获得前缀及其它参数 路由器周期性地向外发送RA报文 2001:410::1/64 RS报文 Link-local地址 FE80::ABCD 一个主机的IPv6地址由前缀和接口ID组成,接口ID的长度固定是64位,可以由 48位MAC地址自动生成64位Interface ID。 IPv6前缀的实际作用是标识主机与路由器之间的网络。主机需要的这个前缀就是路由器接口的前缀。为了自动获得这个前缀,只要在路由器和主机之间运行一个协议即可。使用NDP协议的Router Solicitation恳求和Router Advertisement 通告消息。前者用于发现路由器,并促使路由器发送Router Advertisement消息通报前缀信息 RA源地址:目的地址:FF02::1 链路本地范围所有节点组播地址 RS的源ip是由设备自动产生的link-local地址,目标ip FF02::2 链路本地范围所有路由器组播地址 RA(ICMP 134) 接口自动产生link-local地址,具备IP连接能力 RS 133 RA中包含前缀、生存期、缺省网关等信息 接口初始化 接口产生"tentative"地址 对“tentative”地址进行地址重复检测(DAD) 缺省情况下ra 路由通告关闭,在接口下使用 no ipv6 nd suppress-ra 同时使用dhcp和无状态,无状态优先吗?由路由器通告通过置位决定 源:FE80::ABCD 目的:FF02::2 RA报文( 前缀为2001:410) 2001:410::ABCD 源:FE80::EFGH 目的:FF02::1

47 接口ID生成 前缀长度不小于64位 接口ID可以根据IEEE EUI-64规范将48比特的MAC地址转化为64比特的接口ID
设备自动生成,不需人为干预 前缀长度不小于64位

48 配置实例 interface GigabitEthernet 2/1 no switchport ipv6 enable ipv6 address 2001:10::1/64 no ipv6 nd suppress-ra

49 配置实例 C:\Documents and Settings\test>ipconfig Windows IP Configuration Ethernet adapter 本地连接: Connection-specific DNS Suffix . : IP Address : Subnet Mask : IP Address : 2001:10::e586:f3ae:802e:650e IP Address : 2001:10::2d0:f8ff:fe00:1 IP Address : fe80::2d0:f8ff:fe00:1%5 Default Gateway : fe80::21a:a9ff:fe08:9f0b%5

50 三、重复地址检测(DAD) 重复地址检测(Duplicate Address Detection)确保地址的唯一性,类似于IPv4的无故ARP 任何地址都要做DAD 地址配置给接口前称为“tentative(不确定)地址”,暂时不可用 经过DAD检测后,没有冲突后可以使用,如果有冲突,则不能分配给接口使用 NS( ICMP 135) 一个地址在通过重复地址检测之前称为“tentative地址”,试验地址。接口不能使用这个试验地址进行单播通讯,但是会加入和tentative地址所对应的Solicited-Node组播组 重复地址检测:节点向一个自己将使用的tentative地址所在的组播组发送一个Neighbor Solicitation,如果收到某个其他站点回应的Neighbor dvertisement,就证明该地址已被网络上使用,节点将不能使用该tentative地址通讯。类似于免费arp

51 X Duplicated! 重复地址检测 重复地址检测(DAD) 使用NS和NA交互的过程 ICMP Type = 135 Src = ::
新配置地址 2000::1 2000::1 ICMP Type = 135 Src = :: Dst = FF02::1:FF00:1 Tgt Adr = 2000::1 Query = Anyone has this address? NS NA ICMP Type = 136 Src = 2000::1 Dst = FF02::1 Tgt Adr = 2000::1 Answer = I’ve this address NA中应该使用FF02::1,RFC2461中的7.2.4节有规定

52 重复地址检测(DAD) 获得不确定地址的主机发送NS报文( Neighbor Solicitation),目标IP是该临时地址所对应的solicited-node组播地址。 如果收到NA报文(Neighbor Advertisement)响应,则该临时地址不可用 如果无人响应,则认为没有地址冲突发生,该地址正式可用 NS 源地址是:未指定地址(unspecified address),目的地址:请求节点组播地址solicited-node 1、NS接收者如果发现其中的Target域中包含的地址对它而言是一个tentative地址,那么它就知道自己的这个tentative地址是重复的,从而放弃使用这个地址作为接口地址(不会发送以这个地址为Target的Neighbor Advertisement)。 2、NS接收者如果发现其中的Target域中包含的地址对它而言不是一个tentative地址(即是一个已经正常使用的地址),那么它就会向Target所在的Node-Solicited组播组发送一个Neighbor Advertisement,该消息中的Target域会包含收到的Solicitation中的Target地址。这样,Solicitation发起者收到这个消息后就会发现它的tentative地址是重复的,从而弃用该地址。 IPv6节点一般是在尝试一定次数(这是一个可配置参数)以后,如果没有收到相关的Neighbor Advertisement,那么就启用该地址。 NS报文 NA报文

53 四、邻居发现协议 ND 使用ICMPv6报文实现以下功能 无状态自动配置 重复地址检测(DAD) 地址解析 跟踪邻居的状态 路由器重定向
邻居发现协议NDP(RFC2461)是IPv6协议体系中一个重要的基础协议,它定义了使用ICMPv6报文完成地址解析(取代arp)、跟踪邻居的状态(邻居维持,发现邻居不可达),前缀通告(无状态地址自动配置)、重复地址检测,路由器重定向等。 使用5种ICMP报文,路由器请求、路由器公告、邻居请求、邻居公告、重定向。 ICMP 133 RS RA NS NA 重定向 RS:主机发送RS期望路由器立即发送RA而不必等待下一次公告周期。 RA:路由器公告自己的存在,并且宣布自己的参数。周期发送或者由请求触发。包含前缀、跳数限制等。 NS:节点发送以获取邻居链路层地址(类似ARP)或者判断邻居可达性,也用于重复地址检测(类似免费ARP)。 NA:对于邻居请求的回应,节点链路层地址改变时也会发送公告来宣布。 重定向:路由器通告设备更优的下一跳节点。

54 地址解析 IPv6取消了ARP协议。 通过邻居请求(NS)和邻居通告(NA)报文来解析三层地址对应的链路层地址。
邻居请求NS使用组播,比ARP效率高 邻居公告NA返回则直接使用单播 地址解析在三层完成,针对不同的链路层协议可以采用相同的地址解析协议 可以使用三层的安全机制(例如IPSec)避免地址解析攻击 使用组播方式发送请求报文,减少了二层网络的性能压力(被请求节点请求组播)

55 地址解析 PC1 PC2 NS报文 NA报文 Source Address:2001::1 Link layer Address:MAC_A
2001::1/64 MAC_A 2001::2/64 MAC_B PC1 NS报文 Source Address:2001::1 Link layer Address:MAC_A Destination Address:FF02::1:FF00:2 PC2 被请求节点组播地址 NA报文 Source Address:2002::2 Link layer Address:MAC_B Destination Address FF02 ::1:FF00:2

56 地址解析 发送主机在接口上发送NS报文,该报文的目的地址为目标IP地址所对应的请求节点组播地址(Solicited-node),NS报文中包含了自己的链路层地址 目标主机收到NS报文后,就会了解到发送主机的IP地址和相应链路层地址 目标主机向源发送主机发送一个邻居通告报文(NA),该报文中包含自己的链路层地址 相关信息保存在邻居缓存中。 Show ipv6 neighbor Show ipv6 neighbor 邻居的ipv6地址 生存期 链路层地址 状态 接口 每个邻居都有相应的状态,状态之间可以迁移。 5种状态:INCOMPLETE未完成、REACHABLE 可达、STALE陈旧、DELAY延迟、PROBE探查。 如果邻居表有问题,可以静态添加。 Ns可以验证邻居可达性 单播 No ipv6 directs 禁止重定向

57 邻居表 3760#sh ipv6 neighbors IPv6 Address Linklayer Addr Interface
2001:: a.a908.9f0b GigabitEthernet 0/1 2001:10:: a.a908.9f0b VLAN 10 fe80::21a:a9ff:fe07:2b a.a907.2b13 GigabitEthernet 0/1 fe80::21a:a9ff:fe08:9f0b 001a.a908.9f0b GigabitEthernet 0/1 fe80::21a:a9ff:fe08:9f0b 001a.a908.9f0b VLAN 10

58 发现路由器 链路上的路由器会定期的发送RA 收到RA的主机将加入默认路由器列表中 收到RA的路由器将检查RA内容的一致性
ICMP Type = 134 Src = router link-local address Dst = all-nodes multicast address (FF02::1) Data = Router lifetime, Cur hop limit, Autoconfig flag, options(prefix、MTU)...... 收到RA的主机将加入默认路由器列表中 收到RA的路由器将检查RA内容的一致性

59 IPv6邻居发现协议 ——发现路由器 主机接口初始化时发RS,路由器回应RA 注:回复的RA可以直接单播给请求的主机,也可以多播到所有节点
ICMP Type = 133 Src = self interface address Dst = all-router multicast address (FF02::2) 注:回复的RA可以直接单播给请求的主机,也可以多播到所有节点

60 PathMTU协议 PMTU的实现过程 此时的 PathMTU=1400 OK,放行 超重,回去减肥 OK,放行
Too Big MTU=1400 OK,放行 超重,回去减肥 OK,放行 Packet Size=1500 Packet Size=1400 小结:路由器转发时,将数据包的大小和出接口的MTU比较,不大于MTU就可以通过,否则就给源节点发送ICMPv6的数据包过大消息,并告知MTU的值 此时的 PathMTU=1400

61 PathMTU协议 只有数据包大于路径上路由器的转发接口的MTU时,才会收到数据包过大消息,产生PathMTU
PathMTU最小为1280bytes(IPv6要求链路层所支持的MTU最小为1280bytes) 最大PathMTU由链路层决定,如隧道,可以支持很大的MTU,在Ethernet上,最大为1500bytes

62 课程议题 五、IPV6路由协议

63 1、概述 IPv6报文转发: 根据目的地址获得下一跳三层地址和发送接口 通过地址解析获取下一跳三层地址对应的链路地址
邻居缓存:类似于ARP表,存储同一链路上邻居二三层地址之间的对应关系 IPv6报文转发:如何建立、维护与利用这两个数据结构

64 IPv6路由 IPv6路由器报文转发与IPv4类似: 与IPv4类似,IPv6路由可能来自于 数据转发以IPv6路由表为基础
链路层直接发现 静态路由 动态路由协议:RIPng OSPFv3 IS-IS BGP Ipv4的路由协议已经非常成熟了,现在就是如何向ipv6迁移的问题

65 静态路由 配置命令 ipv6 route ip-address /prefix-length interface-name |nexthop-address 缺省路由使用::/0表示 查看路由 show ipv6 route 测试 ping ipv6 ip-address

66 静态路由配置 SWB SWA Giga 2/7 Giga 2/24 Giga 0/1 Giga 0/24 1001::1/64
1001::2/64 2001::1/64 3001::1/64 SWA SWB Interface giga 2/7 no switchport Ipv6 enable Ipv6 address 2001:1/64 Interface giga 2/24 Ipv6 address 2001:10::1/64 Ipv6 route 2001:20::/ ::2 Interface giga 0/ 24 no switchport Ipv6 enable Ipv6 address 2001:2/64 Interface giga 0/1 Ipv6 address 2001:20::1/64 Ipv6 route 2001:10::/ ::1

67 静态路由 S # sh ipv6 route IPv6 routing table name is Default(0) global scope - 11 entries Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary O - OSPF intra area, OI - OSPF inter area, OE1 - OSPF external type 1, OE2 - OSPF external type 2 ON1 - OSPF NSSA external type 1, ON2 - OSPF NSSA external type 2 [*] - NOT in hardware forwarding table L ::1/128 via Loopback, local host C 2001::/64 via GigabitEthernet 0/1, directly connected L 2001::1/128 via GigabitEthernet 0/1, local host C 2001:10::/64 via VLAN 10, directly connected L 2001:10::1/128 via VLAN 10, local host S 2001:20::/64 [1/0] via 2001::2, GigabitEthernet 0/1 L FE80::/10 via ::1, Null0 C FE80::/64 via GigabitEthernet 0/1, directly connected 。。。。。。。

68 RIPng RIPng与RIPv2运行机制基本相同。 RIPng具备如下特性 RIPng是距离矢量路由协议,被UDP封装(端口号为521)
RIPng报文的目的地址为FF02::9,源地址为link-local地址 RIPng利用水平分割与无穷大计数来减少环路发生可能性 RIPng的安全控制依靠IPv6的扩展头ESP或者AH

69 OSPFv3 OSPFv3是一个全新的版本,RFC2740 OSPFv3在基本运行机制上和算法与OSPF V2相同 数据包和LSA格式不同

70 基于链路 OSPFv2是基于子网运行的。 OSPFv3是基于链路运行的。 将拓扑描述与前缀描述分开,独立于网络协议,容易扩展适应各种协议
同一链路上的所有节点同处于一个IP子网内。 邻居关系建立的前提之一是相连接口必须处于同一IP子网内。 OSPFv3是基于链路运行的。 同一链路上的两个节点不必具有相同的前缀 将拓扑描述与前缀描述分开,独立于网络协议,容易扩展适应各种协议 OSPFv2是专为IPv4而设计的。拓扑描述和前缀描述大量使用IPv4地址的网络信息,如描述一个link的link id就可能会含有这个link的IP地址。OSPFv3象IS-IS一样,试图做成一个可能支持多协议的路由协议,即试图将拓扑描述与前缀描述分开(这样要支持另外一种协议,仅需修改前缀描述部分)。 在IPv6中强调“链路(link)”的概念。在IPv6中,一个链路上可以分配多个IP子网,也就是IPv6前缀。和IPv4中不同的是,同一个链路上的两个节点即使不具有相同的IPv6前缀,也可以直接通过这个链路通信。 OSPFv2是基于子网运行的。在OSPFv2中,两个OSPF路由器形成邻接关系的前提之一就是两者相连的接口必须处于同一个IP子网内。

71 编址性语义被取消 OSPFv2协议的数据格式定义与IP协议密切相关,协议包和LSA中的许多字段都是来自于网络上的某个IP地址。
OSPFv3中,IPv6地址除了在LSA中出现之外,不再出现在OSPF协议包中。 OSPFv3里的Router ID,Area ID和LSA的Link State ID仍然为32位,只作编号使用。 OSPFv2协议具有编址性语义是指它的数据格式定义的与IP协议密切相关,协议包和LSA中的许多字段都是来自于网络上的某个IP地址。 为了确保独立于网络协议,便于未来的扩展,在OSPFv3中,IPv6地址除了在LSA中出现之外,不再出现在OSPF包中。LSA中所出现的这些地址信息也仅仅是作为载荷信息,而不做其它任何特别的用途。 OSPFv3的Router-LSA和Network-LSA仍然存在,但是不再包含网络地址,而只是用于传达网络拓扑信息。拓扑的计算不再依赖IPv6地址。 OSPF的Router ID, Area ID和LSA的Link State ID仍然保留类似IPv4地址长度的32位s。实际上这些字段既不是IPv4地址,也不可能是IPv6地址,而只是一个编号。 另外在OSPFv2中,对broadcast 和NBMA网络类型,邻居路由器是以IP地址作为标识的。而在OSPFv3中,Neighboring路由器总是以Router ID作为标识的,所以DR和BDR也总是用其Router ID来标识的。

72 协议包 以组播地址发送协议报文 OSPFv3协议包被IPv6封装,协议号为89,在IPv6 Next Header里标识。
OSPFv3 五种协议包,通过包头的TYPE字段来标识5种包 以组播地址发送协议报文 AllSPfRouters:FF02::5 AllDRouters:FF02::6

73 协议包 Hello DBD (Database Description) LSR (Link State Request)
发现邻居,选举DR和BDR,并维持邻接关系。 DBD (Database Description) 描述链路状态数据库的内容。 LSR (Link State Request) 向邻居请求所需要的LSA。 LSU (Link State Update) LSA的传递最终是通过LSU来完成的。 LSAck (Link State Acknowledgment) LSAck对接收到的LSU中的LSA进行确认。

74 LSA列表 类型 洪泛范围 区域 OSPF进程内 链路本地 哪个路由器生成 每个路由器 DR ABR ASBR Router-LSA
Network-LSA DR Inter-Area-prefix-lsa ABR Inter-area-Router-LSA AS-External-LSA ASBR OSPF进程内 Link-LSA 链路本地 Intra-Area-Prefix-LSA

75 OSPFv3 定义了一些新的lsa,并规范了lsa的洪泛范围
链路本地范围(Link-local Scope) Link-LSA(新增) 区域范围(Area Scope) Router-LSA, Network-LSA, Inter-Area-Prefix-LSA, Inter-Area-Router-LSA, Intra-Area-Prefix-LSA(新增) 自治系统范围(AS Scope)AS-External-LSA 使用Link-LSA与Intra-Area-Prefix-LSA发布前缀 一个链路范围内的IPv6前缀信息由link-LSA负责通告; intra-area-prefix-LSA负责把IPv6前缀公告到本区域范围内 Router-LSA和Network-LSA只是用于传达网络拓扑信息 每个OSPF路由器都维护着多个LSDB:

76 SPF计算过程中拓扑生成和路由计算过程相分离
链路(Link)多实例 在一条链路上可以运行多个OSPFv3协议实例 SPF计算过程中拓扑生成和路由计算过程相分离 Step1: 计算Router-LSA, Network-LSA得到网络拓扑 Step2: 计算Intra-Area-Prefix-LSA得到路由

77 OSPFv3案例 SWB SWA Giga 2/7 Giga 0/24 Giga 2/24 Giga 0/1 1001::1/64
1001::2/64 2001::1/64 3001::1/64

78 OSPFv3配置 SWB SWA Interface giga 0/ 24 no switchport Ipv6 enable
Ipv6 address 1001:2/64 Ipv6 ospf 1 area 0 Interface giga 0/1 Ipv6 address 3001:1/64 Ipv6 router ospf 1 Router-id SWA Interface giga 2/17 no switchport Ipv6 enable Ipv6 address 1001:1/64 Ipv6 ospf 1 area 0 Interface giga 2/24 Ipv6 address 2001:1/64 Ipv6 router ospf 1 Router-id

79 查看邻居表 3760#show ipv6 ospf neighbor
OSPFv3 Process (1), 1 Neighbors, 1 is Full: Neighbor ID Pri State Dead Time Interface Instance ID Full/DR :00:37 GigabitEthernet 0/1 0

80 OSPFv3协议规划 OSPFv3协议规划原则几乎与OSPF完全相同
Router ID: OSPFv3使用的Router ID也是一个32bit的数值,仅用于在OSPFv3域中唯一标识路由器,所以推荐配置成与OSPF的Router ID相同 区域规划方面,保持和IPv4的OSPFv2规划一样 IPv6网络中的地址块都比较整齐,主机所在的业务地址与互联地址都是64前缀的,很容易聚合;较小的网络中可以不聚合

81 ISISv6 draft-ietf-isis-ipv6-05.txt, 具有IS-IS的路由IPv6 定义2 个新的TLV :
IPv6 NLPID = 142(标识ISISv6)

82 BGP4+ 两个新属性支持多协议BGP-4 MP_REACH_NLRI 属性说明可到达的目的地 属性包含的信息有
多协议可到达NLRI MP_REACH_NLRI 多协议不可达NLRI MP_UNREACH_NLRI MP_REACH_NLRI 属性说明可到达的目的地 属性包含的信息有 网络层协议 IPv6 前缀 下一跳到到达前缀 MP_REACH_NLRI update包括 一个下一跳地址 相关NLRI的列表 IPv6 BGP 路由器广播NH-路由器的全球地址

83 组播在IPv6中的继承和发展 变化的编址 从IGMP到MLD 全盘吸收PIM MSDP黯然退场

84 变化的编址 从32位到128位 通过组播地址知道组播的范围 IPv4 224-239 IPv6 FF::
组播MAC IPv IPv6 33:33 通过组播地址知道组播的范围

85 从IGMP到MLD MLD Multicast Listener Discovery:组播侦听发现协议,使IPv6组播路由器发现在其直连网络上的组播侦听者(即希望接收组播数据的节点)的存在,并且能明确发现这些节点所感兴趣的组播地址。然后提供这些消息给路由器所使用的组播路由协议,以确保组播数据转发到接收者 Mldv1继承igmpv2 离开机制 Mldv2继承igmpv3 源指定机制 报文格式和协议报文的地址进行调整 Snooping机制全盘吸收

86 全盘吸收PIM PIM是协议无关组播 IPv6 PIM与IPv4机制一样 报文格式与协议地址所有不同
支持ipv6 pim-dm 、ipv6 pim-sm、ipv6 pim-ssm Protocol Independent Multicast--Source-Specific Multicast

87 MSDP黯然退场 MSDP MSDP废除的原因 IPv4的MSDP是为运营商设计,没有正式大规模使用
Multicast Source Discovery Protocol,组播源发现协议 用来发现其它 PIM域内的组播源 IPv4的MSDP是为运营商设计,没有正式大规模使用 MSDP废除的原因 组播计费困难等原因,很少有运营商开通组播服务 与ssm相比,MSPD比较复杂 新的跨域组播技术出现,如RP嵌入组播地址 MSDP (Multicast Source Discovery Protocol,组播源发现协议) 用来发现其它 PIM域内的组播源Protocol Independent Multicast--Source-Specific Multicast

88 课程议题 六、IPv6过渡技术

89 IPv6网络部署进程 IPv6 Internet IPv4孤岛 IPv4孤岛 IPv6孤岛 IPv4 Internet IPv6孤岛
协议转换 IPv6 Internet 1、在初级阶段,IPv4网络占有主导地位,IPv6网络是一些孤岛,绝大部分应用仍然是基于IPv4的。采用隧道(Tunnel)技术,互联各IPv6网络 。 2、第二个阶段,即IPv6与IPv4共存阶段 ,IPv6得到较大规模的应用,出现骨干的IPv6 Internet网络。IPv6业务可以使用IPv6 Internet。但由于IPv6网络之间有可能不是相互连通的,还会使用隧道。仍将有大量的传统IPv4业务存在,许多节点仍然是双栈节点。不仅仅要采取隧道技术,还要采取IPv4与IPv6网络之间的协议转换技术。 3、IPv6占主导地位阶段 IPv6取代IPv4,骨干网全部升级为IPv6,IPv4网络成为孤岛。本阶段主要采取隧道技术来部署,但通过隧道互联的是IPv4网络。 IPv6孤岛 IPv4 Internet IPv6孤岛 IPv6孤岛

90 三种过渡技术 双协议栈技术 设备上同时使用IPv4和IPv6协议栈,是其他过渡技术的基础。 隧道技术(Tunnel)
把IPv6报文封装在IPv4报文中,IPv6网络之间穿越IPv4网络进行通信 协议转换技术 具备 IPv4和IPv6协议转换功能的转换设备,修改协议报文头,使IPv4网络与IPv6网络能够互通 1、双栈(dual stack) 在双栈设备上,上层应用会优先选择IPv6协议栈,而不是IPv4。 2、隧道 tunnel 用于在现有网络(v4)中传输不兼容的协议(v6)或者特殊的数据 3、v6 v4之间互通 NAT-PT (Network Address Translation-Protocol Translation)

91 双协议栈技术 interface giga 0/24 ipv6 address 3ffe:b00:c18:2::5/64
双栈技术介绍:设备升级到IPv6的同时保留IPv4支持,应用程序可以选择使用IPv6或IPv4协议。 所有的过渡技术都是基于双协栈实现的 优点:互通性好,易于理解,实现简单 缺点:对每个IPv4节点都要升级,成本较大,没有解决IPv4地址紧缺问题 interface giga 0/24 ipv6 address 3ffe:b00:c18:2::5/64 ip address

92 IPv6孤岛互联 采用隧道技术来完成互通,IPv6报文作为IPv4的载荷,或由MPLS承载 主要隧道技术包括: 优点 缺点
手动隧道技术:GRE隧道、手工隧道 自动隧道技术: 6to4隧道,ISATAP隧道 IPv6 over MPLS 优点 充分利用现有网络 中间网络设备无须升级 缺点 效率降低 需要额外的隧道配置 IP V6网络之间通信 当IPv6数据包在IPv4隧道传输时,IPv6原始数据包头和有效载荷不变。在IPv6数据包前头加上一个IPv4的包头,把IPv6数据包作为IPv4的有效载荷。在隧道边缘点(支持双栈)进行封装和拆封。 IPv6数据包在IPv4的封装协议号为41 gre 47

93 隧道技术 IPv4网络 IPv6报头 数据 IPv6报头 数据 IPv4报头 IPv6报头 数据 IPv6孤岛 IPv6节点 边界双栈路由器
V6孤岛或者节点如何穿越v4网络 边界设备必须是双栈设备 1,边界双栈设备收到从IPv6网络侧来的报文后,如果报文的下一跳是隧道,就把收到的IPv6报文作为负载,加上IPv4报文头,封装到IPv4报文里; 2,在IPv4网络中,封装后的报文被传递到对端的边界设备上,对端边界设备对报文进行解封装操作,去掉IPv4报文头,将解封装后所得到的IPv6报文转发到对端的IPv6网络中; IPv6数据包在IPv4的封装协议号为41(直接) GRE 47(间接) 主机到主机 主机到网络 网络到网络 1、边界设备通过查找ipv6路由表确定出口是隧道 2、隧道以虚拟接口的形式存在 3、指定该接口使用哪种隧道模式 4、指定隧道的头 尾端点的ipv4地址,源必须手工指定,目标ip可以手工,也可以自动生成。 配置隧道的思路 1、解决ipv4网络的连通性。 2、创建隧道口 3、使能ipv6数据转发 4、指定隧道的源 目标ipv4地址 5、通过ipv6路由确保数据的出口是隧道口 6、指定隧道的封装模式 IPv6报头 数据 IPv6报头 数据 IPv4报头 IPv6报头 数据

94 GRE隧道 GRE隧道是两点之间的逻辑链路 隧道把IPv6作为乘客协议,把GRE作为承载协议 必须手工配置隧道的起点和终点

95 GRE隧道(with Key and Checksum)

96 GRE隧道的数据转发 发送方与接收方都是双栈设备 手工建立隧道 发送方封装报文,接收方解封装 IPv4网络 IPv6孤岛 IPv6孤岛
边界双栈路由器 边界双栈路由器 IPv6节点 隧道 IPv6节点 1、V6节点产生数据 源ip 2001:10::1 目标ip 2001:20::1 2、边界双栈路由器收到数据,查找IPv6路由,出口在gre隧道口。 3、ipv6 数据不变,根据gre隧道配置的源目标ipv4地址添加gre头部及ipv4头部,源ipv 目标ipv 4、以ipv4数据包的形式穿越ipv4网络。到达对端边界双栈路由器解封装,并依据ipv6头部转发数据。 2001:10::1 2001:20::1 IPv6报头 数据 IPv6报头 数据 IPv4报头 GRE头 IPv6报头 数据

97 手工隧道技术 手工隧道技术 IPv6报文被包含在IPv4报文中作为IPv4的载荷 同GRE隧道有类似的优缺点 IPv4报头 IPv6报头
数据 Interface tunnel 隧道号 Ipv6 enable Ipv6 address v6地址 Tunnel source v4地址 Tunnel destination v4地址 Tunnel mode ipv6ip

98 手工隧道案例 SWB SWA Giga 2/17 Giga 2/24 Giga 0/1 Giga 0/24 2001::1/64
3001::1/64 SWA SWB /30 /30 Interface giga 2/17 no switchport Ip address Interface giga 2/24 Ipv6 enable Ipv6 address 2001:1/64 Interface tunnel 1 Tunnel source giga 2/17 Tunnel destination Ipv6 route 3001::/64 tunnel 1 Interface giga 0/24 no switchport Ip address Interface giga 0/1 Ipv6 enable Ipv6 address 3001:1/64 Interface tunnel 1 Tunnel source giga 0/24 Tunnel destination Ipv6 route 2001::/64 tunel 1

99 手动隧道

100 6 to 4隧道技术 6 to 4隧道技术 IPv6报文被包含在IPv4报文中作为IPv4的载荷
如果报文的目的地是6to4地址,则从目的ip中提取ipv4地址,如果目的地不是6to4地址,但下一跳是6to4地址,则从下一跳中提取(6to4中继) 目标网络可以是6to4网络(内部节点使用6to4地址),也可以是普通的v6网络(非6to4网络) 自动隧道就是目的IPv4地址可以不用配置,而是从ipv6地址中提取。6to4 isatap隧道都是如此 6to4地址 2002::/16 2002:IPv4地址:子网ID::接口ID IPv4地址是为IPv6孤岛申请的公有地址,在IPv6/IPv4边界路由器与IPv4网络链接的接口上配置该v4地址 目标网络可以是6to4网络(内部节点使用6to4地址),也可以是普通的v6网络(非6to4网络) 隧道的源ipv4地址手工指定,目标ipv4地址不需要显式配置,根据通过隧道转发的报文决定,如果报文的目的地是6to4地址,则从目的ip中提取ipv4地址,如果目的地不是6to4地址,但下一跳是6to4地址,则从下一跳中提取(6to4中继) V6报文到达边界设备,查v6路由表,出口在隧道口,如果数据流的目标ip或者下一跳是6to4地址,则6to4隧道

101 6 to 4地址 6to4地址 6to4地址: :ab:cd:xxxx:xxxx:xxxx:xxxx:xxxx(ab cd是用十六进制表示的IPv4地址) 这个内嵌在IPv6地址中的IPv4地址可用来查找6to4隧道的终点。6to4地址的网络前缀有64位长,其中前48位(2002:a.b.c.d)被分配给路由器上的IPv4地址决定了,用户不能改变。 IPv4地址必须是公有地址

102 6 to 4案例

103 配置案例 interface GigabitEthernet 0/1
ip address   interface GigabitEthernet 0/12 switchport access vlan 10! interface VLAN 10 ipv6 address 2001:10::1/64 ipv6 enable no ipv6 nd suppress-ra! interface Tunnel 1 ipv6 address 2002:1414:1401::1/64 tunnel source tunnel mode ipv6ip 6to4! ipv6 route 2001:20::/ :1414:1402::1 ipv6 route 2002::/16 Tunnel 1

104 6 to 4隧道技术的流程 2001:10::1 2001:20::1 IPv4网络 IPv6报头 数据 IPv6报头 数据 IPv4报头
2002:640a:a01::1 IPv4网络 2002:c80a:a01::1 边界双栈路由器 边界双栈路由器 IPv6节点 隧道 IPv6节点 1、V6节点产生数据 源ip 2002:640a:a01::1 目标ip 2002:c80a:a01::1 2、边界双栈路由器收到数据,查找IPv6路由,出口在6to4隧道口。 3、ipv6 数据不变,根据隧道配置的源目标ipv4地址添加ipv4头部,源ipv 目标ipv4 根据v6数据包目标ip中内嵌的v4地址生成 4、以ipv4数据包的形式穿越ipv4网络。到达对端边界双栈路由器解封装,并依据ipv6头部转发数据。 V4地址必须是公网地址 a.a a.0a a.0a a.a01 如果目标ip不是6 to 4地址,但下一跳是6 to 4地址,也可以 2001:10::1 2001:20::1

105 6to4隧道

106 ISATAP隧道技术 ISATAP隧道技术 在IPv4报文中封装IPv6数据
连接IPv4网络内部的IPv6主机和IPv4/IPv6双栈路由器 IPv4网点内部的IPv6主机可通过无状态配置自动获得IPv6前缀 v4/v6主机 IPv6主机 IPv6网络 IPv4网络 双栈设备 2001:0:0:100::1/64

107 ISATAP地址 Intra-Site Automatic Tunnel Addressing Protocol
与6to4地址类似,ISATAP地址中也有IPv4地址存在,它的隧道建立也是根据内嵌IPv4地址来进行的。 ISATAP 隧道地址有特定的格式: Prefix(64bit):0:5EFE:ip-address ISATAP地址的前64位是通过向ISATAP路由器发送请求来得到的 5EFE是IANA分配的。 w.x.y.z 是单播IPv4地址,嵌入到IPv6地址的最后32位。 ISATAP(Intra-Site Automatic Tunnel Addressing Protocol)ISATAP 地址格式为:Prefix(64bit):0:5EFE:ip-address 1、主机根据配置指定的路由器,建立isatap隧道 2、使用内嵌ipv4地址的链路本地地址,获得路由器下发的前缀,接口标识中嵌入主机的ipv4地址 0000:5efe:ab:cd 3、通过建立的隧道,传输ipv6数据。 与6to4 地址类似,ISATAP 地址中也内嵌了IPv4 地址,它的隧道封装也是根据此内嵌IPv4地址来进行的,只是两种地址格式不同。6to4 是使用IPv4 地址做为网络ID,而ISATAP 用IPv4地址做为接口ID。 ISATAP 地址的前64 位是通过向ISATAP 路由器发送请求来得到的,它可以进行地址自动配置。在ISATAP 隧道的两端设备之间可以运行ND 协议。ISATAP 隧道将IPv4 网络看作一个非广播的点到多点的链路(NBMA)。ISATAP 过渡机制允许在现有的IPv4 网络内部部署IPv6,该技术简单而且扩展性很好,可以用于本地站点的过渡。 首先配置ISATAP隧道接口,这时会根据IPv4地址生成ISATAP类型的接口ID; 根据接口ID生成一个ISATAP链路本地IPv6地址,生成链路本地地址以后,主机就有了IPv6连接功能; 进行主机自动配置,主机获得全局IPv6地址、站点本地地址等; 当主机与其它IPv6主机进行通讯时,从隧道接口转发,将从报文的下一跳IPv6地址中取出IPv4地址作为IPv4封装的目的地址。如果目的主机在本站点内,则下一跳就是目的主机本身,如果目的主机不在本站点内,则下一跳为ISATAP路由器的地址。 1、主机发Rs 源IPv6地址就是PC的链路本地ISATAP地址,目的地址为IPv6路由器的组播地址FF02::2。在封装时,源IPv4地址是以自己的以太口的地址,目的IPv4地址是ISATAP路由器的地址。 2、路由器回应ra,报文的源地址为路由器的链路本地,目的地址为发送RS报文的主机链路本地ISATAP地址。经过封装后,源IPv4地址为路由器地址,目的IPv4地址是IPv6地址中内嵌的IPv4地址来得到的 3、主机获得全局IPv6地址 ISATAP路由器在RA报文里会携带前缀信息,主机根据该前缀生成一个IPv6地址,生成规则是EUI-64规范。

108 ISATAP隧道 S3760—1没有使能IPv6,模拟不支持IPv6的交换机。S3760—2的G0/1接口也没有使能IPv6。
双栈主机PC-1借助ISATAP隧道通过无状态自动配置从双栈交换机S3760—2获得IPv6地址,并和双栈主机PC—2通信。

109 PC上的配置 在CMD中使用netsh interface ipv6 install命令安装IPv6协议
在CMD中使用netsh interface ipv6 isatap set router 设置 isatap隧道。 C:\Documents and Settings\test>netsh interface ipv6 install C:\Documents and Settings\test>netsh interface ipv6 isatap set router

110 交换机上的配置 S3760-2(config) #interface vlan 20 S3760-2(config-if- VLAN 20)#ipv6 enable S3760-2(config-if- VLAN 20)# ipv6 address 2001:10::1/64 S3760-2(config-if- VLAN 20)# no ipv6 suppress-ra S3760-2(config) #interface Tunnel 1 S (config-if-Tunnel 1)#ip address S (config-if-Tunnel 1)# ipv6 address 2001:20::1/64 S (config-if-Tunnel 1)#ipv6 enable S (config-if-Tunnel 1)# no ipv6 nd suppress-ra S (config-if-Tunnel 1)# tunnel source S (config-if-Tunnel 1)# tunnel mode ipv6ip isatap

111 案例 C:\Documents and Settings\test>ipconfig Tunnel adapter Automatic Tunneling Pseudo-Interface: Connection-specific DNS Suffix . : IP Address : 2001:10::5efe: IP Address : fe80::5efe: %2 Default Gateway : fe80::5efe: %2

112 ISATAP隧道

113 IPv6 over MPLS 通过MPLS网络连接多个IPv6 孤岛,使用BGP交换IPv6路由信息。
多个IPv6孤岛可以属于同一VPN,利用VPN机制在PE之间建立隧道连接 可以充分利用已有MPLS网络 IPv6网络 MPLS网络 IPv4 网络 IPv6 IPv6 IPv6 IPv4 网络

114 互通技术:NAT-PT NAT-PT (Network Address Translation-Protocol Translation)
作用:部署在IPv4和IPv6网络边缘,解决IPv4网络和IPv6网络互通的问题。 工作原理 类似于传统NAT,将IPv6地址和IPv4地址互相转换,并进行协议转换 通过中间的NAT-PT协议转换服务器,实现纯IPv6节点和纯IPv4节点间的互通 NAT-PT服务器分配IPv4地址来标识IPv6主机 NAT-PT服务器向相邻IPv6网络宣告96位地址前缀信息,用于标识IPv4主机 优点 能实现纯IPv4网络与IPv6网络的通信  缺点 NAT-PT设备是性能瓶颈,存在单点故障 某些网络不支持或者不愿意支持双栈,出现纯v6 v4网络 没有其他办法(双栈 隧道 ALG )解决v4 v6网络互通时才采用NAT-PT技术 隧道技术解决v6孤岛之间穿越v4网络域通信的问题 互通技术解决v6与v4之间通信的问题。包括ALG和NAT-PT技术。 ALG 使用应用层网关解决v4 v6应用互通的问题,v4 v6应用不直接通信 NAT-PT 使用NAT-PT解决v4 v6应用互通的问题,通过地址和协议翻译,v4 v6应用直接通信 数据通过配置的路由被引导到NAT-PT设备,由NAT-PT设备把v6地址转换为v4地址 其他互通机制 除ALG NAT-PT还有一些其他互通机制。

115 NAT-PT种类 静态NAT-PT 动态NAT-PT NATP-PT DNS ALG
NAT-PT服务器提供一对一的IPv6地址和IPv4地址的映射 配置复杂,使用大量的IPv4地址  动态NAT-PT NAT-PT服务器提供多对一的IPv6地址和IPv4地址的映射   NATP-PT DNS ALG 动态NAT-PT与DNS ALG联合使用,转换DNS请求

116 网络出口 网络出口一般涉及到cernet2或者其他出口,不同的出口设备应用技术不尽相同,主要涉及: GRE隧道 手工隧道 翻译技术

117 谢 谢


Download ppt "IPv6原理与应用 技术培训中心 2010-03."

Similar presentations


Ads by Google