The following model components (protocols, applications and other models) are available for the INET Framework:
Protocol | Project | License1 | Comments2 | ||
---|---|---|---|---|---|
Application | |||||
CBR/VBR | INET | LGPL | Traffic generator modules in the inet.applications.* packages (like UDPBasicApp , TCPBasicClientApp , IPTrafGen , EtherAppCli , EtherAppSrv, etc.) can generate both constant bit-rate and variable bit-rate traffic, depending on the setting of the packetInterval or equivalent parameter (constant or random variable like exponential(1s) ) |
||
HTTP | INET | GPL | HTTP traffic generation (merged from the HttpTools project). | ||
File Transfer | INET | LGPL | Modules in the inet.applications.tcp package, e.g. TCPSessionApp can be used to model file transfers. |
||
DHCP | INET | LGPL | DHCP protocol from link | ||
Video (basic) | INET | LGPL | The UDPVideoStreamCli and UDPVideoStreamSvr modules in the inet.applications.udp package provide a simple video streaming model; video traffic is modeled as CBR stream. |
||
Video (detailed) | n/a | n/a | The VideoInterface model in the OMNeT++ download area (link), originally from http://trace.eas.asu.edu/tracesim/tracesim.html implements a trace-based model of video traffic. The code needs to be revised and ported into the INET Framework. | ||
Voice (basic) | INET | LGPL | If modeling voice traffic as a CBR stream suffices, see the CBR/VBR entry in this table. | ||
Voice (detailed) | INET | LGPL | Can generate realistic VoIP packet streams thanks to the utilization of real audio data and an existing VoIP standard codec. Moreover, by applying ITU-T's perceptual evaluation of speech quality (PESQ) approach at the sink, the perceived quality of a transmitted VoIP stream can be determined. (from the VoIPTool project) | ||
Peer-to-peer (Chord, Kademlia, Pastry, GIA, etc.) | OverSim | GPL | OverSim is an open-source INET-based overlay and peer-to-peer network simulation framework. The simulator contains several models for structured (e.g. Chord, Kademlia, Pastry) and unstructured (e.g. GIA) P2P systems and overlay protocols. The project has its own mailing list, bug tracker, documentation, etc., hosted at the web site. | ||
BitTorrent | EbitSim | CCPL | BitTorrent simulation with the following features: multiple concurrent swarm, multiple trackers, timeslice processing model | ||
P2P Video Streaming | DenaCast | GPL | DenaCast is an open-source peer-to-peer video streaming framework based on the OverSim framework. | ||
Network Attack | NETA | GPL | A framework devised to simulate attacks in heterogeneous networks. NETA is aimed to be a useful tool in the network security field. | ||
Transport | |||||
TCP (INET) | INET | LGPL | INET's own TCP implementation. Contains TCP Tahoe, Reno and NewReno (new algorithms can be added by implementing and registering a C++ class interface); supports SACK. Data transfer simulation modes: byte count, C++ packet object (TODO: byte array). Supports both IPv4 and IPv6. Support for application-level flow control (simulation of READ syscalls) is in work as of Aug 2010. | ||
TCP (lwIP) | INET | LGPL+BSD | OMNeT++ module that wraps lwIP. Less overhead (less frequent timer calls) than the NSC-based TCP implementation. Data transfer simulation modes: byte count, C++ packet object (TODO: byte array). Supports both IPv4 and IPv6. Not yet released, snapshot available from INET repo branch; support for application-level flow control (simulation of READ syscalls) is in work as of Aug 2010. | ||
TCP (NSC) | INET | LGPL+GPL | OMNeT++ module that wraps Sam Jensen's Network Simulation Cradle (NSC). NSC needs to be downloaded and installed into INET separately. Contains Linux 2.6, OpenBSD and FreeBSD stacks. Data transfer simulation modes: byte count (TODO: byte array, C++ packet object). Supports both IPv4 and IPv6. No support for application-level flow control (simulation of READ syscalls). | ||
UDP | INET | LGPL | Implements UDP. | ||
SCTP | INET | LGPL | Implements SCTP. | ||
RTP, RTCP | INET | LGPL | Extensible with profiles; currently contains the "RTP Profile for Audio and Video Conferences with Minimal Control" profile, and MPEG video payload. Needs to be reviewed and tested. | ||
Network | |||||
IPv4 | INET | LGPL | Implements IPv4. Supports autoconfigured static routing, manual static routing via config files, and routing protocols. Implementation consists of the IPv4 and RoutingTable modules in the inet.networklayer.ip package; see also FlatNetworkConfigurator . |
||
ICMPv4 | INET | LGPL | Implements ICMPv4. | ||
ARP | INET | LGPL | Implements ARP over IEEE 802 networks. | ||
IGMPv2 | INET | LGPL | Implements IGMPv2 (RFC 2236). Limitations: no interoperability with IGMPv1 hosts. | ||
IGMPv3 | INET | LGPL | IGMPv3 implementation based on the ANSA project. | ||
IPv6 | INET | LGPL | TODO | ||
ICMPv6 | INET | LGPL | TODO | ||
MIPv6 | INET | LGPL | (from the xMIPv6 project) | ||
MCoA | MCoA | LGPL | Multiple Care of Address Registration for Mobile IPv6 | ||
HIP | HIPSim | LGPL | Implementation of the Host Identity Protocol for INET and xMIPv6. | ||
Routing | |||||
link-state routing | INET | LGPL | The LinkStateRouting module implements a minimalistic link state routing protocol. Apart from the basic topology information, the current link usage is distributed to all participants in the network (by means of flooding). Was primarily implemented as an aid for MPLS simulations. Needs more review and testing. |
||
OSPFv2 (1) | INET | LGPL | The INET implementation of the OSPFv2 protocol. Needs more documentation, review and testing. | ||
OSPF (2) | INET/Quagga | LGPL | OMNeT++ modules that wrap the code of the Quagga routing suite. Supports OSPFv2. An INET Quagga router can be configured with the same config files as a real Quagga daemon. Needs more review and testing. | ||
BGPv4 (1) | INET | LGPL | The INET implementation of the BGPv4 protocol. Needs review and testing. | ||
BGP (2) | INET/Quagga | LGPL | OMNeT++ modules that wrap the code of the Quagga routing suite. Supports BGPv4. An INET Quagga router can be configured with the same config files as a real Quagga daemon. Needs more review and testing. | ||
RIP (1) | INET | LGPL | The INET implementation of the RIP protocol. Needs more review and testing. | ||
RIP (2) | INET/Quagga | LGPL | OMNeT++ modules that wrap the code of the Quagga routing suite. Supports RIP. An INET Quagga router can be configured with the same config files as a real Quagga daemon. Needs more review and testing. | ||
PIM | INET | LGPL | PIM implementation based on the ANSA project. | ||
MANET Routing | |||||
AODV (1) | INET | LGPL | RFC 3561 protocol implementation for INET. | ||
AODV (2) | INET | GPL | This is a port of the AODV-UU implementation into INET (from the INETMANET project). | ||
DYMO (1) | INET | LGPL | Implementation based on draft-ietf-manet-dymo-24 | ||
DYMO (2) | INET | GPL | Implements draft-ietf-manet-dymo-05 (from the INETMANET project, based on DYMO-UM). | ||
DYMO (3) | INET | GPL | Imported from DYMO-FAU. Implements draft-ietf-manet-dymo-10 (from the INETMANET project). | ||
GPSR | INET | LGPL | Greedy Perimeter Stateless Routing for Wireless Networks. Supports
both GG and RNG planarization algorithms. |
||
DSDV | INET | BSD? | This is a port of DSDV (from the INETMANET project). | ||
DSR | INET | GPL | Implements draft-ietf-manet-dsr-10.txt (from the INETMANET project). | ||
OLSR | INET | GPL | This is a port of UM_OLSR. Complies with RFC 3626 and supports all core functionalities of OLSR plus the link-layer feedback option. (from the INETMANET project) | ||
MPLS | |||||
MPLS | INET | LGPL | MPLS simulations in INET are made possible by a set of modules, including MPLS , LIBTable and TED . Node failure and recovery are currently not supported. Needs more review and testing. |
||
LDP | INET | LGPL | The LDP module in INET implements the LDP control protocol for MPLS networks. This is the base LDP (RFC 5036), not CR-LDP; however, note that as of February 2003 the IETF MPLS working group deprecated CR-LDP and decided to focus purely on RSVP-TE. Node failure and recovery are currently not supported; needs more review and testing. |
||
RSVP-TE | INET | LGPL | The RSVP module in INET implements the RSVP-TE control protocol for MPLS networks. Node failure and recovery are currently not supported. Needs more review and testing. |
||
Wired | |||||
PPP | INET | LGPL | The PPP module in INET can be used for simulating PPP links. The model only performs simple encapsulation/decapsulation and queuing; the link configuration and maintenance part of the PPP protocol are not covered. |
||
Ethernet | INET | LGPL | INET contains a set of modules for simulating Ethernet networks. Supports classic Ethernet (10Mbps), Fast Ethernet (100Mbps), Gigabit Ethernet (1000Mbps). There are two MAC implementations: one with the full CSMA/CD protocol, and a simplified one without CSMA/CD that can be used for full-duplex links. Supports raw Ethernet, Ethernet-II and Ethernet SNAP frames. There is a hub and a switch model; the switch relay unit has several flavours which differ in the performance models. Ethernet MAC currently expects the data rate in a module parameter instead of the link datarate parameter; this is currently being changed (new code is available in an INET repo branch). |
||
STP | INET | LGPL | Spanning Tree Protocol | ||
RSTP | INET | LGPL | Rapid Spanning Tree Protocol | ||
TTE | CoRE4INET | LGPL | CoRE4INET contains a Time-Triggered Ethernet protocol implementation. | ||
802.1avb | CoRE4INET | LGPL | CoRE4INET is an extension to the INET-Framework for the event-based simulation of real-time Ethernet. | ||
EPON | EPON | LGPL | A basic implementation of (1G) Ethernet Passive Optical Network (EPON). OLT and ONU modules + MPCP protocol. | ||
TDM/WDM-PON | INET-HNRL | LGPL | Extension for optical, wireless, and their hybrid networks and protocols. | ||
Wireless | |||||
802.11 | INET | LGPL | A set of modules for 802.11 simulations in INET. Supports 802.11b and g, both ad-hoc and infrastructure mode. Unimplemented protocol features: fragmentation, power management, and polling (PCF). Model accuracy has been experimentally verified ("On The Accuracy of IEEE 802.11g Wireless LAN Simulations Using OMNeT++", Michael Bredel and Martin Bergner, OMNeT++ 2009 Workshop; slides) | ||
802.11p | VEINS | GPL | Veins is an open source framework for running vehicular network simulations. The 802.11p implementation is based on MiXiM. | ||
802.1e | INET | LGPL | Quality of Service Extension to 802.11 (from the INETMANET project). | ||
802.15.4 (1) | INET | LGPL | UWB, NarrowBand and CSMA implementation inspired by the model implemented in MiXiM. INET 3.0+ | ||
802.15.4 (2) | INETMANET | ??? | Implementation of IEEE 802.15.4-2006 (low-rate wireless personal area network). Original project | ||
802.16e (WiMAX) (1) | INETMANET | ??? | Incomplete implementation of Mobile Broadband Wireless Access System. | ||
802.16e (WiMAX) (2) | numbat | ??? | Implementation of Mobile Broadband Wireless Access System. INET compatible version is based on original numbat project. VLANs are used for CS Layer, but a pure Ethernet model shouldn't require many modifications. UGS, RTPS, BE flows are supported and a basic scheduler is provided. | ||
LTE (User-Plane) | SimuLTE | LGPL | User Plane LTE Simulator. PHY: 2x2 MU-MIMO, S-MUX, transmit diversity using SINR curves; User Terminals: Mobility, Battery consumption, Interference, all types of traffic; Built-in applications: VoIP, gaming, VoD, web; E-NodeB: Macro, micro, pico eNodeBs,Inter-eNB Coordination through X2 interface, Relay nodes, Distributed antennas,SU and MU-MIMO, Scheduling algorithms, Max C/I, Proportional Fair, Round Robin; MAC: Buffering, PDU concatenation, CQI reception, transport format selection and resource allocation, Coding designed to facilitate cross-layer analysis; RLC: UM and AM segmentation and reassembly retransmissions | ||
LTE (Control-Plane) | 4GSim INETMANET | LGPL | Control Plane LTE Protocols. | ||
Mobility / Environment | |||||
Satellite Mobility | OSĀ³ | LGPL | Allows to evaluate satellite orbits and communication performance pertaining to SNR, bit error rate, packet loss, round trip time, jitter, reachability, and other measures. | ||
Vehicular Mobility | VEINS | GPL | Veins is an open source framework for running vehicular network simulations. It is based on two well-established simulators: OMNeT++, an event-based network simulator, and SUMO, a road traffic simulator. It extends these to offer a comprehensive suite of models for IVC simulation. | ||
Various Mobility Models | INET | LGPL | INET contains various mobility models including TraCI (Veins). |
Notes: