如何在 C# 中基于标记的 VLAN 建立 TCP 连接?

问题描述

我将进行一个测试设置,我无法更改被测设备的 IP 地址,但需要一个特殊的协调器设备来访问所有具有相同 IP 地址但位于不同 VLAN 中的设备。

假设有以下设备连接到第 3 层交换机:

被测设备 A,IP 192.168.1.1,VLAN10 被测设备 B,IP 192.168.1.2,VLAN10

被测设备 C,IP 192.168.1.1,VLAN20 被测设备 D,IP 192.168.1.2,VLAN20

Orchestrator 设备,IP 192.168.1.3,VLAN10 + VLAN20(标记 VLAN)

现在在 C# 中,我想建立一个 TCP 连接,让我们说设备 A。理论上这应该是可能的,因为设备在以太网级别上是分开的,并且虚拟网卡是在协调器设备上创建的,但是我怎么能告诉我的程序连接时应该使用哪个虚拟网卡?

一种选择是动态更改协调器设备上的路由表(调用外部脚本或 P/Invoke),但这似乎更像是一种解决方法。

另一个选项是动态启用/禁用虚拟网卡,但我不知道这是否容易实现。

顺便说一句,我正在使用 .NET Core。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)