RaymondHuang
RaymondHuang
发布于 2024-06-18 / 53 阅读
0
0

Chapter 6 —— 网络层(4)

IPv6

· IPv4的局限性:

· IPv6的特性:

IPv6的基本首部

· IPv6支持无连接的传送,将协议传送单元(PDU)称为分组,为了方便起见,我们仍采用数据报这个说法。

· IPv6数据报的一般形式如下:

由2部分组成:

  1. 基本首部:固定为40字节。

  2. 有效载荷(Payload):也称为净载荷。这里面包含了0个或多个扩展首部以及数据部分

· IPv6把基本首部变为40字节,把其中不必要的功能取消了,使得IPv6基本首部就只有8个字段

· 对于基本首部,具体来说:

版本:4位,对于IPv6来说总是6

通信量类(Traffic Class):8位,为了区分不同的IPv6数据报的类别或优先级,这个字段目前还在进行实验。

流标号(Flow Label):20位,用于IPv6支持资源的预分配。"流"在这里指的是互联网上从特定源点到特定终点的一系列数据报,所有属于同一个流的数据报都有相同的流标号,因此,这个对音视频传送很有用。

有效载荷长度(Payload):16位,它指明IPv6数据报除基本首部外的字节数,所有拓展首部都算在有效载荷内,最大为64KB。

下一个首部(Next Header):8位,它相当于IPv6的协议字段或可选字段,当没有拓展首部时,相当于IPv4的协议字段,如6表示TCP,17表示UDP。

跳数限制(Hop Limit):8位,就是IPv4中的TTL,每经过一个路由器就减1,为0则丢弃,防止数据报在网络中无限存在。

源地址和目的地址:都是128位。

· 定义了6种IPv6的拓展首部:

在分片中,与IPv4支持在路径上的路由器进行分片不同,IPv6就只在源主机进行分片,并且,它会通过路径MTU发现(Path MTU Discovery)技术找到传输路径上路由器支持的最小MTU来进行分片,以确保传输过程中报文不会因为大于MTU而被路由器丢弃。

· 下一个首部其实就类似一个指针链表:

每一个首部除了有自己的信息外还会存储Next Header,比如上面第二个的Routing Header的Next Header=6,即下一个首部是TCP内容。

相比于以前放在可选字段里面,现在实现起来就更加方便。

IPv6的地址

· IPv6数据报的目的地址可以是:

  1. 单播(Unicast):即传统的点对点通信。

  2. 多播(Multicast):一对多通信。

  3. 任播(Anycast):IPv6增加的一种类型,其目的站是一组计算机,但数据报在交付的时候只交给距离最近的一个。可以理解为多个节点共享一个IPv6地址

· 结点与接口:

· 冒号16进制记法:IPv6使用冒号16进制记法,每个16位的值用16进制表示,各值之间用冒号分隔,例如:

· 冒号16进制记法允许零压缩(Zero Compression):即一连串连续的0可以用一对冒号来替代

值得注意的是,任一地址中零压缩只能用一次

· 点分十进制记法后缀:

· CIDR斜杠表示法:和IPv4类似,IPv6也可以用斜杠表示法,斜杠后面表示网络号前缀

· IPv6地址分类:

关于全球单播地址:

可以分为2级也可以分为3级,目前来说要使用IPv6的话仍要向国际相关组织去申请这个全球路由选择前缀。

· 地址映射转换:我们之前说过,子网前缀是路由器告诉主机的,主机需要生成一个接口标识符组合起来才能作为一个完整的IPv6地址,一般来说会使用主机的MAC地址去做标识符,但是我们知道,MAC地址只有48,如果子网前缀只给64位的话,就没办法凑成128位,此时就需要用到映射转换。

我们在公司ID和扩展ID之间填充16位,然后求个反就能获得全球管理位

从IPv4向IPv6过渡

· IPv4向IPv6过渡必须逐步演进,同时还必须使新安装的IPv6系统能兼容IPv4,即能接受和转发IPv4分组、选择路由。

· 向IPv6过渡的策略:

  1. 使用双协议栈:主机或路由器同时使用IPv4和IPv6协议。

  2. 使用隧道技术:一个协议封装另一个协议。

ICMPv6

· IPv6和IPv4一样是一个不可靠协议,需要ICMP来返回一些差错信息。

· 地址解析协议ARP和网际组管理协议IGMP都已经被包含在了新的ICMPv6中。

· ICMPv6报文类型(看看就好):


评论