Skip to content

Latest commit

 

History

History
467 lines (462 loc) · 22.3 KB

Protocols.md

File metadata and controls

467 lines (462 loc) · 22.3 KB
layout title underMenu
page
Model Catalog
Documentation

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

numbat-inet

??? 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:

    1. License: should ideally be LGPL; note that GPL is generally incompatible with the OMNeT++ license
    2. Comments: describes implementation status, completeness, future plans, "todo" items, maintainers, validation status, etc.