什么是接口标识符

笔记本电脑使用一个或多个networking适配器连接到组织的networking。 我正在尝试编写一个工具来持续监视每个networking的连接状态和连接质量。 然而,我的networking知识受限制和术语混淆了我。

具体查找所有networking适配器。 有人build议我使用ifconfig命令,它给了我所谓的“接口标识符”。

例如:

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

我不太清楚这是如何帮助我解决我的问题,因为我不知道接口标识符是什么,我不知道如何利用这些信息。 我的假设是,他们代表一台计算机或networking中的路由器。

如果有人能够澄清这一点,或以通俗的话来向我解释,这将是非常有帮助的。

Solutions Collecting From Web of "什么是接口标识符"

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

接下来,您对接口标识符有一个错误的概念 。 你所说的(eth,virbr,lo)是接口。 在IPv4寻址方案中,我们没有接口ID。 我们在IPv6地址中有接口ID。

如IPv6的非常大的地址大小的收益中所述

在IPv4中,IP地址与用于底层数据链路层网络技术的地址没有关系。 使用以太网网络接口卡(NIC)连接到TCP / IP网络的主机具有以太网MAC地址和IP地址,但是这两个数字在任何方面都是截然不同的。

随着IPv6地址的大修,一个机会提出了自己创建一个更好的映射IP单播地址和物理网络地址的方法。 实现这种优越的映射技术是使IPv6地址变得如此之大的原因之一。 总共有128位,即使为网络前缀保留了全部48位,为站点子网保留了16位,我们仍然留下64位用于接口标识符,这与IPv4下的主机ID类似。

有这么多的位置给我们很大的灵活性。 只要该地址长度不超过64位,我们就可以将接口ID作为基础数据链路层硬件地址的基础,而不是为主机使用任意“组成”标识符。 由于实际上所有设备都使用64位或更少的第二层地址,因此使用这些地址作为IP地址中的接口标识符没有任何问题。 这提供了一个直接的好处:它使网络更容易管理,因为我们不必为每个主机记录两个任意数字。 IP地址可以来自MAC地址和网络标识符。 这也意味着我们可以在将来从MAC地址告诉IP地址,反之亦然。

访问此链接以更清楚地了解接口ID。


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

所有的连接(接口),如Ethernet-0,Ethernet-1,WiFi-1等。 有自己的interface identifier 。你可以把它们看作是一种特殊的标识号码,它标识了当时可用的接口种类!

在Linux中键入ifconfig时,将显示当前活动接口的状态。

现在来看一下示例部分,假设您的系统上有两个以太网连接,比如eth0eth1 (这些是接口名称),所以ifconfig会输出这两个连接!

因此,为了识别这两个独立的接口,必须有一个interface identifier 。接口标识符(一般为64位)是自动生成的,使用从DHCPv6服务器获得的修改的EUI-64格式从接口的MAC地址自动生成随机或手动分配。

另外,你提到的接口是一些最常用的接口:

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

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

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

我发现,至少在OSX上有gifstf man条目。 这些是通用的隧道接口,以及IPv6到IPv4隧道接口(“六到四”)。