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.