[计算机网络]localhost、127.0.0.1、本机 IP、公私有 IP、网卡 (MAC) 与 IP

参考:https://juejin.cn/post/7013538093974323231

本机 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 的介绍,可以看这篇博客(强推):info.support.huawei.com/info-finder…
只有同一局域网内的相同网段的设备才可直接进行通信。所以我的理解,当局域网内只有一个网段时,该局域网就可以等价于网段。

如何区分是否同一网段
理解了网段后,我们接下来来讲解下如何判别两网段是否为同一网段。

根据掩码确定 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 网段,所以它们是同属于一个网段的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值