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

科普:你的笔记本电脑中有三个IP:127.0.0.1、无线网 IP 和局域网 IP;两个域名:localhost和host.docker.internal

三个IP

你的笔记本电脑中有三个IP:127.0.0.1、无线网 IP 和局域网 IP。
在不同的场景下,需要选用不同的 IP 地址,如下为各自的特点及适用场景:

127.0.0.1(回环地址)

特点
  • 127.0.0.1 是一个特殊的 IP 地址,被称为回环地址,它始终指向本地主机。使用这个地址发送和接收数据不会经过物理网络接口,而是直接在本地计算机的网络协议栈中进行处理。
  • 与之对应的域名是 localhost,在很多系统和应用中,localhost 会被解析为 127.0.0.1。
适用场景
  • 本地开发和测试:当你在本地开发一个 Web 应用、数据库服务或其他网络应用时,可以使用 127.0.0.1 来测试应用的功能。例如,你使用 Python 的 Flask 框架开发了一个简单的 Web 应用,在本地运行时可以通过 http://127.0.0.1:5000 (假设应用监听 5000 端口)来访问和测试,这样可以避免网络干扰,专注于应用本身的开发和调试。
  • 本地服务间通信:如果你的计算机上同时运行了多个服务,并且这些服务需要进行通信,使用 127.0.0.1 可以确保数据在本地安全、快速地传输。比如,一个数据库服务和一个应用服务都运行在本地,应用服务可以通过 127.0.0.1 连接到数据库服务。

无线网 IP

特点
  • 无线网 IP 是指计算机通过无线网卡连接到无线网络时所分配到的 IP 地址。这个 IP 地址可能是动态分配的(通过 DHCP 协议),也可能是静态配置的。
  • 如果无线网络连接到互联网,无线网 IP 可以用于与外部网络进行通信。
适用场景
  • 移动办公和上网:当你使用笔记本电脑、平板电脑或智能手机等设备通过无线网络连接到互联网时,无线网 IP 允许你访问各种在线服务,如浏览网页、收发邮件、观看视频等。
  • 与同一无线网络内的设备通信:如果你想与同一无线网络中的其他设备进行文件共享、打印服务或游戏联机等操作,可以使用无线网 IP 来建立连接。例如,在家庭无线网络中,你可以通过无线网 IP 访问共享的文件服务器或连接到其他设备上的共享打印机。

局域网 IP

特点
  • 局域网 IP 是指计算机在局域网内所使用的 IP 地址,通常是私有 IP 地址,如 192.168.x.x、10.x.x.x 或 172.16.x.x - 172.31.x.x 等。这些 IP 地址在局域网内是唯一的,但在互联网上是不可直接访问的。
  • 局域网 IP 地址由局域网内的路由器或 DHCP 服务器分配,用于局域网内设备之间的通信。
适用场景
  • 企业内部网络通信:在企业或办公环境中,计算机通过局域网连接在一起,使用局域网 IP 进行内部通信,如访问内部服务器、共享资源、进行协同工作等。例如,员工可以通过局域网 IP 访问公司的文件服务器、邮件服务器或内部办公系统。
  • 家庭网络设备互联:在家庭网络中,各种智能设备(如智能电视、智能音箱、摄像头等)通常连接到同一个局域网中,使用局域网 IP 进行设备之间的通信和控制。你可以通过手机上的应用程序,使用设备的局域网 IP 来控制智能设备的开关、调节音量等。

选择使用哪个 IP 地址取决于具体的应用场景和需求。如果是本地开发和测试,优先选择 127.0.0.1;如果需要访问互联网或与同一无线网络内的设备通信,使用无线网 IP;如果是在局域网内进行设备之间的通信和资源共享,则使用局域网 IP。

两个域名

你的笔记本电脑中还有两个不同的域名:
host.docker.internallocalhost,这两个不同的域名在功能和使用场景等方面存在区别,以下是具体介绍:

概念

  • host.docker.internal:是Docker为容器提供的特殊域名,用于让容器内的应用访问宿主机上的服务或资源,它会被解析为宿主机的IP地址。
  • localhost:通常指本地主机,在网络通信中,它代表当前设备自身,一般被解析为127.0.0.1(IPv4)或::1(IPv6),主要用于本地进程之间的通信,即同一台计算机上的不同程序或服务之间的交互。

使用场景

  • host.docker.internal:主要用于Docker容器环境。比如在容器化的开发环境中,容器内的应用需要调用宿主机上运行的数据库、消息队列等服务时,就可以使用host.docker.internal来连接宿主机上的相应服务。
  • localhost:适用于各种本地开发和测试场景。例如,在本地开发Web应用时,前端代码和后端代码都在本地运行,后端服务监听在localhost上,前端通过localhost地址来向后端发送请求,获取数据或执行其他操作。

可访问范围

  • host.docker.internal:只能在Docker容器内部使用,用于容器与宿主机之间的通信。在宿主机或其他非Docker容器的环境中,通常无法使用该域名进行访问。
  • localhost:主要在本地环境中使用,用于本地应用程序之间的通信。一般情况下,它不能被外部网络中的其他设备访问,除非进行了特殊的网络配置,如端口转发等。

实际应用举例

  • 假设在宿主机上运行了一个MySQL数据库,端口为3306,同时有一个Docker容器运行着一个Java应用,需要连接到宿主机上的MySQL数据库。在Java应用的配置文件中,就可以使用host.docker.internal:3306作为数据库的连接地址来进行连接。
  • 若在本地计算机上使用Python的Flask框架搭建了一个Web服务,监听在localhost:5000,在本地的浏览器中输入http://localhost:5000就可以访问该Web服务,进行测试和开发。
http://www.lryc.cn/news/540923.html

相关文章:

  • 测试WSS服务器
  • unity学习49:寻路网格链接 offMeshLinks, 以及传送门效果
  • Web 开发中的 5 大跨域标签解析:如何安全地进行跨域请求与加载外部资源
  • UMLS数据下载及访问
  • 23种设计模式 - 空对象模式
  • Redis三剑客解决方案
  • 大学本科教务系统设计方案,涵盖需求分析、架构设计、核心模块和技术实现要点
  • Docker Mysql 数据迁移
  • ubuntu22.04离线安装K8S
  • 微信小程序中将图片截图为正方形(自动居中)
  • 传统的自动化行业的触摸屏和上位机,PLC是否会被取代?
  • 【论文精读】VLM-AD:通过视觉-语言模型监督实现端到端自动驾驶
  • 2024年数字政府服务能力优秀创新案例汇编(附下载)
  • Ollama Docker 镜像部署
  • [深度学习][python]yolov12+bytetrack+pyqt5实现目标追踪
  • 【深度学习】矩阵的理解与应用
  • 我是如何从 0 到 1 找到 Web3 工作的?
  • 《Keras 3 :使用 Vision Transformers 进行物体检测》:此文为AI自动翻译
  • java(spring boot)实现向deepseek/GPT等模型的api发送请求/多轮对话(附源码)
  • module ‘cv2.dnn‘ has no attribute ‘DictValue‘解决办法
  • 将RocketMQ集成到了Spring Boot项目中,实现站内信功能
  • Deepseek 怼CHATGPT实况
  • 基础篇11-图像分割(上)--阈值的方法
  • [特殊字符] LeetCode 62. 不同路径 | 动态规划+递归优化详解
  • 常用的 JVM 参数:配置与优化指南
  • 【JavaWeb学习Day17】
  • DeepSeek 提示词:定义、作用、分类与设计原则
  • 前端大文件上传
  • JDK源码系列(一)Object
  • 【Python 打造高效文件分类工具】