当前位置:网站首页>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要走一趟网卡,网卡中断)
边栏推荐
- 【NVMe2.0b 14-4】Directive Send/Receive command
- Swagger use
- Source code interpretation of detectron2 1--engine
- Markdown支持的emoji图标
- Redis设计与实现(八)| 事务
- MIME type Encyclopedia
- C # listbox how to get the selected content (search many invalid articles)
- [nvme2.0b 14-7] set features (Part 1)
- codeforces每日5题(均1700)-第三天
- mysql基础入门 day4 动力节点[老杜]课堂笔记
猜你喜欢
随机推荐
Leetcode47. full arrangement II
vite项目require语法兼容问题解决require is not defined
Mmcv expanding CUDA operator beginner level chapter
Camera
Axure制作菜单栏效果
【NVMe2.0b 14-4】Directive Send/Receive command
Redis design and Implementation (I) | data structure & object
MIME类型大全
[untitled]
php api获取二维码、组合生成图片
TiDB v6.0.0 (DMR) :缓存表初试丨TiDB Book Rush
小心transmittable-thread-local的这个坑
Unity basic lighting model
Experiment 4 QT
增强for循环的增删操作 & 迭代器删除集合元素
我们如何拿到自己满意的薪资呢?这些套路还是需要掌握的
Pycharm Dlib library installation
Sword finger offer II 074 Merge interval (sort, array)
Cesium learning notes (I)
Flink SQL 自定义 Connector