什么是127.0.0.1,如何使用这个IP地址

127.0.0.1是一个非常有名的IP地址——你甚至可能在T恤上见过它。但它到底是什么,为什么这么有名? 1272

互联网上的保留地址

互联网由数十亿台设备组成。它们使用IP地址相互识别和通信,IP地址在概念上类似于电话号码。互联网协议版本4(IPv4)已经使用了几十年,允许近43亿个这样的地址。IPv4的继任者IPv6拥有超过10^38个可用地址——足以满足地球上的每一粒沙子、可观测宇宙中的每一颗恒星,以及每个人身体中的每一个原子的需要,每个人都有一个唯一的IP地址,还有很多剩余地址。

尽管现在有大量可用的IP地址,但为特定目的保留一些地址,甚至是地址范围(通常称为块)是很方便的,以防止编程冲突。为特定目的保留地址可以很容易地为不同的IP地址建立一般规则和行为。与大多数互联网标准一样,保留IP地址是通过名为征求意见或RFC的文件建立的。

事实证明,让一台计算机与自己对话而不是与另一台计算机对话通常是有用的。为此,你需要一个具有一些独特属性的特殊保留IP地址​——127.0.0.1。

什么是127.0.0.1

127.0.0.1是主机环回地址。主机环回指的是,地址为127.0.0.1的数据包不应离开计算机(主机)发送,而不是发送到本地网络或internet,它只是在自身上“环回”,发送数据包的计算机成为收件人。 RFC1122明确指出“内部主机环回地址。这种形式的地址不得出现在主机之外。” 因此,拾取定向到127.0.0.1的流量的路由器应该立即丢弃数据包。这可确保没有专门用于主机上的流量进入Internet。 虽然它是最常见和最著名的,但127.0.0.1只是一个大块中的一个地址,127.0.0.0–127.255.255.255,在RFC6890中保留用于环回目的。 IPv6也有一个环回地址。完全写出它是0000:0000:0000:0000:0000:0000:0000:0001,但为了方便起见,它通常被截断为::1。

如何使用127.0.0.1

那么为什么要让数据包循环回同一台计算机呢? 有一些常见的用例。 第一个是测试目的——如果你最终打算通过LAN或Internet托管服务器或网站,你可以在同一台计算机上运行服务器和客户端,以确保所有基础首先正常工作。例如,如果你在本地计算机上托管了一个专用的Minecraft服务器,你可以通过输入127.0.0.1作为IP地址来连接到它。这同样适用于几乎所有本地托管的服务器。消除与网络相关的复杂性,例如端口配置和延迟问题,可以提高故障排除过程的效率。

你也可能只想在本地设备上运行只有你可以访问的服务。这在自托管社区中相对常见——将服务不必要地暴露给外部设备和威胁是没有意义的。 hosts文件可用于指定与给定域名对应的IP地址。从功能上讲,这使你可以在hosts文件中使用127.0.0.1来阻止Web流量。例如,如果你告诉你的计算机在127.0.0.1上查找facebook.com,它将无法连接,从而有效地阻止它,除非你记住了facebook.com的实际IP。

什么是本地主机

在大多数情况下,localhost只是默认情况下引用127.0.0.1的简写。但它可以更改——如果你编辑你的主机文件,你可以让localhost引用任何127.XXX保留地址。你还可以创建其他localhost,例如localhost2,例如可以引用127.0.0.2。

随着IPv6被更快地采用,可能越来越多的设备将使用::1作为默认环回地址。但是,127.0.0.1已经使用了几十年,并且在可预见的未来仍将继续使用。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

CIDR的IP地址的表示与划分方法

早期的ip地址划分:最初设计互联网络时,为了便于寻址以及层次化构造网络,每个IP地址包括两个标识码(ID),即网络ID和主机ID。同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包括网络上工作站,服务器和路由器等)有一个主机ID与其对应。IP地址是一个32位的二进制字符,为了方便人类的记忆,所以,通常人们会将二进制的IP地址表示成十

Python进阶学习笔记——网络编程(1):IP、端口

网络编程IP地址定义:IP地址就是标识网络中设备的一个地址,好比现实生活中的家庭地址。种类:IPv4:目前使用的IP地址,由点分十进制组成,4字节,如:192.168.145.52(局域网IP)、10.254.2.171(公网IP)IPv6