全部博文(1159)
分类: 网络与安全
2016-01-20 09:56:45
This is the first in a series of articles about Network Simulation tools. I am investigating them to support some research and as such have my own specific requirements. I thought I would share my requirements and ideas about tools and hope for feedback or that perhaps it is useful to others.
I am stuck in limbo at the moment. I have applied to begin a PhD course at the Finnish National Defence University and have had my topic approved by the professor. I am waiting for confirmation and security clearance to come through which could take a few months.
In the meantime I am itching to get started. I do not want to give away the full title of my research topic at the moment until it is confirmed. Suffice to say that it will be looking at military tactical communications and involve IP networks particularly Mobile Adhoc Networks (MANET).
When I start my studies I somehow doubt I will manage to get a manoeuvre Brigade at my disposal to test out anything I can come up with. Therefore I will need to model and simulate the network layer in sufficient detail and fidelity that any new protocols can be tested and adapted. The tactical network is a very demanding space for IP communications. It is typified by low throughput, high latency, jitter and network breakage. Any simulated network will have to be able to be configured to produce the same effect.
The simulation environment is a necessary prerequisite to my central research but separate from it. So since I need to document it anyway I thought I might as well blog it. My look at network simulation tools in the tactical space may be useful to others or more likely people can give me feedback on other useful tools or their thoughts on the tools I have already found. So I begin a series of blogs with one that shows my requirements and thoughts on what I need in a network simulation. Having set the scene the next few blogs will be looking at some of the possible tools individually.
I need to be able to simulate the IP level network that may be seen on a tactical deployment.
For my purposes it does not need to be an accurate depiction of the RF environment as long as the IP network exhibits the same properties.
I do not need a full emulation of a router. Some of the tools are used for training for Cisco exams and thus give a faithful representation and interface. I am not Cisco certified and just want to be able to do any routing in the simplest way.
The things I need to be able to simulate are the delivery of packets from one node to the other. The sort of effects I need to simulate are:
Mobile Ad-hoc NETworks are often used in the tactical space to provide a data backbone. They are also being used as Mesh Networks in the civil space. They cope with the dynamic nature of mobile nodes but this often causes flux in the network. This flux is often the cause of the network effects covered above.
Any simulation of a MANET must deal with changes to the topology. This should change the routing to reflect the new layout. It also may constrain links based on the distance between nodes as the weaker signal means less throughput.
Any reconfiguration should take a similar time to what the real world network would. It should not have a god's eye view but the links should be formed in the same way a real network would.
A benefit of modelling the environment should be that many tasks can be automated. This allows repeatability and getting relevant statistics when trialling non-deterministic protocols. A realtime model can still be automated but will take longer to run that a non-realtime. Some of the tools considered can run in either realtime or by discrete events. Both models will have their uses in the constructions of new network applications and protocols.
As I will be a poor student this rules out any paid apps so they must be free to download and use. My own preference is for Open Source software as this gives the ultimate flexibility. It is very possible that none of the simulation systems meets my exact needs. If the software is open source then the possibility remains that it can be adapted as needed. This will be a key criteria for me but fortunately there seem to be plenty of options for Open Source or at least free tools.
When doing my PhD I will have plenty of things that will require my brain power so if I can save it anywhere then I will. As such the selected tool should be as easy to use as possible. The ability to write complex plugins may be needed for some elements of my model but if I can just drag and drop the network elements in most cases then it will save a lot of time.
I have scoured the interwebs looking for tools that look like they may meet my criteria. My list at the moment includes:
Whilst it will be useful to check the convergence on certain aspects of my protocol quickly, integration with the real application is more important. The application in for realtime interactive data so it will have to be able to be plugged in to the simulated network and used. The network should appear exactly like a real one so the application does not need to be adapted.
Once a base simulation is produced it will have to be adapted to experiment with many different scenarios. The simulation must be readily adaptable between runs and within a simulation to show the dynamic nature of a tactical network.
The network must present to the application protocol like a completely realistic network link. How the model does this is less important. I do not have a requirement to simulate RF path loss, multipath, complex routing algorithms or any of the specifics. I will be able to use my knowledge of tactical networks to set realistic constraints. I will also want to break the network as much as I can to see how the protocol performs in these conditions.
I must be able to run the exact same application as I would have on an actual system. The modelling tool must therefore present what appears to be a normal network connection. I will have two primary ways to run the application:
I have a preference for Open Source anyway and my rig is going to be running on Linux. It will also be important for me as if the simulation environment does not quite meet my needs I will have the option to change it.
The simulation of Mobile Ad-hoc or Mesh Networks must be sufficient to show that any network protocol will be useful in a real world scenario.
These are some of the things that I have in mind when I will be looking at network simulation tools. I may not down select on just one if there is a compelling reason to use different ones for different aspects of my research. The next article will probably be on the CORE application as I already have it up and running and have played around with it a bit.
I hope this was useful and I welcome any feedback or suggestions. I have a comments section below, I do not know how quickly the spam bots will find it so have been cautious and made it moderated. You can leave a comment without registering and I will check and approve it. You can also register and when I approve you will be able to post freely.