相信不少电脑用户都曾遇到过使用 localhost
或 127.0.0.1
或直接输入本机 IP
的场景,看上去这三者都可以访问到本机,那为什么会存在这三种形式呢?它们之间又有什么区别呢?看似简单,其实区别还是较大的。
相信不少电脑用户都曾遇到过使用 localhost
或 127.0.0.1
或直接输入本机 IP
的场景,看上去这三者都可以访问到本机,那为什么会存在这三种形式呢?它们之间又有什么区别呢?看似简单,其实区别还是较大的。
此外,你可能也对 VPN、公网与私网、网卡与 IP 之间的关系感到困惑,以下为你一一解答。
本机 IP
我们电脑主板上都内置了多种网卡,一般主要有以下几类:
- 虚拟网卡(Loopback)
- 注意:它是虚拟的,并不是物理网卡,也被称为是本地环回地址(或接口),一般将
127.0.0.1
作为本地环回地址。
- 注意:它是虚拟的,并不是物理网卡,也被称为是本地环回地址(或接口),一般将
- 有线网卡/以太网卡(Ethernet)
- 这是以太网(局域网)使用的,我们日常说的网卡指的就是这个,插入的就是网线。
- 无线网卡(WLAN)
- 这是无线局域网所使用的网卡,笔记本上常内置此网卡,它用的是无线电技术,不需要像以太网卡那样插网线。
以上这些网卡都会绑定一个本机 IP…
localhost 是一种特殊的域名
首先 localhost
它并不是 IP,而是一种特殊的域名(没有后缀),默认的情况下它解析到的是本地 IP(即 127.0.0.1
),主要通过本机的 hosts
文件进行管理,如果你愿意,也可以把 localhost
域名解析到某个公网 IP 上去,也可以被配置为任意的 IP 地址(也就是说,可以通过 hosts 这个文件进行更改),不过通常情况下都(如下)指向:
- IPv4:表示
127.0.0.1
- IPv6:表示
[::1]
hosts 文件位置:C:\Windows\System32\drivers\etc
127.0.0.1 是一种本机保留的私有 IP
127.0.0.1
它是一个私有 IP,代表(或者说真正的名称)的就是本机环回地址,其实本质上是绑定在虚拟网卡(loopback)上的 IP。
那什么是环回地址呢?它有什么作用呢?
环回地址:环回地址是主机用于向自身发送通信的一个特殊地址(也就是一个特殊的目的地址)。
可以这么说:同一台主机上的两项服务若使用环回地址而非分配的主机地址,就可以绕开 TCP/IP 协议栈的下层(也就是说:不用再通过什么链路层、物理层、以太网传出去了,而是可以直接在自己的网络层,运输层进行处理了)
网络号为 127 的地址根本就不是一个网络地址,因为产生的 IP 数据报就不会到达外部网络接口中,是不离开主机的包。
所以说:127.0.0.1
是保留地址之一,只是被经常的使用,来检验本机 TCP/IP 协议栈而已,如果我们可以 ping 通的话,就说明本机的网卡和 IP 协议安装都没有问题(跟我们当前主机有没有联网没有一点关系)。
事实上 IPv4 保留 127.0.0.0
整个网段的地址用于环回测试(只是有两个特殊的保留),127.0.0.1
只是其中一个,你可以 ping 通这个网段里的所有地址,也可以在浏览器中输入任意一个地址访问本机的 Web 服务。另外一个经常被混淆的 IP 地址是 0.0.0.0
,它才是真正意义上的本机地址,它的用法跟 127.0.0.1
完全不同。
举例说明:比如电脑有两块网卡,其中一块使用公网 IP 用于连接互联网,另外一块使用私有 IP 连接局域网,如果本机搭建了 Web 服务,并且希望外网和内网都能正常访问,可以在服务器的配置中将服务器地址改为 0.0.0.0
.
localhost、本机 IP、127.0.0.1 的区别
- 网络需求不同
localhost
和127.0.0.1
并不需要联网访问,即使在无网络环境下访问这两者都能找到本机。- 本机 IP 中的有线网 IP 和无线网 IP 都是需要联网后才能正常分配和访问的,它们是本机对外开放的 IP 地址。
localhost
是本机访问;127.0.0.1
是本机访问;本机 IP 是本机或外部访问。localhost
是域名,默认是指向127.0.0.1
;而本机 IP 就是本机对外放开访问的 IP 地址,这个网址就是与物理网卡绑定的 IP 地址。- 在一个局域网里,同一网段(即同一局域网下的同一网段)的其他电脑就可以用上面的 IP 地址来访问你的电脑(私有地址下文介绍)。
网卡地址 & IP地址
网卡地址
网卡地址即 MAC 地址,意译为媒体访问控制,或称为物理地址、硬件地址,用来定义网络设备的位置。
在 OSI 模型中,第三层网络层负责 IP 地址,第二层数据链路层则负责 MAC 地址。因此一个主机会有一个 MAC 地址,而每个网络位置会有一个专属于它的 IP 地址。
MAC 地址是网卡决定的,是固定的,也是唯一的。形象的说,MAC 地址就如同我们身份证上的身份证号码,具有全球唯一性。
IP 地址
IP 地址是指互联网协议地址。IP 地址是 IP 协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
小结
通俗来讲就是物理地址是指网卡的硬件地址,一般是固化在网卡上的,全球没有任何两块网卡的物理地址是一样的,它具有唯一性!
IP 地址是网络分配给网卡使用的软地址,是可以改变的!
注:我们可以使用 ipconfig /all
查看 IP 地址和物理地址。
公网 IP 与私网 IP
我们可以通过127.0.0.1访问本机,通过私有IP访问局域网内部的其它设备,通过公网IP访问互联网上的其它设备。
公有 IP 地址(公网 IP)
组建一个企业级网络,需要去向 “电信运营商 ISP” 申请一个接入 Internet (我们常说的接入网) 的宽带,同时 ISP 还会给我们分配一个或多个 IP 地址,这些 IP 地址可以供我们企业内部上网,这些 ISP 分配给我们的 IP,就是公有 IP。
公有地址(Public address,也可称为公网地址)由 Internet NIC(Internet Network Information Center 因特网信息中心)负责。这些 IP 地址分配给注册并向 Internet NIC 提出申请的组织机构。通过它直接访问因特网,它是广域网范畴内的。
私有 IP 地址(私网 IP)
我们企业或家庭内部组建局域网用的 IP,一般都会用私有 IP。
私有地址(Private address,也可称为专网地址)属于非注册地址,专门为组织机构内部使用,它是局域网范畴内的,私有 IP 禁止出现在 Internet 中,在 ISP 连接用户的地方,将来自于私有 IP 的流量全部都会阻止并丢掉。
如果在企业内部的电脑要访问 Internet,则需要在企业边界上用 “NAT 技术” 将私网 IP 转成公网 IP 才能正常的上网!
公网与私网的访问
如果私网 IP 要访问公网网站的话,需要在私网和公网接口处,做 SNAT。
一般我们称运营商搭建的网络为公网,主要负责连接各个公司或者家庭的网络,里面的 IP 都是公网 IP,里面也只会出现公网 IP 组成的路由,因此私网 IP 进到公网后,是没有路由的,会被丢弃,所以上面提到私网访问公网的话,需要 SNAT,把私网 IP 换成公网 IP。
聪明的你肯定会想到,公网要访问私网咋办?这其实涉及到 DNAT、VPN 等技术。
还有就是两个私网要跨公网通信咋办?这可以通过 VPN 解决。
补充:内网的话,可以简单理解为私网,不过其实这个概念的出发点是对于企业而言,在企业内部叫私网,企业外部就叫外网。
从概念上讲一个企业以外的网络,可以包括运营商的网络(即公网),也可以包括其他企业或者家庭的网络(即私网)。
所以说,外网与公网不能化等号的。
但其实也没有那么特意去区分,公网=外网,私网=内网,可以简单这么理解,没必要去咬文嚼字(但至少还是要懂得我上面说的外网与公网的区别)。
全部 IP 地址的范围
IP 地址,一共分成了 5 类,范围分别如下:
- A类 IP:
1.0.0.1
–127.255.255.254
- B类 IP:
128.0.0.1
–191.255.255.254
- C类 IP:
192.0.0.1
–223.255.255.254
- D类 IP:
224.0.0.0
–239.255.255.255
- E类 IP:
240.0.0.0
–255.255.255.255
而其中,能在 Internet 或被用户使用的有 A、B、C 三类,而D类地址称为广播地址,供特殊协议向选定的节点发送信息时用,E类地址保留给将来使用。
特殊的网址:
- 每一个字节都为 0 的地址(“
0.0.0.0
”)对应于当前主机; - IP 地址中的每一个字节都为 1 的 IP 地址(“
255.255.255.255
”)是当前子网的广播地址; - IP 地址中凡是以 “11110” 开头的 E 类 IP 地址都保留用于将来和实验使用。
- IP 地址中不能以十进制 “127” 作为开头,该类地址中数字
127.0.0.1
到127.255.255.255
用于回路测试,如:127.0.0.1
可以代表本机IP地址,用 “http://127.0.0.1” 就可以测试本机中配置的 Web 服务器。 - 网络 ID 的第一个 6 位组也不能全置为 “0”,全 “0” 表示本地网络。
公有 IP 地址的范围
在 IP 地址 3 种主要类型里,各保留了 3 个区域作为私有地址,也就是比较常用的 IP 地址。其地址范围如下:
- A 类的公有 IP:
1.0.0.0
~9.255.255.255
11.0.0.0
~126.255.255.255
- B 类的公有 IP:
128.0.0.0
~172.15.255.255
172.32.0.0
~191.255.255.255
- C 类的公有 IP:
192.0.0.0
~192.168.255.255
192.169.0.0
~223.255.255.255
私有 IP 地址的范围
- A 类私有 IP 地址:
10.0.0.0
~10.255.255.255
即10.0.0.0/8
- B 类私有 IP 地址:
172.16.0.0
~172.31.255.255
即172.16.0.0/12
- C 类私有 IP 地址:
192.168.0.0
~192.168.255.255
即192.168.0.0/16
这些地址是不会被 Internet 分配的,它们在 Internet 上也不会被路由 ,虽然它们不能直接和 Internet 连接,但通过技术手段仍旧可以和 Internet 通讯(NAT 技术)。我们可以根据需要来选择适当的地址类,在内部局域网中将这些地址像公用 IP 地址一样地使用。在 Internet 上,有些不需要与 Internet 通讯的设备,如打印机、可管理集线器 等也可以使用这些地址,以节省 IP 地址资源。
网段 & 局域网
网段是指一个计算机网络使用同一层物理层设备(如集线器,交换机)能够直接通信的那一部分,即每台电脑只能和自己同一网段的电脑直接进行通信。
局域网是指由交换机构成的一整个网络系统,局域网内的所有设备一般都处于同一网段,因此可以直接进行通信,但是局域网也可以划分成多个网段,如使用 VLAN。
关于 VLAN 的介绍,可以看这篇博客(强推):https://info.support.huawei.com/info-finder/encyclopedia/zh/VLAN.html
只有同一局域网内的相同网段的设备才可直接进行通信。所以我的理解,当局域网内只有一个网段时,该局域网就可以等价于网段。
如何区分是否同一网段
理解了网段后,我们接下来来讲解下如何判别两网段是否为同一网段。
根据掩码确定 IP 地址网段只需要使用 IP 地址
&
子网掩码即可!
例 1
比如以下两个 IP 地址
- IP 地址1:
192.168.1.1
子网掩码:255.255.255.0
- IP 地址2:
192.168.1.2
子网掩码:255.255.255.0
我们可以直接的判断,它们是属于同一个 (192.168.1.0
) 网段的 IP 地址。
例 2
那么对于下面这样的呢?
- IP 地址1:
192.168.1.1
子网掩码:255.255.255.0
- IP 地址2:
192.168.1.2
子网掩码:255.255.0.0
这两个 IP 地址虽然在不看掩码的情况下,比较像,但他们并不是同一个网段内的。
这可以从子网掩码来判断:
IP 192.168.1.1
& 掩码 255.255.255.0
属于 192.168.1.0
网段;
而 IP 192.168.1.2
& 掩码 255.255.0.0
则属于 192.168.0.0
网段。
例 3
- IP 地址1:
192.168.1.1
子网掩码:255.255.252.0
- IP 地址2:
192.168.2.1
子网掩码:255.255.252.0
很明显,我们这个和上面例1 的 IP 地址是一样的,只是子网掩码不一样,如果不看子网掩码,首先可能就误判它们不是同一个网段。
经过判别,两个 IP 地址都是属于 192.168.0.0
网段,所以它们是同属于一个网段的。
VPN
⚠️ 私自架设 VPN 是违法行为!
这里我们就简单看下维基百科对于 VPN 的介绍:
虚拟专用网(英语:virtual private network,缩写:VPN)是常用于连接中、大型企业或团体间私人网络的通讯方法。它利用隧道协议(Tunneling Protocol)来达到发送端认证、消息保密与准确性等功能。
历史
20 世纪 90 年代,计算机网络上的计算机通过非常昂贵的专线和/或拨号连线互连。视站点间的距离,花费可达数千美元(56 kbps连线)或上万美元。
为了避免租用多条各自连接互联网的专线,因为虚拟专用网可减少网络开支,用户可以安全地交换私密数据,虚拟专用网变得普及,使昂贵的专线变得多余。
安全性
安全的虚拟专用网使用加密穿隧协议,通过阻止截听与嗅探来提供机密性,还允许发送者身份验证,以阻止身份伪造,同时通过防止信息被修改提供消息完整性。
某些虚拟专用网不使用加密保护数据。虽然虚拟专用网通常都会提供安全性,但未加密的虚拟专用网严格来说是不“安全”或不“可信”的。例如,一条通过 GRE 协议在两台主机间创建的隧道属于虚拟专用网,但既不安全也不可信。
除以上的 GRE 协议例子外,本地的明文穿隧协议包括 L2TP(不带 IPsec 时)和PPTP(不使用微软点对点加密(MPPE)时)。
协议
常用的虚拟专用网协议有:
- PPTP
- L2TP
- IPsec
- SSL VPN
- WireGuard
- OpenVPN
- IKEv2
使用
许多公司企业的员工等使用虚拟专用网(VPN)来访问其内部的网络,以达到远程办公的作用。
在中国,由于中国大陆境内对海外网络的限制及屏蔽,中国大陆兴起以采用虚拟专用网连接外国网络的突破网络审查方法,俗称翻墙 。许多外资公司、学术单位因欲连回海外网站,也多自行架设 VPN 或采用付费的 VPN 服务。
📚补充
根据《国务院关于修改〈中华人民共和国计算机信息网络国际联网管理暂行规定〉的决定》第六条规定:
计算机信息网络直接进行国际联网,必须使用邮电部国家公用电信网提供的国际出入口信道。
任何单位和个人不得自行建立或者使用其他信道进行国际联网。
万万不可跨越法律底线自行架设 VPN!!!
更多关于 VPN 的内容:https://zhuanlan.zhihu.com/p/402715597