问题解答问题1:小编 0.0.0.0与127.0.0.1有什么区别?
其实这个问题问的很好,说明对网络有概念了,但是还是有点不够有深度,那我来补充一下:
localhost、127.0.0.1、0.0.0.0和本机地址的区别?
localhostlocalhost其实是域名,对于ipv4,windows默认将localhost指向127.0.0.1,而如果是ipv6,将指向 [::1],但是localhost并不等于127.0.0.1,localhost指向的ip地址是可以配置的,如果大家闲得蛋疼的话,可以随意配置试试,一般在hosts文件中。
不信我们可以来试试 ping localhost。
127.0.0.1问题来了,那什么是127.0.0.1?好像有点绕、、、
首先我们要好好地看看上一篇文章,要先知道一个概念,凡是以127开头的ip地址,都是回环地址(loop back address),其所在的回环接口一般可以被理解为虚拟网卡,并不是真正网卡接口。主要是用于测试本机的协议栈配置是否正常,这样子就不需要经过真正的网卡。
所谓的回环地址,通俗的讲,就是我们在主机上发送给127开头的ip地址的数据包会被发送的主机自己接收,根本传不出去,外部设备也无法通过回环地址访问到本机。
我们也可以试试,随意ping一个以127开头的地址,那都是回环地址。
ping 127.0.0.1
ping 127.0.0.2
ping 127.0.0.10
ping 127.25.52.10
ping 127.xxx.xxx.xxx
0.0.0.0首先,0.0.0.0是不能被ping通的,0.0.0.0就是任何地址ipaddrany,任何地址的意思,也包括环回地址,它表示本机中所有的ipv4地址。
它有什么用呢?
在服务器中,监听0.0.0.0的端口,就是监听本机中所有ip的端口。不管主机有多少个网口,多少个ip,如果监听本机的0.0.0.0上的端口,就等于监听机器上的所有ip端口。数据报的目的地址只要是机器上的一个ip地址,就能被接收到。
在路由中,0.0.0.0表示的是默认路由,即当路由表中没有找到完全匹配的路由的时候所对应的路由。作用是帮助路由器发送路由表中无法查询的包,路由表中无法查询的包都将送到全零网络的路由中去。
dhcp分配前,表示本机。
从上一篇文章我提到:
ip地址32bit全为0的地址(0.0.0.0)表示的是本网络本主机,这个ip地址在ip数据报中只能用作源ip地址,这发生在当设备启动时但又不知道自己的ip地址情况下。在使用dhcp分配ip地址的网络环境中,这样的地址是很常见的,主机为了获得一个可用的ip地址,就给dhcp服务器发送ip数据报,并用这样的地址(0.0.0.0)作为源地址,目的地址为255.255.255.255(因为主机这时还不知道dhcp服务器的ip地址),然后dhcp服务器就会知道这个主机暂时没有ip地址,那么就会分配一个ip给这个主机。
比如在lwip中,我们使用hdcp动态获取ip地址,就是这样子实现的。
就简单提一下好了(dhcp依赖udp协议):
ipaddrbroadcast 就是255.255.255.255。
ip4addrany 就是 0.0.0.0。
udp_sendto_if_src(dhcp_pcb, p_out, ip_addr_broadcast, lwip_iana_port_dhcp_server, netif, ip4_addr_any);
总之:
综合起来可以说0.0.0.0就是任意地址.....
本机地址其实我觉得本机地址并不是一个规范的叫法,应该指的是“本机物理网卡所绑定的网络协议地址”,这是与网卡绑定的地址。
本机地址通常仅指在同一个局域网内,能同时被外部设备访问和本机访问的那些ip地址(可能不止一个)。像127.0.0.1这种一般是不被当作本机ip的。本机ip是与具体的网络接口绑定的,比如以太网卡、无线网卡或者ppp/pppoe拨号网络的虚拟网卡,想要主机正常工作都要绑定一个地址,否则其他设备就不知道如何访问它。
问题2:a类是0-127,其中0和127不是a类的,还有126个其中3个是特殊用的,不是应该还有123个?怎么是125个?
可能是我没说清楚,a类地址是包括0和127开头的ip地址,因此a类地址有128个,但是事实上,能用的a类地址不包括0和127,所以我说0和127不是有效的a 类网络地址号,因为他们是特殊的ip地址,除此之外,还有 10 开头的ip地址也是被保留下来了,原因我也不知道,这是规定的。
类别地址范围网络号个数
a类 10.0.0.0~10.255.255.255 1
b类 172.16.0.0~172.31.255.255 16
c类 192.168.0.0~192.169.255.255 256
上面说的这些ip地址,是专用的网络地址,那什么是专用网络?简单来说,就是你自己的网络,比如我可以在一个区域内自行组网,假设就用常见的c类ip地址,192.168.0.10,我可以在一个区域内搭建很多个以这个地址为核心的网络,比如192.168.0.11、192.168.0.12,反正就是私有的,无需验证,就是局域网。
专用网络不和其他网络共享资源:可以有独立的ip地址空间,这种地址不需要申请获得。由于接入专用网络的子网都是内部子网,因此发送端和接收端的身份无需鉴别。
但是这种网络ip地址是不允许进入外网(公网),只有合法的ip地址才能进入外网,详情见我另一篇文章。
使用 ipconfig看看我们电脑的ip地址是什么?很明显,它是一个私有地址,可能有人又问了。那为什么我的电脑能上网,详情还是看我另一篇文章吧:tcp/ip协议栈扫盲班
所有,综上所述,a类ip地址中 0、10、127开头的地址的3个网络号在外网上是不能使用的,因此只有125个网络号。
PLC主要由什么构成
电子保险丝SGM2533/SGM2534系列产品介绍
诺基亚Nokia X7搭载骁龙710处理器,是一款强劲的中端性价比神器
衰减器的技术指标和基本结构介绍
一维大行程抗震动压电纳米定位台的特性是什么
IP地址相关知识的深入了解
针对数据中心工作负载的第二代至强可扩展芯片阵容的18-SKU更新
光栅尺替代方案:磁栅尺读数头丨磁栅丨磁读头
锂离子电池可能终于实现了它的“承诺”
Arduino实时时钟的制作图解
人脸识别门禁系统的主要功能及优势介绍
浅析新塘031 串口PDMA通信
ICT测试与飞针测试
电热水器保安装置制作原理
51单片机“积木式”实验板的制作
美国向苹果发出的国家安全相关数据索取要求再次急剧增长
采用Quartus II软件和EP2C5芯片实现新型位同步提取电路的设计
物联网在医疗上实施经常遇到什么障碍
浅析锂电池保护板(BMS)系统设计思路(二)SOC算法
测试测量的接线细节,接线方式与电路接线