IPv4的公网地址不够?NAT机制可能是当下最好的解决方案

目录

1.前言

2.介绍

3.NAT机制详解


1.前言

我们都知道IPv4的地址范围是32个字节,这其中还有很多地址是不可用的.比如127.*,这些都是环回地址.那么在网路发展日新月异的今天,互联网设备越来越多,我们该如何解决IP地址不够用的问题呢?目前有一种主流的解决方案,也是大家都在用的--NAT机制

2.介绍

首先我们把IP地址分为两大类,私网IP和公网IP,私网IP又叫做局域网IP

IP地址是10.&,172.16-172.31*,192.168* 这三类地址是私网IP

公网IP又叫做广域网IP,我们规定在互联网上网的设备对应的公网IP都必须是唯一的,但是私网上的地址使用私网IP,只要保证据局域网内部的IP不重复即可,不同的局域网之间IP允许重复.

由于上述设定,我们可以总结出以下的限制:
1.公网IP和公网IP的设备之间互相访问,直接访问即可.

2.局域网之间的设备互相访问,也可以直接访问 没有问题.

3.局域网访问另一个局域网的设备,不允许访问

4.局域网访问公网设备,就需要对局域网设备的IP进行地址转换

5.公网设备访问局域网设备,不允许访问

也就是说,我们如果想要编写一个服务器程序,则必须把它部署在有公网IP的设备上.这样别的用户才可以访问.那么我们该如何在一个局域网中的客户端,访问公网设备的服务器呢?

3.NAT机制详解

这张路由表里,会保存的有源IP.源端口.转化后的IP,服务器IP,源端口,目的端口

如果局域网的各个设备访问的是不同的服务器,路由器就可以很简单的通过IP地址来进行划分,如何替换的就如何替换回去.

如果是同一个局域网内,多个设备访问同一个路由器呢?本质也是通过查表

我们可以通过端口号来区分

替换之前的IP 替换之后的IP服务器IP 源端口目的端口
192.168.1.15,6,7,81,2,3,410009090
192.168.1.25,6,7,81,2,3,420009090

万一巧了 ,正好局域网中的两个设备,端口分配的都一样呢?

我们的端口也可以进行映射,给它进行改变

替换前的数据报:源IP:192.168.1.1源端口:1000 目的IP:1,2,3,4 目的端口:9090

替换后的数据报:源IP:5,6,7,8 源端口:1001 目的Ip:1,2,3,4 目的端口:9090

和上面的一样,如何替换就如何如何找回去.

NAT机制本质上是为了解决公网IP不够用的这种情况,我们中国大陆大概有3亿多个公网IP,如果通过这种方法,那么就可以很大程度上的缓解IP地址不够用的情况,一个NAT机制的路由器,它的公网IP可能会管好几个小区或者一个小区,这样就大大的提高了IP地址的利用率.

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

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

相关文章

Visual Studio 2022 查看类关系图

这里写自定义目录标题 右键要查看的项目 -“查看”-“查看类图”效果展示: 原文地址 www.cnblogs.com 步骤1:勾选扩展开发 步骤2: 勾选类设计器 右键要查看的项目 -“查看”-“查看类图” 效果展示:

操作系统-02-Ubuntu 常用命令等汇总

Ubuntu Ubuntu是一个开源软件平台,可以在从智能手机、平板电脑和个人电脑到服务器和云端等各种设备上运行。 ubuntu Title: Desktop Ubuntu desktop->command: CtrlAltF2~F6 command->desktop: CtrlAltF7 Login Change to root user $ sudu suLogin to al…

AI嵌入式K210项目(27)-条形码识别

文章目录 前言一、什么是条形码?二、实验准备三、实验过程四、API接口总结 前言 本章介绍基于机器视觉实现条形码识别,主要包含两个过程,首先检测图像中是否有条形码,如果有则框出并打印条形码信息; 一、什么是条形码…

ShardingSphere实现openGauss分布式架构

本文档采用openGauss结合ShardingSphere中间件的架构,实现openGauss数据库分布式OLAP场景的环境部署。 术语说明: 开源数据库引擎:openGauss shardingsphere Proxy:定位为透明化的数据库代理端,提供封装了数据库二进…

示波器的电压怎么和测量的电压不一样,空比增加以后 示波器显示的电压反而降低了?

这两天在调电机,发现我用pwm信号,发送给示波器,但是示波器测量的电压和万用表测量的完全不一样,而有奇怪的现象,空比增加以后 示波器显示的电压反而降低了。 最后发现是通道没有设置,要设置成直流模式 点ch…

docker之程序镜像的制作

目录 一、每种资源的预安装(基础) 安装 nginx安装 redis 二、dockerfile文件制作(基础) 打包 redis 镜像 创建镜像制作空间制作dockerfile 打包 nginx 镜像 三、创建组合镜像(方式一) 生成centos容器并…

补题:leetcode第382场周赛 3022. 给定操作次数内使剩余元素的或值最小

3022. 给定操作次数内使剩余元素的或值最小 - 力扣(LeetCode) 拆位 n个数进行或运算的结果最小,每次操作可以对相邻的两个数进行与运算,至多进行k次操作 n个数进行或运算,可以对每个数进行拆解,拆解成最小…

分享springboot框架的一个开源的本地开发部署教程(若依开源项目开发部署过程分享持续更新二开宝藏项目PostgresSQL数据库版)

1首先介绍下若依项目: 若依是一个基于Spring Boot和Spring Cloud技术栈开发的多租户权限管理系统。该开源项目提供了一套完整的权限管理解决方案,包括用户管理、角色管理、菜单管理、部门管理、岗位管理等功能。 若依项目采用前后端分离的架构&#xf…

使用代理IP有风险吗?如何安全使用代理IP?

代理IP用途无处不在。它们允许您隐藏真实IP地址,从而实现匿名性和隐私保护。这对于保护个人信息、绕过地理受限的内容或访问特定网站都至关重要。 然而,正如任何技术工具一样,代理IP地址也伴随着潜在的风险和威胁。不法分子可能会滥用代理IP…

ue5 蓝图内修改组件附加的插槽

Target是目标,Parent是要加到哪个骨骼上,socketName是骨骼对应的插槽

基于Springboot的考编论坛网站的设计与实现(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的考编论坛网站的设计与实现(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层…

【华为云】云上两地三中心实践实操

写在前面 应用上云之后,如何进行数据可靠性以及业务连续性的保障是非常关键的,通过华为云云上两地三中心方案了解相关方案认证地址:https://connect.huaweicloud.com/courses/learn/course-v1:HuaweiXCBUCNXI057Self-paced/about当前内容为华…

vulnhub中Beelzebub靶机

渗透思路 一.信息收集1.网段探测2.端口探测3.常见漏洞扫描4.目录扫描5.web页面分析 二.渗透继续目录扫描ssh连接提权提权,flag 一.信息收集 1.网段探测 ┌──(root㉿kali)-[~] └─# nmap -Pn 192.168.0.0/24 --min-rate 10000 Starting …

awd总结

总结: 由于是第一次参加AWD比赛,各方面经验都不足,在参赛的前几天也是疯狂搜集各种脚本、框架、工具等,同时也参考b站的视频进行学习,我发现就是还是实操才能更快的学习 我觉得就是我前期的准备工作不足,…

【sentinel流量卫兵配置持久化到Nacos】

sentinel流量卫兵配置持久化到Nacos 概述: 一、添加配置二、配置说明限流规则配置:降级规则配置:热点规则配置:授权规则配置:系统规则配置: 三、服务整合 概述: 控制台配置的参数,默…

STM32WLE5JC

Sub-GHz 无线电介绍 sub-GHz无线电是一种超低功耗sub-GHz无线电,工作在150-960MHz ISM频段。 在发送和接收中采用LoRa和(G)FSK调制,仅在发送中采用BPSK/(G)MSK调制,可以在距离、数据速率和功耗之间实现最佳权衡。 这…

Maven的安装以及配置(超级详细版)

前言 至于什么是Maven,大家可以理解为之前的Vue一样,也是通过操控对象映射来使用的 他内部还有很多的插件用于实现对应的功能,例如打包插件,或是测试 maven下载 Maven – Download Apache Maven apache下的开源项目&#xff0c…

Java Character源码剖析

Character类除了封装了一个char外,还封装了Unicode字符级别的各种操作,是Java文本处理的基础。下面结合源码分析Character的贡献。 Unicode 也许你没听过Unicode,但应该见过UTF-8。UTF-8(8-bit Unicode Transformation Format&a…

Linux的进程信号

注意:首先需要提醒一个事情,本节提及的进程信号和下节的信号量没有任何关系,请您区分对待。 1.信号概念 1.1.生活中的信号 我们在生活中通过体验现实,记忆了一些信号和对应的处理动作,这意味着信号有以下相关的特点&…

ROS笔记二:launch

目录 launch node标签 参数 参数服务器 节点分组 launch launch文件是一种可以可实现多节点启动和参数配置的xml文件,launch文件用于启动和配置ROS节点、参数和其他相关组件。launch文件通常使用XML格式编写,其主要目的是方便地启动ROS节点和设置节点之间的连…