网络层5——IPV6

目录

一、IPv6 vs IPv4

1、对IPv6主要变化

2、IPv4 vs IPv6

二、IPv6基本首部

1、版本——4位

2、通信量类——8位

3、流标号——20位

4、有效载荷长度——16位

5、下一个首部——8位

6、跳数限制——8位

7、源 、 目的地址——128位

8、扩展首部

三、IPv6地址

1、目的地址

2、冒号十六进制记法

四、从IPv4到IPv6过渡

1、双协议栈

2、隧道技术

3、ICMPv6


IPv4是上世纪70年代末设计的
32位,仅有2^32个,最多分配42亿个IP地址
但是,如今全世界加起来的网络设备早已经不止42亿
因此,32位不够
不够怎么办,那就扩
于是,IPv6应运而生

一、IPv6 vs IPv4

1、对IPv6主要变化

1、更大的地址空间128
2、仍支持无连接传送
3、数据单元叫做分组,不叫数据报
4、扩展地址层次结构
5、灵活首部格式(IPv4首部 和 IPv6首部格式不兼容
6、IPv6允许有选项的控制信息,在有效载荷中,但是首部固定,40字节
7、即插即用
8、支持资源预分配
9、首部改为8字节对齐,IPv4是4字节对齐

2、IPv4 vs IPv6

基本将IPv4的所有部分全部取消
只将TTL(生存时间字段)改为跳数限制字段

IPv6数据报由两大部分组成:基本首部(固定40字节)+  有效载荷(净负荷)
有效载荷允许由0 / 多个扩展首部,再后面才是数据部分
所有的扩展首部都不属于基本首部

IPv4 和 IPv6对比

二、IPv6基本首部

1、版本——4位

指明协议版本,IPv6是6

2、通信量类——8位

区分IPv6数据分组的优先级类别和优先级
类似于IPv4的服务字段

3、流标号——20位

支持资源预分配
路由器把数据分组和一个给定的资源联系

流:在网络中,从特定源点到特定终点的一系列数据分组
流所在路径的多个路由器保证指明服务质量
所有属于一个流的数据分组拥有一样的流标号

4、有效载荷长度——16位

指明除首部长度意外的数据长度
最大为2^16 = 64KB,65535字节

5、下一个首部——8位

和IPv4的协议相似
指明IP数据分组应当交给上层那个协议

6、跳数限制——8位

和IPv4相似,TTL时间
作用是:防止数据分组在网络中无限制存在,占用资源
在数据发送前,设置该值,最大为255
每经过一个路由器,该值-1

7、源 、 目的地址——128位

数据报发送主机IP地址 和 目的主机地址

8、扩展首部

逐跳选项、路由选择、分片、鉴别、封装安全有效载荷、目的站选项

每一个扩展首部由若干字段组成,长度各不相同
但所有扩展首部第一个字段都是8字节的“下一个首部”字段
该字段指明:紧跟着的后一个扩展首部是什么

三、IPv6地址

1、目的地址

目的地址可以分为三个类型:

单播:点对点通信
多播:一对多通信(广播是其中一个特例)
任播:一对多通信,但是数据只给其中一个主机

IPv6把实现IPv6协议的主机 / 路由器成为节点
节点的每一个接口分配一个IPv6地址
因此,一个节点可能会有多个单播地址
这任意一个单播地址都可以是该节点的目的地址

2、冒号十六进制记法

128位,如果使用点分十进制记录,如下:

很不方便,因此,改用冒号十六进制记法
每16位的值用十六进制表示(1111 1111 1111  1111 -> FFFF)

零压缩:一连串连续的0可以使用冒号省略
为避免混淆,任何一个地址只能使用一次零压缩

IPv6取消了地址掩码,但是依旧有斜线/
例如:2001:0DB8:0:CD30::/60 表示前60位为网络号

几个常用和特殊地址:
为指明地址:全0 ,只能用作某主机源地址(还没有分配IPv6地址时方可),不能作为目的地址
环回地址: ::1,用于主机程序测试

IPv6没有广播地址

四、从IPv4到IPv6过渡

过度不是一蹴而就,需要IPv6能够兼容IPv4

1、双协议栈

主机配备双协议:IPv4 / IPv6
这种主机和IPv4通信就使用IPv4的地址,和IPv6通信就使用IPv6的地址
那么如何知道目的主机地址是什么类型?
使用域名系统DNS查询
目的主机向源主机返回DNS报文,该报文带有目的主机的地址类别信息
但是安装双协议栈代价太大

2、隧道技术

IPv6进入IPv4网络时,将IPv6数据报封装为IPv4数据报
把整个IPv6数据报作为IPv4的数据部分,此时IPv4首部协议部分值为41
41表示数据部分为IPv6数据报
这样IPv6在IPv4的网络中传输就好像IPv4数据报一样,没有任何变化
当IPv4数据报到IPv6网络事,就将数据部分交给IPv6网络即可

总之,就是封装

3、ICMPv6

IPv6也不提供可靠传输
可靠传输由ICMP协议保证

IPv4中的ARP地址解析协议 和 IGMP 网络组管理协议 被整合到IPv6 的ICMPv6中
IPv6使用面向报文协议,通过报文报告差错
 

上一篇:力扣(leetcode)题目总结——哈希表篇


下一篇:Python解力扣算法题(六)(详解+注释)