什么是公网IP和内网IP?

article/2025/9/22 19:05:42

1、引言

搞网络通信应用开发的程序员,可能会经常听到外网IP(即互联网IP地址)和内网IP(即局域网IP地址),但他们的区别是什么?又有什么关系呢?另外,内行都知道,提到外网IP和内网IP就不得不提NAT路由转换这种东西,那这双是什么鬼?本文就来简单讲讲这些到底都是怎么回事。

在这里插入图片描述
1、每台电脑都必须要一个公网IP吗?

答案:不是。

我们都知道,IPv4中的IP地址的数量是有限的(所以现在都在搞IPv6嘛),每次把一部分地址分配出去,那么就意味着能够用来分配的IP地址就更少了,而且随着现在手机,电脑等的快速发展,如果每个手机或者电脑都要求一个IP地址,那么显然IP地址是不够用的。

为了解决这个问题,我们可以采取这样的策略:例如对于一个公司来说,每个公司都会有一个属于自己公司的内网(也可以称之为局域网)。

内网(学名应叫局域网(Local Area Network,LAN))是在一个局部的地理范围内,一般可以是是几米内(比如家庭内网),也可以是方圆几千米以内(比如一个大学内网),将各种计算机、外部设备和数据库等互相联接起来组成的计算机通信网。

在这里插入图片描述
内网主要作用有:

1)共享传输信道:简单地理解就是不需要每台电脑一个外网IP地址;

2)传输速率高:内网之间的电脑因为没有外网网络拓扑的复杂性,所以互相通信的网络可以很快,比如从一个台电脑向另一台电脑复制一个几G的文件可能只需要数十秒时间。

3)误码率低:因为通信距离很近,所以误码率很低,换句话说就是网络很稳定(老一点的程序员都知道,读大学的时候同一个宿舍内网联网玩C/S游戏,几乎不会遇到断网或卡顿的事情,除非有人下毛片或者把网络给拔了,哈哈)。

2、公司的内网是如何实现内网IP地址分配和管理的?

假如我们给这个公司A分配了一个IP=192.168.1.1。我们把这个IP作为这个公司内网的网关吧。
在这里插入图片描述
在公司A的内网里面有3台电脑,如果这三台电脑要上网的话,我们需要给他分配一个IP,那么就像上一节提到的:我们一定需要去申请3个IP地址来使用吗?

答否。我们不一定需要去申请3个IP的,在我们这个内网里,我们可以指定自己的规则,例如,我们可以给这三台电脑随便分配三个IP(请注意,这三个IP不是去申请的,而且我自己随意给它分配的)。分别分配电脑A = 192.168.1.2 电脑B = 192.168.1.3 电脑C = 192.168.1.4。

而这个规则可以由我们的内网网关来管理,就像下面这样:
在这里插入图片描述

5、NAT技术:实现内网电脑访问外网的能力

假如电脑A想要访问百度,百度的IP我们假设为:172.168.30.3:
在这里插入图片描述
我们都知道,电脑A的IP是我们虚构的,实际上可能并不存在这样一个IP,如果用电脑A的IP去访问百度,那肯定行不通。

我们也知道,由于百度和电脑A不在一个局域网内,所以A要访问百度,那么必须得经过网关。而网关的这个IP地址,是真实存在的,是可以访问百度的。

为了让 A 可以访问百度,那么我们可以采取这样的方法:让网关去帮助 A 访问,然后百度把结果传递给网关,而网关再把结果传递给 A,这样不就可以解决了?
在这里插入图片描述
不过电脑A、B、C都可能拜托网关去帮忙访问百度,而百度返回的结果 的目的IP都是网关的IP=192.168.1.1。那么网关该如何进行区分这结果是A的、B的还是C的呢?

我们去访问百度的时候,不是需要指定一个端口吗?只要我们把 A的IP + 端口 映射成 网关的IP+端口,不就可以唯一确定身份了?

例如A用端口60去访问百度,网关把 A的IP+端口60 映射成 网关的IP+端口80 不就可以了?
在这里插入图片描述
百度把结果返回给网关的80端口之后,网关再通过映射表,就可以把结果返回给 A的60端口 了。
在这里插入图片描述
如果B也是用60端口去访问百度的话,也是一样,可以把它映射到90端口。

这种方法地址的映射转换,我们也称之为网络地址转换,英文为 Network Address Translation,简称NAT。

而像A、B、C这样的IP地址我们也称之为内网IP,即内网IP;而像网关,百度这样的IP我们称之为外网IP(即互联网公网IP)。

所以,一个典型的内网访问公网的原理,就像下图这样就可以实现了:
在这里插入图片描述
现在知道外网IP和内网IP了吧?

6、本文小结

为了解决IP地址短缺,技术专家们发明了内网技术,而内网技术的理论支撑就是NAT技术,所以搞网络通信的程序员非常有必要对NAT技术有一个深入的理解。



转载:https://www.jianshu.com/p/4cd76e25b894


http://chatgpt.dhexx.cn/article/JoNVq4Rp.shtml

相关文章

内网地址与公网地址及作用

下个礼拜就要过年喽 每天离假期更近了一步,就充满了动力 大家回家路上也要注意防护安全哦 ———————————————————— 一般内网指的就是我们园区内网,用的地址一般都是私有地址 私有地址在RFC1918草案中被提到,指的就是10…

java如何获得内网ip、外网ip、以及如何根据ip查询地址

今天突发奇想地想要用java写一个小的工具类。 用来实现如何获得本机的内网ip,外网ip和根据ip获得相应的地址。 花了几个小时才弄清,然后整理了一下,希望有用。 首先要明白以下三种ip地址的区别: (1)127.0.0…

简单介绍 内网与外网IP地址,域名,子网掩码,网关与路由器,ping

IP地址 IP地址是在网络给主机分配的地址如53.159.232.5或者192.168.1.1 。具体格式就是00000000.00000000.00000000.00000000,32位二进制,平时都用十进制。 但是主机在网络上不是一个主机连一个主机,而是网络连接网络,在一个网络…

局域网固定内网IP地址的方法(亲测有效)

公司有十来台电脑,想要做文件共享,但是碍于内网IP经常变动共享文件很不方便。 网上查了一些资料,局域网中的电脑ip若不是设置固定的话,一般都是动态获取的ip,若是需要固定ip,那要如何设置呢? 经…

查询自己的IP地址(内网和外网)

查询自己的内网IP和外网IP的方法,以及判断是否直接连接到公网 本方法使用命令行,无需其他软件 内网IP,即局域网IP: 打开cmd窗口,输入 ipconfig 后回车 IPv4地址一栏下即为内网IP,我的电脑是192.168.3.19 顺…

192.168.和10.0.开头的IP、内网IP段、IP简介、分类——(IP观止)

在这三类地址中,绝大多数的IP地址都是公有地址,需要向国际互联网信息中心申请注册。但是在IPv4地址协议中预留了3个IP地址段,作为私有地址,供组织机构内部使用。 这三个地址段分别位于A、B、C三类地址内: A类地址&…

VS2019安装+IVF2020安装+abaqus2021安装+关联(亲测有效附安装包)

VS2019安装IVF2020安装abaqus2021安装关联(亲测有效附安装包) 0. 说明1. 安装与汉化abaqus20211.1 下载解压安装包1.2 参考以下链接的安装步骤安装1.3 安装注意事项和提示 2. VS2019安装IVF2020安装2.1 下载解压VS2019在线安装包2.2 安装配置VS20192.3 下…

abaqus一维固结模拟

初学者学习ABAQUS时,真可谓一头雾水,为什么? 第一因为它是全英文界面(不过这是可以汉化的哦);第二因为它是有限元分析软件,俗称“CAE”即计算机辅助求解分析复杂工程(不同于CAD即计算…

Abaqus安装在lincense server1出错

问题描述:LMtools显示启动成功,但是安装abaqus时填写过License Server1后测试链接不上 原因:Lincense server1中应为27011主机名(格式不要错了),而我输入成了27500主机名(原因是找的一个安装教程…

基于Python向Abaqus导入txt、dat数据(附abaqus中python二次开发课程)

这次推送聚焦于解决采用Python向Abaqus里导入txt、dat数据的问题(dat文件只需要将txt文件的后缀名改为dat就可以生成dat文件),Abaqus基于Python读入txt、dat数据主要有read()、readlines()、readlines()、numpy.loadtxt()函数,导入…

ABAQUS后处理常用功能

ABAQUS分析完成后,除了看看动画,看看云图,可能还需要进行其他操作,此处记录自己常用的一些功能在哪设置。 使用版本6.14,进行了中文汉化 修改背景颜色 修改图例坐标轴标题文字大小 修改图例应力范围颜色 不显示模型上…

搅拌摩擦焊有限元仿真分析学习笔记(一)——comsol、abaqus相关案例学习

目录 COMSOL搅拌摩擦焊官方案例△ 原理及分析△ 操作流程△ 分析 ABAQUS搅拌摩擦焊有限元仿真△ 操作流程○ 创建模型○ 配置材料属性○ 模型装配○ 分析步设置○ 创建相互作用○ 创建载荷○ 划分网格○ 建立温度场○ 运算求解○ 结果与分析 △ 总结分析 ABAQUS搅拌摩擦焊CEL模…

abaqus帮助文档翻译,中英对照

abaqus2016在线帮助文档因为比较简洁,打开响应速度较快,相对于需要注册的高版本帮助文档算是一大优点。 但文档内容对于英文水平一般的同学不太友好,为了提高阅读效率隧寻找网页翻译的方法。 1.浏览器右键的网页翻译,实测无效。…

Abaqus运行脚本print时中文乱码问题

脚本打印输出时出现乱码问题 运行脚本想要直接输出位移数据,发现中文打印出现乱码。 #!/usr/bin/env python # -*- coding:utf-8 -*- #codingutf-8a 位移数据为:0.25555 print(a)运行上面代码出现以下情况 解决办法 将打印内容使用UTF-8解码,然后使…

Abaqus相关报错合集

1,Abaqus安装后打不开的解决办法 打开后显示错误提示(如下图): (如果不是此提示框,请尝试用右键管理员方式运行Abaqus CAE) 解决方案 第一步:打开开始菜单 第二步:打开…

Abaqus 2022安装教程

文章目录 前言一、添加环境变量二、解压缩包三、运行.bat文件四、安装ABAQUS五、汉化六、其他可能遇到的问题:与UG NX12.0许可证冲突 前言 ABAQUS 2022安装包: 链接:https://pan.baidu.com/s/127Pz2Zev8zsM5-qGE7bZgw 提取码:123…

abaqus软件使用笔记

abaqus 软件设置相关汉化设置工作目录修改建模时的尺寸精度导入高版本的inp文件到低版本中材料库 建模---Part建立一个实心球体球体的网格划分 后处理查看几个节点的数据美化处理图片与动画的输出 软件设置相关 汉化 用everything找到******\SIMULIA\CAE\2016\win_b64\SMA\Co…

亲测!Abaqus CAE2021插件中文乱码解决方法

博主近期在捣鼓Abaqus的插件开发,理论上Abaqus2021版本应该是支持中文的。但是在写插件的时候发现中文会乱码。我寻思着很奇怪啊,明明都支持汉化了,怎么插件中文的还会乱码呢? 一步步的Abaqus2021版本安装教程汉化操作https://bl…

一步步的Abaqus2021版本安装教程+汉化操作

一、安装包下载安装 链接:https://pan.baidu.com/s/1n0SajftkVXakCwJQVnuUwA 提取码:521u ABAQUS 是一套功能强大的工程模拟的有限元软件,其解决问题的范围从相对简单的线性分析到许多复杂的非线性问题。 ABAQUS 包括一个丰富的、可模拟任意…