127.0.0.0与0.0.0.0的区别

2023-05-16

1. IP地址分类

ref :https://tools.ietf.org/html/rfc1700 page 3

IP地址表示

IP地址由两个部分组成,net-id和host-id,即网络号和主机号。
net-id:表示ip地址所在的网络号。
host-id:表示ip地址所在网络中的某个主机号码。
即:
IP-address ::= { <Network-number>, <Host-number> }

IP地址分类

IP地址一共分为5类,即A~E,它们分类的依据是其net-id所占的字节长度以及网络号前几位。

  • A类地址:网络号占1个字节。网络号的第一位固定为0。
  • B类地址:网络号占2个字节。网络号的前两位固定为10。
  • C类地址:网络号占3个字节。网络号的前三位固定位110。
  • D类地址:前四位是1110,用于多播(multicast),即一对多通信。
  • E类地址:前四位是1111,保留为以后使用。
    其中,ABC三类地址为单播地址(unicast),用于一对一通信,是最常用的。

特殊IP地址

特殊IP地址就是用来做一些特殊的事情。RFC1700中定义了以下特殊IP地址。

  1. {0,0}:网络号和主机号都全部为0,表示“本网络上的本主机”,只能用作源地址。
  2. {0,host-id}:本网络上的某台主机。只能用作源地址。
  3. {-1,-1}:表示网络号和主机号的所有位上都是1(二进制),用于本网络上的广播,只能用作目的地址,发到该地址的数据包不能转发到源地址所在网络之外。
  4. {net-id,-1}:直接广播到指定的网络上。只能用作目的地址。
  5. {net-id,subnet-id,-1}:直接广播到指定网络的指定子网络上。只用作目的地址。
  6. {net-id,-1,-1}:直接广播到指定网络的所有子网络上。只能用作目的地址。
  7. {127,}:即网络号为127的任意ip地址。都是内部主机回环地址(loopback),永远都不能出现在主机外部的网络中。

区别与联系

0.0.0.0

IPV4中,0.0.0.0地址被用于表示一个无效的,未知的或者不可用的目标。

  • 在服务器中,0.0.0.0指的是本机上的所有IPV4地址,如果一个主机有两个IP地址,192.168.1.1 和 10.1.2.1,并且该主机上的一个服务监听的地址是0.0.0.0,那么通过两个ip地址都能够访问该服务。
  • 在路由中,0.0.0.0表示的是默认路由,即当路由表中没有找到完全匹配的路由的时候所对应的路由。

用途总结:

  • 当一台主机还没有被分配一个IP地址的时候,用于表示主机本身。(DHCP分配IP地址的时候)
  • 用作默认路由,表示”任意IPV4主机”。
  • 用来表示目标机器不可用。
  • 用作服务端,表示本机上的任意IPV4地址。

127.0.0.1

127.0.0.1属于{127,}集合中的一个,而所有网络号为127的地址都被称之为回环地址,所以回环地址!=127.0.0.1,它们是包含关系,即回环地址包含127.0.0.1。
回环地址:所有发往该类地址的数据包都应该被loop back。
用途:

  • 回环测试,通过使用ping 127.0.0.1 测试某台机器上的网络设备,操作系统或者TCP/IP实现是否工作正常。
  • DDos攻击防御:网站收到DDos攻击之后,将域名A记录到127.0.0.1,即让攻击者自己攻击自己。
  • 大部分Web容器测试的时候绑定的本机地址。

localhost

相比127.0.0.1,localhost具有更多的意义。localhost是个域名,而不是一个ip地址。之所以我们经常把localhost与127.0.0.1认为是同一个是因为我们使用的大多数电脑上都讲localhost指向了127.0.0.1这个地址。
在ubuntu系统中,/ets/hosts文件中都会有如下内容:

127.0.0.1   localhost
127.0.1.1   jason-Lenovo-V3000
# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

localhost是一个域名,用于指代this computer或者this host,可以用它来获取运行在本机上的网络服务。
在大多数系统中,localhost被指向了IPV4的127.0.0.1和IPV6的::1。

IPV4          127.0.0.1    localhost
IPV6           ::1          localhost

127.0.0.1 是一个环回地址。并不表示“本机”。0.0.0.0才是真正表示“本网络中的本机”。
当服务端绑定端口到0.0.0.0,就可以通过多个地址访问这个服务,而不受内外网的限制(存在安全隐患)。


ref:
wiki:https://zh.wikipedia.org/wiki/Localhost
https://blog.csdn.net/u012814696/article/details/55098249
https://www.iana.org/assignments
https://tools.ietf.org/html/rfc1700
https://www.rfc-editor.org/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

127.0.0.0与0.0.0.0的区别 的相关文章

  • 全开源即时通讯(IM)系统 高仿微信

    android chat 项目地址 xff1a wildfirechat android chat 简介 xff1a 全开源即时通讯 IM 系统 高仿微信 更多 xff1a 作者 提 Bug 官网 标签 xff1a 野火 IM 是一套跨平台
  • OpenCV与机器视觉

    最近在网易云课堂把南科大于仕琪团队的OpenCV教程完整看了一遍 xff0c 对图像处理或者机器视觉又有了一个系统性的理解 OpenCV中文网站就是他创建的 xff0c 他的研究团队及其相应成果可以在个人网站中查阅 回想过去在图像处理方面的

随机推荐

  • Virtual Box+Ubuntu20.04+ROS2 Foxy配置

    ROS从最早的正式版本Box Turtle到现在也十几年了 而ROS2出来也挺久了 xff0c 一直没机会看看 好久也没弄ROS xff0c 这几天捣鼓了捣鼓 目录 1 Virtual Box安装Ubuntu20 04 2 ROS2 Fox
  • TI CC265x的IIC通讯读取IMU BMI08x数据

    SmartLink CC265x是TI公司出的无线MCU平台器件 最近玩了个小项目用TI的CC265x平板IIC接口通讯 xff0c 获取博世BMI08x陀螺仪 加速度计传感器的数据 本篇博客亦是对博客 树莓派IIC通讯获取BMI08x I
  • 三种方法在ROS中加载Qt库进行GUI设计

    编写ros程序 xff0c 因为有时会涉及到界面设计 xff0c 所以本人主要用的QtCreator IDE 首先当然是安装QtCreator xff0c 这个网上有很多安装教程和下载资源 xff0c 非常简单 由于Qt的工程大多采用qma
  • 在ROS中处理yaml文件

    ROS中的参数服务器 xff08 Parameter Server xff09 的相关操作可参见roscpp tutorials Tutorials Parameters 如果想要载入参数 xff0c 可以通过编写yaml文件 xff0c
  • ROS动态调参(dynamic reconfigure)客户端服务端之C++ Python实现

    在ROS系统中 xff0c 我们需要实时修改参数 xff0c 并能马上看到运行效果 这一功能是通过ros dynamic reconfigure包实现的 官网教程如下 xff1a dynamic reconfigure Tutorials
  • ROS中slam_gmapping、map_server源码解读及其librviz的使用

    SLAM全称simultaneous localization and mapping xff0c 即实时定位与地图构建 也就是说导航离不开地图 xff0c 目前常用的地图构建方法有三种 xff1a 1 gmapping xff0c 一种基
  • 记 - PC视频播放最强画质教程(Potplayer + madVR)

    PC视频播放最强画质教程 前言 xff1a 本次使用到的软件 工具 Potplayer播放器 Potplayer是目前我用到的最好用的宝藏视频播放软件 xff1a 内存占用低 无广告 支持视频格式多 功能强大 扩展性高 界面唯美 xff08
  • 【三维深度学习】多视角立体视觉 MVSNet代码解读

    MVSNet通过将相机几何参数编码到网络中 xff0c 实现了端到端的多视角三维重建 xff0c 并在性能和视觉效果上超越了先前算法 xff0c 并在eccv2018 oral中发表 模型主要包含四个主要步骤 xff1a 图像特征抽取 多视
  • 【pandas】删除满足条件元素所在的行

    在数据清洗时 xff0c 需要按照一定条件删除某些数据样本 xff0c 利用布尔表达式 索引和drop方法可以实现 1 pandas drop df 61 df drop df lt some boolean condition gt in
  • 【AI视野·今日Robot 机器人论文速览 第八期】Wed, 16 Jun 2021

    AI视野 今日CS Robotics 机器人学论文速览 Wed 16 Jun 2021 Totally 13 papers x1f449 上期速览 更多精彩请移步主页 Daily Robotics Papers Constrained Mo
  • 【CVPR2022】论文列表与下载——PartTwo

    CVPR2022将于6月22日召开 x1f389 x1f389 x1f389 xff0c 本次会议共收录了2067篇论文 由于数量较多 xff0c 本文将分四个子文章呈现 xff0c 可直接点击论文标题获取文档 x1f4c3 第一部分 x1
  • 【CVPR2022】论文列表与下载——PartThree

    CVPR2022将于6月22日召开 x1f389 x1f389 x1f389 xff0c 本次会议共收录了2067篇论文 由于数量较多 xff0c 本文将分四个子文章呈现 xff0c 可直接点击论文标题获取文档 x1f4c3 第一部分 x1
  • 【CVPR2022】论文列表与下载——PartFour

    CVPR2022将于6月22日召开 x1f389 x1f389 x1f389 xff0c 本次会议共收录了2067篇论文 由于数量较多 xff0c 本文将分四个子文章呈现 xff0c 可直接点击论文标题获取文档 x1f4c3 第一部分 x1
  • Python三维绘图--Matplotlib

    Python三维绘图 在遇到三维数据时 xff0c 三维图像能给我们对数据带来更加深入地理解 python的matplotlib库就包含了丰富的三维绘图工具 1 创建三维坐标轴对象Axes3D 创建Axes3D主要有两种方式 xff0c 一
  • 【深度学习】三维点云数据集总结

    点云数据集总结 三维点云数据 xff0c 三维深度学习 1 ShapeNet ShapeNet是一个丰富标注的大规模点云数据集 xff0c 其中包含了55中常见的物品类别和513000个三维模型 2 ShapeNetSem 这是一个小的数据
  • git push代码到远程新分支

    Git push 获取远程代码修改后 想要push到远端与原来不同的新分支 xff0c 可以使用下面的命令实现 xff1a git push origin 本地分支 远端希望创建的分支 例如git下来的分支为master span clas
  • 【numpy求和】numpy.sum()求和

    numpy sum a axis 61 None dtype 61 None out 61 None keepdims 61 initial 61 source 用于计算array元素的和 python中常用的numpy进行数学计算 xff
  • Nuttx romfs与启动脚本rcS

    ARM系统上电后 xff0c 系统将flash地址映射到零地址处 xff0c 处理器从零地址处开始运行第一条指令 而在零地址处 xff0c 一般是系统复位中断向量 xff0c 此处存放的是一条跳转指指令 xff0c 通过该条换指令 xff0
  • 在终端/命令行下打开文件浏览器窗口--Win cmd &Ubuntu terminal

    在命令行下想要可视化查看文件 xff0c 可以使用命令直接打开图形化窗口 1 Windows windows上可以使用explorer exe打开资源管理器 xff1a explorer exe span class token keywo
  • 127.0.0.0与0.0.0.0的区别

    1 IP地址分类 ref https tools ietf org html rfc1700 page 3 IP地址表示 IP地址由两个部分组成 xff0c net id和host id xff0c 即网络号和主机号 net id 表示ip