文章目录
- 1.百度查到的ip和ipconfig查到的不同
- 1.1引出问题
- 1.2不一样的原因
- 2.IP地址分类
- 2.1IP类别
- 2.1 Public IP和Private IP
- 3.总结
- 3.1整理上网流程
- 3.2遗留问题
1.百度查到的ip和ipconfig查到的不同
IP可以分为
Public IP
和Private IP
,出现这种规划的原因在于IPv4
所能表示的IP太少而电脑太多以至于不够用,然而只有Public IP
才能直接连接上网络,所以对于那些公司,学校,政府机构等场所,就可以集中使用私有的IP进行管理,而大家可以共用一个IP去连接上公网,这样,就省下了许多宝贵的Public IP
。
你有没有发现,你每次使用
ipconfig
查到的地址,要么就是172.
开头的,要么就是192.
开头的,为什么?难道没有其他开头的嘛,答:基本没有。因为一个Ip分给我们一个PC端太不划算了,一般都是很多人共享一个ip
,我们用ipconfig
查询到的其实只是我们的局域网Ip
,172.
开头的意味着我们是B类型的局域网,以192.
开头的意味着你是c类的局域网。所以我们一直都没有接触到真正的ip
,我们一直打交道的都是私有ip又叫Private IP
。
1.1引出问题
首先,引出问题,我们分别在百度搜ip查询,查询到本机的
public ip
(后文会介绍到这个概念),再利用ipconfig
查询到自身ip。我们能看到这两个地址是不同的,那么不是说,每个主机都只有一个ip地址么,为什么我们查到的两个Ip地址不一样呢???
通过上面这两幅图能够看到左边Ip是117.132.191.185
而右边的Ip地址是192.168.0.53
现在我们要解释的问题就是为什么这两个Ip是不同的呢。
1.2不一样的原因
ipconfig
查出来的是你本机的IP地址,也就是内网私有地址,此类地址仅在局域网使用,不能联通外网。
百度查出来的地址是你上网的共有地址,也许并不是你主机的地址,而是电信或联通分给你的地址,用于连接互联网。
也就是我们要引出私网Ip和公网IP这两个概念,下文会有提示。
首先我们要介绍ip的分类,因为ip常见有5种分类,而我们在实际生活中和生产中一般只会遇到A,B,C
这三类地址,所以我就详细解释下这三类ip地址,我们需要知道这三种是怎么划分的。
2.IP地址分类
2.1IP类别
为了便于寻址以及层次化构造网络,每个IP地址包括两个标识码(ID),即网络ID和主机ID。同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包括网络上工作站,服务器和路由器等)有一个主机ID与其对应。Internet委员会定义了5种IP地址类型以适合不同容量的网络,即A类~E类。
类别 | 默认子网掩码 | 支持主机数 |
---|---|---|
A | 255.0.0.0 | 224-2 |
B | 255.255.0.0 | 216-2 |
C | 255.255.255.0 | 28-2 |
2.1 Public IP和Private IP
下面我们来介绍public ip
和private ip
的概念和区别:
1 Public IP : 公共 IP ,经由 INTERNIC 所统一规划的 IP,有这种 IP 才可以连上 Internet ;
2 Private IP : 私有 IP 或保留 IP,不能直接连上 Internet 的 IP ,主要用于局域网络内的主机联机规划。
早在 IPv4 规划的时候就担心 IP 会有不足的情况,而且为了应付某些企业内部的网络设定,于是就有了私有IP (Private IP)
的产生了。私有 IP 也分别在 A, B, C 三个 Class 当中各保留一段作为私有 IP 网段,那就是:
Class A:10.0.0.0 - 10.255.255.255
Class B:172.16.0.0 - 172.31.255.255
Class C:192.168.0.0 - 192.168.255.255
由于这三段 Class 的 IP 是预留使用的,所以并不能直接作为Internet 上面的连接之用,不然的话,到处就都有相同的IP !那怎么行!网络岂不混乱?所以这三个 IP 网段就只做为内部私有网域的IP 沟通之用。
一般说来,我们用ipcofig
是无法查到公网ip的,大多数时候,你使用ipconfig
查到的一般就只是以172.
开头的B类私有Ip,或者以192.168
开头的C类私有Ip。
私有ip有底下的3个限制:
- 私有 IP 的路由信息不能对外散播 (只能存在内部网络);
- 使用私有 IP 作为来源或目的地址的封包,不能透过 Internet 来转送 (不然网络会混乱);
- 关于私有 IP 的参考纪录(如 DNS),只能限于内部网络使用 (一样的原理);
这个
私有 IP
有什么好处呢?由于他的私有路由不能对外直接提供信息,所以,你的内部网络将不会直接被Internet
上面的Cracker
所攻击!但是,你也就无法以私有 IP
来『直接上网』!因此相当适合一些尚未具有Public IP
的企业内部用来规划其网络之设定!否则当你随便指定一些可能是Public IP
的网段来规划你企业内部的网络设定时,万一哪一天真的连上Internet
了,那么岂不是可能会造成跟Internet
上面的Public IP
相同了吗?
只有公网ip是能够连接互联网的,私网IP 一般只用作局域网
类别 | 默认子网掩码 | 支持主机数 |
---|---|---|
A | 255.0.0.0 | 224-2 |
B | 255.255.0.0 | 216-2 |
C | 255.255.255.0 | 28-2 |
类别 | IP范围 | 私有地址范围 | 保留地址 |
---|---|---|---|
A | 1.0.0.0~126.255.255.255 | 10.0.0.0~10.255.255.255 | 127.0.0.0~127.255.255.255 |
B | 128.0.0.0~191.255.255.255 | 172.16.0.0~172.31.255.255 | 169.254.0.0~169.254.255.255 |
C | 192.0.0.0~223.255.255.255 | 192.168.0.0~192.168.255.255 | 无 |
3.总结
我们能够上网靠的是
ISP
组织分给我们的Ip地址,但是这个ip地址一般不是给个人的,一般都是给一个单位,一个区域的,也就是说我们实际上能接触到的一般都是私有地址,即我们用ipconig
查到的都是私有地址,也就相当于局域网内的ip地址,当我们真正联网时,会先把数据发送到路由,然后再由路由进行处理实现真正的联网操作,路由的地址才是真正联网的Ip地址,也就是pubilc ip
,而我们在自己电脑上查到的都是私有ip
举个例子,我们在学校或者查到的Ip一般都是172.
开头的,通常是B类地址;而我们在家里一般用的都是C类地址,也就是一般是192.168
开头的地址,比如上图我的地址,就是在家里检测到的ip地址,这个大家可以自行去验证一下。如果看完所有的你还有疑问,可以去参考知乎上有关该问题的回答,下面是网址:
知乎解答该问题的帖子
3.1整理上网流程
我们重新整理一下我们上网的路线,看下图,移动公司分给我们的ip是
117.158.134.217
,这是我们这一栋楼能连上网的公网Ip,那么如何让这一个IP使学校里面的所有人都能使用呢,我们开始重新划分局域网。上文中,我们知B类私有地址范围是:172.16.0.0~172.31.255.255
,我们学校采取的就是这种划分方法,所以我的私网ip地址就是172.18.251.129
.那么怎么连上网的呢,我们通过私网ip然后把我们的需求和要发送的数据发给路由器,然后路由器对接网络,再把数据发送给Internet.然后internet发送数据到我们学校的路由,然后路由在通过我的私网ip发送给我,这就是我们平时真实上网的流程。
3.2遗留问题
问题1: 大家可能也注意到了一个问题,就是我们在百度查到的ip是117开头的,也就是说其实是A类,但是学校的私网Ip却是172
开头的,是B类的私有ip地址,那么问题来了?117开头的IP地址是如
何转换成172
开头的私有ip的呢?他们之间一定有一个转换关系,构成了一个公网和私网之间的一个映射。这个关系是什么呢???
自问自答:
在查阅了多方资料之后,这个问题其实就是私网Ip和公网Ip的转换这个问题,其实利用到了nat转换技术,将
172.16.xxx.xxx~172.31.xxx.xxx
转换到公网ip,也就是我图中所示的那个郑州的117开头的ip。我们的私网ip是自成体系的,在合理的建设完私网ip后,我们只需利用nat技术将公网ip和私网ip做一个转换即可。大概就跟下图所示一样,二楼使用的是172.16.xx.xx
开头的网址,三楼172.17.xx.xx
,四楼172.18.xx.xx
,从图中可以有一个很清晰地认识。
问题2: 如果我们搬到了一个新的环境,还没搭建起服务器。当使用Ipconfig
命令来查询自己的ip地址的时候,我们发现了一个奇怪的事情,我们获取到的ip地址是一个以169
开头的ip地址,前文已经提到过我们正常情况下获到的地址应该是一个以172.16~172.31
这之间开头的,那么为什么会出现169
开头的呢???
自问自答:
169
开头的是一个保留地址,是本地连接受限时系统自动分配的ip没有什么实际的意义,出现这种情况可能是服务器还没搭建好。果然,等我们重新搭建好了代理服务器之后,我们的网址又变回了现在的172.18
开头的网址。