ip地址范围参数

rol*_*laf 21 networking linux routing ip

在 Linux 中,命令

ip address add [...]
Run Code Online (Sandbox Code Playgroud)

有一个scope论点。手册页说范围是“此地址有效的区域范围”。遵循法律范围列表:

  • 全球的
  • 地点
  • 关联
  • 主持人

这个“有效性”的“领域”指的是什么?

bre*_*ngo 28

来自http://linux-ip.net/html/tools-ip-address.html

范围 | 描述

全球| 到处都有效

网站 | 仅在本站内有效 (IPv6)

链接 | 仅在此设备上有效

主机| 仅在本主机(机器)内有效

范围通常由 ip 实用程序确定,而无需在命令行中明确使用。(……)

以下引用来自 O'Reilly 的 Christian Benvenuti 所著的《Understanding Linux network internals》一书:

“Linux中路由的范围是到目标网络距离的指标。IP地址的范围是该地址距离本地主机有多远的指标,这在某种程度上也告诉你有多远该地址的所有者来自本地主机 (...)。

主机:当地址仅用于在主机内部进行通信时,它具有主机范围。在主机之外,此地址未知且无法使用。一个例子是环回地址,127.0.0.1

链接:地址在有意义时具有链接范围,并且只能在 LAN 内使用。一个例子是子网的广播地址。

全局:当地址可以在任何地方使用时,它具有全局范围。这是大多数地址的默认范围。(……)”

使用范围的主要原因似乎是具有多个接口和地址的主机必须决定何时使用哪个地址。为了与自身通信,可以使用环回地址(范围主机)。对于通信 elswhere,必须选择不同的地址。

  • 感谢您的回答。我已经读过了。我真正不明白的是这里的“有效”是什么意思。换句话说:范围参数将如何影响网络设备行为? (2认同)

Dan*_*ley 13

要开始理解范围的定义,您应该首先了解链接本地地址和站点本地地址是什么。一旦这些被清理干净,其他的就会就位。引用 IPv6 文档中的一些片段。

关联

链路本地地址应该用于对单个链路上的节点进行寻址。源自或目的地为链路本地地址的数据包不会被路由器转发。

一个例子是范围 169.254/16。当设备无法从 DHCP 获取有效地址时,您可能已经看到过这种情况。

地点

站点本地地址应该在站点内使用。路由器不会转发任何带有站点本地源地址或目的地址的数据包到站点外。

这仅适用于 IPv6。IPv4 中没有站点本地地址的概念。

主持人

主机地址是只存在于主机内部的东西。例如,127.0.0.1 是通常分配给环回接口的主机地址。环回接口没有外部连接,因此它的范围仅限于主机的范围内。

全球的

全局地址是您目前可能认为的“正常”地址。也就是说,一个单播地址,在外部网络上可见并可路由。

  • 192.168.0.0/16 块怎么样——这不是本地站点吗? (2认同)
  • 您永远不应该看到使用了“site”,因为这些地址已 [2004 年弃用](https://tools.ietf.org/html/rfc3879)。 (2认同)