INET Wireless Tutorial ====================== The INET Wireless Tutorial contains a series of simulation models numbered 1 through 19. The models are of increasing complexity -- they start from the basics and introduce new INET features and concepts related to wireless communication networks. Each model is self-contained, with its number in the file names, so e.g. Wireless03.ned contains all the necessary NED definitions. (The omnetpp.ini file is shared among all simulation steps). It is recommended read the comments of the corresponding NED file first to understand what the given step is supposed to demonstrate. Script for the tutorial (work in progress) ========================================== The INET Wireless Tutorial contains a series of simulation models numbered. 1 through 16. The models are of increasing complexity -- they start from the basics and introduce new INET features and concepts related to wireless communication networks. Each model is self-contained, with its number in the file names, so e.g. Wireless03.ned contains all the necessary NED definitions. (The omnetpp.ini file is shared among all simulation steps). It is recommended to read the comments of the corresponding NED file first to understand what the given step is supposed to demonstrate. 1) In the first step we set up a very basic network containing two nodes in communication range that exchange data. We demonstrate how to configure nodes with applications, place them in the physical environment, assign IP address to them, configure the wireless interface and set up statistics to measure the traffic. (constant bitrate UDP traffic) At the moment we are not interested whether the actual wireless exchange is realistic or not, we just want the data to get from one host to the other (i.e. we assume a certain well defined transmission range and no collisions, attenuation or other physical effects). 2) In this step we add a neat transmission animation so in the future we will have a much better view what is actually happening in the network. 3) We will add some more hosts and reconfigure (decrease) the transmission range. We will find that the communication is no longer possible between the original hosts as they are now out of range, but it would be possible if we could use the newly added hosts as a relay. 4) To establish the communication again we have to enable static routing between the nodes and add routes manually to some of the nodes. 5) In this step we will check the throuput of the network. We expect that the communication bandwidth between the original nodes dropping because of the extra hop required to bridge the distance between the hosts. Collisions should happen becuase of the intermediate node. Let’s enable interfence detection to model also collisions. 6) Now we see that the trhuhput dramatically drops as collisions happen, but the radios do not care whether there is a transmission on the channel (as the mac protocol in ideal mac does not care). After setting up a more realistic MAC protocol (CSMA) we will see that the effects of the collisions are not so dramatic as the mac protocol now checks the medium before transmission. 7) Life is not static. Configure the relay nodes to actually move around. We are seeing that static routes are no longer valid and the communication breaks down. 8) Let’s forget the static routing as it is no longer useful in a dynamic environment. We will use a MANET protocol (AODV) to deal with the changing topology. We can check how a valid route breaks down and how the routing protocol reconfigures the nodes to route around the broken links. 9) The nodes are moving around so they are obviously not plugged to the mains. We can model a node’s energy consumption by adding energy store and consumption devices. To model sensor networks where energy is expensive this is a must... 10) In the real world nodes are rarely moving in the free space. They can be covered by obstacles etc. We add some obstacles into the physical environment to block some of the communication. Unfortunately we are not seeing the effect because of the simplified physical model we are using with the IdealRadio. 11) Let’s switch to a more realistic radio model that models the transmission on packet level and takes into account the obstacles, attenuation etc. We have to configure several physical parameters and the actual transmission range is now calculated from these values. Now we are seeing the effects from the obstacles introduced in the previous step. 12) As we are no longer in free space, let’s make the model even more accurate by configuring a better propagation model instead of free space: TwoRayGroundReflection 13) Some nodes are out of range, but not by much. Setting up directional antennas with better gain would allow them to communicate directly. 14) Let’s add some more reality. We are introducing heavy radio noise on an adjacent communication channel (on a neighboring frequency channel). We would expect this to limit the traffic, but we are not seeing the effect because the current radio model handles each radio channel independently. 15) To support the modeling of the cross-talk effect we will switch to dimensional analog radio model. This model requires much more processing power, but allows much more accurate modelling of each packets as they travel through space. 16) Now we are introducing some very short burst radio signals (1ns?) that can corrupt a single bit/symbol during the packet transmission. In real life this would not affect the throughput too much as low level error correction would fix these errors without introducing packet errors. 17) We are now switching to bit precise radio model. This complex radio model properly models all the layers of a real radio and allows us to see the positive effect of the error correction. 18) Add forward error correction, scrambling, interleaving 19) Optimize the simulation by adding MAC address and range filters (or additionally radio state and listening mode filter (i.e. 802.11b and 802.11g radios cannot communicate)