IP地址的基础知识:127.0.0.1 VS 0.0.0.0
Posted 沛沛老爹
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IP地址的基础知识:127.0.0.1 VS 0.0.0.0相关的知识,希望对你有一定的参考价值。
地址的组成
IP地址由两部分组成,一部分为网络地址(Net-id),另一部分为主机地址(Host-id)。 Internet上的每台主机(Host)都有一个唯一的IP地址。IP协议就是使用这个地址在主机之间传递信息,这是Internet能够运行的基础。
Net-id:表示ip地址所在的网络地址。
Host-id:表示ip地址所在网络中的某个主机地址。
即:IP-address ::= { <Net-id>, <Host-id> }
地址分类
IP地址分为5类,即A~E,划分的依据是:Network所占的字节长度,以及网络地址的前几位。
图片来自网络
A类IP地址
一个A类IP地址是指, 在IP地址的四段号码中,第一段号码为网络号码,剩下的三段号码为本地计算机的号码。A类IP地址中网络的标识长度为8位,主机标识的长度为24位,A类网络地址数量较少,有126个网络,每个网络可以容纳主机数达1600多万台。
A类IP地址 地址范围1.0.0.1到127.255.255.254。
B类IP地址
一个B类IP地址是指,在IP地址的四段号码中,前两段号码为网络号码。B类IP地址中网络的标识长度为16位,主机标识的长度为16位,B类网络地址适用于中等规模的网络,有16384个网络,每个网络所能容纳的计算机数为6万多台。
B类IP地址地址范围128.0.0.1-191.255.255.254。
C类IP地址
一个C类IP地址是指,在IP地址的四段号码中,前三段号码为网络号码,剩下的一段号码为本地计算机的号码。C类IP地址中网络的标识长度为24位,主机标识的长度为8位,C类网络地址数量较多,有209万余个网络。适用于小规模的局域网络,每个网络最多只能包含254台计算机。
C类IP地址范围192.0.0.1-223.255.255.254。
D类IP地址
D类IP地址在历史上被叫做多播地址,即组播地址。在以太网中,多播地址命名了一组应该在这个网络中应用接收到一个分组的站点。多播地址的最高位必须是“1110”,范围从224.0.0.0到239.255.255.255。
E类IP地址
E类IP地址中是以“1111”开头,E类IP地址都保留用于将来和实验使用。
说明下其中,ABC三类地址为单播地址,用于一对一通信,比较常用。
下面是IPV4下的地址空间划分比例和范围(图片来自网络):
特殊IP地址
特殊IP地址就是用来做一些特殊的事情。RFC1700中定义了以下特殊IP地址。
{0,0}:网络地址和主机地址都全部为0,表示“本网络上的本主机”,只能用作源地址。
{0,host}:本网络上的某台主机。只能用作源地址。
{-1,-1}:表示网络地址和主机地址的所有位上都是1(二进制),用于本网络上的广播,只能用作目的地址,发到该地址的数据包不能转发到源地址所在网络之外。
{network,-1}:直接广播到指定的网络上。只能用作目的地址。
{network,sub-network,-1}:直接广播到指定网络的指定子网络上。只用作目的地址。
{network,-1,-1}:直接广播到指定网络的所有子网络上。只能用作目的地址。
{127,}:即网络地址为127的任意ip地址。都是内部主机回环地址(loopback),永远都不能出现在主机外部的网络中。
0.0.0.0 VS 127.0.0.1
0.0.0.0说明
IPV4中,0.0.0.0地址被用于表示一个无效的,未知的或者不可用的目标。
在服务器中,0.0.0.0指的是本机上的所有IPV4地址,如果一个主机有两个IP地址,192.168.1.1 和 10.1.2.1,并且该主机上的一个服务监听的地址是0.0.0.0,那么通过两个IP地址都能够访问该服务。
在路由中,0.0.0.0表示的是默认路由,即当路由表中没有找到完全匹配的路由的时候所对应的路由。
0.0.0.0用途
- 当一台主机还没有被分配一个IP地址的时候,用于表示主机本身。
- 用作默认路由,表示”任意IPV4主机”。
- 用来表示目标机器不可用。
- 用作服务端,表示本机上的任意IPV4地址。
127.0.0.1说明
回环地址:所有发往该类地址的数据包都应该被loop back。
127.0.0.1属于{127,}集合中的一个,而所有网络地址为127的地址都被为回环地址,回环地址不等于127.0.0.1,它们是包含关系,即回环地址包含127.0.0.1。
127.0.0.1用途
- 回环测试,通过使用ping 127.0.0.1 测试某台机器上的网络设备,操作系统或者TCP/IP实现是否工作正常。
- DDos攻击防御:网站收到DDos攻击之后,将域名记录到127.0.0.1,即让攻击者自己攻击自己。对DDos有兴趣可以看下这篇文章《DDOS攻击(流量攻击)防御步骤》
- 大部分Web容器测试的时候绑定的本机地址。
127.0.0.1 是一个环回地址。并不表示“本机”。0.0.0.0才是真正表示“本网络中的本机”。
在实际应用中,服务端绑定端口一般都选择绑到0.0.0.0。0.0.0.0/0或者掩码为0,代表允许或拒绝所有IP的访问。
特别说明下:如果绑定0.0.0.0,理论上存在一定的安全隐患,对于只需要内网访问的服务,只绑定内网地址进行内部转发就可以了。例如通过nginx进行内网分发的一些微服务,指定局域网内部访问就可以了。
以上是关于IP地址的基础知识:127.0.0.1 VS 0.0.0.0的主要内容,如果未能解决你的问题,请参考以下文章