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的头部格式

  • 对比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的基本认识的更多相关文章

  1. App 审核由于 IPv6 网络问题被拒

    昨天 提交App Store 的时候被拒了 We discovered one or more bugs in your app when reviewed on iPhone running iOS ...

  2. iOS 支持 IPv6

    苹果的规定:2016年6月1日提交到App Store必须支持IPv6-only网络. 官方文档:https://developer.apple.com/library/mac/documentati ...

  3. 中大东校小米路由器mini实现inode上网,ipv6 wifi【中大】【东校】【inode】【ipv6】

    还有不到4个月就要毕业了,前几天半夜没事捣鼓小米路由没想到竟然实现了wifi的ipv6. 正好又安利了同学一台小米路由mini,从刷机到inode到ipv6全搞了一遍. 这里将教程写出来,服务学弟妹. ...

  4. IPv6进阶

    IPV6报文部分字段介绍 1.没有校验和字段:优点:当TTL减少时,不需要重新处理,相对于IPV4能减少处理的时间:缺点:必须在上层包含校验和2.下一个报文:可指向扩展报文:(大部分节点不处理和查看大 ...

  5. iOS-不用网线搭建IPv6网络测试环境

    前言 从6月1日开始苹果要求之后审核的项目必须支持iPv6,如果不支持将被拒绝,掘金最近一次审核被就被拒绝了....理由为下: Apps are reviewed on an IPv6 network ...

  6. 通过ipv6访问 g o o g l e

    Google.Youtube.Facebook等均支持IPv6访问,IPv4网络的用户大部分都无法访问,比如Gmail,Google Docs等等各种相关服务.而该类网站大部分均已接入IPv6网络,因 ...

  7. CentOS7中禁用IPV6

    helps from: https://linux.cn/article-4935-1.html vi /etc/sysctl.conf net.ipv6.conf.all.disable_ipv6 ...

  8. IPV6入门篇

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

  9. 【ipv6惹的祸】curl 超时

    偶然发现 最近在公司日志平台 总是可以看到很多关于php curl的错误信息 Operation timed out after 0 milliseconds with 0 out of 0 byte ...

  10. 在Linux下禁用IPv6的方法小结

    在Linux下禁用IPv6的方法小结--http://www.jb51.net/LINUXjishu/335724.html 这篇文章主要介绍了在Linux下禁用IPv6的方法小结,禁用IPv6的操作 ...

随机推荐

  1. 逍遥自在学C语言 | break-循环的中断与跳转

    前言 在C语言中,break语句是一种控制流语句,它用于终止当前所在的循环结构(for.while.do-while)或者switch语句,从而跳出循环或者结束switch语句的执行. 一.人物简介 ...

  2. STL-vector(ACM)

    1.长度可变的数组 2.这里不是很懂,v.size() 代码源里说这个v.size()是无符号类型的,使用时要说明类型, 但是我在使用时并没有出现warning,有大佬知道原因吗? 前置板子 3.ve ...

  3. StencilJs 学习之 JSX

    Stencil 组件使用 JSX 渲染,这是一种流行的声明式模板语法.每个组件都有一个渲染函数,它返回在运行时渲染到 DOM 的组件树. 基础用法 render 函数用于输出将绘制到屏幕上的组件树. ...

  4. 曲线艺术编程 coding curves 第十二章 超级椭圆与超级方程(Superellipses and Superformulas)

    第十三章 超级椭圆与超级方程(Superellipses and Superformulas) 原作:Keith Peters https://www.bit-101.com/blog/2022/11 ...

  5. 深度解析SpringBoot内嵌Web容器

    你好,我是刘牌! 前言 今天分享一个SpringBoot的内嵌Web容器,在SpringBoot还没有出现时,我们使用Java开发了Web项目,需要将其部署到Tomcat下面,需要配置很多xml文件, ...

  6. typescript的必要性及使用

    1 前言 作为一个前端语言,Javascript从最初只是用来写页面,到如今的移动终端.后端服务.神经网络等等,它变得几乎无处不在.如此广阔的应用领域,对语言的安全性.健壮性以及可维护性都有了更高的要 ...

  7. S32Kxxx bootloader之LIN bootloader

    了解更多关于bootloader 的C语言实现,请加我Q扣: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 上一次发布博文到如今既 ...

  8. 【NestJS系列】DI依赖注入与IOC控制反转

    前言 上篇文章我们学习了如何使用nest-cli来快速生成一个NestJS后端项目,当我们打开编辑器查看代码时,会发现整个代码风格有点类似JAVA的spring框架,并且你会发现一些service类在 ...

  9. typedef函数的使用

    typedef int INT; //相当于给int起了一个别名INT typedef struct Student { int sid; char name[100]; char sex; }ST; ...

  10. Libvirtd networks -- 为libvirtd 中虚拟机指定ip遇到的问题

    backgroup 为libvirtd 中虚拟机指定ip,操作如下: virsh --connect qemu:///system dumpxml vm01 | grep "mac addr ...