可能大家会常常听到全球 IP(外网)和私有 IP(内网),他们的区别是什么呢?今天这篇文章来简单讲讲这究竟是怎么回事。网络
咱们都知道,IPv4中的IP地址的数量是有限的,每次把一部分地址分配出去,那么就意味着可以用来分配的IP地址就更少了,并且随着如今手机,电脑等的快速发展,若是每一个手机或者电脑都要求一个IP地址,那么显然IP地址是不够用的。ide
为了解决这个问题,咱们能够采起这样的策略:例如对于一个公司来讲,每一个公司都会有一个属于本身公司的内网(也能够称之为局域网)。代理
假如咱们给这个公司A分配了一个IP=192.168.1.1。咱们把这个IP做为这个公司内网的网关吧。blog
在公司A的内网里面有3台电脑,若是这三台电脑要上网的话,咱们须要给他分配一个IP,那么咱们必定须要去申请3个IP地址来使用吗?路由
答否。咱们不必定须要去申请3个IP的,在咱们这个内网里,咱们能够指定本身的规则,例如,咱们能够给这三台电脑随便分配三个IP(请注意,这三个IP不是去申请的,并且我本身随意给它分配的)。分别分配电脑A = 192.168.1.2 电脑B = 192.168.1.3 电脑C = 192.168.1.4it
假如电脑A想要访问百度,百度的IP咱们假设为:172.168.30.3io
咱们都知道,电脑A的IP是咱们虚构的,实际上可能并不存在这样一个IP,若是用电脑A的IP去访问百度,那确定行不通。class
咱们也知道,因为百度和电脑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了吧?
一、对于全球IP,显然每一个IP都是惟一的,而对于私有IP,同一个局域网内,也得是惟一的,但在两个不一样的局域网中,是能够有相同的私有IP的。
二、局域网内主机之间的通讯,是不须要进行地址转换的,而若是须要访问外网,才须要进行地址转换。
实际上,咱们也能够把这种地址转换称之为一种代理。网关就至关于一个代理,把局域网内的主机的一些信息都给隐藏了起来。百度并不知道是主机A访问它,他只知道是网关访问了它。
讲到这里,也差很少结束了。有收获的小伙伴加个鸡腿犒劳一下?(点底部广告 or 转发分享)。这篇文章具体细节没展开,算是大概讲解了NAT。
集线器、交换机与路由器有什么区别
TCP流量控制机制
5分钟读懂拥塞控制