技术部分 大连理工大学网络中心 刘尽辉 Ljh@rose.dlut.edu.cn IPV6 简介 技术部分 大连理工大学网络中心 刘尽辉 Ljh@rose.dlut.edu.cn
声明 IPv6是一个在逐步完善的协议 很多协议的细节还在完善和修改中 本讲座中的中文术语翻译仅供参考,以实际的英文术语为准
IP协议 什么是IP协议 IP协议位于TCP/IP协议族的网际层,用来连接不同种类的网络,并对IP报文进行选路和发送.
Protocol architecture including IP LAN LAN LAN, WAN, or point-to-point link Router (1) Router (2) End system (Y) End system (X) TCP TCP IP IP IP IP LLC LLC LLC LLC MAC MAC MAC MAC Physical Physical Physical Physical Physical Physical Protocol architecture including IP
IPv4的局限性及其缺点 IPv4协议是我们目前正在使用的IP协议 首先,我们现在使用的IPv4协议取得了巨大的成功
IP地址空间危机 IPv4地址的位数是32位 目前IPv4地址不足 个人电脑的普及和互联网的迅速发展,导致IP的需要量剧增.
IPv4地址的分配 IPv4地址的分类 可分配的是A,B,C类地址 一个优秀的地址分配方案应具有的特点 很强的适应性和灵活性 尽可能考虑当前和以后可能的应用对地址分类的要求,留有相当的余地 充分考虑路由对地址层次的要求
目前的对策 NAT网络地址翻译 划分子网 CIDR无类域间路由技术
IPv4对路由支持的不足 IPv4的分组不固定,不利于在路由器中用硬件实现分组中路由信息的提取、分析和选择。 目前的路由选择机制不够灵活,对每个分组都要进行同样过程的路由选择 IPv4要根据线路的MTU来分片或重组过大的IP分组,还逐段的进行数据校验,造成路由器处理速度过慢.
IPv4的服务类型 IPv4中的TOS字段 TOS在IPv4中实际上没有实现
IP安全性议题 很长时间以来,都认为安全性不是网络层的任务。SSL协议由传输层完成,而有些安全性的协议是在应用层完成的. 虚拟专用网( V P N ),隧道协议,如微软的点到点隧道协议( P P T P ),都采取了对IP数据报加密的方法来保证数据的安全传输.
IP的安全问题 I E T F的I P安全性( I P s e c )工作组一直致力于设计一种机制和协议来同时保证 I P v 4和I P v 6业务流的安全性。虽然已有一些基于I P选项的关于I P v 4安全性的机制,但在实际应用中并不成功。I P s e c的目标是使这些工具可用,并在I P v 6中集成更加完整的安全性
自动配置 IPv4的机器必须配置一系列复杂的参数 BOOTP和DHCP提供了对自动配置的支持,但也有局限性,无法真正支持移动IP
IPng与IPv6 IPng:IP – The Next Generation IPv6 :版本6的IP协议
新一代的IPv6协议
IPv6协议的主要变化 扩展地址扩展到128位 Ipv4的地址数40亿左右 IPv6提供的地址数: 340,282,266,920,938,463,463,374,607,431,768,211,456
IPv6的改进 简化了IPv6的报文头 对扩展和选项的支持作了改进 对流的支持 身份验证和保密
IPv6 vs. IPv4 报文比较 IPv4 PDU IPv6 PDU Data Field IPv4 Header maximum 65535 octets minimum 20 octets IPv4 Header Data Field IPv4 PDU maximum 65535 octets Fixed 40 octets 0 or more 這是 IPv4 和 IPv6 PDU 之比較圖示, IPv4 和 IPv6 PDU之最大長度皆為 65535 octets, 其中 IPv4 packet header 之長度最少為 20 octets, 而 IPv6 packet header 則固定為 40 octets, 但其後接有 0 個或 0 個以上之 Extension header. IPv6 Header Extension Header Extension Header Transport-level PDU IPv6 PDU
IPv4 报头 20 字节+Options : 13 字段, 包括 3 个标志位flags 改动字段 删除字段 0 bits 4 8 16 24 31 Ver IHL Service Type Total Length Identifier Flags Fragment Offset Time to Live Protocol Header Checksum 32 bit Source Address 32 bit Destination Address Options and Padding
IPv6 报头 40 Octets, 8 fields 4 12 16 24 31 Traffic Class Version 4 12 16 24 31 Traffic Class Version Flow Label Payload Length Next Header Hop Limit 128 bit Source Address 128 bit Destination Address
IPv4 vs. IPv6 报头 IPv4 Packet Header IPv6 Packet Header Source Address Service Type Traffic Class Ver IHL Total Length Ver Flow Label Next Header Hop Limit Identification Flags Offset Payload Length TTL Protocol Header Checksum Source Address Source Address Destination Address Options + Padding 這是 IPv4 和 IPv6 packet Header 之比較圖示, 其中 IPv4 之 Source 及 Destination address 皆為 32 bits, 而 IPv6 則皆為 128 bits, 且 IPv4 packet header 之長度為變數 (最少為 20 bytes), IPv6 packet header 則固定為 40 bytes, 原因在於 IPv6 header 有 Options + Padding 之變動長度欄位, 而 IPv6 則將之移至後續之 Extension header 內了 . 32 bits Destination Address
IPv6 扩展报头 (1/2) Hop-by-hop options header逐跳选项报头 Routing header选路报头 40 octets 0 or more IPv6 Header Extension Header Extension Header Transport-level PDU IPv6 报文一般格式 Hop-by-hop options header逐跳选项报头 Routing header选路报头 Fragment header分片报头 Authentication header认证报头 Encapsulating security payload header封装安全载荷报头 Destination options header目的地选项报文 這是 IPv6 Extension header 之示意圖, 其中 Extension header 掛在 IPv6 Header 之後, 它可以出現 0 個或0 個以上, 而它的型式有下面 6 種: 1. Hop-by-hop options header -- 定義一些需要 hop-by-hop 處理之特殊 options. Only one option is so far specified: the jumbo payload option, used to send IPv6 packets with payloads longer than 2^16 = 65,536 octets. 2. Routing header -- 提供 extended routing, 功能與 IPv4 source routing 相同,內容包括 packet 傳至 destination 所經過之一系列 nodes (IP addresses). 3. Fragment header -- 包括 fragment 及 reassembly 資訊, 內容包括 Fragment Offset (13 bits), M Flag (1 bit, more/last fragment), Identification (32bits). 4. Authentication header -- 提供 packet integrity (完整性) 及 authentication (認證) 之功能. 5. Encapsulating security payload header -- 提供 privacy (隱密) 之功能. 6. Destination options header -- 包括一些需要 destination node 來處理之 optional 資訊, 其 format 與 hop-by-hop options header 完全相同.
IPv6扩展报头 (2/2) IPv6 specification recommended order: IPv6 header Hop-by-hop options header Destination options header Routing header Fragment header Authentication header Encapsulation security payload header Octets: 40 IPv6 header Hop-by-hop options header Variable Variable Routing header 8 Fragment header Variable Authentication header Variable Encap security payload header Variable Destination options header 這是 IPv6 packet 包括所有種類 header 之一例, 其中 IPv6 header 和每一 extension header 皆具一 next header field. 當有多個 extension header 出現時, IPv6 spec. 建議其排列次序如右. 20 (optional variable part) TCP header Application data Variable = Next header field IPv6 packet with all extension headers
IPv6的路由性能 固定了报头长度 使用扩展报文代替IPv4中的选项字段 报文中的字段的个数减少 不允许对包进行重新分片
通信流类型 8位的字段用来区别不同的服务. 在所选择的链路上,可以根据开销、带宽、延时或其他特性而对包进行特殊的处理 处于试验阶段,最终目标是确立对IP分组最适用的通信流分类方式.
流标签 IPv4是无连接的协议,对每个IP报文都要进行单独处理. 流指的是从一个特定源发向一个特定(单播或者是组播)目的地的包序列,源点希望中间路由器对这些包进行特殊处理。
自动配置 有状态的自动配置(V6 version of DHCP, Dynamic Host Configuration Protocol) 无状态的自动配置(使用EUI-64,向路由器请求网络地址) IPv6的移动性
IPv6的安全性 认证报头的设计目的是保证报文的安全性和完整性,并提供身份验证功能。 封装安全载荷报头用来对IP报文的载荷或在隧道方式下整个IP报文加密。 透明模式 隧道模式
IPv6的地址 地址的写法 如果使用点分十进制 104.230.140.100.255.255.255.255.0.0.17.128.150.10.255.255 采取冒号16进制的写法 68E6:8c84:FFFF:FFFF:0:1180:96A:FFFF
IPv6的地址 IPv6地址中的一长串0可以用一对冒号(::)来取代 1080:0:0:0:8:800:200c:417A (一个unicast地址) 可以写为 1080::8:800:200c:417A FF01:0:0:0:0:0:0:101(一个mutlicast地址)可以写为FF01::101
IPv6的地址 0:0:0:0:0:0:0:1 (回送Loopback地址)可以写为 ::1 0:0:0:0:0:0:0:0 (未定义的地址)可写为:: 注意,为避免混淆,一对冒号在一个地址中只能出现一次.
IPv6的地址 在I P v 4和I P v 6的混合环境中可能有第三种方法。I P v 6地址中的最低3 2位可以用于表示I P v 4地址,该地址可以按照一种混合方式表达,即X : X : X : X : X : X : d . d . d . d,其中X表示一个1 6位整数,而d表示一个8位十进制整数。例如,地址0 : 0 : 0 : 0 : 0 : 0 : 1 0 . 0 . 0 . 1
IPv6的地址 地址前缀的表示: IPv6地址/前缀长度 12AB:0:0:CD30:0:0:0:0/60 都是可以的 12AB::CD30/60的写法是不正确的
IPv6地址的分类 单播地址(unicast) 任播地址(anycast) 多播地址(multicast) 广播路向何方?
IPv6地址分配方案 分配 前缀 所占比例 为NSAP保留 0000 001 1/128 为ipx保留 0000 010 1/128 分配 前缀 所占比例 为NSAP保留 0000 001 1/128 为ipx保留 0000 010 1/128 可聚类全局unicast地址 001 1/8 Local-Local Unicast地址 1111 1110 10 1/1024 Site-Local Unicast 地址 1111 1110 11 1/1024 Multicast地址 1111 1111 1/256 其余部分未分配
单播地址 Link-local FE80::/10 全局可聚单播地址 2000::/3 根据接口的自动配置,用于网络邻居发现和路由发现 全局可聚单播地址 2000::/3 TLA id:顶级聚类标识符 NLA id:次级聚类标识符 SLA id:站点级聚类标识符 Interface id:接口标识符
IPv4向IPv6的过渡 过渡的紧迫性 过渡的方式 国内外的研究
过渡方式 1.双协议栈 2.隧道技术
隧道过渡方式的示意图 IPv4 Tunnel Dual-stack node IPv4 H IPv6 H Payload
国内外的研究 6Bone WIDE CERNET IPv6试验床