May 06, 2022

Bonding: a new approach to the solution

More and more often our clients, when conducting broadcasts, face the problem of weak Internet channel connection. This is due to the fact that there is no wired Internet at the locations and you have to use mobile Internet (4G\LTE). As a rule, mobile Internet is limited in speed and often, at best, it is possible to squeeze out of it a speed of only 5 Mbs. But given the public nature of the mobile Internet, the speed is likely to be unstable, since other subscribers at this event will use this channel.

Therefore, at one time the concept of so-called bonding appeared. It represents an idea of combining several physical communication channels into one logical one. For example, you can take several 4G modems and broadcast simultaneously through all of them. In this case, the bandwidth will be close to the sum of the bandwidth of all modems.

Possible solutions


Let's briefly review the most affordable solutions for channel aggregation, such as Speedify and OpenMPTCP. And then let's move on to the options that we offer.

At the same time, we will analyze these solutions precisely in the context of online broadcasts using the SRT protocol.

Get ready! You'll find it interesting!

Speedify


This is a popular commercial service created primarily for surfing the Internet. It works according to its own closed protocol, traffic goes through the company's servers.

Pros:
  • very popular
  • available on all platforms
  • allows you to aggregate not only 4G modems, but also to make setups from mobile phones
Cons:
  • requires monthly subscription fee
  • aggregating servers are controlled by Speedify and due to the publicity of the service may be under high load
  • first of all, this service is designed for surfing the Internet, i.e. it solves a more general problem and does not provide optimization for conducting online broadcasts using the SRT protocol. Moreover, using the SRT protocol via Speedify is similar to transporting a race car on a truck.

OpenMPTCP

It is a standard protocol on top of TCP and in theory anyone can deploy a service based on it. Especially considering that the code of the aggregating server is publicly available.


Pros:
  • availability
  • free of charge
Cons:
  • The protocol is not supported by Windows
  • deploying an aggregating service requires a specialist
  • Using the SRT protocol is also similar to transporting a race car on a truck. Since OpenMPTCP is based on TCP, while SRT was conceived precisely to circumvent the limitations of the TCP protocol.
SRT & OpenMPTCP

Сonclusions

The services discussed above are multi-purpose services. They solve the broader task of providing the Internet, mainly for surfing. But they do not take into account the specifics of online broadcasts using the SRT protocol.


As you probably know, SRT was designed based on UDP to bypass the TCP protocol speed limits. The solutions discussed above seem to drive SRT back into TCP, which, as you understand, is far from optimal. Therefore, we decided to create our solution on a “pure” SRT, which we will tell you about later.


Existing solutions belittle the speed of SRT

What do we offer

Due to the numerous requests of our customers, we have implemented the "bonding" function in our SRTMiniServer. At the same time, our solution uses exclusively the SRT protocol and its power.
The essence of our solution is that a fairly simple program is setup on the transmitting side. It splits the incoming SRT stream into several SRT streams and transmits it over all available channels.
For example, you can connect several USB modems, and the program, which we called SRTBondingAgent, will use all their power.

SRTMiniServer, in turn, will aggregate incoming streams.

Advantages of our solution

  • only SRT is used
  • can be used with any encoders (vMix, OBS, Haivision, JVC, etc.)
  • it does not require special equipment: you can run the SRTBondingAgent program, even on a weak Netbook, or on the computer where vMix is installed
  • you can use available load-balanced routers
  • compatible with SRT proxy servers
  • it does not require an aggregating server: SRTMiniServer acts as it

What's next

At the moment, we invite everyone to take part in testing this feature. You can download the SRTBondingAgent program and the SRTMiniServer version, with bonding support, here.

Note: At the moment, the SRTBondingAgent program is implemented for the Windows platform, in the future we have plans to port it to Linux.