首页 > 其他分享 >IPv6的基本认识

IPv6的基本认识

时间:2023-05-30 09:04:17浏览次数:49  
标签:基本 0000 认识 IPv6 地址 IPv4 链路 内网

IPv6

1.IPv6的基本认识

IPv4 位数是 32位,4字节,能够提供的IP地址大约是42亿,但你知道的,如今一个人都不止一个IP地址,看看如今设备的数量及发展速度就知道,所以有了IPv6,IPv6能够提供大量的地址.

  • IPv6:128位,16字节,能够提供的IP地址听老师以及教材都谈及过,地球上的沙子都不放过,我也是佩服

    具体是多少个IP地址呢?

  • 2128 个可提供的IP地址,这大概是3.4*1038 这么多.

IPv6的地址格式

  • IPv6使用128位地址,相比IPv4的32位地址更大。IPv6地址采用冒号分隔的八组四位十六进制数表示,如2001:0db8:85a3:0000:0000:8a2e:0370:7334。
  • IPv6地址中可以使用双冒号(::)表示一组或多组连续的0,以简化地址表示。例如,2001:0db8::1 表示 2001:0db8:0000:0000:0000:0000:0000:0001。

2.IPv6的头部格式

IPv6

  • 对比IPv4:取消了校验和字段,本身IP校验和字段其实感觉就挺鸡驻的.现在大部分路由器都不怎么启用这个功能了,同时还取消了分片机制这个字段,还有可选字段也取消了.

嗯,其余字段作用功能基本一样,现在来理解一下

  1. 通行量号(Traffic Class):8bit,和IPv4的服务分区(TOS)差不多一个意思,用于表述数据包的一些流量要求,具体一点就是什么吞吐量,延迟的
  2. 流标号(Flow Label):20bit,这个字段属于特有的了,用于标识特定的数据流,通常用于实现服务质量(QoS)和流量标记。(这个字段可用可不用,这是我查到的资料,根据操作系统,网络设备也有关)
  3. 有效数据长度(Payload Length):16比特,标识数据部分的长度,单位字节.和IPv4的总长度字段功能基本一直.
  4. 下一个首部(Next Heade):8bit,这个字段表示紧随IPv6报文的下一个协议是什么,比如TCP,UDP,ICMPv6,和IPv4协议字段中的协议字段基本功能一样.
  5. 跳数限制(Hop Limit):8bit,这个字段表示网络上经过的最大跳数,就跟IPv4中的TTL字段一样,每经过一跳,跳数-1.

3.IPv6地址的结构

在IPv6地址中,还可以有一些特殊用途的地址类型:

  • 单播地址(Unicast Address):用于标识单个接口的地址。
  • 多播地址(Multicast Address):用于标识一组接口,数据包将被复制并发送到该组中的所有接口。
  • 任播地址(Anycast Address):用于标识一组接口中的任意一个接口,数据包将被路由到距离最近的任一接口。

此外,还有保留地址用于特定的用途,如环回地址(Loopback Address)和链路本地地址(Link-Local Address)等。

回环地址 0000...0(128位) ::1/128
本地地址 1111110..... FC00::/7
链路本地地址 1111111010... FE80::/10
多播地址 11111..... FF00::/8
  • 本地地址:相当于IPv4中的内网的私有地址,可在一个网络下通信,因为在一个子网下,比如什么192.168.X开头的,还是10.开头的,能明白大致含义就行.

  • 单播地址:上述表格里没有,也就是除了这些地址外的地址,相当于IPv4中的公网地址,也就是不会重复,其实这些地址的用法上和IPv4的用法上本质是一样的.

  • 多播地址:相当于IPv4的组播地址.在IPv4中,组播地址一般都用D类地址来表示,也就是224.0.0.0开头,而IPv6也有这种表示.

  • 链路本地地址:在IPv4中其实没有明确的规定,在同一链路单播通信,不经过路由器就可以使用链路本地地址.

    链路与内网:个人感觉其实是对内网的一个细分,因为内网的主机随着IPv6的地址分配,其实这个内网下的主机数就变多了,这时候如果没有层次的划分,内网里的主机数也会显得很臃肿,链路就好比每个房间里的人都共用一个链路,或者说一栋楼里的都用一个链路,链路一般的划分是根据交换机,数据链路层嘛,这样一个链路的人们一般来说一定是一个内网下的人.

  • 回环地址:127.0.0.1.....这个就不多说了.

接下来放出大图:方便理解链路本地与本地地址的区别:

链路本地地址和本地地址IPv6

标签:基本,0000,认识,IPv6,地址,IPv4,链路,内网
From: https://www.cnblogs.com/looktheworld/p/17442199.html

相关文章

  • Java中的Stream基本使用
    一Java中的流库Stream是Java8中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用StreamAPI对集合数据进行操作,就类似于使用SQL执行的数据库查询。也可以使用StreamAPI来并行执行操作。简而言之,StreamAPI......
  • C++ Primer 第一、二章 C++基础,变量和基本类型
    一、C++基础<iostream>包含两个基础类型,istream-输入流和ostrea-输出流。标准库定义了四个IO对象cin-标准输入(istream),cout-标准输出(o),cerr-标准错误(o),clog-用来输出程序运行时的一般性信息(o)。 #include<iostream>intmain(){std::cout<<"Enter"<<std:......
  • 认识枚举
         ......
  • 【python基础】基本数据类型-数字类型
    Python3支持int(整型数据)、float(浮点型数据)、bool(布尔类型)1.int(整型数据)在Python3里,只有一种整数类型int,表示为长整型。像大多数语言一样,数值类型的赋值和计算都是很直观的。1.1数值运算编写程序如下所示运行结果如下所示这里需要注意的是数值的除法运算,包含两......
  • 认识D-Bus
    文章目录一、D-Bus简介1、D-Bus简介2、不同IPC通信方式比较3、D-Bus特性二、D-Bus架构1、D-Bus架构简介2、D-Bus接口层3、D-Bus总线层D-Bus发送消息通常包含如下步骤:4、D-Bus封装层三、D-Bus术语1、D-Bus术语简介2、总线(Bus)3、地址(Address)4、连接名(BusName)5、对象和对象路径(......
  • Linux基本命令(基础版)
    具体Linux的信息建议先自己百度了解,本博客是笔者自己的学习记录,因此本博客是按照本人的学习进度及内容而写的,如有错误或者忘记的,欢迎留言告知。进入Linux系统Linux系统与Windows系统的设定理念大不相同,windows系统的设想是用户都是傻子,所以系统面向对象来说比较简单,而Linux系统则认......
  • Linux工作原理2常用基本命令和目录层次结构
    本章是对本书中你将遇到的Unix命令和工具的指南。为什么是Unix命令?这不是一本关于Linux如何工作的书吗?当然是的,但Linux在本质上是一种Unix风格。在本章中,你会看到Unix这个词,而不是Linux,因为你可以把你学到的东西直接带到BSD和其他Unix风味的系统中去。我试图避免涉及太多Linux特......
  • Lua安装及基本语法
    lua的安装1安装luawgethttp://luajit.org/download/LuaJIT-2.0.5.tar.gztar-zxvfLuaJIT-2.0.5.tar.gzcdLuaJIT-2.0.5make&&makeinstallPREFIX=/usr/local/LuaJIT2配置环境变量vim/etc/profileexportLUAJIT_LIB=/usr/local/LuaJIT/......
  • 第三章 基本数据结构
    3.1线性数据结构一旦某个元素被添加进来,它与前后元素的相对位置将保持不变3.2栈3.3.1什么是栈添加和删除操作总发生在同一端,即顶端,另一端称为底端。元素添加顺序:后进先出。应用:点击返回按钮,反向浏览网页。......
  • Redis基本使用
    1.Redis的基础知识Redis是采用C语言写的,官方提供的是100000+的QPS,这个不比使用key-value的Memecache差,默认有16个数据库,默认使用的是第0个,redis是单线程,redis是很快的,CPU不是redis性能瓶颈,Redis的瓶颈是根据机器的内存和网络带宽,既然可以使用单线程来实现,就使用单线程了Redis......