目录标题
环回地址
[Q&A] 什么是环回地址
⭐️啥是环回地址
?
isLoopbackAddress()
判断当前InetAddress
对象是否为环回地址
。
getLoopbackAddress()
获取本地环回地址。拓展请转阅 : 啥是环回地址?
站点本地地址(site-local address) 【IPv6】 【已废弃】
[Q&A] 什么是站点本地地址
在IPv4时代,企业私有IP地址。不能被Internet路由器转发出去,通过NAT将内部私有地址转换为已注册的公有IPv4地址 去上网。
站点本地地址是IPv6地址空间中原来预留的一段地址范围,用于在一个组织内部网络中的通信,类似于IPv4中的私有地址。在IPv6中,意在提供一种无需全局唯一且不需向Internet注册的地址,仅限于站点内部使用。
站点本地地址的使用存在很多问题,因而目前已被废止 。
IPv4 私网地址(在局域网内使用)
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
IPv6 原本的本地站点地址前缀为FEC0::/10,但这一定义已被废弃。
现在的替代方案是 Unique Local Addresses(ULA),其前缀为FC00::/7和FD00::/8。
isSiteLocalAddress()
检测给定的InetAddress
实例是否为站点本地地址
。
链路本地地址(link-local address)【IPv6】
[Q&A] 什么是链路本地地址
链路本地地址用于单条链路,不能被路由,不需要全局前缀,可用于自动配置机制、邻居发现进程以及没有路由器的网络上,因而对于创建临时网络来说是非常有用的。假设在会议室会见朋友时需要共享自己电脑上的文件,通过无线网络或者在两台电脑的以太网接口之间使用交叉电缆来连接电脑,此时只要使用链路本地地址而无需进行任何特殊配置即可共享文件。
isLinkLocalAddress()
判断给定的 IP 地址是否为链路本地地址
。
IPv4 的本地连接地址的范围是 169.254.0.0 ~ 169.254.255.255
IPv6 的本地连接地址的前12位是FE8,其他的位可以是任意取值,如FE88::和FE80::ABCD::
[Q&A] 链路本地地址 和 本地站点地址 区别
最初的IPv6规范为链路本地和站点本地范围内的使用分配了两块独立的地址空间(范围),它们都是通过相应的前缀来识别的。链路本地地址
主要用于底层网络通信,而本地站点地址
则用于构建更大的私有网络架构。
参考:《IPv6精髓(第2版)》——3.8 链路本地地址和站点本地地址
参考:IPv6专题系列:01. IPv6地址介绍
通配符地址
isAnyLocalAddress()
当IP地址是通配符地址
时返回true,否则返回false。IPv4为0.0.0.0
,IPv6为0:0:0:0:0:0:0:0
,简写::
。
这个通配符地址对于拥有多个网络接口(如两块网卡)的计算机非常拥有。使用通配符地址可以允许在服务器主机接受来自任何网络接口的客户端连接。
本地主机的网络地址信息
getLocalHost()
代表执行Java代码的本地主机的实际网络地址
。 这个地址通常是系统在当前网络环境下的实际IP地址
,可能是公网地址、内网地址或者是环回地址,具体取决于系统配置和网络设置。
网络地址
子网掩码中,网络部分对应的位是1,主机部分对应的位是0。
1・对于网络192.168.1.10/24
,网络地址就是192.168.1.0
广播地址
当一个数据包的目的地址被设置为广播地址时,该网段内所有主机都将接收这个数据包。
广播地址的特点是在IP地址的主机部分全部置为1。
1・对于网络192.168.1.0/24
,其广播地址就是192.168.1.255
。
2・对于网络10.0.0.0/8
,那么广播地址就是10.255.255.255
。