NS3 performance with real-time video streaming using BGP

240 views
Skip to first unread message

Jonay Rodríguez Báez

unread,
Oct 7, 2016, 2:23:34 AM10/7/16
to ns-3-users
Hello,

I'm new with NS3 but I'm interested on create a real-time video streaming over NS3 using BGP networks. My idea is create a topology with more than 200 ASN's (a lot of routers inside every one), using the BGP protocol to the communication  between them. This topology is a hybrid: part of it is simulated in NS3 and the other part are real devices. Most probably we will have multiple entry/out point to and from NS3 simulated network, with more than 20 devices connected to the same NS3 simulated network, and all real devices will produce real video traffic (heavy traffic). 
 
After reading the documentation and playing with the different examples of NS3, I would like to know if with NS3 I can manage the following points in my emulation:

- Is NS3 smart enough to update the routes following BGP protocol if one link is congested?. The idea is the following: I would like to simulate what happens to my streaming service from the point of view of the client when a router which is in the preferred path between the server and the client gets congested. In that case, the alternative path would be chosen in a way similar to what happens in a BGP routing network, or this feature is not included?.
- I want to measure some metrics, including bandwidth, number of lost packets, routing changes, throughput, packet size or temporal jitter. Is it possible to do that in NS3?.
- I also would like to emulate the routers behaviour as real routers using virtual machines (Cisco, OpenWRT...). Can this be done?.
- Has NS3 any limitation to connect real PC's to my scenario?.
- Will I need a powerful machine to manage this simulation or can I use a 'normal server'?. I have a PC with 64GB RAM and 6 cores. Which is the expected number of simulated routers and/or real devices I could expect to have in my simulated network?

I know that are a lot of questions but I need to be sure before starting with NS3. Is all this possible with NS3?. what is necessary in order to achieve this goal? Any suggestions or tips/tricks or even other tools?

Thanks in advance.

Tommaso Pecorella

unread,
Oct 8, 2016, 4:54:37 AM10/8/16
to ns-3-users
Hi,

tentative answers are in-line. Definitive answers can not be given (you can have a definitive answer only by tying).


On Friday, October 7, 2016 at 8:23:34 AM UTC+2, Jonay Rodríguez Báez wrote:
Hello,

I'm new with NS3 but I'm interested on create a real-time video streaming over NS3 using BGP networks. My idea is create a topology with more than 200 ASN's (a lot of routers inside every one), using the BGP protocol to the communication  between them. This topology is a hybrid: part of it is simulated in NS3 and the other part are real devices. Most probably we will have multiple entry/out point to and from NS3 simulated network, with more than 20 devices connected to the same NS3 simulated network, and all real devices will produce real video traffic (heavy traffic). 
 
After reading the documentation and playing with the different examples of NS3, I would like to know if with NS3 I can manage the following points in my emulation:

- Is NS3 smart enough to update the routes following BGP protocol if one link is congested?. The idea is the following: I would like to simulate what happens to my streaming service from the point of view of the client when a router which is in the preferred path between the server and the client gets congested. In that case, the alternative path would be chosen in a way similar to what happens in a BGP routing network, or this feature is not included?.

BGP is not included in ns-3. There are "only" 3 IGP protocols: OSPF (well, a sort of OSPF, it's called GlobalRouting - check the manual), Nix, and RIP.
 
- I want to measure some metrics, including bandwidth, number of lost packets, routing changes, throughput, packet size or temporal jitter. Is it possible to do that in NS3?.

Yes.
 
- I also would like to emulate the routers behaviour as real routers using virtual machines (Cisco, OpenWRT...). Can this be done?.

Yes, but it will be slightly harder, and it will consume a lot more resources (you'll need a VM for each router).
 
- Has NS3 any limitation to connect real PC's to my scenario?.

Just the limitations of the hardware you're using to run the simulation.
 
- Will I need a powerful machine to manage this simulation or can I use a 'normal server'?. I have a PC with 64GB RAM and 6 cores. Which is the expected number of simulated routers and/or real devices I could expect to have in my simulated network?

A cluster would be more appropriate. See the MPI documentation.
 
I know that are a lot of questions but I need to be sure before starting with NS3. Is all this possible with NS3?. what is necessary in order to achieve this goal? Any suggestions or tips/tricks or even other tools?

Thanks in advance.

Cheers,

T.
 

Jonay Rodríguez Báez

unread,
Oct 11, 2016, 6:40:48 AM10/11/16
to ns-3-users
Thanks for your responses. There are a lot of questions and you solved the major part of them :). 

I only have one question more related with BGP. 
BGP is not included in ns-3. There are "only" 3 IGP protocols: OSPF (well, a sort of OSPF, it's called GlobalRouting - check the manual), Nix, and RIP.
 
I suppose that I can emulate the BGP protocol using DCE-Quagga. 

Regards

Tommaso Pecorella

unread,
Oct 12, 2016, 9:02:09 PM10/12/16
to ns-3-users
Yes, it should be possible.

Cheers,

T.
Reply all
Reply to author
Forward
0 new messages