![我的想法](https://linux22.com/image/202687/%E6%88%91%E7%9A%84%E6%83%B3%E6%B3%95.png)
切入正题:那是哪一个呢? IP 是否分配给接口、链路或设备?这三件事有什么区别?警告:这是对 iproute2 实用程序或其文档的严格审查,以便更好地理解它们(主要是ip
)。
网络书籍经常引用这些术语
- 关联
- 设备
- 界面
这路线2公用事业ip
文档定义链接如下:
链路——物理或逻辑网络设备。
别处...
链路指的是网络设备。
dev NAME --- 我们添加地址的设备的名称
像这样的命令将 IP 地址分配给“设备”:
ip addr add 10.0.0.1/24 brd + dev eth0
像这样的命令启动“接口”
ip link set eth0 up
将上述内容与以下来自可信来源的摘录进行比较:
主机和物理链路之间的边界称为接口。
计算机网络:自上而下的方法作者:Kurose 和 Ross,第 7 版,第 17 页。 363.
还
路由器与其任一链路之间的边界也称为接口。
计算机网络:自上而下的方法作者:Kurose 和 Ross,第 7 版,第 17 页。 363.
之后,
[...] IP 地址在技术上与接口相关联,而不是与包含该接口的主机或路由器相关联。
我的想法
这是模棱两可的。可以说设备和接口是相同的吗?或者设备是否实现了接口?如果是这样,那么这意味着像这样的词物理接口可能直接指设备,并且真正意味着同样的事情。
我将链路理解为物理线路或模拟线路(无线协议,如 802.11)。顺便说一下,我什至没有提到“链路层”这个术语。
答案1
IP 地址被分配给接口(物理或虚拟)。未编号,但点对点接口可以在没有自己的 IP 地址的情况下工作(例如简单的串行接口)。此外,只有三层接口可以使用IP 地址。
A层3设备例如主机或路由器可能有多个接口,要求多个 IP 地址。交换机或中继器等低层设备不使用 IP 地址来实现其基本功能。请注意,“设备”也可用于几乎任何技术组件。它也很可能指 Linux 硬件管理意义上的设备。
A关联是两个物理层接口之间的活动连接。在像过时的 10BASE5 这样的总线网络上,可以“链接”两个以上的接口。
在特殊上下文中,这些术语可能具有其他含义,但以上是本质。
答案2
与其他成熟的工程学科不同,网络没有明确定义的术语。许多是从电气工程或计算机科学借用的,但用法略有不同。其中很大一部分是由制造商的营销部门创造的。这些术语的意思就是营销人员想要的意思。所以你永远无法拥有每个人都同意的定义。
要添加到 @Zac67 的答案,该术语关联根据上下文可以有多种定义。链接可以是物理连接(两个设备之间的电缆),也可以是逻辑或抽象概念:如数据库和遥测模块之间的链接。
的含义设备也取决于上下文。从计算机操作系统的角度来看,外围设备(网络接口、存储、输入/输出)是设备。从更大的角度来看,设备是连接到网络的系统。
软件工程师可能会使用设备与网络工程师不同。您只需要了解上下文即可。
答案3
不要陷入 iproute2 文档的陷阱太深。链路、接口和设备对于不同环境下的不同人来说都有不同的含义。如果是ip链接,它指的是内核定义的网络设备(“netdev”)——它可能是物理的,如 eth0,也可能是逻辑的,如 dummy0 或 eth0.10 / vlan10@eth0。在这种情况下,链路、接口和设备都是同一件事;他们只是选择了这个词关联为命令。 (它必须是某种东西,并且使用开发者造成关键字使用冲突...ip dev bond0 设置 dev eth0 master;-) )
为了IP地址命令,他们坚持开发者由于历史原因。 (这就是人们长久以来的称呼。去看看 80 年代 SunOS 的文档。)而且你可以在一个“netdev”上有多个地址,这进一步使链路/接口/设备的水域变得更加混乱——linux 废除了eth0:1 eth0:2很久以前就构造了别名。
作为一名网络工程师,这三个词对我来说确实有不同的含义。
- 链路:端口之间的实际电路、路径和/或电缆。
- 设备:整个系统,或者其中产生电(光)信号的斑点。
- 接口:两者之间的逻辑中间点,通常在操作系统的上下文中(eth0、f0/0 等)