gpt4 book ai didi

linux - 什么是接口(interface)标识符

转载 作者:IT王子 更新时间:2023-10-29 01:14:44 25 4
gpt4 key购买 nike

我有一台笔记本电脑,它使用一个或多个网络适配器连接到我所在组织的网络。我正在尝试编写一个工具来持续监控每个网络的连接状态和连接质量。然而,我的网络知识有限,术语让我感到困惑。

专门查找所有网络适配器。有人建议我使用命令 ifconfig,它给了我所谓的“接口(interface)标识符”。

例如:

['lo0', 'gif0', 'stf0', 'en0', 'en1', 'en2', 'bridge0', 'p2p0']

我不太确定这如何帮助我解决我的问题,因为我不知道什么是接口(interface)标识符,也不确定如何利用这些信息。我的假设是它们代表网络中的计算机或路由器。

如果有人可以解决这个问题或用通俗易懂的方式向我解释,那将非常有帮助。

最佳答案

首先,您需要了解计算机中可能存在物理网卡(OR/AND 逻辑网络适配器)来识别连接/管理连接。

Next, you have an incorrect notion about interface identifier. What you talked about(eth,virbr,lo) are interfaces. In IPv4 addressing scheme, we don't have interface ID. We have interface ID's in IPv6 addresses.

The Payoff of IPv6’s Very Large Address Size 中所述

在 IPv4 中,IP 地址与用于基础数据链路层网络技术的地址没有关系。使用以太网网络接口(interface)卡 (NIC) 连接到 TCP/IP 网络的主机具有以太网 MAC 地址和 IP 地址,但这两个数字完全不同且毫无关联。

随着 IPv6 中寻址的彻底改革,创造更好的映射 IP 单播地址和物理网络地址的方法的机会出现了。实现这种卓越的映射技术是 IPv6 地址变得如此之大的原因之一。总共 128 位,即使为网络前缀保留了完整的 48 位,为站点子网保留了 16 位,我们仍然有 64 位用于接口(interface)标识符,这类似于 IPv4 下的主机 ID。

拥有如此多的数据位给了我们极大的灵 active 。我们可以将接口(interface) ID 基于底层数据链路层硬件地址,而不是使用任意“虚构”的主机标识符,只要该地址的长度不超过 64 位即可。由于几乎所有设备都使用 64 位或更少的第二层地址,因此使用这些地址作为 IP 地址中的接口(interface)标识符没有问题。这提供了直接的好处:它使网络更易于管理,因为我们不必为每个主机记录两个任意数字。 IP 地址可以从 MAC 地址和网络标识符中导出。这也意味着我们将来可以根据 MA​​C 地址区分 IP 地址,反之亦然。

访问this link以便更清楚地了解接口(interface) ID。


现在,回来澄清你的困惑,

所有连接(接口(interface)),例如 Ethernet-0、Ethernet-1、WiFi-1 等。有自己的接口(interface)标识符。您可以将它们视为一种特殊的标识号,用于标识当时可用的接口(interface)类型!

当您在 Linux 中键入 ifconfig 时,它会显示当前事件接口(interface)的状态。

现在,进入示例部分,假设您的系统上有两个以太网连接,例如,eth0eth1(这些是接口(interface)名称)---所以 ifconfig 将打印这两个作为输出的结果!

So,to identify these two separate interfaces,there must be an interface identifier.The interface identifier(generally 64-bit) is either automatically generated from the interface's MAC address using the modified EUI-64 format, obtained from a DHCPv6 server, automatically established randomly, or assigned manually.

此外,您提到的接口(interface)是一些最常用的接口(interface):-

'lo0', 'gif0', 'stf0', 'en0', 'en1', 'en2', 'bridge0', 'p2p0'

  1. lo0---本地网络连接(0为第一个局域网连接)
  2. en0---以太网连接(0,1,2 表示以太网上的第一个、第二个和第三个连接)
  3. bridge0---到这台机器的桥接
  4. p2p0---点对点连接

不知道gif,stf。请注意这里有逻辑连接/虚拟连接,而不是物理连接的限制(使用网卡)!

关于linux - 什么是接口(interface)标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24962329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com