跳到主要内容

下一代互联网

IPv4问题与改进

IPv4存在以下著名的问题:

  1. 网络地址短缺(32位)以二进制数串表示,v4仅有43亿个地址,而IPv6有128位,且以十六进制数串表示。(现在还能用v4得益于NAT地址转换)
  2. 地址分配不合理:IPv4中有1/3被美国占用了,其大型企业地址数比很多国家都多。
  3. 路由速度慢:路由表日趋庞大,路由查找速度越来越慢。IPv4头部多达13个字段。IPv6只有8个。
  4. 缺乏安全功能:IPv6集成了IPsec功能,可提供数据加密、认证服务。IPv4则不能。
  5. 不支持新的业务模式:IPv4没有扩展字段,IPv6支持多报头嵌套。
  6. IPv6只能由源发节点进行分段,中间路由器不能分段,目的是简化路由处理,MTU发现。

IPv6报文格式

版本:用0110表示IPv6。

通信类型/流量等级(8位):用于区分不同的IP分组,相当于IPv4中服务类型的字段。

流标签(20位):标识某些需要特别处理的分组。

负载长度(16位):表示除了IPv6固定头部40字节之外的负载长度,扩展头包含在负载长度之中。

下一头部(8位):指明下一个头部类型,可能是IPv6扩展头部和高层协议的头部。

跳数限制(8位):用于检测路由循环,类似TTL。

源地址(128位):发送节点的地址。

目标地址(128位):接收节点的地址。

在这里插入图片描述

IPv6地址基础

IPv6地址128位,采用冒号分隔的十六进制数(8组)表示。

如:

8000:0000:0000:0000:0123:4567:89AB:CDEF

每个字段前面的0可以省去,例如0123可以简写为123。

一个或多个全0字段,可以用一对冒号“::”代替

  • 有效0位不可以简写,双冒号只能出现一次
  • 以上地址可简写为8000::123:4567:89AB:CDEF
  • IPv4兼容地址可以写为::192.168.10.1

IPv6地址分类

IPv6地址是一个或一组接口的标识符,IPv6地址被分到接口而不是节点。

单播地址

可聚合全球单播地址:这种地址在全球范围内有效,相当于IPv4公用地址(前缀为001)。

链路本地地址:用于同一链路的相邻节点间的通信(前缀为1111 1110 10)结合MAC地址自动生成。

站点本地地址:相当于IPv4中的私网地址(前缀为1111 1110 11)。

组播地址

IPv6中没有广播地址,广播功能被组播代替。

IPv6组播地址的格式前缀为1111 1111,即FF00开头。

任意播地址

表示一组接口的标识符,通常是路由距离最近的接口。

任意播地址不能用作源地址,而只能作为目标地址。

任意播地址不能指定给IPv6主机,只能指定给IPv6路由器。

IPv6地址书写

合法写法:

  • 12AB:0000:0000:CD30:0000:0000:0000/60
  • 12AB::CD30:0:0:0:0/60
  • 12AB:0:0:CD30::/60

非法写法

  • 12AB:0:0:CD3/60(在16位的字段中可以省掉前面的0,但不能省掉后面的0)
  • 12AB::CD3/60(这种表示可展示为12AB:0000:0000:0000:0000:0000:0000:0CD3)
  • 12AB::CD30/60(这种表示可展示为12AB:0000:0000:0000:0000:0000:0000:CD30

特殊地址对比 IPv4 vs IPv6

在这里插入图片描述

IPv6路由协议

共有3种路由协议:RIPng,OSPFv3,BGP4+。

DHCPv6 无状态配置和有状态配置

有状态自动配置:DHCPv6直接分配前缀和接口ID、网关和DNS等。(全部信息)

无状态自动配置:路由器接口前缀+终端EUI-64。(一半信息)

ICMPv6

新增加的邻居发现功能代替了ARP协议的功能。

在这里插入图片描述

IPv6地址基础

  • IPv6地址128位,采用冒号分隔的十六进制数(8组)表示。

例如:8000:0000:0000:0000:0123:4567:89AB:CDEF

  • 每个字段前面的0可以省去,例如0123可以简写为123
  • 一个或多个全0字段,可以用一对冒号“::”代替
  • 有效0位不可以简写,双冒号只能出现一次
  • 以上地址可简写为8000::123:4567:89AB:CDEF
  • IPv4兼容地址写为::192.168.10.1

IPv4到IPv6过渡技术

双栈技术:同时运行IPv4和IPv6。

隧道技术:解决IPv6节点之间通过IPv4网络进行通信。

翻译技术:解决纯IPv6节点与纯IPv4节点之间进行通信。

过渡技术-隧道

在这里插入图片描述 两节点之间不能使用NAT技术,因为IPv4地址必须全局可路由。

小型网络可以人工配置隧道。对于IPv4/IPv6双栈主机,地址必须已知,可以配置一条默认的隧道,以便把不能连接到任何IPv6路由器的分组发送出去。

大型网络配置人工隧道比较困难,主要可以通过隧道中介(Tunnel Broker)技术解决。隧道服务器是一种即插即用的IPv6技术,通过IPv4网络可以进行IPv6分组的传送。

在这里插入图片描述

自动隧道(ISATAP):两个双栈主机可以通过自动隧道在IPv4网络中进行通信。可以穿透NAT设备,与私网之外的主机建立IPv6连接。

在这里插入图片描述

过渡技术-地址翻译

已知翻译方法有如下几种:SIIT,NAT-PT,SOCKS64,TRT。

过渡技术-地址翻译(Network Address Trannslation-Protocol Translator,NAT-PT),适用于纯IPv6节点与纯IPv4节点间的通信。它必须指定一个服务器作为NAT-PT的网关,并且要准备一个IPv4地址块作为地址翻译所用,要为每个站点预留一个IPv4地址。

  • 静态NAT-PT 1:1
  • 动态NAT-PT M:N
  • 基于端口NAPT-PT M:1

在这里插入图片描述

示例:

主机A的IPv6地址:FEDC:BA98::7654:3210

主机B的IPv6地址:FEDC:BA98::7654:3211

主机C的IPv4地址:132.146.243.30

主机A若要与主机C通信,则主机A生成一个分组,源地址:FEDC:BA98::7654:3210(主机A的IPv6地址),目标地址:格式前缀::132.146.243.30。