用于 USB 系绳和 WiFi 的 OSX 链接聚合?
Posted
技术标签:
【中文标题】用于 USB 系绳和 WiFi 的 OSX 链接聚合?【英文标题】:OSX Link Aggregation for USB tether and WiFi? 【发布时间】:2014-01-31 17:27:03 【问题描述】:这种link aggregation可能吗?
在 Windows 机器上,有几个第 3 方应用程序利用绑定和负载平衡多个网络接口来提高吞吐量,例如 Connectify Dispatcher。是否有可能为 OSX 开发这样的应用程序?是否已经有任何第三方软件可以在 OSX 上执行此操作?我能找到的最接近的东西是IPNetRouterX,我无法使用它来绑定 USB 和 WiFi 网络接口。
我还在 OSX 的终端中尝试了以下行:
sudo networksetup -createBond bond0 en1 en3
...其中 en1 是我的 WiFi 接口,而 en3 是我的 USB 网络接口,这只会导致:
** Error: The parameters were not valid.
可能需要某种第 2 层“魔术粘合剂”才能以任何方式实现这一点……但主要是作为一名 Windows 程序员,我不确定 Apple 是否会喜欢允许这种级别的编程访问,考虑到他们喜欢的专有性......
知道这里可以做什么吗?
【问题讨论】:
【参考方案1】:networksetup
有一些选项可以告诉您操作系统是否可以绑定特定端口。为此,您需要给它一个“硬件端口”,您可以使用以下命令找到它:
networksetup -listallhardwareports
其中的每一个都可以依次使用
进行查询networksetup -isbondsupported <HW Port Name>
绑定的网络是使用networksetup端口名称设置的,而不是内核接口名称,所以如果您要绑定两个以太网网络,您可以这样做:
networksetup -createBond myBondedNet 'Ethernet 1' 'Ethernet 2'
查询运行 10.9 的 2009 MacPro 上的端口,我发现只有硬件以太网端口对 -isbondsupported
查询响应为“是”。
请注意,-isbondsupported
返回 YES 时,我不必让端口正常运行,所以在我的情况下,即使当前只有一个以太网连接,我的两个以太网都响应为 YES。
【讨论】:
【参考方案2】:gaige 感谢您的技术回答,但 RectangleEquals 不是询问如何通过终端进行链接聚合,而是
IF Link Aggregation 可用于 USB、WIFI 或其他类型的互联网连接。
答案是否定的。
Apple 没有创建链接聚合。这是 Unix 的一个独立特性。因此,Apple 对如何改进它的想法为零——它也不想花费资源来解决它,因为这不是一个足够普遍的需求。即使它想为您提供常规版本的 OS X 中不会提供的功能,但会在服务器版本中提供并收费。
而且有些开发人员可以通过编写大量代码来做到这一点 - 因此不存在此类应用程序的免费版本。你可以试试 Connectify Switchboard for OS X。
【讨论】:
6 年后我真的不会对这个答案提出质疑,但我的“技术答案”实际上确实通过描述如何确定是否可以在特定端口上完成链路聚合来回答这个问题.而且,我确实说过(至少在我的机器上)硬连线以太网设备是唯一支持绑定的设备。【参考方案3】:我发现实际上没有像样的方法来实现这一点,这要归功于通过单独的接口处理网络的方式。尽管可以使用两个单独的接口连接到同一个远程数据源,但需要内核级编程技能才能使这两个接口协同工作......并且通过每个单独接口返回的数据包将得到非常处理不同的是,网络数据包彼此之间会太不同步......所以即使那样,如果你要创建某种魔术桥来处理所有这些情况,并以某种方式使用两个单独的接口来拉同一个同步数据,它最终会(最好的情况下)与仅使用一个网络接口的速度完全相同 - 但可能更慢。几乎零收益的麻烦太多了。
【讨论】:
以上是关于用于 USB 系绳和 WiFi 的 OSX 链接聚合?的主要内容,如果未能解决你的问题,请参考以下文章