IPv6

一、 IPv5 哪里去了?

本来预计 ST-2 会成为 IPv5,后来 ST-2 被舍弃了。

二、和IPv4的区别

  1. 扩大的地址容量
    IP 地址从 32 bit 增加到 128 bit。
    进入了任播地址 (anycast address),可以把数据报交付给一组主机中的任意一个。
  2. 简化高效的 40 字节首部
    许多 IPv4 字段被舍弃或作为选项。定长的首部运行更快处理 IP 数据报。
    • 分片/重新组装
      IPv6 不允许中间路由器进行分片和组装。这种操作只能在源与目的地上执行。可以大大加快网络中的 IP 转发速度。
    • 首部校验和
      去掉了,因为运输层和数据链路层协议执行了校验操作。此外,快速处理IP分组是关注的重点
    • 选项
      选项字段的功能由“下一个首部”实现。
  3. 流标签与优先级
    利于 QoS 实现。

三、从 IPv4 到 IPv6 的迁移

  1. 双栈 (dual-stack)
    使用该方法的 IPv6 节点还具有完整的 IPv4 实现,具有 IPv6 和 IPv4 两种 IP 地址。这样的节点被称为 IPv6/IPV4 节点,具有发送和接收 IPv4 和 IPv6 两种数据报的能力。
    可以通过 DNS 来判定一个阶段是否是 IPv6 使能的或仅 IPv4 使能的。如果要解析的节点名字是 IPv6 使能的,那么 DNS 返回一个 IPv6 地址;否则,返回一个 IPv4 地址。如果发出 DNS 请求的节点是仅 IPv4 使能的,那么 DNS 只返回一个 IPv4 地址。
    在双栈方法中,如果发送方或接收方任意一个仅为 IPv4 使能的,则必须使用 IPv4 数据报。本质上,两个 IPv6 使能的节点不应互相发送 IPv4 数据报。

    如上图,A 和 B 之间可以交换 IPv6 数据报,B 和 C 之间则必须通过 IPv4 数据报交流。
    在执行 IPv6 到 IPv4 的转换时,有些 IPv6 特有的字段的信息将会丢失。

  2. 建隧道 (tunneling)
    假定两个 IPv6 节点要使用 IPv6 数据报进行交互,但是它们是经由中间 IPv4 路由器互联的。我们将两台 IPv6 路由器之间的中间 IPv4 路由器集合称为一个隧道。借助隧道,在隧道发送端的 IPv6 节点 (B),可将整个 IPv6 数据报放到一个 IPv4 数据报的载荷中。

四、教训

要改变网络层协议是及其困难的。

posted on 2017-05-21 19:46  花老🐯  阅读(294)  评论(0编辑  收藏  举报

导航