当前位置: 首页 > web >正文

IPv4枯竭时代:从NAT技术到IPv6的演进之路

  

在这里插入图片描述


🔍 开发者资源导航 🔍
🏷️ 博客主页: 个人主页
📚 专栏订阅: 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.xdnf.cn/news/16081.html

相关文章:

  • SpringBoot6-10(黑马)
  • git的版本冲突
  • 【未限制消息消费导致数据库CPU告警问题排查及解决方案】
  • Vue 分析脚手架
  • stm32内存分析
  • 传输层协议
  • 基于MySQL实现分布式调度系统的选举算法
  • C 语言的指针复习笔记
  • Pytorch版本、安装和检验
  • AJAX 概念与 axios 使用
  • 深度解析 HTML `loading` 属性:优化网页性能的秘密武器
  • rancher使用rke在华为云多网卡的服务器上安装k8s集群问题处理
  • 4x4矩阵教程
  • YModem在Android上的实现(四)
  • Oracle数据库索引性能机制深度解析:从数据结构到企业实践的系统性知识体系
  • Android 单编 framework 相关产物输出介绍
  • Unreal ARPG笔记
  • Oracle自治事务——从问题到实践的深度解析
  • Linux 文件操作详解:结构、系统调用、权限与实践
  • 搭建前端页面,介绍对应标签
  • 合并pdf工具下载
  • 深入解析Hadoop MapReduce Shuffle过程:从环形缓冲区溢写到Sort与Merge源码
  • Idea或Pycharm上.idea的忽略提交的问题总结
  • 从 C# 到 Python:项目实战第五天的飞跃
  • Linux 721 创建实现镜像的逻辑卷
  • 表单校验--数组各项独立校验
  • mac安装node的步骤
  • uni-app开发小程序,根据图片提取主题色值
  • 查看两个tv and 手机模拟器的ip
  • 修复echarts由4.x升级5.x出现地图报错echarts/map/js/china.js未找到