Knilmis
From Codtech
Knilmis is a device that you can use to reproduce the behavior of an existing or planed network letting you know in advance how the applications or protocols beign tested will behave and providing tools for comparative performance analysis.
Contents |
Introduction
Knilmis or simlink is an Open Source virtual Internet in a box.
It can be plugged into a test network and realistically reproduce the behavior of an existing or even planed network, in a flexible and poerful way, letting you know in advance how the applications or protocols beign tested will behave and providing tools for comparative performance analysis.
Knilmis is a network appliance that simulates Internet, WAN and Wireless links replicating its fundamental parameters, with a set of capabilities based on the most requested by our customers. It could run on real hardware as well as in VMware virtual machines (VMware Workstation or VMware Lab Manager), specially as a component of a team or lab.
Knilmis can also help optimize the TCO of your infrastructure. Having a thigh control over the IT budget, you can save optimizing on bandwith consumption. To achieve this, it’s crucial to accurately measure network bandwith consumption and to analyze application performance under both existing and proposed enterprise conditions.
Crash test your infrastructure or application before the inpact on your production environment is impossible to recover.
Features
- Open Source software
- Kinlmis uses publicly available Linux networking stack for increased standards compliance.
- Kinlmis helps validate response, stability and functionality of devices and applications across a wide variety of network conditions.
- Supports variations of a wide range of network attributes per network segment including: bandwidth, latency using different distributions, jitter, packet loss, packet duplication and packet re-ordering.
- Auto learning feature probes and then remember the characteristics of a specific network to ease configuration.
- Permits to reproduces the same network conditions indefinitely to provide a way to verify application behavior and inprovement.
- Allows to model how the applications will work over different networks or network condifitions.
Innovative content
Although the are some alternatives in the market that provide network emulation and simulation, just the expensive proprietary products present an "out of the box" solution.
Knilmis is based on well established Open Source projects and it's completelly based on Open Standards, bringing the best features of other solutions. This protects your investment and leaves the way ahead open to customization and extension.
The Auto learning feature also provides a level of simplification only seen in the most advanced and expensive proprietary products.
Knilmis contains an AJAX based web administration console from where the appliance can be configured and controlled. This also presents a set of reports and statistics of operation.
Brief history
We were deploying thin clients on a large global base of customers and we had tried to find a network emulator that were powerful and at the same time easy to use and install and doesn't impose a huge investment in time and money for our clients.
We have found some very good Open Source solutions but they were up to some point incomplete, so we decided to take the most promising technologies available, and following open standards create a self-contained solucion without sacrifycing functionality.
Having in mind the maintainability of the project we decided in favor of the Linux kernel, IProute and the Netem emulation module and then we have created the small linux distibution that can contain these packages as well the required for the web administration console.
Use cases
Sometimes, it necesary to test the behavior of some protocols or applications under the conditions they will find in real setups.
Occasionally problems are discovered when the application is rolled out to a remote site, even though it behave correctly in the test network.
The application finds some new conditions in the real network while beign deployed.
Latency is perhaps the most important of these conditions because it is inherent to the physical medium and cannot be reduced nor compensated increasing bandwidth.
Thin Clients and Server Based Computing
The most important use is before deploying Thin Clients (testing network boot as well as normal operation), Server Based Computing (Citrix, Microsoft RDP, NoMachine NX, etc.) setups and VoIP and streaming video applications, but can also be useful to test client-server, web based and text terminal applications that will perform on Internet, Wireless, VPN or WAN link.
In a Thin Client deployment you can test from network boot response to application sensitivity to a wide range of network conditions and will let you obtain the lower limits of operation. And usually, the measurement tools applied to the network don't get you the real "feeling" of the users on the other side of the world.
Is the network fast enough to support network boot ?
How many thin client can be booted at the same time not overloading the network ?
How responsive the Citrix ICA session is ?
Can I use plain RDP instead of Citrix ICA though these WAN links ?
Has NX RDP tunneling a much better performance than Citrix ICA ?
How long does a big PDF print job take to be printed on the remote site ?
Do I need compression for my print queues ?
To find the answers to these questions you need Knilmis.
VoIP
VoIP in particular, is both extremely critical to the business operation and extremely sensitive to conditions on the network. The introduction of these technologies in the corporate network is becoming more popular with the availability of Open Source software PBX like Asterisk or OpenPBX. This is one more reason that network teams need a reliable, controlled test environment in which to validate suppositions about infrastructure and performance, and be able to test the available solutions.
In fact, without adequate network modeling and simulation capabilities, network teams will never be able to strategically and pro-actively manage their environments – and will instead spend all their time fighting fires and fixing problems that could have been preventing testing the infrastructure in a lab condition.
You can attach IP phones to your test network, so that you can hear exactly how calls will effectively sound in a different range of conditions once you roll out VoIP into production, anticipating any problems that may appear.
Disaster recovery and remote storage locations
To verify that a disaster recovery, remote storage or remote databases are working as expected under the most challenging network conditions, a Knilmis appliance can beused to simulate this network conditions in advance.
Appliances test
There is a vast offer of network appliances like WAN compressors, traffice shapers, etc. that claim a lot of benefits for your network. Knilmis provides the way to test these claims.
Knilmis in this context is also useful to determine the best possible configuration of these appliances. Changes in appliance's configuration can be validated against the same network again and again.
Network parameters
Bandwidth
Bandwith or throughput in digital communications is the number of packets of information that are received or sent perunit of time. It's usualy measured in Kb/s, Mb/s or Gb/s.
A common misunderstanding, usualy experienced in Thin Clients deployment, is that having more bandwith or throughput means a faster connection. Here, faster means a lower latency connection.
Server Based Computing and VoIP are very sensitive to latency and usualy they consume low bandwidth, and thus they are not affected by this limit.
Nowadays, an extra challenge it to provide your employees with access to the corporate applications while they are on the road. The bandwidth available in public hotspots is not always as desired and the response of some applications may vary. Knilmis is the way to verify and deal with this situations.
Latency
Latency is related with the physical medium and has impossed physical limits.
To compensate from latency there are some latency-hiding techniques. Citrix ICA does a magnific work to compensate from latency problems. NoMachine NX also has a good response eliminating most of the round trips that normally the X Windows protocol requires.
There's an excellent anallogy to understand the relationship between Bandwidth and Latency in this whitepaper by Stuart Cheshire.
Would you say that a Boeing 747 is three times "faster" than a Boeing 737?
Of course not. They both cruise at around 500 miles per hour. The difference is that the 747 carries 500 passengers where as the 737 only carries 150. The Boeing 747 is three times bigger than the Boeing 737, not faster.
Now, if you wanted to go from New York to London, the Boeing 747 is not going to get you there three times faster. It will take just as long as the 737.
In fact, if you were really in a hurry to get to London quickly, you'd take Concorde, which cruises around 1350 miles per hour. It only seats 100 passengers though, so it's actually the smallest of the three. Size and speed are not the same thing.
On the other hand, If you had to transport 1500 people and you only had one aeroplane to do it, the 747 could do it in three trips where the 737 would take ten, so you might say the Boeing 747 can transport large numbers of people three times faster than a Boeing 737, but you would never say that a Boeing 747 is three times faster than a Boeing 737.
The ping command can be used to measure the round trip latency.
Packet loss
Packet loss occurs when one or more packets of data traveling across a computer networking fail to reach their destination.
Packet loss can be caused by a number of factors, including signal degradation over the network medium, oversaturated network links, corrupted packets rejected in-transit or faulty networking hardware.
Lost or dropped packets can result in highly noticeable performance issues or jitter with Streaming Technologies, Voice over IP, Server Based Computing protocols and Videoconferencing, and will affect all other network applications to a degree.
Some network transport protocols such as TCP provide for reliable delivery of packets. In the event of packet loss, the receiver asks for retransmission or the sender automatically resends any segments that have not been acknowledged. Although TCP can recover from packet loss, retransmitting missing packets causes the throughput of the connection to decrease.
Packet duplication
[...]
Packet re-ordering
[...]
Policies
Policies are files that describe a particular network. These policies include:
- network identification
- bandwidth
- latency or delay
- packet loss
- packet duplication
- packet re-ordering
- packet corruption
- comments
This policies can be loaded at run time permitting the automated run of multiple tests simmulating a variety of network conditions.
Auto learning
If the intention is to reproduce an existing network and its conditions to be able to run comprehensive tests of application and equipment the best alternative to generate the policy is through Knilmis auto learning feature.
The Knilmis appliance is exposed to the real network, a target is specified, and after a period of time that is representative enough, the network parameters are automatically determined for that period and can be used to represent the network.
Technical details
Knilmis is a network (Internet, Wi-Fi, WAN, etc.) simulator that can be deployed, for your convenience, as a real or virtual appliance.
Knilmis appliance
Knilmis is based on the Linux operating system and uses the IProute and Netem packages. The Linux installation is minimized, occuping just a few MB, to permit its deployment in flash memory based devices.
Principles of operation
A Knilmis appliance connects to or more networks as a router or bridge. The is applies some Policies to alter the flow of packets between the connected networks. These policies permits that the appliance acts and behaves mimicking another network. To configure these policies, sometimes the best alternative is to obtain the parameters from the real network. In such case Knilmis provides an auto learning feature that extracts the parameters from a real network.
Occasionally, this approach is not possible, because the network being tested has not yet deployed, in that cases Knilmis provides a set of standard parameters representing different types of networks, that you can further adapt to suit your needs.
Simulating network delay
Sometimes, delay is simulated with a random variance for simplicity, but real networks don't present a random delay variance, so to emulate that a correlation value is used as well. Another parameter can be introduced (a probability expressed in %). This is not a statistical correlation but an aproximation.
delay distributions
Typically the delay in a realnetwork is not uniform. A non uniform distribution, like for example a normal distribution, represents much better the delay in a real network.
iproute2 netem includes 3 distribution tables
It's possible, although some effort is required, to generate a table based on experimental data.
normal distribution
the normal distribution usually is applied with
pareto distribution
As mentioned before Knilmis is founded over the following components:
Components
Linux
Knilmis is an embeddable micro Linux operating system.
Netem
netem provides Network Emulation functionality emulating the properties of a networks. The current version emulates variable delay, loss, duplication, corruption and re-ordering.
It is included in recent kernels of the main distributions. This was a strong point in selecting the module for network emulation.
IProute
Iproute or Iproute2 is a collection of utilites for controlling TCP/IP networking and Traffic Control in Linux.
Web management console
Network profile
[...]
License
The software is licensed under the terms of the GNU General Public License Version 2 (GPL2)
Download
Download will be abailable soon.
If you need a demo please contact us.










