由于互联网的快速发展与普及,原有的IPV4地址已不能满足网络用户的需求,虽然NAT可以缓解IPV4地址的耗尽,但NAT破坏了网络环境的开放、透明以及端到端的特性,因此IPV6地址协议应运而生。

IPV6协议使用128位地址替代32位的IPV4地址,这样大约可以产生340万亿亿亿亿(3.4*1038)个可用的地址。此数目可以满足公共IP地址需求。本文作为IPV6入门,主要介绍IPV6地址和IPV6报文格式相关内容。

IPV6优点

1、更大地址空间:128位的地址空间可以满足星球上每个人

2、无需NAT:保障端到端通信

3、没有广播地址:包括单播、多播、任意播

4、支持移动性和安全性:有助于确保遵循移动IP标准和Ipsec标准

5、更简单的报文提高了路由器的效率

6、接口标识:从接口的数据链路层

IPV6新特性

1、每个接口多个地址

2、链路本地地址:交换路由更新时,IGP将link-local地址作为下一跳地址

3、无状态自动配置:一个IPV6设备根据本身分配一个独特link-local IPV6的地址

4、独立或不独立于提供商的编址

IPV6地址

1、IPV6地址由128位组成,使用8个16位段来表示,每个16位段使用十六进制数字表示即每4个十六进制为一组,之间使用英文冒号:分开

2、格式为:x:x:x:x:x:x:x:x x代表4个十六进制位,举例:2035:0001:2BC5:0000:0000:087C:0000:000A

3、IPV6地址包括两部分:前缀+本地标识

4、前缀:通过在IPV6地址后面加一个斜线/,再跟一个十进制的数字来标识一个IPV6地址的起始位由多少位是前缀位,一般前缀为64位,如:3ffe:1994:100:a::/64

5、接口标识:从接口的数据链路层地址直接派生出接口标识,该标识是全局唯一。长度为64位,根据MAC地址动态创建。

6、特殊的IPV6地址如下表:

IPV6地址

描述

::/0

缺省路由

等同于IPV4 0.0.0.0

::/128

未指定地址

不能分配给真实的网络接口

::1/128

本地的环回地址

等同于IPV4的127.0.0.1

FE80::/10

链路本地单播地址

等同于Windows自动配置的IP地址169.254.x.x

FF00::/8

组播地址

其他地址

全局单播地址

001(当前分配的)即:2xxx::/4或者3xxx::/4

其余的为未分配的全球单播地址

IPV6地址简写规则:

1、在4个十六进制位组成的字段中,可以省略前导0;如:09C0=9C0 0000=0

2、在每个地址中,可使用一对冒号(::)来表示任意数量的连续的0,;如:ff02:0000:0000:0000:0000:0000:0000:0005=ff02::5

注:一个地址中只能出现一对冒号,否则无法唯一确定地址

IPV6地址类型

地址类型

描述

单播

一个地址标识单个接口

发送给单播地址的分组将传输到该地址标识接口

多播

一个多播地址标识位于不同设备上的一组接口

发送给多播地址的分组将传输到该地址标识的所有接口

多播地址不会作为源地址出现

任意播

一个地址分配给多个接口

这些接口代表不同的节点

将分组发送到任意播组中最近接口(第一个邻居),其他情况根据路由协议的度量值确定

全球单播地址格式: 网络部分提供一台设备到下行专用数据链路的定位,主机部分提供这条数据链路上该设备的标识 。16位的子网ID字段可以提供65536(216)个不同的子网

全球路由选择前缀(48)

子网ID(16)

接口ID (64)

本地单播地址:使用范围限定在单条链路上的地址。唯一性只在所在的链路有效,相同的地址也可能存在于另一条链路上,因此此地址离开所在的链路是不可路由的。链路本地单播地址的起始10位是1111111010(FE80::/10)

IPV6单播地址分配方法:

说明:每个接口只能有一个链路本地地址

仅仅配置一个全局单播地址也会在接口上创建一个链路本地地址(EUI-64)

接口上可以配置多个IPV6地址。IPV4和IPV6地址可以同时配置

以太网的接口ID是基于接口的48位MAC地址中间插入16位的0XFFFE

多播地址格式

多播前缀:8位

标记:4位

范围:4位

组ID:112

说明:标记位:前3位保留为0,第4位:0-永久的公认的地址;1-暂时的地址

范围:包括:节点本地-0X1、链路本地-0X2、地区本地-0X5、组织本地-0X8、全球-0XE、保留-0XF 0X0

组ID:前面80位设置为0,只使用后面的32位

常见的公认IPV6多播地址:都属于永久的链路本地的范围;

地址

多播组

FF02::1

所有的节点

FF02::2

所有的路由器

FF02::5

OSPFv3路由器

FF02::6

OSPFv3指定路由器

FF02::9

RIPng路由器

FF02::A

EIGRP路由器

FF02::B

移动代理

FF02::C

DHCP服务器/中继代理

FF02::D

所有的PIM路由器

IPV6包头格式

说明:

版本:4位,0110表明版本6

流量类别:8位,类似于IPV4中的TOS字段

流标签:20位,设置目的是允许为特定的业务流打上标签,可以提供更精细的服务类别区分的颗粒,在平衡业务流量通过多条路径时可以确保属于同一流的数据包能够总是转发到相同路径上,在发起一个数据包时,加上合适的流标签字段,路由器能够识别一条流,而不必一 一查找数据包头部,目前路由器忽略此字段

有效载荷长度:用来封装数据包所封装的有效载荷长度,IPV6数据包头部长度为40字节

下一报头:指出IPV6数据包头部后面的报头,与IPV4包中的协议字段类似

跳数限制:类似于IPV4中的TTL字段,衡量一个数据包到达目的地的路径中所能跨越的最大路由器跳数的工具

源地址和目的地址:128位长度

可选项:包含拓展报头,提供可选功能,如:分段、源路由选择或认证、目的地可选项、TCP/IP协议等,在下一个报文字段中是否有扩展报头

IPV6报头

路由选择扩展报头

分段扩展报头

认证扩展报头

上层协议报头

数据

网络协议IPV6基础知识点集锦的更多相关文章

  1. TCP/IP网络协议基础知识集锦[转]

    引言 本篇属于TCP/IP协议的基础知识,重点介绍了TCP/IP协议簇的内容.作用以及TCP.UDP.IP三种常见网络协议相关的基础知识. 内容 TCP/IP协议簇是由OSI七层模型发展而来的,之所以 ...

  2. ****** 四十二 ******、软设笔记【网络基础】-IPv6协议、常用的网络协议

    一.IPv6协议 IPv6协议,全称"互联网协议第6版",即下一代的网际协议. 相对于IPv4来说,IPv6协议主要改进: *扩展的地址.IPv6地址长度为128位. *IPv6使 ...

  3. Java 面试知识点解析(五)——网络协议篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

  4. python之旅:网络基础之网络协议篇

    一.操作系统基础 操作系统:(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才 ...

  5. python全栈学习笔记(一)网络基础之网络协议篇

    阅读目录 一.操作系统基础 二.网络通信原理 2.1 互联网的本质就是一系列的网络协议 2.2 osi七层协议 2.3 tcp/ip五层模型讲解 2.3.1 物理层 2.3.2 数据链路层 2.3.3 ...

  6. 27 python 网络基础之网络协议

    一.操作系统基础 操作系统:(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才 ...

  7. 网络基础之网络协议篇---CS架构--网络通信--osi 协议---套接字socket--粘包

    1 C\S 客户端/服务器架构: .硬件 C/S架构 (打印机) .软件 C/S 架构 互联网中处处是C/S架构 如黄色网站是服务端,你的浏览器是客户端(B/S架构也是C/S架构的一种) 腾讯作为服务 ...

  8. python 网络编程(网络基础之网络协议篇)

    前言 C/S  B/S 架构 client<----->server browser<--->server 学习socket编程就是要编写一个客户端软件和服务端软件,然后实现服 ...

  9. TCP/IP网络协议基础

    实验楼学习网络协议传送门 一.TCP/IP简介 TCP/IP(Transmission Control Protocol/Internet Protocol)是传输控制协议和网络协议的简称,它定义了电 ...

随机推荐

  1. java 选择排序与冒泡排序

    选择排序与冒泡排序的特点与区别 ++++++++++++++++++++++++++++++++++++++++++++++ 选择排序 这一种简单的排序方法,它的基本思想是:R[n]第一次从R[0]~ ...

  2. 无法连接到已配置的web服务器

    问题:如题,asp.net WebForm的项目,在vs中选择aspx文件在浏览器中查看时候回报该错误. 网上最多的解决方案是防火墙的原因,说关闭防火墙就可以了.但问题是我另一个项目没有问题啊,所以不 ...

  3. 关于java中replace的用法

    今天突然看到Java中的replace有两种方法,一种是直接替换,另一种是可以进行匹配替换的方式: public String replace(CharSequence target, CharSeq ...

  4. Django--2、form表单

    django中定义form表单的优势 HTML中提交后,若数据出现错误,返回的页面中仍然可以保留之前输入的数据. 通过校验规则可以方便的限制字段条件并校验. 在Django中建个form表单 先要确定 ...

  5. Hive扩展功能(九)--Hive的行级更新操作(Update)

    软件环境: linux系统: CentOS6.7 Hadoop版本: 2.6.5 zookeeper版本: 3.4.8 主机配置: 一共m1, m2, m3这三部机, 每部主机的用户名都为centos ...

  6. 个人觉得比较好用的chrome插件

    印象笔记·悦读 "悦读"可使博文.文章和网页变得简明而又易于阅读.将其保存至印象笔记以便随时随地阅读. Anything to QRcode 通过右键菜单或地址栏按钮将当前页面地址 ...

  7. linux运行jar报错

    通过maven打jar包,然后复制到虚拟机上执行nohup java -jar xxx.jar &命令,运行jar文件,这时抛出了异常 com.mysql.jdbc.exceptions.jd ...

  8. attack on titans(动态规划递推,限制条件,至少转至多方法,进击的巨人)

    题目意思: 给n个士兵排队,每个士兵三种G.R.P可选,求至少有m个连续G士兵,最多有k个连续R士兵的排列的种数. 原题 Attack on Titans Time Limit: 2 Seconds ...

  9. <MyBatis>入门八 工作原理

    1.获取sqlSessionFactory对象 首先拿到全局配置文件的流对象 创建SqlSessionFactoryBuilder对象,并调用build方法,把流传进去 build方法 创建一个XML ...

  10. 验证DNS解析失败:解决办法之一

    今天晚上练习简单的DNS解析验证: 环境是在一台虚拟机上搭建,另一台虚拟机验证,步骤如下: 虚拟机A: 1.安装软件包 bind  和bind-chroot[root@svr7 ~]# yum -y ...