我注意到IPv4保留169.254.0.0/16和IPv6保留fe80::/10用于本地链接寻址。虽然我看到IPv6使用fe80::/10地址和我的专用IPv6地址fd00::12来与Wireshark中的其他设备通信,但我从未见过169.254/16在IPv4中工作。

那么,本地链接寻址的目的是什么?

评论

仅供参考,您似乎在滥用IPv6 ULA(您的fd00 :: 12)寻址。 RFC 4193,唯一本地IPv6单播地址,第3.2.1节。本地分配的全局ID要求随机选择接下来的40位全局ID。使用全局ID时,将其全零的几率几乎为零。

#1 楼


我从未见过169.254 / 16在IPv4中工作。


如果PC没有从DHCP服务器接收IP地址,它将自动获取169.254.x.x / 16地址。如果禁用家庭或实验室网络上的DHCP服务器并发出“ ipconfig / release”和“ ipconfig / renew”命令,则您的PC将收到169.254.xx地址。

根据本文:


这些自分配的链接本地地址的目的是即使在没有外部地址配置的情况下,也方便与子网内其他主机的通信。 (通过手动输入或
DHCP)。与IPv6不同,仅在没有普通可路由地址的情况下才建议实施IPv4链接本地地址。主机
伪随机生成地址的最后两个八位位组,以减轻地址冲突。由于某些
本地网络协议(例如,Microsoft的NetBIOS)的广播性质,即使主机
事先不了解地址方案,主机也可以相互检测。
/>

#2 楼

当未指定其他IP地址时,本地链接地址用于两个主机(位于同一链接上)之间的通信。

简单来说,在启动时,OS试图通过各种方法在其接口上配置地址,例如-


手动配置
DHCP(DHCPv4或DHCPv6)
SLAAC(无状态自动配置)-IPv6唯一

如果OS无法通过任何一种自动方法在接口上配置地址,那么它将通过本地链接池在接口上配置地址。


169.254.0.0/16-在IPv4地址空间中链接本地地址池
fe80 :: / 10-在IPv6地址空间中链接本地地址池

在IPv4中,每个接口过去只有一个地址,而在IPv6中,我们可以在一个接口上拥有多个地址(例如接口上的本地链接,全局地址)。

IPv4中的接口,y ou在接口上可能没有看到范围为169.254.0.0/16的地址。

#3 楼

IPv6操作需要链接本地地址,而IPv4则不需要。 Microsoft除其他外,已经开发了使用IPv4本地链接寻址的APIPA(自动专用IP寻址)标准,但是并非所有操作系统都强制或支持该标准。我还看到人们通过手动分配和子网划分来滥用IPv4链接本地地址,这违反了RFC 3927(IPv4链接本地地址的动态配置),这是一个标准。

请阅读RFC 3927,IPv4链接本地地址的动态配置:




简介

随着Internet协议的持续流行,能够使用熟悉的IP工具(例如FTP)不仅对于全局通信,而且对于本地通信也变得越来越有价值。例如,两个拥有支持IEEE 802.11无线LAN [802.11]的便携式计算机的人可能会面并希望交换文件。对于这些人而言,希望能够使用IP应用程序软件而不必手动配置静态IP地址或设置DHCP服务器[RFC2131]带来的不便。

>本文档介绍了一种方法,主机可以通过该方法自动
使用169.254 / 16前缀中的IPv4地址配置接口,该接口对于该接口上的本地链接通信有效。该
在没有其他配置
机制的环境中特别有价值。为此,IPv4前缀169.254 / 16已向IANA注册。 “ IPv6无状态地址自动配置”
[RFC2462]中描述了IPv6链接本地地址的分配。

使用IPv4链接本地地址的链接本地通信仅
/>适用于与连接到同一
物理(或逻辑)链接的其他设备进行通信。使用IPv4的本地链接通信
链接本地地址不适用于与未直接连接到同一物理(或逻辑)链接的设备进行通信。

Microsoft Windows 98(及更高版本)和Mac OS 8.5(及更高版本) )已经
支持此功能。本文档对主机和路由器如何使用IPv4链路本地地址进行规范化规范。特别是,它描述了路由器在接收具有
源或目标地址中的IPv4本地链接地址的数据包时的行为。关于主机,它讨论了
声明和保护地址,在同一接口上维护Link-Local和可路由的
IPv4地址以及多宿主问题。




开发IPv6时,它内置了许多功能,这些功能是IPv4的可选,附加功能。本地链接寻址就是其中之一。每个IPv6接口都将获得一个Link-Local地址,以便设备至少可以在本地链接上进行通信,并且作为一种内置功能,例如路由协议,将其用于本地链接上的通信。