GPON simulation model in OMNET++ - networking

Is there any GPON (gigabit-capable passive optical network) simulation model available for OMNET++? or is there any other alternate free simulator ?

A basic implementation of (1G) Ethernet Passive Optical Network (EPON) for OMNeT++ 4.1 ( an older version, latest version being OMNET++ 6) is available. For more details check the EPON project page.
https://omnetpp.org/download-items/EPON.html
Other simulators:
From sourceforge page I did find
XG-PON module for the NS-3 network simulator. This module is designed and implemented with aim to provide a standards-compliant, configurable, and extensible module that can simulate XG-PON with reasonable speed and can support a wide range of research topics.
Like OMNET++, NS3 is also a widely used network simulator.

Related

Where OS Kernel and Network protocol stack overlaps?

I'm trying to learn network protocol stack(ie. Transport, IP, datalink layer library code implementation) along with linux. I'm confused where to start.
First question is whether these codes come as in-built features of linux kernel/above library layers.
If so why I can see 3rd party protocol stack in some applications (by blunk micro system - developer of protocol stack)
If Linux doesn't have it as core feature, is linux give only placeholders for network part(like just Macros to enable the 3rd party stack ). But an article says it has Net4 networking codebase.
If linux has in-built network features what are the linux modules I need to go through or where to start? Not only in the network perspective, if i'm guided to explore in linux in all aspects (process, memory, drivers) in the "code level", it would be helpful please.
Note: I'm greedy to write my own OS and protocol stack hence trying to understand an existing system.
Thanks in advance!
First question is whether these codes come as in-built features of linux kernel/above library layers.
Linux kernel has network stack up to including layer 4, i.e., TCP and UDP (well, kernel + a set of utilities needed to configure it). I think DNS is in kernel too, but I am not so sure. TLS used to be implemended as a library (OpenSSL and GnuTLS are I think the most common ones), but there seems to be kernel part too now (link.
Note, that some of the TCP functionality is offloaded to the network card (hardware). At high speeds (1Gb+) you won't get full performance without these features.
I am not familiar with all VoIP related protocols, but I think they are libraries, not kernel.
If so why I can see 3rd party protocol stack in some applications (by blunk micro system - developer of protocol stack)
I believe the reason is performance. If you implement a custom stack with a subset of features, it might work better for your applications. Also there are advanced features and protocols that might not be available in the kernel itself.
If Linux doesn't have it as core feature, is linux give only placeholders for network part(like just Macros to enable the 3rd party stack ). But an article says it has Net4 networking codebase.
there is a very large codebase
If linux has in-built network features what are the linux modules I need to go through or where to start? Not only in the network perspective, if i'm guided to explore in linux in all aspects (process, memory, drivers) in the "code level", it would be helpful please.
hmmm, this is a very good question, and I don't think there is an easy answer. In my experience reading the code is the only way to figure this out. However some people tried to fish LWN.net for information.
you could probably start somewhere here: include/net/
First question is whether these codes come as in-built features of linux kernel/above library layers.
If linux has in-built network features what are the linux modules I need to go through or where to start?
You can think of a protocol stack as of a library. Linux kernel has one which runs inside the kernel address space and uses kernel APIs unavailable in user-space: https://github.com/torvalds/linux/tree/master/net/ipv4
There are multiple in-depth books about Linux kernel networking. Reading one is required for good understanding.
If so why I can see 3rd party protocol stack in some applications (by blunk micro system - developer of protocol stack)
Zero-copy, low-latency and streaming (processing an Ethernet packet in CPU-L1-cache-line-sized chunks while it hasn't been read off the wire in full) networking have been problematic with Linux kernel network stack. For these reasons makers of networking hardware offered their own user-space network stacks, aka kernel bypass.
Linux kernel network stack is getting better these days with MSG_ZEROCOPY and io_uring.

ZigBee layers in Building Automation system

I'm currently working on a school project about building automation systems, and havent found a clean answer for a thing i've been searching for all day.
Is it possible to use ZigBee in all application layers in a building automation system ? Like in the 1) Managment layer , 2) Automation layer and ofcourse 3) the field layer.
Or do you need to have some other solution in the higher layers, like KNX og BACnet?
I am not sure what you mean by the field layer you mentioned. AFAIK the Building Automation profile does not suppor field upgrade (is this what you mean by field layer?). But you could use the OTA (Over The Air) update feature in Home Automation. Note that 'off the shelf' Building Automation device may not support this.
The building automation profile in ZigBee (pre 3.0) is similar to Home Automation but adds extra commitioning features, and other messages. The profile layer can be considered as the 'Data Plain' layer in ZigBee, maybe what you refer to as the 'Automation Layer'? It defines the device types and messages it supports; like a light or switch that supports input or output on/off message. This is spread over several spec's such as the ZCL Spec and Profile Spec (such as Buildeing Automation Spec). ZCL defines the message and the profile spec defines the devices and the messages they support.
The management layer in ZigBee is referred to as ZDO (ZigBee Device Object).
Finally you mention other standards like BACnet. Building Automation device support 'Protocol Tunnel' messages (defined in ZCL) which can be used to send BACnet messages over. But I think this is more for integrating into legacy systems.

Which Wi-Fi chips/modules support the 802.11s standard?

I'm very interested in the Mesh technology and the (new) IEEE Mesh standard 802.11s. I've looked for some Wi-Fi modules which support the standard but it's never mentioned, although the standard was published at the end of 2011.
I also have read about the open802.11s solution (http://open80211s.org/open80211s/), but there are also no Wi-Fi modules mentioned. So I have the following questions:
Does this mean that all Modules support it and you only have to get the correct driver (mac80211)?
I've read about the Linux Kernel which supports the 11s standard. Are there all parts implemented?
Checkout this page drivers for a list of drivers and whether or not they support mesh networking. You can find ath9k, b43, among others that support mesh - but Intel iwlwifi doesn't. From those drivers, you can find corresponding chipsets that are expected to work on that mode.
Note, however, mesh networking currently implemented in the kernel does not necessarily support all features found in the 802.11s standard (now part of 802.11-2012).

Is there any simulator with OpenFlow support?

I want to simulate OpenFlow to check its performance and efficiency in certain framework. How can I do that without using actual openflow enabled switches?
You can use Mininet, it's a openflow network prototyping tool that used openVSwitch. Mininet allows you to create large network topologies and simulate traffic.
To do performance testing or in general research in Software Defined Networking field you have several options for network simulator & emulator:
1) Mininet (Emulator; Learning curve: Easy; Open source)
2) Estinet (Simulator & Emulator; Learning curve: Moderate; Proprietary)
3) ns-3 (Simulator; Learning curve: Difficult; Open source)
Mininet, as mentioned should be your best shot. http://mininet.github.com/
Its strong points are:
active development
very active mailing list
preconfigured Ubuntu VM available
supports other distributions, too
Go vote on the area 51 proposal to make it a stackexchange site!!! http://area51.stackexchange.com/proposals/44914/openflow
I am in the process of building a Mininet installer for Fedora. It installs on a full install, once I get it to run completely and on a minimal install I will ask it to be forged back into mininet's trunk.

What network simulation model should I use for simulating the behavior of an ad-hoc network in OMNET++

I'm working as a student-intern in a govt organization to complete my major-project at college.
My task is to simulate a dynamic-routing protocol for ad-hoc networks. As I've good programming experience in C++ thus I've chosen OMNET++ network simulator.
It was easy to adapt to the working environment and I could play around with the samples provide in OMNET IDE.
Problem Statement:
Now, I need to start working on my task i.e. [ http://www.mediafire.com/?s5ajo8gavhcf6sr ] pls have a look at the paper.
Could someone please give me a few general instructions on building an adhoc network model in omnet and then apply a routing protocol to it.
I would really appreciate if you could just read the abstract of that paper and provide me deeper insights if possible.
Unfortunately your uploaded file is deleted.
So I would suggest to use the INETMANET framework for simulating adhoc network.
There are Manet routing protocols like AODV
You have there Wifi b,g and also 802.15.4 link layers
And there are modules for the whole TCP/IP stack.

Resources