简要总结IPv6

IPV6的重要特性

注:本文适合有IPv4有一定了解的读者阅读,很多地方只能一笔带过,更多细节可以阅读清华大学出版社出版的《高级计算机网络》


IPv6编址技术

  IPv6的地址长度为128位,通常使用“冒号十六进制”的方法来表示,如“3FFE:0000:0000:0000:A2B3:0000:0000:DC69”。在IPv6中,网络地址分为三种类型:单播(unicast)、多播(multicast)、任播(anycast)。单播和多播分别标识了一个接口和一组接口,广播地址被视作多播地址的特例。而任播比较特殊,它标识的是一组结点中任意一个成员,向任播地址发送的分组最终只会发给“最近的”接口,即源节点的数据流被转发到组里最近的结点,因此可以说它是介于单播和多播之间的一种地址。

  IPv6地址是以网络接口为单位分配的,一台设备也被称为一个结点(node),可以拥有多个IPv6地址。同时,一个接口也可以被分配多个多种类型的IPv6地址。其中,单播地址又可以分为可聚合全局单播地址(全球地址)、有限范围的单播地址(局域网内使用)、嵌入IPv4地址的IPv6地址(用于IPv4向IPv6过渡)等。任播地址在移动网络中有重要应用,多播地址也在ICMPv6扮演了重要角色,这两者不再深入讨论。


IPv6地址的可聚合性和多层次结构

  为了更好地体现出因特网的拓扑结构(我认为IPv6地址够长也是一个原因),IPv6引入了具有多层次结构的可聚合地址,因特网各个层次的结构在地址中都分配了属于自己的结构标识。因特网中不同层次的路由系统只能分辨出地址中位于它所在层次之上的子网标识,即低层次的网络结构在高层次的节点中是透明的。


IPv6中的扩展首部技术

  IPv6中对应IPv4中的数据报的元素叫做分组。相比IPv4数据报中的头部,IPv6采取了基本首部+扩展首部的方案,只在基本首部中保留了传输过程中经过的结点都必须处理的信息,大大提高了路由器的处理效率。

  值得一提的是,在IPv6分组中,扩展首部也被视作是数据部分的一部分,具体的类型和长度由基本首部中的NextHeader部分指定,通过链表式的结构,将需要中间路由器处理的扩展首部放在链表的前面,只需要目的节点处理的扩展首部放在后面,可以看作是IPv4数据报中的选项部分。
  另外,下一头部字段的长度达到了八位,也就是可以定义256种扩展首部,另外也可以通过目的选项扩展首部建立新的选项,为升级留下了充足的空间。


ICMPv6

  在IPv6中,ICMPv6被重新定义,与原有的ICMP协议不再兼容,功能大大增强,实现了原来的ICMP、ARP和IGMP等协议的功能,并具有差错报告、网络诊断、邻结点探测、替代ARP进行地址解析、前缀重新编址、路径MTU探测、路由器重定向、无状态地址自动配置,以及替代IGMP协议实现多播组成员管理等功能。

ICMPv6报文可分为差错报告报文和信息报文两类,差错报告报文主要用于返回错误信息,与原有的ICMP报文类似,但只保留了目的不可达、分组过大、超时和参数错误四种差错报告,信息报文则相对种类丰富得多,已经定义了十多种信息报文。

下面介绍邻结点探测协议NDP和无状态地址自动配置机制。

NDP有点类似于OSPF协议。每台主机可以发送邻结点请求报文来请求特定IP地址主机的链路层地址,同时如果收到邻结点请求报文且其中的目的地址属于自己,则需要发送邻结点通告报文做出回应。这样就实现了ARP协议的功能,同时也被用于测试两台主机之间的连通性。

对于路由器来说,每台路由器根据配置每三十秒到五分钟发送一个路由器通告报文,更新系统中关于路由器的信息,同时,每台主机也可以发送路由器请求报文来使得路由器发送路由器通告报文。

利用NDP可以实现无状态地址自动配置机制,实现IPv6的“即插即用”。无状态地址自动配置的过程如下:
1. 生成临时本地链路地址:主机根据本地链路的64位网络前缀(FE80::/64)以及EUI-64本地接口地址标识生成临时地址。
2. 验证本地链路地址在本地链路上的唯一性:通过发送邻结点请求报文,如果有应答,则配置停止。
3. 获得配置信息:发送路由器请求报文
4. 配置:根据路由器通告报文配置相关信息


IPv4 to IPv6

  目前IPv4向IPv6过渡的方法主要有三种:
  1. 双协议栈(Dual Stack):利用同时支持IPv4和IPv6的结点来实现数据在两种网络中的互相传输

  2. 隧道技术:由于支持IPv6的网络少,在网络世界中就像一座座孤岛,因此隧道技术主要是将IPv6分组封装在IPv4数据报中

  3. IPv6/IPv4协议转换:通过NAT-PT路由器实现

你可能感兴趣的:(计算机网络)