ip地址范围参数


18

在Linux中,命令

ip address add [...]

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

  • 全球
  • 现场
  • 链接
  • 主办

“有效性”的“区域”指的是什么?

Answers:


22

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

范围| 描述

全球| 到处都有效

网站| 仅在此站点内有效(IPv6)

链接| 仅在此设备上有效

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

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

以下引用摘自O'Reilly的Christian Benvenuti的《了解Linux网络内部》一书:

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

主机:地址仅用于在主机内部进行通信时,具有主机作用域。在主机外部,此地址未知,无法使用。一个示例是回送地址127.0.0.1

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

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

使用范围的主要原因似乎是具有多个接口和地址的主机必须决定何时使用哪个地址。为了与自身通信,可以使用回送地址(作用域主机)。使用通讯方式时,必须选择其他地址。


2
感谢您的回答。我已经读过了。我真正不明白的是“有效”在这里的含义。换句话说:作用域参数将如何影响网络设备的行为?
罗拉夫

ip地址和路由的作用域是向内核指示与其他网络/地址的距离。参见books.google.de/… :)
布伦戈

我应该添加:“作用域”用于路由决策和路由配置的完整性检查。它有助于内核确定(更快)数据包应到达的位置。希望有帮助吗?
brengo

1
抱歉,brengo,您的链接目前无法查询。但是metric参数不是用来指定距离的吗?
rolaf

哦,对不起,google链接在我的末端效果很好:(摘录了所需的主题(理解Linux网络内部结构,由Christian Benvenuti,O'Reilly撰写),该主题很难按600个注释字符,但我'将在上方编辑我的答案
布伦戈

14

要开始了解范围的定义,您应该先了解什么是本地链接地址和站点本地地址。一旦清除了这些,其他的将落入原位。引用IPv6文档中的一些代码片段。

链接

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

例如169.254 / 16。当设备无法从DHCP获取有效地址时,您可能已经看到过。

现场

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

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

主办

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

全球

全局地址是您当前可能认为的“普通”地址。即,一个单播地址,该地址在外部网络上可见并且可以在外部网络上路由。


2
那么192.168.0.0/16块-本质上不是本地站点吗?
SamB

1
您永远都不会看到site它被使用,因为这些地址在2004年弃用
迈克尔·汉普顿

0

fib_semantics.c中找到这些注释

 704  * Every prefix is assigned a "scope" value: "host" is local address,
 705  * "link" is direct route,
 706  * [ ... "site" ... "interior" ... ]
 707  * and "universe" is true gateway route with global meaning.
 708  *
 709  * Every prefix refers to a set of "nexthop"s (gw, oif),
 710  * where gw must have narrower scope. This recursion stops
 711  * when gw has LOCAL scope or if "nexthop" is declared ONLINK,
 712  * which means that gw is forced to be on link.
 ....
 719  * Normally it looks as following.
 720  *
 721  * {universe prefix}  -> (gw, oif) [scope link]
 722  *                |
 723  *                |-> {link prefix} -> (gw, oif) [scope local]
 724  *                                      |
 725  *                                      |-> {local prefix} (terminal node)
 726  */
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.