当前位置:网站首页>127.0.0.1、0.0.0.0和localhost
127.0.0.1、0.0.0.0和localhost
2022-06-30 08:33:00 【进击的豌豆哥】
转载于:https://zhuanlan.zhihu.com/p/439510282
我们先来看下共同点:
- 都属于特殊地址。
- 都属于A类地址。
- 都是IPV4地址。
接下来我们分别看下这三个地址:
0.0.0.0
首先,0.0.0.0是不能被ping通的。0.0.0.0称为“unspecified”,即未指定(即无效的,无意义的)地址。从功能上看,一般用于某些程序/网络协议中不便使用具体ip的特殊情况(说白了就是一个用于某些比较坑的情况的“占位符”),比如DHCP客户端还未获取到ip的时候规定使用0.0.0.0作“源地址”,或者在服务器中,0.0.0.0并不是一个真实的的IP地址,它表示本机中所有的IPV4地址。服务器不指定在哪个网卡上监听时,也使用0.0.0.0,这个时候监听本机中所有IP的端口。
用途
- 用作服务端,表示本机上的任意IPV4地址。
127.0.0.1
首先我们要先知道一个概念,凡是以127开头的IP地址,都是回环地址(Loop back address),其所在的回环接口一般被理解为虚拟网卡,并不是真正的路由器接口。
所谓的回环地址,通俗的讲,就是我们在主机上发送给127开头的IP地址的数据包会被发送的主机自己接收,根本传不出去,外部设备也无法通过回环地址访问到本机。
最后127.0.0.1属于{127,}集合中的一个,而所有网络号为127的地址都被称之为回环地址,所以回环地址!=127.0.0.1,它们是包含关系,即回环地址包含127.0.0.1。
用途
- 回环测试,通过使用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这个地址。
但是localhost的意义并不局限于127.0.0.1。
localhost是一个域名,用于指代this computer或者this host,可以用它来获取运行在本机上的网络服务。
在大多数系统中,localhost被指向了IPV4的127.0.0.1和IPV6的::1。
127.0.0.1 localhost
::1 localhost
所以,在使用的时候要注意确认IPV4还是IPV6
总结
127.0.0.1 是一个环回地址。并不表示“本机”。0.0.0.0才是真正表示“本网络中的本机”。
在实际应用中,一般我们在服务端绑定端口的时候可以选择绑定到0.0.0.0,这样我的服务访问方就可以通过我的多个ip地址访问我的服务。
比如我有一台服务器,一个外放地址A,一个内网地址B,如果我绑定的端口指定了0.0.0.0,那么通过内网地址或外网地址都可以访问我的应用。但是如果我之绑定了内网地址,那么通过外网地址就不能访问。 所以如果绑定0.0.0.0,也有一定安全隐患,对于只需要内网访问的服务,可以只绑定内网地址。
(127.0.0.1只到内核的协议栈,0000要走一趟网卡,网卡中断)
边栏推荐
- Camera
- 【kotlin 协程】万字协程 一篇完成kotlin 协程进阶
- Leetcode47. full arrangement II
- Codeworks 5 questions per day (1700 for each) - the third day
- 【NVMe2.0b 14-1】Abort、Asynchronous Event Request、Capacity Management command
- Dart tips
- Redis design and Implementation (V) | sentinel sentry
- 牛客小白月賽52
- Axure make menu bar effect
- Cesium learning notes (I)
猜你喜欢

Sword finger offer II 075 Array relative sort (custom sort, count sort)

【NVMe2.0b 14-5】Firmware Download/Commit command

Environment configuration of ROS Aubo manipulator

Graffiti Wi Fi & ble SoC development slide strip

Flink Sql -- toAppendStream doesn‘t support consuming update and delete changes which

Cesium learning notes (VI) particle system

Redis design and Implementation (VII) | publish & subscribe

Transformer architecture understanding

Gilbert Strang's course notes on linear algebra - Lesson 3

Redis设计与实现(七)| 发布 & 订阅
随机推荐
Pycharm Dlib library installation
QT event cycle
[JUC series] overview of fork/join framework
Be careful of this hole in transmittable thread local
Redis设计与实现(四)| 主从复制
Mmcv expanding CUDA operator beginner level chapter
C # listbox how to get the selected content (search many invalid articles)
Cesium learning notes (VI) particle system
A troubleshooting of CPU bottom falling
【NVMe2.0b 14-5】Firmware Download/Commit command
Deploy the cow like customer network project on the ECS
Detectron2 source code reading 4-- registrar construction model
在浏览器输入url到页面展示出来
Tidb v6.0.0 (DMR): initial test of cache table - tidb Book rush
Opencv image
Unity 基础光照模型
Redis设计与实现(三)| 服务器与客户端的交互(事件IO模型)
What are the Amazon evaluation terms?
Conversion between map, string and JSON
【NVMe2.0b 14-3】Doorbell Buffer Config command、Device Self-test command