127.0.0.1 localhost与 ::1三者之间的区别与关系

发表于 2018-11-12   |   分类于 技术教程     阅读:(302)

在计算机网络中,localhost是一个主机名,表示此计算机。它用于通过环回网络接口访问主机上运行的网络服务。使用环回接口可绕过任何本地网络接口硬件。

本地回送机制可以用于在主机上运行网络服务,而不需要物理网络接口,或者不允许从计算机可以连接到的网络访问服务。例如,可以通过URL http:// localhost 从Web浏览器访问本地安装的网站以显示其主页。

localhost的名称通常解析为IPv4环回地址 127.0.0.1,以及IPv6环回地址:: 1。

另外什么是环回地址??与127.0.0.1的区别呢??

环回地址是主机用于向自身发送通信的一个特殊地址(也就是一个特殊的目的地址)。

可以这么说:同一台主机上的两项服务若使用环回地址而非分配的主机地址,就可以绕开TCP/IP协议栈的下层。(也就是说:不用再通过什么链路层,物理层,以太网传出去了,而是可以直接在自己的网络层,运输层进行处理了)

IPv4的环回地址为:127.0.0.0到127.255.255.255都是环回地址(只是有两个特殊的保留),此地址中的任何地址都不会出现在网络中

网络号为127的地址根本就不是一个网络地址(因为产生的IP数据报就不会到达外部网络接口中,是不离开主机的包)

当操作系统初始化本机的TCP/IP协议栈时,设置协议栈本身的IP地址为127.0.0.1(保留地址),并注入路由表。当IP层接收到目的地址为127.0.0.1(准确的说是:网络号为127的IP)的数据包时,不调用网卡驱动进行二次封装,而是立即转发到本机IP层进行处理,由于不涉及底层操作。因此,ping 127.0.0.1一般作为测试本机TCP/IP协议栈正常与否的判断之一。
所以说:127.0.0.1是保留地址之一,只是被经常的使用,来检验本机TCP/IP协议栈而已
如果我们可以ping通的话,就说明:本机的网卡和IP协议安装都没有问题。(跟我们当前主机有没有联网没有一点关系)

localhost首先是一个域名(如同:http://www.baidu.com),也是本机地址,它可以被配置为任意的IP地址(也就是说,可以通过hosts这个文件进行更改的),不过通常情况下都指向:(如下)

127.0.0.1 localhost

::1 localhost

而在 Linux 中,其定义位于 /etc/hosts 中:
127.0.0.1 localhost
注意这个值是可修改的,比如我把它改成
192.168.2.1 localhost
然后再去 ping localhost,提示就变成了
PING localhost (192.168.2.1) 56(84) bytes of data.
当然一般人不会像我这么无聊

整个127.*网段通常被用作loopback网络接口的默认地址,按照惯例通常设置为127.0.0.1。我们当前这个主机上的这个地址,别人不能访问,即使访问,也是访问自己。因为每一台TCP/IP协议栈的设备基本上都有local/127.0.0.1

本机IP,我们可以理解为本机有三块网卡,一块网卡叫做loopback(虚拟网卡),一块叫做ethernet(有线网卡),一块叫做wlan(你的无线网卡)
联网,网卡传输,受防火墙和网卡限制

用于本机和外部访问

发表新评论

© 2019 VPS干货 Powered by Typecho & Theme Quark Google_sitemap baidu_sitemap
友情链接: 小众博客 vps干货 vps优惠码 王阳个人博客 VPS推介 顾建伟个人博客 Dianlin(好基友) 李子博客 主机测评 资源分享 Hello Mango