大家知道如何查看本机的 IP 吗?这个问题,即便是没有专业学过计算机的人,只要折腾过电脑,重装过系统,大多都会知道答案:在 Windows 下是 ipconfig,在 linux 下是 ifconfig。
在 Windows 下输入 ipconfig,我们会看到这个界面:
在 linux 下输入 ifconfig,我们会看到这个界面:
IP 地址
可以看到,无论是在 Windows 还是在 linux 下,输入相关命令都能显示出这台机器上所有的网卡。大部分的网卡都会有一个 IP 地址。就像 192.168.1.73 ,就是我本机以太网的 IP 地址。
IP 地址是一个网卡在网络世界中的通讯地址,相当于我们现实世界的门牌号码。
注意,IP 地址是网卡的通讯地址,不是一台机器的通讯地址。很多时候,我们会说一个电脑只有一个 IP 地址,这种说法实质上并不正确,准确的来说,应该是:
一个网卡在同一时段只能有一个 IP 地址,一台机器可以有多个 IP 地址。
就像我们的笔记本,一般都会有线网卡和无线网卡,则有线网卡有一个 IP 地址,无线网卡也有一个 IP 地址。
一台机器有多个 IP 地址,那 IP 地址会不会重复呢?其实我们应该会碰到 IP 地址重复的情况。有时候我们电脑弹出网络地址冲突,出现无法上网的情况,那多半就是 IP 地址冲突了。
IP66在线查IP地址位置、IP应用场景、IP风险画像:https://www.ip66.net/?utm-source=LJ&utm-keyword=?1146
格式
就像上面输出的结果,192.168.1.73 就是一个 IP 地址。这个地址被点(.)分割为四个部分,每个部分有 8 个 bit,所以 IP 地址总共是 32 位。显然,32 位产生的 IP 地址在当今这个互联网社会,很明显就是"狼多肉少"。于是就有了 IPv6,也就是上面结果中的
fe80::515d:5483:ff4d:6db9/64。这个有 128 位,能满足我们现在的需求了。至于后面会不会出现 IPv8 ,那就看后面互联网世界的发展了。
分类
我们应该都听说过,IP 地址分为 A、B、C、D、E 五类。对于 A、B、C 类,主要分两部分,前面一部分是网络号,后面一部分是主机号。
下图是 A、B、C 三类地址所能包含的主机数量。
这里面有个问题,C 类地址包含的主机数量太少,而 B 类地址包含的主机数量又太多,于是就有了一个折中的方式叫做无类型域间选路。
无类型域间选路
顾名思义,无类型域间选路(CIDR)基本思想是取消地址的分类结构,取而代之的是允许以可变长分界的方式分配网络数。192.168.1.73/24 就是无类型域间选路格式的 IP 地址。这种格式的 IP 地址,将 32 位的 IP 地址一分为二,前面是网络号,后面是主机号。从哪里分呢?如果注意观察的话可以看到,上面地址中有一个斜杠,斜杠后一个数字 24。这个 24 的含义就是,前24 位是网络号,后 8 位是主机号。
公有 IP 地址和私有 IP 地址
继续看上面的表格。表格最右列是私有 IP 地址段。平时我们在一个局域网内,看到的 IP 地址都是私有 IP 地址。因为这些地址允许组织内部的 IT 人员自己管理和分配,而且还可以重复。所以会出现你局域网的私有 IP 地址段和我局域网的是一样的。
就像我们上面说的,小明在自己家里给同单元的小伙伴说自己是五单元 101 号,小伙伴能理解,但是他如果这样和小红说,小红就会问,你是哪个小区的?这里的小区实际上就是公有 IP 地址,而五单元 101 号就是私有 IP 地址。
表格中的 192.168.0.x 是最常见的私有 IP 地址段。就像我们家里的路由器地址一般是 192.168.0.1 一样。