我的计算机有时使用 ISL 而不是 802.1q?

我的计算机有时使用 ISL 而不是 802.1q?

我的计算机通过以太网(通过一个非常简单的非管理型交换机)连接到另一台计算机。我想让两台计算机之间的流量带有 802.1q 协议标记的 VLAN。我的计算机使用 Intel l1219-LM 以太网网络适配器。

  1. 我用了参考以确保在使用 Wireshark 时能够看到 vlan 标签。
  2. 根据建议这里我更新了我的英特尔网络适配器驱动程序,以便它将支持 Windows 10 上的 VLAN。
  3. 我在两台计算机上都创建了一个 VLAN,其 VLAN 标签为 5。

现在 - 当使用 Wireshark 嗅探流量时,我可以看到 3 种类型的数据包:

  1. 没有任何 VLAN 标记的数据包(从我的计算机发送,我认为没有问题)

  2. 使用 802.1q 协议的带有 VLAN 标签的数据包-

  3. 使用 ISL 协议的带有 VLAN 标签的数据包 - 在这些数据包中,以太网部分被视为格式不正确,因为以太网 CRC 为零。

(我想上传图片以使其更清晰,但不幸的是我不能因为声誉低而不能)

当我在两台计算机之间运行客户端-服务器应用程序时,计算机会收到对方的数据包(可以在 Wireshark 中看到),但应用程序不会收到。这些数据包仅通过 ISL 协议发送。

所以我的问题是-

  1. 为什么收不到数据包?是因为以太网 CRC 格式错误吗?
  2. 如何使我的计算机仅以 802.1q 协议而不是 ISL 发送数据包?

最重要的是-

  1. 这是怎么回事?为什么英特尔网络适配器使用思科专有协议来连接交换机?这对我来说毫无意义...

非常感谢,任何帮助都将不胜感激!

编辑

我意识到我并没有真正解释我正在尝试做什么,也许这会有所帮助。我是一名安全研究人员,我正在尝试研究将某个应用程序(我提到的客户端-服务器应用程序)的数据包注入现有系统上现有 VLAN 流量的选项。为了做到这一点 - 我需要从我的 NIC 发出的数据包已经使用正确的标签进行 VLAN 标记。此外,我需要另一方不要因为零 FCS 而忽略它们。

我其实并不关心计算机之间的切换(它只是用来连接两台计算机...),而且我很清楚这不是一个好的做法。我的目的不是建立网络,而只是测试网络。

更新

我移除了交换机,直接连接了两台计算机,问题仍然存在(我想这次我只看到了 ISL,根本没有看到 802.1q)。所以这意味着 ISL 是由我的 NIC 生成的,而不是由交换机生成的。

此外,我确实相信我看到的是 ISL,而不是一些垃圾,因为标头中的 VLAN ID 是我定义的 VLAN 标签。

有任何想法吗?

谢谢

答案1

配置没有交换机支持的 ​​VLAN(即使帧通过)也没有多大意义。通常使用 VLAN 来分离单个链路上运行的流量。您想要实现什么目标?

如果你收到ISL 标记帧,这些帧来自您未详细说明的另一台计算机。除非中间的交换机能够转换/替换标记,否则双方都需要使用兼容标记。未知标记、未知 VID 等将被丢弃。具有无效 FCS 的帧也会被 NIC 丢弃(即不会传递给操作系统)。

相关内容