网络层5——IPV6

目录

[一、IPv6 vs IPv4](#一、IPv6 vs IPv4)

1、对IPv6主要变化

[2、IPv4 vs IPv6](#2、IPv4 vs IPv6)

二、IPv6基本首部

1、版本------4位

2、通信量类------8位

3、流标号------20位

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

5、下一个首部------8位

6、跳数限制------8位

[7、源 、 目的地址------128位](#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使用面向报文协议,通过报文报告差错

相关推荐
小蜗牛慢慢爬行1 小时前
有关异步场景的 10 大 Spring Boot 面试问题
java·开发语言·网络·spring boot·后端·spring·面试
MARIN_shen1 小时前
Marin说PCB之POC电路layout设计仿真案例---06
网络·单片机·嵌入式硬件·硬件工程·pcb工艺
打鱼又晒网2 小时前
linux网络套接字 | 深度解析守护进程 | 实现tcp服务守护进程化
linux·网络协议·计算机网络·tcp
m0_748240022 小时前
Chromium 中chrome.webRequest扩展接口定义c++
网络·c++·chrome
終不似少年遊*2 小时前
华为云计算HCIE笔记05
网络·华为云·云计算·学习笔记·hcie·认证·hcs
蜜獾云2 小时前
docker 安装雷池WAF防火墙 守护Web服务器
linux·运维·服务器·网络·网络安全·docker·容器
小林熬夜学编程3 小时前
【Linux网络编程】第十四弹---构建功能丰富的HTTP服务器:从状态码处理到服务函数扩展
linux·运维·服务器·c语言·网络·c++·http
Hacker_Fuchen3 小时前
天融信网络架构安全实践
网络·安全·架构
上海运维Q先生3 小时前
面试题整理15----K8s常见的网络插件有哪些
运维·网络·kubernetes
ProtonBase3 小时前
如何从 0 到 1 ,打造全新一代分布式数据架构
java·网络·数据库·数据仓库·分布式·云原生·架构