INET Framework for OMNeT++/OMNEST
INET Framework contains IPv4, IPv6, TCP, SCTP, UDP protocol implementations, and several application models. The framework also includes an MPLS model with RSVP-TE and LDP signalling. Link-layer models are PPP, Ethernet and 802.11. Static routing can be set up using network autoconfigurators, or one can use routing protocol implementations.
The INET Framework supports wireless and mobile simulations as well.
See the WHATSNEW file in the distribution for the list of recent changes.
A few useful starting points for browsing the documentation:
- hosts, routers, switches and other network level modules: StandardHost, Router, EtherSwitch, EtherHub, InternetCloud etc.
- network interfaces: EthernetInterface, PPPInterface, Ieee80211Nic
- IEEE 802.11 models, both ad-hoc and infrastructure mode are supported
- IPv4 layer: IPv4, ARP and ICMP; IPv4RoutingTable
- IPv6 support: IPv6, IPv6NeighbourDiscovery, ICMPv6, IPv6RoutingTable; see IPv6 model overview
- transport layer: TCP, UDP, SCTP
- InterfaceTable and IPv4RoutingTable can be found in every host and router model
- queues in router network interfaces: DropTailQueue, DiffservQueue.
- IPv4NetworkConfigurator automatically assigns IPv4 addresses and sets up static routes;
- ScenarioManager lets you change things in the model in the middle of the simulation to study transient behaviour
- message classes: IPv4Datagram, TCPSegment, UDPPacket, EthernetIIFrame, ARPPacket, PPPFrame, GenericAppMsg, EtherAppReq, etc.
- control info classes (used in communication between protocol layers): IPv4ControlInfo, TCPCommand, UDPControlInfo, Ieee802Ctrl, etc.
- application models: UDPVideoStreamSvr, UDPVideoStreamCli, UDPBasicApp, UDPEchoApp, TCPSessionApp, TCPBasicClientApp, TCPGenericSrvApp, TCPSinkApp, TCPSrvHostApp, EtherAppCli, EtherAppSrv, PingApp, SimpleVoIPSender, SimpleVoIPReceiver etc.
- wireless support: IRadioMedium, Ieee80211Nic
- Mobility models: TurtleMobility, BonnMotionMobility, ANSimMobility, RandomWPMobility, MassMobility
- MPLS models: the core modules are MPLS, LIBTable, LDP, RSVP, TED, LinkStateRouting; MPLS-enabled routers are LDP_LSR, RSVP_LSR; see also the list of implemented standards
- dynamic routing is provided by the Daemon module (the Quagga routing daemon ported into the INET Framework, currently in a different project) used inside QuaggaRouter; alternatively one can run OSPFRouter which relies on the OSPFRouting module;