linux中为什么会出现用两种方式查到的ip是不一样的情况?,linux两种方式


1.引出问题

很多朋友常常听到什么真实IP,实体 IP, 虚拟 IP, 假的 IP...,其实没有那么复杂,在看linux私房菜的时候终于明白了这之间的区别。在上学的时候,学校老师也并不会涉及到这方面的内容。

首先,引出问题,我们分别在百度搜ip查询,查询到本机的public ip (后文会介绍到这个概念)如左图,再利用ipconfig查询到自身ip如右图。我们能看到这两个地址是不同的,那么不是说,每个主机都只有一个ip地址么,为什么我们查到的两个Ip地址不一样呢。

\

\

好的,我们通过上面这两幅图能够看到左边Ip是117.158.134.217 而右边的Ip地址是172.18.251.129 现在我们要解释的问题就是为什么这两个Ip是不同的呢。

首先我们要介绍ip的分类,因为ip常见有5种分类,而我们在实际生活中和生产中一般只会遇到A,B,C这三类地址,所以我就详细解释下这三类ip地址,我们需要知道这三种是怎么划分的。

2.IP地址分类

为了便于寻址以及层次化构造网络,每个IP地址包括两个标识码(ID),即网络ID和主机ID。同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包括网络上工作站,服务器和路由器等)有一个主机ID与其对应。Internet委员会定义了5种IP地址类型以适合不同容量的网络,即A类~E类。

这里写图片描述

这里写图片描述

类别 默认子网掩码 支持主机数
A 255.0.0.0 2^24-2
B 255.255.0.0 2^16-2
C 255.255.255.0 2^8-2

3.下面我们来介绍public ip和private ip的概念和区别:

Public IP : 公共 IP ,经由 INTERNIC 所统一规划的 IP,有这种 IP 才可以连上 Internet ;

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.255Class B:172.16.0.0 - 172.31.255.255Class C:192.168.0.0 - 192.168.255.255

由于这三段 Class 的 IP 是预留使用的,所以并不能直接作为Internet 上面的连接之用,不然的话,到处就都有相同的IP 啰!那怎么行!网络岂不混乱?所以啰,这三个 IP 网段就只做为内部私有网域的IP 沟通之用。简单的说,他有底下的几个限制:

私有 IP 的路由信息不能对外散播 (只能存在内部网络);使用私有 IP 作为来源或目的地址的封包,不能透过 Internet 来转送 (不然网络会混乱);关于私有 IP 的参考纪录(如 DNS),只能限于内部网络使用 (一样的原理啦)

这个私有 IP 有什么好处呢?由于他的私有路由不能对外直接提供信息,所以,你的内部网络将不会直接被 Internet 上面的 Cracker 所攻击!但是,你也就无法以私有 IP 来『直接上网』啰!因此相当适合一些尚未具有Public IP 的企业内部用来规划其网络之设定!否则当你随便指定一些可能是Public IP 的网段来规划你企业内部的网络设定时,万一哪一天真的连上Internet 了,那么岂不是可能会造成跟 Internet 上面的 Public IP 相同了吗?

类别 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

总结:

我们能够上网靠的是isp组织分给我们的Ip地址,但是这个ip地址一般不是给个人的,一般都是给一个单位,一个区域的,也就是说我们实际上能接触到的一般都是私有地址,即我们用ipconig查到的都是私有地址,也就相当于局域网内的ip地址,当我们真正联网时,会先把数据发送到路由,然后再由路由进行处理实现真正的联网操作,路由的地址才是真正联网的Ip地址,也就是pubilc ip,而我们在自己电脑上查到的都是私有ip

举个例子,我们在学校或者查到的Ip一般都是172.开头的,比如上图我的地址,那就是在学校里检测到的ip地址,通常是b类地址,而我们在家里一般用的都是c类地址。也就是一般是192.168开头的地址。这个大家可以自行去验证一下。 

相关内容