logo

Live Production Software Forums


Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Options
Go to last post Go to first unread
WarrisAV  
#1 Posted : Tuesday, February 9, 2021 6:42:40 AM(UTC)
WarrisAV

Rank: Newbie

Groups: Registered
Joined: 1/12/2021(UTC)
Posts: 1
Canada

So, a little out of my depth here but figured where better to ask than here!

My situation probably like many is that I operate out of my home. I can't get fiber so that has really limited my upload capabilities to 50mbps, which for most of my needs works well. However it is coming to a point where future events have multiple streams with upwards of 24 calls across systems and multiple destinations. I have lowered my upload to callers when and where it makes sense and according to my math I can make it work, but it is bleeding edge on the upload.

I can get an additional ISP modem in to double my upload to 100mbps utilizing a dual wan router with load balancing however I am concerned that my lack of knowledge in WebRTC may cause some headaches...

My questions I guess to summarize are:

1. Does WebRTC concern itself with local IP address to host connection or is it more direct?

2. Will the vMix call find it's way through either or both of the modems through the balancer, or distribute itself equally?

3. Is vMix call cognizant of pathing changes during the call or does it have to be particularly stable.

4. Does load balancing across ISPs impact vMix call in any negotiable way?


I am sure I have many more questions but don't even know the particular questions to ask, I have no issues with investing in proper equipment, I already have in utilization some enterprise switches for the backbone.

Hope someone is knowledgeable of what I am trying to ask!
Morki  
#2 Posted : Thursday, February 11, 2021 6:40:54 AM(UTC)
Morki

Rank: Member

Groups: Registered
Joined: 7/18/2020(UTC)
Posts: 16
Germany
Location: Frankfurt

Originally Posted by: WarrisAV Go to Quoted Post

1. Does WebRTC concern itself with local IP address to host connection or is it more direct?
2. Will the vMix call find it's way through either or both of the modems through the balancer, or distribute itself equally?
3. Is vMix call cognizant of pathing changes during the call or does it have to be particularly stable.
4. Does load balancing across ISPs impact vMix call in any negotiable way?


Here is some background knowledge that might help you:
1.
There are plenty of websites explaining Webrtc, you should do a quick Google search. A very simplified short summary: both partners (the caller's web browser and your vmix) connect to the vmix webserver telling it the caller IDs. The vmix server then connects the 2 parties by directing them to a STUN server that is acting like a proxy and allows the parties to exchange their connection information. Basically they gather all information they can find on how they could be reached (their local and public IPs etc.) and send that over. The server is just the intermediary between the two. Once that information is exchanged, the two parties try to connect directly using that information. Once they are connected, they do not need the vmix server any more and all data is flowing directly between the two parties. If a connection is not possible (e.g. both sides are behind a firewall), they can fall back to a TURN server that vmix also offers. This introduces more latency and depending on the server load it could reduce throughput and quality, but all data is now routed via that server that has a public IP and can always be connected to by everyone.

2.
This depends on the router you use. There are different types of load balancing logic that those simple dual-wan routers provide. I hope you have some basic TCP/networking knowledge, otherwise the following might be very confusing:
It is important to understand, that a single data connection can only be using one uplink. So if you have one connection and transfer data (i.e. one big download), it cannot be faster than a single uplink. But if you start a second download, that one can then fully use the second uplink's bandwith. In your case, that's just fine, since every vmix call and your stream are all separate connections that can be distributed to use both links.
Common router logic on which outgoing connection gets routed through which uplink could are like this:
- simple "round robin" logic: first connection uplink 1, second connection uplink 2, third on uplink one again and so on.
- load based logic: the router decides based on the utilization of the uplinks.
the router maintains a translation table to remember what packets need to go out on which uplink in these cases.

Another very common method is the checksum based logic, which avoids having to maintain a routing table:
the router calculates a simple numeric checksum from source and target IPs and ports. Then it does a modulo 2 calculation on that checksum, if the result is 0 the packet gets routed via uplink 1, otherwise it goes via uplink 2. Since the source and destionation IPs and ports cannot change within a tcp connection, this always works.
What does all that mean for your question and vMix? It depends on how your router works. But you should expect the calls to somehow be distributed on both uplinks. Not always exactly 50/50, but a kind of like that.

3. The caller will have to reconnect (reload the browser window) if an uplink fails or the routing gets changed.

4. No, that's just fine. As I described above, your upstream to your streaming provider will not be distributed along both uplinks.

If you get a better router, you can manually create routing tables (if you want to...). I think the Ubiquiti Edgerouter X (pricepoint around only 50 EUR) is the cheapest stable router that allows Dual-WAN. I can recommend that one, have been using it a lot. No need to get expensive Cisco stuff for that application.

I hope that was not too long and complicated... I'm German and always have trouble trying to explain things in a simple way in English language.

Cheers

mikenor  
#3 Posted : Friday, February 12, 2021 2:22:54 PM(UTC)
mikenor

Rank: Member

Groups: Registered
Joined: 1/19/2021(UTC)
Posts: 12
Canada

Was thanked: 1 time(s) in 1 post(s)
These "dual WAN" routers are kind of a gimmick for home/soho applications. Not real load balancing.

To really balance two connections (Layer 3) you need a routing protocol at both ends, portable IP address space, and cooperation from ISPs. The home/soho gimmick boxes just arbitrarily cycle through multiple source IPs for Layer 4 NATing. Who knows what they do for IPv6, probably nothing.

@Morki have you actually tried it? I think the problem might be that whenever vMix reaches out to the vMix Call STUN server, the NAT box "logic" may use the same SNAT IP for that every time, in which case no balancing would happen for incoming media. Or maybe, the NAT box will load-balance the outgoing STUN connection, but not necessarily to the same SNAT IP that the outgoing media path gets. The incoming media will come in on whatever path the outgoing STUN went out, but the outgoing media path will be up to the NAT box to decide. It might seem very random as to whether or not it works, depending on the type of firewalling/NAT that the far party happens to be behind on their end (full cone, restricted cone, etc.).

NAT is, at best, a necessary evil (and that's being generous IMO). So load-balanced NAT is basically dancing with the devil.
Users browsing this topic
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.