当前位置: 首页 > news >正文

127.0.0.1与本机IP地址的区别

大家好,今天我们来聊聊一个在网络世界中常常被提及,但可能对于非专业人士来说还有些模糊的概念——127.0.0.1与本机IP地址。这两个地址在网络通信中都扮演着重要的角色,但它们之间又有着怎样的区别呢?让我们一起来探究一下。

一、127.0.0.1:回环地址

127.0.0.1,也被称为本地回环地址或localhost,是一个特殊的IP地址。

  • 作用:127.0.0.1主要用于计算机内部通信,它不经过任何物理网络硬件。开发者可以在自己的电脑上搭建Web服务器或其他网络服务,然后通过访问127.0.0.1来测试这些服务的运行状况。
  • 安全性:由于127.0.0.1是本地地址,只有本机上的应用程序才能访问它,因此它具有较高的安全性。外部网络无法直接访问127.0.0.1上的服务。
  • 网络隔离:使用127.0.0.1进行网络通信时,数据不会离开本机,因此它也被用作网络隔离的手段。

IP地址中的A类地址网络号只有7位二进制数,按理说是eq?2%5E%7B7%7D-1 = 127种,实际为126种,就是减去了回环地址。

d7b7a9700e8d4f7d9dcf6f7dd877c942.png

IPv4地址:127.0.0.1是IPv4地址空间中预留给回环测试的一部分。

IPv6等价物:IPv6中的回环地址是::1,称为IPv6的本地回环地址。

二、本机IP地址

本机IP地址是指分配给电脑在网络中的唯一标识符。每个连接到网络的设备(包括电脑、手机、路由器等)都会有一个或多个IP地址。

  • 类型:本机IP地址可以是私有IP地址(如192.168.x.x),也可以是公网IP地址(用于直接访问互联网)。
  • 作用:本机IP地址用于在网络中标识和定位设备。其他设备可以通过本机IP地址来访问该设备上的服务或资源。
  • 安全性:与127.0.0.1不同,本机IP地址可能会被外部网络访问。因此,在使用本机IP地址时需要注意安全性问题,如防火墙设置、端口管理等。

三、127.0.0.1与本机IP地址的区别

  1. 作用范围:127.0.0.1仅用于本机内部的通信,而本机IP地址则用于在网络中标识和定位设备。
  2. 安全性:127.0.0.1具有较高的安全性,因为外部网络无法直接访问它;而本机IP地址可能会被外部网络访问,需要注意安全性问题。
  3. 用途:127.0.0.1主要用于本地测试和开发;而本机IP地址则用于网络中的设备通信和资源访问。

四、本文起源

我在进行多设备的socket通信的时候,发现这两个IP地址的选取会导致结果不同,所以写这篇文章防止一些非本专业人士踩雷。

我在网络调试助手上设置打开端口的时候,刚开始由于习惯性打开了127.0.0.1(之前经常都是主机自己与自己通信),然后发现用别的设备连接不上,然后找了资料才知道127.0.0.0到127.255.255.255是保留给回环地址(loopback address)使用的,所以换成了主机的IP地址,然后打开端口,其他的设备就可以连接上了。

1fda27833afc4932a5419dfafceeea12.png96938672cf6741f1ace7a6fc971e98dc.png

 

相关文章:

  • 计网笔记-第二章:应用层
  • C#面:C#中有没有静态构造函数,如果有是做什么用的?
  • 根据身份证获取生日、性别、年龄
  • PHP入门教程5:会话管理和数据库操作
  • 【云原生】docker swarm 使用详解
  • ESP32 BLE学习(1) — GAP和GATT回调函数作用
  • 【仿真建模-anylogic】ConveyorCustomStation原理解析
  • Zabbix自定义监控JAVA进程
  • Go基础编程 - 05 - 数组与切片
  • (一)SvelteKit教程:hello world
  • windows桌面运维----第三天
  • CCAA质量管理【学习笔记】​​ 备考知识点笔记(三)质量管理方法与常见工具
  • 了解并解决 Flutter 中的灰屏问题
  • 瞬间将模型改为原来的60-200倍小
  • PHP框架详解 - CakePHP框架
  • Git初体验
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 诡异!React stopPropagation失灵
  • 和 || 运算
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 开发基于以太坊智能合约的DApp
  • 项目实战-Api的解决方案
  • 用quicker-worker.js轻松跑一个大数据遍历
  • gunicorn工作原理
  • Java总结 - String - 这篇请使劲喷我
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #etcd#安装时出错
  • (Java企业 / 公司项目)点赞业务系统设计-批量查询点赞状态(二)
  • (leetcode学习)236. 二叉树的最近公共祖先
  • (SpringBoot)第七章:SpringBoot日志文件
  • (力扣)循环队列的实现与详解(C语言)
  • (力扣题库)跳跃游戏II(c++)
  • (一)utf8mb4_general_ci 和 utf8mb4_unicode_ci 适用排序和比较规则场景
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • (转)我也是一只IT小小鸟
  • (转)用.Net的File控件上传文件的解决方案
  • (自适应手机端)响应式服装服饰外贸企业网站模板
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .md即markdown文件的基本常用编写语法
  • .Net MVC + EF搭建学生管理系统
  • .NET 设计模式—简单工厂(Simple Factory Pattern)
  • .net 怎么循环得到数组里的值_关于js数组
  • .net 重复调用webservice_Java RMI 远程调用详解,优劣势说明
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • .Net的DataSet直接与SQL2005交互
  • .NET技术成长路线架构图
  • .NET开源项目介绍及资源推荐:数据持久层
  • .net使用excel的cells对象没有value方法——学习.net的Excel工作表问题
  • .Net中间语言BeforeFieldInit
  • ??Nginx实现会话保持_Nginx会话保持与Redis的结合_Nginx实现四层负载均衡