View
306
Download
0
Category
Preview:
Citation preview
华为 3Com 培训中心
华为华为 3Com3Com 公司版权所有,未经授权不得使用与传播公司版权所有,未经授权不得使用与传播
IP V6 协议基础IP V6 协议基础ISSUE 4.0ISSUE 4.0
2
学习目标学习目标
理解 IP V4 向 IP V6 演进的必然性
理解 IP V6 基本协议功能
掌握 ICMP 协议功能
学习完本课程,您应该能够:
3
课程内容课程内容
IP V6 简介
IP V6 协议
ICMP V6 协议
IP V6 与 IP V4 的区别
4
需要升级 IPv4 吗 ?需要升级 IPv4 吗 ?
以 IPv4 为核心技术的 Internet 获得巨大成功 但 IPv4 地址资源紧张直接限制了 IP 技术应用的进一步发展,
到 96 年已将 80% 的 A 类网络地址, 50% 的 B 类地址, 10%的 C 类地址全部分配了,有专家估计到 2010 年 IPv4 地址将全部用完。
移动和宽带技术的发展要求更多的 IP 地址 CIDR, VLSM , NAT, 混合地址等技术只能暂时缓解 IPv4 地址
紧张,但无法根本解决地址问题
电话号码要升位啦!
IP 地址短缺问题直接加速了 IPv4 升级的需求
5
为什么要升级到 IPv6?为什么要升级到 IPv6?
IETF 在 20 世纪 90 年代提出下一代互联网协议 -IPv6 目前 IPv6 成为公认的 IPv4 未来的升级版本
最本质的改进——几乎无限的地址空间 (地址长度由 32 位增加到 12
8 位) 其他(锦上添花): 简单——简化固定的基本报头,提高处理效率 可扩展——引入灵活的扩展报头,协议易扩展 即插即用——地址配置简化,自动配置 安全——网络层的 IPSec 认证与加密,端到端安全 Qos—— 新增流标记域 移动—— Mobile IPv6
6
IPv6 历史IPv6 历史
IETF 成立 IPNG 工作组
1992
1994
1995
1996
1999
2001
2002
下一代 IP协议( IPv6 )推荐版本完成 IPv6 的协议文本
成立全球 IPv6 实验床 - 6BONE
IPv6 基本协议标准化
IPv6 关联协议修订和完善
部分 IPv6 相关技术还在草案阶段
7
IPv6 驱动力IPv6 驱动力 市场的驱动:
地址短缺 不断增长的互联网设备和新应用 永远在线的互联网接入
业务需求 构筑宽带和移动的无缝互联网
– 无线( PDA 、 3G... )、宽带接入、 Internet 家电 ...
IPv6 提供双向通信带来新的业务– 用户时时在线,在线学校 SOI , IP CAR...
政府的推动: 战略、安全性角度考虑
竞争的压力: 国外主要厂商都已推出支持 IPv6 的产品 为运营商提供向 IPv6 的扩展
8
IPv6 的发展历程IPv6 的发展历程 1992 年 IETF 成立了 IPNG 工作组 1994 年 IPNG 工作组提出下一代 IP 网络协议( IPv6 )的推荐版
本 1995 年 IPNG 工作组完成 IPv6 的协议文本 1996 年 IETF 发起成立全球 IPv6 实验床 - 6BONE
1998 年 启动面向实用的 IPv6 教育科研网 - 6REN
1999 年 完成 IETF 要求的协议审定和测试 1999 年 成立了 IPv6论坛,开始正式分配 IPv6 地址, IPv6 的协议
文本成为标准草案 2001 年 多数主机操作系统支持 IPv6 , Windows XP , Linux , S
olaris
2003 年 各主流厂家基本已推出 IP V6 网络产品 2003 年 中国启动国家下一代网络示范工程 - CNGI
9
各地区、国家发展 IPv6 现状各地区、国家发展 IPv6 现状
北美: IPv4 地址丰富;国内运营商不积极 设备商出于技术领先及其他地区市场角度考虑,纷纷推出 IPv6 产品(如 Cisco , Juniper )
欧洲: IPv4 地址相对缺乏 移动通信技术领先,以诺基亚为首,积极推动 IPv6 的发展 3GPP 已将 IPv6纳入标准中
亚太: IP 地址非常缺乏 日本:日本政府、企业大力支持 IPv6 技术的研究应用,欲借 IPv6 提升本国互联网地位。
·WIDE项目,由多家日本企业和科研机构参与,包括开发免费源码, KAME ( IPv6 for BSD ),USAGI ( IPv6 for Linux )
·日立,富士通, NEC 等多家厂商推出 IPv6 产品 中国:仍处于研究和试验阶段
·IPv6试验网, 863—317项目子项目 ·CERNET于 1998 年 6月加入 6Bone
·NOKIA 与 CERNET 合作,建立覆盖全国的 IPv6 网 · 启动国家下一代网络示范工程 - CNGI
IPv6 的发展将打破各地区在 INTERNET领域发展不平衡的局面
10
课程内容课程内容
IP V6 简介
IP V6 协议
ICMP V6 协议
IP V6 与 IP V4 的区别
11
参考资料参考资料
主要参考资料 Rfc2460: Internet Protocol, Version 6 (IPv6)
Rfc791: INTERNET PROTOCOL
Rfc1981: Path MTU Discovery for IP version 6
Rfc2463: Internet Control Message Protocol (ICMPv6)
Rfc2675: IPv6 Jumbograms
华为 -3Com IP V6 技术白皮书 Commware V5 操作手册
12
IP V6 网络模型IP V6 网络模型
IP V6 的网络模型是与 IP V4 一致的,主要包含两个角色 Host
Router
Host Host
RouterRouter
13
报文结构报文结构
固定头部扩展头部上层协议
固定头部扩展头部一
扩展头部 n
上层协议
扩展头部
Next Header
Next Header
Next Header
Next Header
Next Header
14
IP V6 固定头部IP V6 固定头部备注
version=6
Traffic Class IP V4 TOS
Flow Label 用于指示流 Next Header IP V4 Protocol
Hop Limit IP V4 TTL
Payload Length 指示该 IP 报文负荷长度
Source 和 Destination 地址都是 128 位
IP V4
IP V6
15
Traffic ClassTraffic Class
在 Diff-Serv QoS 模型中,用于反映该报文所属的服务分类。
低丢弃优先级, j=1 中等丢弃优先级, j=2 高丢弃优先级, j=3
AF(i=4) 100010 100100 100110
AF(i=3) 011010 011100 011110
AF(i=2) 010010 010100 010110
AF(i=1) 001010 001100 001110
EF : DSCP=101110
16
Flow LabelFlow Label
IP V6 中引入 20bit 的 Flow Label 目的是用于和源地址、目的地址组成标识一个流的三元组。这个用于取代 IP V4 中常用的五元组方法至少有两个好处:
将流分类涉及报文区域限制于 IP 包头,可以提高流分类效率 通过信令协议可以扩展流分类实际涉及报文信息
Flow 标记的使用目前还处于探索阶段,这方面还大有可为!
17
Next HeaderNext Header
Next Header 大致相当于 IP V4 的 Protocol 字段 对于上层协议的编码值和 IP V4 Protocol 字段是一样的。 逻辑上 IP V6 扩展头部并不是 IP V6 头部的一部分,也是由 next
header 指示的(这也是 IP V6 头部中没有类似于 IP V4 头部中的IHL 字段的原因)
典型 Next Header 值 UDP: 17 TCP:6 ICMP V6:58
18
Hop LimitHop Limit
Hop Limit 具备和 IP V4 TTL 基本类似的语义 每个 IP V6 节点都会将收到报文的 Hop Limit 值减少 1 ,如果报
文 Hop Limit 为 0 ,它将不会被发送出去。 Hop Limit 不再具有 TTL 的初始含义:数据包在网络上的尚余存
活时间(这也是这个域改名为 Hop Limit 的原因)
和 TTL 一样, Hop Limit 有如下两个基本作用 防止报文在网络上存在过长时间(主要是在存在环路路由时) 用于限制报文传输于一定范围之内,如主机向其网关申请加入特
定组的报文就可以限制其 Hop Limit 为 1 。
19
地址地址
地址空间是 IP V6 之于 IP V4 最重要的扩展! 32->128 :地球上每一粒沙子都可以有一个 IP 地址!
所有 IP V6 地址可以分为如下三类 单播地址:单播地址用于标识一个设备的某个接口的地址(至少
在逻辑上)、携带单播地址的数据包只有一个接收者 组播地址:组播地址标识一个加入该组的主机的结合、携带组播
地址的数据包可能有多个接收者, 任播地址:网络上多个设备接口可能具备相同的任播地址、但是
一个携带任播地址的数据包仅需被传输到一个接收者即可
20
关于地址的几个注释关于地址的几个注释
单播地址和组播地址享有不同的地址空间,但是任播地址事实上和单播地址共享相同地址空间
IP V6 取消了广播地址的概念,而已组播地址替代之。IP V6 地址的基本结构依然和 IP V4 类似,即类似于网络 + 主
机的层次形式。
21
来个真的!来个真的!
一个 IP V6 数据包
22
报文结构报文结构
固定头部扩展头部上层协议
固定头部扩展头部一
扩展头部 n
上层协议
扩展头部
Next Header
Next Header
Next Header
Next Header
Next Header
23
IP V6 扩展头部IP V6 扩展头部
IP V6 将一些 IP 层的可选功能实现在上层封装和固定 IP V6 头部之间的扩展头部中。我们这里将介绍如下 IP V6几个扩展头部:
Hop-by-Hop Options header
Destination Options header
Routing header
Fragment header
Authentication header
Encapsulating Security Payload header
24
IP V6 通用选项IP V6 通用选项
在 Hop-by-Hop Options header 和 Destination Options heade
r 中会包含一系列选项用于实现特定功能。有两个特殊选项可用于瞒足各选项的对齐需求
PAD1
PADN
指示未知选项处理方法00 – skip01 - discard10 - discard and send ICMP to source11 - discard and send ICMP to source if destination was not multicast
指示选项在传输过程中是否会改变
选项格式
PAD1
PADN
25
Hop-by-Hop Options headerHop-by-Hop Options header
Hop-by-Hop Options header 用于携带在该数据包传输过程所经过的每个节点都必须检查的选项
Hop-by-Hop Option header 对应的 next header 值为 0
一个典型的 Hop-by-Hop Option 是所谓的“巨包( Jumbo Pay
load )”选项Hop-by-Hop Options Header
Jumbo Payload Option
26
一个巨包的转发过程一个巨包的转发过程
为传送长于 65535 字节的“巨包 “,需要以下两个措施 IP V6 Payload Lenth=0 ,使用 Next Header 为 0 的 Hop-by-hop header 中的 Jumb
o选项中的 Jumbo Payload Length来指示报文长度 需要对上层协议作相应修正
Host Host
RouterRouter
IP V6 Header
NH=0PL=0
NH=17PL=1MB+8B
Len=0 1MB Data
Hop-by-hop Header
UDP Header
Option Processing!Option Processing!
Option Processing!Option Processing!
27
Destination Options headerDestination Options header
Destination Options header 其中存放用于数据包目的地才需要处理的选项。
Destination Options header 用值 60 Next Header 值标识一个不太典型的 Destination Option 是为限制 IP V6 Tunnel 层
次数量的限制的 Tunnel Encapsulation Limit Option
Destination Option Header
Tunnel Encapsulation Limit Option
28
一个带有 Tunnel Encapsulation Limit 数据包转发过程
一个带有 Tunnel Encapsulation Limit 数据包转发过程
这里给出了这个 Option 的操作机制
TL=2IPV6 Data
TL=2IPV6 DataTL=1IPV6
TL=2IPV6 DataTL=0IPV6
TL=2IPV6 DataTL=0IPV6
在企图进入隧道时丢弃!
ICMP Parameter Problem
29
Routing headerRouting header
Routing Header 的作用在于使得数据包经过指定的中间节点到达目的地。
Routing Header 用 Next Header 值 43 标识目前已正式定义的 Routing Header 只有 Type0
30
一个带 Routing Header 报文的转发流程一个带 Routing Header 报文的转发流程
S I1 I2 I3 D
Source Address = S Hdr Ext Len = 6ination Address = I1 Segments Left = 3 Address[1] = I2 Address[2] = I3 Address[3] = D
Source Address = S Hdr Ext Len = 6Destination Address = I2 Segments Left = 2 Address[1] = I1 Address[2] = I3 Address[3] = D
Source Address = S Hdr Ext Len = 6Destination Address = I3 Segments Left = 1 Address[1] = I1 Address[2] = I2 Address[3] = D
Source Address = S Hdr Ext Len = 6 Destination Address = D Segments Left = 0 Address[1] = I1 Address[2] = I2 Address[3] = I3
31
Fragment headerFragment header
Fragment Header专门用于实现报文分片功能:当数据包源节点 IP 模块发现上层协议交给它传输的数据包大小超过了路径最大传输单元( PMTU )时就将数据包进行分片 .
Fragment Header 用值为 44 的 Next Header 值标识
单位为 8 字节的分片偏移量 是否是最后一个分片
同一个报文的不同分片具备相同的 ID
32
AH 和 ESP 扩展头部 AH 和 ESP 扩展头部
ESP: 50, AH:51
ESP
AH
33
关于上层协议相关的几个问题关于上层协议相关的几个问题
传输层协议为了利用 IP V6 的网络基础设施,可能会涉及如下几个问题:
上层协议校验和问题 最大报文生存时间 最大上层协议载荷大小 对携带路由头的数据包的回应问题
34
上层协议校验和问题上层协议校验和问题
这里有如下几个问题 地址长度 Routing Header
Next HeaderTCP/UDP伪头部
35
其他几个问题其他几个问题
Maximum Packet Lifetime
IPV6 层不再能(事实上大多数 IP V4 实现同样不能)为上层提供控制数据包在网络上生存期的服务
Maximum Upper-Layer Payload Size
上层在计算最大协议数据单元时必须意识到网络层协议头部增加了长度
对携带路由头的数据包的回应问题 这个主要是一个安全性问题
36
课程内容课程内容
IP V6 简介
IP V6 协议
ICMP V6 协议
IP V6 与 IP V4 的区别
37
ICMP V6ICMP V6
IPV6 协议使用 ICMP V6 协议作控制协议, ICMP V6 的 IP V6
Next Header 值为 58 。ICMP V6 主要有两类功能
网络层故障汇报 如: Destination Unreachable
信息类汇报 网络层故障诊断如 ping 的基础 实现部分网络层功能如:路由器发现
38
ICMP V6 报文格式ICMP V6 报文格式
Type 值决定了报文所属的类别 0 -127 :错误类报文 128-255 :信息类报文
ICMPv6 error messages:1 Destination Unreachable 2 Packet Too Big3 Time Exceeded4 Parameter Problem
ICMPv6 informational messages:128 Echo Request 129 Echo Reply
39
Destination Unreachable MessageDestination Unreachable Message
Destination Unreachable 消息用来向一个 IP V6 报文源汇报保温无法被送到目的地的原因。
Type 1
Code 0 - no route to destination 1 - communication with destination administratively prohibited 2 - (not assigned) 3 - address unreachable 4 - port unreachable
40
Packet Too Big MessagePacket Too Big Message
Packet Too Big 消息被某个节点用于向报文源汇报该报文长度超过了该节点出借口 MTU 。
Type 2
Code 0
MTU 下一跳链路 MTU
41
Time Exceeded MessageTime Exceeded Message
Time Exceeded 消息用于某节点向报文源通报该报文已经超时,这里可能有两种情况:
报文在被发送出去时 Hop limit 已经变为零 报文重组超时
Type 3
Code 0 - hop limit exceeded in transit 1 - fragment reassembly time exceeded
42
Parameter Problem MessageParameter Problem Message
Parameter Problem 消息用于向报文源节点汇报报文的参数有问题,这里用一个以字节计的指针用来指出原来报文中出错的参数。
Type 4
Code 0 - erroneous header field encountered
1 - unrecognized Next Header type encountered
2 - unrecognized IPv6 option encountered
Pointer Identifies the octet offset within the invoking packet where the error was detected.
43
Echo Request & Reply MessageEcho Request & Reply Message
Echo Request & Reply 消息用来进行网络层可达性测试。
Type 128/129
Code 0
Identifier An identifier to aid in matching Echo Replies to this Echo Request. May be zero.
Sequence Number
A sequence number to aid in matching Echo Replies to this Echo Request. May be zero.
Data Zero or more octets of arbitrary data.
44
IP V6 Ping 的实现IP V6 Ping 的实现
Ping 就是用一个 ICMP Echo激发目的回应一个 ICMP Echo R
eply.
1::20d:56ff:fe6d:6ffc
1::1 2::1
2::210:5cff:fee5:f239
ICMP Request
ICMP Reply
ICMP RequestICMP Reply
45
ICMP V6 Tracert 的实现ICMP V6 Tracert 的实现
Tracert 的基本原理就是发送特定 Hop Limit 的 ICMP request
给目的节点以促使中间节点回应 ICMP Time Exceeded 报文。
[PCA]ECHO Request: PCB, Hop=1
PCA PCBRT
[RT]TIME EXCEEDED: PCA
[PCA]ECHO Request: PCB, Hop=2
[PCB] Echo Reply: PCA
46
课程内容课程内容
IP V6 简介
IP V6 协议
ICMP V6 协议
IP V6 与 IP V4 的区别
47
IP V6 和 IP V4 技术上的区别IP V6 和 IP V4 技术上的区别
作为一个总结, IP V6 对 IP V4 最重要的变化在于 Expanded Addressing Capabilities
Header Format Simplification
Improved Support for Extensions and Options
Flow Labeling Capability
Authentication and Privacy Capabilities
华为 3Com 技术有限公司
华为 3Com公司网址 : www.huawei-3com.com
Recommended