首页 > 其他分享 >学习笔记399—彻底明白ip地址,区分localhost、127.0.0.1和0.0.0.0

学习笔记399—彻底明白ip地址,区分localhost、127.0.0.1和0.0.0.0

时间:2023-04-13 12:14:31浏览次数:38  
标签:127.0 0.1 0.0 IP地址 地址 IP

彻底明白ip地址,区分localhost、127.0.0.1和0.0.0.0

通俗的了解IP地址是什么

对于IP地址,大家并不陌生,特别是在网络访问中我们会经常使用到(平时对域名如百度的www.baidu.com的访问,本质就是对域名所绑定的IP地址的访问),那么IP地址是什么呢?

首先,我们要知道网络中的相互访问其实就是在进行两者间的数据传递。就如同送快递一样,快递发出只有知道你的住址信息,才能将快递送到你的手中。而在网络访问时,只有知道你在网络中的地址信息,才能将数据发送到你的设备上。所以,IP地址就是你在网络中的地址信息。与你现实地址不同的是,你的现实地址使用文字表示,而你在网络中的地址(IP地址)是用二进制数字表示的。

简要的了解下公网与内网中的IP地址

一般我们会将网络划分公网(连Internet的)内网

公有IP地址

一般称公网中的IP地址为公有地址。公有地址由Inter NIC(因特网信息中心)负责,这些IP地址分配给注册并向Inter NIC提出申请的组织机构。公有地址是全球唯一的,公网中不可能存在两个相同的IP地址

范围:除了私有地址以外的地址,都属于公有地址

私有IP地址

一般称内网(即局域网)中的IP地址为私有地址。私有地址是非注册地址,用于组织机构内部使用。私有地址的范围如下:

  • A类IP地址中:10.0.0.0--10.255.255.255
  • B类IP地址中:172.16.0.0--172.31.255.255
  • C类IP地址中:192.168.0.0--192.168.255.255

私有地址与公有地址不同,并不是由Internet分配的,是不允许出现在Internet中的,我们在公网中是看不到私有IP地址的,并且公有地址也不会使用上述的三类地址。所以,私有地址是不能直接与Internet连接的。

而如果想用私有地址与Internet连接来访问公网,那该怎么做?这就需要将私有IP地址转换成公网IP地址,与外部连接。所以,我们平时使用的路由器中会装有一个叫做 NAT(网络地址转换) 的软件,我们的路由器中会至少会有一个有效的公网IPNAT会将我们的私有地址转成路由器中的公网IP与外部Internet连接。而同样的,因为使用的是路由器中的公共的公网IP来连接Internet,所以这个内网中的PC在Internet中显示的都是路由器的公共IP,这样做不仅提供了一定程度的安全,也可以有效的减缓可用的IP地址空间的枯竭问题。(像我们学校或者公司的内网一般都是这么做的)

另外还有一点,在同一个局域网内,IP地址是唯一的;但是在不同的局域网内,IP地址是可以重复出现的。

举个小例子:局域网A中,有个主机的IP地址192.168.10.128,那么绝不可能在局域网A中还有其他主机的IP地址192.168.10.128。但是在局域网B中却可以有主机的IP地址也是192.168.10.128
如果局域网A中的192.168.10.128主机局域网B中的192.168.10.128主机通信,不会冲突吗?不会,因为上述说过,它们最终都是使用路由器中的公网IP来连接外网的,而公网IP是全球唯一的。

localhost、127.0.0.1和0.0.0.0和本机IP的区别

localhost

localhost其实是域名,一般windows系统默认将localhost指向127.0.0.1,但是localhost并不等于127.0.0.1localhost指向的IP地址是可以配置的

127.0.0.1

首先我们要先知道一个概念,凡是以127开头的IP地址,都是回环地址(Loop back address),其所在的回环接口一般被理解为虚拟网卡,并不是真正的路由器接口。

所谓的回环地址,通俗的讲,就是我们在主机上发送给127开头的IP地址的数据包会被发送的主机自己接收,根本传不出去,外部设备也无法通过回环地址访问到本机。

小说明:正常的数据包会从IP层进入链路层,然后发送到网络上;而给回环地址发送数据包数据包会直接被发送主机的IP层获取,后面就没有链路层他们啥事了。

127.0.0.1作为{127}集合中的一员,当然也是个回环地址。只不过127.0.0.1经常被默认配置为localhostIP地址
一般会通过ping 127.0.0.1来测试某台机器上的网络设备是否工作正常。

0.0.0.0

首先,0.0.0.0是不能被ping通的。在服务器中,0.0.0.0并不是一个真实的的IP地址,它表示本机中所有的IPV4地址。监听0.0.0.0的端口,就是监听本机中所有IP的端口。

本机IP

本机IP通常仅指在同一个局域网内,能同时被外部设备访问和本机访问的那些IP地址(可能不止一个)。像127.0.0.1这种一般是不被当作本机IP的。本机IP是与具体的网络接口绑定的,比如以太网卡、无线网卡或者PPP/PPPoE拨号网络的虚拟网卡,想要正常工作都要绑定一个地址,否则其他设备就不知道如何访问它。

小例子剧场(帮助理解本机IP、127.0.0.1和0.0.0.0)

现在有两台pc在同一个局域网内,分别为pc1与pc2,pc1上有一个网卡,IP地址为192.168.10.128

  • pc1中sever监听127.0.0.1,则pc1中的client可以连上127.0.0.1192.168.10.128连不上;而pc2中client都连不上。
  • pc1中sever监听192.168.10.128,则pc1中的client可以连上192.168.10.128127.0.0.1连不上;而pc2中client能连上192.168.10.128
  • pc1中sever监听0.0.0.0,则pc1中的client可以连上127.0.0.1192.168.10.128,pc2中的client能连上192.168.10.128
参考链接:https://www.jianshu.com/p/ad7cd1d5be45

 

标签:127.0,0.1,0.0,IP地址,地址,IP
From: https://www.cnblogs.com/hechangchun/p/17314183.html

相关文章

  • clayui clayui界面库0.1版发布
    clayui界面库0.1版发布,预览如下:                     clayui是一个免费的,轻量级的界面库,界面开发人员可以通过它轻松的创建界面元素的动画效果,它也可以载入定制的FLASH文件作为界面的皮肤,clayui将界面输出到一个预先定义好的32位图象缓冲区,所以,开发人员......
  • ubuntu 20.04服务器 syslog客户端日志发送至深信服日志系统服务器中
    1.ubuntu设置Linux下syslog客户端配置:修改配置⽂件:vi/etc/rsyslog.conf在最后⼀⾏加⼊:*.*@192.168.190.50:514#将所有消息发送到该地址重启服务:#servicersyslogrestart查看服务状态#servicersyslog2.日志服务器设置添加源设置源名称----接入类型(syslog)---源IP(你......
  • ubuntu20.04下VSCode无法输入中文解决方法
    解决方法:重新安装VSCode。我一开始是在ubuntu商店下载的,结果上网查了了下,商店里的VSCode是阉割版的,想要输入中文就要重新安装。安装流程:先删除再安装。1.可以在商店里已安装界面下选择移除,或者sudosnapremovecode。删除后仍会保留已打开文件的记录,所以不用担心。2.删除完......
  • SonarQube 10.0 (macOS, Linux, Windows) - 清洁代码 (Clean Code)
    SonarQubeDataCenterEdition(JavaAppformacOS,Linux,Windows)请访问原文链接:https://sysin.org/blog/sonarqube-10/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgSonarCleanCodeIndustryleadingsolutionsIDE|SonarLintFreeIDEextensionthat......
  • 基于Ubuntu20.04搭建nfs服务器
    准备一台Ubuntu虚拟机IP:192.168.129.114安装nfs-serversudoapt-getinstallnfs-kernel-server添加NFS共享目录sudovim/etc/exports添加一行*表示允许任何网段IP的系统访问该NFS目录/nfsroot*(rw,sync,no_root_squash)新建/nfsroot目录,并为该目录设置最......
  • 【开源免费】ChatGPT-Java版SDK重磅更新至1.0.10版,支持Tokens计算,快来一键接入。
    简介ChatGPTJava版SDK开源地址:https://github.com/Grt1228/chatgpt-java,目前收获将近1000个star。有bug欢迎朋友们指出,互相学习,所有咨询全部免费。最新版:1.0.10<dependency><groupId>com.unfbx</groupId><artifactId>chatgpt-java</artifactId><version......
  • 力扣 面试题 10.11. 峰与谷
    面试题10.11.峰与谷在一个整数数组中,“峰”是大于或等于相邻整数的元素,相应地,“谷”是小于或等于相邻整数的元素。例如,在数组{5,8,4,2,3,4,6}中,{8,6}是峰,{5,2}是谷。现在给定一个整数数组,将该数组按峰与谷的交替顺序排序。示例:输入:[5,3,1,2,3]输出: [......
  • Ubuntu10.04下配置和使用JDK-Mysql-Tomcat-SVN
    操作系统:Linux-Ubuntu10.0.4,JDK:1.61.安装JDK和设置Java环境变量1.1安装JDKa.下载JDKjdk-6u31-linux-x64.bin,具体下载哪个,根据自己的平台和系统来决定b.修改权限,增加可执行权限sudochmodu+xjdk-6u31-linux-x64.binc.进入到jdk-6u31-linux-x64.bin所在的目录./jdk-6u31-linux-x......
  • 360看图 1.0.0.1010 精简优化版
    修改历史:2023.03.30:自改官方 1.0.0.1010最新正式版本2023.03.20:首个自改官方1.0.0.1002修改内容:基于官方最新版本制作,精简部分非必要文件;禁止软件自动更新;去除所有程序自校验,避免程序报错;其他细节调整下载链接: 自用资源,暂不公开!......
  • 为什么 JavaScript 中 0.1 0.2 不等于 0.3 ?
    vivo互联网技术微信公众号 作者:刘洋在js中进行数学的运算时,会出现0.1+0.2=0.300000000000000004的结果,一开始认为是浮点数的二进制存储导致的精度问题,但这似乎不能很好的解释为什么在同样的存储方式下0.3+0.4=0.7可以得到正确的结果。本文主要通过浮点数的二进制存储及运算,和......