【问题标题】:Mux Intermediate Driver vs Filter Driver多路复用器中间驱动程序与过滤器驱动程序
【发布时间】:2017-05-24 19:21:51
【问题描述】:

我们在 NDIS 5.x(微型端口、协议)中实现了过滤器中间驱动程序,因为在 NDIS 6.x 中已删除对此的支持。我打算将我的过滤器中间驱动程序转换为具有 1 对 1 关系的 Mux 中间驱动程序。

即使 NDIS 6.x 引入了轻量级过滤器驱动程序,我也想采用这种方法来最大限度地降低成本和进度,同时迁移到 NDIS 6.x。

是否有可供 Mux 中间驱动程序具有 1 对 1 关系的指南。

【问题讨论】:

    标签: ndis


    【解决方案1】:

    LWF 真的很容易编写。切换到 LWF 可能比将您的驱动程序改装为 MUX 驱动程序更容易——甚至是 1:1 MUX。例如,构建 MUX 驱动程序需要您构建用户模式通知对象。 LWF 没有。

    LWF 还具有更好的性能、更大的灵活性和更多功能。

    【讨论】:

    • 谢谢 Jeffrey,采用 Mux 的另一个原因是解决我们遇到的故障转移问题。也就是两张网卡配置了不同的IP地址。两者都应充当冗余通道,因为它们具有两个不同的 IP,因此只能使用这些 NIC 卡中的任何一个来发送/接收数据。一个网卡通道出现故障导致数据丢失。为了解决这个问题,我们想到了 1-2 Mux,其中发送到 MUX 的数据可以路由到两个 NIC 卡,这两个 NIC 卡接收到的数据将被处理并报告给更高的 OSI 堆栈,就像从一个接收到一样.这将解决故障转移问题。
    • 如果故障转移可以使用 LWF 解决,那么我真的很想采用这种方法。您的建议将真正帮助我们采取正确的方法。
    • 故障转移可以使用 LWF 完成,但最好使用 1:2 MUX。一般来说,你应该有一个很好的功能分离。一个驱动程序应该做一件事:在 LWF 中进行过滤,并在单独的 MUX 中进行故障转移。它将使每个驱动程序更简单,并为您提供未来在新解决方案中重用任一驱动程序的灵活性。
    • 谢谢 Jeffery,我们将与 LWF 合作。我有另一个关于 AttachHandler 的问题,是否会为 PC 中连接的每个 NIC 卡调用此回调,或者仅调用一次。如果为每个 NIC 卡调用一次,那么我想捕获作为参数接收的 NdisFilterHandle 并将其用于决定到 NIC 的路由或在发送和接收调用中使用它。
    猜你喜欢
    • 1970-01-01
    • 2012-02-02
    • 1970-01-01
    • 2018-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-19
    相关资源
    最近更新 更多