用于USB系绳和WiFi的OSX链路聚合?

时间:2014-01-13 03:15:04

标签: macos networking wifi network-interface tethering

这种link aggregation甚至可能吗?

在Windows计算机上,有多个第三方应用程序利用绑定和负载平衡多个网络接口来提高吞吐量,例如Connectify Dispatcher。是否有可能为OSX开发这样的应用程序?是否已有任何第三方软件在OSX上执行此操作?我能找到的最接近的是IPNetRouterX,我没有用它来绑定USB和WiFi网络接口。

我也在OSX的终端尝试了以下一行:

sudo networksetup -createBond bond0 en1 en3

...其中en1是我的WiFi接口,en3是我的USB网络接口,它只会导致:

** Error: The parameters were not valid.

可能需要某种第二层“魔术胶”才能使这种方式成为可能......但主要是作为Windows程序员,我不确定Apple是否会喜欢允许这种程度的编程访问,考虑他们喜欢的专有权......

知道在这里可以做些什么吗?

3 个答案:

答案 0 :(得分:7)

networksetup可以选择告诉您操作系统是否可以绑定特定端口。为此,您需要将其设为“硬件端口”,您可以使用以下方法找到它:

networksetup -listallhardwareports

反过来,每个都可以使用

进行查询
networksetup -isbondsupported <HW Port Name>

使用networksetup端口名称而不是内核接口名称设置绑定网络,因此如果您要绑定两个以太网网络,则可以这样做:

networksetup -createBond myBondedNet 'Ethernet 1' 'Ethernet 2'

查询运行10.9的2009 MacPro上的端口,我发现只有硬件以太网端口对-isbondsupported查询回答“是”。

请注意,为了让-isbondsupported返回YES,我没有必要运行端口,因此在我的情况下,即使当前只连接了一个以太网,我的两个以太网都会回答“是”。

答案 1 :(得分:1)

gaige感谢您的技术答案,但RectangleEquals并未询问如何通过终端进行链路聚合,但

IF链路聚合可用于USB,WIFI或其他类型的互联网连接。

答案是否定的。

Apple没有创建链接聚合。它是Unix的独立功能。因此,苹果公司不知道如何改进它 - 它也不想花费资源来解决它,因为它不是一个普遍的需求。即使它想要为您提供它不会在OS X的常规版本中提供的功能,但它将提供服务器版本并向您收取费用。

并且有开发人员可以通过编写大量代码来实现它 - 因此不存在此类应用程序的免费版本。您可以尝试使用Connectify Switchboard for OS X - 它非常昂贵。

答案 2 :(得分:0)

我发现实际上没有合适的方法来实现这一点,这要归功于通过单独的接口处理网络的方式。虽然可以使用两个独立的接口连接到同一个远程数据源,但是需要内核级编程技能才能使这两个接口齐声工作......并且通过每个单独的接口返回的数据包将被处理为非常不同的是,网络数据包彼此之间太不同步......所以即便如此,如果你要创建某种神奇的桥来处理所有这些情况,并以某种方式使用两个独立的接口来拉同一个同步数据,它最终会(最佳情况)与完全相同的速度 - 但可能是SLOWER - 而不仅仅是一个网络接口。几乎没有任何好处的麻烦太多了。