什么是公网IP和内网IP?NAT转换又是什么鬼?

来源:Tom 时间:2022-08-07 09:26:06阅读:0

1、引言

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

什么是公网IP和内网IP?NAT转换又是什么鬼?

每台电脑都必须有一个公网IP吗?

答:不。

我们都知道,IPv4中的IP地址的数量是有限的(所以现在都在搞IPv6)每次分配部分地址,就意味着可以用来分配IP地址较少,随着手机、电脑等的快速发展,如果每个手机或电脑都需要一个IP地址,那么明显IP地址不够。

为了解决这个问题,我们可以采取这样的策略:例如,对于一个公司,每个公司都有自己的内部网络(或局域网)。

内网(学名应称为局域网)(LocalAreaNetwork,LAN))在局部地理范围内,一般可以是几米内(如家庭内网)或几公里内方圆(如大学内网)组成的计算机通信网络,连接各种计算机、外部设备和数据库。

内网的主要功能有:

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

  • 2)传输速率高:由于内网之间的计算机没有外网拓扑的复杂性,相互通信的网络可以很快,比如从一台电脑复制到另一台电脑G文件可能只需要几十秒。

  • 3)误码率低:因为通信距离很近,误码率很低。换句话说,网络非常稳定(老程序员都知道他们上大学的时候在同一个宿舍玩网络C/S游戏,除非有人下毛片或者拔网,否则几乎不会遇到断网或者卡顿的事情,哈哈)。

3.公司内网是如何实现内网的IP地址分配和管理

假如我们给这家公司A分配了一个IP=192.168.1.1.我们这样做IP作为公司内网的网关吧。

在公司A内网有三台电脑。如果这三台电脑想上网,我们需要分配一台IP,就像上一节提到的:我们必须申请三个IP使用地址吗?

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

本规则可由我们的内网网关管理,如下:

4、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端口。

这种方法地址的映射转换,称网络地址转换,英文为NetworkAddressTranslation,简称NAT。

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

现在知道外网了IP和内网IP了吧?

5、本文小结

为了解决IP技术专家发明了地址短缺的内网技术,内网技术的理论支持是NAT因此,从事网络通信的程序员是非常必要的NAT对技术有深入的了解。

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:shawn.lee@vecloud.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

本站原创内容未经允许不得转载,或转载时需注明出处:https://news.kd010.com/hlw/12447.html

TAG标签:NAT

相关推荐

返回顶部