[IPv6]常用的几种IPv4和IPv6地址格式

news2024/10/2 21:44:12

记录一下常用的IPv4和IPv6地址格式

IPv4

IPv4地址是32位的,通常表示为“192.168.1.12”这样点分成4段的形式。
一个IP地址可以分为两部分,网络ID和主机ID。如何区分哪些位是网络ID,哪些位是主机ID,就需要子网掩码。

子网掩码

子网掩码使用来区分网段的,不同网段之间是不能直接通信的。
子网掩码的计算:
ip地址与子网掩码

广播地址

主机位全为1就是该子网的广播地址。例如:
192,168.1.255/24,就是 192.168.1.0网段的广播地址。
子网广播地址是可以被路由转发的,但是如"255.255.255.255"这个受限广播地址是不会被路由转发的。
参考:101-指向子网的广播

本地回环地址

127.0.0.1,数据不会经过网卡,用于本地测试

任意地址

任意地址,就是在socket编程的时候使用的 INADDR_ANY。
INADDR_ANY 实际上值得是 0.0.0.0,它的意思是不指定具体的网卡。

IPv6

IPv6地址是128位的,用:分为8个16进制的段。
ABCD:EF01:2345:6789:ABCD:EF01:2345:6789

子网掩码

与IPv4的子网掩码类似

多播地址

IPv6没有广播,只有多播。
前缀为FF00::/8的都是组播地址。
比如:FF02::1,它会发给本地链路内的所有节点,我认为他是个只能在本网段不能经过路由转发的广播。
在windows中,可以用netsh interface ipv6 show joins命令,查看机器是哪些多播组的成员
在这里插入图片描述

本地回环地址

::1/128,用于本地测试

任意地址

任意地址,就是在socket编程的时候使用的 in6addr_any。
in6addr_any实际上值得是 0:0:0:0:0:0:0:0(即::),它的意思是不指定具体的网卡。
关于in6addr_any,发现了一篇文章,有机会验证一下:
IPv6 socket侦听in6addr_any的问题

全球单播地址和链路本地地址

IPv6的地址常用的有global 、link。
在linux中ifconfig会明确告诉,IPv6地址属于那种,例如:

		  inet6 addr: 2001:f80:888::159/64 Scope:Global
          inet6 addr: fe80::1fc3:1699:fe33:b227/64 Scope:Link

link地址(本地链路地址),前缀是FE80::/10 ,用于本地链路的直连通信,不能进行路由转发。
global地址,(全球唯一地址),前缀是2000::/3,用于向外通信。

->参考连接

链路本地地址和 Scope id(网卡索引)

在C++ 的socket编程中,sockaddr_in6有一个成员sin6_scope_id。

struct sockaddr_in6 {
  short sin6_family;
  u_short sin6_port;
  u_long sin6_flowinfo;
  struct in6_addr sin6_addr;
  __C89_NAMELESS union {
    u_long sin6_scope_id;
    SCOPE_ID sin6_scope_struct;
  };
};

sin6_scope_id(ULONG类型)实际上是本地网卡的索引号码。
它默认是0,相当于没有指定网卡,此时使用链路本地地址是无法进行通信的。
必须指定一个scope_id才行。
也就是下面索引这一列中的号码。
在这里插入图片描述
或者我们用ipconfig命令,查看到的网卡地址中,本地连接IPv6地址后面跟了个“%20”这里就是他的网卡索引是20。
在这里插入图片描述

我把怎么获取Scope_id记录在本专栏的:
《[IPv6] Linux 和 Windows中如何获取sockaddr_in6的sin6_scope_id》

为什么在使用链路本地地址的时候必须要指定scope_id,而全球单播地址不需要呢?
这是因为全世界的本地链路地址都是FE80::网段的,路由没法根据网段做出区分。所以需要指定连接使用的scope id,路由才会找到目标。
参考:闲谈IPv6-IPv6地址的scope到底是什么?

参考文章

闲谈IPv6-IPv6地址的scope到底是什么?
ping通ipv6地址
IPv6 socket侦听in6addr_any的问题
ip地址与子网掩码
101-指向子网的广播
IPv6地址、单播、多播/组播介绍
第四十七讲:IPv6基础知识
IPv6 技术精要–第7章 IPv6多播地址

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1402067.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

利用STM32CubeMX和keil模拟器,3天入门FreeRTOS(1.1) —— 创建多个静态任务实操和简单讲解

前言 (1)FreeRTOS是我一天过完的,由此回忆并且记录一下。个人认为,如果只是入门,利用STM32CubeMX是一个非常好的选择。学习完本系列课程之后,再去学习网上的一些其他课程也许会简单很多。 (2&am…

基于LSTM的负荷预测,基于BILSTM的负荷预测,基于GRU的负荷预测,基于BIGRU的负荷预测,基于BP神经网络的负荷预测

目录 背影 摘要 代码和数据下载:基于LSTM的负荷预测,基于BILSTM的负荷预测,基于GRU的负荷预测,基于BIGRU的负荷预测,基于BP神经网络的负荷预测资源-CSDN文库 https://download.csdn.net/download/abc991835105/8876806…

HCIA——22DNS:DNS层次域名空间、域名服务器、域名解析的原理

学习目标: 计算机网络 1.掌握计算机网络的基本概念、基本原理和基本方法。 2.掌握计算机网络的体系结构和典型网络协议,了解典型网络设备的组成和特点,理解典型网络设备的工作原理。 3.能够运用计算机网络的基本概念、基本原理和基本方法进行…

YOLOv8改进 | 主干篇 | 低照度图像增强网络SCINet改进黑暗目标检测(全网独家首发)

一、本文介绍 本文给大家带来的改进机制是低照度图像增强网络SCINet,SCINet(自校正照明网络)是一种专为低光照图像增强设计的框架。它通过级联照明学习过程和权重共享机制来处理图像,优化了照明部分以提升图像质量。我将该网络集成在YOLOv8的主干上针对于图像的输入进行增…

以太坊账户地址与比特B地址生成方法对比

作者 张群(赛联区块链教育首席讲师,工信部赛迪特聘资深专家,CSDN认证业界专家,微软认证专家,多家企业区块链产品顾问)关注张群,为您提供一站式区块链技术和方案咨询。 以太坊和比特B地址在生成方…

关于js的BigInt的使用与注意事项

说明 BigInt是一种内置对象,提供了一种方法来表示大于2^53 - 1 的整数,2^53 - 1 为Number可以表示的最大数字,BigInt可以突破限制,可以用任意精度表示整数,超出Number的安全整数限制,也可以安全地存储和操…

【AI】小白入门笔记

前言 2024年,愿新年胜旧年!作为AI世界的小白,今天先来从一些概念讲起,希望路过的朋友们多多指教! 正文 AI (人工智能) 提起AI, 大家可能会想起各种机器人,移动手机的“Siri”,"小爱同学", 是语…

GIS项目实战08:JetBrains IntelliJ IDEA 2022 激活

为什么选择 IntelliJ IDEA 使用编码辅助功能更快地编写高质量代码,这些功能可在您键入时搜索可能的错误并提供改进建议,同时无缝地向您介绍编码、新语言功能等方面的社区最佳实践。 IntelliJ IDEA 了解您的代码,并利用这些知识通过在每种上…

[java基础揉碎]位运算符

java中有7个位运算&#xff08;&、|、^、~、>>、<<和>>>&#xff09; 第一组 分别是按位与&、按位或|、按位异或^&#xff0c;按位取反~&#xff0c;它们的运算规则是&#xff1a; 按位与& : 两位全为1&#xff0c;结果为1&#xff0c;否则…

Debian11下编译ADAravis和Motor模块的一条龙过程

Debian11编译EPICS ADAravis记录 一年前整理的上面文&#xff0c;这几天重新走了一遍&#xff0c;有些地方会碰到问题&#xff0c;需要补充些环节&#xff0c;motor模块以前和areaDetector一条龙编译时&#xff0c;总是有问题&#xff0c;当时就没尝试了&#xff0c;这几天尝试…

生成当天递增唯一的流水号的几种方式

说明&#xff1a;当开发中&#xff0c;如交易、文件传输过程中的文件名&#xff0c;可能需要我们使用一串唯一的数字来锁定这一条“交互记录”&#xff0c;即流水号。 本文介绍几种生成6位递增唯一&#xff0c;且每日重置的流水号的方式。 方式一&#xff1a;使用Redis 我们…

OpenCompass 大模型评测

OpenCompass 大模型评测 关于测评的三个问题为什么需要测评&#xff1f;我们需要评测什么&#xff1f;怎么测试大预言模型&#xff1f; 主流大模型评测框架OpenCompass能力框架OpenCompass评测流水线设计 随着人工智能技术的快速发展&#xff0c; 大规模预训练自然语言模型成为…

3.RHCSA脚本配置及通过node2改密码

运行脚本发现node2不成功 脚本破解 选第二个 Ctrl x 换行 破解成功后做node2的改密码题 回到redhat, 发现检测程序检测密码题成功,得了8分.

《WebKit 技术内幕》之八(1):硬件加速机制

《WebKit 技术内幕》之八&#xff08;1&#xff09;&#xff1a;硬件加速机制 1 硬件加速基础 1.1 概念 这里说的硬件加速技术是指使用GPU的硬件能力来帮助渲染网页&#xff0c;因为GPU的作用主要是用来绘制3D图形并且性能特别好&#xff0c;这是它的专长所在&#xff0c;它…

Spring Boot 集成 API 文档 - Swagger、Knife4J、Smart-Doc

文章目录 1.OpenAPI 规范2.Swagger: 接口管理的利器3.Swagger 与 SpringFox&#xff1a;理念与实现4.Swagger 与 Knife4J&#xff1a;增强与创新5.案例&#xff1a;Spring Boot 整合 Swagger35.1 引入 Swagger3 依赖包5.2 优化路径匹配策略兼容 SpringFox5.3 配置 Swagger5.4 S…

快速转换,让图片瞬间变成Excel表格!

摘要&#xff1a;本文将带你探索将图片转换为Excel表格的可行性和方法。通过对一些流行的数据处理软件进行测试&#xff0c;我们发现Photoshop和Excel可以轻松地将图片转换为Excel表格。此外&#xff0c;我们还比较了不同软件之间的差异&#xff0c;并提供了一些建议&#xff0…

docker搭建hbase 全部流程(包含本地API访问)

一、使用docker下载并安装hbase 1、搜索&#xff1a;docker search hbase 2、下载&#xff1a;docker pull harisekhon/hbase&#xff08;一定要下载这个&#xff0c;下面都是围绕此展开的&#xff09; 3、启动容器&#xff1a; docker run -d -p 2181:2181 -p 16000:16000…

做一个简单的倒计时

<div>距离过年还有:<span></span></div><script>let div document.querySelector("div");let span document.querySelector("span");// 获取未来时间戳let future new Date("2024-2-10 00:00:00");// 获取当下…

Midjourney V6有多厉害,看完这27张图你就明白了!

一些结论 当前V6版本仍处于Alpha测试阶段&#xff1a;这意味着产品的某些方面可能会发生变化。 更准确地遵循提示指令&#xff1a;V6在遵循用户的提示指令方面更为准确&#xff0c;特别是对于较长的提示指令。 模型更加连贯&#xff1a;新版本的模型在生成图像时展现出更高的…

SpringBoot+Email发送邮件

引言 邮件通知是现代应用中常见的一种通信方式&#xff0c;特别是在需要及时反馈、告警或重要事件通知的场景下。Spring Boot提供了简单而强大的邮件发送功能&#xff0c;使得实现邮件通知变得轻而易举。本文将研究如何在Spring Boot中使用JavaMailSender实现邮件发送&#xf…