简体   繁体   English

使用多个网络接口来广播每个网络中的数据(负载平衡/绑定)

[英]using multiple network interfaces to broadcast fractions of data in each(load-balancing / bonding)

the question is : how to send data over multiple internet connections avilable on current pc? 问题是: 如何通过当前PC上的多个互联网连接发送数据?

possibly-partially simlilar to This Post 可能-部分simlilar到该邮

though my idea is(like raid-0 is using multiple hdd's , to take advatage of multiple nic's) actually multiple internet connections/accounts to maximize the throughoutput of the upload bandwidth (which usually has 1/8 of the total bandwidth) 虽然我的想法是(像raid-0使用多个硬盘驱动器,以获取多个网络的优势)实际上有多个互联网连接/帐户,以最大化上传带宽的吞吐量(通常占总带宽的1/8)

the concept i am trying to implement is to use the fastest protocol, regardless the data integrity so i could send data from one point to the other (having a "client" part of application to handle the data... check for integrity while putting data back to one piece) or maybe just use tcp if it does not worth it (handling the integrity in application level to increase speed) 我试图实现的概念是使用最快的协议,无论数据完整性如何,所以我可以将数据从一个点发送到另一个点(具有应用程序的“客户端”部分来处理数据...在放置时检查完整性如果不值得,可以使用tcp(处理应用程序级别的完整性以提高速度)

i know there's an existing application Called "Connectify" that calimes to do someting similar, though my idea was to make something little different and i need to understand the basics so i could start this project for testing and development. 我知道有一个名为“Connectify”的现有应用程序可以做类似的事情,虽然我的想法是做一些不同的东西,我需要了解基础知识,所以我可以启动这个项目进行测试和开发。 ...thanks in advance ! ...提前致谢 !

As a generalization of the approach you will need to take in this case would be to create multiple TCP Clients bound to the individual network adapters in your machine. 作为该方法的一般化,您需要在这种情况下创建绑定到计算机中各个网络适配器的多个TCP客户端。 You can iterate through each of the adapters available, test to make sure that they have a connection to the outside world, then add them to a collection where then for each packet of data you want to transmit, you send the packet out. 您可以遍历每个可用的适配器,进行测试以确保它们与外部世界连接,然后将它们添加到集合中,然后对于要传输的每个数据包,将数据包发送出去。

See http://msdn.microsoft.com/en-us/library/3bsb3c8f.aspx on how to bind TCPClient to individual IPEndPoints. 有关如何将TCPClient绑定到单个IPEndPoints的信息,请参见http://msdn.microsoft.com/en-us/library/3bsb3c8f.aspx

Because of the nature of the way TCP operates, you will have to construct essentially a wrapper for each packet of data which also includes an order id to ensure that packets received out of order (which will happen most of the time in this case), can be pieced back together again. 由于TCP操作方式的本质,您必须为每个数据包构建一个包装器,它还包括一个订单ID,以确保无序接收的数据包(在这种情况下大部分时间都会发生),可以再拼凑回来。

Let me know if you need any more help understanding things. 如果您需要更多帮助来理解事物,请告诉我。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM