• 127.0.0.1和localhost和本机IP三者的区别!


    1,

    先来说下回送地址(Loopback Address):

    回送地址是主机用于向自身发送通信的一个特殊地址(也就是一个特殊的目的地址)。
    可以这么说:同一台主机上的两项服务若使用回送地址而非分配的主机地址,就可以绕开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回送地址。通常如果回送地址Ping不通,就说明IP堆栈出了故障。如果通的话,表明网络出了问题。

    2,

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

    IPv6:表示   [::1]

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

    在 Windows 中,这个域名是预定义的,从C:WindowsSystem32driversetc hosts 文件中可以看出:

    # localhost name resolution is handled within DNS itself.
    # 127.0.0.1 localhost    ( ipv4)
    # ::1            localhost     (ipv6)

    而在 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.0.0.1 这个地址通常分配给 loopback 接口。loopback 是一个特殊的网络接口(可理解成虚拟网卡),用于本机中各个应用之间的网络交互。只要操作系统的网络组件是正常的,loopback 就能工作。Windows 中看不到这个接口,Linux中这个接口叫 lo:
    #ifconfig
    eth0    Link encap:Ethernet hwaddr 00:00:00:00:00:00          
               inet addr :192.168.0.1 Bcase:192.168.0.255 Mask:255.255.255.0  
               ......
    lo        Link encap:Local Loopback        
               inetaddr: 127.0.0.1 Mask: 255.0.0.0        
               ......
    可以看出 lo 接口的地址是 127.0.0.1。事实上整个 127.* 网段都算能够使用,比如你 ping 127.0.0.2 也是通的。但是使用127.0.0.1作为loopback接口的默认地址只是一个惯例,比如下面这样:
    #ifconfig lo 192.168.1.1
    #ping localhost       # ping不通了
    #ping 192.128.1.1  # 可以通

    3,

    本机IP,我们可以理解为本机有三块网卡,一块网卡叫做loopback(虚拟网卡),一块叫做ethernet(有线网卡),一块叫做wlan(你的无线网卡),

    连接网络,网卡传输,受防火墙和网卡限制

    用于本机和外部访问

  • 相关阅读:
    如何判断DataSet里有多少个DataTable
    ADO.NET五大对象详解
    c# 中的封装、继承、多态详解
    什么是递归算法
    反射是什么
    什么是泛型
    方法中参数的类型详细
    Struts2学习笔记二 配置详解
    Struts2学习笔记一 简介及入门程序
    Hibernate学习笔记四 查询
  • 原文地址:https://www.cnblogs.com/pipci/p/7967876.html
Copyright © 2020-2023  润新知