在这里插入图片描述


🔍 开发者资源导航 🔍
🏷️ 博客主页: 个人主页
📚 专栏订阅: JavaEE全栈专栏

IPv4(Internet Protocol version 4)是互联网最核心的通信协议之一,自 1981 年正式标准化以来,支撑了全球互联网近 40 年的发展,但是因为其数量的限制,正在逐步退出历史的舞台

IPv4 因为使用 32 位地址,因此其理论最大地址数量为:

2^{32}=4,294,967,296(约 42.9 亿个)

截止目前为止,IPv4已经全部使用殆尽。

​2011 年 2 月​ ​IANA(国际互联网号码分配机构)​​ 宣布 IPv4 地址池耗尽,最后 5 个 /8 地址块分配给全球 5 个 RIR(区域互联网注册机构)。

​2011 年 4 月​ ​APNIC(亚太地区)​​ 第一个耗尽 IPv4 地址的 RIR,仅保留少量地址用于过渡。

​2012 年 9 月​ ​RIPE NCC(欧洲)​​ 宣布 IPv4 地址耗尽。

​2014 年 6 月​ ​LACNIC(拉丁美洲)​​ 耗尽。

​2015 年 9 月​ ​ARIN(北美)​​ 耗尽。

而对于这个问题,现在使用的主流解决方法是NAT技术或者升级为IPv6

NAT技术

NAT(Network Address Translation)是一种 ​IP 地址转换技术,主要用于解决IPv4 地址短缺​问题,并提高网络安全性。它的核心功能是 ​将私有 IP 地址映射到公网 IP 地址,使多个设备可以共享一个公网 IP 访问互联网。

NAT技术将IPv4地址划分为两个部分:

私网IP:10.* && 172.16。*-172.31.* && 192.168.*
公网IP:除了上述的都是

公网和私网的关系可以看做是一个包含关系,同一个局域网的私网IP使用同一个公网IP进行上网,公网的IP是唯一的,而私网的IP在不同的局域网中是可以重复的。

 对于同一个局域网的私网IP他是动态变化的,每次上网时都是公网随机分配给你一个空闲的IP地址,当然你也可以手动设置成固定的一个值(偶尔可能会被占用)。

私网在访问网络时,会先通过公网IP,然后使用公网IP再去访问网络。

+-------------------+       +---------------------+       +---------------------+
| 私网设备          |       | NAT 路由器          |       | 互联网服务器        |
| (192.168.1.100)   | --->  | (公网IP: 203.0.113.1)| --->  | (8.8.8.8)           |
|                   | <---  |                     | <---  |                     |
+-------------------+       +---------------------+       +---------------------+

在NAT路由器中,存在一种映射关系,用于私网和公网之间的转换,不同的私网在使用公网IP时是通过端口号进行区分的。

 在返回响应时也是如此,根据映射关系替换掉IP地址以及端口号,然后转发给私网的设备。


除此之外,在NAT背景下网络通信还有以下规则:

1.同一个局域网下,两个设备可以互相通信

由于同一个局域下,私网IP地址不存在重复的情况,并不会涉及NAT。

2.公网设备A可以访问公网设备B

公网也不涉及IP地址冲突。

3.不同局域网下的设备A和设备B不允许互相访问

NAT机制禁止这样的访问方式,这也进一步提高了网络安全。

4.公网设备A不允许访问私网设备B

并不是绝对的,可以利用内网穿透的方式进行转发。


IPv6

IPv6(Internet Protocol version 6)是 IPv4 的升级版本,旨在解决 IPv4 地址枯竭问题,并提供更高效、更安全的网络通信。

IPv6是128位的地址,可以存储2^128位地址(约 ​340 万亿亿亿亿),这个数量即使给地球上的每一粒沙子都分配一个地址都够用。

IPv4和IPv6都是网络层的协议,但是他们的数据包格式不同。

对比项IPv4IPv6
地址长度32 位(4 字节)128 位(16 字节)
地址表示192.168.1.12001:0db8:85a3::8a2e:0370:7334
源/目标 IP 字段各 32 位各 128 位
头部大小20-60 字节(可变)40 字节(固定)

 IPv6数据包格式(部分)

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 版本 (6) | 流量类别 |              流标签                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|        载荷长度      | 下一个头部 |      跳数限制            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       源 IP (128 位)                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     目标 IP (128 位)                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

IPv6 仍然使用 IP 协议​(只是版本不同),但 IPv6 通常不需要 NAT,因为它的地址空间足够大(2^128 个地址),每台设备都可以有全球唯一的公网 IP。


 IPv4和IPv6两种协议并不兼容,因此IPv6的普及依旧需要时间。

  • 截至 2023 年​:全球 IPv6 采用率约 ​40%​​(中国、印度超 50%,美国仅 30%)。
  • 旧硬件/软件可能并不支持 IPv6。

长远角度来看,IPv6是解决该问题的终极方法,NAT技术可能会减少,但是不会完全消失。

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

模式结构-微服务架构设计模式

需求&#xff08;Forces)结果上下文(Resulting context)相关模式(Related patterns)需求&#xff1a;必须解决的问题需求部分描述了必须解决的问题和围绕这个问题的特定上下文环境。需求有时候是相互冲突的&#xff0c;所以不能指望把他们全部都解决&#xff08;必须取舍&#…

30个常用的Linux命令汇总和实战场景示例

下面汇总常用的 30 个常用的 Linux 命令&#xff0c;每个都附有简要说明和典型示例&#xff0c;适合日常开发、服务器维护或系统学习使用。30 个常用的 Linux 命令汇总 一、文件与目录操作&#xff08;基础&#xff09;命令说明示例ls列出文件和目录ls -l 显示详细信息cd切换目…

Taro 网络 API 详解与实用案例

Taro 网络 API 详解与实用案例 在现代前端开发中&#xff0c;网络通信是不可或缺的一环。Taro 作为一款多端开发框架&#xff0c;提供了丰富且统一的网络 API&#xff0c;帮助开发者在小程序、H5、React Native 等多端环境下高效地进行数据交互。本文将详细介绍 Taro 的四大网…

Bitbucket平台的HTTP Access Tokens操作手册

在Bitbucket平台添加HTTP Access Tokens&#xff08;用于替代密码进行认证&#xff09;。 1. 登录Bitbucket并访问个人设置 打开 Bitbucket 并登录账号。点击右上角头像 → 选择 Manage account。 2. 生成Access Token 在左侧菜单中选择 Access tokens&#xff08;位于 Sec…

低成本、高泛化能力的无人机自主飞行!VLM-Nav:基于单目视觉与视觉语言模型的无地图无人机导航

作者&#xff1a;Gobinda Chandra Sarker1^{1}1, AKM Azad2^{2}2, Sejuti Rahman1^{1}1, Md Mehedi Hasan1^{1}1单位&#xff1a;1^{1}1达卡大学&#xff0c;2^{2}2伊玛目穆罕默德伊本沙特伊斯兰大学论文标题&#xff1a;VLM-Nav: Mapless UAV-Navigation Using Monocular Visi…

Docker Desktop 安装到D盘(包括wsl)

默认WSL虚拟机位置&#xff1a; C:\Users\<用户名>\AppData\Local\Docker\wsl重装DockerDesktop下载安装包Docker Desktop Installer.exe在D盘创建文件夹D:\Program Files\DockerDesktopD:\Program Files\DockerDesktop\data 在cmd运行 start /w "" "Dock…

网络协议(三)网络层 IPv4、CIDR(使用子网掩码进行网络划分)、NAT在私网划分中的应用

利用子网掩码进行子网划分 这是一个模拟搭建的私网&#xff0c;有俩台主机ab。现在主机a要给云端服务器发送一条消息&#xff0c;这条消息怎么才能到达云端服务器呢&#xff1f;确定这条数据中的源端为本地ip的9000端口&#xff0c;目的端为24.24.24.8888端口&#xff0c;首先&…

8.4 Java 原生 TCP Socket 实现 HTTP 请求解析和请求分发

使用 Java 原生 TCP Socket 实现 HTTP 请求解析和请求分发&#xff0c;是一个理解 HTTP 协议底层原理的好方法。虽然 Java 提供了 HttpServer 类来简化 HTTP 服务器开发&#xff0c;但如果你想从 TCP 层 开始构建一个简单的 HTTP 服务器&#xff0c;可以使用 ServerSocket 和 S…

自研能管项目开发界面

自研能管软件实现一个界面开发 目的&#xff1a; ​ 通过接口方式实现展示哪些数据例如&#xff1a; ​ 已知制丝车间下的计量电表&#xff0c;在可视化界面通过点击制丝车间的方式&#xff0c;自动在MySQL存储制丝车间的电表数据(假设是每分钟存储一次)&#xff0c;前端即可以…

【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 基于wordcloud库实现词云图

大家好&#xff0c;我是java1234_小锋老师&#xff0c;最近写了一套【NLP舆情分析】基于python微博舆情分析可视化系统(flaskpandasecharts)视频教程&#xff0c;持续更新中&#xff0c;计划月底更新完&#xff0c;感谢支持。今天讲解基于wordcloud库实现词云图 视频在线地址&…

Vue3 面试题及详细答案120道(31-45 )

《前后端面试题》专栏集合了前后端各个知识模块的面试题&#xff0c;包括html&#xff0c;javascript&#xff0c;css&#xff0c;vue&#xff0c;react&#xff0c;java&#xff0c;Openlayers&#xff0c;leaflet&#xff0c;cesium&#xff0c;mapboxGL&#xff0c;threejs&…

Proxmox VE 8.3/8.4开启Intel 核显的vGPU,搭建vGPU云桌面系统

1. Intel Graphics SR-IOV 介绍Intel Graphics SR-IOV 是 Intel 最新的图形虚拟化技术。单根 I/O 虚拟化 &#xff08;SR-IOV&#xff09; 通过将设备划分为多个虚拟功能来定义共享物理设备功能的标准方法。每个虚拟函数都直接分配给一个虚拟机&#xff0c;从而为虚拟机实现接近…

LeetCode 热题100

文章目录哈希两数之和字母异位词分组最长连续序列双指针移动零盛最多水的容器滑动窗口子串多刷题 LeetCode 热题100 哈希 两数之和 思路分析&#xff1a; 暴力做法&#xff1a;每一个数字都与剩余的数字作比较&#xff0c;时间复杂度是O(n2)O(n^2)O(n2)哈希做法&#xff1a;我…

Idea或Pycharm上.idea的忽略提交的问题总结

文章目录问题描述如果是首次提交或者之后的提交代码时把.idea及其文件提交到远端仓库中&#xff0c;此时再创建.gitignore会不生效。问题描述 由于在代码托管平台上创建的项目&#xff0c;没有关联创建.gitignore文件。导致git 克隆到本地电脑上时&#xff0c;项目的根目录下也…

【锁】MySQL中有哪几种锁?

&#x1f4da; 欢迎来到我的Java八股文专栏&#xff01; &#x1f389; 各位程序员小伙伴们好呀~ &#x1f44b; 我是雪碧聊技术&#xff0c;很高兴能在CSDN与大家相遇&#xff01;✨ &#x1f680; 专栏介绍 这个专栏将专注于分享Java面试中的经典"八股文"知识点 &a…

旷视科技视觉算法面试30问全景精解

旷视科技视觉算法面试30问全景精解 ——AI赋能 智能安防 视觉创新&#xff1a;旷视科技视觉算法面试核心考点全览 前言 旷视科技&#xff08;Megvii&#xff09;作为全球领先的人工智能公司&#xff0c;专注于计算机视觉、深度学习和智能安防等领域&#xff0c;推动人脸识别、…

docker nginx 部署前端踩坑记录

文章目录坑点1&#xff1a;localhost 与127.0.0.1坑点1&#xff1a;localhost 与127.0.0.1 server {listen 80 default_server;client_max_body_size 20M;# 记录访问日志和错误日志access_log /var/log/nginx/host.access.log main;error_log /var/log/nginx/error.l…

JAVA_TEN-面向对象高级一

一.Static一 定义&#xff1a;叫静态&#xff0c;可以修饰成员变量、成员方法成员变量按有无static修饰&#xff0c;分为两种&#xff1a;类变量&#xff1a;有static 修饰&#xff0c;属于类&#xff0c;在计算机里只有一份&#xff0c;会被类的全部对象共享。实例变量&#x…

幻兽帕鲁开服教程

以下均为个人推荐&#xff0c;不喜勿喷&#xff0c;望审核大大明辨开服条件一台带公网的vps服务器&#xff08;需开放udp&#xff09;&#xff0c;配置至少为4c16g&#xff0c;推荐8c32g开服需要准备的工具&#xff1a;steamcmd&#xff1a;https://steamcdn-a.akamaihd.net/cl…

lesson21:Python面向对象编程

目录 引言 一、了解面向对象编程&#xff08;OOP&#xff09;&#xff1a;编程范式的革命 1.1 什么是面向对象编程&#xff1f; 1.2 OOP vs 面向过程&#xff1a;思维方式的差异 1.3 OOP的三大核心特性 二、类与对象&#xff1a;OOP的基石 2.1 类&#xff08;Class&#…